|
|
Compilergenerator Coher
Die Hauptbestandteile eines Compilergenerators entsprechen dem eines üblichen
Compilers. Der Analyseteil überprüft die Eingabe auf ihre syntaktische
Korrektheit, und der Synthesteil steht synonym für die Generierung des Codes.
Als Eingabe jedoch wird beim Compilergenerator ein Konstrukt in einer
Compilerbeschreibungssprache verwendet, als Ausgabe erhält man einen Compiler,
entsprechend der Compilerbeschreibung, in der Programmiersprache Pascal.
- Der Parser kommuniziert mit dem Scanner. Anhand der Token und den
mitgelieferten Informationen, die der Parser vom Scanner erhält, wird eine
Symboltabelle aufgebaut und verwaltet. In dieser Phase verläuft auch der
Aufbau des Top-Down Graphen. Der Parser übernimmt auch seine Verwaltung.
- In der nächsten Phase werden die Symbolmengen gesammelt. Hierzu gehört
die Bildung der First-, Follow, Any- und Epsmengen. Außerdem werden die
Grammatikreglen auf löschbare Symbole überprüft.
- Zu den Grammatiktests gehören die Prüfung auf Vollständigkeit,
Ableitbarkeit, Zirkularitätsfreiheit, Terminalisierbarkeit und die
LL(1)-Eigenschaft.
- Als nächstes folgt die Auswertung des Top-Down Graphen und die Erzeugung
von Pascalcode. Dabei wird aus der Compilerbeschreibung ein prädikativer
Parser mit eingebetteten semantischen Aktionen konstruiert.
Literatur
Editor: Uhe Letzte Änderung: 10.06.97
|