Station - LEX und YACC
LEX
LEX ist ein Programm, das Scanner automatisiert erzeugen kann. Gibt man LEX eine genaue Beschreibung der Token vor, so erzeugt LEX einen endlichen Automaten, der Token erkennt.
YACC
YACC (Akronym für yet another compiler compiler
) ist ein Programm, das Parser automatisiert erzeugen kann.
Gibt man YACC die Grammatik einer (Programmier-) Sprache vor, so erzeugt YACC einen Shift-Reduce-Parser
zur Erkennung der Sprache, die durch die Grammatik beschrieben wird.
Implementierung von LEX und YACC in Python
Wir benutzen im Folgenden die Python-Implementierung PLY
von LEX und YACC
(siehe Python).