Die Präsentation wird geladen. Bitte warten

Die Präsentation wird geladen. Bitte warten

Ralf Möller, TUHH. DPDAs vs. CFGs Unser Gefühl sagt uns: Deterministische Kellerautomaten sind gut für Parsing-Aufgaben Doch reicht Ihre Ausdrucksstärke.

Ähnliche Präsentationen


Präsentation zum Thema: "Ralf Möller, TUHH. DPDAs vs. CFGs Unser Gefühl sagt uns: Deterministische Kellerautomaten sind gut für Parsing-Aufgaben Doch reicht Ihre Ausdrucksstärke."—  Präsentation transkript:

1 Ralf Möller, TUHH

2 DPDAs vs. CFGs Unser Gefühl sagt uns: Deterministische Kellerautomaten sind gut für Parsing-Aufgaben Doch reicht Ihre Ausdrucksstärke … … um alle CFGs zu repräsentieren? … für praktische Anwendungen?

3 Behauptung Es gibt kontextfreie Sprachen, die nicht deterministisch kontextfrei sind Beweis: Lemma: Für deterministisch-kontextfreie (dk) Sprachen L gilt: Das Komplement L ist auch dk Beweisidee: F und Q-F vertauschen wie bei DFAs Dann argumentieren wir: L = { a i b j c k | ij oder jk } ist kontextfrei, Wäre L dk, dann wäre auch L dk. Damit wäre L ja auch kontextfrei. L ist aber nicht kontextfrei, denn sonst wäre auch L {a}*{b}*{c}* = { a n b n c n | n 0 } kontextfrei,was aber nicht der Fall ist.

4 Top-Down-Parsen bzgl. Grammatik G Lesen eines Wortes aus L(G) unter Herstellung einer Ableitung (insb. eines Ableitungsbaumes) z.B. durch Lesen des Eingabewortes von links nach rechts, unter Erzeugung einer Linksableitung (LL-Parsing) Ableitungsbaum wächst von der Wurzel zu den Blättern (Top-Down-Parsing) Zyklen möglich Bei nicht-eindeutiger Grammatik i.A. sehr aufwendig (Rücksetzen notwendig)

5 Praktische Einschränkung Anwendung der richtigen Produktion richtet sich nur nach dem aktuellen Eingabesymbol und dem obersten Kellersymbol: LL(1)-Parser Einschränkung der Grammatiken auf sog. LL(1)-Grammatiken, eine echte Teilklasse der CFGs Verallgemeinerung: LL(k)-Grammatiken Parser darf k-nächste Zeichen der Eingabe lesen (Lookahead), um Entscheidung über den nächsten Zug zu treffen Ist das Lesen von k Zeichen eine Erweiterung der Kellerautomaten-Idee?

6 Bottom-Up-Parsing Eingabe von links nach rechts gelesen, aber Erzeugung einer Rechtsableitung Suche nach Vorkommen der rechten Seite von Produktionsregeln Keine Probleme mit Zyklen der Ableitungsbaum entsteht von den Blättern zur Wurzel hin wachsend (bottom-up) LR-Parsing kann als Spezialfall des CYK- Verfahrens angesehen werden

7

8

9 LR-Parser Simulation durch NPDA möglich Ist das Lesen von mehreren Symbolen vom Keller eine Erweiterung des Kellergedankens? Eindeutigmachung durch Vorausschau LR(k)-Parser: Nur k Eingabesymbole dürfen angesehen werden, um zwischen shift und reduce zu unterscheiden Näheres hierzu: Vorlesung Compilerbau

10 DPDA vs. DCFG: Charakterisierung L ist deterministisch kontextfrei genau dann wenn es eine LR(1)-Grammatik G mit L = L(G) gibt. Hier ohne Beweis

11 Acknowledgements Einige Teile dieser Präsentation sind aus dem Skript zu Automaten und formale Sprachen von Martin Dietzfelbinger, TU Ilmenau übernommen.


Herunterladen ppt "Ralf Möller, TUHH. DPDAs vs. CFGs Unser Gefühl sagt uns: Deterministische Kellerautomaten sind gut für Parsing-Aufgaben Doch reicht Ihre Ausdrucksstärke."

Ähnliche Präsentationen


Google-Anzeigen