Vad är metaprogrammering?
metaprogrammering är processen att skriva datorprogram som i sin tur skriver andra program. Metaprogrammeringsprocessen möjliggör större flexibilitet för datorprogrammerare eftersom arbete som vanligtvis utförs under runtime -perioden tilldelas till sammanställningsperioden. Den här processen frigör programmerarens tid att fokusera på andra uppgifter eftersom den minskar på den tid det tar manuellt skriva ett programs kod. Omkompilering är onödig eftersom metaprogrammering gör det möjligt för program att ta itu med nya situationer med större effektivitet. "Metalanguage" är termen som ges till datorspråket som metaprogrammet använder.
Objektspråk är datorspråket för de program som är skrivna av META -programmeringsprocessen. Reflexivitet är en term som ges till metallanguage, som också kan åstadkomma metaprogrammering. Metaprogrammering fungerar på olika sätt. Ett sätt är att applikationsprogrammeringsgränssnittet för att låta programmeringskoden komma åt insidan av runtime -motorn.
Ett annat sätt som metaprogrammering fungerar är genom att låta program skriva andra program genom dynamisk exekveringsprocess. I detta fall används stränguttryck i denna process. Även om samma språk kan användas i dessa två processer är det inte ovanligt att språket gynnar en process framför den andra.
metaprogrammering fungerar också genom att kringgå språket. Det möjliggör förändring av språk genom programomvandlingssystem. Denna procedur ger metaprogrammering friheten att använda språk även om språket inte använder några metaprogrammeregenskaper.
En källkod behövs inte för metaprogrammering. Det kan göras genom en inkrementell sammanställning eller genom runtime-utbytbara program. Dator Langaugae Lisp är det gynnade språket för metaprogrammeringsprocessen. Detta beror på enkelheten i denna typ av datorspråk som vill som sin kraft.
metaprogrammering som använder LISP -språket fungerar genom att tillåta utvärdering av kod under programdefinitionstiden, i motsats till runtime -perioden. Denna process gör metaprogrammeringsspråket och värdprogrammeringsspråket samma. När detta inträffar kan dessa LISP -rutiner återvinnas för metaprogrammeringsprocessen.
Andra språk har använt denna exakta process med integration av en programtolk. Denna tolk arbetar med data i programmet. Domänspecifika programmeringsspråk i metaprogrammering är en annan form som skapar parsers och lexikala analysatorer. Dessa gör det möjligt för användaren att använda vanliga uttryck för att definiera språket.