Kontextfreie Sprachen & Kellerautomaten
Kontextfreie Sprachen & Kellerautomaten
Kontextfreie Sprachen & Kellerautomaten
Erfolgreiche ePaper selbst erstellen
Machen Sie aus Ihren PDF Publikationen ein blätterbares Flipbook mit unserer einzigartigen Google optimierten e-Paper Software.
Elimination von !-Regeln<br />
Satz 3.19 (Elimination von !-Regeln)<br />
Für jede kontextfreie Sprache L gilt, dass L – { " } durch eine kfG ohne "-Regeln<br />
erzeugt werden kann.<br />
[Derartige Grammatiken werden als "-freie Grammatiken bezeichnet.]<br />
Anmerkungen:<br />
Dieser Satz deckt zwei Fälle ab:<br />
1. " * L. Dann ist L – { " } = L, und deswegen gibt es eine "-Regel-freie<br />
Grammatik G, die L erzeugt, d.h. L = L(G).<br />
2. " ! L. Dann gibt es eine "-freie Grammatik G, die L – { " }erzeugt. Für die<br />
Erzeugung des leeren Wortes kann G um eine einzige "-Regel angereichert<br />
werden, die nur an der Erzeugung des leeren Wortes beteiligt ist.<br />
Im Beweis wird daher der Fall "-freier <strong>Sprachen</strong> behandelt (Fall 1). Fall 2 erfordert<br />
dann nur den oben angesprochenen Schritt der Ergänzung um eine "-Regel zur<br />
Erzeugung des leeren Wortes.<br />
FGI-1 Habel / Eschenbach Kap 13 <strong>Kontextfreie</strong> <strong>Sprachen</strong> & Grammatiken [39]<br />
Elimination von !-Regeln – Beweis von Satz 3.19<br />
Sei " * L und G = (!, N, P, S) eine kontextfreie Grammatik mit L = L(G).<br />
• Wir gehen davon aus, dass alle nutzlosen Symbole aus G eliminiert wurden (vgl.<br />
die Sätze 3.14, 3.16 und 3.18).<br />
• Wir erweitern die Grammatik um ein neues Nichtterminalsymbol, S 0 , das als<br />
Startsymbol fungiert. Ausserdem führen wir die Regel S 0 # S ein.<br />
• Die neue Grammatik G' erzeugt genau die gleiche Sprache wie die Grammatik<br />
G, denn zu jeder G-Ableitung S ! * G w mit w ! L(G) gibt es eine<br />
korrespondierende G'-Ableitung S 0 ! * G' w, und zwar S 0 ! * G' S !* G' w.<br />
• Diese Erweiterung der Grammatik führt dazu, dass das Startsymbol von G' nicht<br />
aus der rechten Seite einer Regel auftritt.<br />
Beispiel<br />
S # ASA | aB A# B | S B# b | "<br />
Einführung des neuen Startsymbols S 0<br />
S 0 # S S # ASA | aB A# B | S B# b | "<br />
FGI-1 Habel / Eschenbach Kap 13 <strong>Kontextfreie</strong> <strong>Sprachen</strong> & Grammatiken [40]