Hopp til innhold

Metaprogrammering

Fra Wikipedia, den frie encyklopedi
Sideversjon per 31. jul. 2016 kl. 20:27 av Stusslig (diskusjon | bidrag) (Slo sammen to avsnitt)

Metaprogrammering er å skrive dataprogrammer som har evnen til å behandle programmer som sine data. Det betyr at et program kan være utformet for å lese, vise, analysere eller transformere andre programmer og til og med endre seg mens det kjører.[1][2] I noen tilfeller kan det redusere antall linjer med kode (dermed redusere utviklingstiden)[nna].

Språket som et metaprogram er skrevet i kalles et metaspråk. Språk for programmer som er manipulert kalles objektspråk. Når et programmeringsspråk selv har evnen til å være sitt eget metaspråk kalles dette refleksjon. Refleksjon er et kraftig verktøy i programmeringsspråk som legger til rette for metaprogrammering. I et språk hvor språket selv er en førsteklasses datatype (som i Lisp, Prolog, SNOBOL) er også veldig nyttig, dette er kjent som homoikonisitet. Generisk programmering benytter seg gjerne av en slags metaprogrammeringsfunksjonalitet i de språk som har støtte for det.



Kilder

  1. ^ Course on Program Analysis and Transformation.
  2. ^ Generative Programming. ISBN 0-201-30977-7.  Parameteren |authorlink2= støttes ikke av malen. (hjelp); Parameteren |date= støttes ikke av malen. (hjelp); Parameteren |last1= støttes ikke av malen. (hjelp); Parameteren |first2= støttes ikke av malen. (hjelp); Parameteren |first1= støttes ikke av malen. (hjelp); Parameteren |authorlink1= støttes ikke av malen. (hjelp); Parameteren |last2= støttes ikke av malen. (hjelp)