Die Präsentation wird geladen. Bitte warten

Die Präsentation wird geladen. Bitte warten

CFGs und Kellerautomaten

Ähnliche Präsentationen


Präsentation zum Thema: "CFGs und Kellerautomaten"—  Präsentation transkript:

1 CFGs und Kellerautomaten
Ralf Möller, TUHH CFGs und Kellerautomaten

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 = { ai bj ck| i≠j oder j≠k } 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}* = { an bn cn | 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 "CFGs und Kellerautomaten"

Ähnliche Präsentationen


Google-Anzeigen