31.01.2014 Aufrufe

Skriptes - Uni Bremen - Universität Bremen

Skriptes - Uni Bremen - Universität Bremen

Skriptes - Uni Bremen - Universität Bremen

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.

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

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

Erfolgreich gespeichert!

Leider ist etwas schief gelaufen!