LL(1)-Parsing. Ullrich Buschmann, Linda Schaffarczyk, Maurice Schleussinger. Automatische Syntaxanalyse (Parsing)
|
|
- Fabian Vogel
- vor 7 Jahren
- Abrufe
Transkript
1 LL(1)-Parsing Ullrich Buschmann, Linda Schaffarczyk, Maurice Schleussinger Automatische Syntaxanalyse (Parsing) Heinrich-Heine-Universität Düsseldorf Wintersemester 2012/2013
2 Aufbau des Referats 1. Einführung, Warum LL(1)-Parsing? 2. LL(1)-Grammatiken 1. Parsing-Tabelle statt Grammatik 2. SLL(1)-Grammatiken 3. LL(1)-Parsing 1. LL(1)-Parsing ohne ɛ-ableitungen 2. LL(1)-Parsing mit ɛ-ableitungen 3. FOLLOW-Menge 4. Strong-LL(1)-Parsing 5. Vollständiges LL(1)-Parsing 4. Vor- und Nachteile von LL(1)-Parsing, Ausblick 5. Quellenangabe
3 Einführung, Ziel des Vortrags Problem bis jetzt: Breadth-First- und Depth-First-Parser sind nicht effizient, da nicht deterministisch Ab jetzt: deterministische Parser Vorteile schneller nur 1 Parsing-Baum also keine Ambiguitäten Nachteil: viele Grammatiken sind ambig, können also nicht geparst werden
4 Einführung, Ziel des Vortrags 1. Möglichkeit: nur nicht-ambige Grammatiken verwenden: - Keine gute Lösung 2. Möglichkeit: Grammatik anpassen, kluges Parsing: - Das machen wir jetzt
5 LL(1)-Grammatiken Bis jetzt außer Acht gelassen: Was wurde schon produziert? --> LL(1) - Es wird 1 Terminales nach vorne geschaut (Lookahead ) Wir gehen von einer simplen Grammatik aus: S ab B b abb Jede rechte Seite startet mit einem Terminalen. Also kommt beim Parsen nach jedem Predict-Schritt ein Match-Schritt. Jetzt müssen bei a im Lookahead nur die beiden S- Produktionen überprüft werden
6 LL(1)-Grammatiken Wir können die möglichen Produktionen für jedes Terminale auch in eine Parsing-Tabelle eintragen Vorteil: Parser benötigt die Grammatik dann nicht mehr muss nicht alle Produktionen ablaufen S ab a b # B b abb S B
7 LL(1)-Grammatiken Wir können die möglichen Produktionen für jedes Terminale auch in eine Parsing-Tabelle eintragen Vorteil: Parser benötigt die Grammatik dann nicht mehr muss nicht alle Produktionen ablaufen S ab B b abb S a b # S1 ab B B2 abb B1 b
8 SLL(1)-Grammatiken Grammatiken, mit Produktionen die nicht mehrmals mit dem gleichen Terminalen beginnen heißen SLL(1)- Grammatiken oder auch S-Grammatiken S steht für Simple und LL für Links-Linear und Lookahead Diese Grammatiken sind sehr effizient (erzeugen genau eine Parsing-Tabelle Aber: Nur wenige Grammatiken können in diese Form gebracht werden Also: Wir brauchen einen Parser der mit der gleichen Effizienz auch allgemeinere Grammatiken verarbeiten kann
9 Aufbau des Referats 1. Einführung, Warum LL(1)-Parsing? 2. LL(1)-Grammatiken 1. Parsing-Tabelle statt Grammatik 2. SLL(1)-Grammatiken 3. LL(1)-Parsing 1. LL(1)-Parsing ohne ɛ-ableitungen 2. LL(1)-Parsing mit ɛ-ableitungen 3. FOLLOW-Menge 4. Strong-LL(1)-Parsing 5. Vollständiges LL(1)-Parsing 4. Vor- und Nachteile von LL(1)-Parsing, Ausblick 5. Quellenangabe
10 LL(1)-Parsing ohne ɛ- Regeln Bis jetzt: Nur deterministische Grammatiken Jetzt: ohne diese Vorraussetzung keine ɛ-regeln, also: kein Nichtterminales produziert das leere Wort, sondern immer ein Wort der Mindestlänge 1 Wir definieren eine Menge FIRST(x) in der alle Terminalen stehen, die nichtleere Wörter produzieren (aus Produktion x)
11 LL(1)-Parsing ohne ɛ- Regeln Beispielgrammatik: Session Fact Session Session Question Session (Session) Session Fact! STRING Question? STRING First-Mengen: FIRST(Session FIRST(Fact) FIRST(Question)
12 LL(1)-Parsing ohne ɛ- Regeln Beispielgrammatik: Session Fact Session Session Question Session (Session) Session Fact! STRING Question? STRING First-Mengen: FIRST(Session) FIRST(Fact) FIRST(Question) (!?
13 LL(1)-Parsing ohne ɛ- Regeln Beispielgrammatik: Session Fact Session Session Question Session (Session) Session Fact! STRING Question? STRING First-Mengen: FIRST(Session) FIRST(Fact) FIRST(Question) (!?!?
14 LL(1)-Parsing ohne ɛ- Regeln!? ( ) STRING # Session Fact Session Question ( Session ) Session Question? STRING Fact! STRING
15 Aufbau des Referats 1. Einführung, Warum LL(1)-Parsing? 2. LL(1)-Grammatiken 1. Parsing-Tabelle statt Grammatik 2. SLL(1)-Grammatiken 3. LL(1)-Parsing 1. LL(1)-Parsing ohne ɛ-ableitungen 2. LL(1)-Parsing mit ɛ-ableitungen 3. FOLLOW-Menge 4. Strong-LL(1)-Parsing 5. Vollständiges LL(1)-Parsing 4. Vor- und Nachteile von LL(1)-Parsing, Ausblick 5. Quellenangabe
16 LL(1)-Parsing mit ɛ- Regeln Problem: FIRST-Sets sind nicht mehr ausreichend Beispielgrammatik: Session Facts Question (Session) Session Facts Fact Facts ɛ Fact! STRING Question -? STRING würde man an dieser Grammatik das alte FIRST-Set benutzen, wäre? nicht in FIRST(Session), was es aber sein sollte, da Facts auch ɛ sein kann.
17 LL(1)-Parsing mit ɛ- Regeln Also wird ɛ zum FIRST-Set hinzugefügt. Session Facts Question (Session) Session Facts Fact Facts ɛ Fact! STRING Question -? STRING die Parsing-Tabelle sieht dann so aus: FIRST(Session) FIRST(Facts) FIRST(Fact) FIRST(Question) ( ɛ!?
18 LL(1)-Parsing mit ɛ- Regeln Session Facts Question (Session) Session Facts Fact Facts ɛ Fact! STRING Question -? STRING FIRST(Session) FIRST(Facts) FIRST(Fact) FIRST(Question) (? ɛ!!?
19 LL(1)-Parsing mit ɛ- Regeln Session Facts Question (Session) Session Facts Fact Facts ɛ Fact! STRING Question -? STRING FIRST(Session) FIRST(Facts) FIRST(Fact) FIRST(Question) (?! ɛ!!?
20 LL(1)-Parsing mit ɛ- Regeln Neue Menge FOLLOW(x) Warum? Obwohl es ein Deterministischer Parser ist, ist er weit weg vom Ideal, denn er er benutzt nicht die Pars-Tabelle(siehe weiter oben) noch kontrolliert er, ob es sich um eine LL(1) Grammatik handelt, das soll kontrolliert werden während der Parser generiert wird Der Parser ist nicht effizient da er mehrere FIRST-Steps für jeden Prediction-Step errechnet > durch das ɛ können wir nicht die FIRST-Steps vorberechnen dadurch wissen wir weder wie wir eine Pars-Tabelle für eine LL(1) Grammatik mit ɛ-produktion erstellen können noch können wir bestimmen ob eine Grammatik eine LL(1) Grammatik ist.
21 LL(1)-Parsing mit ɛ- Regeln Session Facts Question (Session) Session Facts - Fact Facts ɛ Fact -! STRING Question -? STRING FOLLOW(Session) FOLLOW(Facts) FOLLOW(Fact) FOLLOW(Question) # )??! # )
22 LL(1)-Parsing mit ɛ- Regeln Session Facts Question (Session) Session Facts - Fact Facts ɛ Fact -! STRING Question -? STRING Mithilfe der FOLLOW-Menge eine Parsing-Tabelle erstellen: ( ) #!? STRING Session (Session) Session Facts Question Facts Question Facts Fact Facts ɛ Fact! STRING Question? STRING
23 Strong LL(1)-Parsing Jede Grammatik die LL(1) ist, ist auch Strong LL(1) und jede Grammatik die Strong LL(1) ist, ist auch LL(1). Jede Grammatik die nicht LL(1) ist, ist auch nicht Strong LL(1) und jede Grammatik die nicht Strong LL(1) ist, ist auch nicht LL(1). Der Unterschied zwischen LL(1) und Strong LL(1) ist dass der Strong LL(1) Parser manchmal noch ɛ-predictions macht bevor er einen Fehler entdeckt.
24 Strong LL(1)-Parsing Beispiel: S -> aab baa A -> cs ɛ a b c # S aab baa A ɛ ɛ cs
25 Strong LL(1)-Parsing S -> aab baa 1. Schritt 3. Schritt A -> cs ɛ aacabb# S# S aacabb# aab 3. Schritt 4. Schritt a acabb# a acabb# Sa Ab SaA b Bei dem 4. Schritt bemerkt der Strong LL(1) Parser den Error, der LL(1) Parser hingegen hätte den Error schon beim 3. Schritt bemerkt und somit den 4. erst gar nicht gemacht.
26 Aufbau des Referats 1. Einführung, Warum LL(1)-Parsing? 2. LL(1)-Grammatiken 1. Parsing-Tabelle statt Grammatik 2. SLL(1)-Grammatiken 3. LL(1)-Parsing 1. LL(1)-Parsing ohne ɛ-ableitungen 2. LL(1)-Parsing mit ɛ-ableitungen 1. FOLLOW-Menge 2. Strong-LL(1)-Parsing 3. Vollständiges LL(1)-Parsing 4. Vor- und Nachteile von LL(1)-Parsing, Ausblick 5. Quellenangabe
27 Vollständiges LL(1)- Parsing unsere Grammatik: S aab baa A cs ε a b c # Strong LL(1)- Parsing-Tabelle: S a A b b A a A ɛ ɛ c S Parsingschritte: a S1 a aacabb# S# acabb# Ab# S1 a acaabb# aab# acabb# S1 a A2 b#
28 Vollständiges LL(1)- Parsing Ein Full-LL(1)-Parser hätte im Schritt 3 erkannt, dass weder in FIRST(b#), in noch FIRST(cSb#) ein a gibt Der Fehler währe also gefunden, bevor eine Rechts Seite für A ausgewählt wäre.
29 Vollständiges LL(1)- Parsing Prinzip: Restwort gegeben und FIRST(Restwort) wird mit einbezogen einbezieht, anstatt FIRST(A FOLLOW(A)) zu lesen. Vorteil: Verhindert falsche Entscheidungen Nachteil: Man muss jedes mal in der Parsing-Tabelle nachgucken.
30 Vollständiges LL(1)- Parsing 1. Schritt: FIRST wird nicht auf das ganze Wort angewendet, sondern nur auf bestimmte Eingaben: 1. FIRST(#) 2. FIRST(Z#) 3. FIRST(YZ#) 4. FIRST(XYZ#)
31 Vollständiges LL(1)- Parsing Diese Schritte können von rechts nach links sehr einfach berechnet werden: FIRST(S)={a,b} FIRST(A)={c,ε} Der Parser startet mit dem Predict-Step auf S#. Jetzt brauchen wir einen Anfangspunkt für die Schritte Es bietet sich an rechts vom # zu beginnen, weil danach keine Eingabe mehr erlaubt ist.
32 Vollständiges LL(1)- Parsing Da das 1. Eingabesymbol a in der FIRST(S) Menge drin ist, gibt der Parser hier keinen Fehler aus. Es wird also die Produktion S aab ausgewählt: Wie würde dieser Schritt aussehen?
33 Vollständiges LL(1)- Parsing wir können also das a lesen
34 Vollständiges LL(1)- Parsing bei nächsten Nichtterminalen haben wir allerdings keine Übereinstimmung von Resteingabe mit der Menge von FIRST(A). Also: ERROR
35 Vollständiges LL(1)- Parsing Bis jetzt: Kaum Unterschied in der Effizienz Also: Regeln aufstellen Wir starten mit S und dem Menge {#}: [S,{#}]. Bei dem look-ahead Symbol a, [S, {#}] bekommen wir die rechte Seite: a[a,{b}]b Bei dem look-ahead Symbol b,[s,{#}] bekommen wir die rechte Seite: b[a,{a}]a.
36 Vollständiges LL(1)- Parsing Wir bekommen dann die folgenden Lookaheads: b, [A,{b}] ε c,[a,{a}] c[s,{a}] a,[a,{a}] ε Nun können wir Regeln für die S-Paare aufstellen: a,[s,{a}] a[a,{b}]b b,[a,{a}] b[a,{a}]a a,[s,{b}] a[a,{b}]b b[s,{b}] b[a,{a}]a
37 Vollständiges LL(1)- Parsing Die Parstabelle für diese Grammatik würde so aussehen: a b c # [S,{#}] a[a,{b}]b b[a,{a}]a [S,{a}] a[a,{b}]b b[a,{a}]a [S,{b}] a[a,{b}]b b[a,{a}]a [A,{a}] ε c[s,{a}] [A,{b}] ε c[s,{b}] Die Verschieden S Regeln sagen alles das gleiche aus wir können sie zusammenfassen.
38 Vollständiges LL(1)- Parsing - Fazit Der vollständige LL(1)-Parser unterscheidet sich nur durch die Parsing-Tabellen durch den Strong- LL(1)-Parser Einziger Vorteil: Einige Fehler werden früher erkannt Aber: Extrakosten zu hoch Deshalb: Meistens Strong-LL(1)-Parser
39 Vollständiges LL(1)- Parsing - Fazit Unterschiede vollständiger LL(1)-Parser und Strong- LL(1)-Parser: Der vollständige LL(1) Parser entscheidet mit der FIRST-Menge aus (Rechte Seite und T(predict)) und dem 1. terminalen aus der Eingabe Der strong LL(1) Parser entscheidet mit der FIRST- Menge von der Rechten Seite, Dem Follow von A wenn eine ε-produktion vorliegt und dem 1. terminalen aus der Eingabe. Der simple LL(1) parser entscheidet mit dem 1. T aus Rechter Seite und dem 1.T aus der Eingabe.
40 Ausblick LL(1)-Parsing hat einen Lookahead von 1 LL(k)-Parsing hat einen Lookahead von k, kann also k-schritte vorrausschauen LL-Parser leitet von links nach rechts ab LR-Parser leitet von rechts nach links ab
41 Quellenangabe Kapitel 8 aus Grune & Jacobs Parsing Techniques (mit Auszügen) Eintrag zu LL(k)-Parsing in der deutschen Wikipedia
42 Aufbau des Referats 1. Einführung, Warum LL(1)-Parsing? 2. LL(1)-Grammatiken 1. Parsing-Tabelle statt Grammatik 2. SLL(1)-Grammatiken 3. LL(1)-Parsing 1. LL(1)-Parsing ohne ɛ-ableitungen 2. LL(1)-Parsing mit ɛ-ableitungen 1. FOLLOW-Menge 2. Strong-LL(1)-Parsing 3. Vollständiges LL(1)-Parsing 4. Vor- und Nachteile von LL(1)-Parsing, Ausblick 5. Quellenangabe
LR-Parsing. Präsentation vom 19. Dez Adriana Kosior, Sandra Pyka & Michael Weidauer. Automatische Syntaxanalyse (Parsing) Wintersemester 12/13
LR-Parsing Präsentation vom 19. Dez. 2012 Adriana Kosior, Sandra Pyka & Michael Weidauer Automatische Syntaxanalyse (Parsing) Wintersemester 12/13 Inhalte Einleitung LR(0) Parser LR(1) Parser Fazit Literatur
MehrVU Software Paradigmen / SS 2014
VU Software Paradigmen 716.060 / SS 2014 Thorsten Ruprechter ruprechter@tugraz.at Institute for Software Technology 1 Organisatorisches Ausgabe: 25.03. (heute) Fragestunde: 22.04. Abgabe: 29.04 (ausgedruckt)
MehrKonstruieren der SLR Parsing Tabelle
Konstruieren der SLR Parsing Tabelle Kontextfreie Grammatik (CFG) Notation 1. Diese Symbole sind Terminals: (a) Kleinbuchstaben vom Anfang des Alphabets wie a, b, c. (b) Operator Symbole wie +,, usw. (c)
MehrSoftwareparadigmen VU / SS 2018
Softwareparadigmen VU 716.060 / SS 2018 Jannik Hildebrandt swp@ist.tugraz.at NG: tu-graz.lv.swp Institute for Software Technology 1 Organisatorisches Ausgabe: 21.03. Fragestunde: 11.04. Abgabe: 18.04.,
MehrLL(k)-Analyse. (y) folgt α = β. (x) = start k. (=l> ist ein Linksableitungsschritt)
LL(k)-Analyse Eine KFG G = (N,T,P,S) heisst LL(k)-Grammatik, wenn für alle w,x,y T*, α,β,σ (N U T)* und A N mit 1. S =l>* waσ =l> wασ =l>* wx, 2. S =l>* waσ = > wβσ =l>* wy, 3. start k (x) = start k (y)
Mehr2.6 Deterministisches Top-Down-Parsen
48 2.6 Deterministisches Top-Down-Parsen Als nächstes wollen wir uns mit Methoden zur syntaktischen Analyse befassen. Der lexikale canner eines Compilers liest die Eingabe Zeichen für Zeichen und erzeugt
MehrFachseminar Compilerbau
Fachseminar Compilerbau WS 08/09 Matthias Schiller Syntaktische Analyse 1. Prinzip der Top-Down-Analyse 2. LL(1)-Grammatiken Modell-Vorstellung Der Scanner liefert als Ergebnis der lexikalischen Analyse,
MehrEinführung - Parser. Was ist ein Parser?
Gliederung 1. Einleitung 1.1 Was ist ein Parser? 1.2 Was ist ein tabellengesteuerter TD-Parser? 1. Tabellengesteuerter TD-Parser 2.1 Funktionsweise 2.2 Darstellung als Pseudocode 2.3 Konstruktion von prädiktiven
MehrDie Vorausschau-Tabelle:
A 0 i 0 A 1 i 1 β 1 A 2 i 2 β 2 B i β γ Die Vorausschau-Tabelle: Wir setzen M[ [A α Bβ, L], w] = i genau dann wenn (B, i) die Regel B γ ist und: w First k (γ) First k (β) L 440 ([A 0 α 1 A 1 β 1, L 1 ],
MehrVU Software Paradigmen / SS 2014
VU Software Paradigmen 716.060 / SS 2014 Ralph Ankele ralph.ankele@tugraz.at Termine Ausgabe: 19. März (heute) Fragestunde: 24. März Abgabe: 09. April(bis 16:00 Uhr) Einsichtsnahme: xx. April (16:00 Uhr)
MehrIdee: Wir definieren: 2.4 Topdown Parsing. uaβ mit
2.4 Topdown Parsing Idee: Benutze den Item-Kellerautomaten. Benutze die nächsten k Zeichen, um die Regeln für die Expansionen zu bestimmen ;-) Eine Grammatik heißt LL(k), falls dies immer eindeutig möglich
MehrDeterministischer Kellerautomat (DPDA)
Deterministische Kellerautomaten Deterministischer Kellerautomat (DPDA) Definition Ein Septupel M = (Σ,Γ, Z,δ, z 0,#, F) heißt deterministischer Kellerautomat (kurz DPDA), falls gilt: 1 M = (Σ,Γ, Z,δ,
MehrLR(1) Itemmengenkonstruktion
LR(1) Itemmengenkonstruktion Grammatik: S A$ xb A aab B B x Sprache: {xb} {anxbn n 0} nicht LL(1) x FIRST(B) x FIRST(A) also: FIRST/FIRST Konflikt bei S A$ xb nicht SLR(1) (Abb. 2.96) betrachte Item B
MehrAutomatentheorie und formale Sprachen
Automatentheorie und formale Sprachen VL 8 Chomsky-Grammatiken Kathrin Hoffmann 23. Mai 2012 Hoffmann (HAW Hamburg) Automatentheorie und formale Sprachen 23.5. 2012 250 Wortproblem Wortproblem ist das
MehrGrundlagen der Programmierung 2 (Comp-D)
Grundlagen der Programmierung 2 (Comp-D) Prof. Dr. Manfred Schmidt-Schauÿ Künstliche Intelligenz und Softwaretechnologie 31. Mai 2007 Operationen auf Grammatiken Ziel: Normalisierungen, Vereinfachungen
MehrLR Parsing. Prinzip: Entwicklung des Parsebaums bottom up, von links nach rechts (Abb. 2.52)
LR Parsing Prinzip: Entwicklung des Parsebaums bottom up, von links nach rechts (Abb. 2.52) Parserkonfiguration: s 0 X 1 s 1... X m s m, t i t i 1... t n 1.Stack: enthält abwechselnd Zustand sk und Grammatiksymbol
MehrVon der Grammatik zum AST
Von der Grammatik zum AST Welche Eigenschaften soll ein Parser haben? Wann ist eine Grammatik eindeutig? Wie sollte eine Grammatik aussehen? Theoretischer Hin tergrund: FIRST, FOLLOW Einschränkungen von
MehrOperationen auf Grammatiken
Operationen auf Grammatiken Ziel: Normalisierungen, Vereinfachungen, Elimination bestimmter Konstrukte Erzeugen eines Parsers Transformation G 1 G 2 mit L(G 1 ) = L(G 2 ) I.a. Parsebaum 1 (w) Parsebaum
MehrFormale Sprachen, Automaten, Compiler
Formale Sprachen, Automaten, Compiler Berufsakademie Lörrach, TIT06-3. Semester Übung 1 -> LÖSUNGSVORSCHLAG ÜA1.1. Die "normalen" Dezimalziffern, also Σ = { 0, 1,..., 9, ist sicher ein Alphabet, aber auch
MehrSyntaxanalyse Ausgangspunkt und Ziel
Syntaxanalyse Ausgangspunkt und Ziel Ausgangspunkt: Kontextfreie Grammatik Im Normalfall BNF, manchmal EBNF BNF = Backus-Naur-Form = Produktionsregeln EBNF = erweiterte BNF (+ reguläre Ausdrücke) Prüfung
MehrVU SWP - Syntax. Bernhard Aichernig und Alexander Felfernig Institut für Softwaretechnologie
VU SWP - Syntax Bernhard Aichernig und Alexander Felfernig Institut für Softwaretechnologie {aichernig,felfernig}@ist.tugraz.at Institute for Software Technology Produktionen Inhalt welche Sätze akzeptiert?
MehrFormale Sprachen Jörg Roth Formale Sprachen
Formale Sprachen Jörg Roth 196 3 Formale Sprachen Wir haben uns bisher nur mit einem Typ formaler Sprachen besonders intensiv beschäftigt den regulären Sprachen. Wir haben aber auch erkannt, dass reguläre
MehrShift Reduce Parser (Bottom up Parser) Historie Grundbegriffe Tabellengesteuerter LR(1) Parser Konstruktion der Elementmengen Tabellenkonstruktion
Shift Reduce Parser (Bottom up Parser) Historie Grundbegriffe Tabellengesteuerter LR(1) Parser Konstruktion der Elementmengen Tabellenkonstruktion Historie Die ersten Compiler entstanden in den 50ern.
MehrEarley Parser. Flutura Mestani
Earley Parser Flutura Mestani Informatik Seminar Algorithmen zu kontextfreien Grammatiken Wintersemester 2015/2016 Prof. Martin Hofmann, Dr. Hans Leiß Flutura Mestani 25.11.2015 Seminar Algorithmen zu
MehrErkennung der kontextfreien Grammatiken mittels Boolescher Matrixmultiplikation
Erkennung der kontextfreien Grammatiken mittels Boolescher Matrixmultiplikation Valiant-Erkenner Referent: Fedor Uvarov eminar Algorithmen zu kontextfreien Grammatiken Dozenten: Prof Dr. Hofmann, Dr. Leiß
MehrEinführung in die Computerlinguistik Chart-Parsing
Einführung in die Computerlinguistik Chart-Parsing Dozentin: Wiebke sen 21.12.2009 Wiebke sen Einführung CL (Wie 09/10) 1 P = calls calls Wiebke sen Einführung CL (Wie 09/10) 2 P = calls calls Wiebke sen
MehrVU Software Paradigmen / SS 2012
VU Software Paradigmen 716.060 / SS 2012 Sandra Fruhmann sandra.fruhmann@student.tugraz.at Inhalt Grammatiken Chomsky Sprachhierarchie Parse Trees Recursive Descent Parser First-, Follow-Mengen 2 Compiler
MehrKlausur zur Vorlesung Formale Sprachen und Automaten TIT03G2 mit Lösungsvorschlägen
Klausur zur Vorlesung Formale Sprachen und Automaten TIT03G2 mit Lösungsvorschlägen Name: Matr.-Nr.: Vorname: Aufgabe 1 2 3 4 5 6 7 max. Punkte 6 7 10 6 8 7 9 err. Punkte Gesamtpunktzahl: Note: Aufgabe
MehrLR-Parser, Shift-Reduce-Verfahren
LR-Parser, Shift-Reduce-Verfahren Bottom-Up-Syntaxanalyse LR-Parser L: Eingabe von links nach rechts; R: Rechtsherleitung Shift-Reduce-Verfahren Beachte: Kein Backtracking nicht auf jede Grammatik anwendbar
Mehr6 Kontextfreie Grammatiken
6 Kontextfreie Grammatiken Reguläre Grammatiken und damit auch reguläre Ausdrücke bzw. endliche Automaten haben bezüglich ihres Sprachumfangs Grenzen. Diese Grenzen resultieren aus den inschränkungen,
MehrGrammatik Prüfung möglich, ob eine Zeichenfolge zur Sprache gehört oder nicht
Zusammenhang: Formale Sprache Grammatik Formale Sprache kann durch Grammatik beschrieben werden. Zur Sprache L = L(G) gehören nur diejenigen Kombinationen der Zeichen des Eingabealphabets, die durch die
Mehr5. Die syntaktische Analyse
mittels sog. Parser Input: Folge von Token (Symbolen), geliefert vom Scanner/Sieber Aufgabe: Teilfolgen zusammenfassen zu größeren syntaktischen Einheiten Ausdrücke, Anweisungen(-folgen), Deklarationen,
MehrAutomaten und formale Sprachen Notizen zu den Folien
13 Kellerautomaten Automaten und formale Sprachen Notizen zu den Folien Warum ein Automatenmodell für kontextfreien Sprachen (zu Folie 233) Manche Konstruktionen und Verfahren lassen sich besser mit Hilfe
MehrTheorie der Informatik. Theorie der Informatik. 6.1 Einführung. 6.2 Alphabete und formale Sprachen. 6.3 Grammatiken. 6.4 Chomsky-Hierarchie
Theorie der Informatik 17. März 2014 6. Formale Sprachen und Grammatiken Theorie der Informatik 6. Formale Sprachen und Grammatiken Malte Helmert Gabriele Röger Universität Basel 17. März 2014 6.1 Einführung
MehrAutomatisches Verstehen gesprochener Sprache
Automatisches Verstehen gesprochener Sprache 6. Syntaxanalyse Martin Hacker Bernd Ludwig Günther Görz Professur für Künstliche Intelligenz Department Informatik Friedrich-Alexander-Universität Erlangen-Nürnberg
MehrShift Reduce Parser (Bottom up Parser) Historie Grundbegriffe Tabellengesteuerter LR(1) Parser Konstruktion der Elementmengen Tabellenkonstruktion
Shift Reduce Parser (Bottom up Parser) Historie Grundbegriffe Tabellengesteuerter LR(1) Parser Konstruktion der Elementmengen Tabellenkonstruktion Historie Die ersten Compiler entstanden in den 50ern.
MehrImplementierung eines LR-Parser-Generators mit syntaktischen Prädikaten
Implementierung eines LR-Parser-Generators mit syntaktischen Prädikaten Aufgabenbeschreibung 29. Juli 2011 1 Einleitung und Motivation Der Parser-Generator Antlr [Par07] bietet die Möglichkeit, die Auswahl
MehrGrundlagen der Theoretischen Informatik / Einführung in die Theoretische Informatik I
Vorlesung Grundlagen der Theoretischen Informatik / Einführung in die Theoretische Informatik I Bernhard Beckert Institut für Informatik Sommersemester 2007 B. Beckert Grundlagen d. Theoretischen Informatik:
MehrReguläre Ausdrücke. Michael Jäger. 4. April 2017
Reguläre Ausdrücke Michael Jäger 4. April 2017 Zeichenketten und Sprachen Ein Alphabet ist eine endliche Menge von Symbolen. Beispiele: 1. Σ 1 = {0, 1} 2. Σ 2 = {a, b, c, d, e, f, g, h, i, j, k, l, m,
MehrÜbung zur Vorlesung Grundlagen der theoretischen Informatik. Aufgabenblatt 2 Lösungen. Wiederholung: von einer Grammatik erzeugte Sprache
Prof. Dr. Viorica Sofronie-Stokkermans Universität Koblenz-Landau Fachbereich 4: Informatik Dennis Peuter 27. April 2017 Übung zur Vorlesung Grundlagen der theoretischen Informatik Aufgabenblatt 2 Lösungen
MehrEinführung in die Computerlinguistik
Einführung in die Computerlinguistik Kontextfreie Sprachen und Pushdown-Automaten Dozentin: Wiebke Petersen WS 2004/2005 Wiebke Petersen Formale Komplexität natürlicher Sprachen WS 03/04 Wiederholung c
Mehr1 Grammar Engineering. 2 Abstrakte Syntax als abstrakte Algebra. 3 LL(1)-Parser. 4 LR Parser. 5 Fehlerbehandlung. 6 Earley Parser
1 Grammar Engineering 2 Abstrakte Syntax als abstrakte Algebra 3 LL(1)-Parser 4 LR Parser 5 Fehlerbehandlung 6 Earley Parser Zusatzfolien Syntaktische Analyse Wintersemester 2008/09 1 / 44 Grammar Engineering
MehrSprachanalyse. Fachseminar WS 08/09 Dozent: Prof. Dr. Helmut Weber Referentin: Nadia Douiri
Sprachanalyse WS 08/09 Dozent: Prof. Dr. Helmut Weber Referentin: Inhalt 1. Formale Sprachen 2. Chomsky-Hierarchie 2 FORMALE SPRACHE 1. WAS IST EINE SPRACHE? 2. WIE BESCHREIBT MAN EINE SPRACHE? 3. WAS
MehrFinite-State Technology
Finite-State Technology Teil III: Automaten 1 Wiederholung Formale Grammatiken sind entweder axiomatische Systeme mit Ableitungsregeln oder Automaten. Beide beschreiben formale Sprachen. Formale Sprachen
MehrSoftware Entwicklung 1. Fallstudie: Arithmetische Ausdrücke. Rekursive Klassen. Überblick. Annette Bieniusa / Arnd Poetzsch-Heffter
Software Entwicklung 1 Annette Bieniusa / Arnd Poetzsch-Heffter Fallstudie: Arithmetische Ausdrücke AG Softech FB Informatik TU Kaiserslautern Bieniusa/Poetzsch-Heffter Software Entwicklung 1 2/ 33 Überblick
MehrNachlieferung Übung 4+7: Minimierung von DFAs, LR-Grammatiken
Nachlieferung Übung 4+7: Minimierung von DFAs, LR-Grammatiken Theoretische Informatik Sommersemester 2015 Markus Schlaffer 3. Juli 2015 1/7 Äquivalenzen Definition (Äquivalente Worte) Jede Sprache L Σ
MehrGrundlagen der Programmierung 2 (Comp-C)
Grundlagen der Programmierung 2 (Comp-C) Prof. Dr. Manfred Schmidt-Schauß Künstliche Intelligenz und Softwaretechnologie 25. Mai 2011 Syntaktische Analyse (Parsen) Gegeben: eine kontextfreie Grammatik
MehrEarley Parsing. Parsing - WS 2012 / 2013 Lisa Orszullok & Anika Stallmann
Earley Parsing Parsing - WS 2012 / 2013 Lisa Orszullok & Anika Stallmann 12.12.2012 Agenda Basics Komponenten Earley Parsing - Recognizer Earley Parsing - Parser Vor- und Nachteile Parsing WS 2012/2013
MehrCompilerbau Syntaxanalyse 68. LR(1)-Syntaxanalyse
Compilerbau Syntaxanalyse 68 LR(1)-Syntaxanalyse Bei der LL(1)-Syntaxanalyse wird allein aufgrund des nächsten Tokens die zu verwendende Produktion ermittelt. Bei der LR(1)-Syntaxanalyse braucht diese
MehrSoftware Entwicklung 1
Software Entwicklung 1 Annette Bieniusa / Arnd Poetzsch-Heffter AG Softech FB Informatik TU Kaiserslautern Fallstudie: Arithmetische Ausdrücke Bieniusa/Poetzsch-Heffter Software Entwicklung 1 2/ 33 Überblick
MehrÜbersicht. (A) Kontextfreie Sprachen (B) Syntaxanalyse (Parsing) (C) Grenzen der Kontextfreiheit
Übersicht (A) Kontextfreie Sprachen (B) Syntaxanalyse (Parsing) (C) Grenzen der Kontextfreiheit (B) Syntaxanalyse 1. Definition Parsing 2. Einfache Parsestrategien: Top-down Bottom-Up Probleme beim Parsen
MehrÜbungsaufgaben zu Formalen Sprachen und Automaten
Universität Freiburg PD Dr. A. Jakoby Sommer 27 Übungen zum Repetitorium Informatik III Übungsaufgaben zu Formalen Sprachen und Automaten. Untersuchen Sie das folgende Spiel: A B x x 2 x 3 C D Eine Murmel
MehrSei Σ ein endliches Alphabet. Eine Sprache L Σ ist genau dann regulär, wenn sie von einem regulären Ausdruck beschrieben werden kann.
Der Satz von Kleene Wir haben somit Folgendes bewiesen: Der Satz von Kleene Sei Σ ein endliches Alphabet. Eine Sprache L Σ ist genau dann regulär, wenn sie von einem regulären Ausdruck beschrieben werden
MehrPraktikum BKSPP: Blatt 2
Praktikum BKSPP: Blatt 2 PD Dr. David Sabel WS 2014/15 Zeichenbasierte Komprimierung Stringersatzverfahren Codebäume Huffman-Kodierung Zeichenbasierte Komprimierung mit Codebäumen Idee: Kodiere jedes Zeichen
MehrKapitel IV Formale Sprachen und Grammatiken
Kapitel IV Formale Sprachen und Grammatiken 1. Begriffe und Notationen Sei Σ ein (endliches) Alphabet. Dann Definition 42 1 ist Σ das Monoid über Σ, d.h. die Menge aller endlichen Wörter über Σ; 2 ist
MehrCompilerbau. Bachelor-Programm. im SoSe Prof. Dr. Joachim Fischer Dr. Klaus Ahrens Dipl.-Inf. Ingmar Eveslage.
Bachelor-Programm Compilerbau im SoSe 2014 Prof. Dr. Joachim Fischer Dr. Klaus Ahrens Dipl.-Inf. Ingmar Eveslage fischer@informatik.hu-berlin.de J.Fischer 8.1 Position Kapitel 1 Compilationsprozess Teil
MehrKellerautomat (1/4) Kellerautomat (2/4) Kellerautomat (3/4) Kellerautomat (4/4)
Kellerautomat (1/4) Kellerautomat (2/4) Kontextfreie Grammatiken können von Kellerautomaten (Push Down Automata, PDA) erkannt werden PDAs sind eine Erweiterung der endlichen Automaten um ein einfaches
MehrGrundlagen der Programmierung 2 (Comp-C)
Grundlagen der Programmierung 2 (Comp-C) Prof. Dr. Manfred Schmidt-Schauÿ Künstliche Intelligenz und Softwaretechnologie 25. Juni 2008 Syntaktische Analyse (Parsen) Gegeben: eine kontextfreie Grammatik
MehrInkrementelle Syntax
Inkrementelle Syntax CFG und inkrementelles Parsing Timm Lichte HHU Düsseldorf, Germany 30.10.2013 SFB 991 1 / 24 Aus der letzten Sitzung inkrementelle Syntax Mechanismen bzw. Komponenten eines Grammatikformalismus,
MehrBottom-up-Syntaxanalyse
2.2.2.2 Bottom-up-Syntaxanalyse Lernziele: Einführung in die bu-syntaxanalyse LR(k)-Analyseverfahren Auflösung von Konflikten bei der Parsergenerierung Zusammenhang: KFGs und Kellerautomaten Einführung:
MehrTheoretische Grundlagen der Informatik
Theoretische Grundlagen der Informatik Vorlesung am 15.01.2015 INSTITUT FÜR THEORETISCHE 0 KIT 15.01.2015 Universität des Dorothea Landes Baden-Württemberg Wagner - Theoretische und Grundlagen der Informatik
MehrInhalt Kapitel 11: Formale Syntax und Semantik
Inhalt Kapitel 11: Formale Syntax und Semantik 1 Abstrakte und konkrete Syntax 2 Lexikalische Analyse 3 Formale Sprachen, Grammatiken, BNF 4 Syntaxanalyse konkret 266 Abstrakte und konkrete Syntax Abstrakte
MehrEin Fragment von Pascal
Ein Fragment von Pascal Wir beschreiben einen (allerdings sehr kleinen) Ausschnitt von Pascal durch eine kontextfreie Grammatik. Wir benutzen das Alphabet Σ = {a,..., z, ;, :=, begin, end, while, do} und
MehrKapitel 5: Syntax-Analyse
Kapitel 5: Syntax-Analyse Aufgabe Die Token-Folge wird strukturiert in Anweisungen, Ausdrücke etc., um die Semantische Analyse und Code-Erzeugung zu ermöglichen Themen Kontextfreie Grammatik Äquivalente
MehrGrundlagen der Programmierung
Grundlagen der Programmierung Compiler: Parser (5C) Prof. Dr Manfred Schmidt-Schauß Sommersemester 2014 Syntaktische Analyse (Parsen) Gegeben: eine kontextfreie Grammatik G und ein String w. Fragen: Vorgehen:
MehrDisMod-Repetitorium Tag 4
DisMod-Repetitorium Tag 4 Endliche Automaten, Reguläre Sprachen und Kontextfreie Grammatiken 22. März 2018 1 Endliche Automaten Definition DFA Auswertungen Äquivalenzrelationen Verschmelzungsrelation und
MehrSyntaktische Analyse (Parsen) Grundlagen der Programmierung. Syntaktische Analyse eines Programms. Syntaktische Analyse bzgl einer CFG
Syntaktische Analyse (Parsen) Grundlagen der Programmierung Compiler: Parser (5C) Gegeben: eine kontextfreie Grammatik G und ein String w. Prof. Dr. Manfred Schmidt-Schauß Sommersemester 2015 Fragen: Vorgehen:
MehrGrundlagen Theoretischer Informatik 2 WiSe 2011/12 in Trier. Henning Fernau Universität Trier
Grundlagen Theoretischer Informatik 2 WiSe 2011/12 in Trier Henning Fernau Universität Trier fernau@uni-trier.de 1 Grundlagen Theoretischer Informatik 2 Gesamtübersicht Organisatorisches; Einführung Ersetzungsverfahren:
MehrKomplexitätsklassen. (Lauf-)Zeit-Klassen. (Lauf-)Zeit-Klassen. Charakteristische Problemgrößen beim Parsing
Komplexitätsklassen Charakteristische Problemgrößen beim Parsing O(1) konstant O(log n) logarithmisch O(n) linear O(n k ) polynomial (k [2,4]) O(n k ) polynomial (k > 4) O(k n ) exponentiell n ist die
MehrKlausur zur Vorlesung Grundbegriffe der Informatik 31. August 2009 mit Lösunsgsvorschlägen
Klausur zur Vorlesung Grundbegriffe der Informatik 31. August 2009 mit Lösunsgsvorschlägen Klausurnummer Vorname: Aufgabe 1 2 3 4 5 6 7 max. Punkte 4 4 6 8 6 8 8 tats. Punkte Gesamtpunktzahl: Note: Aufgabe
Mehrkontextfreie Grammatiken Theoretische Informatik kontextfreie Grammatiken kontextfreie Grammatiken Rainer Schrader 14. Juli 2009 Gliederung
Theoretische Informatik Rainer Schrader Zentrum für Angewandte Informatik Köln 14. Juli 2009 1 / 40 2 / 40 Beispiele: Aus den bisher gemachten Überlegungen ergibt sich: aus der Chomsky-Hierarchie bleiben
Mehr5. Syntaxanalyse und der Parser-Generator yacc. 5.5 Aufsteigende Analyse. Absteigende Analyse versus aufsteigende Analyse. 5.5 Aufsteigende Analyse
5. Syntaxanalyse und der Parser-Generator yacc 5.1 Einleitung 5.2 Kontextfreie Grammatiken 5.3 Grundlagen von yacc 5.4 Absteigende Analyse Übersetzergenerierung Syntaxanalyse und yacc (2) Jan Bredereke,
MehrCompB Zusammenfassung
Compilerbau CompB Zusammenfassung Stand: 2013-09-08 https://github.com/hsr-stud/compb/ Inhaltsverzeichnis 1 Lexikalische Analyse 3 1.1 Aufgaben eines Lexers................................... 3 1.2 Probleme,
MehrVorlesung Programmieren
Vorlesung Programmieren 14 Parsen, Suchen und Sortieren 19./26.01.2015 Prof. Dr. Ralf H. Reussner Version 1.0 LEHRSTUHL FÜR SOFTWARE-DESIGN UND QUALITÄT (SDQ) INSTITUT FÜR PROGRAMMSTRUKTUREN UND DATENORGANISATION
Mehr1. Übungsblatt 6.0 VU Theoretische Informatik und Logik
. Übungsblatt 6. VU Theoretische Informatik und Logik 25. September 23 Aufgabe Sind folgende Aussagen korrekt? Begründen Sie jeweils Ihre Antwort. a) Für jede Sprache L gilt: L < L (wobei A die Anzahl
MehrTheorie der Informatik
Theorie der Informatik 6. Formale Sprachen und Grammatiken Malte Helmert Gabriele Röger Universität Basel 17. März 2014 Einführung Beispiel: Aussagenlogische Formeln Aus dem Logikteil: Definition (Syntax
MehrDefinition 78 Ein NPDA = PDA (= Nichtdeterministischer Pushdown-Automat) besteht aus:
4.7 Kellerautomaten In der Literatur findet man häufig auch die Bezeichnungen Stack-Automat oder Pushdown-Automat. Kellerautomaten sind, wenn nichts anderes gesagt wird, nichtdeterministisch. Definition
MehrTheoretische Grundlagen der Informatik. Vorlesung am 8. Januar INSTITUT FÜR THEORETISCHE INFORMATIK
Theoretische Grundlagen der Informatik 0 08.01.2019 Torsten Ueckerdt - Theoretische Grundlagen der Informatik KIT Die Forschungsuniversität in der Helmholtz-Gemeinschaft www.kit.edu Letzte Vorlesung Eine
MehrInformatik IC2. Balazs Simon
Informatik IC2 Balazs Simon Inhaltsverzeichnis 1 Contextfreie Sprachen 3 1.1 Ableitungsbaum..................................... 3 1.2 Schönheit........................................ 4 1.3 Normalformen......................................
MehrGrundbegriffe der Informatik
Grundbegriffe der Informatik Einheit 6: formale Sprachen Thomas Worsch Karlsruher Institut für Technologie, Fakultät für Informatik Wintersemester 2009/2010 1/18 Überblick Formale Sprachen Formale Sprachen
MehrAbschnitt 5. Grammatiken
Abschnitt 5 Sven Büchel Computerlinguistik I: Übung 148 / 163 Definition Formale Grammatik Eine formale Grammatik G ist eine 4-Tupel G =(N,T,P,S) mit einem Alphabet von Nicht-Terminalsymbolen N einem Alphabet
MehrTutoraufgabe 1 (ɛ-produktionen):
Prof aa Dr J Giesl Formale Systeme, Automaten, Prozesse SS 2010 M Brockschmidt, F Emmes, C Fuhs, C Otto, T Ströder Hinweise: Die Hausaufgaben sollen in Gruppen von je 2 Studierenden aus dem gleichen Tutorium
MehrAlphabet, formale Sprache
n Alphabet Alphabet, formale Sprache l nichtleere endliche Menge von Zeichen ( Buchstaben, Symbole) n Wort über einem Alphabet l endliche Folge von Buchstaben, die auch leer sein kann ( ε leere Wort) l
MehrFormale Grundlagen der Wirtschaftsinformatik
Formale Grundlagen der Wirtschaftsinformatik Nikolaj Popov Research Institute for Symbolic Computation popov@risc.uni-linz.ac.at Sprachen und Grammatiken Teil II Sprache Definition: Ein Alphabet Σ ist
Mehr10 Kellerautomaten. Kellerautomaten
10 Kellerautomaten Bisher hatten wir kontextfreie Sprachen nur mit Hilfe von Grammatiken charakterisiert. Wir haben gesehen, dass endliche Automaten nicht in der Lage sind, alle kontextfreien Sprachen
MehrDeterministische PDAs
Deterministische PDAs Erinnerung: Ein PDA ist deterministisch, wenn q Q, a Σ, Z Γ: δ(q,a,z) + δ(q,ε,z) 1. Definition: Eine Sprache heißt deterministisch kontextfrei, wenn es für sie einen DPDA gibt. Ziel:
MehrKontextfreie Grammatiken. Kontextfreie Grammatiken 1 / 48
Kontextfreie Grammatiken Kontextfreie Grammatiken 1 / 48 Was kann man mit kontextfreien Grammatiken anfangen? Kontextfreie Grammatiken, kurz: werden zur Modellierung von KFGs rekursiv definierten baumartigen
MehrÜbungsblatt 6. Vorlesung Theoretische Grundlagen der Informatik im WS 18/19
Institut für Theoretische Informatik Lehrstuhl Prof. Dr. D. Wagner Übungsblatt 6 Vorlesung Theoretische Grundlagen der Informatik im WS 18/19 Ausgabe 8. Januar 2019 Abgabe 22. Januar 2019, 11:00 Uhr (im
MehrKontextfreie Grammatiken
Kontextfreie Grammatiken Bisher haben wir verschiedene Automatenmodelle kennengelernt. Diesen Automaten können Wörter vorgelegt werden, die von den Automaten gelesen und dann akzeptiert oder abgelehnt
MehrCompilerbau. Bachelor-Programm. im SoSe Prof. Dr. Joachim Fischer Dr. Klaus Ahrens Dr. Andreas Kunert Dipl.-Inf.
Bachelor-Programm Compilerbau im SoSe 2014 Prof. Dr. Joachim Fischer Dr. Klaus Ahrens Dr. Andreas Kunert Dipl.-Inf. Ingmar Eveslage fischer@informatik.hu-berlin.de J.Fischer 7.1 4.3 LL-Parser Prinzip der
Mehr1 Eliminieren von ɛ-übergängen
1 Eliminieren von ɛ-übergängen 1.1 Beispiel 1 (a) Ausgangspunkt: Zwei ɛ-übergänge (b) Entfernung eines ɛ-übergangs, Reduktion (c) Entfernen eines ɛ-übergangs, Reduktion Abbildung 1: Elimination von ɛ-übergängen,
MehrÜbersicht. 3 3 Kontextfreie Sprachen
Formale Systeme, Automaten, Prozesse Übersicht 3 3.1 Kontextfreie Sprachen und Grammatiken 3.2 Ableitungsbäume 3.3 Die pre -Operation 3.4 Entscheidungsprobleme für CFGs 3.5 Normalformen für CFGs 3.6 Chomsky-Normalform
MehrGrundbegriffe. Grammatiken
Grammatiken Grammatiken in der Informatik sind ähnlich wie Grammatiken für natürliche Sprachen ein Mittel, um alle syntaktisch korrekten Sätze (hier: Wörter) einer Sprache zu erzeugen. Beispiel: Eine vereinfachte
MehrÜbung zu Grundlagen des Übersetzerbaus
Übung zu Grundlagen des Übersetzerbaus Mehr zu Parsern und LL(k)-Grammatiken Lehrstuhl für Informatik 2 (Programmiersysteme) Probleme bei LR-Parsern Für manche Grammatiken ist es nicht möglich, LR-Parser
Mehr2. Gegeben sei folgender nichtdeterministischer endlicher Automat mit ɛ-übergängen:
Probeklausur Automatentheorie & Formale Sprachen WiSe 2012/13, Wiebke Petersen Name: Matrikelnummer: Aufgabe A: Typ3-Sprachen 1. Konstruieren Sie einen endlichen Automaten, der die Sprache aller Wörter
MehrGrammatiken. Eine Grammatik G mit Alphabet Σ besteht aus: Variablen V. Startsymbol S V. Kurzschreibweise G = (V, Σ, P, S)
Grammatiken Eine Grammatik G mit Alphabet Σ besteht aus: Variablen V Startsymbol S V Produktionen P ( (V Σ) \ Σ ) (V Σ) Kurzschreibweise G = (V, Σ, P, S) Schreibweise für Produktion (α, β) P: α β 67 /
MehrCompilerbau für die Common Language Run-Time
Compilerbau für die Common Language Run-Time Syntaxanalyse 2 Grammatikgetriebener Compilerbau Grammatik Teil der Sprachdefinition Grammatik liefert Liste der Tokenklassen Grammatik hilft bei Strukturierung
Mehr