Skriptes - Uni Bremen - Universität Bremen
Skriptes - Uni Bremen - Universität Bremen
Skriptes - Uni Bremen - Universität Bremen
Sie wollen auch ein ePaper? Erhöhen Sie die Reichweite Ihrer Titel.
YUMPU macht aus Druck-PDFs automatisch weboptimierte ePaper, die Google liebt.
Kellerautomaten<br />
Definition 10.7<br />
Sei G eine kontextfreie Grammatik. Eine Ableitung S = w 0 ⊢ G w 1 ⊢ G w 2 ⊢ G ··· ⊢ G w n<br />
heisst Linksableitung wenn sichw i+1 ausw i durch Anwendung einer Regel auf das linkeststehende<br />
Nichtterminal in w i ergibt, für alle i < n.<br />
Das folgende Lemma zeigt, dass sich die von einer kontextfreien Grammatik erzeugte<br />
Sprache nicht verändert, wenn man statt beliebigen Ableitungen nur noch Linksableitungen<br />
zuläßt.<br />
Lemma 10.8<br />
Für jede kontextfreie Grammatik G gilt: L(G) = {w ∈ Σ ∗ | w kann in G mit Linksableitung<br />
erzeugt werden.<br />
Zum Beweis von Lemma 10.8 genügt es, zu zeigen, dass jedes w ∈ L(G) mittels einer<br />
Linksableitung erzeugt werden kann. Wir argumentieren nur informell: wenn w ∈ L(G),<br />
dann gibt es eine Ableitung von w in G. Diese kann als Ableitungsbaum dargestellt<br />
werden. Aus dem Ableitungsbaum lässt sich nun wiederrum eine Linksableitung von w<br />
ablesen (zum Beispiel durch Traversieren des Baumes in Pre-Order).<br />
Satz 10.9<br />
Für jede formale Sprache L sind äquivalent:<br />
1) L with von einer kontextfreien Grammatik erzeugt.<br />
2) L wird von einem PDA erkannt.<br />
Beweis.<br />
„1 −→ 2“.<br />
Es sei G = (N,Σ,P,S) eine kontextfreie Grammatik. Der zugehörige PDA simuliert<br />
Linksableitungen von G auf dem Keller.<br />
Genauer gesagt definieren wir A = (Q,Σ,Γ,q 0 ,Z 0 ,∆) wobei Q = {q}, Γ = Σ ∪ N,<br />
q 0 = q, Z 0 = S und ∆ aus folgenden Übergängen besteht:<br />
• Übergänge zum Anwenden von Produktionen auf das oberste Kellersymbol:<br />
für jede Regel A → γ den Übergang (q,ε,A,γ,q);<br />
• Übergänge zum Entfernen bereits erzeugter Terminalsymbole von der Kellerspitze,<br />
wenn sie in der Eingabe vorhanden sind:<br />
Beispiel:<br />
für jedes Terminalsymbol a ∈ Σ den Übergang (q,a,a,ε,q).<br />
P = {S −→ ε, S −→ aSa, S −→ bSb} liefert die Übergänge:<br />
78