Reinhard Wilhelm and Helmut Seidl. Übersetzerbau 2: Syntaktische und semantische Analyse. Springer, 2012.

Dieser Band behandelt die Analysephase von Übersetzern für Programmiersprachen. Für die lexikalische und syntaktische Analyse dienen reguläre Ausdrücke und kontextfreie Grammatiken als Spezifikation, während endliche bzw. Kellerautomaten den Kern der jeweiligen Implementierung liefern. Techniken aus dem Bereich der Formalen Sprachen werden vorgestellt, um aus den Spezifikationen die Scanner- und Parserkomponenten eines Übersetzers zu generieren. Ebenfalls zur Analysephase gehört die Überprüfung weiterer Bedingungen der statischen Semantik, die ein korrektes Programm erfüllen muss. Im Detail erläutern die Autoren Fragestellungen der Typkorrektheit und präsentieren Algorithmen zur Inferierung allgemeinster Typen. Solche und ähnliche Berechnungen auf Syntaxbäumen lassen sich elegant durch Attributgrammatiken beschreiben. Der Band präsentiert deshalb praktische Verfahren, wie für eine Attributgrammatik effiziente Attributauswerter generiert werden können. Alle Verfahren des Buchs sind im Detail angegeben und lassen sich eins zu eins in lauffähige Programme umsetzen.

Reference: Bibtex