31.01.2014 Aufrufe

Kontextfreie Sprachen & Kellerautomaten

Kontextfreie Sprachen & Kellerautomaten

Kontextfreie Sprachen & Kellerautomaten

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 nutzlosen Symbolen<br />

Satz 3.14<br />

Sei G = (!, N, P, S) eine kontextfreie Grammatik mit L(G) " /. Sei G 1 = (! 1 , N 1 , P 1 , S)<br />

die Grammatik, die sich aus dem folgenden Verfahren ergibt:<br />

1. Es werden alle Symbole, die nichts erzeugen, und alle Regeln, die eines oder<br />

mehrere dieser Symbole enthalten, eliminiert. Die hieraus entstehende<br />

Grammatik bezeichnen wird durch G 2 = (! 2 , N 2 , P 2 , S).<br />

2. Es werden aus G 2 alle Symbole, die nicht in G 2 erreichbar sind, eliminiert,<br />

sowie alle Regeln, die eines oder mehrere dieser Symbole enthalten.<br />

Dann enthält G 1 keine nutzlosen Symbole und es gilt: L(G) = L(G 1 )<br />

Anmerkung:<br />

• Da L(G) " /, ist S erzeugend, und kann somit nicht eliminiert werden.<br />

Beweis zur selbständigen Nacharbeit (vgl. Vossen & Witt, Kap. 5.1.2). Zu zeigen ist:<br />

1. G 1 enthält keine nutzlosen Symbole; hier spielt die Reihenfolge der zwei<br />

Eliminationsstufen eine Rolle: G ! G 2 ! G 1<br />

2. L(G) = L(G 1 ), hier ist L(G) , L(G 1 ) die nicht-triviale Richtung des Beweises.<br />

FGI-1 Habel / Eschenbach Kap 13 <strong>Kontextfreie</strong> <strong>Sprachen</strong> & Grammatiken [33]<br />

Berechnung der erzeugenden Symbole<br />

Definition 3.15 (Algorithmus zur Berechnung der erzeugenden Symbole)<br />

Sei G = (!, N, P, S) eine kontextfreie Grammatik.<br />

Induktive Definition eines Algorithmus zur Berechnung der erzeugenden Symbole:<br />

1. Alle a ! !, d.h. alle terminalen Symbole, sind erzeugend.<br />

2. Wenn für eine Regel A # w gilt, dass jedes Symbol in w erzeugend ist, dann ist<br />

A erzeugend.<br />

Regeln: S # AB | a A# b Ableitungsbäume<br />

1. a, b sind erzeugend, da Terminalsymbole<br />

2. S ist erzeugend wg. S # a<br />

A ist erzeugend wg. A # b<br />

S # AB erfüllt nicht die Bedingungen<br />

von (2).<br />

3. Alle Regeln sind berücksichtigt; das<br />

Verfahren ist abgeschlossen.<br />

FGI-1 Habel / Eschenbach Kap 13 <strong>Kontextfreie</strong> <strong>Sprachen</strong> & Grammatiken [34]

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

Erfolgreich gespeichert!

Leider ist etwas schief gelaufen!