2.1 Allgemeines. Was ist eine Sprache? Beispiele:

Save this PDF as:
 WORD  PNG  TXT  JPG

Größe: px
Ab Seite anzeigen:

Download "2.1 Allgemeines. Was ist eine Sprache? Beispiele:"

Transkript

1 Was ist eine Sprache? Beispiele: (a) Deutsch, Japanisch, Latein, Esperanto,...: Natürliche Sprachen (b) Pascal, C, Java, Aussagenlogik,...: Formale Sprachen Wie beschreibt man eine Sprache? (i) Syntax (ii) Semantik (a) (i) Grammatik (ii) Wörterbuch : Semantik durch Übersetzung (b) (i) Formale Beschreibung der Syntax (ii) Formale Beschreibung der Semantik Prof. Dr. F. Otto (Universität Kassel) Berechenbarkeit und Formale Sprachen 144 / 313

2 Hier: Formale Methoden zur Beschreibung der Syntax von Formalen Sprachen Was ist eine Formale Sprache? Ein Alphabet Σ ist eine endliche, nicht-leere Menge, deren Elemente Buchstaben, Zeichen oder Symbole genannt werden. Beispiele: Σ 1 := {a, b} Σ 2 := {(,),+,,,/, a} Σ 3 := {der,die,das,kleine,große,bissige,jagt,hund,katze} Prof. Dr. F. Otto (Universität Kassel) Berechenbarkeit und Formale Sprachen 145 / 313

3 Durch Hintereinanderschreiben von Zeichen erhält man Wörter. n 1 : Σ n = Wörter der Länge n über Σ ε = Wort der Länge 0 (leeres Wort) Σ + := Σ n nicht-leere Wörter über Σ n 1 Σ := Σ + {ε} Wörter über Σ Eine Formale Sprache über Σ ist eine Teilmenge L von Σ. Prof. Dr. F. Otto (Universität Kassel) Berechenbarkeit und Formale Sprachen 146 / 313

4 Wie beschreibt man eine Formale Sprache? (A) Generative Beschreibungsmittel: Grammatiken (B) Analysierende Beschreibungsmittel: Automaten Prof. Dr. F. Otto (Universität Kassel) Berechenbarkeit und Formale Sprachen 147 / 313

5 Beispiel einer Grammatik: Satz Subjekt Artikel Artikel Artikel Artikel Attribut Attribut Attribut Adjektiv kleine Adjektiv große Adjektiv bissige Substantiv Hund Substantiv Katze Subjekt Prädikat Objekt Artikel Attribut Substantiv ε der die das ε Adjektiv Adjektiv Attribut Prädikat jagt Objekt Artikel Attribut Substantiv Prof. Dr. F. Otto (Universität Kassel) Berechenbarkeit und Formale Sprachen 148 / 313

6 Diese Grammatik erzeugt eine Sprache L 3 Σ 3, z.b.: Satz Subj Präd Obj Art Attr Subst Art Attr Subst Adj Attr Adj Adj der kleine bissige Hund jagt die große Katze Syntaxbaum Prof. Dr. F. Otto (Universität Kassel) Berechenbarkeit und Formale Sprachen 149 / 313

7 Beachte: L 3 ist unendlich. der kleine große Katze jagt das bissige Hund L 3, d.h. nur syntaktische, nicht semantische Korrektheit wird durch Grammatiken festgelegt. Prof. Dr. F. Otto (Universität Kassel) Berechenbarkeit und Formale Sprachen 150 / 313

8 2.1.1 Grammatiken Definition 2.1 Eine Grammatik ist ein 4-Tupel G = (V, Σ, P, S): V endliche Menge von Variablen oder Nichtterminalzeichen Σ Terminalalphabet V Σ = S V Startvariable P (V Σ) + (V Σ) endliche Menge von Produktionen (l r) P : l V > 0 l V := V Länge von l : ε V = 0 { w V + 1 für a V wa V = w V für a V Prof. Dr. F. Otto (Universität Kassel) Berechenbarkeit und Formale Sprachen 151 / 313

9 Ableitungsrelation G über (V Σ) : u G v gdw. x, z (V Σ) (l r) P : u = xlz und v = xrz. u 0 G v gdw. u = v u 1 G v gdw. u G v u n+1 G v gdw. w (V Σ) : u n G w G v u + G v gdw. n 1 : u n G v u G v gdw. n 0 : u n G v Prof. Dr. F. Otto (Universität Kassel) Berechenbarkeit und Formale Sprachen 152 / 313

10 Lemma 2.2 G ist die kleinste reflexive und transitive Relation auf (V Σ), die G umfasst. Beweis: u (V Σ) : u G u, denn: u 0 G u. u, v, w : u G v und v G w, so u G w, denn: u i G v und v j G w, so u i+j G w. Also: G ist reflexiv und transitiv, und G = 1 G G gilt. Sei nun R (V Σ) (V Σ) reflexiv und transitiv mit G R. Dann: 0 G R, da R reflexiv. 1 G R nach Voraussetzung n+1 G = n G G, d.h. n G R und Transitivität ergibt n+1 G R. Also: G = ( n G ) R. n 0 Prof. Dr. F. Otto (Universität Kassel) Berechenbarkeit und Formale Sprachen 153 / 313

11 Sprache L(G), die von G erzeugt wird: L(G) := { w Σ S G w }. Ist w L(G), so gibt es n 1 und w 0, w 1,...,w n (V Σ) mit w 0 = S, w i G w i+1 für alle i = 0,...,n 1, w n = w. (w 0, w 1,...,w n ) ist eine Ableitung von w in G. ˆL(G) := { w (V Σ) S G w } Sprache der Satzformen von G. Prof. Dr. F. Otto (Universität Kassel) Berechenbarkeit und Formale Sprachen 154 / 313

12 Beispiel 1 G := ({E, T, F},{(,), a,+, }, P, E) mit P := { E T, E E + T, T F, T T F, F a, F (E) } G liefert korrekt geklammerte arithmetische Ausdrücke: E E + T T + T T F + T T F F + T F F F + T a F F + T a a F + T a a (E)+T a a (E + T)+T a a (T + T)+T a a (F + T)+T a a (a+t)+t a a (a+f)+t a a (a+a)+t a a (a+a)+f a a (a+a)+a L(G). Prof. Dr. F. Otto (Universität Kassel) Berechenbarkeit und Formale Sprachen 155 / 313

13 E E T T T F F T F E F E T F T F a a ( a + a ) + a Syntaxbaum Prof. Dr. F. Otto (Universität Kassel) Berechenbarkeit und Formale Sprachen 156 / 313

14 Beispiel 2 G := (V,Σ, P, S) mit V := {S, B, C} Σ := {a, b, c} P := { S asbc, ab ab, S abc, bb bb, CB BC, bc bc, cc cc} S asbc aasbcbc aaabcbcbc aaabbccbc aaabbcbcc aaabbbccc aaabbbccc aaabbbccc aaabbbccc aaabbbccc aaabbbccc aaabbbccc = a 3 b 3 c 3 L(G). Prof. Dr. F. Otto (Universität Kassel) Berechenbarkeit und Formale Sprachen 157 / 313

15 Behauptung: L(G) = { a n b n c n n 1}. Beweis: : Sei n 1. Dann gilt: S n 1 a n 1 S(BC) n 1 a n (BC) n a n B n C n a n b n c n. : Sei w (V Σ) mit w ˆL(G), d.h. S w. Dann gilt: w {a} = w {b,b} = w {c,c}. Gilt S + w, so ist w = a k x mit k 1 und x {a} = 0. Genauer: x = Sy mit y {B, C} 2k oder x {b, B, c, C} 2k. Aus der Form der Regeln folgt: Gilt w = a k x z Σ, so ist z = a k b k c k. Prof. Dr. F. Otto (Universität Kassel) Berechenbarkeit und Formale Sprachen 158 / 313

16 Der Ableitungsprozess ist nichtdeterministisch, d.h. G ist i.a. keine Funktion: bcb bcb bbc bbc bbc Prof. Dr. F. Otto (Universität Kassel) Berechenbarkeit und Formale Sprachen 159 / 313

17 Kapitel 2: Automatentheorie und Formale Sprachen Die Menge aller Ableitungen lässt sich durch einen i.a. unendlichen Baum beschreiben: aasbcbc asbc aabcbc S aabcbc aabbcc abc abc abc Prof. Dr. F. Otto (Universität Kassel) Berechenbarkeit und Formale Sprachen 160 / 313

18 2.1.2 Chomsky-Hierarchie Noam Chomsky, Linguist, MIT (1956) Definition 2.3 Sei G = (V,Σ, P, S). Typ 0: Jede Grammatik ist vom Typ 0. Typ 1: G ist vom Typ 1 (kontext-sensitiv), wenn jede Regel (l r) P die Gestalt uav uxv mit A V, u, v (V Σ) und x (V Σ) + hat. G ist monoton, wenn für jede Regel (l r) P, l r gilt. Typ 2: Eine Typ 1-Grammatik ist vom Typ 2 (kontext-frei), wenn für jede Regel (l r) P, l V ist. Typ 3: Eine Typ 2-Grammatik ist vom Typ 3 (regulär), wenn für jede Regel (l r) P, r Σ ΣV ist. Prof. Dr. F. Otto (Universität Kassel) Berechenbarkeit und Formale Sprachen 161 / 313

19 Lemma 2.4 Für jede monotone Grammatik G gibt es eine kontext-sensitive 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 1 := (V {D a, D b, D c },Σ, P 1, S) : P 1 := {S D a SBC, S D a BC, CB BC, D a B D a D b, D b B D b D b, D b C D b D c, D c C D c D c } {D a a, D b b, D c c}. (ii) G := (V {D a, D b, D c } {Z 1, Z 2 },Σ, P, S) : P := P 1 {CB BC} {CB Z 1 B, Z 1 B Z 1 Z 2, Z 1 Z 2 BZ 2, BZ 2 BC}. Prof. Dr. F. Otto (Universität Kassel) Berechenbarkeit und Formale Sprachen 162 / 313

20 Problem der ε-regeln Ist G eine Typ 1-Grammatik, so ist ε L(G). Sonderfall: Eine Typ 1-Grammatik G = (V,Σ, P, S) darf die Regel S ε enthalten. Dann darf S aber auf keiner rechten Regelseite vorkommen. Konstruktion: Sei G = (V,Σ, P, S ) eine Typ 1-Grammatik mit L(G ) = L {ε}. Wähle G := (V {S},Σ, P, S) mit P := P {S ε, S S }. Dann ist G eine Typ 1-Grammatik mit L(G) = L. Dies geht auch für Typ 2-Grammatiken. Prof. Dr. F. Otto (Universität Kassel) Berechenbarkeit und Formale Sprachen 163 / 313

21 Eine Grammatik G = (V,Σ, P, S) mit P V (V Σ) heißt allgemein kontext-frei. Hier: beliebige ε-regeln der Form A ε möglich! Prof. Dr. F. Otto (Universität Kassel) Berechenbarkeit und Formale Sprachen 164 / 313

22 Lemma 2.5 Zu jeder allgemein kontext-freien Grammatik G gibt es eine Typ 2-Grammatik G mit L(G) = L(G ). Beweis: Wir betrachten den Fall, dass ε L(G) ist. Aufgabe: Elimination aller ε-regeln. (1.) Bestimme V 1 := { A V A G ε}: V (1) 1 := { A V (A ε) P} V (n+1) 1 := V (n) 1 { A V r V (n) 1 : (A r) P}. Dann: V 1 = n 1 V (n) 1 = V ( V ) 1. (2.) Streiche alle ε-regeln. (3.) B xay mit A V 1 und xy ε: neue Regel B xy einfügen. Prof. Dr. F. Otto (Universität Kassel) Berechenbarkeit und Formale Sprachen 165 / 313

23 Beispiel aus 2.1: Subjekt Artikel Attribut Substantiv Objekt Artikel Attribut Substantiv Artikel ε Attribut ε. ergibt folgende Regeln: Subjekt Artikel Attribut Substantiv Subjekt Attribut Substantiv Subjekt Artikel Substantiv Subjekt Substantiv Objekt... Prof. Dr. F. Otto (Universität Kassel) Berechenbarkeit und Formale Sprachen 166 / 313

24 Definition 2.6 Sei L Σ eine Sprache. L ist vom Typ 0/Typ 1/Typ 2/Typ 3, wenn es eine Grammatik G = (V,Σ, P, S) vom Typ 0/Typ 1/Typ 2/Typ 3 gibt mit L = L(G). L i (i {0, 1, 2, 3}) bezeichnet die Klasse der Typ i-sprachen. L 3 L 2 L 1 L 0 Chomsky Hierarchie Alle diese Inklusionen sind echt: L := { a n b n n 1} L 2 L 3 L := { a n b n c n n 1} L 1 L 2 L := H L 0 L 1 (Kap. 1) Prof. Dr. F. Otto (Universität Kassel) Berechenbarkeit und Formale Sprachen 167 / 313

25 Das Wortproblem für eine Sprache L Σ : Eingabe: w Σ. Frage: Ist w L? Eine Sprache L ist entscheidbar (rekursiv), wenn ihr Wortproblem algorithmisch entscheidbar ist. Eine Sprache L ist rekursiv aufzählbar (r.a.), wenn es eine Prozedur gibt, die bei Eingabe von w Σ genau dann terminiert, wenn w L gilt. Alle Typ 1-Sprachen sind entscheidbar. Die Typ 0-Sprachen sind die r.a. Sprachen. Prof. Dr. F. Otto (Universität Kassel) Berechenbarkeit und Formale Sprachen 168 / 313

26 Satz 2.7 Nicht jede Sprache L {a} ist vom Typ 0. Beweis: Jede Typ 0-Sprache wird von einer Grammatik erzeugt. Eine Grammatik lässt sich durch eine endliche Zeichenfolge beschreiben. Es gibt nur abzählbar viele Grammatiken. Es gibt nur abzählbar viele Typ 0-Sprachen. Prof. Dr. F. Otto (Universität Kassel) Berechenbarkeit und Formale Sprachen 169 / 313

27 Behauptung: Beweis: 2 {a} ist überabzählbar. indirekt: angenommen 2 {a} wäre abzählbar, d.h. Bijektion ϕ : N 2 {a}. Betrachte folgende Sprache D {a} : a n D gdw. a n ϕ(n). ϕ ist Bijektion, d.h. m N : ϕ(m) = D. Dann gilt: a m D gdw. a m ϕ(m) gdw. a m D. Widerspruch! Prof. Dr. F. Otto (Universität Kassel) Berechenbarkeit und Formale Sprachen 170 / 313

28 Klasse aller Sprachen Typ 0-Sprachen = r.a. Sprachen entscheidbare Sprachen Typ 1-Sprachen = kontext-sensitive Sprachen Typ 2-Sprachen = kontext-freie Sprachen Typ 3-Sprachen = reguläre Sprachen endliche Sprachen Hierarchie der Sprachklassen Prof. Dr. F. Otto (Universität Kassel) Berechenbarkeit und Formale Sprachen 171 / 313

29 2.1.3 Wortproblem Sei G = (V, Σ, P, S) eine Typ 1-Grammatik, und sei S x 1... x k = x eine Ableitung für ein Wort x Σ n. Dann: Aber: Satz 2.8 x i n für alle i = 1,...,k. n (V Σ) i = n ( V + Σ ) i = ( V + Σ )n+1 1 V + Σ 1 i=0 i=0 Es gibt einen Algorithmus, der bei Eingabe einer Typ 1-Grammatik G = (V,Σ, P, S) und eines Wortes x Σ in endlich vielen Schritten entscheidet, ob x L(G) oder x L(G) gilt. Prof. Dr. F. Otto (Universität Kassel) Berechenbarkeit und Formale Sprachen 172 / 313

30 Beweis: Tm n := { w (V Σ) w n und S k G w für ein k m} Tm n erhalten wir induktiv über m (für alle n 1): T n 0 := {S}, T n m+1 := Abl n(t n m), wobei Abl n (X) := X { w (V Σ) w n und w G w für ein w X }. Dann: T0 n T 1 n... T m n Tm+1 n... Tk n. Aber Tk n n (V Σ) i, d.h. k 0 i=0 m : T n m = T n m+1 =... = k 0 T n k. Also: x L(G) gdw. x T n m. Tk n k 0 k 0 ist endlich. Prof. Dr. F. Otto (Universität Kassel) Berechenbarkeit und Formale Sprachen 173 / 313

31 Algorithmus zur Lösung des Wortproblems: Eingabe: (G, x); begin n := x ; T := {S}; repeat T 1 := T ; T := Abl n (T 1 ) until (x T) or (T = T 1 ); if x T then Ausgabe: x liegt in L(G) else Ausgabe: x liegt nicht in L(G) end Bemerkung: exponentielle Laufzeit O(c n ) Prof. Dr. F. Otto (Universität Kassel) Berechenbarkeit und Formale Sprachen 174 / 313

32 Beispiel 2 (aus 2.1.1): P : S asbc, S abc, CB BC, ab ab, bb bb, bc bc, cc cc Für n = 4: T 4 0 = {S} T 4 1 T 4 2 T 4 3 = {S, asbc, abc} = {S, asbc, abc, abc} = {S, asbc, abc, abc, abc} T 4 4 = T 4 3 Also: L(G) { x {a, b, c} x 4} = {abc}. Prof. Dr. F. Otto (Universität Kassel) Berechenbarkeit und Formale Sprachen 175 / 313

33 2.1.4 Syntaxbäume Sei G = (V, Σ, P, S) eine Typ 2-Grammatik, und sei S = x 0 x 1 x 2... x n = x eine Ableitung für ein Wort x L(G). Beschreibung dieser Ableitung durch einen Syntaxbaum: Wurzel mit Markierung S Schritt i: x i 1 = uav urv = x i mit u, v (V Σ), (A r) P, so füge zum Knoten mit Markierung A r Söhne ein, die von links nach rechts mit den Zeichen von r markiert werden. Prof. Dr. F. Otto (Universität Kassel) Berechenbarkeit und Formale Sprachen 176 / 313

34 Beispiel 1: G = ({S},{a, b},{s as, S b}, S) : S a S a S a S b Prof. Dr. F. Otto (Universität Kassel) Berechenbarkeit und Formale Sprachen 177 / 313

35 Beispiel 1 (aus 2.1.1): (1.) E T T F F F a F a a (2.) E T T F T a F a a a E T T F F a a (1) Linksableitung (2) Rechtsableitung Prof. Dr. F. Otto (Universität Kassel) Berechenbarkeit und Formale Sprachen 178 / 313

36 Für eine Typ 2-Grammatik G = (V,Σ, P, S) und ein Wort x Σ sind äquivalent: (a) x L(G) (b) Syntaxbaum mit Markierung x an den Blättern (c) Linksableitung von x in G. (d) Rechtsableitung von x in G. Definition 2.9 Eine Typ 2-Grammatik G heißt eindeutig, wenn es für jedes Wort x L(G) nur einen Syntaxbaum gibt, andernfalls heißt G mehrdeutig. Prof. Dr. F. Otto (Universität Kassel) Berechenbarkeit und Formale Sprachen 179 / 313

37 Beispiel 2: G = ({S, A, B},{a, b, c}, P, S) mit P := {S ab, S Ac, A ab, B bc}: a S b B c a A S b c G ist mehrdeutig. G := ({S},{a, b, c},{s abc}, S) ist eindeutig mit L(G ) = L(G). Prof. Dr. F. Otto (Universität Kassel) Berechenbarkeit und Formale Sprachen 180 / 313

38 Beispiel 3: G = ({T},{1, 2,...,9,+, },{T T + T T T 1 2 9}, T): T T + T T T T T T T + T Prof. Dr. F. Otto (Universität Kassel) Berechenbarkeit und Formale Sprachen 181 / 313

39 Beispiel 3: G = ({T},{1, 2,...,9,+, },{T T + T T T 1 2 9}, T): T 8 T 5 + T 3 T 9 T T T T T + T Prof. Dr. F. Otto (Universität Kassel) Berechenbarkeit und Formale Sprachen 181 / 313

40 Beispiel 3: G = ({T},{1, 2,...,9,+, },{T T + T T T 1 2 9}, T): T 8 T 5 + T 3 T 9 T 4 T 2 T 9 T 7 T 4 + T Prof. Dr. F. Otto (Universität Kassel) Berechenbarkeit und Formale Sprachen 181 / 313

41 Definition 2.10 Eine Typ 2-Sprache L heißt inhärent mehrdeutig, wenn jede Typ 2-Grammatik G mit L = L(G) mehrdeutig ist. L := { a i b j c k i = j oder j = k }: inhärent mehrdeutig. Kann man einer Grammatik (einer Sprache) ansehen, ob sie (inhärent) mehrdeutig ist? Prof. Dr. F. Otto (Universität Kassel) Berechenbarkeit und Formale Sprachen 182 / 313

42 2.1.5 Backus-Naur-Form Kompakte Notation für Typ 2-Regelmengen: (1.) A β 1 β 2... β n statt A β 1,...,A β n (2.) A α[β]γ statt A αγ, A αβγ (3.) A α{β}γ statt A αγ, A αbγ B β, B βb (1.) : BNF (1.-3.) : erweiterte BNF (EBNF) Mit BNF und EBNF lassen sich gerade die Typ 2-Sprachen darstellen. Prof. Dr. F. Otto (Universität Kassel) Berechenbarkeit und Formale Sprachen 183 / 313

Lemma Für jede monotone Grammatik G gibt es eine kontextsensitive

Lemma 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

Mehr

Theoretische Informatik I (Grundzüge der Informatik I)

Theoretische 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.

Mehr

Formale Sprachen. Script, Kapitel 4. Grammatiken

Formale 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

Mehr

Grundbegriffe. Grammatiken

Grundbegriffe. 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

Alphabet, formale Sprache

Alphabet, 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

Mehr

Grammatiken. 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. 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 /

Mehr

Theoretische Informatik Mitschrift

Theoretische Informatik Mitschrift Theoretische Informatik Mitschrift 2. Grammatiken und die Chomsky-Hierarchie Beispiel: Syntaxdefinition in BNF :=

Mehr

Kapitel: Die Chomsky Hierarchie. Die Chomsky Hierarchie 1 / 14

Kapitel: 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

Die Chomsky Hierarchie

Die 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

Mehr

7. Formale Sprachen und Grammatiken

7. 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.,...)

Mehr

Formale Sprachen. Grammatiken und die Chomsky-Hierarchie. Rudolf FREUND, Marian KOGLER

Formale 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.

Mehr

Theoretische Informatik für Wirtschaftsinformatik und Lehramt

Theoretische Informatik für Wirtschaftsinformatik und Lehramt Theoretische Informatik für Wirtschaftsinformatik und Lehramt Reguläre Sprachen Priv.-Doz. Dr. Stefan Milius stefan.milius@fau.de Theoretische Informatik Friedrich-Alexander Universität Erlangen-Nürnberg

Mehr

Was bisher geschah: Formale Sprachen

Was 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)

Mehr

Grundlagen der Theoretischen Informatik

Grundlagen 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

Mehr

Umformung NTM DTM. Charakterisierung rek. aufz. Spr. Chomsky-3-Grammatiken (T5.3) Chomsky-0-Grammatik Rek. Aufz.

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

Mehr

2.4 Kontextsensitive und Typ 0-Sprachen

2.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

Mehr

Kapitel 2: Formale Sprachen Gliederung. 0. Grundbegriffe 1. Endliche Automaten 2. Formale Sprachen 3. Berechnungstheorie 4. Komplexitätstheorie

Kapitel 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

Mehr

kontextfreie Grammatiken Theoretische Informatik kontextfreie Grammatiken kontextfreie Grammatiken Rainer Schrader 14. Juli 2009 Gliederung

kontextfreie 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

Mehr

Teil 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 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 ),

Mehr

Theorie der Informatik

Theorie 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

Mehr

1. Der Begriff Informatik 2. Syntax und Semantik von Programmiersprachen. I.2. I.2. Grundlagen von von Programmiersprachen.

1. Der Begriff Informatik 2. Syntax und Semantik von Programmiersprachen. I.2. I.2. Grundlagen von von Programmiersprachen. 1. Der Begriff Informatik 2. Syntax und Semantik von Programmiersprachen I.2. I.2. Grundlagen von von Programmiersprachen. - 1 - 1. Der Begriff Informatik "Informatik" = Kunstwort aus Information und Mathematik

Mehr

Informatik IV Theoretische Informatik: Formale Sprachen und Automaten, Berechenbarkeit und NP-Vollständigkeit

Informatik IV Theoretische Informatik: Formale Sprachen und Automaten, Berechenbarkeit und NP-Vollständigkeit Informatik IV Theoretische Informatik: Formale Sprachen und Automaten, Berechenbarkeit und NP-Vollständigkeit Sommersemester 2011 Dozent: Prof. Dr. J. Rothe, Prof. Dr. M. Leuschel J. Rothe (HHU Düsseldorf)

Mehr

FORMALE SYSTEME. Sprachen beschreiben. Wiederholung. Wie kann man Sprachen beschreiben? 2. Vorlesung: Grammatiken und die Chomsky-Hierarchie

FORMALE 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

Mehr

Grundlagen der Theoretischen Informatik

Grundlagen 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

Mehr

54 4 FORMALE SPRACHEN

54 4 FORMALE SPRACHEN 54 4 FORMALE SPRACHEN 4 Formale Sprachen 41 Einführung Ich erinnere an die Definitionen im Unterkapitel 16, die im weiteren Verlauf der Vorlesung von Bedeutung sein werden Insbesondere werden wir uns mit

Mehr

(Prüfungs-)Aufgaben zu formale Sprachen

(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),

Mehr

Grammatik Prüfung möglich, ob eine Zeichenfolge zur Sprache gehört oder nicht

Grammatik 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

Mehr

Theoretische Grundlagen der Informatik

Theoretische 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

Mehr

Grundlagen der Theoretischen Informatik

Grundlagen 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

Mehr

Motivation natürliche Sprachen

Motivation natürliche Sprachen Motivation natürliche Sprachen (Satz) (Substantivphrase)(Verbphrase) (Satz) (Substantivphrase)(Verbphrase)(Objektphrase) (Substantivphrase) (Artikel)(Substantiv) (Verbphrase) (Verb)(Adverb) (Substantiv)

Mehr

I.5. Kontextfreie Sprachen

I.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

Mehr

Theoretische Informatik 2 (WS 2006/07) Automatentheorie und Formale Sprachen 19

Theoretische 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

Mehr

Formale Sprachen und deren Grammatiken. Zusammenhang mit der Automatentheorie.

Formale Sprachen und deren Grammatiken. Zusammenhang mit der Automatentheorie. Formale Sprachen Formale Sprachen und deren Grammatiken. Zusammenhang mit der Automatentheorie. Inhaltsübersicht und Literatur Formale Sprachen: Definition und Darstellungen Grammatiken für formale Sprachen

Mehr

Beschreibungskomplexität von Grammatiken Definitionen

Beschreibungskomplexitä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). α β

Mehr

Sprachen und Programmiersprachen

Sprachen und Programmiersprachen Sprachen und Programmiersprachen Natürliche Sprachen versus Programmiersprachen / Spezifikationssprachen Syntax legt die grammatikalische Korrektheit fest. Semantik legt die Bedeutung von syntaktisch korrekten

Mehr

Formale Sprachen und Grammatiken

Formale Sprachen und Grammatiken Formale Sprachen und Grammatiken Jede Sprache besitzt die Aspekte Semantik (Bedeutung) und Syntax (formaler Aufbau). Die zulässige und korrekte Form der Wörter und Sätze einer Sprache wird durch die Syntax

Mehr

Grundlagen der Informatik II. Teil I: Formale Modelle der Informatik

Grundlagen 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

Mehr

6 Kontextfreie Grammatiken

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,

Mehr

Grundlagen 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 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:

Mehr

Grundlagen der Informatik II

Grundlagen 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

Mehr

Theoretische Grundlagen des Software Engineering

Theoretische 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

Mehr

Ein Satz der deutschen Sprache besitzt ein Subjekt, ein Prädikat und ein Objekt (SPO).

Ein 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

Mehr

Theoretische Informatik I

Theoretische Informatik I Theoretische Informatik I Einheit 2.4 Grammatiken 1. Arbeitsweise 2. Klassifizierung 3. Beziehung zu Automaten Beschreibungsformen für Sprachen Mathematische Mengennotation Prädikate beschreiben Eigenschaften

Mehr

Zusammenfassung. 1 Wir betrachten die folgende Signatur F = {+,,, 0, 1} sodass. 3 Wir betrachten die Gleichungen E. 4 Dann gilt E 1 + x 1

Zusammenfassung. 1 Wir betrachten die folgende Signatur F = {+,,, 0, 1} sodass. 3 Wir betrachten die Gleichungen E. 4 Dann gilt E 1 + x 1 Zusammenfassung Zusammenfassung der letzten LV Einführung in die Theoretische Informatik Woche 7 Harald Zankl Institut für Informatik @ UIBK Wintersemester 2014/2015 1 Wir betrachten die folgende Signatur

Mehr

1 Σ endliches Terminalalphabet, 2 V endliche Menge von Variablen (mit V Σ = ), 3 P (V (Σ ΣV )) {(S, ε)} endliche Menge von Regeln,

1 Σ 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

Mehr

Tutoraufgabe 1 (ɛ-produktionen):

Tutoraufgabe 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

Mehr

Theoretische Informatik 2

Theoretische 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

Mehr

Satz 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 Σ ). 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.

Mehr

Grundlagen der Theoretischen Informatik

Grundlagen 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

Mehr

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.

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. 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

Mehr

Wortproblem für kontextfreie Grammatiken

Wortproblem 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?

Mehr

EINFÜHRUNG IN DIE THEORETISCHE INFORMATIK

EINFÜ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

Mehr

Theoretische Informatik Testvorbereitung Moritz Resl

Theoretische 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

Mehr

16. Die Chomsky-Hierarchie

16. 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,

Mehr

Dank. 1 Ableitungsbäume. 2 Umformung von Grammatiken. 3 Normalformen. 4 Pumping-Lemma für kontextfreie Sprachen. 5 Pushdown-Automaten (PDAs)

Dank. 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

Mehr

Algorithmen mit konstantem Platzbedarf: Die Klasse REG

Algorithmen 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

Mehr

Grundlagen der Theoretischen Informatik Musterlösungen zu ausgewählten Übungsaufgaben

Grundlagen 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

Vorlesung Automaten und Sprachen

Vorlesung Automaten und Sprachen Vorlesung Automaten und Sprachen Markus Lohrey Universität Leipzig Sommersemester 2008 Markus Lohrey (Univ. Leipzig) Automaten und Sprachen SS 2008 1 / 251 Organisatorisches zur Vorlesung Informationen

Mehr

Algorithmen und Formale Sprachen

Algorithmen und Formale Sprachen Algorithmen und Formale Sprachen Algorithmen und formale Sprachen Formale Sprachen und Algorithmen Formale Sprachen und formale Algorithmen (formale (Sprachen und Algorithmen)) ((formale Sprachen) und

Mehr

4.2 Die Chomsky Normalform

4.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.

Mehr

Theoretische Informatik 2 (WS 2006/07) Automatentheorie und Formale Sprachen / Kontextfreie Sprachen und Kellerautomaten

Theoretische 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

Mehr

Definition (Reguläre Ausdrücke) Sei Σ ein Alphabet, dann gilt: (ii) ε ist ein regulärer Ausdruck über Σ.

Definition (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

Mehr

Formale Sprachen. Script, Kapitel 4. Grammatiken

Formale Sprachen. Script, Kapitel 4. Grammatiken Formale Sprachen Grammatiken Script, Kapitel 4 erzeugen Sprachen eingeführt von Chomsky zur Beschreibung natürlicher Sprachen bedeutend für die Syntaxdefinition von Programmiersprachen (Compilerbau) Automaten

Mehr

Theoretische Grundlagen der Informatik

Theoretische 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

Mehr

Rekursiv aufzählbare Sprachen

Rekursiv 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

Mehr

Grammatiken und ANTLR

Grammatiken und ANTLR Grammatiken und ANTLR Zusatzfolien zu Algo Blatt 6 Author: Henry Schaefer http://www.majeeks.de/folien_blatt6.pdf Grammatik Definition: syntaktische Beschreibung einer Sprache (H.S.) Definiton Grammatik

Mehr

Übungsaufgaben zu Formalen Sprachen und Automaten

Ü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

Mehr

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

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 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:

Mehr

Kapitel 3: Reguläre Grammatiken und Endliche. Automaten

Kapitel 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

Mehr

Kontextfreie Grammatiken

Kontextfreie 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

Mehr

Programmiersprachen und Übersetzer

Programmiersprachen 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

Mehr

Formale Methoden 1. Gerhard Jäger 12. Dezember Uni Bielefeld, WS 2007/2008 1/22

Formale 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

Mehr

Theoretische Informatik I

Theoretische 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

Mehr

11.1 Kontextsensitive und allgemeine Grammatiken

11.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

Mehr

Kapitel 2. Methoden zur Beschreibung von Syntax

Kapitel 2. Methoden zur Beschreibung von Syntax 1 Kapitel 2 Methoden zur Beschreibung von Syntax Grammatik, die sogar Könige zu kontrollieren weiß... aus Molière, Les Femmes Savantes (1672), 2. Akt 2 Ziele Zwei Standards zur Definition der Syntax von

Mehr

TEIL III: FORMALE SPRACHEN

TEIL III: FORMALE SPRACHEN EINFÜHRUNG IN DIE THEORETISCHE INFORMATIK Prof. Dr. Klaus Ambos-Spies Sommersemester 2011 TEIL III: FORMALE SPRACHEN 16. TERMERSETZUNGSSYSTEME UND CHOMSKY-GRAMMATIKEN Theoretische Informatik (SoSe 2011)

Mehr

Berechenbarkeit und Komplexität

Berechenbarkeit 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

Mehr

8. Turingmaschinen und kontextsensitive Sprachen

8. 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

Mehr

Theoretische Informatik. Grammatiken. Grammatiken. Grammatiken. Rainer Schrader. 9. Juli 2009

Theoretische 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

Mehr

Theoretische Informatik. Alphabete, Worte, Sprachen

Theoretische 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

Mehr

Grundbegriffe der Informatik

Grundbegriffe der Informatik Grundbegriffe der Informatik Einheit 8: kontextfreie Grammatiken Thomas Worsch Karlsruher Institut für Technologie, Fakultät für Informatik Wintersemester 2009/2010 1/37 Überblick Kontextfreie Grammatiken

Mehr

Fachseminar Compilerbau

Fachseminar 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,

Mehr

Formale Sprachen und Automaten

Formale 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

Mehr

Formale Sprachen, reguläre und kontextfreie Grammatiken

Formale 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

Mehr

4. Induktives Definieren - Themenübersicht

4. Induktives Definieren - Themenübersicht Induktives Definieren 4. Induktives Definieren - Themenübersicht Induktives Definieren Natürliche Zahlen Operationen auf natürlichen Zahlen Induktive Algorithmen Induktiv definierte Mengen Binärbäume Boolesche

Mehr

Sprachen/Grammatiken eine Wiederholung

Sprachen/Grammatiken eine Wiederholung Sprachen/Grammatiken eine Wiederholung Was sind reguläre Sprachen? Eigenschaften regulärer Sprachen Sprachen Begriffe Symbol: unzerlegbare Grundzeichen Alphabet: endliche Menge von Symbolen Zeichenreihe:

Mehr

Einführung in Berechenbarkeit, Komplexität und Formale Sprachen

Einführung in Berechenbarkeit, Komplexität und Formale Sprachen Einführung in Berechenbarkeit, Komplexität und Formale Sprachen V7, 3.11.09 Willkommen zur Vorlesung Einführung in Berechenbarkeit, Komplexität und Formale Sprachen Friedhelm Meyer auf der Heide 1 Rückblick

Mehr

Dank. Grundlagen der Theoretischen Informatik / Einführung in die Theoretische Informatik I. Probleme über Sprachen. Teil II.

Dank. Grundlagen der Theoretischen Informatik / Einführung in die Theoretische Informatik I. Probleme über Sprachen. Teil II. Dank Vorlesung Grundlagen der Theoretischen Informatik / Einführung in die Theoretische Informatik I Bernhard Beckert Diese Vorlesungsmaterialien basieren ganz wesentlich auf den Folien zu den Vorlesungen

Mehr

Automaten und Formale Sprachen

Automaten und Formale Sprachen Automaten und Formale Sprachen Prof. Dr. Dietrich Kuske FG Theoretische Informatik, TU Ilmenau Wintersemester 2011/12 WS 11/12 1 Organisatorisches zur Vorlesung Informationen, aktuelle Version der Folien

Mehr

Formelsammlung theoretische Informatik I

Formelsammlung theoretische Informatik I Formelsammlung theoretische Informatik I Stand: 27.05.2005 - Version: 1.0.3 Erhältlich unter http://privat.macrolab.de Diese Formelsammlung basiert auf der Vorlesung Theoretische

Mehr

Teil 4: Grammatiken und Syntaxanalyse. (Kapitel T5-T7)

Teil 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

Mehr

Musterlösung zur Hauptklausur Theoretische Grundlagen der Informatik Wintersemester 2013/14

Musterlö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

Mehr

Universität Karlsruhe Institut für Theoretische Informatik. Klausur: Informatik III

Universitä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

Mehr

Compiler. Kapitel. Syntaktische Analyse. Kapitel 4. Folie: 1. Syntaktische Analyse. Autor: Aho et al.

Compiler. 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 σύνταξις

Mehr

Kapitel 2. Methoden zur Beschreibung von Syntax

Kapitel 2. Methoden zur Beschreibung von Syntax 1 Kapitel 2 Methoden zur Beschreibung von Syntax Grammatik, die sogar Könige zu kontrollieren weiß... aus Molière, Les Femmes Savantes (1672), 2. Akt 2 Ziele Zwei Standards zur Definition der Syntax von

Mehr

Kapitel 2: Formale Sprachen Kontextfreie Sprachen. reguläre Grammatiken/Sprachen. kontextfreie Grammatiken/Sprachen

Kapitel 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

Universität Karlsruhe (TH)

Universitä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

Mehr

Definition Formale Sprache Eine formale Sprache ist eine (Teil-)Menge A Σ* von Worten über einem Alphabet Σ.

Definition Formale Sprache Eine formale Sprache ist eine (Teil-)Menge A Σ* von Worten über einem Alphabet Σ. Reguläre Sprachen Sprache was ist das? Definition 7.1.1 Formale Sprache Eine formale Sprache ist eine (Teil-)Menge A Σ* von Worten über einem Alphabet Σ. Wir beschäftigen uns in diesem Teil mit den regulären

Mehr

Begriffe (Wiederholung)

Begriffe (Wiederholung) Begriffe (Wiederholung) Sprache Menge aller Sätze Alphabet terminales / nicht terminales terminales A. Zeichen aus denen die Sätze der Sprache bestehen nicht terminales A. Hilfszeichen zum Bilden von Regeln

Mehr

Kapitel 1.5. Ein adäquater Kalkül der Aussagenlogik. Teil 1: Kalküle und Beweisbarkeit und die Korrektheit des Shoenfield-Kalküls

Kapitel 1.5. Ein adäquater Kalkül der Aussagenlogik. Teil 1: Kalküle und Beweisbarkeit und die Korrektheit des Shoenfield-Kalküls Kapitel 1.5 Ein adäquater Kalkül der Aussagenlogik Teil 1: Kalküle und Beweisbarkeit und die Korrektheit des Shoenfield-Kalküls Mathematische Logik (WS 2012/13) Kapitel 1.5: Kalküle 1/30 Syntaktischer

Mehr