Präsentation herunterladen
Die Präsentation wird geladen. Bitte warten
1
Parser für CH3-Sprachen
Richard Göbel
2
Endlicher Automat als Akzeptor
Zustand (einer von endlich vielen Zuständen) Regeln Eingabezeichen alter Zustand neuer Zustand zunächst keine Ausgabezeichen Anfangszustand Endzustände in denen die Eingabe "akzeptiert" wird
3
Automat für CH3-Sprache
Eliminiere Regeln der Form x y Ersetze in jeder rechten Seite x durch y Füge y zu den Startsymbolen hinzu falls x ein Startsymbol ist Erzeuge jede Regel einen Zustand ("letzte angewendete Regel) Erzeuge einen Startzustand Erzeuge Übergänge zwischen zwei Zuständen s und t: falls das Nichtterminalsymbol in der rechten Seite von s identisch mit der linken Seite von T entspricht Eingabezeichen für den Übergang sind die Terminalsymbole aus t Erzeuge weitere Übergänge von dem Startzustand zu allen Zuständen für Regeln mit Startsymbolen als linke Seite
4
Beispiel – Duale Zahl mit Vorzeichen
R1: Z "-" N R2: Z "+" N R3: Z N R4: N "0" R5: N "1" R6: N "0" N R7: N "1" N
5
Aufbau des Automaten für dieses Beispiel
R4 1 R1 - 1 R5 1 1 1 1 S 1 + R6 1 R2 1 R7 1
6
Optimierung eines endlichen Automaten
Lassen sich Zustände zusammenfassen? Automat muss sich danach gleich verhalten! Wie lässt sich überprüfen, ob zwei Automaten sich gleich verhalten? Überprüfung endlich vieler Zeichenketten reicht! Optimierung endlicher Automaten mit polynomialem Zeitaufwand möglich!
7
Optimierung des Beispielautomaten
0,1 0,1 +,- S R1 0,1 0,1 0,1 R6 0,1
8
Nichtdeterministischen Automat umwandeln
Erzeuge einen deterministischen Automaten B aus dem nichtdeterministischen Automaten A Ein Zustand aus B repräsentiert eine Menge von Zuständen aus A Jede Eingabe führt von einer Menge von Zuständen aus A zu einer anderen Menge von Zuständen aus A Es werden nur Mengen von Zuständen betrachtet, die von (der Menge mit) dem Startzustand erreichbar sind Eine Zustand von B ist ein Endzustand, wenn dieser Zustand einen Endzustand von A enthält
9
Deterministischer Automat für das Beispiel
0,1 0,1 {S} +,- {R1} {R4,R6} 0,1
Ähnliche Präsentationen
© 2024 SlidePlayer.org Inc.
All rights reserved.