Parsing regulärer Ausdrücke

Slides:



Advertisements
Ähnliche Präsentationen
der Universität Oldenburg
Advertisements

Vorlesung Compilertechnik Sommersemester 2008
8. Formale Sprachen und Grammatiken
Imperative Programmierung
Friedhelm Meyer auf der Heide 1 HEINZ NIXDORF INSTITUT Universität Paderborn Algorithmen und Komplexität Grammatiken beschreiben Sprachen L µ *, indem.
Kapitel 4 Syntaktische Analyse: LR Parsing.
FH-Hof Extensible Markup Language Richard Göbel. FH-Hof Extensible Markup Language XML XML ist universeller Ansatz für die Strukturierung von Zeichenketten.
Java: Objektorientierte Programmierung
Automatentheorie „Berechnungsmodell für logische Sprachen“
Stoyan Mutafchiev Betreuer: Ilhan, Tim
C- Syntax. Bestandteile der Sprache C: Ausdrücke Anweisungen.
Java- Syntax.
Vorlesung Informatik 3 Einführung in die Theoretische Informatik (01 – Einleitung) Prof. Dr. Th. Ottmann.
Basisinformationstechnologie I Dozent T.Schaßan Ableitungsbaum Referentin: Munkhnast Dembereldalai.
M a r c – o l i v e r p a h l Informatik II – Kapitel 18 Übersetzung Zusammenfassung des Kapitel 18 Küchlin, Weber, Vorversion Einführung in die Informatik,
Grundkurs Theoretische Informatik, Folie 3.1 © 2004 G. Vossen,K.-U. Witt Grundkurs Theoretische Informatik Kapitel 3 Gottfried Vossen Kurt-Ulrich Witt.
Endliche Automaten Einführung in den Themenbereich
Reguläre Sprachen Karin Haenelt.
Endliche Automaten Akzeptoren
Endliche Automaten in der Sprachverarbeitung Eine kleine Einführung
Formale Grundlagen der Faktenextraktion mit endlichen Automaten
Endliche Automaten Überführung regulärer Ausdrücke in endliche Automaten Karin Haenelt
Reguläre Ausdrücke Karin Haenelt
© Karin Haenelt 2006, Äquivalenzen Reg.Ausdrücke, Reg.Sprachen, EA ( ) 1 Reguläre Sprachen Karin Haenelt.
© Karin Haenelt, Modellierung Menschlicher.Sprachen mit Regulären Ausdrücken, Modellierung menschlicher Sprachen mit Regulären Ausdrücken.
Mathematische Grundlagen
© Karin Haenelt 2006, Operationen auf Akzeptoren und Transduktoren, ( ) 1 Operationen auf endlichen Akzeptoren und Transduktoren.
© Karin Haenelt 2005, Endliche Automaten: Alphabet, Zeichenreihe, Sprache, Endliche Automaten Grundlagen: Alphabet, Zeichenreihe, Sprache.
Mathematische Grundlagen
© Karin Haenelt, Transduktoren, Transduktoren für die Sprachverarbeitung Vereinigung von Transduktoren Karin Haenelt Karin Haenelt, Transduktoren,
Sprachwissenschaftliches Institut Einführung in die HPSG Grammatiktheorie 4./11. Mai 2004.
Beispiele für Ausdrucksalgebren
Modelchecker – RED Tool: Region-Encoding Diagram Stefan Neumann.
1 HEINZ NIXDORF INSTITUT Universität Paderborn Algorithmen und Komplexität Einführung in Berechenbarkeit, Formale Sprachen und Komplexitätstheorie Wintersemester.
Christian Schindelhauer
Christian Schindelhauer
Christian Schindelhauer
Einführung in Berechenbarkeit, Formale Sprachen und Komplexitätstheorie Wintersemester 2005/ Vorlesung Dominic Dumrauf.
Christian Schindelhauer
Christian Schindelhauer
Fachgebiet Software Engineering Übersicht © Albert Zündorf, Kassel University Compilerbau und Reverse Engineering m Vorlesung im Wintersemester.
Theoretische Informatik 2
Ralf KüstersDagstuhl 2008/11/30 2 Ralf KüstersDagstuhl 2008/11/30 3.
Grundkurs Theoretische Informatik, Folie 7.1 © 2006 G. Vossen,K.-U. Witt Grundkurs Theoretische Informatik Kapitel 7 Gottfried Vossen Kurt-Ulrich Witt.
Überführung regulärer Ausdrücke in endliche Automaten Der Algorithmus von Glushkov und McNaughton/Yamada Karin Haenelt
Eignung von Grammatik-basiertem Layout für grafische Programmiersprachen Seminar Layout-Algorithmen für Graphen Institut für Informatik Christian-Albrechts.
Herzlich Willkommen zu „Einführung in die Programmierung mit Java“
Proseminar an der TU München Martin Levihn
Christian Schindelhauer Wintersemester 2006/07 8. Vorlesung
Basisinformationstechnologie HK-Medien
Auslegung eines Vorschubantriebes
Formale Sprachen Reguläre Sprachen Rudolf FREUND, Marian KOGLER.
Entwurf und Implementierung eines Scanner-Generatorsystems
Städtisches Gymnasium Beverungen Friedel Berlage
Analyseprodukte numerischer Modelle
Beispiele: KFG 2.Teil Beispiel 1: Sei G eine Grammatik mit den folgenden Regeln: S  Ac | Bd A  aAb | ab B  aBbb | abb Definieren Sie.
Noam CHOMSKY, Sheila GREIBACH
Automaten, formale Sprachen und Berechenbarkeit II SoSe 2004 Prof. W. Brauer Teil 3: Potenzreihen und kontextfreie Sprachen (Vgl. Buch von A. Salomaa)
Christian Schindelhauer Wintersemester 2006/07 1. Vorlesung
1 Albert-Ludwigs-Universität Freiburg Rechnernetze und Telematik Prof. Dr. Christian Schindelhauer Informatik III Arne Vater Wintersemester 2006/07 28.
Christian Schindelhauer Wintersemester 2006/07 5. Vorlesung
1 Albert-Ludwigs-Universität Freiburg Rechnernetze und Telematik Prof. Dr. Christian Schindelhauer Informatik III Christian Schindelhauer Wintersemester.
Christian Schindelhauer Wintersemester 2006/07 3. Vorlesung
1 Tagesüberblick 4 Lösung Hausaufgabe/Fragen Mustervergleiche.
Institut für Softwarewissenschaft – Universität WienP.Brezany 1 Beispiele (Frist: ) Beispiel 1: Sei  = {a, b} ein Alphabet und Q = {q 0, q 1 } eine.
7. Formale Sprachen und Grammatiken
Inhalt Einordnung und Funktion der lexikalische Analyse Grundlagen
2 Grundlagen In diesem Abschnitt werden die Grundbegriffe und Methoden der Theorie der formalen Sprachen und der Automaten wiederholt, soweit diese ben.
 Am Ende der letzten Stunde hatten wir über die Grenzen unserer Automaten-Modell gesprochen. Dr. Lars Ettelt2  Tipp: Parkhaus.  Einfahrt erst wenn.
Syntaxdiagramme.
 Präsentation transkript:

Parsing regulärer Ausdrücke Karin Haenelt 25.4.2009

Inhalt kontextfreie Grammatik für reguläre Ausdrücke Grundlagen Parsebaum: konkrete Syntax Syntaxbaum: abstrakte Syntax Algorithmus: Parsing regulärer Ausdrücke Erkennung Konstruktion des Syntaxbaumes © Karin Haenelt, Parsing regulärer Ausdrücke 25.4.2009, 1 22.5.2005

Grammatik für reguläre Ausdrücke reguläre Ausdrücke beschreiben reguläre Sprachen Notationssprache für reguläre Ausdrücke ist keine reguläre Sprache Sprache enthält Klammern die beliebig ineinander geschachtelt werden können ausbalanciert sein müssen (Anzahl öffnender Klammern = Anzahl schließender Klammern) ist eine kontextfreie Sprache Erkennung mit Automaten mit Gedächtnis © Karin Haenelt, Parsing regulärer Ausdrücke 25.4.2009, 1 22.5.2005

Konkrete Syntax und abstrakte Syntax Ableitungsbaum der Erkennung mit kontextfreier Grammatik Parsebaum Ziel: effiziente Erkennung abstrakte Syntax Abstraktion von Details, die zur Weiterverarbeitung nicht gebraucht werden Syntaxbaum Ziel: effiziente Weiterverarbeitung Ziel: kontextfreie Grammatik – nach der konkrete Syntax und abstrakte Syntax möglichst ähnlich sind © Karin Haenelt, Parsing regulärer Ausdrücke 25.4.2009, 1 22.5.2005

Grammatik für arithmetische Ausdrücke, 1. Entwurf 2 Ableitungen mit 2 Strukturen für 1+2x3 1 E + 2 3 E 3 1 2 + x x unbrauchbar zur weiteren Auswertung des Ausdrucks, falsche Priorität der Rechenregeln © Karin Haenelt, Parsing regulärer Ausdrücke 25.4.2009, 1 22.5.2005

Grammatik für reguläre Ausdrücke, 2. Entwurf Berücksichtigung der Priorität der Operatoren + vereinigt Produkte (Operator • hat seine Argumente zuvor gebunden) • konkateniert Terme (Operator * hat sein Argument zuvor gebunden) * bindet sein Argument zuerst Expression Product Terminal © Karin Haenelt, Parsing regulärer Ausdrücke 25.4.2009, 1 22.5.2005

Kontextfreie Grammatik für reguläre Ausdrücke Beispiel (a|b)*abb Ableitungsbaum a b T P | E ( ) * • Die Grammatikregel enthält eine Rechtsrekursion. Rechtsrekursion lässt sich durch Iteration darstellen. In einer iterativen Darstellung treten die markierten Ableitungen nicht auf © Karin Haenelt, Parsing regulärer Ausdrücke 25.4.2009, 1 22.5.2005

Erkennen regulärer Ausdrücke Grundlage: Grammatik für reguläre Ausdrücke E → P + E | P Ausdruck P → T •P | T Produkt T → 0 | 1 |ε | Ø | T* | (E) Terminal (Terminalsymbole können erweitert werden) weder Lexikon noch Grammatik sind komplex oder veränderlich Erkenner kann direkt aus der Grammatik abgeleitet werden, indem man für jede Variable eine Prozedur schreibt (Hopcroft/Ullman, 1988: 128/129) © Karin Haenelt, Parsing regulärer Ausdrücke 25.4.2009, 1 22.5.2005

Algorithmus zur Erkennung regulärer Ausdrücke 1 3 nach Hopcroft/Ullmann 1988:128 4 7 12 16 21 23 26 27 31 © Karin Haenelt, Parsing regulärer Ausdrücke 25.4.2009, 1 22.5.2005

Ableitungsstruktur nach Algorithmus 3P 7P 4| 23( 27) 26E 31* 13• 16T 1E Beispiel: (a|b)*abb Die Zahlen geben die Zeile des Algorithmus an © Karin Haenelt, Parsing regulärer Ausdrücke 25.4.2009, 1 22.5.2005

Konstruktion des Syntaxbaumes Erkennungsalgorithmus durchläuft nur den Ausdruck und erkennt ihn gibt accept oder reject aus erzeugt keine weitere Ausgabe Konstruktionsanweisungen für den Syntaxbaum müssen an den entsprechenden Stellen im Algorithmus hinzugefügt werden Veränderungen gegenüber der konkreten Syntax: Operatoren als innere Knoten Operanden als Kinder des Knotens Symbole des Eingabealphabetes und leere Kette als terminale Knoten Grundstruktur class TreeNode { String info; TreeNode left; TreeNode right; } © Karin Haenelt, Parsing regulärer Ausdrücke 25.4.2009, 1 22.5.2005

Ein Parsebaum und Syntaxbaum (a|b)*abb Parsebaum Syntaxbaum a * T • P b | E ( ) a b # | * ● © Karin Haenelt, Parsing regulärer Ausdrücke 25.4.2009, 1 22.5.2005

Vielen Dank Für das Aufspüren von Fehlern in früheren Versionen und für Verbesserungsvorschläge danke ich Victor Gabriel Saiz Castillo, Robert Schumann © Karin Haenelt, Parsing regulärer Ausdrücke 25.4.2009, 1 22.5.2005

Literatur Aho, Alfred V.; Sethi, Ravi und Jeffrey D. Ullman (1986). Compilers. Principles, Techniques and Tools. Addison-Wesley Publishing Company. Hopcroft, John E. und Jeffrey D. Ullman (1988). Einführung in die Automatentheorie, formale Sprachen und Komplexitätstheorie. Bonn u. a.: Addison-Wesley, 1988 (engl. Original Introduction to automata theory, languages and computation). Hopcroft, John E., Rajeev Motwani und Jeffrey D. Ullman (2002). Einführung in die Automatentheorie, Formale Sprachen und Komplexität. Pearson Studium engl. Original: Introduction to Automata Theory, Languages and Computation. Addison-Wesley. www-db.stanford.edu/~ullman/ialc.html © Karin Haenelt, Parsing regulärer Ausdrücke 25.4.2009, 1 22.5.2005

Versionen 25.04.2009 06.05.2008, 05.05.2007 27.05.,20.05.2005 © Karin Haenelt, Parsing regulärer Ausdrücke 25.4.2009, 1 22.5.2005