2.1 Allgemeines. Was ist eine Sprache? Beispiele:

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

Theoretische Informatik I (Grundzüge der Informatik I)

Formale Sprachen. Script, Kapitel 4. Grammatiken

Grundbegriffe. Grammatiken

Alphabet, formale Sprache

Grammatiken. Eine Grammatik G mit Alphabet Σ besteht aus: Variablen V. Startsymbol S V. Kurzschreibweise G = (V, Σ, P, S)

Theoretische Informatik Mitschrift

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

Die Chomsky Hierarchie

7. Formale Sprachen und Grammatiken

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

Theoretische Informatik für Wirtschaftsinformatik und Lehramt

Was bisher geschah: Formale Sprachen

Grundlagen der Theoretischen Informatik

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

2.4 Kontextsensitive und Typ 0-Sprachen

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

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

Teil V. Weiterführende Themen, Teil 1: Kontextsensitive Sprachen und die Chomsky-Hierarchie

Theorie der Informatik

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

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

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

Grundlagen der Theoretischen Informatik

54 4 FORMALE SPRACHEN

(Prüfungs-)Aufgaben zu formale Sprachen

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

Theoretische Grundlagen der Informatik

Grundlagen der Theoretischen Informatik

Motivation natürliche Sprachen

I.5. Kontextfreie Sprachen

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

Formale Sprachen und deren Grammatiken. Zusammenhang mit der Automatentheorie.

Beschreibungskomplexität von Grammatiken Definitionen

Sprachen und Programmiersprachen

Formale Sprachen und Grammatiken

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

6 Kontextfreie Grammatiken

Grundlagen Theoretischer Informatik 2 WiSe 2009/10 in Trier. Henning Fernau Universität Trier

Grundlagen der Informatik II

Theoretische Grundlagen des Software Engineering

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

Theoretische Informatik I

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

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

Tutoraufgabe 1 (ɛ-produktionen):

Theoretische Informatik 2

Satz 90 Sei A = (Q, Σ, δ, q 0, F ) ein DFA. Der Zeitaufwand des obigen Minimalisierungsalgorithmus ist O( Q 2 Σ ).

Grundlagen der Theoretischen Informatik

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.

Wortproblem für kontextfreie Grammatiken

EINFÜHRUNG IN DIE THEORETISCHE INFORMATIK

Theoretische Informatik Testvorbereitung Moritz Resl

16. Die Chomsky-Hierarchie

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

Algorithmen mit konstantem Platzbedarf: Die Klasse REG

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

Vorlesung Automaten und Sprachen

Algorithmen und Formale Sprachen

4.2 Die Chomsky Normalform

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

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

Formale Sprachen. Script, Kapitel 4. Grammatiken

Theoretische Grundlagen der Informatik

Rekursiv aufzählbare Sprachen

Grammatiken und ANTLR

Übungsaufgaben zu Formalen Sprachen und Automaten

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

Kapitel 3: Reguläre Grammatiken und Endliche. Automaten

Kontextfreie Grammatiken

Programmiersprachen und Übersetzer

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

Theoretische Informatik I

11.1 Kontextsensitive und allgemeine Grammatiken

TEIL III: FORMALE SPRACHEN

Berechenbarkeit und Komplexität

8. Turingmaschinen und kontextsensitive Sprachen

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

Theoretische Informatik. Alphabete, Worte, Sprachen

Grundbegriffe der Informatik

Fachseminar Compilerbau

Formale Sprachen und Automaten

Formale Sprachen, reguläre und kontextfreie Grammatiken

4. Induktives Definieren - Themenübersicht

Sprachen/Grammatiken eine Wiederholung

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

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

Automaten und Formale Sprachen

Formelsammlung theoretische Informatik I

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

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

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

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

Kapitel 2. Methoden zur Beschreibung von Syntax

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

Universität Karlsruhe (TH)

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

Begriffe (Wiederholung)

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

Transkript:

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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 9 4 3 T T T T + T 9 4 3 Prof. Dr. F. Otto (Universität Kassel) Berechenbarkeit und Formale Sprachen 181 / 313

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 3 9 4 3 9 4 3 Prof. Dr. F. Otto (Universität Kassel) Berechenbarkeit und Formale Sprachen 181 / 313

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

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