Compiler Design - Architektur

Ein Compiler kann je nach Art der Kompilierung grob in zwei Phasen unterteilt werden.

Analysephase

Bekannt als das Front-End des Compilers, der analysis Die Phase des Compilers liest das Quellprogramm, unterteilt es in Kernteile und prüft dann auf lexikalische, Grammatik- und Syntaxfehler. Die Analysephase generiert eine Zwischendarstellung des Quellprogramms und der Symboltabelle, die der Synthesis-Phase als Eingabe zugeführt werden soll .

Synthesephase

Bekannt als das Back-End des Compilers, der synthesis phase generiert das Zielprogramm mit Hilfe der Zwischenquellcodedarstellung und der Symboltabelle.

Ein Compiler kann viele Phasen und Durchläufe haben.

  • Pass : Ein Pass bezieht sich auf das Durchlaufen eines Compilers durch das gesamte Programm.

  • Phase: Eine Phase eines Compilers ist eine unterscheidbare Stufe, die Eingaben aus der vorherigen Stufe verwendet, Ausgaben verarbeitet und liefert, die als Eingabe für die nächste Stufe verwendet werden können. Ein Pass kann mehr als eine Phase haben.