31.01.2014 Aufrufe

Kontextfreie Sprachen & Kellerautomaten

Kontextfreie Sprachen & Kellerautomaten

Kontextfreie Sprachen & Kellerautomaten

MEHR ANZEIGEN
WENIGER ANZEIGEN

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]

Hurra! Ihre Datei wurde hochgeladen und ist bereit für die Veröffentlichung.

Erfolgreich gespeichert!

Leider ist etwas schief gelaufen!