Google Play badge

kompilatorer


KOMPILERATORER

En kompilator hänvisar till ett datorprogram som används för att översätta en datorkod som är skriven på ett programmeringsspråk (kallat källspråk) till ett annat programmeringsspråk (kallat målspråk). Termen kompilator används främst för program som översätter källkoder från ett programmeringsspråk på hög nivå till ett programmeringsspråk på lägre nivå. Till exempel maskinkod, objektkod eller assemblerspråk för att skapa ett körbart program.

Det är viktigt att notera att det finns många olika typer av kompilatorer. Om programmet som kompileras kan köras på en dator vars operativsystem eller CPU skiljer sig från det som kompilatorn kör, hänvisas kompilatorn till som en korskompilator. En bootstrap-kompilator å andra sidan är skriven på det språk som den avser att kompilera. En dekompilator är ett program som används för att översätta ett lågnivåspråk till ett språk på högre nivå. Ett program som används för att översätta mellan högnivåspråk kallas för en källa-till-källa-kompilator. Det kan också kallas en transpiler. Ett program som ansvarar för att översätta uttrycksformen utan språkförändring kallas språkomskrivare. Termen kompilator-kompilator hänvisar till de verktyg som används för att skapa parsers som ansvarar för att utföra syntaxanalysen.

Några av operationerna som utförs av en kompilator inkluderar: förbearbetning, parsning, (syntaxstyrd översättning) semantisk analys, lexikal analys, kodgenerering, kodoptimering och konvertering av inmatningsprogram till en mellanliggande representation. Kompilatorer ansvarar för att implementera dessa operationer i olika faser som främjar korrekta transformationer och effektiv design av källindata till målutgång. Programfel som orsakas av felaktigt beteende hos kompilatorn kan vara mycket svåra att spåra och komma runt. Kompilatorimplementatorer investerar därför betydande ansträngningar för att säkerställa kompilatorns korrekthet.

Det är viktigt att notera att kompilatorer inte är de enda översättarna som används för att transformera källprogram. En datorprogramvara som ansvarar för att transformera och sedan utföra de angivna operationerna kallas för en tolk. Översättningsprocessen påverkar datorspråkets design, vilket leder till en preferens för tolkning eller sammanställning. I praktiken kan implementeringen av en tolk för kompilatorer och kompilerade språk implementeras för tolkade språk.

Observera att när du använder en kompilator används en tvåstegsprocess för att köra ett program,

SAMMANSTÄLLNINGSKEDJAN

För program som är stora är kompilatorn en del av en verktygskedja med flera steg,

(förprocessor)- (kompilator)- (assembler)- (länkare)- (lastare).

STRUKTUR AV EN COMPILER

Moderna kompilatorer består av två huvuddelar. Var och en av dessa delar är ofta uppdelad. Dessa två huvuddelar är fronten och bakdelen.

Frontend ansvarar för att analysera källprogrammet, konstruerar en mellanrepresentation av programmet och bestämmer dess beståndsdelar. I allmänhet är gränssnittet oberoende av målspråket.

Back end å andra sidan är ansvarig för att syntetisera målprogrammet från den mellanliggande representationen som produceras av front end. I allmänhet sägs bakänden vara oberoende av källspråket.

Download Primer to continue