Compiler

Schrijver: Peter Berry
Datum Van Creatie: 12 Augustus 2021
Updatedatum: 1 Juli- 2024
Anonim
Parser and Lexer — How to Create a Compiler part 1/5 — Converting text into an Abstract Syntax Tree
Video: Parser and Lexer — How to Create a Compiler part 1/5 — Converting text into an Abstract Syntax Tree

Inhoud

Definitie - Wat betekent Compiler?

Een compiler is een softwareprogramma dat broncode op hoog niveau transformeert die door een ontwikkelaar in een programmeertaal op hoog niveau wordt geschreven in een objectcode (binaire code) op laag niveau in machinetaal, die door de processor kan worden begrepen. Het proces van het omzetten van programmeren op hoog niveau naar machinetaal wordt compilatie genoemd.


De processor voert objectcode uit, die aangeeft wanneer binaire hoge en lage signalen vereist zijn in de rekenkundige logische eenheid van de processor.

Een inleiding tot Microsoft Azure en de Microsoft Cloud | In deze handleiding leert u wat cloud computing inhoudt en hoe Microsoft Azure u kan helpen bij het migreren en runnen van uw bedrijf vanuit de cloud.

Techopedia legt Compiler uit

Een compiler die machinetaal omzet in natuurlijke taal op hoog niveau, wordt een decompiler genoemd. Compilers die de objectcode produceren die bedoeld is om op een systeem te worden uitgevoerd, worden cross-compilers genoemd. Ten slotte wordt een compiler die de ene programmeertaal omzet in een andere, een taalvertaler genoemd.

Een compiler voert vier belangrijke stappen uit:

  • het scannen: De scanner leest één teken tegelijk uit de broncode en houdt bij welk teken op welke regel aanwezig is.
  • Lexicale analyse: De compiler converteert de reeks tekens die in de broncode verschijnen in een reeks tekenreeksen (bekend als tokens), die door een specifieke regel worden geassocieerd door een programma dat een lexicale analysator wordt genoemd. Een symbolentabel wordt door de lexicale analysator gebruikt om de woorden in de broncode op te slaan die overeenkomen met het gegenereerde token.
  • Syntactische analyse: In deze stap wordt een syntaxisanalyse uitgevoerd, waarbij preprocessing nodig is om te bepalen of de tokens die tijdens lexicale analyse zijn gemaakt, in de juiste volgorde staan ​​volgens hun gebruik. De juiste volgorde van een reeks trefwoorden, die een gewenst resultaat kunnen opleveren, wordt syntaxis genoemd. De compiler moet de broncode controleren om syntactische nauwkeurigheid te waarborgen.
  • Semantische analyse: Deze stap bestaat uit verschillende tussenstappen. Eerst wordt de structuur van tokens gecontroleerd, samen met hun volgorde met betrekking tot de grammatica in een bepaalde taal. De betekenis van de tokenstructuur wordt door de parser en de analysator geïnterpreteerd om uiteindelijk een tussencode te genereren, objectcode genoemd. De objectcode bevat instructies die de processoractie voor een overeenkomstig token vertegenwoordigen wanneer deze in het programma worden aangetroffen. Ten slotte wordt de hele code ontleed en geïnterpreteerd om te controleren of optimalisaties mogelijk zijn. Nadat optimalisaties zijn uitgevoerd, worden de juiste aangepaste tokens in de objectcode ingevoegd om de uiteindelijke objectcode te genereren, die in een bestand wordt opgeslagen.