Parsergenerator

Ein Parsergenerator ist ein Computerprogramm, das Unterprogramme zur grammatikalischen Analyse eines anderen Computerprogramms erzeugt, einen sogenannten Parser. Diese Unterprogramme werden in einem Compiler oder Interpreter eingesetzt.

Gängige Parsergeneratoren sind zum Beispiel yacc (Yet Another Compiler Compiler) oder Bison. Diese werden üblicherweise in Verbindung mit einem Scannergenerator eingesetzt. Der Maschinencodegenerator muss dabei zusätzlich für jede Maschine codiert werden.

Yacc verarbeitet eine Datei mit der Sprachsyntaxbeschreibung in einem der Backus-Naur-Form ähnlichen Format. Als Ausgabe erhält man die erforderlichen Unterprogramme und Tabellen in der Programmiersprache C, die dann von einem Compiler übersetzt werden.

Die automatisch erzeugten Prozeduren kann man dann mit den restlichen erzeugten oder von Hand codierten Teilen ergänzen, das sind im wesentlichen der Scanner, das Hauptprogramm und der Codegenerator bzw. Auswerter. Der Aufwand zum Erzeugen eines leistungsfähigen und korrekten Compilers wird durch Parsergeneratoren sehr deutlich reduziert.

Siehe auch: Parser, lexikalischer Scanner, Scannergenerator, Compiler, Compilerbau

See also: Parsergenerator, Backus-Naur-Form, C (Programmiersprache), Compiler, Compilerbau, Interpreter, Lexikalischer Scanner, Parser, Unterprogramm, Yacc