Præprocessor

Mergefrom.svgSammenskrivningsforslag
Artiklen Præcompiler er foreslået føjet ind i Præprocessor. (Siden december 2021)  Diskutér forslaget
Broom icon.svgDer er ingen kildehenvisninger i denne artikel, hvilket er et problem.
Du kan hjælpe ved at angive kilder til de påstande, der fremføres. Hvis ikke der tilføjes kilder, vil artiklen muligvis blive slettet.
Question book-4.svg

En præprocessor (på engelsk: preprocessor eller precompiler)[1] er en slags kompiler med den forskel, at den ikke oversætter kildekoden til maskinkode, men i stedet oversætter den til en form for midlertidigt data (ofte maskinkode-lignende instruktioner, altså bytekode), som er forbehandlet og bedre læsbart for det program (f.eks. en virtuel maskine), som det eventuelt skal læses ind i. En virtuel maskine koblet sammen med en præprocessor kaldes en fortolker.

En præprocessor tilføjer instruktioner, der ikke findes i compileren, f.eks. ved at inkludere en makro.

Eksempler på programmeringssprog med præprocessorer

Lua
Lua bruger en præprocessor til at oversætte kildekoden til maskinkode-lignende instruktioner, før disse læses ind i den virtuelle maskine, der udfører dem, altså en fortolker.
C++
C++'s præprocessor gennemgår kildekoden for præprocessor-direktiver (anført med '#'), oversætter dem, og giver dem videre til hovedkompileren, hvor de påvirker den måde programmet kompileres på. Dog er der ingen standard for C++'s præprocessor-direktiver.
PL/I
Nogle versioner af PL/I tilbyder en præprocessor, men den er ikke obligatorisk.
COBOL
I COBOL kan en præprocessor erstatte korte kald til til en database (EXEC SQL) f.eks. DB2, således at syntaksen nu passer til sprogets syntaks.

Referencer

  1. ^ "What is a precompiler?".

Se også

ProgrammeringSpire
Denne artikel om datalogi eller et datalogi-relateret emne er en spire som bør udbygges. Du er velkommen til at hjælpe Wikipedia ved at udvide den.

Medier brugt på denne side