Alternative zu yacc
-
Die Abkürzung Yacc steht für ‚yet another compiler compiler’ und ist ein Programm, das zur Generierung des Parsers eines Compilers verwendet werden kann. Hierzu muss man in einer Datei die zulässige Grammatik und entsprechende Aktion festlegen, aus der dann eine C-Funktion generiert wird. Diese versucht aus Symbolen, die durch den Scanner übergeben werden, entsprechend den Grammatikregeln das Startsymbol abzuleiten.
Gibt es da auch noch andere Tools?
-
-
Parser-Generatoren gibt es wie Sand am mehr und für alle möglichen Sprachen. Was hättest du gerne?
Boost::Spirit ist ziemlich cool, da du die Gramatik direkt in deinen C++ Code schreibst und der eigentliche Code dann zur Compilezeit via Templates erzeugt wird.