Grundbegriffe der Informatik

Größe: px
Ab Seite anzeigen:

Download "Grundbegriffe der Informatik"

Transkript

1 Grundbegriffe der Informatik Kapitel 12: kontextfreie Grammatiken Thomas Worsch KIT, Institut für Theoretische Informatik Wintersemester 2015/2016 GBI Grundbegriffe der Informatik KIT, Institut für Theoretische Informatik 1 / 54

2 Überblick Rekursive Definition syntaktischer Strukturen Kontextfreie Grammatiken Relationen (Teil 2) Eine Grenze kontextfreier Grammatiken GBI Grundbegriffe der Informatik KIT, Institut für Theoretische Informatik 2 / 54

3 Wo sind wir? Rekursive Definition syntaktischer Strukturen Kontextfreie Grammatiken Relationen (Teil 2) Eine Grenze kontextfreier Grammatiken GBI Grundbegriffe der Informatik KIT, Institut für Theoretische Informatik 3 / 54

4 Spezifikation formaler Sprachen Beschreibung formaler Sprachen nur mit Hilfe einzelner Symbole und der Operationen Vereinigung, Konkatenation und Konkatenationsabschluss GBI Grundbegriffe der Informatik KIT, Institut für Theoretische Informatik 4 / 54

5 Spezifikation formaler Sprachen Beschreibung formaler Sprachen nur mit Hilfe einzelner Symbole und der Operationen Vereinigung, Konkatenation und Konkatenationsabschluss ist manchmal möglich manchmal nicht (Beweis später) GBI Grundbegriffe der Informatik KIT, Institut für Theoretische Informatik 4 / 54

6 Ausschnitt der Definition der Syntax von Java 1 Block: { BlockStatements opt } 2 BlockStatements: BlockStatement BlockStatements BlockStatement 3 BlockStatement: Statement... 4 Statement: StatementWithoutTrailingSubstatement... 5 StatementWithoutTrailingSubstatement: Block... siehe: docs.oracle.com/javase/specs/jls/se7/html/jls-14.html GBI Grundbegriffe der Informatik KIT, Institut für Theoretische Informatik 5 / 54

7 Rekursion Definition von BlockStatements nimmt Bezug auf BlockStatements Definition von Block nimmt (indirekt) Bezug auf Statement Definition von Statement nimmt (indirekt) Bezug auf auf Block Was soll das bedeuten? GBI Grundbegriffe der Informatik KIT, Institut für Theoretische Informatik 6 / 54

8 Vereinfachungen 1 Block: { Blockstatements } 2 BlockStatements: BlockStatement BlockStatements BlockStatement 3 BlockStatement: Statement... 4 Statement: StatementWithoutTrailingSubstatement... 5 StatementWithoutTrailingSubstatement: Block... GBI Grundbegriffe der Informatik KIT, Institut für Theoretische Informatik 7 / 54

9 Vereinfachungen 1 X ( X ) 2 BlockStatements: BlockStatement BlockStatements BlockStatement 3 BlockStatement: Statement... 4 Statement: StatementWithoutTrailingSubstatement... 5 StatementWithoutTrailingSubstatement: Block... GBI Grundbegriffe der Informatik KIT, Institut für Theoretische Informatik 7 / 54

10 Vereinfachungen 1 X ( X ) 2 X X X X 3 BlockStatement: Statement... 4 Statement: StatementWithoutTrailingSubstatement... 5 StatementWithoutTrailingSubstatement: Block... GBI Grundbegriffe der Informatik KIT, Institut für Theoretische Informatik 7 / 54

11 Vereinfachungen 1 X ( X ) 2 X X X X 3 X X ε 4 Statement: StatementWithoutTrailingSubstatement... 5 StatementWithoutTrailingSubstatement: Block... GBI Grundbegriffe der Informatik KIT, Institut für Theoretische Informatik 7 / 54

12 Vereinfachungen 1 X 2 X 3 X 4 X ( X ) X X X X ε X 5 StatementWithoutTrailingSubstatement: Block... GBI Grundbegriffe der Informatik KIT, Institut für Theoretische Informatik 7 / 54

13 Vereinfachungen 1 X 2 X 3 X 4 X 5 X ( X ) X X X X ε X X GBI Grundbegriffe der Informatik KIT, Institut für Theoretische Informatik 7 / 54

14 Vereinfachungen es bleibt K1: X: ε K2: X : XX K3: X : (X) K4: Auch gemeint: nichts anderes ist ein X GBI Grundbegriffe der Informatik KIT, Institut für Theoretische Informatik 8 / 54

15 Versuch einer formalen Sprache versuche, mit X eine formale Sprache L zu assoziieren: L = {ε} LL {(}L{)} trügerische Hoffnung: die Inklusion L... spiegelt K1, K2, K3 wider die Inklusion L... spiegelt K4 wider Fragen: 1. Gleichung lösbar? wäre schön, 2. Lösung eindeutig? wäre schön, GBI Grundbegriffe der Informatik KIT, Institut für Theoretische Informatik 9 / 54

16 Versuch einer formalen Sprache versuche, mit X eine formale Sprache L zu assoziieren: L = {ε} LL {(}L{)} trügerische Hoffnung: die Inklusion L... spiegelt K1, K2, K3 wider die Inklusion L... spiegelt K4 wider Fragen: 1. Gleichung lösbar? wäre schön, und ja, das ist so 2. Lösung eindeutig? wäre schön, GBI Grundbegriffe der Informatik KIT, Institut für Theoretische Informatik 9 / 54

17 Versuch einer formalen Sprache versuche, mit X eine formale Sprache L zu assoziieren: L = {ε} LL {(}L{)} trügerische Hoffnung: die Inklusion L... spiegelt K1, K2, K3 wider die Inklusion L... spiegelt K4 wider Fragen: 1. Gleichung lösbar? wäre schön, und ja, das ist so 2. Lösung eindeutig? wäre schön, aber nein, das ist nicht so GBI Grundbegriffe der Informatik KIT, Institut für Theoretische Informatik 9 / 54

18 Versuch einer formalen Sprache versuche, mit X eine formale Sprache L zu assoziieren: L = {ε} LL {(}L{)} trügerische Hoffnung: die Inklusion L... spiegelt K1, K2, K3 wider die Inklusion L... spiegelt K4 wider Fragen: 1. Gleichung lösbar? wäre schön, und ja, das ist so 2. Lösung eindeutig? wäre schön, aber nein, das ist nicht so = finde und charakterisiere die «interessierende» Lösung GBI Grundbegriffe der Informatik KIT, Institut für Theoretische Informatik 9 / 54

19 Lösbarkeit von L = {ε} LL {(}L{)} konstruiere Folge L 0, L 1,... formaler Sprachen L i L 0 = {ε}. für i N 0 sei L i+1 = L i L i {(}L i {)} Lemma. L = i N 0 L i erfüllt die Gleichung. Beweisstruktur: zeige L {ε} LL {(}L{)} L {ε} LL {(}L{)} GBI Grundbegriffe der Informatik KIT, Institut für Theoretische Informatik 10 / 54

20 Beweis des Lemmas Teil 1 für jedes i N 0 : ε L i, denn: ε L 0 für alle i N 0 ist L i L i L i+1, wenn ε L i, dann auch ε = εε L i L i L i+1. GBI Grundbegriffe der Informatik KIT, Institut für Theoretische Informatik 11 / 54

21 Beweis des Lemmas Teil 1 für jedes i N 0 : ε L i, denn: ε L 0 für alle i N 0 ist L i L i L i+1, wenn ε L i, dann auch ε = εε L i L i L i+1. also für jedes i N 0 : L i L i+1, denn L i = L i {ε} L i L i L i+1. GBI Grundbegriffe der Informatik KIT, Institut für Theoretische Informatik 11 / 54

22 Beweis des Lemmas Teil 1 für jedes i N 0 : ε L i, denn: ε L 0 für alle i N 0 ist L i L i L i+1, wenn ε L i, dann auch ε = εε L i L i L i+1. also für jedes i N 0 : L i L i+1, denn L i = L i {ε} L i L i L i+1. Zeige: L {ε} LL {(}L{)} Da ε L 0 L ist, ist L = L{ε} LL {ε} LL {(}L{)}. GBI Grundbegriffe der Informatik KIT, Institut für Theoretische Informatik 11 / 54

23 Beweis des Lemmas Teil 1 für jedes i N 0 : ε L i, denn: ε L 0 für alle i N 0 ist L i L i L i+1, wenn ε L i, dann auch ε = εε L i L i L i+1. also für jedes i N 0 : L i L i+1, denn L i = L i {ε} L i L i L i+1. Zeige: L {ε} LL {(}L{)} Da ε L 0 L ist, ist L = L{ε} LL {ε} LL {(}L{)}. Zeige: L {ε} LL {(}L{)} sei w {ε} LL {(}L{)}. GBI Grundbegriffe der Informatik KIT, Institut für Theoretische Informatik 11 / 54

24 Beweis des Lemmas Teil 2 wir wissen für jedes i N 0 : ε L i für jedes i N 0 : L i L i+1 L {ε} LL {(}L{)} noch zu zeigen: L {ε} LL {(}L{)} sei w {ε} LL {(}L{)}. GBI Grundbegriffe der Informatik KIT, Institut für Theoretische Informatik 12 / 54

25 Beweis des Lemmas Teil 2 wir wissen für jedes i N 0 : ε L i für jedes i N 0 : L i L i+1 L {ε} LL {(}L{)} noch zu zeigen: L {ε} LL {(}L{)} sei w {ε} LL {(}L{)}. 1. Fall: w = ε L 0 L. GBI Grundbegriffe der Informatik KIT, Institut für Theoretische Informatik 12 / 54

26 Beweis des Lemmas Teil 2 wir wissen für jedes i N 0 : ε L i für jedes i N 0 : L i L i+1 L {ε} LL {(}L{)} noch zu zeigen: L {ε} LL {(}L{)} sei w {ε} LL {(}L{)}. 1. Fall: w = ε L 0 L. 2. Fall: w LL: w = w 1 w 2 mit w 1 L und w 2 L w 1 L i1 und w 2 L i2 w 1 L i und w 2 L i für i = max(i 1, i 2 ) w = w 1 w 2 L i L i L i+1 L GBI Grundbegriffe der Informatik KIT, Institut für Theoretische Informatik 12 / 54

27 Beweis des Lemmas Teil 2 wir wissen für jedes i N 0 : ε L i für jedes i N 0 : L i L i+1 L {ε} LL {(}L{)} noch zu zeigen: L {ε} LL {(}L{)} sei w {ε} LL {(}L{)}. 1. Fall: w = ε L 0 L. 2. Fall: w LL: w = w 1 w 2 mit w 1 L und w 2 L w 1 L i1 und w 2 L i2 w 1 L i und w 2 L i für i = max(i 1, i 2 ) w = w 1 w 2 L i L i L i+1 L 3. Fall: w {(}L{)}: dann w {(}L i {)} L i+1 L für ein i N 0 GBI Grundbegriffe der Informatik KIT, Institut für Theoretische Informatik 12 / 54

28 Lösung von L = {ε} LL {(}L{)} nicht eindeutig {(, )} ist auch eine Lösung, denn zeigt man wie oben ist trivial, da {(, )} eben alle Wörter sind. {(, )} ist eine andere Lösung, denn ((( ist zwar in {(, )} aber nicht in i N 0 L i : man vergleiche die Anzahlen der ( und ) GBI Grundbegriffe der Informatik KIT, Institut für Theoretische Informatik 13 / 54

29 Was kann man an i N 0 L i sehen? L 0 = {ε} L 1 L 0 = { () } L 2 L 1 = { ()(), (()) } L 3 L 2 = { ()()(), (())(), ()(()), ()()()(), ()()(()), (())()(), (())(()), (()()), ((())) } Dabei gilt z. B.: (())()() L 3, weil (()) L 2 und ()() L 2 und Regel K2 (()) L 2, weil () L 1 und Regel K3. () L 1, weil ε L 0 und Regel K3. ()() L 2, weil () L 1 und () L 1 ist und Regel K2 () L 1, weil ε L 0 und Regel K3. () L 1, weil ε L 0 und Regel K3. GBI Grundbegriffe der Informatik KIT, Institut für Theoretische Informatik 14 / 54

30 Die Erklärung für (())()() L 3 graphisch dargestellt (())()() L 3 (()) L 2 ()() L 2 ( () L 1 ) () L 1 () L 1 ( ε L 0 ) ( ε L 0 ) ( ε L 0 ) ε ε ε GBI Grundbegriffe der Informatik KIT, Institut für Theoretische Informatik 15 / 54

31 Vereinfachte Darstellung für (())()() L 3 ( ) ( ) ( ) ( ) ε ε ε GBI Grundbegriffe der Informatik KIT, Institut für Theoretische Informatik 16 / 54

32 Vereinfachte Darstellung für (())()() L 3 ( ) ( ) ( ) ( ) ε ε ε mal wieder ein Baum ( Wurzel oben, Blätter unten) bisher: von unten nach oben interpretiert als Begründungen kontextfreie Grammatiken: von oben nach unten syntaktische Ersetzungen GBI Grundbegriffe der Informatik KIT, Institut für Theoretische Informatik 16 / 54

33 Was ist wichtig Das sollten Sie mitnehmen: Klammerstrukturen sind wichtig. Manchmal kann man sich einem Fixpunkt «annähern». Fixpunkt von f ist ein x mit x = f (x). so kann man L = {ε} LL (L) auch sehen... Das sollten Sie üben: keine Angst vor dem Lesen und Finden von Beweisen ruhiges Hinsehen: eine passende Vorgehensweise drängt sich manchmal fast auf GBI Grundbegriffe der Informatik KIT, Institut für Theoretische Informatik 17 / 54

34 Wo sind wir? Rekursive Definition syntaktischer Strukturen Kontextfreie Grammatiken Relationen (Teil 2) Eine Grenze kontextfreier Grammatiken GBI Grundbegriffe der Informatik KIT, Institut für Theoretische Informatik 18 / 54

35 Kontextfreie Grammatik G = (N,T, S, P) N Alphabet der Nichtterminalsymbole T Alphabet der Terminalsymbole kein Zeichen in beiden Alphabeten: N T = {}. S N das Startsymbol P N V ist endliche Menge von Produktionen V = N T Menge aller Symbole überhaupt für jedes (X,w) P schreibt man X w Bedeutung: man kann X ersetzen durch w Beispiel G = ( {X }, {a, b}, X, {X ε, X axb} ) GBI Grundbegriffe der Informatik KIT, Institut für Theoretische Informatik 19 / 54

36 Ableitungsschritt mittels einer Produktion Ersetzung der linken Seite durch die rechte u v aus u V ist v V in einem Schritt ableitbar wenn u = w 1 Xw 2 und v = w 1 ww 2 für Produktion X w in P und Wörter w 1,w 2 V Beispiel G = ({X }, {a, b}, X, P) mit P = {X ε, X axb} Dann gilt z. B. abax baxxxx abax baax bxxx, denn abax } {{ ba } X }{{} XXX w 1 w 2 abaxba } {{ } w 1 axb XXX }{{} w 2 Ebenso gilt abax baxxxx abaax bbaxxxx, denn }{{} aba X baxxxx } {{ } w 1 w 2 }{{} aba w 1 axb baxxxx } {{ } w 2 GBI Grundbegriffe der Informatik KIT, Institut für Theoretische Informatik 20 / 54

37 Anmerkungen (1) bei einer Produktion linke Seite immer ein Nichtterminalsymbol Terminalsymbole werden nie ersetzt Ersetzung X w immer überall möglich unabhängig vom Kontext kontextfrei GBI Grundbegriffe der Informatik KIT, Institut für Theoretische Informatik 21 / 54

38 Anmerkungen (2) legt Relation zwischen Wörtern fest könnte auch schreiben: R V V Infixschreibweise üblich schreibe u v und nicht (u,v) R, analog zu 5 7 und nicht (5, 7) R Ableitungsrelation im allgemeinen weder links- noch rechtstotal weder links- noch rechtseindeutig Vorsicht: nicht mit anderen Pfeilen verwechseln GBI Grundbegriffe der Informatik KIT, Institut für Theoretische Informatik 22 / 54

39 Ableitungsfolgen werden i und notiert für jede u,v V und für jedes i N 0 gelte u 0 v genau dann, wenn u = v u i+1 v genau dann, wenn für ein w V : u w i v u v genau dann, wenn für ein i N 0 : u i v Beispiel G = ({X }, {a, b}, X, {X ε, X axb}): X axb aaxbb aaaxbbb aaabbb X aaxbb axb aaaxbbb X aaabbb abb abb GBI Grundbegriffe der Informatik KIT, Institut für Theoretische Informatik 23 / 54

40 Jede Grammatik erzeugt eine formale Sprache Welche Wörter aus T können aus Startsymbol abgeleitet werden? von G = (N,T, S, P) erzeugte formale Sprache L(G) = {w T S w} solche formalen Sprachen heißen kontextfrei GBI Grundbegriffe der Informatik KIT, Institut für Theoretische Informatik 24 / 54

41 Beispiel einer kontextfreien Grammatik/Sprache Beispielgrammatik G = ({X }, {a, b}, X, {X ε, X axb} aaabbb L(G) wegen X axb aaxbb aaaxbbb aaabbb für alle i N 0 gilt: X a i b i {a i b i i N 0 } L(G) Beweis leichter, wenn man gleich zeigt: für jedes i N 0 : (X a i b i X a i Xb i ) Umgekehrt kann man zeigen: für jedes i N 0 : wenn X i+1 w dann w = a i b i oder w = a i+1 Xb i+1 also L(G) {a i b i i N 0 } Insgesamt: L(G) = {a i b i i N 0 }. GBI Grundbegriffe der Informatik KIT, Institut für Theoretische Informatik 25 / 54

42 Kompaktere Notation bei vielen Produktionen statt {X w 1, X w 2, X w 3, X w 4, X w 5 } schreibe man {X w 1 w 2 w 3 w 4 w 5 } und lese die senkrechten Striche als «oder» Beispielgrammatik: P = { X axb ε } GBI Grundbegriffe der Informatik KIT, Institut für Theoretische Informatik 26 / 54

43 Java-Syntax Interpretation der Definition kontextfreie Grammatik Block,... jeweils ein Nichtterminalsymbol Doppelpunkt entspricht Pfeil eingerückte Zeile: rechte Seite einer Produktion aufeinander folgende Zeilen denke man sich durch senkrechte Striche getrennt Beispiel 2 BlockStatements: BlockStatement BlockStatements BlockStatement bedeutet BlockStatements BlockStatement BlockStatements BlockStatement GBI Grundbegriffe der Informatik KIT, Institut für Theoretische Informatik 27 / 54

44 Java-Syntax Interpretation der Definition (2) «optionaler» Bestandteil 1 Block: { BlockStatements opt } bedeutet Block { BlockStatements } { } GBI Grundbegriffe der Informatik KIT, Institut für Theoretische Informatik 28 / 54

45 kontextfreie Grammatiken versus Syntax von Programmiersprachen viele Nichtterminalsymbole stehen für strukturelle Konzepte der Programmiersprache Ideal alles, was nicht ableitbar ist, ist syntaktisch falsch alles, was ableitbar ist, ist syntaktisch korrekt Realität alles, was nicht ableitbar ist, ist syntaktisch falsch aber auch Dinge ableitbar, die syntaktisch falsch manche Forderungen an syntaktische Korrekheit in «üblichen» Programmiersprachen nicht mit kontextfreien Grammatiken auszudrücken aber «das meiste» GBI Grundbegriffe der Informatik KIT, Institut für Theoretische Informatik 29 / 54

46 Ableitungsbäume sind übersichtlicher als schrittweise Ableitungen Grammatik für unser Klammerproblem: ({X }, {(, )}, X, {X XX (X) ε}). lange Ableitungsfolgen manchmal nicht sehr erhellend: X XX (X)X (X)XX (X)X(X) ((X))X(X) ((X))X() ((X))(X)() (())(X)() (())()( man darf umordnen (Kontextfreiheit!) Linksableitung besser X XX (X)X ((X))X (())X (())XX (())(X)X (())()X (())()(X) (())()() Rechtsableitung analog noch übersichtlicher: Ableitungsbaum GBI Grundbegriffe der Informatik KIT, Institut für Theoretische Informatik 30 / 54

47 Ableitungsbaum X ( X ( X ) ) X X ( X ) X X ( X ) beginne mit Startsymbol als Wurzel Ableitungsschritt X w von ersetztem X Kanten nach unten zu den Symbolen von w ε ε ε GBI Grundbegriffe der Informatik KIT, Institut für Theoretische Informatik 31 / 54

48 Wohlgeformte/korrekte Klammerausdrücke ({X }, {(, )}, X, {X XX (X) ε}) erzeugt sogenannte wohlgeformte oder korrekte Klammerausdrücke (KKA). umgangssprachlich was sich ergibt, wenn man in «normalen» arithmetischen Ausdrücken alles außer den Klammern weglässt (etwas) präziser ε ist KKA. Wenn w 1, w 2 KKA sind, dann auch w 1 w 2. Wenn w KKA ist, dann auch (w). Nichts anderes ist KKA. Klammersprachen sind ganz wesentliche Beispiele kontextfreier Sprachen GBI Grundbegriffe der Informatik KIT, Institut für Theoretische Informatik 32 / 54

49 Arithmetische Ausdrücke S T 3 S S - T - T 2 1 G = (N,T, S, P) die Grammatik mit Nichtterminalsymbolen N = {S, T} Terminalsymbolen T = {1, 2, 3, +, -, *, /, (, )} Startsymbol S Produktionen P = {S T S+T S-T S*T S/T, T (S) 1 2 3}. betrachte Ableitungsbaum links vergleiche (3-2)-1 und 3-(2-1) ähnliches Problem: if (B 1 ) if (B 2 ) S 1 else S 2 Vorlesung Compilerbau Auswertung von Ausdrücken Erzeugung eines Programm(teil)s zur Auswertung von Ausdrücken GBI Grundbegriffe der Informatik KIT, Institut für Theoretische Informatik 33 / 54

50 Arithmetische Ausdrücke S T 3 3 S S - T - T G = (N,T, S, P) die Grammatik mit Nichtterminalsymbolen N = {S, T} Terminalsymbolen T = {1, 2, 3, +, -, *, /, (, )} Startsymbol S Produktionen P = {S T S+T S-T S*T S/T, T (S) 1 2 3}. betrachte Ableitungsbaum links vergleiche (3-2)-1 und 3-(2-1) ähnliches Problem: if (B 1 ) if (B 2 ) S 1 else S 2 Vorlesung Compilerbau Auswertung von Ausdrücken Erzeugung eines Programm(teil)s zur Auswertung von Ausdrücken GBI Grundbegriffe der Informatik KIT, Institut für Theoretische Informatik 33 / 54

51 Arithmetische Ausdrücke S T S S - T 2 - T G = (N,T, S, P) die Grammatik mit Nichtterminalsymbolen N = {S, T} Terminalsymbolen T = {1, 2, 3, +, -, *, /, (, )} Startsymbol S Produktionen P = {S T S+T S-T S*T S/T, T (S) 1 2 3}. betrachte Ableitungsbaum links vergleiche (3-2)-1 und 3-(2-1) ähnliches Problem: if (B 1 ) if (B 2 ) S 1 else S 2 Vorlesung Compilerbau Auswertung von Ausdrücken Erzeugung eines Programm(teil)s zur Auswertung von Ausdrücken GBI Grundbegriffe der Informatik KIT, Institut für Theoretische Informatik 33 / 54

52 Arithmetische Ausdrücke S 3 T S S - T 2 - T G = (N,T, S, P) die Grammatik mit Nichtterminalsymbolen N = {S, T} Terminalsymbolen T = {1, 2, 3, +, -, *, /, (, )} Startsymbol S Produktionen P = {S T S+T S-T S*T S/T, T (S) 1 2 3}. betrachte Ableitungsbaum links vergleiche (3-2)-1 und 3-(2-1) ähnliches Problem: if (B 1 ) if (B 2 ) S 1 else S 2 Vorlesung Compilerbau Auswertung von Ausdrücken Erzeugung eines Programm(teil)s zur Auswertung von Ausdrücken GBI Grundbegriffe der Informatik KIT, Institut für Theoretische Informatik 33 / 54

53 Arithmetische Ausdrücke S 3 T S 1 S - T 2 - T G = (N,T, S, P) die Grammatik mit Nichtterminalsymbolen N = {S, T} Terminalsymbolen T = {1, 2, 3, +, -, *, /, (, )} Startsymbol S Produktionen P = {S T S+T S-T S*T S/T, T (S) 1 2 3}. betrachte Ableitungsbaum links vergleiche (3-2)-1 und 3-(2-1) ähnliches Problem: if (B 1 ) if (B 2 ) S 1 else S 2 Vorlesung Compilerbau Auswertung von Ausdrücken Erzeugung eines Programm(teil)s zur Auswertung von Ausdrücken GBI Grundbegriffe der Informatik KIT, Institut für Theoretische Informatik 33 / 54

54 Arithmetische Ausdrücke S 3 T S 0 S 1 - T 1 - T G = (N,T, S, P) die Grammatik mit Nichtterminalsymbolen N = {S, T} Terminalsymbolen T = {1, 2, 3, +, -, *, /, (, )} Startsymbol S Produktionen P = {S T S+T S-T S*T S/T, T (S) 1 2 3}. betrachte Ableitungsbaum links vergleiche (3-2)-1 und 3-(2-1) ähnliches Problem: if (B 1 ) if (B 2 ) S 1 else S 2 Vorlesung Compilerbau Auswertung von Ausdrücken Erzeugung eines Programm(teil)s zur Auswertung von Ausdrücken GBI Grundbegriffe der Informatik KIT, Institut für Theoretische Informatik 33 / 54

55 Syntax aussagenlogischer Formeln leicht durch kontextfreie Grammatiken beschreibbar G = ({X },T, X, P) mit T = Var AL {(, ),,,, } Var AL {P i i N 0 }, endlich > < Produktionen auf der nächsten Folie Achtung: Verwechslungsgefahr bei Pfeilen der Pfeil in aussagenlogischen Formeln der Pfeil zwischen linker und rechter Seite von Produktionen und bei senkrechten Strichen in set comprehensions als Trenner zwischen rechten Seiten von Produktionen GBI Grundbegriffe der Informatik KIT, Institut für Theoretische Informatik 34 / 54

56 Syntax aussagenlogischer Formeln die Produktionen G = ({X },T, X, P) mit T = Var AL {(, ),,,, } Var AL {P i i N 0 }, endlich > < Produktionenmenge P = { X P i P i Var AL } X ( X) (X X) (X X) (X X ) > < Aus X sind genau die aussagenlogischen Formeln mit Aussagevariablen in Var AL ableitbar. GBI Grundbegriffe der Informatik KIT, Institut für Theoretische Informatik 35 / 54

57 Was ist wichtig Das sollten Sie mitnehmen: kontextfreie Grammatik Ableitung erzeugte formale Sprache Ableitungsbaum Das sollten Sie üben: (semi-)reale Produktionenmengen lesen (Java,...) zu formaler Sprache sie erzeugende kontextfreie Grammatik konstruieren zu kontextfreier Grammatik die erzeugte formale Sprache bestimmen GBI Grundbegriffe der Informatik KIT, Institut für Theoretische Informatik 36 / 54

58 Wo sind wir? Rekursive Definition syntaktischer Strukturen Kontextfreie Grammatiken Relationen (Teil 2) Eine Grenze kontextfreier Grammatiken GBI Grundbegriffe der Informatik KIT, Institut für Theoretische Informatik 37 / 54

59 Produkt von Relationen M 1 M 2 M 3 Es seien R M 1 M 2 und S M 2 M 3 zwei Relationen Produkt der Relationen R und S S R = {(x, z) M 1 M 3 es gibt y M 2 : (x,y) R (y, z) S} Infixschreibweise: für alle (x, z) M 1 M 3 x (S R)z gdw. y M 2 : xry ysz ist assoziativ (R S) T = R (S T ) die identische Abbildung auf M als Relation I M I M = {(x, x) x M} I M neutrale Elemente bzgl. R I M1 = R = I M2 R GBI Grundbegriffe der Informatik KIT, Institut für Theoretische Informatik 38 / 54

60 Produkt von Relationen M 1 M 2 M 3 Es seien R M 1 M 2 und S M 2 M 3 zwei Relationen Produkt der Relationen R und S S R = {(x, z) M 1 M 3 es gibt y M 2 : (x,y) R (y, z) S} Infixschreibweise: für alle (x, z) M 1 M 3 x (S R)z gdw. y M 2 : xry ysz ist assoziativ (R S) T = R (S T ) die identische Abbildung auf M als Relation I M I M = {(x, x) x M} I M neutrale Elemente bzgl. R I M1 = R = I M2 R GBI Grundbegriffe der Informatik KIT, Institut für Theoretische Informatik 38 / 54

61 Produkt von Relationen M 1 M 2 M 3 Es seien R M 1 M 2 und S M 2 M 3 zwei Relationen Produkt der Relationen R und S S R = {(x, z) M 1 M 3 es gibt y M 2 : (x,y) R (y, z) S} Infixschreibweise: für alle (x, z) M 1 M 3 x (S R)z gdw. y M 2 : xry ysz ist assoziativ (R S) T = R (S T ) die identische Abbildung auf M als Relation I M I M = {(x, x) x M} I M neutrale Elemente bzgl. R I M1 = R = I M2 R GBI Grundbegriffe der Informatik KIT, Institut für Theoretische Informatik 38 / 54

62 Produkt von Relationen M 1 M 2 M 3 Es seien R M 1 M 2 und S M 2 M 3 zwei Relationen Produkt der Relationen R und S S R = {(x, z) M 1 M 3 es gibt y M 2 : (x,y) R (y, z) S} Infixschreibweise: für alle (x, z) M 1 M 3 x (S R)z gdw. y M 2 : xry ysz ist assoziativ (R S) T = R (S T ) die identische Abbildung auf M als Relation I M I M = {(x, x) x M} I M neutrale Elemente bzgl. R I M1 = R = I M2 R GBI Grundbegriffe der Informatik KIT, Institut für Theoretische Informatik 38 / 54

63 Reflexiv-transitive Hülle einer Relation Vereinigung aller Potenzen Ist R M M binäre Relation auf M, dann definiert man Potenzen R i : R 0 = I M für jedes i N 0 : R i+1 = R i R Die reflexiv-transitive Hülle einer Relation R ist R = i N 0 R i GBI Grundbegriffe der Informatik KIT, Institut für Theoretische Informatik 39 / 54

64 Reflexiv-transitive Hülle einer Relation ein Beispiel es sei R = {(n, n + 1) n N 0 } N 0 N 0 dann R R = {(n,m) es gibt k N 0 : (n, k) R und (k,m) R} = {(n,m) es gibt k N 0 : k = n + 1 und m = k + 1 R} = {(n, n + 2) es gibt n N 0 } also R 0 = {(n, n) n N 0 } R 1 = {(n, n + 1) n N 0 } R 2 = {(n, n + 2) n N 0 } usw. also R = {(n,m) n m} GBI Grundbegriffe der Informatik KIT, Institut für Theoretische Informatik 40 / 54

65 Eigenschaften der reflexiv-transitiven Hülle überlegen uns gleich: R ist reflexiv. R ist transitiv. R ist kleinste Relation, die R enthält und reflexiv und transitiv ist. Relation R heißt reflexiv, wenn I M R, also wenn für jedes x M : x R x Relation R heißt transitiv, wenn R R R, also wenn: für jedes x M, jedes y M, jedes z M : wenn x R y und y R z, dann x R z GBI Grundbegriffe der Informatik KIT, Institut für Theoretische Informatik 41 / 54

66 Eigenschaften der reflexiv-transitiven Hülle Erläuterungen R ist immer reflexiv I M = R 0 R für jedes i, j N 0 gilt: R i R j = R i+j. R ist immer transitiv, denn wenn (x,y) R und (y, z) R, dann (x,y) R i und (y, z) R j für i und j N 0 dann (x, z) R i R j = R i+j R. R ist die kleinste Relation, die R umfasst und reflexiv und transitiv ist: R umfasst R und ist reflexiv und transitiv. wenn S beliebige Relation, die reflexiv und transitiv ist, und wenn R S, dann sogar R S. GBI Grundbegriffe der Informatik KIT, Institut für Theoretische Informatik 42 / 54

67 Was ist wichtig Das sollten Sie mitnehmen: Produkte und Potenzen von Relationen reflexive und transitive Relationen reflexiv-transitive Hülle einer Relation «klassisches» Beispiel: Ableitbarkeit Das sollten Sie üben: Transitivität nachweisen Bilder von Relationen malen GBI Grundbegriffe der Informatik KIT, Institut für Theoretische Informatik 43 / 54

68 Wo sind wir? Rekursive Definition syntaktischer Strukturen Kontextfreie Grammatiken Relationen (Teil 2) Eine Grenze kontextfreier Grammatiken GBI Grundbegriffe der Informatik KIT, Institut für Theoretische Informatik 44 / 54

69 Eine Grenze kontextfreier Grammatiken viele Sprachen in der Informatik sind kontextfrei jedenfalls ein Großteil und der sogar mit zusätzlichen Einschränkungen Details in Vorlesungen zu Übersetzerbau aber es gibt auch kompliziertere Sprachen GBI Grundbegriffe der Informatik KIT, Institut für Theoretische Informatik 45 / 54

70 Eine Grenze kontextfreier Grammatiken viele Sprachen in der Informatik sind kontextfrei jedenfalls ein Großteil und der sogar mit zusätzlichen Einschränkungen Details in Vorlesungen zu Übersetzerbau aber es gibt auch kompliziertere Sprachen Lemma. Es gibt keine kontextfreie Grammatik, die die formale Sprache über {a, b, c} erzeugt. L vv = {vcv v {a, b} } Beweisskizze auf den folgenden Folien GBI Grundbegriffe der Informatik KIT, Institut für Theoretische Informatik 45 / 54

71 L vv Beispielwörter L vv = {vcv v {a, b} } zu L vv gehören zum Beispiel aabacaaba aca bbbcbbb zu L vv gehören zum Beispiel nicht aabacaabb aaacaaaaaa abaccaba aaacbcaaa aabaab GBI Grundbegriffe der Informatik KIT, Institut für Theoretische Informatik 46 / 54

72 L vv ist nicht kontextfrei Hilfsmittel (ohne Beweis): Lemma. Es sei G = (N,T, S, P) eine kontextfreie Grammatik mit ε L(G). Dann gibt es eine kontextfreie Grammatik G = (N,T, S, P ) mit L(G ) = L(G) und in P hat keine Produktion ε als rechte Seite. nennen wir eine solche Grammatik ε-frei GBI Grundbegriffe der Informatik KIT, Institut für Theoretische Informatik 47 / 54

73 L vv ist nicht kontextfrei Hilfsmittel (ohne Beweis): Lemma. Es sei G = (N,T, S, P) eine kontextfreie Grammatik mit ε L(G). Dann gibt es eine kontextfreie Grammatik G = (N,T, S, P ) mit L(G ) = L(G) und in P hat keine Produktion ε als rechte Seite. nennen wir eine solche Grammatik ε-frei müssen daher nur zeigen: Keine ε-freie kf. Grammatik G erzeugt L(G) = L vv. GBI Grundbegriffe der Informatik KIT, Institut für Theoretische Informatik 47 / 54

74 L vv ist nicht kontextfrei Hilfsmittel (ohne Beweis): Lemma. Es sei G = (N,T, S, P) eine kontextfreie Grammatik mit ε L(G). Dann gibt es eine kontextfreie Grammatik G = (N,T, S, P ) mit L(G ) = L(G) und in P hat keine Produktion ε als rechte Seite. nennen wir eine solche Grammatik ε-frei müssen daher nur zeigen: Keine ε-freie kf. Grammatik G erzeugt L(G) = L vv. d. h. Jede ε-freie kf. Grammatik G erzeugt L(G) L vv. GBI Grundbegriffe der Informatik KIT, Institut für Theoretische Informatik 47 / 54

75 L vv ist nicht kontextfrei Hilfsmittel (ohne Beweis): Lemma. Es sei G = (N,T, S, P) eine kontextfreie Grammatik mit ε L(G). Dann gibt es eine kontextfreie Grammatik G = (N,T, S, P ) mit L(G ) = L(G) und in P hat keine Produktion ε als rechte Seite. Einschränkung der Menge zu betrachtender Objekte nennen wir eine solche Grammatik ε-frei müssen daher nur zeigen: Keine ε-freie kf. Grammatik G erzeugt L(G) = L vv. d. h. Jede ε-freie kf. Grammatik G erzeugt L(G) L vv. GBI Grundbegriffe der Informatik KIT, Institut für Theoretische Informatik 47 / 54

76 L vv ist nicht kontextfrei (2) Lemma. Es sei G = (N,T, S, P) eine ε-freie kf. Grammatik l die größte Länge der rechten Seite einer Produktion u,w,u T mit w > l k für ein k N 0 Wenn für ein X N X = uwu dann liegen im Ableitungsbaum für X = uwu auf dem Weg von der Wurzel X zu mindestens einem Terminalsymbol von w mindestens k + 1 Nichtterminalsymbole von denen jedes mindestens zwei Nachfolger hat. GBI Grundbegriffe der Informatik KIT, Institut für Theoretische Informatik 48 / 54

77 L vv ist nicht kontextfrei (2) Beweisskizze des Lemmas Streiche im Ableitungsbaum alle Kanten und Knoten, die ausschließlich zu Symbolen aus u oder u führen. (kein Ableitungsbaum mehr) Die verbliebenen Blätter stehen für die Symbole von w. Fasse alle längeren Pfade ohne Verzweigungen zu einer Kante zusammen. Im resultierenden Baum hat jeder innere Knoten einen Verzweigungsgrad zwischen 2 und l. Wenn jeder Pfad von der Wurzel zu einem Blatt höchstens Länge k hätte, dann könnte der Baum höchstens l k Blätter haben. Aber w > l k. GBI Grundbegriffe der Informatik KIT, Institut für Theoretische Informatik 49 / 54

78 L vv ist nicht kontextfrei (3) zu zeigen: L vv ist nicht kontextfrei zeige: Es sei G eine ε-freie kf. Grammatik. Dann ist L(G) L vv. GBI Grundbegriffe der Informatik KIT, Institut für Theoretische Informatik 50 / 54

79 L vv ist nicht kontextfrei (3) zu zeigen: L vv ist nicht kontextfrei zeige: Es sei G eine ε-freie kf. Grammatik. Dann ist L(G) L vv. Was bedeutet L(G) L vv? nicht (L vv L(G) und L(G) L vv ) GBI Grundbegriffe der Informatik KIT, Institut für Theoretische Informatik 50 / 54

80 L vv ist nicht kontextfrei (3) zu zeigen: L vv ist nicht kontextfrei zeige: Es sei G eine ε-freie kf. Grammatik. Dann ist L(G) L vv. Was bedeutet L(G) L vv? nicht (L vv L(G) und L(G) L vv ) also nicht L vv L(G) oder nicht L(G) L vv GBI Grundbegriffe der Informatik KIT, Institut für Theoretische Informatik 50 / 54

81 L vv ist nicht kontextfrei (3) zu zeigen: L vv ist nicht kontextfrei zeige: Es sei G eine ε-freie kf. Grammatik. Dann ist L(G) L vv. Was bedeutet L(G) L vv? nicht (L vv L(G) und L(G) L vv ) also nicht L vv L(G) oder nicht L(G) L vv mache Fallunterscheidung 1. Fall: nicht L vv L(G) 2. Fall: L vv L(G) GBI Grundbegriffe der Informatik KIT, Institut für Theoretische Informatik 50 / 54

82 L vv ist nicht kontextfrei (3) zu zeigen: L vv ist nicht kontextfrei zeige: Es sei G eine ε-freie kf. Grammatik. Dann ist L(G) L vv. Was bedeutet L(G) L vv? nicht (L vv L(G) und L(G) L vv ) also nicht L vv L(G) oder nicht L(G) L vv mache Fallunterscheidung 1. Fall: nicht L vv L(G) dann L(G) L vv fertig 2. Fall: L vv L(G) GBI Grundbegriffe der Informatik KIT, Institut für Theoretische Informatik 50 / 54

83 L vv ist nicht kontextfrei (3) zu zeigen: L vv ist nicht kontextfrei zeige: Es sei G eine ε-freie kf. Grammatik. Dann ist L(G) L vv. Was bedeutet L(G) L vv? nicht (L vv L(G) und L(G) L vv ) also nicht L vv L(G) oder nicht L(G) L vv mache Fallunterscheidung 1. Fall: nicht L vv L(G) dann L(G) L vv fertig 2. Fall: L vv L(G) zeige: dann nicht L(G) L vv GBI Grundbegriffe der Informatik KIT, Institut für Theoretische Informatik 50 / 54

84 L vv ist nicht kontextfrei (3) Einschränkung der Menge zu betrachtender Objekte zu zeigen: L vv ist nicht kontextfrei zeige: Es sei G eine ε-freie kf. Grammatik. Dann ist L(G) L vv. Was bedeutet L(G) L vv? nicht (L vv L(G) und L(G) L vv ) also nicht L vv L(G) oder nicht L(G) L vv mache Fallunterscheidung 1. Fall: nicht L vv L(G) dann L(G) L vv fertig 2. Fall: L vv L(G) zeige: dann nicht L(G) L vv GBI Grundbegriffe der Informatik KIT, Institut für Theoretische Informatik 50 / 54

85 L vv ist nicht kontextfrei (4) verbliebene Aufgabe: Es sei G = (N, {a, b, c}, S, P) eine ε-freie kf. Grammatik und L vv L(G) zeige: nicht L(G) L vv GBI Grundbegriffe der Informatik KIT, Institut für Theoretische Informatik 51 / 54

86 L vv ist nicht kontextfrei (4) verbliebene Aufgabe: Es sei G = (N, {a, b, c}, S, P) eine ε-freie kf. Grammatik und L vv L(G) zeige: nicht L(G) L vv d. h. G erzeugt ein Wort w L vv GBI Grundbegriffe der Informatik KIT, Institut für Theoretische Informatik 51 / 54

87 L vv ist nicht kontextfrei (4) verbliebene Aufgabe: Es sei G = (N, {a, b, c}, S, P) eine ε-freie kf. Grammatik und L vv L(G) zeige: nicht L(G) L vv d. h. G erzeugt ein Wort w L vv es sei k = N betrachte Ableitungsbaum für w = a 1+l2k b 1+l2k ca 1+l2k b 1+l2k L vv GBI Grundbegriffe der Informatik KIT, Institut für Theoretische Informatik 51 / 54

88 L vv ist nicht kontextfrei (4) verbliebene Aufgabe: Es sei G = (N, {a, b, c}, S, P) eine ε-freie kf. Grammatik und L vv L(G) zeige: nicht L(G) L vv d. h. G erzeugt ein Wort w L vv es sei k = N betrachte Ableitungsbaum für w = a 1+l2k b 1+l2k ca 1+l2k b 1+l2k L vv nach bewiesenem Lemma auf Pfad zu mindestens einem Symbol mindestens k + 1 = N + 1 Nichtterminalsymbole mit Verzweigung also ein Nichtterminalsymbol doppelt auf Pfad betrachte Terminal mit maximal vielen solchen N.sym. GBI Grundbegriffe der Informatik KIT, Institut für Theoretische Informatik 51 / 54

89 L vv ist nicht kontextfrei (5) X X w u w z betrachte T.sym. z mit maximal vielen verzweigenden N.sym. da G ε-frei erzeugt jede Verzweigung mind. ein Symbol gehe von z aufwärts, bis sich erstmals ein verzweigendes N.sym. X wiederholt aus unterstem Vorkommen Wort u abgeleitet mit u < l k aus zweitunterstem Vorkommen Wort w uw abgeleitet mit w uw < l 2k GBI Grundbegriffe der Informatik KIT, Institut für Theoretische Informatik 52 / 54

90 L vv ist nicht kontextfrei (6) X S X w u w z Wo steht das c? Außerhalb von w uw? leite w w uw w ab dann vor dem c mehr Symbole als dahinter In w w? lasse den Teil der Ableitung weg dann kein c mehr vorhanden In u? leite w w uw w ab dann vor c mehr b als dahinter in allen Fällen Wort L vv abgeleitet GBI Grundbegriffe der Informatik KIT, Institut für Theoretische Informatik 53 / 54

91 Zusammenfassung rekursive Definitionen syntaktischer Strukturen Vorsicht kann nicht schaden zumindest manchmal sinnvolle Interpretation möglich Grammatiken kontextfreie Grammatik Ableitung erzeugte formale Sprache Ableitungsbaum Relationen Produkte und Potenzen von Relationen reflexive und transitive Relationen reflexiv-transitive Hülle einer Relation GBI Grundbegriffe der Informatik KIT, Institut für Theoretische Informatik 54 / 54

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

12 K O N T E X T F R E I E G R A M M AT I K E N rekursive definition syntaktischer strukturen

12 K O N T E X T F R E I E G R A M M AT I K E N rekursive definition syntaktischer strukturen 12 K O N T E X T F R E I E G R A M M AT I K E N 12.1 rekursive definition syntaktischer strukturen Wir hatten in Einheit 11 über Dokumente schon darauf hingewiesen, dass die Beschreibung formaler Sprachen

Mehr

Kontextfreie Sprachen Kontextfreie Sprachen und Grammatiken. Satzformen sind die Wörter aus (N T ). Notation: Wir verwenden oft

Kontextfreie Sprachen Kontextfreie Sprachen und Grammatiken. Satzformen sind die Wörter aus (N T ). Notation: Wir verwenden oft und Grammatiken (Folie 119, eite 202 im kript) atzformen sind die Wörter aus (N T ). Notation: Wir verwenden oft a, b, c,... für Terminalsymbole A, B, C,... für Nonterminale u, v, w,... für Terminalwörter

Mehr

Automaten und formale Sprachen Klausurvorbereitung

Automaten und formale Sprachen Klausurvorbereitung Automaten und formale Sprachen Klausurvorbereitung Rami Swailem Mathematik Naturwissenschaften und Informatik FH-Gießen-Friedberg Inhaltsverzeichnis 1 Definitionen 2 2 Altklausur Jäger 2006 8 1 1 Definitionen

Mehr

Was bisher geschah Chomsky-Hierarchie für Sprachen: L 0 Menge aller durch (beliebige) Grammatiken beschriebenen Sprachen L 1 Menge aller monotonen

Was bisher geschah Chomsky-Hierarchie für Sprachen: L 0 Menge aller durch (beliebige) Grammatiken beschriebenen Sprachen L 1 Menge aller monotonen Was bisher geschah Chomsky-Hierarchie für Sprachen: L 0 Menge aller durch (beliebige) Grammatiken beschriebenen Sprachen L 1 Menge aller monotonen (Kontextsensitive) Sprachen L 2 Menge aller kontextfreien

Mehr

Grammatiken. Grammatiken sind regelbasierte Kalküle zur Konstruktion von Systemen und Sprachen Überprüfung von Systemen und Sprachen

Grammatiken. Grammatiken sind regelbasierte Kalküle zur Konstruktion von Systemen und Sprachen Überprüfung von Systemen und Sprachen Grammatiken Grammatiken sind regelbasierte Kalküle zur Konstruktion von Systemen und Sprachen Überprüfung von Systemen und Sprachen Grammatiken eignen sich besonders zur Modellierung beliebig tief geschachtelter,

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

Grundbegriffe der Informatik

Grundbegriffe der Informatik Grundbegriffe der Informatik Einheit 6: formale Sprachen Thomas Worsch Karlsruher Institut für Technologie, Fakultät für Informatik Wintersemester 2009/2010 1/18 Überblick Formale Sprachen Formale Sprachen

Mehr

Grundbegriffe der Informatik Tutorium 7

Grundbegriffe der Informatik Tutorium 7 Grundbegriffe der Informatik Tutorium 7 Tutorium Nr. 16 Philipp Oppermann 16. Dezember 2014 KARLSRUHER INSTITUT FÜR TECHNOLOGIE KIT Universität des Landes Baden-Württemberg und nationales Forschungszentrum

Mehr

Kapitel IV Formale Sprachen und Grammatiken

Kapitel IV Formale Sprachen und Grammatiken Kapitel IV Formale Sprachen und Grammatiken 1. Begriffe und Notationen Sei Σ ein (endliches) Alphabet. Dann Definition 42 1 ist Σ das Monoid über Σ, d.h. die Menge aller endlichen Wörter über Σ; 2 ist

Mehr

Grundlagen der Theoretischen Informatik

Grundlagen der Theoretischen Informatik Grundlagen der Theoretischen Informatik 4. Kellerautomaten und kontextfreie Sprachen (I) 3.06.2015 Viorica Sofronie-Stokkermans e-mail: sofronie@uni-koblenz.de 1 Organisatorisches 1. Teilklausur: Mittwoch,

Mehr

Grundbegriffe der Informatik

Grundbegriffe der Informatik Grundbegriffe der Informatik Kapitel 19: Reguläre Ausdrücke und rechtslineare Grammatiken Thomas Worsch KIT, Institut für Theoretische Informatik Wintersemester 2015/2016 GBI Grundbegriffe der Informatik

Mehr

Kontextfreie Grammatiken. Kontextfreie Grammatiken 1 / 45

Kontextfreie Grammatiken. Kontextfreie Grammatiken 1 / 45 Kontextfreie Grammatiken Kontextfreie Grammatiken 1 / 45 Was kann man mit kontextfreien Grammatiken anfangen? Kontextfreie Grammatiken, kurz: werden zur Modellierung von KFGs beliebig tief geschachtelten

Mehr

Theorie der Informatik. Theorie der Informatik. 6.1 Einführung. 6.2 Alphabete und formale Sprachen. 6.3 Grammatiken. 6.4 Chomsky-Hierarchie

Theorie der Informatik. Theorie der Informatik. 6.1 Einführung. 6.2 Alphabete und formale Sprachen. 6.3 Grammatiken. 6.4 Chomsky-Hierarchie Theorie der Informatik 17. März 2014 6. Formale Sprachen und Grammatiken Theorie der Informatik 6. Formale Sprachen und Grammatiken Malte Helmert Gabriele Röger Universität Basel 17. März 2014 6.1 Einführung

Mehr

Grundbegriffe der Informatik

Grundbegriffe der Informatik Grundbegriffe der Informatik Einheit 6: formale Sprachen Thomas Worsch Universität Karlsruhe, Fakultät für Informatik November 2008 1/14 Überblick Formale Sprachen Formale Sprachen Produkt formaler Sprachen

Mehr

6 Modellierung von Strukturen 6.1 Kontextfreie Grammatiken

6 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

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

Grundbegriffe der Informatik

Grundbegriffe der Informatik Grundbegriffe der Informatik Einheit 4: Wörter (und vollständige Induktion) Thomas Worsch Universität Karlsruhe, Fakultät für Informatik Oktober 2008 1/29 Überblick Wörter Wörter Das leere Wort Mehr zu

Mehr

Theoretische Informatik I

Theoretische Informatik I Theoretische nformatik inheit 3 Kontextfreie Sprachen 1. Kontextfreie Grammatiken 2. Pushdown Automaten 3. igenschaften kontextfreier Sprachen Verarbeitung von Programmiersprachen Was ist das einfachste

Mehr

Kontextfreie Grammatiken. Kontextfreie Grammatiken 1 / 48

Kontextfreie Grammatiken. Kontextfreie Grammatiken 1 / 48 Kontextfreie Grammatiken Kontextfreie Grammatiken 1 / 48 Was kann man mit kontextfreien Grammatiken anfangen? Kontextfreie Grammatiken, kurz: werden zur Modellierung von KFGs rekursiv definierten baumartigen

Mehr

Grundbegriffe der Informatik Tutorium 12

Grundbegriffe der Informatik Tutorium 12 Grundbegriffe der Informatik Tutorium 12 Tutorium Nr. 16 Philipp Oppermann 28. Januar 2015 KARLSRUHER INSTITUT FÜR TECHNOLOGIE KIT Universität des Landes Baden-Württemberg und nationales Forschungszentrum

Mehr

Grundbegriffe der Informatik

Grundbegriffe der Informatik Grundbegriffe der Informatik Einheit 18: Logik Thomas Worsch Universität Karlsruhe, Fakultät für Informatik Wintersemester 2008/2009 1/35 Überblick Formeln in Prädikatenlogik erster Stufe Theorien und

Mehr

Grundbegriffe der Informatik Tutorium 11

Grundbegriffe der Informatik Tutorium 11 Grundbegriffe der Informatik Tutorium 11 Tutorium Nr. 32 Philipp Oppermann 29. Januar 2014 KARLSRUHER INSTITUT FÜR TECHNOLOGIE KIT Universität des Landes Baden-Württemberg und nationales Forschungszentrum

Mehr

Nachklausur zur Vorlesung Informatik 3 mit einigen Anmerkungen zu Lösungen

Nachklausur zur Vorlesung Informatik 3 mit einigen Anmerkungen zu Lösungen Nachklausur zur Vorlesung Informatik 3 mit einigen Anmerkungen zu Lösungen Aufgabe 1 2 3 4 5 6 7 max. Punkte 6 6 7 7 8 8 12 err. Punkte Gesamtpunktzahl: Note: 1 Aufgabe 1 (3+1+1+1 = 6 Punkte) Es seien

Mehr

DisMod-Repetitorium Tag 4

DisMod-Repetitorium Tag 4 DisMod-Repetitorium Tag 4 Endliche Automaten, Reguläre Sprachen und Kontextfreie Grammatiken 22. März 2018 1 Endliche Automaten Definition DFA Auswertungen Äquivalenzrelationen Verschmelzungsrelation und

Mehr

Grundbegriffe der Informatik Tutorium 2

Grundbegriffe der Informatik Tutorium 2 Grundbegriffe der Informatik Tutorium 2 Tutorium Nr. 16 Philipp Oppermann 9. November 2014 KARLSRUHER INSTITUT FÜR TECHNOLOGIE KIT Universität des Landes Baden-Württemberg und nationales Forschungszentrum

Mehr

Formale Sprachen und Automaten

Formale Sprachen und Automaten Formale Sprachen und Automaten Kapitel 1: Grundlagen Vorlesung an der DHBW Karlsruhe Thomas Worsch Karlsruher Institut für Technologie, Fakultät für Informatik Wintersemester 2012 Ziel Einführung der wichtigsten

Mehr

Sei Σ ein endliches Alphabet. Eine Sprache L Σ ist genau dann regulär, wenn sie von einem regulären Ausdruck beschrieben werden kann.

Sei Σ ein endliches Alphabet. Eine Sprache L Σ ist genau dann regulär, wenn sie von einem regulären Ausdruck beschrieben werden kann. Der Satz von Kleene Wir haben somit Folgendes bewiesen: Der Satz von Kleene Sei Σ ein endliches Alphabet. Eine Sprache L Σ ist genau dann regulär, wenn sie von einem regulären Ausdruck beschrieben werden

Mehr

Grundbegriffe der Informatik

Grundbegriffe der Informatik Grundbegriffe der Informatik Kapitel 15: Graphen Thomas Worsch KIT, Institut für Theoretische Informatik Wintersemester 2015/2016 GBI Grundbegriffe der Informatik KIT, Institut für Theoretische Informatik

Mehr

Theoretische Grundlagen der Informatik

Theoretische Grundlagen der Informatik Theoretische Grundlagen der Informatik Vorlesung am 15.01.2015 INSTITUT FÜR THEORETISCHE 0 KIT 15.01.2015 Universität des Dorothea Landes Baden-Württemberg Wagner - Theoretische und Grundlagen der Informatik

Mehr

1 Formale Sprachen, reguläre und kontextfreie Grammatiken

1 Formale Sprachen, reguläre und kontextfreie Grammatiken Praktische Informatik 1, WS 2001/02, reguläre Ausdrücke und kontextfreie Grammatiken 1 1 Formale Sprachen, reguläre und kontextfreie Grammatiken Ein Alphabet A ist eine endliche Menge von Zeichen. Die

Mehr

Syntax von Programmiersprachen

Syntax von Programmiersprachen "Grammatik, die sogar Könige zu kontrollieren weiß... aus Molière, Les Femmes Savantes (1672), 2. Akt Syntax von Programmiersprachen Prof. Dr. Christian Böhm in Zusammenarbeit mit Gefei Zhang WS 07/08

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

Syntax von Programmiersprachen

Syntax von Programmiersprachen "Grammatik, die sogar Könige zu kontrollieren weiß... aus Molière, Les Femmes Savantes (1672), 2. Akt Syntax von Programmiersprachen Prof. Dr. Martin Wirsing in Zusammenarbeit mit Michael Barth, Philipp

Mehr

Grundbegriffe der Informatik

Grundbegriffe der Informatik Grundbegriffe der Informatik Kapitel 4: Wörter Thomas Worsch KIT, Institut für Theoretische Informatik Wintersemester 2015/2016 GBI Grundbegriffe der Informatik KIT, Institut für Theoretische Informatik

Mehr

Grundlagen der theoretischen Informatik

Grundlagen der theoretischen Informatik Grundlagen der theoretischen Informatik Kurt Sieber Fakultät IV, Department ETI Universität Siegen SS 2013 Vorlesung vom 14.05.2013 Analog zu Linksableitungen definiert man Definition 2.45 Ein Ableitungsschritt

Mehr

Grundbegriffe der Informatik Tutorium 2

Grundbegriffe der Informatik Tutorium 2 Grundbegriffe der Informatik Tutorium 2 Tutorium Nr. 32 Philipp Oppermann 13. November 2013 KARLSRUHER INSTITUT FÜR TECHNOLOGIE KIT Universität des Landes Baden-Württemberg und nationales Forschungszentrum

Mehr

1 Automatentheorie und Formale Sprachen

1 Automatentheorie und Formale Sprachen Sanders: TGI October 29, 2015 1 1 Automatentheorie und Formale Sprachen 1.1 Allgemeines Sanders: TGI October 29, 2015 2 Beispiel: Arithmetische Ausdrücke:EXPR Σ={1,a,+,,,(,)} a ist Platzhalter für Konstanten

Mehr

Grundbegriffe der Informatik

Grundbegriffe der Informatik Grundbegriffe der Informatik Kapitel 21: Relationen Thomas Worsch KIT, Institut für Theoretische Informatik Wintersemester 2015/2016 GBI Grundbegriffe der Informatik KIT, Institut für Theoretische Informatik

Mehr

Klammersprache Definiere

Klammersprache Definiere 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

Mehr

Automatentheorie und formale Sprachen

Automatentheorie und formale Sprachen Automatentheorie und formale Sprachen VL 8 Chomsky-Grammatiken Kathrin Hoffmann 23. Mai 2012 Hoffmann (HAW Hamburg) Automatentheorie und formale Sprachen 23.5. 2012 250 Wortproblem Wortproblem ist das

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

2.1 Allgemeines. Was ist eine Sprache? Beispiele:

2.1 Allgemeines. Was ist eine Sprache? Beispiele: 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

Mehr

Grundbegriffe der Informatik

Grundbegriffe der Informatik Grundbegriffe der Informatik Einheit 11: Graphen Thomas Worsch Universität Karlsruhe, Fakultät für Informatik Wintersemester 2008/2009 1/42 Graphische Darstellung von Zusammenhängen schon an vielen Stellen

Mehr

Grundlagen der Theoretischen Informatik

Grundlagen der Theoretischen Informatik Grundlagen der Theoretischen Informatik Sommersemester 2017 20.04.2017 Viorica Sofronie-Stokkermans e-mail: sofronie@uni-koblenz.de 1 Bis jetzt Organisatorisches Literatur Motivation und Inhalt Kurzer

Mehr

Grundbegriffe der Informatik

Grundbegriffe der Informatik Grundbegriffe der Informatik Einheit 14: Endliche Automaten Thomas Worsch Universität Karlsruhe, Fakultät für Informatik Wintersemester 2008/2009 1/38 Überblick Erstes Beispiel: ein Getränkeautomat Mealy-Automaten

Mehr

Formale Sprachen und Automaten

Formale Sprachen und Automaten Formale Sprachen und Automaten Kapitel 4: Typ 2 kontextfreie Sprachen Vorlesung an der DHBW Karlsruhe Thomas Worsch Karlsruher Institut für Technologie, Fakultät für Informatik Wintersemester 2012 Kapitel

Mehr

Grundlagen der theoretischen Informatik

Grundlagen der theoretischen Informatik Grundlagen der theoretischen Informatik Kurt Sieber Fakultät IV, Department ETI Universität Siegen SS 2013 Vorlesung vom 09.04.2013 Inhalt der Vorlesung Teil I: Automaten und formale Sprachen (Kurt Sieber)

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

Definition 4 (Operationen auf Sprachen) Beispiel 5. Seien A, B Σ zwei (formale) Sprachen. Konkatenation: AB = {uv ; u A, v B} A + = n 1 An

Definition 4 (Operationen auf Sprachen) Beispiel 5. Seien A, B Σ zwei (formale) Sprachen. Konkatenation: AB = {uv ; u A, v B} A + = n 1 An Definition 4 (Operationen auf Sprachen) Seien A, B Σ zwei (formale) Sprachen. Konkatenation: AB = {uv ; u A, v B} A 0 = {ɛ}, A n+1 = AA n A = n 0 An A + = n 1 An Beispiel 5 {ab, b}{a, bb} = {aba, abbb,

Mehr

7. Syntax: Grammatiken, EBNF

7. Syntax: Grammatiken, EBNF 7. Syntax: Grammatiken, EBNF Teil 1 Sehr schönes Beispiel für Notwendigkeit der Theoretischen Informatik für Belange der Praktischen Informatik Vertiefung in: Einführung in die Theoretische Informatik

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

Informatik III. Christian Schindelhauer Wintersemester 2006/07 8. Vorlesung

Informatik III. Christian Schindelhauer Wintersemester 2006/07 8. Vorlesung Informatik III Christian Schindelhauer Wintersemester 2006/07 8. Vorlesung 17.11.2006 schindel@informatik.uni-freiburg.de 1 Prinzip des Kellerautomats Push-Down-Automaton (PDA) Ein Kellerautomat vereinigt

Mehr

Formalismen für REG. Formale Grundlagen der Informatik 1 Kapitel 7 Kontextfreie Sprachen. Das Pumping Lemma. Abschlusseigenschaften

Formalismen für REG. Formale Grundlagen der Informatik 1 Kapitel 7 Kontextfreie Sprachen. Das Pumping Lemma. Abschlusseigenschaften Formalismen für RE Formale rundlagen der Informatik 1 Kapitel 7 Kontextfreie Sprachen Frank Heitmann heitmann@informatik.uni-hamburg.de Satz Zu jeder regulären Sprache L gibt es einen DFA A mit L(A) =

Mehr

2.1 Grundlagen: Kontextfreie Grammatiken

2.1 Grundlagen: Kontextfreie Grammatiken 2.1 Grundlagen: Kontextfreie Grammatiken Programme einer Programmiersprache können unbeschränkt viele Tokens enthalten, aber nur endlich viele Token-Klassen :-) Als endliches Terminal-Alphabet T wählen

Mehr

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

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 28. November Uni Bielefeld, WS 2007/2008 1/15

Formale Methoden 1. Gerhard Jäger 28. November Uni Bielefeld, WS 2007/2008 1/15 1/15 Formale Methoden 1 Gerhard Jäger Gerhard.Jaeger@uni-bielefeld.de Uni Bielefeld, WS 2007/2008 28. November 2007 2/15 Formale Sprache: Menge von Symbolketten Theorie formaler Sprachen Formale Sprachen

Mehr

1. Der Begriff Informatik 2. Syntax und Semantik von Programmiersprachen - 1 -

1. Der Begriff Informatik 2. Syntax und Semantik von Programmiersprachen - 1 - 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

1. Der Begriff Informatik 2. Syntax und Semantik von Programmiersprachen - 1 -

1. Der Begriff Informatik 2. Syntax und Semantik von Programmiersprachen - 1 - 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

6 F O R M A L E S P R A C H E N. 6.1 formale sprachen

6 F O R M A L E S P R A C H E N. 6.1 formale sprachen 6.1 formale sprachen 6 F O R M A L E S P R A C H E N Eine natürliche Sprache umfasst mehrere Aspekte, z. B. Aussprache und Stil, also z. B. Wortwahl und Satzbau. Dafür ist es auch notwendig zu wissen,

Mehr

Grundbegriffe der Informatik Kapitel 3: Mengen, Alphabete, Abbildungen

Grundbegriffe der Informatik Kapitel 3: Mengen, Alphabete, Abbildungen Grundbegriffe der Informatik Kapitel 3: Mengen, Alphabete, Abbildungen Thomas Worsch KIT, Institut für Theoretische Informatik Wintersemester 2015/2016 GBI Grundbegriffe der Informatik KIT, Institut für

Mehr

Kapitel 0: Grundbegriffe Gliederung

Kapitel 0: Grundbegriffe Gliederung Gliederung 0. Grundbegriffe 1. Endliche Automaten 2. Formale Sprachen 3. Berechenbarkeitstheorie 4. Komplexitätstheorie 5. Kryptographie 0/2, Folie 1 2009 Prof. Steffen Lange - HDa/FbI - Theoretische Informatik

Mehr

Lösungsvorschläge und Erläuterungen Klausur zur Vorlesung Grundbegriffe der Informatik 15. September 2016

Lösungsvorschläge und Erläuterungen Klausur zur Vorlesung Grundbegriffe der Informatik 15. September 2016 Lösungsvorschläge und Erläuterungen Klausur zur Vorlesung Grundbegriffe der Informatik 15. September 2016 Klausurnummer Nachname: Vorname: Matr.-Nr.: Diese Klausur ist mein 1. Versuch 2. Versuch in GBI

Mehr

Grundbegriffe der Informatik

Grundbegriffe der Informatik Grundbegriffe der Informatik Tutorium 1-14. Sitzung Dennis Felsing dennis.felsing@student.kit.edu http://www.stud.uni-karlsruhe.de/~ubcqr/2010w/tut gbi/ 2011-02-07 Äquivalenzrelationen 1 Äquivalenzrelationen

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

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 17. Januar 2012 INSTITUT FÜR THEORETISCHE 0 KIT 18.01.2012 Universität des Dorothea Landes Baden-Württemberg Wagner - Theoretische und Grundlagen der

Mehr

Theoretische Informatik I

Theoretische Informatik I (702765) Skript zur Vorlesung am 30.6.2000 Aus der vorherigen Vorlesung: Theoretische Informatik I Satz W: Sei X ein Alphabet. Zu jeder regulären Sprache R X * gibt es ein n N, so daß für alle Wörter z

Mehr

Reguläre Ausdrücke. Michael Jäger. 4. April 2017

Reguläre Ausdrücke. Michael Jäger. 4. April 2017 Reguläre Ausdrücke Michael Jäger 4. April 2017 Zeichenketten und Sprachen Ein Alphabet ist eine endliche Menge von Symbolen. Beispiele: 1. Σ 1 = {0, 1} 2. Σ 2 = {a, b, c, d, e, f, g, h, i, j, k, l, m,

Mehr

q 0 q gdw. nicht (q A) (q A) q i+1 q gdw. q i q oder ( a Σ) δ(q, a) i δ(q, a) L = {a n b n : n N} für a, b Σ, a b

q 0 q gdw. nicht (q A) (q A) q i+1 q gdw. q i q oder ( a Σ) δ(q, a) i δ(q, a) L = {a n b n : n N} für a, b Σ, a b Kap. 2: Endliche Automaten Myhill Nerode 2.4 Minimalautomat für reguläre Sprache Abschnitt 2.4.3 L Σ regulär der Äuivalenzklassen-Automat zu L ist ein DFA mit minimaler Zustandszahl (= index( L )) unter

Mehr

Tutorium 23 Grundbegriffe der Informatik

Tutorium 23 Grundbegriffe der Informatik Tutorium 23 Grundbegriffe der Informatik Tutor: Felix Stahlberg SOFTWARE DESIGN AND QUALITY GROUP Source: pixelio.de KIT The cooperation of Forschungszentrum Karlsruhe GmbH and Universität Karlsruhe (TH)

Mehr

Einführung in die theoretische Informatik Sommersemester 2017 Übungsblatt Lösungsskizze 7

Einführung in die theoretische Informatik Sommersemester 2017 Übungsblatt Lösungsskizze 7 Prof. J. Esparza Technische Universität München S. Sickert, J. Krämer KEINE ABGABE Einführung in die theoretische Informatik Sommersemester 2017 Übungsblatt 7 Übungsblatt Wir unterscheiden zwischen Übungs-

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

Theoretische Informatik und Logik Übungsblatt 2 (2017S) Lösung

Theoretische Informatik und Logik Übungsblatt 2 (2017S) Lösung Theoretische Informatik und Logik Übungsblatt 2 (2017) en Aufgabe 2.1 Geben ie jeweils eine kontextfreie Grammatik an, welche die folgenden prachen erzeugt, sowie eine Linksableitung und einen Ableitungsbaum

Mehr

Grundbegriffe der Informatik

Grundbegriffe der Informatik Grundbegriffe der Informatik Einheit 4: Wörter und vollständige Induktion Thomas Worsch Karlsruher Institut für Technologie, Fakultät für Informatik Wintersemester 2009/2010 1/41 Überblick Wörter Wörter

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

Grundbegriffe der Informatik

Grundbegriffe 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

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

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

Kapitel 5: Syntaxdiagramme und Grammatikregeln

Kapitel 5: Syntaxdiagramme und Grammatikregeln 5. Syntaxdiagramme und Grammatikregeln 5-1 Objektorientierte Programmierung (Winter 2010/2011) Kapitel 5: Syntaxdiagramme und Grammatikregeln Syntaxdiagramme Grammatikregeln (kontextfrei) Beispiele: Lexikalische

Mehr

Grundbegriffe der Informatik

Grundbegriffe der Informatik Grundbegriffe der Informatik Einheit 11: Graphen Thomas Worsch Karlsruher Institut für Technologie, Fakultät für Informatik Wintersemester 2010/2011 1/59 Graphische Darstellung von Zusammenhängen schon

Mehr

Grundlagen der Theoretischen Informatik / Einführung in die Theoretische Informatik I

Grundlagen der Theoretischen Informatik / Einführung in die Theoretische Informatik I Vorlesung Grundlagen der Theoretischen Informatik / Einführung in die Theoretische Informatik I Bernhard Beckert Institut für Informatik Sommersemester 2007 B. Beckert Grundlagen d. Theoretischen Informatik:

Mehr

Übungsblatt 7. Vorlesung Theoretische Grundlagen der Informatik im WS 16/17

Übungsblatt 7. Vorlesung Theoretische Grundlagen der Informatik im WS 16/17 Institut für Theoretische Informatik Lehrstuhl Prof. Dr. D. Wagner Übungsblatt 7 Vorlesung Theoretische Grundlagen der Informatik im W 16/17 Ausgabe 17. Januar 2017 Abgabe 31. Januar 2017, 11:00 Uhr (im

Mehr

Grundbegriffe der Informatik

Grundbegriffe der Informatik Grundbegriffe der Informatik Einheit 15: Reguläre Ausdrücke und rechtslineare Grammatiken Thomas Worsch Karlsruher Institut für Technologie, Fakultät für Informatik Wintersemester 2010/2011 1/47 Was kann

Mehr

Tutorium 23 Grundbegriffe der Informatik (10. Sitzung)

Tutorium 23 Grundbegriffe der Informatik (10. Sitzung) Tutorium 23 Grundbegriffe der Informatik (10. Sitzung) Tutor: Felix Stahlberg SOFTWARE DESIGN AND QUALITY GROUP Source: pixelio.de KIT The cooperation of Forschungszentrum Karlsruhe GmbH and Universität

Mehr

Einführung in die Logik

Einführung in die Logik Einführung in die Logik Klaus Madlener und Roland Meyer 24. April 2013 Inhaltsverzeichnis 1 Aussagenlogik 1 1.1 Syntax................................. 1 1.2 Semantik............................... 3 1.3

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

Grundbegriffe der Informatik

Grundbegriffe der Informatik Grundbegriffe der Informatik Einheit 3: Alphabete, Abbildungen, Aussagenlogik Thomas Worsch Karlsruher Institut für Technologie, Fakultät für Informatik Wintersemester 2010/2011 1/32 Überblick Alphabete

Mehr

Das Postsche Korrespondenzproblem

Das Postsche Korrespondenzproblem Das Postsche Korrespondenzproblem Eine Instanz des PKP ist eine Liste von Paaren aus Σ Σ : (v 1, w 1 ),..., (v n, w n ) Eine Lösung ist eine Folge i 1,..., i k von Indizes 1 i j n mit v i1... v ik = w

Mehr

Sprachen sind durch folgenden Aufbau gekennzeichnet:

Sprachen sind durch folgenden Aufbau gekennzeichnet: BNF UND SYNTAXDIAGRAMME 1. Allgemeines 1.1 Aufbau von Sprachen BNF und Syntaxdiagramme werden verwendet, um die Syntax einer Sprache darzustellen und graphisch zu veranschaulichen. Mit ihnen können entweder

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

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

Motivation. Formale Grundlagen der Informatik 1 Kapitel 14 Aussagenlogik Syntax & Semantik. Motivation. Motivation

Motivation. Formale Grundlagen der Informatik 1 Kapitel 14 Aussagenlogik Syntax & Semantik. Motivation. Motivation Formale Grundlagen der Informatik 1 Kapitel 14 Aussagenlogik & Frank Heitmann heitmann@informatik.uni-hamburg.de Mit der Aussagenlogik lassen sich einfache Verknüpfungen zwischen (atomaren) Gebilden ausdrücken

Mehr

Inhalt Kapitel 11: Formale Syntax und Semantik

Inhalt Kapitel 11: Formale Syntax und Semantik Inhalt Kapitel 11: Formale Syntax und Semantik 1 Abstrakte und konkrete Syntax 2 Lexikalische Analyse 3 Formale Sprachen, Grammatiken, BNF 4 Syntaxanalyse konkret 266 Abstrakte und konkrete Syntax Abstrakte

Mehr

Algorithmen und Datenstrukturen I - Exkurs Formale Sprachen -

Algorithmen und Datenstrukturen I - Exkurs Formale Sprachen - Algorithmen und Datenstrukturen I - Exkurs Formale Sprachen - Thies Pfeiffer Technische Fakultät tpfeiffe@techfak.uni-bielefeld.de Vorlesung, Universität Bielefeld, Winter 2012/2013 1 / 1 Exkurs: Formale

Mehr