Idee: Wir definieren: 2.4 Topdown Parsing. uaβ mit
|
|
- Simon Morgenstern
- vor 6 Jahren
- Abrufe
Transkript
1 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 ist. Wir definieren: Eine reduzierte Grammatik heißt dann LL(k), falls für je zwei verschiedene Regeln A α, A α P und jedeableitung S L uaβ mit u T gilt: First k (α β) First k (α β) = 430
2 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 ist. Wir definieren: Eine reduzierte Grammatik heißt dann LL(k), falls für je zwei verschiedene Regeln A α, A α P undjedeableitung S L uaβ mit u T gilt: First k (α β) First k (α β) = 431
3 Beispiel 1: S if ( E ) S else S while ( E ) S E; E id ist LL(1),da First k (E) = {id} :-) 432
4 Beispiel 2: S if ( E ) S else S if ( E ) S while ( E ) S E; E id...ist nicht LL(k)fürjedes k >
5 Struktur des LL(k)-Parsers: δ Ausgabe M DerParsersieht einfensterderlänge k dereingabe; er realisiert im Wesentlichen den Item-Kellerautomaten; die Tabelle M[q, w] enthält die jeweils zuwählende Regel :-) 434
6 ...imbeispiel: S if ( E ) S else S 0 while ( E ) S 1 E; 2 E id 0 Zustände: Items Tabelle: if while id [ S...] [ E...] 0 435
7 Im Allgemeinen... ist die Menge der möglichen nächsten k Zeichen gegeben durch: First k (α β) = First k (α) First k (β) wobei: (1) α die rechte Seite der passenden Regel; (2) β ein möglicher rechter Kontext von A ist :-) First k (β) müssenwirdynamischakkumulieren. == Wir erweitern Items um Vorausschau-Mengen
8 EinerweitertesItemisteinPaar: [A α γ, L] (A α γ P, L T k ) Die Menge L benutzenwir,um First k (β) fürdenrechtenkontext β von A zu repräsentieren :-) Konstruktion: Zustände: Anfangszustand: Endzustand: erweiterte Items [S S, {ǫ}] [S S, {ǫ}] Übergänge: Expansionen: ([A α Bβ, L],ǫ, [A α Bβ, L] [B γ, First k (β) L ]) Shifts: ([A α aβ, L],a, [A αa β, L]) für A αaβ P 437
9 EinerweitertesItemisteinPaar: [A α γ, L] (A α γ P, L T k ) Die Menge L benutzenwir,um First k (β) fürdenrechtenkontext β von A zu repräsentieren :-) Konstruktion: Zustände: Anfangszustand: Endzustand: erweiterte Items [S S, {ǫ}] [S S, {ǫ}] Übergänge: Expansionen: ([A α Bβ, L],ǫ, [A α Bβ, L] [B γ, First k (β) L ]) Shifts: ([A α aβ, L],a, [A αa β, L]) für A αaβ P 438
10 EinerweitertesItemisteinPaar: [A α γ, L] (A α γ P, L T k ) Die Menge L benutzenwir,um First k (β) fürdenrechtenkontext β von A zu repräsentieren :-) Konstruktion: Zustände: Anfangszustand: Endzustand: erweiterte Items [S S, {ǫ}] [S S, {ǫ}] Übergänge: Expansionen: ([A α Bβ, L],ǫ, [A α Bβ, L] [B γ, First k (β) L ]) für A αbβ, B γ P Shifts: ([A α aβ, L],a, [A αa β, L]) für A αaβ P Reduce: ([A α Bβ, L] [B γ, L ],ǫ, [A αb β, L]) für A αbβ, B γ P 439
11 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 genaudannwenn (B,i) dieregel B γ istund: w First k (γ) First k (β) L 440
12 ([A 0 α 1 A 1 β 1, L 1 ], uv) ([A 0 α 1 A 1 β 1, L 1 ]...[A m 1 α m A m β m, L m ], v) (1) α 1...α m u (2) A m β m...β 1 v (3) L m = First k (β m 1 )... First k (β 1 ) L 1 ([A 0 α 1 A 1 β 1, L 1 ], ǫ)... giltgenaudannwenn: A 0 i 0 A 1 i 1 β 1 A 2 i 2 β 2 A m i m β m γ 441
13 Satz Die reduzierte kontextfreie Grammatik G ist LL(k) genau dann wenn die k-vorausschau-tabelle für alle benötigten erweiterten Items wohl-definiert ist. Diskussion: Der erweiterte Item-Kellerautomat zusammen mit einer k-vorausschau-tabelle erlaubt die deterministische Rekonstruktion einer Links-Ableitung :-) Die Anzahl der Vorausschau-Mengen L kann sehr groß sein :-(
14 Beispiel: S ǫ asb Die Übergänge des erweiterten Item-Kellerautomat (k = 1): 0 [S S, {ǫ}] ǫ [S S, {ǫ}] [S, {ǫ}] 1 [S S, {ǫ}] ǫ [S S, {ǫ}] [S asb, {ǫ}] 2 [S asb, {ǫ}] a [S a Sb, {ǫ}] [S asb, {b}] a [S a Sb, {b}] 3 [S a Sb, {ǫ}] ǫ [S a Sb, {ǫ}] [S, {b}] [S a Sb, {b}] ǫ [S a Sb, {b}] [S, {b}] 4 [S a Sb.{ǫ}] ǫ [S a Sb.{ǫ}] [S asb, {b}] [S a Sb.{b}] ǫ [S a Sb.{b}] [S asb, {b}] 5 [S a Sb, {ǫ}] [S, {b}] ǫ [S as b, {ǫ}] [S a Sb, {b}] [S, {b}] ǫ [S as b, {b}]
15 [S a Sb, {ǫ}] [S asb, {b}] ǫ [S as b, {ǫ}] [S a Sb, {b}] [S asb, {b}] ǫ [S as b, {b}] 7 [S as b, {ǫ}] b [S asb, {ǫ}] [S as b, {b}] b [S asb, {b}] 8 [S S, {ǫ}] [S, {ǫ}] ǫ [S S, {ǫ}] 9 [S S, {ǫ}] [S asb, {ǫ}] ǫ [S S, {ǫ}] Die Vorausschau-Tabelle: ǫ a b [S S, {ǫ}] 0 1 [S a Sb, {ǫ}] 1 0 [S a Sb, {b}]
16 Beobachtung: Die auszuwählende Regel hängt hier ja gar nicht von den Erweiterungen deritemsab!!! Unter dieser Voraussetzung können wir den Item-Kellerautomaten ohne Erweiterung benutzen :-) Hängt die auszuwählende Regel nur von der aktuellen Vorausschau w ab, nennen wir G auch stark LL(k)... Wirdefinieren: Follow k (A) = {First k (β) S L uaβ}. Die reduzierte kontextfreie Grammatik G heißt stark LL(k), falls für je zwei verschiedene A α, A α P : First k (α) Follow k (A) First k (α ) Follow k (A) = 445
17 Beobachtung: Die auszuwählende Regel hängt hier ja gar nicht von den Erweiterungen deritemsab!!! Unter dieser Voraussetzung können wir den Item-Kellerautomaten ohne Erweiterung benutzen :-) Hängt die auszuwählende Regel nur von der aktuellen Vorausschau w ab, nennen wir G auch stark LL(k)... Wirdefinieren: Follow k (A) = {First k (β) S L uaβ}. Die reduzierte kontextfreie Grammatik G heißt stark LL(k), falls für je zwei verschiedene A α, A α P : First k (α) Follow k (A) First k (α ) Follow k (A) = 446
18 Beobachtung: Die auszuwählende Regel hängt hier ja gar nicht von den Erweiterungen deritemsab!!! Unter dieser Voraussetzung können wir den Item-Kellerautomaten ohne Erweiterung benutzen :-) Hängt die auszuwählende Regel nur von der aktuellen Vorausschau w ab, nennen wir G auch stark LL(k)... Wirdefinieren: Follow k (A) = {First k (β) S L uaβ}. Die reduzierte kontextfreie Grammatik G heißt stark LL(k), falls für je zwei verschiedene A α, A α P : First k (α) Follow k (A) First k (α ) Follow k (A) = 447
19 ...imbeispiel: S ǫ asb Follow 1 (S) = {ǫ,b} First 1 (ǫ) Follow 1 (S) = {ǫ} {ǫ,b} = {ǫ,b} First 1 (asb) Follow 1 (S) = {a} {ǫ,b} = {a} Wir schließen: Die Grammatik ist in der Tat stark LL(1) :-) 448
20 Ist G eine starke LL(k)-Grammatik, können wir die Vorausschau-Tabelle statt mit(erweiterten) Items mit Nichtterminalen indizieren :-) Wir setzen M[B, w] = i genau dannwenn (B,i) dieregel B γ und: w First k (γ) Follow k (B). ist...imbeispiel: S ǫ asb ǫ a b S Satz Jede starke LL(k)-Grammatik ist auch LL(k) :-) Jede LL(1)-Grammatik ist bereits stark LL(1) :-)) 449
21 Ist G eine starke LL(k)-Grammatik, können wir die Vorausschau-Tabelle statt mit(erweiterten) Items mit Nichtterminalen indizieren :-) Wir setzen M[B, w] = i genau dannwenn (B,i) dieregel B γ und: w First k (γ) Follow k (B). ist...imbeispiel: S ǫ asb ǫ a b S Satz Jede starke LL(k)-Grammatik ist auch LL(k) :-) Jede LL(1)-Grammatik ist bereits stark LL(1) :-)) 450
22 Beweis: Sei G stark LL(k). Betrachteeine Ableitung S L uaβ undregeln A α, A α P. Dann haben wir: First k (α β) First k (α β) = First k (α) First k (β) First k (α ) First k (β) First k (α) Follow k (A) First k (α ) Follow k (A) = Folglich ist G auch LL(k) :-) 451
23 Sei G LL(1). BetrachtezweiverschiedeneRegeln A α, A α P. Fall1: ǫ First 1 (α) First 1 (α ). Dann kann G nicht LL(1) sein :-) 452
24 Sei G LL(1). BetrachtezweiverschiedeneRegeln A α, A α P. Fall1: ǫ First 1 (α) First 1 (α ). Dann kann G nicht LL(1) sein :-) Fall2: ǫ First 1 (α) First 1 (α ). Sei S LuAβ.Da G LL(1)ist,gilt: First 1 (α) Follow 1 (A) First 1 (α ) Follow 1 (A) = First 1 (α) First 1 (α ) = First 1 (α) First 1 (β) First 1 (α ) First 1 (β) = 453
25 Fall3: ǫ First 1 (α) und ǫ First 1 (α ). Dann gilt: First 1 (α) Follow 1 (A) First 1 (α ) Follow 1 (A) = First 1 (α) Follow 1 (A) First 1 (α ) = First 1 (α) ( {First 1 (β) S L uaβ}) First 1(α ) = ( {First 1 (α) First 1 (β) S L uaβ}) First 1(α ) = {First 1 (α) First 1 (β) First 1 (α ) S L uaβ} = { S L uaβ} = Fall4: ǫ First 1 (α) und ǫ First 1 (α ) : analog :-) 454
26 Fall3: ǫ First 1 (α) und ǫ First 1 (α ). Dann gilt: First 1 (α) Follow 1 (A) First 1 (α ) Follow 1 (A) = First 1 (α) Follow 1 (A) First 1 (α ) = First 1 (α) ( {First 1 (β) S L uaβ}) First 1(α ) = ( {First 1 (α) First 1 (β) S L uaβ}) First 1(α ) = {First 1 (α) First 1 (β) First 1 (α ) S L uaβ} = { S L uaβ} = Fall4: ǫ First 1 (α) und ǫ First 1 (α ) : analog :-) 455
27 Beispiel: S aaaa 0 baba 1 A b 0 ǫ 1 Offenbar ist die Grammatik LL(2) :-) Andererseits gilt: First 2 (b) Follow 2 (A) First 2 (ǫ) Follow 2 (A) = {b} {aa, ba} {ǫ} {aa, ba} = {ba, bb} {aa, ba} = Folglich ist die Grammatik nicht stark LL(2) :-( Wir schließen: Für k > 1 ist nicht jede LL(k)-Grammatik automatisch stark LL(k). Zu jeder LL(k)-Grammatik kann jedoch eine äquivalente starke LL(k)-Grammatik konstruiert werden RR Übung! 456
28 Beispiel: S aaaa 0 baba 1 A b 0 ǫ 1 Offenbar ist die Grammatik LL(2) :-) Andererseits gilt: First 2 (b) Follow 2 (A) First 2 (ǫ) Follow 2 (A) = {b} {aa, ba} {ǫ} {aa, ba} = {ba, bb} {aa, ba} = Folglich ist die Grammatik nicht stark LL(2) :-( Wir schließen: Für k > 1 ist nicht jede LL(k)-Grammatik automatisch stark LL(k). Zu jeder LL(k)-Grammatik kann jedoch eine äquivalente starke LL(k)-Grammatik konstruiert werden == Übung! 457
29 Berechnung von Follow k (B) : S i 0 A 1 i 1 β 1 A 2 i 2 β 2 A i m β m α B Follow k (B) Follow k (A) 458
30 Berechnung von Follow k (B) : Idee: Wir stellen ein Ungleichungssystem auf :-) ǫ ist ein möglicher rechter Kontext von S :-) Mögliche rechte Kontexte der linken Seite einer Regel propagieren wir ans Ende jeder rechten Seite......imBeispiel: S ǫ asb Follow k (S) Follow k (S) {ǫ} {b} Follow k (S) 459
31 Allgemein: Follow k (S) {ǫ} Follow k (B) First k (X 1 )... First k (X m ) Follow k (A) für A αbx 1...X m P Diskussion: Man überzeugt sich, dass die kleinste Lösung dieses Ungleichungssystems tatsächlichdiemengen Follow k (B) liefert :-) Die Größe der auftretenden Mengen steigt mit k rapide :-( InpraktischenSystemenwirddarummeistnur derfall k = 1 implementiert
6 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,
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
MehrEinführung in die Computerlinguistik Formale Grammatiken rechtslineare und kontextfreie Grammatiken Kellerautomaten
Einführung in die Computerlinguistik Formale Grammatiken rechtslineare und kontextfreie Grammatiken Kellerautomaten Dozentin: Wiebke Petersen 13. Foliensatz Wiebke Petersen Einführung CL 1 Formale Grammatik
MehrTheoretische Grundlagen des Software Engineering
Theoretische Grundlagen des Software Engineering 5: Reguläre Ausdrücke und Grammatiken schulz@eprover.org Software Systems Engineering Reguläre Sprachen Bisher: Charakterisierung von Sprachen über Automaten
MehrBeschreibungskomplexität von Grammatiken Definitionen
Beschreibungskomplexität von Grammatiken Definitionen Für eine Grammatik G = (N, T, P, S) führen wir die folgenden drei Komplexitätsmaße ein: Var(G) = #(N), Prod(G) = #(P ), Symb(G) = ( α + β + 1). α β
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
MehrEinführung in die Theoretische Informatik
Technische Universität München Fakultät für Informatik Prof. Tobias Nipkow, Ph.D. Dr. Werner Meixner, Dr. Alexander Krauss Sommersemester 2010 Lösungsblatt 7 15. Juni 2010 Einführung in die Theoretische
MehrEinführung in die Theoretische Informatik
Technische Universität München akultät für Informatik Prof. Tobias Nipkow, Ph.D. Dr. Werner Meixner, Dr. Alexander Krauss Sommersemester 2010 Lösungsblatt 6 11. Juni 2010 Einführung in die Theoretische
Mehr(Prüfungs-)Aufgaben zu formale Sprachen
(Prüfungs-)Aufgaben zu formale Sprachen (siehe auch bei den Aufgaben zu endlichen Automaten) 1) Eine Grammatik G sei gegeben durch: N = {S, A}, T = {a, b, c, d}, P = { (S, Sa), (S, ba), (A, ba), (A, c),
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)
MehrDrehung um einen Punkt um Winkel α.
Drehung um einen Punkt um Winkel α. Sei A R 2 und α R. Drehung um A um Winkel α ist eine Abbildung D A (α) : R 2 R 2 welche wie folgt definiert ist: D A (α) = T A D 0 (α) T ( A), wobei die Abbildung D
MehrEinführung in die Theoretische Informatik
Einführung in die Theoretische Informatik Johannes Köbler Institut für Informatik Humboldt-Universität zu Berlin WS 2011/12 Deterministische Kellerautomaten Von besonderem Interesse sind kontextfreie Sprachen,
MehrGrundlagen der Theoretischen Informatik Musterlösungen zu ausgewählten Übungsaufgaben
Dieses Dokument soll mehr dazu dienen, Beispiele für die formal korrekt mathematische Bearbeitung von Aufgaben zu liefern, als konkrete Hinweise auf typische Klausuraufgaben zu liefern. Die hier gezeigten
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
MehrTheoretische Grundlagen der Informatik
Theoretische Grundlagen der Informatik Übung am 02.02.2012 INSTITUT FÜR THEORETISCHE 0 KIT 06.02.2012 Universität des Andrea Landes Schumm Baden-Württemberg - Theoretische und Grundlagen der Informatik
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 /
Mehr11.1 Kontextsensitive und allgemeine Grammatiken
Theorie der Informatik 7. April 2014 11. Kontextsensitive und Typ-0-Sprachen Theorie der Informatik 11. Kontextsensitive und Typ-0-Sprachen 11.1 Kontextsensitive und allgemeine Grammatiken Malte Helmert
MehrFormale Sprachen. Formale Grundlagen (WIN) 2008S, F. Binder. Vorlesung im 2008S
Formale Grundlagen (WIN) Franz Binder Institut für Algebra Johannes Kepler Universität Linz Vorlesung im 2008S http://www.algebra.uni-linz.ac.at/students/win/fg Inhalt Das Alphabet Σ sei eine endliche
MehrGrundlagen der Theoretischen Informatik
Grundlagen der Theoretischen Informatik Sommersemester 2015 22.04.2015 Viorica Sofronie-Stokkermans e-mail: sofronie@uni-koblenz.de 1 Bis jetzt 1. Terminologie 2. Endliche Automaten und reguläre Sprachen
MehrGrundlagen der Theoretischen Informatik
1 Grundlagen der Theoretischen Informatik Till Mossakowski Fakultät für Informatik Otto-von-Guericke Universität Magdeburg Wintersemester 2014/15 2 Kontextfreie Grammatiken Definition: Eine Grammatik G
MehrGrundlagen der Theoretischen Informatik
Grundlagen der Theoretischen Informatik Sommersemester 2016 20.04.2016 Viorica Sofronie-Stokkermans e-mail: sofronie@uni-koblenz.de 1 Bis jetzt 1. Terminologie 2. Endliche Automaten und reguläre Sprachen
MehrMotivation natürliche Sprachen
Motivation natürliche Sprachen (Satz) (Substantivphrase)(Verbphrase) (Satz) (Substantivphrase)(Verbphrase)(Objektphrase) (Substantivphrase) (Artikel)(Substantiv) (Verbphrase) (Verb)(Adverb) (Substantiv)
MehrDKA und dkfs (mit Übungen)
DKA und dkfs (mit Übungen) Prof.Dr.Christian Wagenknecht mit Beiträgen von Herrn Dr.Michael Hielscher Prof.Dr.Chr. Wagenknecht Formale Sprachen und Automaten 1/15 kurz DKA Analog zu endlichen Automaten
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
MehrLL(1)-Parsing. Ullrich Buschmann, Linda Schaffarczyk, Maurice Schleussinger. Automatische Syntaxanalyse (Parsing)
LL(1)-Parsing Ullrich Buschmann, Linda Schaffarczyk, Maurice Schleussinger Automatische Syntaxanalyse (Parsing) Heinrich-Heine-Universität Düsseldorf Wintersemester 2012/2013 Aufbau des Referats 1. Einführung,
Mehr2.4 Kontextsensitive und Typ 0-Sprachen
Definition 2.43 Eine Typ 1 Grammatik ist in Kuroda Normalform, falls alle Regeln eine der folgenden 4 Formen haben: Dabei: A, B, C, D V und a Σ. Satz 2.44 A a, A B, A BC, AB CD. Für jede Typ 1 Grammatik
MehrAutomaten, Spiele, und Logik
Automaten, Spiele, und Logik Woche 2 25. April 2014 Inhalt der heutigen Vorlesung 1. Reguläre Ausdrücke 2. der Satz von Kleene 3. Brzozowski Methode 4. grep und perl Reguläre Ausdrücke Rekursive Definition,
MehrRekursiv aufzählbare Sprachen
Kapitel 4 Rekursiv aufzählbare Sprachen 4.1 Grammatiken und die Chomsky-Hierarchie Durch Zulassung komplexer Ableitungsregeln können mit Grammatiken größere Klassen als die kontextfreien Sprachen beschrieben
MehrKapitel 3: Reguläre Grammatiken und Endliche. Automaten
Kapitel 3: Reguläre Grammatiken und Endliche Automaten Prof.-Dr. Peter Brezany Institut für Softwarewissenschaft Universität Wien, Liechtensteinstraße 22 090 Wien Tel. : 0/4277 38825 E-mail : brezany@par.univie.ac.at
MehrAutomatentheorie und formale Sprachen rechtslineare Grammatiken
Automatentheorie und formale Sprachen rechtslineare Grammatiken Dozentin: Wiebke Petersen 17.6.2009 Wiebke Petersen Automatentheorie und formale Sprachen - SoSe09 1 Pumping lemma for regular languages
MehrEinführung in die Theoretische Informatik
echnische Universität München Fakultät für Informatik Prof. obias Nipkow, Ph.D. ascha öhme, Lars Noschinski ommersemester 2011 Lösungsblatt 5 6. Juni 2011 Einführung in die heoretische Informatik Hinweis:
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,
MehrSprachen und Automaten. Tino Hempel
Sprachen und Automaten 11 Tino Hempel Bisherige Automaten Automat mit Ausgabe/Mealy-Automat Akzeptor, Sprache eines Akzeptors Grenze: L = {a n b n } Kellerautomat erkennt L = {a n b n } Grenze:? T. Hempel
MehrDefinition (Reguläre Ausdrücke) Sei Σ ein Alphabet, dann gilt: (ii) ε ist ein regulärer Ausdruck über Σ.
Reguläre Ausdrücke Definition (Reguläre Ausdrücke) Sei Σ ein Alphabet, dann gilt: (i) ist ein regulärer Ausdruck über Σ. (ii) ε ist ein regulärer Ausdruck über Σ. (iii) Für jedes a Σ ist a ein regulärer
MehrKapitel: Die Chomsky Hierarchie. Die Chomsky Hierarchie 1 / 14
Kapitel: Die Chomsky Hierarchie Die Chomsky Hierarchie 1 / 14 Allgemeine Grammatiken Definition Eine Grammatik G = (Σ, V, S, P) besteht aus: einem endlichen Alphabet Σ, einer endlichen Menge V von Variablen
MehrÜbersetzungstechnik. Francesco Kriegel. TU Dresden Fakultät Mathematik Institut Algebra WS 2008 / 2009
Übersetzungstechnik Francesco Kriegel TU Dresden Fakultät Mathematik Institut Algebra WS 2008 / 2009 10. Januar 2010 Inhaltsverzeichnis Kapitel 1 Automat 3 1.1 endlicher Automat.....................................
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
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
MehrTheoretische Informatik 1
heoretische Informatik 1 uringmaschinen David Kappel Institut für Grundlagen der Informationsverarbeitung echnische Universität Graz 11.03.2016 Übersicht uring Maschinen Algorithmusbegriff konkretisiert
MehrFormale Sprachen. Spezialgebiet für Komplexe Systeme. Yimin Ge. 5ahdvn. 1 Grundlagen 1. 2 Formale Grammatiken 4. 3 Endliche Automaten 5.
Formale Sprachen Spezialgebiet für Komplexe Systeme Yimin Ge 5ahdvn Inhaltsverzeichnis 1 Grundlagen 1 2 Formale Grammatien 4 Endliche Automaten 5 4 Reguläre Sprachen 9 5 Anwendungen bei Abzählproblemen
MehrDeterministische endliche Automaten - Wiederholung
Deterministische endliche Automaten - Wiederholung Die folgende Klasse Zahl stellt einen endlichen Automaten dar. Ermittle die Größen des Automaten und zeichne den Zustandsgraphen. Gib Zeichenfolgen an,
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
MehrFormale Sprachen. Grammatiken und die Chomsky-Hierarchie. Rudolf FREUND, Marian KOGLER
Formale Sprachen Grammatiken und die Chomsky-Hierarchie Rudolf FREUND, Marian KOGLER Grammatiken Das fundamentale Modell zur Beschreibung von formalen Sprachen durch Erzeugungsmechanismen sind Grammatiken.
MehrChapter 1 : þÿ b e t a t h o m e H a u p t s i t z c h a p t e r
Chapter 1 : þÿ b e t a t h o m e H a u p t s i t z c h a p t e r þÿ f r o m a r o u n d t h e w o r l d u s e t h e I n t e r n e t t o p l a c e r e a l m o n e y b e t s a t h o m e. Y o u c a n. C a
MehrEinführung in die Theoretische Informatik
Technische Universität München Fakultät für Informatik Prof. Tobias Nipkow, Ph.D. Dr. Werner Meixner, Dr. Alexander Krauss Sommersemester 2010 Lösungsblatt 3 14. Mai 2010 Einführung in die Theoretische
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)
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
MehrTheoretische Informatik Testvorbereitung Moritz Resl
Theoretische Informatik Testvorbereitung Moritz Resl Bestandteile einer Programmiersprache: a) Syntax (Form): durch kontextfreie Grammatik beschrieben b) Semantik (Bedeutung) 1.) Kontextfreie Sprachen
MehrI.2. Endliche Automaten (ohne Ausgabe)
I2 Endliche Automaten (ohne Ausgabe) I2 Deterministische endliche Automaten Beispiel: Pascal-Syntax für Zahlen hat folgende Form: ::=
MehrFormale Sprachen und Automaten
Turingmaschinen Formale Sprachen und Automaten Das Konzept der Turingmaschine wurde von dem Englischen Mathematiker Alan M. Turing (1912-1954) ersonnen. Turingmaschinen, Typ-0- und Typ-1-Grammatiken Der
Mehr1 Σ endliches Terminalalphabet, 2 V endliche Menge von Variablen (mit V Σ = ), 3 P (V (Σ ΣV )) {(S, ε)} endliche Menge von Regeln,
Theorie der Informatik 8. März 25 8. Reguläre Sprachen I Theorie der Informatik 8. Reguläre Sprachen I 8. Reguläre Grammatiken Malte Helmert Gabriele Röger 8.2 DFAs Universität Basel 8. März 25 8.3 NFAs
Mehr8. Turingmaschinen und kontextsensitive Sprachen
8. Turingmaschinen und kontextsensitive Sprachen Turingmaschinen (TM) von A. Turing vorgeschlagen, um den Begriff der Berechenbarkeit formal zu präzisieren. Intuitiv: statt des Stacks bei Kellerautomaten
MehrFormale Methoden 1. Gerhard Jäger 12. Dezember Uni Bielefeld, WS 2007/2008 1/22
1/22 Formale Methoden 1 Gerhard Jäger Gerhard.Jaeger@uni-bielefeld.de Uni Bielefeld, WS 2007/2008 12. Dezember 2007 2/22 Bäume Baumdiagramme Ein Baumdiagramm eines Satzes stellt drei Arten von Information
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
MehrInformatik I WS 07/08 Tutorium 24
Info I Tutorium 24 Informatik I WS 07/08 Tutorium 24 20.12.07 Bastian Molkenthin E-Mail: infotut@sunshine2k.de Web: http://infotut.sunshine2k.de Rückblick Semi-Thue-Systeme Ein Semi-Thue-System besteht
MehrTheorie der Informatik (CS206) Kellerautomat, Postfix-Notation, Turing-Maschine, Busy Beaver
Theorie der Informatik (CS206) Kellerautomat, Postfix-Notation, Turing-Maschine, Busy Beaver 20. März 2013 Proff Malte Helmert und Christian Tschudin Departement Mathematik und Informatik, Universität
Mehr... = für δ(z, a i ) = z. Abbildung 4.4: Interpretation der Arbeitsweise eines endlichen Automaten
3 Reguläre Sprachen 63 3 Reguläre Sprachen In diesem Kapitel beschäftigen wir uns etwas näher mit den regulären Sprachen, insbesondere mit der Möglichkeit verschiedener Charakterisierungen und den Eigenschaften
MehrFormale Methoden 1. Gerhard Jäger 9. Januar Uni Bielefeld, WS 2007/2008 1/23
1/23 Formale Methoden 1 Gerhard Jäger Gerhard.Jaeger@uni-bielefeld.de Uni Bielefeld, WS 2007/2008 9. Januar 2008 2/23 Automaten (informell) gedachte Maschine/abstraktes Modell einer Maschine verhält sich
MehrUniversität Karlsruhe Institut für Theoretische Informatik. Klausur: Informatik III
Name Vorname Matrikelnummer Universität Karlsruhe Institut für Theoretische Informatik o. Prof. Dr. P. Sanders 26. Feb. 2007 Klausur: Informatik III Aufgabe 1. Multiple Choice 10 Punkte Aufgabe 2. Teilmengenkonstruktion
MehrI.5. Kontextfreie Sprachen
I.5. Kontextfreie prachen Zieht man in Betracht, dass BNF-yteme gerade so beschaffen sind, dass auf der linken eite immer genau ein Nichtterminal steht, so sind das also gerade die Ableitungsregeln einer
MehrTeil V. Weiterführende Themen, Teil 1: Kontextsensitive Sprachen und die Chomsky-Hierarchie
Teil V Weiterführende Themen, Teil 1: Kontextsensitive Sprachen und die Chomsky-Hierarchie Zwei Sorten von Grammatiken Kontextsensitive Grammatik (CSG) (Σ, V, P, S), Regeln der Form αaβ αγβ α, β (Σ V ),
MehrEinführung in die Theoretische Informatik
Technische Universität München Fakultät für Informatik Prof. Tobias Nipkow, Ph.D. Dr. Werner Meixner, Dr. Alexander Krauss Sommersemester 2 Lösungsblatt 3. April 2 Einführung in die Theoretische Informatik
MehrFormale Sprachen. Script, Kapitel 4. Grammatiken
Formale Sprachen Grammatiken Script, Kapitel 4 erzeugen Sprachen eingeführt von Chomsky zur Beschreibung natürlicher Sprache bedeutend für die Syntaxdefinition und -analyse von Programmiersprachen Automaten
Mehr1 Einführung. 2 Typ-0- und Typ-1-Sprachen. 3 Berechnungsmodelle. 4 Unentscheidbarkeit. 5 Unentscheidbare Probleme. 6 Komplexitätstheorie
1 Einführung 2 Typ-0- und Typ-1-Sprachen 3 Berechnungsmodelle 4 Unentscheidbarkeit 5 Unentscheidbare Probleme 6 Komplexitätstheorie 15 Ziele vgl. AFS: Berechnungsmodelle für Typ-0- und Typ-1-Sprachen (Nicht-)Abschlußeigenschaften
Mehr4. Übungsblatt zur Mathematik I für Maschinenbau
Fachbereich Mathematik Prof. Dr. M. Joswig Dr. habil. Sören Kraußhar Dipl.-Math. Katja Kulas 4. Übungsblatt zur Mathematik I für Maschinenbau Gruppenübung WS /..-7.. Aufgabe G (Geraden im R ) Bestimmen
Mehr1 Modulare Arithmetik
$Id: modul.tex,v 1.10 2012/04/12 12:24:19 hk Exp $ 1 Modulare Arithmetik 1.2 Euklidischer Algorithmus Am Ende der letzten Sitzung hatten wir den größten gemeinsamen Teiler zweier ganzer Zahlen a und b
Mehr4.2 Die Chomsky Normalform
4.2 Die Chomsky Normalform Für algorithmische Problemstellungen (z.b. das Wortproblem) aber auch für den Nachweis von Eigenschaften kontextfreier Sprachen ist es angenehm, von CFG in Normalformen auszugehen.
MehrTechnische Universität München Sommer 2016 Prof. J. Esparza / Dr. M. Luttenberger, S. Sickert 2. Mai HA-Lösung. TA-Lösung
Technische Universität München Sommer 2016 Prof. J. Esparza / Dr. M. Luttenberger, S. Sickert 2. Mai 2016 HA-Lösung TA-Lösung Einführung in die theoretische Informatik Aufgabenblatt 2 Beachten Sie: Soweit
MehrBerechenbarkeit und Komplexität Endliche Automaten
Berechenbarkeit und Komplexität Endliche Automaten Wolfgang Schreiner Wolfgang.Schreiner@risc.uni-linz.ac.at Research Institute for Symbolic Computation (RISC) Johannes Kepler University, Linz, Austria
MehrTheoretische Informatik. Alphabete, Worte, Sprachen
Theoretische Informatik Alphabete, Worte, Sprachen Alphabete, Worte, Sprachen 1. Alphabete und Worte Definitionen, Beispiele Operationen mit Worten Induktionsbeweise 2. Sprachen Definition und Beispiele
MehrFormale Sprachen und Automaten
Grammatik und Automat Formale Sprachen und Automaten Automaten sind Konzepte, die eine Sprache L dadurch charakterisieren, dass sie L akzeptieren. Grammatiken sind Konzepte, die eine Sprache L dadurch
MehrBerechenbarkeit und Komplexität
Berechenbarkeit und Komplexität Prof. Dr. Dietrich Kuske FG Theoretische Informatik, TU Ilmenau Wintersemester 2010/11 1 Organisatorisches zur Vorlesung Informationen, aktuelle Version der Folien und Übungsblätter
MehrAlgorithmen mit konstantem Platzbedarf: Die Klasse REG
Algorithmen mit konstantem Platzbedarf: Die Klasse REG Sommerakademie Rot an der Rot AG 1 Wieviel Platz brauchen Algorithmen wirklich? Daniel Alm Institut für Numerische Simulation Universität Bonn August
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
MehrLemma Für jede monotone Grammatik G gibt es eine kontextsensitive
Lemma Für jede monotone Grammatik G gibt es eine kontextsensitive Grammatik G mit L(G) = L(G ). Beweis im Beispiel (2.): G = (V,Σ, P, S) : P = {S asbc, S abc, CB BC, ab ab, bb bb, bc bc, cc cc}. (i) G
MehrKlausuraufgaben. 1. Wir betrachten die folgende Sprache über dem Alphabet {a, b}
Klausuraufgaben 1. Wir betrachten die folgende Sprache über dem Alphabet {a, b} L = {a n b m n > 0, m > 0, n m} a) Ist L kontextfrei? Wenn ja, geben Sie eine kontextfreie Grammatik für L an. Wenn nein,
MehrMathematische Probleme, SS 2013 Donnerstag $Id: dreieck.tex,v /04/18 15:03:29 hk Exp hk $
$Id: dreieck.tex,v 1.6 2013/04/18 15:03:29 hk Exp hk $ 1 Dreiecke 1.5 Einige spezielle Punkte im Dreieck Wir hatten gerade begonnen uns mit den speziellen Punkten im Dreieck zu beschäftigen. Dabei beschränken
MehrTheoretische Informatik Mitschrift
Theoretische Informatik Mitschrift 2. Grammatiken und die Chomsky-Hierarchie Beispiel: Syntaxdefinition in BNF :=
Mehr4.9 Deterministische Kellerautomaten Wir haben bereits definiert: Ein PDA heißt deterministisch (DPDA), falls
4.9 Deterministische Kellerautomaten Wir haben bereits definiert: Ein PDA heißt deterministisch (DPDA), falls δ(q, a, Z) + δ(q, ɛ, Z) 1 (q, a, Z) Q Σ. Die von einem DPDA, der mit leerem Keller akzeptiert,
MehrCompiler. Kapitel. Syntaktische Analyse. Kapitel 4. Folie: 1. Syntaktische Analyse. Autor: Aho et al.
Folie: 1 Kapitel 4 Übersicht Übersicht Syntax: Definition 4 syn-tax: the way in which words are put together to form phrases, clauses, or sentences. Webster's Dictionary Die Syntax (griechisch σύνταξις
MehrWortproblem für kontextfreie Grammatiken
Wortproblem für kontextfreie Grammatiken G kontextfreie Grammatik. w Σ w L(G)? Wortproblem ist primitiv rekursiv entscheidbar. (schlechte obere Schranke!) Kellerautomat der L(G) akzeptiert Ist dieser effizient?
Mehrist ein regulärer Ausdruck.
Dr. Sebastian Bab WiSe 12/13 Theoretische Grlagen der Informatik für TI Termin: VL 11 vom 22.11.2012 Reguläre Ausdrücke Reguläre Ausdrücke sind eine lesbarere Notation für Sprachen Denition 1 (Regulärer
MehrAufgabentypen die in der Klausur vorkommen
Aufgabentypen die in der Klausur vorkommen können 1. Nennen Sie fünf wichtige Anwendungsgebiete der Computerlinguistik. 2. Für welches der drei Anwendungsgebiete Maschinelle Übersetzung, Rechtschreibkorrektur
MehrEinführung in die Theoretische Informatik
Technische Universität München Fakultät für Informatik Prof. Tobias Nipkow, Ph.D. Dr. Werner Meixner, Dr. Alexander Krauss Sommersemester 2010 Lösungsblatt 8 28. Juni 2010 Einführung in die Theoretische
MehrTheoretische Informatik. Kontextfreie Sprachen und Parser
Theoretische Informatik Kontextfreie Sprachen und Parser Inhalt 1. Grammatiken und Sprachen Kontextfreie Grammatiken Herleitungen, Linksherleitungen Sprachen zu einer Grammatik Äquivalenz Chomsky-Normalform
Mehräußere Klammern können entfallen, ebenso solche, die wegen Assoziativität von + und Konkatenation nicht notwendig sind:
3. Reguläre Sprachen Bisher wurden Automaten behandelt und Äquivalenzen zwischen den verschiedenen Automaten gezeigt. DEAs erkennen formale Sprachen. Gibt es formale Sprachen, die nicht erkannt werden?
MehrTheoretische Informatik SS 03 Übung 3
Theoretische Informatik SS 03 Übung 3 Aufgabe 1 a) Sind die folgenden Funktionen f : partiell oder total: f(x, y) = x + y f(x, y) = x y f(x, y) = x y f(x, y) = x DIV y? Hierbei ist x DIV y = x y der ganzzahlige
MehrUniversität Karlsruhe (TH)
Universität Karlsruhe (TH) Lehrstuhl für Programmierparadigmen prachtechnologie und Compiler W 2008/2009 http://pp.info.uni-karlsruhe.de/ Dozent: Prof. Dr.-Ing. G. nelting snelting@ipd.info.uni-karlsruhe.de
MehrMAA = MAB + B AA = B CA + CAA BA A Nun sehen wir mit Proposition 10.7 aus dem Skript, dass A M AB gelten muss.
1. Konvexität in der absoluten Ebene In einem Dreieck in der Euklidischen Ebene hat die Strecke zwischen zwei Seitenmittelpunkten die halbe Länge der dritten Seite. In der absoluten Ebene hat man eine
MehrÜbungen zu Einführung in die Lineare Algebra und Geometrie
Übungen zu Einführung in die Lineare Algebra und Geometrie Andreas Cap Sommersemester 2010 Kapitel 1: Einleitung (1) Für a, b Z diskutiere analog zur Vorlesung das Lösungsverhalten der Gleichung ax = b
MehrWiederhole eigenständig: elementare Konstruktionen nach diesen Sätzen
1/5 Erinnerung: Kongruenzsätze SSS, SWS, WSW, SsW Wiederhole eigenständig: elementare Konstruktionen nach diesen Sätzen Grundwissen: Elementare Sätze über Dreiecke: o Winkelsumme 180 0 o Dreiecksungleichung
MehrLösung zur Übung für Analysis einer Variablen WS 2016/17
Blatt Nr. 3 Prof. F. Merkl Lösung zur Übung für Analysis einer Variablen WS 206/7 Aufgabe Das Guthaben G setzt sich zusammen aus der Summe aller bisherigen Einzahlungen multipliziert mit ( + p) k, wobei
MehrBA-Mannheim, 3. Semester IT Informatik (Hr. Prof. Dr. Poller)
Dies ist nun also die freundlicherweise von mir mitgetippte assung der Vorlesung Informatik (3. Semester) bei Hr. Prof. Dr. Poller an der BA-Mannheim. Ich hoffe ihr könnt damit was anfangen. ehler, Kritik,
Mehr4. Vektorräume und Gleichungssysteme
technische universität dortmund Dortmund, im Dezember 2011 Fakultät für Mathematik Prof Dr H M Möller Lineare Algebra für Lehramt Gymnasien und Berufskolleg Zusammenfassung der Abschnitte 41 und 42 4 Vektorräume
MehrTheoretische Informatik 2
Theoretische Informatik 2 Johannes Köbler Institut für Informatik Humboldt-Universität zu Berlin WS 2009/10 Die Chomsky-Hierarchie Definition Sei G = (V, Σ, P, S) eine Grammatik. 1 G heißt vom Typ 3 oder
MehrMotivation. Formale Grundlagen der Informatik 1 Kapitel 5 Kontextfreie Sprachen. Informales Beispiel. Informales Beispiel.
Kontextfreie Kontextfreie Motivation Formale rundlagen der Informatik 1 Kapitel 5 Kontextfreie Sprachen Bisher hatten wir Automaten, die Wörter akzeptieren Frank Heitmann heitmann@informatik.uni-hamburg.de
MehrTheoretische Grundlagen der Informatik
Theoretische Grundlagen der Informatik Vorlesung am 12.01.2012 INSTITUT FÜR THEORETISCHE 0 KIT 12.01.2012 Universität des Dorothea Landes Baden-Württemberg Wagner - Theoretische und Grundlagen der Informatik
Mehra n b n c n ist kontextsensitiv kontextfreie Sprachen (Typ 2) Abschnitt 3.3 kontextfreie Sprachen: Abschlusseigenschaften Chomsky NF und binäre Bäume
Kap 3: Grammatiken Chomsky-Hierarchie 32 Kap 3: Grammatiken Kontextfreie 33 a n b n c n ist kontextsensiti Beispiel 3111 modifizieren: Σ = {a, b, c G = (Σ, V, P, X ) V = {X, Y, Z P : X ε X axyz ZY YZ ay
MehrProgrammiersprachen und Übersetzer
Programmiersprachen und Übersetzer Sommersemester 2010 19. April 2010 Theoretische Grundlagen Problem Wie kann man eine unendliche Menge von (syntaktisch) korrekten Programmen definieren? Lösung Wie auch
MehrEinführung in die Theoretische Informatik
Einführung in die Theoretische Informatik Johannes Köbler Institut für Informatik Humboldt-Universität zu Berlin WS 2011/12 Die Registermaschine (random access machine, RAM) 0 I 0 1 I 1 2 I 2 m I m Programm
Mehr