Grundbegriffe der Informatik

Save this PDF as:
 WORD  PNG  TXT  JPG

Größe: px
Ab Seite anzeigen:

Download "Grundbegriffe der Informatik"

Transkript

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

2 Überblick Kontextfreie Grammatiken Rekursive Definition syntaktischer Strukturen Kontextfreie Grammatiken Relationen (Teil 2) 2/37

3 Überblick Kontextfreie Grammatiken Rekursive Definition syntaktischer Strukturen Kontextfreie Grammatiken Relationen (Teil 2) Kontextfreie Grammatiken 3/37

4 Überblick Kontextfreie Grammatiken Rekursive Definition syntaktischer Strukturen Kontextfreie Grammatiken Relationen (Teil 2) Kontextfreie Grammatiken Rekursive Definition syntaktischer Strukturen 4/37

5 Spezifikation formaler Sprachen Beschreibung formaler Sprachen nur mit Hilfe einzelner Symbole und der Operation Vereinigung, Konkatenation und Konkatenationsabschluss: manchmal möglich manchmal nicht (Beweis später) Kontextfreie Grammatiken Rekursive Definition syntaktischer Strukturen 5/37

6 Ausschnitt der Definition der Syntax von Java 1 Block: { BlockStatements opt } 2 BlockStatements: BlockStatement BlockStatements BlockStatement 3 BlockStatement: Statement Statement: StatementWithoutTrailingSubstatement StatementWithoutTrailingSubstatement: Block Siehe Kontextfreie Grammatiken Rekursive Definition syntaktischer Strukturen 6/37

7 Rekursion Bei der Beschreibung der Struktur von BlockStatements wird direkt auf BlockStatements Bezug genommen. Bei der Definition von Block wird (indirekt) auf die Bedeutung von Statement verwiesen und bei der Definition von Statement (indirekt) wieder auf die Bedeutung von Block. Was soll das bedeuten? beschränken wir uns erst einmal auf den Kern des Ganzen... Kontextfreie Grammatiken Rekursive Definition syntaktischer Strukturen 7/37

8 Simplizfizierungen schreibe X statt Block, Statement o.ä. schreibe runde Klammern ( und ) statt der geschweiften (wegen der Verwechslungsgefahr mit Mengenklammern) Dann besagt die Definition stark vereinfacht unter anderem: K1 Ein X kann etwas ganz einfaches sein; schreiben für dafür einfach das leere Wort ε. K2 Ein X kann ein Y sein oder die Folge XY ; also kann ein X von der Form YY sein. Jedes Y seinerseits kann wieder ein X sein. Also kann ein X auch von der Form XX sein. K3 Wenn man ein X hat, dann ist auch (X ) wieder ein X. K4 Auch gemeint: Es ist nichts ein X, was man nicht auf Grund der obigen Festlegungen als solches identifizieren kann. Kontextfreie Grammatiken Rekursive Definition syntaktischer Strukturen 8/37

9 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 wieder die Inklusion L... spiegelt K4 wieder Fragen: 1. Gibt es überhaupt eine Sprache, die die Gleichung erfüllt? Das hätten wir gerne und ja, das ist so. 2. falls ja: Ist die Lösung der Gleichung auch eindeutig? Das hätten wir auch gerne, aber nein, das ist nicht so. = Arbeit: Man finde und charakterisiere irgendwie die uns interessierende Lösung. Kontextfreie Grammatiken Rekursive Definition syntaktischer Strukturen 9/37

10 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 wieder die Inklusion L... spiegelt K4 wieder Fragen: 1. Gibt es überhaupt eine Sprache, die die Gleichung erfüllt? Das hätten wir gerne und ja, das ist so. 2. falls ja: Ist die Lösung der Gleichung auch eindeutig? Das hätten wir auch gerne, aber nein, das ist nicht so. = Arbeit: Man finde und charakterisiere irgendwie die uns interessierende Lösung. Kontextfreie Grammatiken Rekursive Definition syntaktischer Strukturen 9/37

11 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 wieder die Inklusion L... spiegelt K4 wieder Fragen: 1. Gibt es überhaupt eine Sprache, die die Gleichung erfüllt? Das hätten wir gerne und ja, das ist so. 2. falls ja: Ist die Lösung der Gleichung auch eindeutig? Das hätten wir auch gerne, aber nein, das ist nicht so. = Arbeit: Man finde und charakterisiere irgendwie die uns interessierende Lösung. Kontextfreie Grammatiken Rekursive Definition syntaktischer Strukturen 9/37

12 Lösbarkeit von L = {ε} LL {(}L{)} konstruiere Folge L 0, L 1,... formaler Sprachen L i für i N 0 zeige, dass die Vereinigung aller L i die Gleichung löst L 0 = {ε}. für i N 0 sei L i+1 = L i L i {(}L i {)} Lemma. L = i=0 L i erfüllt die Gleichung. Beweisstruktur zu zeigen: L = {ε} LL {(}L{)} zeige: L {ε} LL {(}L{)} L {ε} LL {(}L{)} Kontextfreie Grammatiken Rekursive Definition syntaktischer Strukturen 10/37

13 Lösbarkeit von L = {ε} LL {(}L{)} konstruiere Folge L 0, L 1,... formaler Sprachen L i für i N 0 zeige, dass die Vereinigung aller L i die Gleichung löst L 0 = {ε}. für i N 0 sei L i+1 = L i L i {(}L i {)} Lemma. L = i=0 L i erfüllt die Gleichung. Beweisstruktur zu zeigen: L = {ε} LL {(}L{)} zeige: L {ε} LL {(}L{)} L {ε} LL {(}L{)} Kontextfreie Grammatiken Rekursive Definition syntaktischer Strukturen 10/37

14 Beweis des Lemmas i N 0 : ε L i, denn: ε L0 für alle i N0 ist L i L i L i+1, wenn ε L i, dann auch ε = εε L i L i L i+1. also i N 0 : L i = L i {ε} L i L i L i+1. Zeige: L {ε} LL {(}L{)} Da ε L0 L ist, ist L = L{ε} LL {ε} LL {(}L{)}. Zeige: L {ε} LL {(}L{)} sei w {ε} LL {(}L{)}. 1. Fall: w = ε: w = ε L0 L. 2. Fall: w LL: Dann w = w 1 w 2 mit w 1 L und w 2 L. Also existieren Indizes i 1 und i 2 mit w 1 L i1 und w 2 L i2. Für i = max(i 1, i 2 ) ist w 1 L i und w 2 L i, also w = w 1 w 2 L i L i L i+1 L. 3. Fall: w {(}L{)}: für ein i N 0 ist dann w {(}L i {)} L i+1 L. Kontextfreie Grammatiken Rekursive Definition syntaktischer Strukturen 11/37

15 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. Das ist eine andere Lösung, denn ((( ist zwar in {(, )} aber nicht in i=0 L i: man vergleiche die Anzahlen der ( und ) Kontextfreie Grammatiken Rekursive Definition syntaktischer Strukturen 12/37

16 Was kann man an i=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 (()) L2, weil () L 1 und Regel K3. () L 1, weil ε L 0 und Regel K3. ()() L2, 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. Kontextfreie Grammatiken Rekursive Definition syntaktischer Strukturen 13/37

17 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 ) ε ε ε Kontextfreie Grammatiken Rekursive Definition syntaktischer Strukturen 14/37

18 Vereinfachte Darstellung für (())()() L 3 X X X ( X ) X X ( X ) ( X ) ( X ) ε ε ε So etwas heißt auch Baum ( Wurzel oben, Blätter unten) bisher: von unten nach oben interpretiert als Begründungen kontextfreie Grammatiken: von oben nach unten syntaktische Ersetzungen Kontextfreie Grammatiken Rekursive Definition syntaktischer Strukturen 15/37

19 Vereinfachte Darstellung für (())()() L 3 X X X ( X ) X X ( X ) ( X ) ( X ) ε ε ε So etwas heißt auch Baum ( Wurzel oben, Blätter unten) bisher: von unten nach oben interpretiert als Begründungen kontextfreie Grammatiken: von oben nach unten syntaktische Ersetzungen Kontextfreie Grammatiken Rekursive Definition syntaktischer Strukturen 15/37

20 Was ist wichtig Das sollten Sie mitnehmen: Klammerstrukturen sind wichtig. Manchmal kann man sich Fixpunkten annähern. Ein Fixpunkt einer Abbildung f ist ein Argument x mit x = f (x). So kann man L = {ε} LL (L) auch sehen... Das sollten Sie üben: Angst verlieren vor dem Lesen und Finden von Beweisen Bei ruhigem Hinsehen drängt sich eine passende Vorgehensweise manchmal fast auf. Kontextfreie Grammatiken Rekursive Definition syntaktischer Strukturen 16/37

21 Überblick Kontextfreie Grammatiken Rekursive Definition syntaktischer Strukturen Kontextfreie Grammatiken Relationen (Teil 2) Kontextfreie Grammatiken Kontextfreie Grammatiken 17/37

22 Kontextfreie Grammatik G = (N, T, S, P) N ist ein Alphabet sogenannter Nichtterminalsymbole T ist ein Alphabet sogenannter Terminalsymbole. kein Zeichen in beiden Alphabeten: N T = {}. S N ist das sogenannte Startsymbol. P N V ist endliche Menge von Produktionen. V = N T Menge aller Symbole überhaupt Schreibweise: X w (statt (X, w) P) Bedeutung: man kann X ersetzen durch w Kontextfreie Grammatiken Kontextfreie Grammatiken 18/37

23 ein Ableitungsschritt Aus u V ist in einem Schritt v V ableitbar in Zeichen u v wenn Wörter w 1, w 2 V und eine Produktion X w in P existieren, so dass u = w 1 X w 2 und v = w 1 ww 2. Also: Wenn X w in P, dann w 1 X w 2 w 1 ww 2. Beispiel G = ({X }, {a, b}, X, P) mit Produktionenmenge P = {X ε, X ax b}. Dann gilt z. B. abax baxxxx abax baax bxxx, denn abax } {{ ba} X XXX } {{ } w 1 w 2 } abax {{ ba} w 1 ax b XXX } {{ } w 2 Ebenso gilt abax baxxxx abaax bbaxxxx, denn }{{} aba X baxxxx } {{ } w 1 w 2 }{{} aba w 1 ax b baxxxx } {{ } w 2 Kontextfreie Grammatiken Kontextfreie Grammatiken 19/37

24 Anmerkungen Die Definition von legt eine Relation zwischen Wörtern über dem Alphabet V = N T fest. Man könnte also auch schreiben: R V V (oder gar V V?) üblich: Infixschreibweise Man schreibt u v und nicht (u, v) R, so wie man auch 5 7 schreibt und nicht (5, 7) R Im allgemeinen ist weder links- noch rechtstotal und weder links- noch rechtseindeutig. bei einer Produktion linke Seite ist immer ein Nichtterminalsymbol In Ableitungsschritt wird nie ein Terminalsymbol ersetzt. Wo sie stehen, ist die Ableitung zu Ende daher der Name Terminalsymbol. Kontextfreie Grammatiken Kontextfreie Grammatiken 20/37

25 Anmerkungen Die Definition von legt eine Relation zwischen Wörtern über dem Alphabet V = N T fest. Man könnte also auch schreiben: R V V (oder gar V V?) üblich: Infixschreibweise Man schreibt u v und nicht (u, v) R, so wie man auch 5 7 schreibt und nicht (5, 7) R Im allgemeinen ist weder links- noch rechtstotal und weder links- noch rechtseindeutig. bei einer Produktion linke Seite ist immer ein Nichtterminalsymbol In Ableitungsschritt wird nie ein Terminalsymbol ersetzt. Wo sie stehen, ist die Ableitung zu Ende daher der Name Terminalsymbol. Kontextfreie Grammatiken Kontextfreie Grammatiken 20/37

26 Anmerkungen Die Definition von legt eine Relation zwischen Wörtern über dem Alphabet V = N T fest. Man könnte also auch schreiben: R V V (oder gar V V?) üblich: Infixschreibweise Man schreibt u v und nicht (u, v) R, so wie man auch 5 7 schreibt und nicht (5, 7) R Im allgemeinen ist weder links- noch rechtstotal und weder links- noch rechtseindeutig. bei einer Produktion linke Seite ist immer ein Nichtterminalsymbol In Ableitungsschritt wird nie ein Terminalsymbol ersetzt. Wo sie stehen, ist die Ableitung zu Ende daher der Name Terminalsymbol. Kontextfreie Grammatiken Kontextfreie Grammatiken 20/37

27 mehrere Ableitungsschritte Eine Ableitung(sfolge) ist eine Folge von Ableitungsschritten, deren Anzahl irrelevant ist. Formal: Für alle u, v V gelte u 0 v genau dann, wenn u = v i N 0 : (u i+1 v genau dann, wenn w V : u w i v) u v genau dann, wenn i N 0 : u i v Beispielgrammatik G = ({X }, {a, b}, X, {X ε, X ax b}): X ax b aax bb aaax bbb aaabbb Also gilt z. B.: X aax bb, ax b aaax bbb, X aaabbb und viele andere. Kontextfreie Grammatiken Kontextfreie Grammatiken 21/37

28 erzeugte formale Sprache Hauptinteresse: Welche Wörter aus Terminalsymbolen können aus dem Startsymbol abgeleitet werden? von Grammatik G = (N, T, S, P) erzeugte formale Sprache L(G) = {w T S w}. solche formalen Sprachen heißen auch kontextfrei Kontextfreie Grammatiken Kontextfreie Grammatiken 22/37

29 Beispiel einer kontextfreien Sprache Beispielgrammatik G = ({X }, {a, b}, X, {X ε, X ax b} eben schon gesehen: aaabbb L(G) wegen X ax b aax bb aaax bbb aaabbb leicht verallgemeinerbar: für alle i N 0 gilt: X a i b i, also {a i b i i N 0 } L(G) Beweis wird leichter, wenn man gleich zeigt: i N 0 : (X a i b i X a i X b i ) Umgekehrt kann man zeigen: i N 0 : wenn X i+1 w, dann w = a i b i w = a i+1 X b i+1 also L(G) {a i b i i N 0 } Insgesamt: L(G) = {a i b i i N 0 }. Kontextfreie Grammatiken Kontextfreie Grammatiken 23/37

30 kompaktere Notation bei vielen Produktionen Statt {X w 1, X w 2, X w 3, X w 4, X w 5 } schreibt man {X w 1 w 2 w 3 w 4 w 5 } und liest die senkrechten Striche als oder. Beispielgrammatik: P = { X ax b ε } Kontextfreie Grammatiken Kontextfreie Grammatiken 24/37

31 Interpretation der Definition der Java-Syntax eine kontextfreien Grammatik Block,... sind 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 Kontextfreie Grammatiken Kontextfreie Grammatiken 25/37

32 Interpretation der Definition der Java-Syntax (2) ähnlich 1 Block: { BlockStatements opt } bedeutet Block { BlockStatements } { } Kontextfreie Grammatiken Kontextfreie Grammatiken 26/37

33 kontextfreie Grammatiken für Syntax von Programmiersprachen? (jedenfalls viele) Nichtterminalsymbole stehen für strukturelle Konzepte der Programmiersprache. das Ideal: Man kann mit der Grammatik für Java genau alle syntaktisch korrekten Javaprogramme ableiten kann, aber auch nur diese und nichts anderes. die Realität ist komplizierter: Was mit der Grammatik nicht ableitbar ist, ist bestimmt kein Javaprogramm. gut Aber Dinge ableitbar, die keine korrekten Programme sind. nicht gut. Grund: manche Forderungen kann man überhaupt nicht mit Hilfe kontextfreier Grammatiken ausdrücken. Kontextfreie Grammatiken Kontextfreie Grammatiken 27/37

34 Ableitungsbäume Grammatik für unser Klammerproblem: ({X }, {(, )}, X, {X XX (X ) ε}). lange Ableitungsfolgen manchmal nicht sehr erhellend: X X X (X )X (X )X X (X )X (X ) ((X ))X (X ) ((X ))X () ((X ))(X )() (())(X )() (())()() man darf umordnen (Kontextfreiheit!) schon besser: Linksableitung X X X (X )X ((X ))X (())X (())X X (())(X )X (())()X (())()(X ) (())()() manchmal noch übersichtlicher: Ableitungsbaum Kontextfreie Grammatiken Kontextfreie Grammatiken 28/37

35 ein Ableitungsbaum X X X ( X ) X X ( X ) ( X ) ( X ) ε ε ε Man beginnt mit dem Startsymbol als Wurzel. Für jeden Ableitungsschritt werden an das ersetzte Nichtterminalsymbol Kanten nach unten dran gehängt. (Wir verzichten an dieser Stelle auf eine Formalisierung.) Kontextfreie Grammatiken Kontextfreie Grammatiken 29/37

36 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 Kontextfreie Grammatiken Kontextfreie Grammatiken 30/37

37 Überblick Kontextfreie Grammatiken Rekursive Definition syntaktischer Strukturen Kontextfreie Grammatiken Relationen (Teil 2) Kontextfreie Grammatiken Relationen (Teil 2) 31/37

38 Produkt von Relationen Es seien R M 1 M 2 und S M 2 M 3 zwei Relationen Dann heißt S R = {(x, z) M 1 M 3 y M 2 : (x, y) R (y, z) S} das Produkt der Relationen R und S. oder in Infixschreibweise: für alle (x, z) M 1 M 3 x(s R)z gdw. y M 2 : xry ysz Mitteilung: Das Relationenprodukt ist eine assoziative Operation. Mit Id M bezeichnen wir die Relation Id M = {(x, x) x M} Das ist die identische Abbildung auf der Menge M. Für jede binäre Relation R M M gilt: R Id M = R = Id M R Kontextfreie Grammatiken Relationen (Teil 2) 32/37

39 Potenzen und reflexiv-transitive Hülle einer Relation Ist R M M binäre Relation auf einer Menge M, dann definiert man Potenzen R i : R 0 = Id M i N 0 : R i+1 = R i R Die reflexiv-transitive Hülle einer Relation R ist R = i=0 R i Kontextfreie Grammatiken Relationen (Teil 2) 33/37

40 reflexiv-transitive Hülle Die reflexiv-transitive Hülle R einer Relation R hat folgende Eigenschaften: R ist reflexiv. R ist transitiv. R ist die kleinste Relation, die R enthält und reflexiv und transitiv ist. Relation R heißt reflexiv, wenn Id M R ist. Relation R heißt transitiv, wenn gilt: x M : y M : z M : xry yrz = xrz (Das ist ein Implikationspfeil und kein Ableitungspfeil.) Kontextfreie Grammatiken Relationen (Teil 2) 34/37

41 reflexiv-transitive Hülle (2) R ist immer reflexiv, denn Id M = R 0 R Man kann zeigen: für alle i, j N 0 gilt: R i R j = R i+j. Daraus folgt: R ist immer transitiv, denn wenn (x, y) R und (y, z) R, dann gibt es i und j N0 mit (x, y) R i und (y, z) R j dann ist (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. Es sei S eine beliebige Relation ist, die reflexiv und transitiv ist. Wenn S die Relation R umfasst, also R S, dann sogar R S. Kontextfreie Grammatiken Relationen (Teil 2) 35/37

42 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 Kontextfreie Grammatiken Relationen (Teil 2) 36/37

43 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 Kontextfreie Grammatiken Relationen (Teil 2) 37/37

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

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

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

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

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

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

Objektorientierte Programmierung. Kapitel 3: Syntaxdiagramme und Grammatikregeln

Objektorientierte Programmierung. Kapitel 3: Syntaxdiagramme und Grammatikregeln Stefan Brass: OOP (Java), 3. Syntaxdiagramme und Grammatikregeln 1/32 Objektorientierte Programmierung Kapitel 3: Syntaxdiagramme und Grammatikregeln Stefan Brass Martin-Luther-Universität Halle-Wittenberg

Mehr

Grundbegriffe der Informatik

Grundbegriffe der Informatik Grundbegriffe der Informatik Einheit 3: Alphabete (und Relationen, Funktionen, Aussagenlogik) Thomas Worsch Universität Karlsruhe, Fakultät für Informatik Oktober 2008 1/18 Überblick Alphabete ASCII Unicode

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

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

2.11 Kontextfreie Grammatiken und Parsebäume

2.11 Kontextfreie Grammatiken und Parsebäume 2.11 Kontextfreie Grammatiken und Parsebäume Beispiel: Beispiel (Teil 3): Beweis für L(G) L: Alle Strings aus L der Länge 0 und 2 sind auch in L(G). Als Induktionsannahme gehen wir davon aus, dass alle

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

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

Motivation. Formale Grundlagen der Informatik 1 Kapitel 5 Kontextfreie Sprachen. Informales Beispiel. Informales Beispiel.

Motivation. Formale Grundlagen der Informatik 1 Kapitel 5 Kontextfreie Sprachen. Informales Beispiel. Informales Beispiel. Kontextfreie Kontextfreie Motivation Formale rundlagen der Informatik 1 Kapitel 5 Kontextfreie Sprachen Bisher hatten wir Automaten, die Wörter akzeptieren Frank Heitmann heitmann@informatik.uni-hamburg.de

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

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

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

1. Formale Sprachen 1.2 Grammatiken formaler Sprachen

1. Formale Sprachen 1.2 Grammatiken formaler Sprachen 1. Formale Sprachen 1.2 Grammatiken formaler Sprachen Die Regeln zur Bildung korrekter Wörter einer Sprache kann man in einer natürlichen Sprache formulieren. Da dies jedoch wieder Mehrdeutigkeiten mit

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

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

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

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

Grundbegriffe der Informatik

Grundbegriffe der Informatik Grundbegriffe der Informatik Einheit 9: Speicher Thomas Worsch Karlsruher Institut für Technologie, Fakultät für Informatik Wintersemester 2009/2010 1/20 Überblick Speicher Bit und Byte Speicher als Tabellen

Mehr

1 Mathematische Grundlagen

1 Mathematische Grundlagen Mathematische Grundlagen - 1-1 Mathematische Grundlagen Der Begriff der Menge ist einer der grundlegenden Begriffe in der Mathematik. Mengen dienen dazu, Dinge oder Objekte zu einer Einheit zusammenzufassen.

Mehr

t r Lineare Codierung von Binärbbäumen (Wörter über dem Alphabet {, }) Beispiel code( ) = code(, t l, t r ) = code(t l ) code(t r )

t r Lineare Codierung von Binärbbäumen (Wörter über dem Alphabet {, }) Beispiel code( ) = code(, t l, t r ) = code(t l ) code(t r ) Definition B : Menge der binären Bäume, rekursiv definiert durch die Regeln: ist ein binärer Baum sind t l, t r binäre Bäume, so ist auch t =, t l, t r ein binärer Baum nur das, was durch die beiden vorigen

Mehr

Grundbegriffe der Informatik

Grundbegriffe der Informatik Grundbegriffe der Informatik Kapitel 6: Induktives Vorgehen Thomas Worsch KIT, Institut für Theoretische Informatik Wintersemester 2015/2016 GBI Grundbegriffe der Informatik KIT, Institut für Theoretische

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

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

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

Grundbegriffe der Informatik

Grundbegriffe der Informatik Grundbegriffe der Informatik Tutorium 4 26..25 INSTITUT FÜR THEORETISCHE INFORMATIK KIT Universität des Landes Baden-Württemberg und nationales Forschungszentrum in der Helmholtz-Gemeinschaft www.kit.edu

Mehr

Grammatiken. Einführung

Grammatiken. Einführung Einführung Beispiel: Die arithmetischen Ausdrücke über der Variablen a und den Operationen + und können wie folgt definiert werden: a, a + a und a a sind arithmetische Ausdrücke Wenn A und B arithmetische

Mehr

Programmieren I. Formale Sprachen. www.kit.edu. Institut für Angewandte Informatik

Programmieren I. Formale Sprachen. www.kit.edu. Institut für Angewandte Informatik Programmieren I Formale Sprachen KIT Universität des Landes Baden-Württemberg und nationales Großforschungszentrum in der Helmholtz-Gemeinschaft www.kit.edu Formale Sprachen: Allgemeines Sprachen werden

Mehr

Funktionale Programmierung mit Haskell

Funktionale Programmierung mit Haskell Funktionale Programmierung mit Haskell Prof. Dr. Hans J. Schneider Lehrstuhl für Programmiersprachen und Programmiermethodik Friedrich-Alexander-Universität Erlangen-Nürnberg Sommersemester 2011 I. Die

Mehr

Grundbegriffe der Informatik

Grundbegriffe der Informatik Grundbegriffe der Informatik Tutorium 27 29..24 FAKULTÄT FÜR INFORMATIK KIT Universität des Landes Baden-Württemberg und nationales Forschungszentrum in der Helmholtz-Gemeinschaft www.kit.edu Definition

Mehr

Was ist ein Compiler?

Was ist ein Compiler? Was ist ein Compiler? Was ist ein Compiler und worum geht es? Wie ist ein Compiler aufgebaut? Warum beschäftigen wir uns mit Compilerbau? Wie ist die Veranstaltung organisiert? Was interessiert Sie besonders?

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

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

syntax.tex Eine Übersicht

syntax.tex Eine Übersicht syntax.tex Eine Übersicht Bernd Worsch 7. Juli 1997 Inhaltsverzeichnis 1 Einleitung 1 2 Bevor es funktioniert... 1 3 Grundelemente von syntax.tex 1 4 Strukturelemente von syntax.tex 3 5 Setzen von Syntaxdiagrammen

Mehr

Logische Folgerung. Definition 2.11

Logische Folgerung. Definition 2.11 Logische Folgerung Definition 2.11 Sei 2A eine aussagenlogische Formel und F eine endliche Menge aussagenlogischer Formeln aus A. heißt logische Folgerung von F genau dann, wenn I ( ) =1für jedes Modell

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

Einführung in die Informatik Grammars & Parsers

Einführung in die Informatik Grammars & Parsers Einführung in die Informatik Grammars & Parsers Grammatiken, Parsen von Texten Wolfram Burgard Cyrill Stachniss 12.1 Einleitung Wir haben in den vorangehenden Kapiteln meistens vollständige Java- Programme

Mehr

Einführung in die Computerlinguistik

Einführung in die Computerlinguistik Einführung in die Computerlinguistik Syntax WS 2006/2007 Manfred Pinkal Einführung in die Computerlinguistik 2006/2007 M. Pinkal UdS 1 Morphologie und Syntax Gegenstand der Morphologie ist die Struktur

Mehr

Mathematische Grundlagen der Informatik 2

Mathematische Grundlagen der Informatik 2 Zusammenfassung Math2I Mathematische Grundlagen der Informatik 2 Emanuel Duss emanuel.duss@gmail.com 12. April 2013 1 Zusammenfassung Math2I Mathematische Grundlagen der Informatik 2 Dieses Dokument basiert

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

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 Algebra

Einführung in die Algebra Prof. Dr. H. Brenner Osnabrück SS 2009 Einführung in die Algebra Vorlesung 13 Einheiten Definition 13.1. Ein Element u in einem Ring R heißt Einheit, wenn es ein Element v R gibt mit uv = vu = 1. DasElementv

Mehr

Parsing-EinfŸhrung Ð 1

Parsing-EinfŸhrung Ð 1 Parsing-EinfŸhrung bersicht Falsifizierbarkeit, oder: Sind Grammatiken wissenschaftlich? Grammatik, Formalismus Kontextfreie Grammatiken Ableitungen Ziel Verstehen der linguistischen Motivation Intuitives

Mehr

Informatik IC2. Balazs Simon 2005.03.26.

Informatik IC2. Balazs Simon 2005.03.26. Informatik IC2 Balazs Simon 2005.03.26. Inhaltsverzeichnis 1 Reguläre Sprachen 3 1.1 Reguläre Sprachen und endliche Automaten...................... 3 1.2 Determinisieren.....................................

Mehr

Theoretische Informatik

Theoretische Informatik Theoretische Informatik für die Studiengänge Ingenieur-Informatik berufsbegleitendes Studium Lehramt Informatik (Sekundar- und Berufsschule) http://theo.cs.uni-magdeburg.de/lehre04s/ Lehrbeauftragter:

Mehr

Zusammenfassung. Satz. 1 Seien F, G Boolesche Ausdrücke (in den Variablen x 1,..., x n ) 2 Seien f : B n B, g : B n B ihre Booleschen Funktionen

Zusammenfassung. Satz. 1 Seien F, G Boolesche Ausdrücke (in den Variablen x 1,..., x n ) 2 Seien f : B n B, g : B n B ihre Booleschen Funktionen Zusammenfassung Zusammenfassung der letzten LV Einführung in die Theoretische Informatik Woche 6 Harald Zankl Institut für Informatik @ UIBK Wintersemester 2014/2015 Satz 1 Seien F, G Boolesche Ausdrücke

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

Gleichungen Lösen. Ein graphischer Blick auf Gleichungen

Gleichungen Lösen. Ein graphischer Blick auf Gleichungen Gleichungen Lösen Was bedeutet es, eine Gleichung zu lösen? Was ist überhaupt eine Gleichung? Eine Gleichung ist, grundsätzlich eine Aussage über zwei mathematische Terme, dass sie gleich sind. Ein Term

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

Codierungstheorie Rudolf Scharlau, SoSe 2006 9

Codierungstheorie Rudolf Scharlau, SoSe 2006 9 Codierungstheorie Rudolf Scharlau, SoSe 2006 9 2 Optimale Codes Optimalität bezieht sich auf eine gegebene Quelle, d.h. eine Wahrscheinlichkeitsverteilung auf den Symbolen s 1,..., s q des Quellalphabets

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

3.2 Spiegelungen an zwei Spiegeln

3.2 Spiegelungen an zwei Spiegeln 3 Die Theorie des Spiegelbuches 45 sehen, wenn die Person uns direkt gegenüber steht. Denn dann hat sie eine Drehung um die senkrechte Achse gemacht und dabei links und rechts vertauscht. 3.2 Spiegelungen

Mehr

Einführung in die Computerlinguistik

Einführung in die Computerlinguistik Einführung in die Computerlinguistik Syntax II WS 2008/2009 Manfred Pinkal Morphologie und Syntax Gegenstand der Morphologie ist die Struktur des Wortes: der Aufbau von Wörtern aus Morphemen, den kleinsten

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

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

Mathematik für Studierende der Biologie und des Lehramtes Chemie Wintersemester 2013/14. Auswahl vorausgesetzter Vorkenntnisse

Mathematik für Studierende der Biologie und des Lehramtes Chemie Wintersemester 2013/14. Auswahl vorausgesetzter Vorkenntnisse UNIVERSITÄT DES SAARLANDES FACHRICHTUNG 6.1 MATHEMATIK Dipl.-Math. Kevin Everard Mathematik für Studierende der Biologie und des Lehramtes Chemie Wintersemester 2013/14 Auswahl vorausgesetzter Vorkenntnisse

Mehr

Grundlagen der Künstlichen Intelligenz

Grundlagen der Künstlichen Intelligenz Grundlagen der Künstlichen Intelligenz 27. Aussagenlogik: Logisches Schliessen und Resolution Malte Helmert Universität Basel 28. April 2014 Aussagenlogik: Überblick Kapitelüberblick Aussagenlogik: 26.

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

Lösungsmenge L I = {x R 3x + 5 = 9} = L II = {x R 3x = 4} = L III = { }

Lösungsmenge L I = {x R 3x + 5 = 9} = L II = {x R 3x = 4} = L III = { } Zur Einleitung: Lineare Gleichungssysteme Wir untersuchen zunächst mit Methoden, die Sie vermutlich aus der Schule kennen, explizit einige kleine lineare Gleichungssysteme. Das Gleichungssystem I wird

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

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

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

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

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

Kapitel 2: Formale Sprachen Gliederung

Kapitel 2: Formale Sprachen Gliederung Gliederung 0. Einleitung und Grundbegriffe 1. Endliche Automaten 2. Formale Sprachen 3. Berechnungstheorie 4. Komplexitätstheorie 2.1. Chomsky-Grammatiken 2.2. Reguläre Sprachen 2.3. Kontextfreie Sprachen

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

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

4. Mathematische und notationelle Grundlagen. Beispiel Mengen. Bezeichnungen:

4. Mathematische und notationelle Grundlagen. Beispiel Mengen. Bezeichnungen: 4. Mathematische und notationelle Grundlagen 4.1 Mengen Beispiel 3 A 1 = {2, 4, 6, 8}; A 2 = {0, 2, 4, 6,...} = {n N 0 ; n gerade} Bezeichnungen: x A A x x A B A B A { } x Element A x nicht Element A B

Mehr

Grundlagen der Theoretischen Informatik

Grundlagen der Theoretischen Informatik Grundlagen der Theoretischen Informatik 3. Endliche Automaten (V) 21.05.2015 Viorica Sofronie-Stokkermans e-mail: sofronie@uni-koblenz.de 1 Bis jetzt Determinierte endliche Automaten (DEAs) Indeterminierte

Mehr

Syntax (= Satzgefüge), vgl. auch Grammatik

Syntax (= Satzgefüge), vgl. auch Grammatik 1 Natürliche Sprachen Natürliche Sprachen bezeichnen wie das Wort "Sprache" ausdrückt zunächst das Gesprochene. Das Schweizerdeutsch etwa ist eine typische natürliche Sprache. Mit der Erfindung der Aufzeichnung

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

Mathematik 1. Lösungsvorschläge zum 2. Übungsblatt

Mathematik 1. Lösungsvorschläge zum 2. Übungsblatt Hochschule Regensburg Fakultät Informatik/Mathematik Christoph Böhm Wintersemester 0/0 Wirtschaftsinformatik Bachelor IW Informatik Bachelor IN Vorlesung Mathematik Mathematik Lösungsvorschläge zum Übungsblatt

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

Entscheidungsprobleme. Berechenbarkeit und Komplexität Entscheidbarkeit und Unentscheidbarkeit. Die Entscheidbarkeit von Problemen

Entscheidungsprobleme. Berechenbarkeit und Komplexität Entscheidbarkeit und Unentscheidbarkeit. Die Entscheidbarkeit von Problemen Berechenbarkeit und Komlexität Entscheidbarkeit und Unentscheidbarkeit Wolfgang Schreiner Wolfgang.Schreiner@risc.uni-linz.ac.at Research Institute for Symbolic Comutation (RISC) Johannes Keler University,

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

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

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

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

(1.18) Def.: Eine Abbildung f : M N heißt

(1.18) Def.: Eine Abbildung f : M N heißt Zurück zur Mengenlehre: Abbildungen zwischen Mengen (1.17) Def.: Es seien M, N Mengen. Eine Abbildung f : M N von M nach N ist eine Vorschrift, die jedem x M genau ein Element f(x) N zuordnet. a) M = N

Mehr

Vorlesung Diskrete Strukturen Graphen: Wieviele Bäume?

Vorlesung Diskrete Strukturen Graphen: Wieviele Bäume? Vorlesung Diskrete Strukturen Graphen: Wieviele Bäume? Bernhard Ganter Institut für Algebra TU Dresden D-01062 Dresden bernhard.ganter@tu-dresden.de WS 2013/14 Isomorphie Zwei Graphen (V 1, E 1 ) und (V

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

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

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

1 Syntax von Programmiersprachen

1 Syntax von Programmiersprachen 1 Syntax von Programmiersprachen Syntax ( Lehre vom Satzbau ): formale Beschreibung des Aufbaus der Worte und Sätze, die zu einer Sprache gehören; im Falle einer Programmier-Sprache Festlegung, wie Programme

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

x 2 2x + = 3 + Es gibt genau ein x R mit ax + b = 0, denn es gilt

x 2 2x + = 3 + Es gibt genau ein x R mit ax + b = 0, denn es gilt - 17 - Die Frage ist hier also: Für welche x R gilt x = x + 1? Das ist eine quadratische Gleichung für x. Es gilt x = x + 1 x x 3 = 0, und man kann quadratische Ergänzung machen:... ( ) ( ) x x + = 3 +

Mehr

4. Jeder Knoten hat höchstens zwei Kinder, ein linkes und ein rechtes.

4. Jeder Knoten hat höchstens zwei Kinder, ein linkes und ein rechtes. Binäre Bäume Definition: Ein binärer Baum T besteht aus einer Menge von Knoten, die durch eine Vater-Kind-Beziehung wie folgt strukturiert ist: 1. Es gibt genau einen hervorgehobenen Knoten r T, die Wurzel

Mehr

Wintersemester 2005/2006 Gedächtnisprotokoll der mündlichen Prüfung

Wintersemester 2005/2006 Gedächtnisprotokoll der mündlichen Prüfung Wintersemester 2005/2006 Gedächtnisprotokoll der mündlichen Prüfung Ulrich Loup 24.03.2006 Prüfungsstoff: Alegebra I, Analysis IV, Graphentheorie I Prüfer: Prof. Dr. Wilhelm Plesken Protokollant: Dipl.

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

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

Logik für Informatiker

Logik für Informatiker Logik für Informatiker 2. Aussagenlogik Teil 3 30.04.2012 Viorica Sofronie-Stokkermans Universität Koblenz-Landau e-mail: sofronie@uni-koblenz.de 1 Letztes Mal Aussagenlogik Syntax: welche Formeln? Semantik:

Mehr