Automaten, Formale Sprachen und Berechenbarkeit I
Automaten, Formale Sprachen und Berechenbarkeit I
Automaten, Formale Sprachen und Berechenbarkeit I
Erfolgreiche ePaper selbst erstellen
Machen Sie aus Ihren PDF Publikationen ein blätterbares Flipbook mit unserer einzigartigen Google optimierten e-Paper Software.
72 KAPITEL 3. KONTEXTFREIE SPRACHEN<br />
A → Aα 1 | Aα 2 | . . . | Aα n<br />
A → β 1 | β 2 | . . . | β m<br />
A → β 1 | β 2 | . . . | β m<br />
A → β 1 B | β 2 B | . . . | β m B<br />
B → α 1 B | α 2 B | . . . | α n B<br />
B → α 1 | α 2 | . . . | α n<br />
A<br />
A<br />
A α i1<br />
A α in−1<br />
<br />
A α in<br />
β j<br />
α i0<br />
<br />
A <br />
β j<br />
B <br />
B <br />
α in−1 B <br />
α in<br />
α i1<br />
B<br />
α i0<br />
Abbildung 3.5. „Rotation"des Ableitungsbaumes<br />
wobei B ∉ (V ∪ Σ) ∗ eine neue Variable ist. Für die Grammatik G ′ = (V ∪ {B}, Σ, P ′ , S) gilt<br />
dann L(G) = L(G ′ ).<br />
Beweis: Formalisierung der Vorüberlegung (vgl. Abb. 3.5).<br />
□<br />
Bemerkung: Die Struktur der Ableitungsbäume für dasselbe Wort unterscheiden sich in G<br />
<strong>und</strong> in G ′ deutlich!<br />
Überführung in GNF: Die Überführung einer Grammatik in Greibach-Normalform ist eine<br />
geschickte Kombination der Transformationen aus Lemma 3.14 <strong>und</strong> Lemma 3.15. Insgesamt<br />
ähnelt dieses Verfahren, dem Verfahren zum Lösen eines linearen Gleichungssystems (Gaußelimination<br />
<strong>und</strong> Rückwärtssubstitution). Wir erklären dieses Verfahren zunächst anhand eines<br />
Beispiels; das Verfahren selbst wird dann im Beweis von Satz 3.16 angegeben.<br />
S → AB<br />
A → AA<br />
A → a<br />
B → b<br />
B → S<br />
<br />
S → AB<br />
A → a C → A<br />
A → aC C → AC<br />
B → b<br />
B → SA<br />
<br />
S → AB<br />
A → a C → A<br />
A → aC C → AC<br />
B → b<br />
B → aBA<br />
B → aCBA<br />
(a)<br />
(b)<br />
(c)<br />
Abbildung 3.6. Überführung einer Grammatik in Greibach-Normalform: Schritt 1