27.02.2013 Aufrufe

Kontextfreie Sprachen Kontextfreie Grammatiken Definition 13.1 ...

Kontextfreie Sprachen Kontextfreie Grammatiken Definition 13.1 ...

Kontextfreie Sprachen Kontextfreie Grammatiken Definition 13.1 ...

MEHR ANZEIGEN
WENIGER ANZEIGEN

Sie wollen auch ein ePaper? Erhöhen Sie die Reichweite Ihrer Titel.

YUMPU macht aus Druck-PDFs automatisch weboptimierte ePaper, die Google liebt.

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 <strong>Grammatiken</strong> werden als "-freie <strong>Grammatiken</strong> 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> & <strong>Grammatiken</strong> [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> & <strong>Grammatiken</strong> [40]

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

Erfolgreich gespeichert!

Leider ist etwas schief gelaufen!