Präsentation herunterladen
Die Präsentation wird geladen. Bitte warten
Veröffentlicht von:Sophie Reuter Geändert vor über 8 Jahren
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 / ( 24 - 12) + 44) = ? Dr. Lars Ettelt3
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, http://mediathek.bildung.hessen.de/material/informa tik/programmierung/Kellerautomat.zip, (Stand: 14.02.2011) http://www.inf- schule.de/sprachen/sprachenundautomaten/kelleraut omat (09.09.13) http://www.inf- 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
Ähnliche Präsentationen
© 2024 SlidePlayer.org Inc.
All rights reserved.