Die Präsentation wird geladen. Bitte warten

Die Präsentation wird geladen. Bitte warten

 Am Ende der letzten Stunde hatten wir über die Grenzen unserer Automaten-Modell gesprochen. Dr. Lars Ettelt2  Tipp: Parkhaus.  Einfahrt erst wenn.

Ähnliche Präsentationen


Präsentation zum Thema: " Am Ende der letzten Stunde hatten wir über die Grenzen unserer Automaten-Modell gesprochen. Dr. Lars Ettelt2  Tipp: Parkhaus.  Einfahrt erst wenn."—  Präsentation transkript:

1

2  Am Ende der letzten Stunde hatten wir über die Grenzen unserer Automaten-Modell gesprochen. Dr. Lars Ettelt2  Tipp: Parkhaus.  Einfahrt erst wenn wieder ein Platz frei ist.

3 Beispiel: TaschenrechnerBeispiel: Taschenrechner  Jeder moderne Taschenrechner beherrscht die Klammerung von Ausdrücken, d. h. zu jeder öffnenden Klammer muss es eine schließende Klammer geben.  Dabei müssen sich an jeder beliebigen Stelle der Eingabe stets rechts von der Eingabemarke mehr oder gleich viele öffnende Klammern sein wie schließende Klammern und am Eingabeende gleich viele öffnende und schließende Klammern, sonst wird die Eingabe nicht akzeptiert.  Beispiel: ((3 + 5) / 6) * (10 / ( ) + 44) = ? Dr. Lars Ettelt3

4

5 Automaten - ErweiterungAutomaten - Erweiterung  Dabei wird der endliche Automat um eine Art Gedächtnis erweitert, dem so genannten Kellerspeicher.  Dieser Keller funktioniert wie ein Stapel.  Man kann nur etwas oben auf den Stapel legen.  Oder etwas von oben wegnehmen. Dr. Lars Ettelt5

6 6

7 Der Keller / StapelDer Keller / Stapel  Dabei wird der endliche Automat um eine Art Gedächtnis erweitert, dem so genannten Kellerspeicher.  Dieser akzeptiert Push- und Pop-Operationen.  Bei einer Push-Operation wird ein Element dem Speicher hinzugefügt.  Die Pop-Operation entfernt das als letztes hinzugefügte Element aus dem Speicher und gibt es zurück. Dr. Lars Ettelt7

8  Dabei gilt: das zuletzt abgelegte Objekt muss als erstes wieder entnommen werden. Dieses Prinzip bezeichnet man mit Last in – First out (LIFO). Dr. Lars Ettelt8

9 Beispiel 9  Ein Zustandsübergang erfolgt nur in Abhängigkeit von einem Eingabesymbol und den obersten Kellersymbolen. Ein Zustandsübergang aktualisiert zudem den Keller, indem Symbole vom Keller entfernt und neue Symbole im Keller abgelegt werden.

10 Beispiel Dr. Lars Ettelt10  Im Zustandsdiagramm werden diese Informationstripel in der Gestalt (Eingabe, zu entfernende oberste Kellersymbole; hinzuzufügende oberste Kellersymbole) an die Übergangspfeile geschrieben.

11 Beispiel Dr. Lars Ettelt11  Das Tripel (, (; (( bedeutet: Wenn die Eingabe ( vorliegt und im Keller oben das Kellersymbol ( liegt, dann entferne dieses oberste Kellersymbol und lege die Symbole des Worts (( der Reihe nach in den Keller

12 Beispiel Dr. Lars Ettelt12  Das Tripel ), (; λ bedeutet: Wenn die Eingabe ) vorliegt und im Keller oben das Kellersymbol ( liegt, dann entferne dieses oberste Kellersymbol und lege die Symbole des leeren Worts - also nichts - in den Keller

13 Beispiel Dr. Lars Ettelt13  Das Tripel (, Z; (Z bedeutet: Wenn die Eingabe ( vorliegt und im Keller oben das Kellersymbol Z liegt, dann entferne dieses oberste Kellersymbol und lege die Symbole des Wort (Z der Reihe nach in den Keller. Beachte, dass Z hier ein zusätzliches Kellersymbol ist, das einen leeren Keller beschreibt.

14 Beispiel Dr. Lars Ettelt14  Das Tripel λ, Z; λ bedeutet: Wenn die Eingabe λ vorliegt - wenn also keine Eingabesymbole mehr vorhanden sind - und im Keller oben das Kellersymbol Z liegt - wenn der Keller also leer ist -, dann entferne dieses oberste Kellersymbol und lege die Symbole des leeren Worts - also nichts - in den Keller.

15 Beispiel Dr. Lars Ettelt15 Gesamtbetrachtung: Beschreibt, was dieser Automat tut.

16 Zusammenfassung: Kellerautomat  Ein Kellerautomat ist ein Automat, der die Symbole eines Eingabeworts verarbeitet, sich dabei stets in einem bestimmten Zustand befindet und die zum Zwischenspeichern von Symbolen einen Stapel / Keller benutzt. Dr. Lars Ettelt16

17 Quellen  "Nichtdeterministischer Kellerautomat",, Hessischer Bildungsserver, tik/programmierung/Kellerautomat.zip, (Stand: )  schule.de/sprachen/sprachenundautomaten/kelleraut omat ( ) schule.de/sprachen/sprachenundautomaten/kelleraut omat Dr. Lars Ettelt17

18 Aufgabe Erstelle einen Keller Automaten, der prüft, ob eine HTML-Seite eine korrekte Syntax hat. Der Automat soll HTML- Elemente erkennen und andere Inhalte ignorieren. Korrekt ist die Syntax, wenn jedes Element wieder geschlossen wird. (Nur für die Elemente des Beispiels!) Dr. Lars Ettelt18 Beispiel: eine HTML-Seite Beispieltitel Eine Überschrift! Dies ist ein Beispiel

19 Aufgabe Erstelle einen Keller Automaten, der prüft, ob eine HTML-Seite eine korrekte Syntax hat. Der Automat soll HTML- Elemente erkennen und andere Inhalte ignorieren. Korrekt ist die Syntax, wenn jedes Element wieder geschlossen wird. (Nur für die Elemente des Beispiels!) Dr. Lars Ettelt19 Beispiel: eine HTML-Seite Beispieltitel Eine Überschrift! Dies ist ein Beispiel


Herunterladen ppt " Am Ende der letzten Stunde hatten wir über die Grenzen unserer Automaten-Modell gesprochen. Dr. Lars Ettelt2  Tipp: Parkhaus.  Einfahrt erst wenn."

Ähnliche Präsentationen


Google-Anzeigen