Indholdsfortegnelse:
Definition - Hvad betyder Compiler?
En kompilator er et softwareprogram, der omdanner kildekode på højt niveau, der er skrevet af en udvikler på et programmeringssprog på højt niveau til en objektkode med lavt niveau (binær kode) på maskinsprog, som processoren kan forstå. Processen med at konvertere programmering på højt niveau til maskinsprog kaldes kompilering.
Processoren udfører objektkode, som angiver, hvornår der kræves binære høje og lave signaler i den aritmetiske logiske enhed på processoren.
Techopedia forklarer Compiler
En kompilator, der konverterer maskinsprog til naturligt sprog på højt niveau kaldes en decompiler. Kompilatorer, der producerer den objektkode, der er beregnet til at køre på et system, kaldes krydskompilatorer. Endelig kaldes en compiler, der konverterer et programmeringssprog til et andet, en sprogoversætter.
En kompilator udfører fire hovedtrin:
- Scanning : Scanneren læser et tegn ad gangen fra kildekoden og holder styr på, hvilket tegn der findes i hvilken linje.
- Leksikalsk analyse : Compileren konverterer sekvensen af tegn, der vises i kildekoden, til en serie med strenge af tegn (kendt som tokens), som er forbundet med en bestemt regel af et program kaldet en leksikalsk analysator. En symboltabel bruges af den leksikale analysator til at gemme ordene i kildekoden, der svarer til det genererede token.
- Syntaktisk analyse : I dette trin udføres syntaksanalyse, som involverer forbehandling for at bestemme, om de tokens, der er oprettet under leksikalsk analyse, er i korrekt rækkefølge pr. Deres anvendelse. Den korrekte rækkefølge for et sæt nøgleord, der kan give et ønsket resultat, kaldes syntaks. Kompilatoren skal kontrollere kildekoden for at sikre syntaktisk nøjagtighed.
- Semantisk analyse : Dette trin består af flere mellemliggende trin. Først kontrolleres tokens struktur sammen med deres rækkefølge med hensyn til grammatikken på et givet sprog. Betydningen af tokenstrukturen tolkes af parseren og analysatoren for endelig at generere en mellemkode, kaldet objektkode. Objektkoden inkluderer instruktioner, der repræsenterer processorhandlingen for et tilsvarende token, når de støder på i programmet. Endelig parses og tolkes hele koden for at kontrollere, om der er nogen optimeringer. Når optimeringer kan udføres, indsættes de passende ændrede tokens i objektkoden for at generere den endelige objektkode, der gemmes i en fil.