Informatik IC2. Balazs Simon

Größe: px
Ab Seite anzeigen:

Download "Informatik IC2. Balazs Simon"

Transkript

1 Informatik IC2 Balazs Simon

2 Inhaltsverzeichnis 1 Contextfreie Sprachen Ableitungsbaum Schönheit Normalformen Chomsky Normal Form (CNF) Greibach Normal Form (GNF) Beispiel LL(k) Parser LR(k) Parser Pumpen Reguläre Sprachen CF Sprachen Geschlossenheit der CF Sprachen Geschlossenheit der reguläre und CF Sprachen Aufgaben

3 Kapitel 1 Contextfreie Sprachen 1.1 Ableitungsbaum Betrachten wir den folgenden Grammatik: E E + T T T T F F F (E) a Konstruieren wir die Links- und Rechtsableitung, und die zugehörige Ableitungsbäume. Linksableitung: immer die linkste Nichtterminalzeichen zu ersetzen. Rechtsableitung: immer die rechteste Nichtterminalzeichen zu ersetzen. Auch für die folgende Grammatik: E E + E E E (E) a Für Computers müssen alle Ableitungsbäume dieselbe sein, also jede Ableitungs soll eindeutig sein. Die obige Grammatik ist eindeutig, die untere nicht. Eine andere nicht eindeutige Sprache: a i b i c j a j b i c i S XC AY X axb ab C cc c A aa a Y by c bc a i b i c i kann nicht eindeutig abgeleitet werden. Die Sprache ist nicht eindeutig, es hat kein eindeutige zugehörige Grammatik. 3

4 4 KAPITEL 1. CONTEXTFREIE SPRACHEN 1.2 Schönheit Eine Grammatik ist schön (proper grammar, jólfésült nyelvtan), wenn es kein Hässlichkeit hat. Die 3 Grundhässlichkeiten: Unnötige Zeichen. Ein Nichtterminalzeichen ist nötig, wenn wir solche gültige Ableitungen haben, die dieses Nichtterminalzeichen enthalten. Ein Terminalzeichen ist unnötig, falls es in kein Satzform vorkommt. Wenn ein Zeichen unnötig ist, wir sollen die Regeln, die dieses Zeichen enthalten, weglassen. ɛ-regeln sind hässlich, weil sie verkürzende Regeln sind. Einfache Ableitungsregeln sind hässlich, weil die Ableitung ein Zyklus enthalten kann. (A B B C C A) Eliminierung der hässliche Regeln (kemmen): Unnötige Zeichen: Bottom-up kemmen: Konstruieren wir eine Folge von Mengen. B i+1 = B i {A A α, α B i } Wir konstruieren die neue Menge so, dass wir solche Nichtterminalzeichen zunehmen, die solche Ableitungsregeln hat, dessen rechte Seite nur solche Charakters enthält, die in der vorige Menge sind. Die nullte Menge wird die Alphabet der Sprache: B 0 = Σ. B wird die grösste Menge sein, wir können es so bekommen, falls B i B i+1 kein neue Hinzufügen hat. Dann wird B = B i = B i+1 sein, und wird nur die Terminalsymbolen und nur solche Nichtterminalsymbolen enthalten, die ein solche Satzform generieren können, die nur aus Terminalzeichen besteht. Top-down kemmen: Wieder eine Folge von Mengen. T i+1 = T i {X A αxβ, A T i } T i enthält solche Zeichen, die von der Satzsymbol in i Schritten ableitbar sind. T 0 = S und T wird die grösste Menge sein, wir können es so bekommen, falls T i T i+1 kein neue Hinzufügen hat. Dann wird T = T i = T i+1 sein, und wird nur die Terminalsymbolen und nur solche Nichtterminalsymbolen enthalten, die von der Satzsymbol eigentlich ableitbar sind. Wir müssen immer erstmal von unten, danach von oben kemmen! Beispiel: S a aa A AB Ab B bb b Von oben: B 0 = {a, b} B 1 = {a, b, B, S} B 2 = {a, b, B, S}

5 1.2. SCHÖNHEIT 5 also A ist unnötig: S a B bb b Von unten: T 0 = {S} T 1 = {S, a} T 2 = {S, a} also B ist auch unnötig: S a ɛ-regeln: Von unten nach oben kemmen mit B 0 = {ɛ} anfangen. Wenn S B, die Sprache enthält die leere Zeichenkette, sonst nicht. Falls ɛ Element der Sprache ist, das Ergebnis wird die Vereinigung von L 1 = {ɛ} und L 2 = {alle Sätze, die die originale Sprache enthält}. L 1 generiert die leere Zeichenkette, L 2 generiert alle andere Zeichenketten der Sprache. Die Grammatik von L 2 wird ohne ɛ-regeln eine solche Grammatik, die wir so bekommen, dass in der originale Grammatik jede Nichtterminalzeichen von B in alle Kombinationen in alle rechte Seiten einschreiben oder weglassen. Die direkte ɛ-regeln sollen weggelassen werden. Beispiel: Nach kemmen: B = {ɛ, S} Das Ergebnis: S ɛ S S S SaSb ɛ S SaSb asb Sab ab Einfache Ableitungsregeln: Suchen wir erstmal alle einfache Regeln, und wir sammeln alle Nichtterminalsymbolen aus diese Regeln. Wir kemmen von oben nach unten aus jede solche Nichtterminalzeichen. Die T Menge, die zu eine solche Nichtterminalsymbol gehört, enthält alle Nichtterminalsymbolen, die aus diese Nichtterminalsymbol durch einfache Ableitungsregeln erreichtbar sind. Wir werden statt die einfache Regeln solche Regeln aufnehmen, dessen linke Seite diese Nichtterminalsymbol wird, und die rechte Seite wird alle Rechte seiten solcher Regeln enthalten, dessen linke seite eine Nichtterminalsymbol aus der Menge T stammt. Beispiel: infix arithmetik E E + T T T T F F F (E) a

6 6 KAPITEL 1. CONTEXTFREIE SPRACHEN Die einfache Regeln: E T T F Die Nichtterminalsymbolen, die in die Regeln vorkommen: E, T und F. Nach kemmen: T E = {E, T, F } T T = {T, F } T F = {F } Wenn wir die einfache Regeln weglassen: E E + T T T F F (E) a Mit den neuen Regeln anhand T E, T T und T F : E E + T T F (E) a T T F (E) a F (E) a Also wir können die hässliche Regeln immer eliminieren. 1.3 Normalformen Wir müssen immer erstmal die Grammatik kemmen, wenn wir die Normalformen konstuieren möchten! Chomsky Normal Form (CNF) Diese Normalform kann nur solche Regeln enthalten: A BC und A a. Gegeben ist eine Grammatik. Konstruieren die CNF von dieser Grammatik! Regeln schon in CNF vertig. Regeln nicht in CNF: aus der Terminalzeichen sollen neue Nichtterminalzeichen konstruiert. Statt eine Regel C BaD nehmen wir zwei neue Regeln auf: C BÂD und  a. Aus die lange"n N 1 N 2...N n Regeln (n > 2) neue Regeln: N N 1 N 1 N 1 N 2 N 3...N n usw.

7 1.4. LL(K) PARSER Greibach Normal Form (GNF) Die Greibach Normal Form enthält nur Regeln in der Form A aw, wo W eine beliebig lange Nichtterminalzeichenkette ist. Aus jede schönen Grammatik können wir die GNF konstruieren, aber wir werden es nicht lernen Beispiel Konstruieren wir die CNF der folgenden Grammatik: S asb ab. Diese Grammatik generiert die Sprache a i b i. Die neue Regeln mit die neuen Nichtterminalsymbolen: S ASB S AB, A a, B b. Die erste Regel soll modifiziert werden: S AC, C SB. Die CNF der Grammatik: S AC C SB S AB A a B b 1.4 LL(k) Parser Ein Parser ist für Bestimmung der Ableitungsbaum. Es analysiert immer eindeutig und deterministich die Sätze. Bei der Linksableitung fangen wir mit dem Satzsymbol an, und wir eliminieren immer die linkste Nichtterminalsymbol. Im allgemein hat ein Nichtterminalsymbol mehr als 1 rechte Seiten, und wir sollten entscheiden, welche aus diesen anzuwenden. Es soll eindeutig sein, weil der Sprache eindeutig ist. Damit der LL(k) Parser entscheiden kann, macht es ein Vorblick: er liest k Charakters vor, und aus diese Charakters wird er entscheiden, welche Regel zu benutzen. Erste L: wir lesen von links nach rechts Zweite L: wir machen eine Linksableitung k: wir lesen soviele Charakters vor Wenn wir bei einer Satzform waβ haben: wir haben w schon abgeleitet das linkste Nichtterminalsymbol A ist β ist der Rest des Satzes Falls die k Symbols, die w folgen, genug Information geben, dass wir entscheiden können, welche Ableitungsregel zu benutzen, dann sagen wir, dass die Grammatik LL(k) analysierbar ist. Beispiel: prefix polish Notation 1 E +EE 2 E EE 3 E a

8 8 KAPITEL 1. CONTEXTFREIE SPRACHEN Diese Grammatik ist LL(1) analysierbar: der erste Charakter ist unterschiedlich für alle Regeln. Die sogenannte Parser Tabelle: in dem horizontalen Kopf sind die höchstens k lange Zeichenketten, die wir vorblicken können. In dem vertikalen kopf stehen die Symbolen, die in der Keller vorkommen können. + a ɛ E +EE, 1 EE, 2 a, 3 + pop pop a pop ɛ acc Falls der Terminalzeichen am Dach des Kellers gleich mit dem gelesene Symbol, dann nehmen wir dieses Symbol aus den Keller (pop). Der k lange Vorblick bedeutet das k lange Prefix der noch nicht gelesene Zeichenkette. Wir können ɛ nur dann vorblicken, falls wir das ganze Zeichenkette durchgelesen haben. Wir akzeptieren mit leerem Keller, also falls ɛ ist in dem Keller und wir haben die ganze Zeichenkette durchgelesen (der Vorblick ɛ ist), dann akzeptieren wir den Satz (acc). Die leere Stellen in der Tabelle kann nie vorkommen, falls der Satz ein gültiger Satz ist. Die wichtigste Informationen kann man in der erste Zeile finden. Die Felder sagen, was statt das Nichtterminalzeichen schreiben soll, und welche Zahl als Ergebnis ausgegeben soll. Die Konfiguration der Ableitung: noch zu lesen, im Keller: linkste Symbol ist das Dach, Ergebnis: die Reihenfolge der Regeln Analysieren wir den folgenden Satz: +a aa {+a aa, E, ɛ} {+a aa, +EE, 1} {a aa, EE, 1} {a aa, ae, 13} { aa, E, 13} { aa, EE, 132} {aa, EE, 132} {aa, ae, 1323} {a, E, 1323} {a, a, 13233} {ɛ, ɛ, 13233} acc 1.5 LR(k) Parser Wir lesen die Symbolen des Satzes, und plazieren sie im Keller. Falls am Dach des Kellers eine rechte Seite eines Regels vorkommt, es ist ein potentialer Griff. Wenn dieser Griff ein echter Griff ist, sollen wir es abbrechen, falls nicht, dann ein neues Charakter einlesen. Das ist die Rechtsaufleitung. Wir schieben ein Charakter in den Keller, und falls sich ein echte Griff am Dach befindet, abbrechen wir es, sonst nehmen wir das nächste Charakter. Deshalb ist diese Methode als shift-reduce genannt. Der kritisher Punkt ist zu entscheiden, ob wir abbrechen oder schieben sollen. Eine Zustimmung mit eine der rechte Seiten bedeutet nicht, dass wir abbrechen können. Es kann auch vorkommen, das mehrere Nichtterminalsymbolen die gleiche Rechte seiten haben, und wir sollten entscheiden, welche Regel zu benutzen. In dieser Entscheidung hilft uns der LR(k) Parser. L: wir lesen von links nach rechts R: wir machen Rechtssufleitung k: wir lesen soviele Charakters vor Wenn wir eine Ableitung S γax γαx wx haben, und bei der Rechtsaufleitung bei der Satzform γα sind, und x ist noch yu lesen, dann: wir haben γα schon abgeleitet α ist ein lebhafte Prefix x ist der Rest des Satzes Falls die erste k Symbols von x genug Information geben, dass wir entscheiden können, ob wir α abbrechen sollen, oder nicht, und welche Ableitungsregel im fall von Abbrechen zu benutzen, dann sagen wir, dass die Grammatik LR(k) analysierbar ist.

9 1.6. PUMPEN 9 Die Parser Tabelle hat zwei Teilen: Aktionstabelle und Gototabelle. Die Aktionstabelle sagt, dass in einem gegebenen Situation bei einem gegebenen lebhaften Prefix und bei einem gegebenen Vorblick was zu tun. Es gibt 4 Operatitionen: schieben(s), akzeptieren(a), abbrechen(zahlen), Fehler(leere Stelle). Die Goto Tabelle sagt, dass wenn wir zu die aktuelle lebhafte Prefix ein neues Symbol hinzufügen, welche Prefix wir bekommen. Das nächste Schritt wird von dieser neuen Zustand gemacht. Sei der Grammatik: S S, S SaSb ɛ a b ɛ S a b T T 1 T 1 S A T 2 T T 3 T 3 S S T 5 T 4 T T T 6 T 6 S S T 5 T 7 T Analysieren wir den folgende Sätze: aababb, abba 1.6 Pumpen Reguläre Sprachen Eine genügend lange Satz w einer regulärer Sprache kann auf 3 Teilen xyz aufgeteilt werden so, dass wenn wir die mittlere Teil beliebig vielmal wiederholen, bekommen wir wieder einen Satz der Sprache. Falls xyz L, dann xy i z L (i 0). Ein endliche Automat bewegt sich sovielmal, wieviele Charakters der gelesene Satz beinhaltet. Falls der Automat n Zustände hat, dann macht er n Schritten, falls er einen Satz mit n Charakters einliest, und inzwischen geht er durch n + 1 Zuständen. Das bedeutet, dass es eine solche Zustand existieren muss, an der der Automat zweimal durchgegangen hat, also gibt es eine Schleife in dem Weg, den der Automat gemacht hat. Wenn die y Teil der Satz dieser Schleife verursacht, dann können wir durch diese Schleife beliebig vielmal durchgehen, wenn wir y genug vielmal wiederholen. Aufgabe: a i b i keine reguäre Sprache ist CF Sprachen Die CF Sprachen können auch pumpen, diese ist als zweifache Pumpen genannt. Wenn wir eine CF Grammatik haben, und wir können eine genügend lange q = vwxyz Satz generieren können, dann vw i xy i z ist auch Element der Sprache. Beweis. Nehmen wir an, dass die Anzahl der Nichtterminalsymbolen n ist. Nehmen wir einen solchen Satz, in dessen Ableitungsbaum eine solche Weg von der Wurzel bis einem Blatt existitert, der n Knotenpunkten beinhaltet. Diese bedeutet die "genügend langäusdruck. In den Knotenpunkten sind Nichtterminalsymbolen, also muss es eine solche Nichtterminalsymbol existieren, die an dieser Weg zweimal vorkommt. (S vaz vwayz vwxyz, also: A way und A x). Wir könnten aber aus A beliebig vielmal wieder eine way Satzform ableiten, dann wird w und y immer wiederholt, aber genauso vielmal. Eine von w und y kann auch ɛ sein, aber nicht beide. Aufgabe: a i b i CF Sprache ist. (es kann zweimal pumpen, und S asb ab generiert diese Sprache) Aufgabe: a i b i c i kein CF Sprache ist.

10 10 KAPITEL 1. CONTEXTFREIE SPRACHEN 1.7 Geschlossenheit der CF Sprachen Aufgabe: a i b i c j CF Sprache ist. (S XC, X axb ab, C cc c) Aufgabe: a i b j c j CF Sprache ist. (S AX, X bxc bc, A aa a) Diese zwei Sprachen sind deterministisch. Eine CF Sprache deterministisch ist, falls es eine deterministische Kellerautomat konstruiert werden kann so, dass dieser Automat die Sätze der Sprache akzeptiert. Durchschnitt von a i b i c j und a i b j c j ist a i b i c i, es ist keine CF Sprache. Die CF Sprachen sind nicht geschlossen für Durchschnitt Operation. Für die deterministiche CF Sprachen ist die Komplementbildung geschlossen, aber wir werden es nicht beweisen. Vereinigung: die deterministiche CF Sprachen sind nicht geschlossen für Vereinigung. Beweis: indirekt, mit De-Morgan Indentitäten. Die Durchschnitt würde auch geschlossen. Konkatenation: die CF Sprachen sind geschlossen für Konkatenation, aber wir wissen es nicht für deterministische CF Sprachen. Transitive Hülle: die CF Sprachen sind geschlossen für Transitive Hülle. 1.8 Geschlossenheit der reguläre und CF Sprachen regulär CF = CF regulär CF = CF regulär CF = CF!!! 1.9 Aufgaben 1. Geben wir CF Grammatik für die folgende Sprachen! (a) a i b j 0 i j 3i (b) a i+j b i c j i, j 0 (c) a i b i+j c j i, j 0 (d) a i b j c i+j i, j 0 2. Eliminieren Sie die ε-regeln! S ABC A BB ε B CC a C AA b 3. Eliminieren Sie die überflüssige Symbole! 4. Kämmen wir die folgende Grammatik: S A B A ab bs b B AB Ba C AS b S Ba Cab A A ab ac a B b BC C Cb CA

11 1.9. AUFGABEN Geben wir den folgenden Grammatik in Chomsky Normal Form! S ABB a ba A BaS abs B b bs

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

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

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

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

Kontextfreie Sprachen

Kontextfreie Sprachen Kontextfreie Sprachen Bedeutung: Programmiersprachen (Compilerbau) Syntaxbäume Chomsky-Normalform effiziente Lösung des Wortproblems (CYK-Algorithmus) Grenzen kontextfreier Sprachen (Pumping Lemma) Charakterisierung

Mehr

Kontextfreie Sprachen

Kontextfreie Sprachen Kontextfreie Sprachen besitzen große Bedeutung im Compilerbau Chomsky-Normalform effiziente Lösung des Wortproblems (CYK-Algorithmus) Grenzen kontextfreier Sprachen (Pumping Lemma) Charakterisierung durch

Mehr

Theoretische Grundlagen der Informatik

Theoretische Grundlagen der Informatik Theoretische Grundlagen der Informatik Vorlesung am 18. Januar 2018 INSTITUT FÜR THEORETISCHE 0 18.01.2018 Dorothea Wagner - Theoretische Grundlagen der Informatik INSTITUT FÜR THEORETISCHE KIT Die Forschungsuniversität

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

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

Ü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

Deterministischer Kellerautomat (DPDA)

Deterministischer Kellerautomat (DPDA) Deterministische Kellerautomaten Deterministischer Kellerautomat (DPDA) Definition Ein Septupel M = (Σ,Γ, Z,δ, z 0,#, F) heißt deterministischer Kellerautomat (kurz DPDA), falls gilt: 1 M = (Σ,Γ, Z,δ,

Mehr

Kontextfreie Grammatiken

Kontextfreie Grammatiken Kontextfreie Grammatiken Bisher haben wir verschiedene Automatenmodelle kennengelernt. Diesen Automaten können Wörter vorgelegt werden, die von den Automaten gelesen und dann akzeptiert oder abgelehnt

Mehr

Grundlagen der Theoretischen Informatik

Grundlagen der Theoretischen Informatik Grundlagen der Theoretischen Informatik 4. Kellerautomaten und kontextfreie Sprachen (III) 17.06.2015 Viorica Sofronie-Stokkermans e-mail: sofronie@uni-koblenz.de 1 Übersicht 1. Motivation 2. Terminologie

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

Kellerautomat (1/4) Kellerautomat (2/4) Kellerautomat (3/4) Kellerautomat (4/4)

Kellerautomat (1/4) Kellerautomat (2/4) Kellerautomat (3/4) Kellerautomat (4/4) Kellerautomat (1/4) Kellerautomat (2/4) Kontextfreie Grammatiken können von Kellerautomaten (Push Down Automata, PDA) erkannt werden PDAs sind eine Erweiterung der endlichen Automaten um ein einfaches

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

Übung zur Vorlesung Grundlagen der theoretischen Informatik. Aufgabenblatt 7 Lösungen. Wiederholung: Pumping-Lemma für kontextfreie Sprachen

Übung zur Vorlesung Grundlagen der theoretischen Informatik. Aufgabenblatt 7 Lösungen. Wiederholung: Pumping-Lemma für kontextfreie Sprachen Prof. Dr. Viorica Sofronie-Stokkermans Universität Koblenz-Landau Fachbereich 4: Informatik Dennis Peuter 01. Juni 2017 Übung zur Vorlesung Grundlagen der theoretischen Informatik Aufgabenblatt 7 Lösungen

Mehr

Einführung in die Computerlinguistik Formale Grammatiken rechtslineare und kontextfreie Grammatiken Kellerautomaten

Einführung in die Computerlinguistik Formale Grammatiken rechtslineare und kontextfreie Grammatiken Kellerautomaten Einführung in die Computerlinguistik Formale Grammatiken rechtslineare und kontextfreie Grammatiken Kellerautomaten Dozentin: Wiebke Petersen 13. Foliensatz Wiebke Petersen Einführung CL 1 Formale Grammatik

Mehr

Tutoraufgabe 1 (ɛ-produktionen):

Tutoraufgabe 1 (ɛ-produktionen): Prof aa Dr J Giesl Formale Systeme, Automaten, Prozesse SS 2010 M Brockschmidt, F Emmes, C Fuhs, C Otto, T Ströder Hinweise: Die Hausaufgaben sollen in Gruppen von je 2 Studierenden aus dem gleichen Tutorium

Mehr

Einführung in die Theoretische Informatik

Einführung in die Theoretische Informatik Technische Universität München akultät für Informatik Prof. Tobias Nipkow, Ph.D. Dr. Werner Meixner, Dr. Alexander Krauss Sommersemester 2010 Lösungsblatt 6 11. Juni 2010 Einführung in die Theoretische

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

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

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

Automaten und formale Sprachen Notizen zu den Folien

Automaten und formale Sprachen Notizen zu den Folien Automaten und formale prachen Notizen zu den Folien 10 Kontextfreie Grammatiken Beispiele für kontextfreien Grammatiken ei Σ = {a, b}. Beispiel 1 (Folie 233, oben) Geben ie eine kontextfreie Grammatik

Mehr

Informales Beispiel. Formale Grundlagen der Informatik 1 Kapitel 6 Eigenschaften kontextfreier Sprachen. Grammatiken. Anmerkungen

Informales Beispiel. Formale Grundlagen der Informatik 1 Kapitel 6 Eigenschaften kontextfreier Sprachen. Grammatiken. Anmerkungen Informales Beispiel Formale Grundlagen der Informatik 1 Kapitel 6 Eigenschaften kontextfreier Sprachen Frank Heitmann heitmann@informatik.uni-hamburg.de 22. April 2014 I L IL ID L a b c D 0 1 2 3 4 Eine

Mehr

Einführung in die Theoretische Informatik

Einführung in die Theoretische Informatik Technische Universität München Fakultät für Informatik Prof. Tobias Nipkow, Ph.D. Dr. Werner Meixner, Dr. Alexander Krauss Sommersemester 2010 Lösungsblatt 7 15. Juni 2010 Einführung in die Theoretische

Mehr

3 kontextfreie Sprachen

3 kontextfreie Sprachen Hans U. Simon Bochum, den 7.10.2008 Annette Ilgen Beispiele zur Vorlesung Theoretische Informatik WS 08/09 Vorbemerkung: Hier findet sich eine Sammlung von Beispielen und Motivationen zur Vorlesung Theoretische

Mehr

Automaten und formale Sprachen Notizen zu den Folien

Automaten und formale Sprachen Notizen zu den Folien Automaten und formale prachen Notizen zu den Folien 10 Kontextfreie Grammatiken Beispiele für kontextfreien Grammatiken ei Σ = {a, b}. Beispiel 1 (Folie 211, oben) Geben ie eine kontextfreie Grammatik

Mehr

Formale Sprachen. Grammatiken. Grammatiken und die Chomsky-Hierarchie. Rudolf FREUND, Marion OSWALD. Grammatiken: Ableitung

Formale Sprachen. Grammatiken. Grammatiken und die Chomsky-Hierarchie. Rudolf FREUND, Marion OSWALD. Grammatiken: Ableitung Formale Sprachen rammatiken und die Chomsky-Hierarchie Rudolf FREUND, Marion OSWALD rammatiken Das fundamentale Modell zur Beschreibung von formalen Sprachen durch Erzeugungsmechanismen sind rammatiken.

Mehr

Automaten und Formale Sprachen SoSe 2007 in Trier. Henning Fernau Universität Trier

Automaten und Formale Sprachen SoSe 2007 in Trier. Henning Fernau Universität Trier Automaten und Formale Sprachen SoSe 2007 in Trier Henning Fernau Universität Trier fernau@informatik.uni-trier.de 1 Automaten und Formale Sprachen Gesamtübersicht Organisatorisches Einführung Endliche

Mehr

Hochschule Bonn-Rhein-Sieg University of Applied Sciences Grantham-Allee Sankt Augustin

Hochschule Bonn-Rhein-Sieg University of Applied Sciences Grantham-Allee Sankt Augustin Hochschule Bonn-Rhein-Sieg Uniersity of Applied Sciences Grantham-Allee 20 53757 Sankt Augustin Director b-it Applied Science Institute Fachbereich Informatik Prof. Dr. Kurt-Ulrich Witt Mathematische und

Mehr

Theoretische Informatik 2

Theoretische Informatik 2 Theoretische Informatik 2 Johannes Köbler Institut für Informatik Humboldt-Universität zu Berlin WS 2009/10 Die Chomsky-Hierarchie Definition Sei G = (V, Σ, P, S) eine Grammatik. 1 G heißt vom Typ 3 oder

Mehr

Rekursiv aufzählbare Sprachen

Rekursiv aufzählbare Sprachen Kapitel 4 Rekursiv aufzählbare Sprachen 4.1 Grammatiken und die Chomsky-Hierarchie Durch Zulassung komplexer Ableitungsregeln können mit Grammatiken größere Klassen als die kontextfreien Sprachen beschrieben

Mehr

Grundlagen der Theoretischen Informatik

Grundlagen der Theoretischen Informatik Grundlagen der Theoretischen Informatik 4. Kellerautomaten und kontextfreie Sprachen (II) 11.06.2015 Viorica Sofronie-Stokkermans e-mail: sofronie@uni-koblenz.de 1 Übersicht 1. Motivation 2. Terminologie

Mehr

2. Gegeben sei folgender nichtdeterministischer endlicher Automat mit ɛ-übergängen:

2. Gegeben sei folgender nichtdeterministischer endlicher Automat mit ɛ-übergängen: Probeklausur Automatentheorie & Formale Sprachen WiSe 2012/13, Wiebke Petersen Name: Matrikelnummer: Aufgabe A: Typ3-Sprachen 1. Konstruieren Sie einen endlichen Automaten, der die Sprache aller Wörter

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

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

(Prüfungs-)Aufgaben zu formale Sprachen

(Prüfungs-)Aufgaben zu formale Sprachen (Prüfungs-)Aufgaben zu formale Sprachen (siehe auch bei den Aufgaben zu endlichen Automaten) 1) Eine Grammatik G sei gegeben durch: N = {S, A}, T = {a, b, c, d}, P = { (S, Sa), (S, ba), (A, ba), (A, c),

Mehr

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

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

Kapitel: Die Chomsky Hierarchie. Die Chomsky Hierarchie 1 / 14 Kapitel: Die Chomsky Hierarchie Die Chomsky Hierarchie 1 / 14 Allgemeine Grammatiken Definition Eine Grammatik G = (Σ, V, S, P) besteht aus: einem endlichen Alphabet Σ, einer endlichen Menge V von Variablen

Mehr

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

Motivation natürliche Sprachen

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

Mehr

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

Grundlagen der Theoretischen Informatik

Grundlagen der Theoretischen Informatik 1 Grundlagen der Theoretischen Informatik Till Mossakowski Fakultät für Informatik Otto-von-Guericke Universität Magdeburg Wintersemester 2014/15 2 Kontextfreie Grammatiken Definition: Eine Grammatik G

Mehr

Normalformen für kontextfreie Grammatiken. Noam CHOMSKY, Sheila GREIBACH. Bäume. Ableitungen in kontextfreien Grammatiken. Grammatik G = (N,T,P,S)

Normalformen für kontextfreie Grammatiken. Noam CHOMSKY, Sheila GREIBACH. Bäume. Ableitungen in kontextfreien Grammatiken. Grammatik G = (N,T,P,S) Noam CHOMSKY, Sheila GREIBACH Normalformen für kontextfreie Grammatiken Noam CHOMSKY (*1928 ) Sheila GREIBACH (*1939) Grammatik G = (N,T,P,S) GREIBACH Normalform: A aw, w N* Erweiterte GREIBACH Normalform:

Mehr

Musterlösung Informatik-III-Klausur

Musterlösung Informatik-III-Klausur Musterlösung Informatik-III-Klausur Aufgabe 1 (1+4+3+4 Punkte) (a) 01010 wird nicht akzeptiert: s q 0 q 1 q 2 f q 2 10101 wird akzeptiert: s q 2 q 2 f q 2 f (b) ε: {s, q 0, q 1, q 2 }, {f} 0: {s, q 0,

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

1 Die Chomsky-Hirachie

1 Die Chomsky-Hirachie Hans U. imon Bochum, den 7.10.2008 Annette Ilgen Beispiele zur Vorlesung Theoretische Informatik W 09/10 Vorbemerkung: Hier findet sich eine ammlung von Beispielen und Motivationen zur Vorlesung Theoretische

Mehr

Formale Grundlagen der Informatik

Formale Grundlagen der Informatik Formale Grundlagen der Informatik / 2015 1 Reguläre Ausdrücke Kommen in der Praxis immer dann vor, wenn standardisierte Eingaben erforderlich sind: Telefonnummern: +Land (0) Ort Anschluß Dateinamen: (A-Z,

Mehr

Lösung zur Klausur. Grundlagen der Theoretischen Informatik im WiSe 2003/2004

Lösung zur Klausur. Grundlagen der Theoretischen Informatik im WiSe 2003/2004 Lösung zur Klausur Grundlagen der Theoretischen Informatik im WiSe 2003/2004 1. Geben Sie einen deterministischen endlichen Automaten an, der die Sprache aller Wörter über dem Alphabet {0, 1} akzeptiert,

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

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

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

2.6 Abschlußeigenschaften

2.6 Abschlußeigenschaften R. Reischuk, ITCS 25 Theorem 2.10 Eine reguläre Sprache L, die von einem DFA mit k Zuständen akzeptiert wird, ist genau dann unendlich, wenn ein X L existiert mit k X < 2k. Beweis: Die eine Richtung der

Mehr

Formale Sprachen. Script, Kapitel 4. Grammatiken

Formale Sprachen. Script, Kapitel 4. Grammatiken Formale Sprachen Grammatiken Script, Kapitel 4 erzeugen Sprachen eingeführt von Chomsky zur Beschreibung natürlicher Sprache bedeutend für die Syntaxdefinition und -analyse von Programmiersprachen Automaten

Mehr

Beschreibungskomplexität von Grammatiken Definitionen

Beschreibungskomplexität von Grammatiken Definitionen Beschreibungskomplexität von Grammatiken Definitionen Für eine Grammatik G = (N, T, P, S) führen wir die folgenden drei Komplexitätsmaße ein: Var(G) = #(N), Prod(G) = #(P ), Symb(G) = ( α + β + 1). α β

Mehr

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 04.06.2013 An den Transitionen sieht man zunächst, dass nur die folgenden Zustandsübergänge

Mehr

Worterkennung in Texten speziell im Compilerbau 20. April Frank Heitmann 2/64

Worterkennung in Texten speziell im Compilerbau 20. April Frank Heitmann 2/64 Grenzen regulärer Sprachen? Formale Grundlagen der Informatik 1 Kapitel 4 Über reguläre Sprachen hinaus und Pumping Lemma Frank Heitmann heitmann@informatik.uni-hamburg.de Wir haben mittlerweile einiges

Mehr

Kurz-Skript zur Theoretischen Informatik I

Kurz-Skript zur Theoretischen Informatik I Kurz-Skript zur Theoretischen Informatik I Inhaltsverzeichnis 1 Grundlagen 2 2 Reguläre Ausdrücke 4 3 Endliche Automaten 5 3.1 Vollständige endliche Automaten................................... 6 3.2 ε

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

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

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

Grundlagen der Informatik II

Grundlagen der Informatik II Grundlagen der Informatik II Tutorium 2 Professor Dr. Hartmut Schmeck Miniaufgabe * bevor es losgeht * Finden Sie die drei Fehler in der Automaten- Definition. δ: A = E, S, δ, γ, s 0, F, E = 0,1, S = s

Mehr

Maike Buchin 18. Februar 2016 Stef Sijben. Probeklausur. Theoretische Informatik. Bearbeitungszeit: 3 Stunden

Maike Buchin 18. Februar 2016 Stef Sijben. Probeklausur. Theoretische Informatik. Bearbeitungszeit: 3 Stunden Maike Buchin 8. Februar 26 Stef Sijben Probeklausur Theoretische Informatik Bearbeitungszeit: 3 Stunden Name: Matrikelnummer: Studiengang: Geburtsdatum: Hinweise: Schreibe die Lösung jeder Aufgabe direkt

Mehr

2. Gegeben sei folgender nichtdeterministischer endlicher Automat mit ɛ-übergängen:

2. Gegeben sei folgender nichtdeterministischer endlicher Automat mit ɛ-übergängen: Probeklausur Automatentheorie & Formale Sprachen WiSe 2012/13, Wiebke Petersen Name: Matrikelnummer: Aufgabe A: Typ3-Sprachen 1. Konstruieren Sie einen endlichen Automaten, der die Sprache aller Wörter

Mehr

Spracherkennung (Syntaxanalyse)

Spracherkennung (Syntaxanalyse) Kellerautomaten Kellerautomaten 8 Spracherkennung (Syntaxanalyse) Algorithmus gesucht, der für L T (möglichst schnell) entscheidet, ob w L (Lösung des Wortproblems) Grammatik Automat Aufwand rechtslinear

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

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

VU Software Paradigmen / SS 2014

VU Software Paradigmen / SS 2014 VU Software Paradigmen 716.060 / SS 2014 Thorsten Ruprechter ruprechter@tugraz.at Institute for Software Technology 1 Organisatorisches Ausgabe: 25.03. (heute) Fragestunde: 22.04. Abgabe: 29.04 (ausgedruckt)

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

Hoffmann (HAW Hamburg) Automatentheorie und formale Sprachen

Hoffmann (HAW Hamburg) Automatentheorie und formale Sprachen Hoffmann (HAW Hamburg) Automatentheorie und formale Sprachen 18.4. 2012 176 Automatentheorie und formale Sprachen VL 5 Reguläre und nichtreguläre Sprachen Kathrin Hoffmann 18. Aptil 2012 Hoffmann (HAW

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

Einführung in die Theoretische Informatik

Einführung in die Theoretische Informatik Einführung in die Theoretische Informatik Johannes Köbler Institut für Informatik Humboldt-Universität zu Berlin WS 2011/12 Deterministische Kellerautomaten Von besonderem Interesse sind kontextfreie Sprachen,

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

Kapitel 5: Syntax-Analyse

Kapitel 5: Syntax-Analyse Kapitel 5: Syntax-Analyse Aufgabe Die Token-Folge wird strukturiert in Anweisungen, Ausdrücke etc., um die Semantische Analyse und Code-Erzeugung zu ermöglichen Themen Kontextfreie Grammatik Äquivalente

Mehr

2. Übungsblatt 6.0 VU Theoretische Informatik und Logik

2. Übungsblatt 6.0 VU Theoretische Informatik und Logik 2. Übungsblatt 6.0 VU Theoretische Informatik und Logik 25. September 2013 Aufgabe 1 Geben Sie jeweils eine kontextfreie Grammatik an, welche die folgenden Sprachen erzeugt, sowie einen Ableitungsbaum

Mehr

Abschluss gegen Substitution. Wiederholung. Beispiel. Abschluss gegen Substitution

Abschluss gegen Substitution. Wiederholung. Beispiel. Abschluss gegen Substitution Wiederholung Beschreibungsformen für reguläre Sprachen: DFAs NFAs Reguläre Ausdrücke:, {ε}, {a}, und deren Verknüpfung mit + (Vereinigung), (Konkatenation) und * (kleenescher Abschluss) Abschluss gegen

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

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

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

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

Umformung NTM DTM. Charakterisierung rek. aufz. Spr. Chomsky-3-Grammatiken (T5.3) Chomsky-0-Grammatik Rek. Aufz. Chomsky-0-Grammatik Rek. Aufz. Satz T5.2.2: Wenn L durch eine Chomsky-0- Grammatik G beschrieben wird, gibt es eine NTM M, die L akzeptiert. Beweis: Algo von M: Schreibe S auf freie Spur. Iteriere: Führe

Mehr

Automatentheorie und formale Sprachen rechtslineare Grammatiken

Automatentheorie und formale Sprachen rechtslineare Grammatiken Automatentheorie und formale Sprachen rechtslineare Grammatiken Dozentin: Wiebke Petersen 17.6.2009 Wiebke Petersen Automatentheorie und formale Sprachen - SoSe09 1 Pumping lemma for regular languages

Mehr

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

Einführung in Berechenbarkeit, Formale Sprachen und Komplexitätstheorie Einführung in Berechenbarkeit, Formale Sprachen und Komplexitätstheorie Wintersemester 2005/2006 07.02.2006 28. und letzte Vorlesung 1 Die Chomsky-Klassifizierung Chomsky-Hierachien 3: Reguläre Grammatiken

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

Definition 98 Eine Turingmaschine heißt linear beschränkt (kurz: LBA), falls für alle q Q gilt:

Definition 98 Eine Turingmaschine heißt linear beschränkt (kurz: LBA), falls für alle q Q gilt: 5.2 Linear beschränkte Automaten Definition 98 Eine Turingmaschine heißt linear beschränkt (kurz: LBA), falls für alle q Q gilt: (q, c, d) δ(q, ) = c =. Ein Leerzeichen wird also nie durch ein anderes

Mehr

Deterministische PDAs

Deterministische PDAs Deterministische PDAs Erinnerung: Ein PDA ist deterministisch, wenn q Q, a Σ, Z Γ: δ(q,a,z) + δ(q,ε,z) 1. Definition: Eine Sprache heißt deterministisch kontextfrei, wenn es für sie einen DPDA gibt. Ziel:

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

Berechenbarkeitstheorie 7. Vorlesung

Berechenbarkeitstheorie 7. Vorlesung 1 Berechenbarkeitstheorie Dr. Institut für Mathematische Logik und Grundlagenforschung WWU Münster W 15/16 Alle Folien unter Creative Commons Attribution-NonCommercial 3.0 Unported Lizenz. Das Pumpinglemma

Mehr

2.4 Kontextsensitive und Typ 0-Sprachen

2.4 Kontextsensitive und Typ 0-Sprachen Definition 2.43 Eine Typ 1 Grammatik ist in Kuroda Normalform, falls alle Regeln eine der folgenden 4 Formen haben: Dabei: A, B, C, D V und a Σ. Satz 2.44 A a, A B, A BC, AB CD. Für jede Typ 1 Grammatik

Mehr

Einführung in die Theoretische Informatik

Einführung in die Theoretische Informatik Einführung in die Theoretische Informatik Woche 7 Harald Zankl Institut für Informatik @ UIBK Wintersemester 2014/2015 Zusammenfassung Zusammenfassung der letzten LV 1 Wir betrachten die folgende Signatur

Mehr

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

Übungsblatt 7. Vorlesung Theoretische Grundlagen der Informatik im WS 17/18 Institut für Theoretische Informatik Lehrstuhl Prof. Dr. D. Wagner Übungsblatt 7 Vorlesung Theoretische Grundlagen der Informatik im WS 17/18 Ausgabe 24. Januar 2018 Abgabe 6. Februar 2018, 11:00 Uhr (im

Mehr

Syntax von Programmiersprachen

Syntax von Programmiersprachen Syntax von Programmiersprachen SEP 209 Programmiersprachen Sprache = Menge von Wörtern, typischerweise unendlich Programmiersprache: Wörter repräsentieren Programme Programm kann auf einem Computer evtl.

Mehr

Endgültige Gruppeneinteilung Kohorte Innere-BP Sommersemester 2016 (Stand: )

Endgültige Gruppeneinteilung Kohorte Innere-BP Sommersemester 2016 (Stand: ) A A1a 2197120 on on A A1a 2311330 on on on on on on on A A1a 2316420 on on A A1a 2332345 on on on on on on on A A1a 2371324 on on on on on on on A A1a 2382962 on on A A1a 2384710 on on on on on on on A

Mehr

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

Zusammenfassung. Beispiel. 1 Wir betrachten die folgende Signatur F = {,, +, 0, 1} sodass. 3 Wir betrachten die Identitäten E. 4 Dann gilt E 1 + x = 1 Zusammenfassung Zusammenfassung der letzten LVA Einführung in die Theoretische Informatik Christina Kohl Alexander Maringele eorg Moser Michael Schaper Institut für Informatik @ UIBK Wintersemester 2016

Mehr

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

Theoretische Informatik 2 (WS 2006/07) Automatentheorie und Formale Sprachen / Kontextfreie Sprachen und Kellerautomaten Inhalt 1 Einführung 2 Automatentheorie und Formale Sprachen Grammatiken Reguläre Sprachen und endliche Automaten Kontextfreie Sprachen und Kellerautomaten Kontextsensitive und Typ 0-Sprachen 3 Berechenbarkeitstheorie

Mehr

Formale Sprachen und Automaten

Formale Sprachen und Automaten Formale Sprachen und Automaten Mathematische Grundlagen der Linguistik II, SS 03 Werner Saurer Computerlinguistik Uni Saarbrücken Bemerkung/Würdigung: Dieses Skript basiert zum grössten Teil auf dem Skript

Mehr

Klausuraufgaben. 1. Wir betrachten die folgende Sprache über dem Alphabet {a, b}

Klausuraufgaben. 1. Wir betrachten die folgende Sprache über dem Alphabet {a, b} Klausuraufgaben 1. Wir betrachten die folgende Sprache über dem Alphabet {a, b} L = {a n b m n > 0, m > 0, n m} a) Ist L kontextfrei? Wenn ja, geben Sie eine kontextfreie Grammatik für L an. Wenn nein,

Mehr

Übungsblatt 6. Vorlesung Theoretische Grundlagen der Informatik im WS 17/18

Übungsblatt 6. Vorlesung Theoretische Grundlagen der Informatik im WS 17/18 Institut für Theoretische Informatik Lehrstuhl Prof. Dr. D. Wagner Übungsblatt 6 Vorlesung Theoretische Grundlagen der Informatik im WS 17/18 Ausgabe 10. Januar 2018 Abgabe 23. Januar 2018, 11:00 Uhr (im

Mehr