Unterabschnitte
Es gibt eine kleine technische Panne bei
Bei Typ 2 darf auf der rechten Seite in jeder beliebigen Regel das
stehen. Bei Typ 1 jedoch nicht. Wir können jedoch jede kontextsensitive Grammatik in der die Regel
durch das
verletzt ist, in eine äquivalente regelkonforme Grammatik umformen.
Markierungsalgorithmus:
- Markiere alle Non-Terminale mit
- Solange es Regeln gibt, so daß die rechte Seite aus lauter markierten Non-Terminalen besteht, markiere das Non-Terminal auf der linken Seite.
- Gebe alle markierten Non-Terminale als aus.
Transformationsalgorithmus:
- Falls das Nonterminal in irgendeiner Regel auf der rechten Seite vorkommt, füge
ein.
- Führe den oben beschriebenen Markierungsalgorithmus durch.
- Entferne alle Regeln
aus der Grammatik
- Wenn
füge
ein.
- Solange es eine Regel
mit und
gibt, füge
ein, wenn diese Regel noch nicht existiert.
Transformation von folgender Grammatik
in eine äquivalente
-freie CFG:
Markiert werden nacheinander folgende Nichtterminale (letztendlich alle):
Wir streichen die Regel
ist Element von
. Wir müssen ein Startsymbol
hinzufügen:
Folgende Regeln entstehen nun bei dem Durchlauf des Transformationsalgorithmusses: