Home

kompilatorn

Kompilatorn är ett datorprogram som översätter källkod som skrivs i ett högnivåspråk till ett språk som datorn kan köra direkt eller till en mellanliggande representation. Syftet är att möjliggöra utveckling i högre nivå och samtidigt producera effektiv, körbar kod. Kompilatorer används för att uppnå snabb exekvering och optimerad prestanda jämfört med tolkar, och de kan även utföra statisk felkontroll innan körning.

Kompilatorer har ofta en uppdelning i en front-end och en back-end. Front-end hanterar analys av källkoden: lexikal

Processen omfattar flera steg: lexikal analys, syntaktisk analys och semantisk analys (typkontroll och symboltabeller); optimering av

Det finns olika typer av kompilatorer. Ahead-of-time (AOT) kompilering producerar körbara filer före körning; just-in-time (JIT)

Vanliga exempel är GCC och Clang för C/C++, javac för Java, och olika kompilatorer i .NET-ekosystemet som

analys
(tokenisering),
syntaktisk
analys
(parsing)
och
semantisk
analys
samt
felrapportering.
Back-end
tar
hand
om
optimeringar
och
generering
av
mål-
eller
mellanliggande
kod
samt
effektiv
resursanvändning,
registerallokering
och
skapande
av
maskinkod
eller
bytekod.
Länkning
av
flera
objektfiler
till
ett
körbart
program
kan
vara
en
separat
steg.
kod
och
arbetsminne;
kodgenerering
till
målarkitektur
eller
mellanliggande
representation;
och
slutligen
länking
som
sätter
samman
flera
moduler
till
ett
körbart
program.
Målen
varierar
mellan
plattformar
och
språk,
vilket
påverkar
vilka
optimeringar
som
är
möjliga
och
hur
fel
bör
rapporteras.
kompilering
översätter
koden
under
körning
för
att
anpassa
prestanda.
Vissa
språk
används
tillsammans
med
tolkar
eller
har
delvis
JIT-kompilering.
Transpilers
översätter
mellan
två
högnivåspråk.
Roslyn.
Val
av
kompilator
påverkar
prestanda,
felrapportering
och
portabilitet.