Compilerbau: Struktur
Willemers Informatik-Ecke

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"
Die lexikalische Analyse arbeitet auf der Basis eines endlichen Automaten und erkennt reguläre Sprachen.
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.