Greibach-Normalform
Formale Defninition
Sei eine kontextfreie Grammatik (vgl. Chomsky-Hierarchie), also . Sei das leere Element .
, mit , ist in Greibach-Normalform (kurz GNF), wenn alle Regeln (= Produktionen) aus die Form mit haben, wobei (Nichtterminale) und (Terminale). Mit ist also eine reguläre Grammatik ein Spezialfall einer kontextfreien Grammatik in Greibach-Normalform.
Für alle mit gibt es ein , mit , in Greibach-Normalform.
Die Greibach-Normalform hat den Vorteil, dass bei jedem Ableitungsschritt jeweils genau ein Terminalzeichen entsteht.
Konstruktion der GNF
Ausgehend von der Ch-Normalform gibt es folgenden Algorithmus zur Überführung einer Grammatik in die Greibach-Normalform:
Einsetzen der Produktionen
Gibt es eine Regel der Form mit , muss sie ersetzt werden ( sei eine beliebige Folge von Nichtterminalen).
Beispiel: mit wird zu .
Diese Ersetzung fangen wir beim höchsten i an und arbeiten uns bis zur 1 nach oben.
Ersetzen von Regeln, die zuerst auf sich selbst ableiten
Gibt es eine Regel der Form , so entferne diese Produktion von und füge sowie für alle anderen eine Regel hinzu.
Ab jetzt gibt es nur noch Regeln der Form .
Entfernen der Regeln, die mit einem Nichtterminal beginnen
Jetzt können wir in allen Regeln, die zuerst auf ein Nichtterminal ableiten, die Produktionen dieses Nichtterminals einsetzen.
Ab jetzt gibt es nur noch Regeln der Form .
Weiter bis Ende
Nun werden die Kontruktionsregeln auf alle Regeln von B analog angewandt.