Home

kompilationsprocess

Kompilationsprocessen är den serie steg som omvandlar källkod skrivna i ett högnivåspråk till körbar kod eller mellanliggande representation som kan köras på en specifik dator eller virtuell maskin. Denna process är central i programvaruutveckling och skiljer sig från tolkning genom att den oftast producerar en fristående exekverbar fil eller modul som kan köras utan att tolka källkoden i realtid.

Flödet börjar vanligtvis med förbearbetning om språket eller verktyget stödjer det, till exempel makroexpansion eller inklusion

Mellanliggande representationer används ofta för portabilitet och optimering. Optimering kan ske på olika nivåer för att

Länkning sammanfogar objektfiler och externa bibliotek för att skapa en körbar fil eller ett delat bibliotek.

Kompilationsprocessen varierar mellan språk och verktyg. Exempelvis kompilerar C/C++ till maskinkod för en specifik plattform, medan

av
filer.
Därefter
följer
lexikal
analys
där
källkoden
delas
upp
i
tokens;
syntaktisk
analys
bygger
en
parse-träd
som
beskriver
grammatiken.
Därefter
genomförs
semantisk
analys
och
symbolbindning
för
att
kontrollera
typer
och
kontext
samt
samla
metadata
om
variabler
och
funktioner.
förbättra
hastighet
och
storlek.
Kodgenerering
översätter
sedan
den
optimerade
representationen
till
mellankod
eller
maskinkod
som
är
anpassad
till
målarkitekturen,
exempelvis
x86
eller
ARM,
eller
till
bytekod
för
en
virtuell
maskin.
Slutprodukten
kan
vara
statiskt
eller
dynamiskt
länkat
beroende
på
system
och
krav.
Vid
fel
och
varningar
rapporterar
kompileraren
problem
som
måste
åtgärdas
innan
körning.
Java
kompileras
till
bytekod
som
körs
i
en
virtuell
maskin.
Byggsystem
hanterar
beroenden
och
uppdateringar
av
filer
i
processen.