Klammersprache Definiere
|
|
- Miriam Weiß
- vor 6 Jahren
- Abrufe
Transkript
1 Klammersprache w=w 1...w n {(,)}* heißt korrekt geklammert, falls die Anzahl ( ist gleich der Anzahl ). in jedem Anfangsstück w 1,...,w i (i n) ist die Anzahl ( nicht kleiner als die Anzahl ). Definiere L={w {(,)}* w korrekt geklammert} Nicht regulär Folie 350f. Kontextfreie Grammatik: S SS, S (S), S ε. 485
2 Bsp: L={w w 0 = w 1 } w 0 : Anzahl Nullen in w, w 1 : Anzahl Einsen in w. Übungsaufgabe: Zeige, dass L nicht regulär. Kontextfreie Grammatik G: V={S}, Σ={0,1} P={S ε, S 0S1S, S 1S0S} Korrektheit: G erzeugt nur Wörter aus L. G erzeugt alle Wörter aus L. L(G) L L L(G) 486
3 Beispiel Ableitung von S 1S0S 11S0S0S 1100S 11001S0S S 1 S 0 S Syntaxbaum 1 S 0 S 1 S 0 S ε ε ε ε P={S ε, S 0S1S, S 1S0S} 487
4 Korrektheit: L(G) L G erzeugt nur Wörter aus L : folgt, da bei jedem Ableitungsschritt gleichviele Nullen wie Einsen erzeugt werden. P={S ε, S 0S1S, S 1S0S} 488
5 Korrektheit: L L(G) Induktion über w w =0 w=ε L(G). w >0, o.b.d.a. beginne w mit 0. Sei i>0 kleinste Zahl m. w 1 w i 0 = w 1 w i 1. Dann gilt: w 1 =0, w i =1, w 2 w i 1 0 = w 2 w i 1 1 und w i+1 w n 0 = w i+1 w n 1. Also w 2 w i 1 L und w i+1 w n L und S 0S1S * 0w 2 w i 1 1w i+1 w n. I.V. 489
6 Syntaxbaum Graphische Darstellung der Ableitung eines Wortes Wurzel: markiert mit S. Blätter: markiert mit Terminalen/Buchstaben oder ε. Innere Knoten: markiert mit Variablen A Nachfolger entsprechen Anwendung einer Ableitungsregel A α 1 α r. 490
7 Anmerkungen Zu jeder Ableitung gibt es einen Syntaxbaum. Zu einem Syntaxbaum kann es mehrere (äquivalente) Ableitungen geben. Linksableitung: Ableitung, bei der die jeweils linkeste Variable ersetzt wird. Rechtsableitung: Ableitung, bei der die jeweils rechteste Variable ersetzt wird. 491
8 Eindeutigkeit und Mehrdeutigkeit Definition T6.1.5: Eine kontextfreie Grammatik G heißt eindeutig, wenn es für jedes Wort w L(G) nur einen Syntaxbaum gibt. Eine kontextfreie Sprache heißt eindeutig, wenn es für sie eine eindeutige kontextfreie Grammatik gibt, anderenfalls heißt sie inhärent mehrdeutig. 492
9 Beispiel: Klammersprache Die Grammatik S SS, S (S), S ε ist nicht eindeutig. Beispiel: ()()() Linksableitungen: S SS SSS (S)SS ()SS ()(S)S ()()S ()()(S) ()()() S SS (S)S ()S ()SS ()(S)S ()()S ()()(S) ()()() Eindeutige Grammatik: S (S)S, S ε 493
10 Weiteres Beispiel S ε, S 0S1S, S 1S0S ist mehrdeutig: das Wort hat die Linksableitungen S 0S1S 01S0S1S 011S0SS0S1S * und S 0S1S 01S 011S0S 0110S 01100S1S * Etwas schwieriger: Konstruktion einer eindeutigen Grammatik. 494
11 Beispiel Die Grammatik S 01, S 0S1 für L={0 n 1 n n 1} ist eindeutig. 495
12 Motivation Nahe liegende Vermutung: Syntaxanalyse für eindeutige Grammatiken einfacher. Verschiedene Ableitungsbäume haben bei Programmiersprachen häufig verschiedene Semantiken, Beispiel: dangling else. 496
13 Chomsky-Normalform Ziel: einfachere Algorithmen für kontextfreie Grammatiken. Definition T6.2.1: Eine kontextfreie Grammatik ist in Chomsky-Normalform, wenn alle Ableitungsregeln von der Form A BC oder A a (mit A,B,C V, a T) sind. 497
14 Chomsky-Normalform Besonderheit: ε kann nicht erzeugt werden. Im Folgenden Umformung G G Kontextfreie Kontextfreie Grammatik Grammatik in Chomsky-Normalform mit L(G ) = L(G) {ε} 498
15 Umformung Sei s(g) die Größe (Anzahl der Buchstaben in allen Produktionen) der kontextfreien Grammatik G. Satz T6.2.2: Eine kontextfreie Grammatik G kann in Zeit O(s(G) 2 ) in Chomsky- Normalform umgeformt werden. Beweis: Umformung in 4 Schritten 499
16 Schritt 1: Separation Ziel: Auf den rechten Seiten der Regeln entweder 1 Terminal oder nur Variablen. Dazu: erzeuge für jedes a T eine neue Variable Y a und die Regel Y a a, Ersetze auf jeder rechten Seite einer Regel a durch Y a. 500
17 Beispiel für Schritt 1 A AbcDeF (mit A,D,F V, b,c,e T) wird ersetzt durch A AY b Y c DY e F, Y b b, Y c c, Y e e 501
18 Schritt 2: Lange rechte Seiten A B 1 B m (mit m 3, A,B 1,,B m V) wird ersetzt durch A B 1 C 1 C 1 B 2 C 2 C i B i+1 C i+1 (für 1 i m 3) C m 2 B m 1 B m Dabei sind C 1,,C m 2 neue Variablen, die nur für die betrachtete Regel eingeführt werden. 502
19 Resultat der Schritte 1 und 2 Nur noch Regeln der Form: A ε (ε-regeln) A B (Kettenregeln) A BC (o.k.) A a (o.k.) Bisher: Grammatik hat sich nur um konstanten Faktor vergrößert. 503
20 Schritt 3: Beseitigung der ε-regeln 1. Teilschritt: Finde alle Var. A mit A ε. * Initialisierung: Variablen A mit Regel A ε in Mengen V und Q einfügen. Solange Q Variable B aus Q entnehmen. Auf allen rechten Seiten von allen Regeln B durch ε ersetzen. Falls neue Regel C ε entsteht (d.h. C V ): C in V und Q aufnehmen. Ausgabe: V 504
21 Korrektheit des 1. Teilschritts Behauptung: V enthält genau die Variablen A mit A * ε. offensichtlich. Induktion über die Länge l der kürzesten Ableitung A * ε. l=1: Es gibt die Regel A ε. Dann wird A in V eingefügt. l>1: Dann A BC * ε oder A B * ε. Dann haben B (und C) ε-ableitungen mit Länge <l und kommen in V. A wird in V aufgenommen. 505
22 Beseitigung der ε-regeln, 2. Teil Entferne alle ε-regeln. Für jede Regel A BC: Falls B V : erzeuge Regel A C, falls C V : erzeuge Regel A B. Resultat: Grammatik vergrößert sich nur um konstanten Faktor. 506
23 Schritt 4: Entf. der Kettenregeln 1. Teilschritt: Äquivalente Variablen entfernen. Erzeuge Graphen: Knoten: Variablen Kante A B, falls Kettenregel A B vorh. Suche mit DFS nach Kreisen A 1 A 2 A 3 A r A 1 Dann sind A 2,,A r zu A 1 äquivalent und können überall durch A 1 ersetzt werden. 507
24 Schritt 4: Entf. der Kettenregeln 2. Teilschritt: Kettenregeln beseitigen Ber. Graphen d. Kettenregeln, ist kreisfrei. Ber. topologische Ordnung A 1,,A r. For i:=r downto 1 do Seien A i α 1,,A i α s die Regeln mit linker Seite A i. Falls A j A i mit j<i vorhanden, lösche A j A i und erzeuge A j α 1,,A j α s. 508
25 Beispiel für den 2. Teilschritt Graph der Kettenregeln (auf A,B,C,D,E): 1 A 3 D a C B E b 2 RS Topologische Nummerierung berechnen Regeln für E: C b, C RS, B b, B RS Regeln für D: C a, (C b) 4 5 Regeln für C: A a, A b, A RS, B a, B b, B RS 509
26 Größenänderung im 4. Schritt Sei A 1,,A r die topol. Ordnung der Var. Im ungünstigen Fall: Alle A r -Regeln werden zu A 1 -,...,A r 1 - Regeln, alle A r 1 -Regeln werden zu A 1 -,...,A r 2 - Regeln, usw. Höchstens Quadrierung der Größe. 510
27 Folgerung Zu jeder kontextfreien Grammatik G gibt es eine äquivalente kontextsensitive Grammatik, also L 2 L 1. Chomsky-Hierarchie L 3 L 2 L 1 L 0 {0 n 1 n } Alle kontextsens. Sprachen sind rekursiv. {w w a = w b = w c } 511
28 Das Wortproblem [T6.3] Wortproblem für kontextfreie Grammatiken Eingabe: Eine kontextfreie Grammatik G, ein Wort w. Frage: Ist w L(G)? Motivation: Entwurf v. Programmiersprachen Wortproblem Programm syntaktisch korrekt? 512
29 CYK-Algorithmus benannt nach Cocke, Younger, Kasami löst das Wortproblem für kontextfreie Grammatiken in Chomsky-Normalform Ansatz: Dynamische Programmierung Rechenzeit O(n 3 P ) zu langsam für Compiler 513
30 CYK-Algorithmus Eingabe: Wort w 1...w n Definiere: V i,j : Menge der Variablen A mit A * w i...w j. Idee: Berechne die Mengen V i,j mit wachsender Differenz j i und speichere die berechneten Mengen. i=j. Dann: V i,i = {A es gibt die Regel A w i } 514
31 CYK-Algorithmus j>i. Dann kann w i...w j aus A hergeleitet werden, wenn A B C * w i... w k w k+1... w j für eine passende Regel A BC und passenden Schnittpunkt k {i,,j 1}. Also: V i,j = { A Regel A BC und k {i,,j 1} mit B V i,k und C V k+1,j } * V i,j : Menge der Variablen A mit A * w i...w j. 515
32 CYK-Algorithmus Entscheidung: w 1...w n L(G) S V 1,n. Rechenzeit: Es sind O(n 2 ) Mengen V i,j zu berechnen. Jede Berechnung kostet O(n P ) Rechenzeit. Rechenzeit O(n 3 P ). Durchprobieren aller k V i,j : Menge der Variablen A mit A * w i...w j. Durchprobieren aller Regeln 516
Umformung NTM DTM. Charakterisierung rek. aufz. Spr. Chomsky-3-Grammatiken (T5.3) Chomsky-0-Grammatik Rek. Aufz.
Chomsky-0-Grammatik Rek. Aufz. Satz T5.2.2: Wenn L durch eine Chomsky-0- Grammatik G beschrieben wird, gibt es eine NTM M, die L akzeptiert. Beweis: Algo von M: Schreibe S auf freie Spur. Iteriere: Führe
MehrTeil 4: Grammatiken und Syntaxanalyse. (Kapitel T5-T7)
Teil 4: Grammatiken und Syntaxanalyse (Kapitel T5-T7) Grammatiken und die Chomsky- Hierarchie [T5.1] Ziel: Regelsysteme zur Erzeugung von Sprachen. Beispiel: arithmetische Ausdrücke können definiert werden
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 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
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
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
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
MehrEndliche Sprachen. Folgerung: Alle endlichen Sprachen sind regulär. Beweis: Sei L={w 1,,w n } Σ*. Dann ist w 1 +L+w n ein regulärer Ausdruck für
Endliche Sprachen Folgerung: Alle endlichen Sprachen sind regulär. Beweis: Sei L={w 1,,w n } Σ*. Dann ist w 1 +L+w n ein regulärer Ausdruck für L. 447 Zusammenfassung Beschreibungsformen für reguläre Sprachen:
MehrDank. 1 Ableitungsbäume. 2 Umformung von Grammatiken. 3 Normalformen. 4 Pumping-Lemma für kontextfreie Sprachen. 5 Pushdown-Automaten (PDAs)
ank Vorlesung Grundlagen der Theoretischen Informatik / Einführung in die Theoretische Informatik I Bernhard Beckert iese Vorlesungsmaterialien basieren ganz wesentlich auf den Folien zu den Vorlesungen
MehrEin Satz der deutschen Sprache besitzt ein Subjekt, ein Prädikat und ein Objekt (SPO).
1 Grammatiken Autor: Tilman Blumenbach Letzte Änderung: 28. Juni 2012 18:15 Ziel von Grammatiken Wollen die Struktur von Sprachen modellieren und charakterisieren. Beispiel Ein Satz der deutschen Sprache
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.
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
MehrTheoretische Informatik I (Grundzüge der Informatik I)
Theoretische Informatik I (Grundzüge der Informatik I) Literatur: Buch zur Vorlesung: Uwe Schöning, Theoretische Informatik - kurzgefasst. Spektrum Akademischer Verlag, Heidelberg/Berlin, 4. Auflage, 2001.
MehrTheoretische Grundlagen der Informatik
Theoretische Grundlagen der Informatik Vorlesung am 10.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
MehrSuche nach einem solchen Kreis. Endlichkeitstest. Vereinigung und Durchschnitt. Abschlusseigenschaften
Endlichkeitstest Eingabe: DFA/NFA M. Frage: Ist die von M akzeptierte Sprache endlich? Nahe liegende Beobachtung: In einem DFA/NFA, der eine unendliche Sprache akzeptiert, muss es einen Kreis geben, der
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
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 /
MehrGrammatiken. Einführung
Einführung Beispiel: Die arithmetischen Ausdrücke über der Variablen a und den Operationen + und können wie folgt definiert werden: a, a + a und a a sind arithmetische Ausdrücke Wenn A und B arithmetische
MehrGrundlagen der Theoretischen Informatik
Grundlagen der Theoretischen Informatik Sommersemester 2015 23.04.2015 Viorica Sofronie-Stokkermans e-mail: sofronie@uni-koblenz.de 1 Bis jetzt 1. Terminologie 2. Endliche Automaten und reguläre Sprachen
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
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 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.
MehrWas bisher geschah: Formale Sprachen
Was bisher geschah: Formale Sprachen Alphabet, Wort, Sprache Operationen und Relationen auf Wörtern und Sprachen Darstellung unendlicher Sprachen durch reguläre Ausdrücke (Syntax, Semantik, Äquivalenz)
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,
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),
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
MehrDie Chomsky Hierarchie
Die Chomsky Hierarchie Slide 1 Die Chomsky Hierarchie Hans U. Simon (RUB) mit Modifikationen von Maike Buchin (RUB) Lehrstuhl Mathematik und Informatik Homepage: http://www.ruhr-uni-bochum.de/lmi Die Chomsky
MehrKapitel 2: Formale Sprachen Kontextfreie Sprachen. reguläre Grammatiken/Sprachen. kontextfreie Grammatiken/Sprachen
reguläre Grammatiken/prachen Beschreibung für Bezeichner in Programmiersprachen Beschreibung für wild cards in kriptsprachen (/* reguläre Ausdrücke */)?; [a-z]; * kontextfreie Grammatiken/prachen Beschreibung
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 Informatik Mitschrift
Theoretische Informatik Mitschrift 2. Grammatiken und die Chomsky-Hierarchie Beispiel: Syntaxdefinition in BNF :=
MehrTheoretische Informatik 2 (WS 2006/07) Automatentheorie und Formale Sprachen / Kontextfreie Sprachen und Kellerautomaten
Inhalt 1 Einführung 2 Automatentheorie und Formale Sprachen Grammatiken Reguläre Sprachen und endliche Automaten Kontextfreie Sprachen und Kellerautomaten Kontextsensitive und Typ 0-Sprachen 3 Berechenbarkeitstheorie
MehrSatz 90 Sei A = (Q, Σ, δ, q 0, F ) ein DFA. Der Zeitaufwand des obigen Minimalisierungsalgorithmus ist O( Q 2 Σ ).
Satz 90 Sei A = (Q, Σ, δ, q 0, F ) ein DFA. Der Zeitaufwand des obigen Minimalisierungsalgorithmus ist O( Q 2 Σ ). Beweis: Für jedes a Σ muss jede Position in der Tabelle nur konstant oft besucht werden.
MehrTheoretische Informatik I
Theoretische nformatik inheit 3 Kontextfreie Sprachen 1. Kontextfreie Grammatiken 2. Pushdown Automaten 3. igenschaften kontextfreier Sprachen Theoretische nformatik inheit 3.1 Kontextfreie Grammatiken
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
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,
MehrPumping-Lemma. Beispiel. Betrachte die kontextsensitive Grammatik G mit den Produktionen. S asbc abc CB HB HB HC HC BC ab ab bb bb bc bc cc cc.
Pumping-Lemma Beispiel Betrachte die kontextsensitive Grammatik G mit den Produktionen S asbc abc CB HB HB HC HC BC ab ab bb bb bc bc cc cc. Sie erzeugt z.b. das Wort aabbcc: S asbc aabcbc aabhbc aabhcc
Mehr2.11 Kontextfreie Grammatiken und Parsebäume
2.11 Kontextfreie Grammatiken und Parsebäume Beispiel: Beispiel (Teil 3): Beweis für L(G) L: Alle Strings aus L der Länge 0 und 2 sind auch in L(G). Als Induktionsannahme gehen wir davon aus, dass alle
MehrKapitel 2: Formale Sprachen Gliederung. 0. Grundbegriffe 1. Endliche Automaten 2. Formale Sprachen 3. Berechnungstheorie 4. Komplexitätstheorie
Gliederung 0. Grundbegriffe 1. Endliche Automaten 2. Formale Sprachen 3. Berechnungstheorie 4. Komplexitätstheorie 2.1. 2.2. Reguläre Sprachen 2.3. Kontextfreie Sprachen 2/1, Folie 1 2015 Prof. Steffen
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?
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). α β
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
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
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
MehrTheoretische Informatik. Grammatiken. Grammatiken. Grammatiken. Rainer Schrader. 9. Juli 2009
Theoretische Informatik Rainer Schrader Institut für Informatik 9. Juli 2009 1 / 41 2 / 41 Gliederung die Chomsky-Hierarchie Typ 0- Typ 3- Typ 1- Die Programmierung eines Rechners in einer höheren Programmiersprache
MehrFunktionale Programmierung mit Haskell
Funktionale Programmierung mit Haskell Prof. Dr. Hans J. Schneider Lehrstuhl für Programmiersprachen und Programmiermethodik Friedrich-Alexander-Universität Erlangen-Nürnberg Sommersemester 2011 I. Die
MehrGrundlagen der Informatik II
Grundlagen der Informatik II Dr.-Ing. Sven Hellbach S. Hellbach Grundlagen der Informatik II Abbildungen entnommen aus: Dirk W. Hoffmann: Theoretische Informatik; Hanser Verlag 2011, ISBN: 978-3-446-42854-6
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
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
MehrFORMALE SYSTEME. Sprachen beschreiben. Wiederholung. Wie kann man Sprachen beschreiben? 2. Vorlesung: Grammatiken und die Chomsky-Hierarchie
Wiederholung FORMALE SYSTEME 2. Vorlesung: Grammatiken und die Chomsky-Hierarchie Markus Krötzsch Formale Sprachen sind in Praxis und Theorie sehr wichtig Ein Alphabet ist eine nichtleere, endliche Menge
MehrDatenstrukturen & Algorithmen Lösungen zu Blatt 6 FS 14
Eidgenössische Technische Hochschule Zürich Ecole polytechnique fédérale de Zurich Politecnico federale di Zurigo Federal Institute of Technology at Zurich Institut für Theoretische Informatik 2. April
Mehr6 Modellierung von Strukturen 6.1 Kontextfreie Grammatiken
6 Modellierung von Strukturen 6.1 Kontextfreie Grammatiken Mod-6.1 Kontextfreie Grammatik (KFG): formaler Kalkül, Ersetzungssystem; definiert Sprache als Menge von Sätzen; jeder Satz ist eine Folge von
MehrGrammatiken und die Chomsky-Hierarchie
Grammatiken und die Chomsky-Hierarchie Def.: Eine Grammatik G=(Σ,V,S,R) besteht aus endlichem Alphabet Σ endlicher Variablenmenge V mit V Σ= Startsymbol SєV endlicher Menge R с (V Σ) + x(v Σ)* von Ableitungsregeln
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
MehrWS 2009/10. Diskrete Strukturen
WS 2009/10 Diskrete Strukturen Prof. Dr. J. Esparza Lehrstuhl für Grundlagen der Softwarezuverlässigkeit und theoretische Informatik Fakultät für Informatik Technische Universität München http://www7.in.tum.de/um/courses/ds/ws0910
MehrProseminar 1999/2000
1 1 Proseminar 1999/2000 2 Thema Syntaktische Analyse von Programmiersprachen Ausarbeitung von Kapitel II Kontextfreie Grammatiken Autor Michael Bergau Student der Informatik und Mathematik an der Universität
MehrKapitel: Kontextfreie Sprachen. Kontextfreie Sprachen 1 / 78
Kapitel: Kontextfreie Sprachen Kontextfreie Sprachen 1 / 78 Die Syntax von Programmiersprachen Wie lässt sich die Syntax einer Programmiersprache definieren, so dass die nachfolgende Syntaxanalyse effizient
MehrÜbungen zur Vorlesung Einführung in die Theoretische Informatik, Blatt 12 LÖSUNGEN
Universität Heidelberg / Institut für Informatik 7. Juli 24 Prof. Dr. Klaus Ambos-Spies Nadine Losert Übungen zur Vorlesung Einführung in die Theoretische Informatik, Blatt 2 LÖSUNGEN Aufgabe Verwenden
MehrVorlesung Theoretische Informatik
Vorlesung Theoretische Informatik Automaten und Formale Sprachen Hochschule Reutlingen Fakultät für Informatik Masterstudiengang Wirtschaftsinformatik überarbeitet von F. Laux (Stand: 09.06.2010) Sommersemester
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
MehrKapitel 2: Formale Sprachen Gliederung
Gliederung 0. Einleitung und Grundbegriffe 1. Endliche Automaten 2. Formale Sprachen 3. Berechnungstheorie 4. Komplexitätstheorie 2.1. Chomsky-Grammatiken 2.2. Reguläre Sprachen 2.3. Kontextfreie Sprachen
MehrSprachen und Programmiersprachen
Sprachen und Programmiersprachen Natürliche Sprachen versus Programmiersprachen / Spezifikationssprachen Syntax legt die grammatikalische Korrektheit fest. Semantik legt die Bedeutung von syntaktisch korrekten
MehrMotivation natürliche Sprachen
Motivation natürliche Sprachen (Satz) (Substantivphrase)(Verbphrase) (Satz) (Substantivphrase)(Verbphrase)(Objektphrase) (Substantivphrase) (Artikel)(Substantiv) (Verbphrase) (Verb)(Adverb) (Substantiv)
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
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
MehrGrundlagen Theoretischer Informatik 2 WiSe 2009/10 in Trier. Henning Fernau Universität Trier
Grundlagen Theoretischer Informatik 2 WiSe 2009/10 in Trier Henning Fernau Universität Trier fernau@uni-trier.de 1 Grundlagen Theoretischer Informatik 2 Gesamtübersicht Organisatorisches; inführung rsetzungsverfahren:
Mehr16. Die Chomsky-Hierarchie
16. Die Chomsky-Hierarchie Die Chomsky-Sprachen sind gerade die rekursiv aufzählbaren Sprachen: CH = RA Da es nicht rekursive (d.h. unentscheidbare) r.a. Sprachen gibt, ist das Wortproblem für Chomsky-Grammatiken,
MehrGrundlagen der Informatik II. Teil I: Formale Modelle der Informatik
Grundlagen der Informatik II Teil I: Formale Modelle der Informatik 1 Einführung GdInfoII 1-2 Ziele/Fragestellungen der Theoretischen Informatik 1. Einführung abstrakter Modelle für informationsverarbeitende
MehrMusterlösung zur Hauptklausur Theoretische Grundlagen der Informatik Wintersemester 2013/14
Institut für Theoretische Informatik Prof. Dr. Jörn Müller-Quade Musterlösung zur Hauptklausur Theoretische Grundlagen der Informatik Wintersemester 23/4 Vorname Nachname Matrikelnummer Hinweise Für die
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
MehrTheoretische Informatik Mitschrift
6. Kontextfreie Sprachen Theoretische Informatik Mitschrift Typ-2-Grammatiken: Regeln der Form A mit A N und N * Beispiel: Grammatik für arithmetische Ausdrücke G= {E,T,F },{,,,,a}, P, E, P : E ET T T
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
MehrEINFÜHRUNG IN DIE THEORETISCHE INFORMATIK
EINFÜHRUNG IN DIE THEORETISCHE INFORMATIK Prof. Dr. Klaus Ambos-Spies Sommersemester 2012 17. DIE KONTEXTFREIEN SPRACHEN II: ABSCHLUSSEIGENSCHAFTEN, MASCHINENCHARAKTERISIERUNG, KOMPLEXITÄT Theoretische
Mehr7. Formale Sprachen und Grammatiken
7. Formale Sprachen und Grammatiken Computer verwenden zur Verarbeitung von Daten und Informationen künstliche, formale Sprachen (Maschinenspr., Assemblerspachen, Programmierspr., Datenbankspr., Wissensrepräsentationsspr.,...)
MehrAufgabe 4.2 Sei G = (V, E, l) ein ungerichteter, gewichteter und zusammenhängender Graph.
Aufgabe 4.2 Sei G = (V, E, l) ein ungerichteter, gewichteter und zusammenhängender Graph. a) Es seien W 1 = (V, E 1 ), W 2 = (V, E 2 ) Untergraphen von G, die beide Wälder sind. Weiter gelte E 1 > E 2.
Mehrliefern eine nicht maschinenbasierte Charakterisierung der regulären
Reguläre Ausdrücke 1 Ziel: L=L M für NFA M L=L(r) für einen regulären Ausdruck r Reguläre Ausdrücke über einem Alphabet Σ Slide 1 liefern eine nicht maschinenbasierte Charakterisierung der regulären Sprachen
MehrWerkzeuge zur Programmentwicklung
Werkzeuge zur Programmentwicklung B-15 Bibliothek Modulschnittstellen vorübersetzte Module Eingabe Editor Übersetzer (Compiler) Binder (Linker) Rechner mit Systemsoftware Quellmodul (Source) Zielmodul
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
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
MehrTheoretische Informatik 2 (WS 2006/07) Automatentheorie und Formale Sprachen 19
Inhalt 1 inführung 2 Automatentheorie und ormale prachen Grammatiken Reguläre prachen und endliche Automaten Kontextfreie prachen und Kellerautomaten Kontextsensitive und yp 0-prachen 3 Berechenbarkeitstheorie
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
EINFÜHRUNG IN DIE THEORETISCHE INFORMATIK Prof. Dr. Klaus Ambos-Spies Sommersemester 2011 17. DIE CHOMSKY-HIERARCHIE Theoretische Informatik (SoSe 2011) 17. Die Chomsky-Hierarchie 1 / 15 Einleitung Die
MehrVorlesung 04.12.2006: Binäre Entscheidungsdiagramme (BDDs) Dr. Carsten Sinz
Vorlesung 04.12.2006: Binäre Entscheidungsdiagramme (BDDs) Dr. Carsten Sinz Datenstruktur BDD 1986 von R. Bryant vorgeschlagen zur Darstellung von aussagenlogischen Formeln (genauer: Booleschen Funktionen)
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
MehrSpeicherplatz-Komplexität 1 / 30
Speicherplatz-Komplexität 1 / 30 Speicherplatz-Komplexität Warum sollte uns die Ressource Speicherplatz interessieren? Um die Komplexität der Berechnung von Gewinnstrategien für viele nicht-triviale 2-Personen
MehrTutorium zur theoretischen Informatik Übungsblatt 4 (2006-12-13)
Ein verständiges Herz erwirbt Kenntnisse, und das Ohr der Weisen lauscht dem Wissen. (Die Bibel, "Buch der Sprüche", Kapitel 18 Vers 15) Inhalt 1. Empfehlenswerte Referenzen 2. Aufgabe 1 CF Grammatik für
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
MehrGrundbegriffe der Informatik
Grundbegriffe der Informatik Einheit 15: Reguläre Ausdrücke und rechtslineare Grammatiken Thomas Worsch Universität Karlsruhe, Fakultät für Informatik Wintersemester 2008/2009 1/25 Was kann man mit endlichen
MehrBinary Decision Diagrams (Einführung)
Binary Decision Diagrams (Einführung) Binary Decision Diagrams (BDDs) sind bestimmte Graphen, die als Datenstruktur für die kompakte Darstellung von booleschen Funktionen benutzt werden. BDDs wurden von
MehrFormale Sprachen, reguläre und kontextfreie Grammatiken
Formale Sprachen, reguläre und kontextfreie Grammatiken Alphabet A: endliche Menge von Zeichen Wort über A: endliche Folge von Zeichen aus A A : volle Sprache über A: Menge der A-Worte formale Sprache
MehrFortgeschrittene Netzwerk- und Graph-Algorithmen
Fortgeschrittene Netzwerk- und Graph-Algorithmen Prof. Dr. Hanjo Täubig Lehrstuhl für Effiziente Algorithmen (Prof. Dr. Ernst W. Mayr) Institut für Informatik Technische Universität München Wintersemester
Mehr1.2 LOOP-, WHILE- und GOTO-Berechenbarkeit
Die Programmiersprache LOOP (i) Syntaktische Komponenten: Variable: x 0, x 1, x 2,... Konstanten: 0, 1, 2,... Trennsymbole: ; := Operationszeichen: + Schlüsselwörter: LOOP DO END (ii) LOOP-Programme: Wertzuweisungen:
MehrInformatik II, SS 2014
Informatik II SS 2014 (Algorithmen & Datenstrukturen) Vorlesung 13 (18.6.2014) Binäre Suchbäume IV (Rot Schwarz Bäume) Algorithmen und Komplexität Rot Schwarz Bäume Ziel: Binäre Suchbäume, welche immer
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 ),
Mehr1 Die Chomsky-Hirachie
Hans U. imon Bochum, den 7.10.2008 Annette Ilgen Beispiele zur Vorlesung Theoretische Informatik W 09/10 Vorbemerkung: Hier findet sich eine ammlung von Beispielen und Motivationen zur Vorlesung Theoretische
Mehr14. Rot-Schwarz-Bäume
Bislang: Wörterbuchoperationen bei binären Suchbäume effizient durchführbar, falls Höhe des Baums klein. Rot-Schwarz-Bäume spezielle Suchbäume. Rot-Schwarz-Baum mit n Knoten hat Höhe höchstens 2 log(n+1).
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
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,
MehrKlausur Informatik-Propädeutikum (Niedermeier/Hartung/Nichterlein, Wintersemester 2012/13)
Berlin, 21. Februar 2013 Name:... Matr.-Nr.:... Klausur Informatik-Propädeutikum (Niedermeier/Hartung/Nichterlein, Wintersemester 2012/13) 1 2 3 4 5 6 7 8 9 Σ Bearbeitungszeit: 90 min. max. Punktezahl:
MehrBinäre Suchbäume. Mengen, Funktionalität, Binäre Suchbäume, Heaps, Treaps
Binäre Suchbäume Mengen, Funktionalität, Binäre Suchbäume, Heaps, Treaps Mengen n Ziel: Aufrechterhalten einer Menge (hier: ganzer Zahlen) unter folgenden Operationen: Mengen n Ziel: Aufrechterhalten einer
MehrGrundlagen der Theoretischen Informatik / Einführung in die Theoretische Informatik I. Ulrich Furbach. Sommersemester 2014
Vorlesung Grundlagen der Theoretischen Informatik / Einführung in die Theoretische Informatik I Ulrich Furbach Institut für Informatik Sommersemester 2014 Furbach Grundlagen d. Theoretischen Informatik:
Mehr