Die Struktur eines Compilers
- Lexikalische Analyse (Scanner)
-
Der Zeichenstrom wird nach Tokens durchsucht und zusammengefasst. Ein Token ist
ein Quellzeichen für den Parser. Das sind beispielsweise:
- Schlüsselworte der Sprache: IF, THEN, GOTO
- Symbole: <=, -> oder }
- Identifier: Variablen- oder Funktionsnamen.
- Konstanten: 23.5 oder "Dies ist ein Text"
- Syntaktische Analyse (Parser)
-
Ordnet die Folge des Tokens und steuert dadurch den Zwischencode-Erzeuger
Ein Parser arbeitet auf der Grundlage einer kontextfreien Grammatik mit der Hilfe eines Kellerautomaten.
- Semantische Analyse
- Die semantische Analyse prüft beispielsweise die Typgleichheit von Ausdrücken.
- Zwischencode-Erzeuger
- Erzeugt eine Folge einfacher Anweisungen, beispielsweise Drei-Adress-Code.
- Code Optimierung
- Optimiert Platz- und Zeitbedarf
- Code Erzeugung
- Erstellt den Code für die Zielmaschine.