Programmiersprachen und Übersetzer

Größe: px
Ab Seite anzeigen:

Download "Programmiersprachen und Übersetzer"

Transkript

1 Programmiersprachen und Übersetzer Berufsakademie Lörrach, TIT05-3. Semester Klausur, 1. Dez 2006 Aufgabe Σ Note Max Punkte Alle Bezeichnungen bitte gemäß der in der Vorlesung vereinbarten Schreib- und Sprechweise verwenden. Aufgabe 1 [ = 6 ] 1.a) Was bedeutet L = { eins, zwei, drei }? Es wird eine Menge definiert, weil wir aber den Buchstaben L für Sprachen verwendet haben, wird insbesondere eine Sprache definiert. 1.b) Geben Sie ein Beispiel für eine Sprache über Σ = { a, be, ce, de, e, ef }. Das könnte im einfachsten Fall schon L = { a } sein, aber auch so "komplizierte" Sachen wie L = { a, be } oder L = { a, ce } usw. sind möglich. 1.c) Bestimmen Sie die zum Σ aus 1.b) gehörende Menge Σ*. Das ist die Menge aus allen möglichen Kombinationen der Elemente von Σ, einschließlich ε. Also Σ* = { ε, a, be, ce, de, e, ef, aa, abe, ace,..., bece, bede,..., abece, abede, abeef,..., }. BA Lörrach: Programmiersprachen und Übersetzer, TIT05 3. Sem, Dipl.-Inf. Robert Grübel Seite 1

2 Aufgabe 2 [ = 8 Punkte ] Seien L1 = { if, then, else, end } und L2 = { while, do, begin, end } zwei Sprachen. 2.a) Zu welcher Sprachklasse gehören L1 und L2. Sind beides reguläre Sprachen. 2.b) Bestimmen Sie L1 L2. Zu welcher Sprachklasse gehört das Ergebnis? L1 L2 = { end }, und das ist regulär. 2.c) Bestimmen Sie L1 - L2. Zu welcher Sprachklasse gehört das Ergebnis? L1 - L2 = { if, then, else }, und das ist regulär. Aufgabe 3 [ = 17 Punkte ] In der Programmiersprache OBERON werden, nach der folgenden Erklärung, Zahlen sind ganze oder reelle Zahlen ohne Vorzeichen.... Reelle Zahlen haben immer einen Dezimalpunkt, und optional können sie einen Exponentialfaktor enthalten. Der Buchstabe E (oder D) wird gesprochen als "mal zehn hoch". Eine reelle Zahl ist vom Typ REAL, ausser der Exponentialfaktor enthält den Buchstaben D, dann ist sie vom Typ LONGREAL. Zahlen so definiert: Number = Integer Real. Integer = digit {digit} digit {hexdigit} "H". Real = digit {digit} "." {digit} [ScaleFactor]. ScaleFactor = ("E" "D") ["+" "-"] digit {digit}. hexdigit = digit "A" "B" "C" "D" "E" "F". digit = "0" "1" "2" "3" "4" "5" "6" "7" "8" "9". Dabei gilt:... eckige Klammern [ ] stehen für die Optionalität des eingeschlossenen Begriffes, geschweifte Klammern { } stehen für seine (evtl. 0-malige) Wiederholung. BA Lörrach: Programmiersprachen und Übersetzer, TIT05 3. Sem, Dipl.-Inf. Robert Grübel Seite 2

3 3.a) Bringen Sie die Definition von Real (nur die von Real!) in die in der Vorlesung vereinbarten Schreibweise für Produktionsregeln (wenn Sie dabei Ersetzungen vornehmen, z.b. Real anstatt S als Startsymbol verwenden usw., geben Sie bitte die Entsprechungen an). Man könnte folgende Produktionsregeln verwenden ("könnte", weil es natürlich mehrere Lösungen gibt, z.b. muß es, weil die erzeugte Sprache regulär ist, eine äquivalente reguläre Grammatik geben... ): Real Digit DigitDigit '.' DigitDigit ScaleFactor DigitDigit Digit DigitDigit ε ScaleFactor EoderD PlusMinus Digit DigitDigit ε EoderD 'E' 'D' PlusMinus '+' '-' ε Digit = '0' '1' '2' '3' '4' '5' '6' '7' '8' '9' Anmerkung: Das sind, wenn man die folgenden Ersetzungen verwendet, die Produktionsregeln der Grammatik aus Aufgabe 5: S = Real, A = DigitDigit, B = ScaleFactor, C = EoderD, D = PlusMinus a = Digit, b = '.', c = 'E', d = 'D', e = '+', f = '-' Allerdings fehlt in dieser Grammatik die Entsprechung zu ScaleFactor ε, ScaleFactor wäre hier also nicht optional. 3.b) Bestimmen Sie zu den Produktionsregeln aus 3.a) die Mengen Σ und N und das Startsymbol S, so daß Sie insgesamt eine vollständige Grammatikdefinition in der Form G = (N, Σ, P, S) erhalten. S = Real N = { Real, DigitDigit, ScaleFactor, EoderD, PlusMinus }, Σ = { Digit, '.', 'E', 'D', '+', '-' } BA Lörrach: Programmiersprachen und Übersetzer, TIT05 3. Sem, Dipl.-Inf. Robert Grübel Seite 3

4 Bezogen auf die Grammatik G aus 3.b): 3.c) Notieren Sie die Ableitungsschritte für das Wort 43.7E-3. Real - Digit DigitDigit '.' DigitDigit ScaleFactor - 4 DigitDigit '.' DigitDigit ScaleFactor - 4 Digit DigitDigit '.' DigitDigit ScaleFactor - 4 Digit '.' DigitDigit ScaleFactor - 43 '.' DigitDigit ScaleFactor - 43 '.' Digit DigitDigit ScaleFactor - 43 '.' 7 DigitDigit ScaleFactor - 43 '.' 7 ScaleFactor - 43 '.' 7 EoderD PlusMinus Digit DigitDigit - 43 '.' 7 'E' PlusMinus Digit DigitDigit - 43 '.' 7 'E' '-' Digit DigitDigit - 43 '.' 7 'E' '-' 3 DigitDigit - 43 '.' 7 'E' '-' 3 Jetzt muß nur noch jedes Digit zur entsprechenden Ziffer reduziert werden. 3.d) Ist ableitbar? (Nur ja oder nein.) Ja. 3.e) Ist 22 ableitbar? (Nur ja oder nein.) Nein. Das Wort 22 ist nicht ableitbar, und das kann man schon aus der Beschreibung herleiten, dort steht nämlich "Reelle Zahlen haben immer einen Dezimalpunkt", und der fehlt im Wort 22. BA Lörrach: Programmiersprachen und Übersetzer, TIT05 3. Sem, Dipl.-Inf. Robert Grübel Seite 4

5 Aufgabe 4 [ = 22 Punkte ] Gegeben seien der reguläre Ausdruck r 1 = dd*pd* und der folgende endliche Automat M 2, ε 4.a) Zeichnen Sie einen endlichen Automaten M 1 mit L(M 1 ) = L(r 1 ) (evtl. Platz lassen für die Aufgaben 4.c), 4.e) und 4.f)!). Anmerkung: Das ist der reguläre Ausdruck (bzw. der Automat) für die Regeln Real Digit DigitDigit '.' DigitDigit DigitDigit Digit DigitDigit ε aus Aufgabe 3, der reguläre Ausdruck also für eine reelle Zahl, jedoch ohne eine Exponenten (Scalefactor). BA Lörrach: Programmiersprachen und Übersetzer, TIT05 3. Sem, Dipl.-Inf. Robert Grübel Seite 5

6 4.b) Bestimmen Sie einen regulären Ausdruck r 2 mit L(r 2 ) = L(M 2 ). r 2 = (a + b)(x+y+ε)dd* Anmerkung: Das ist der reguläre Ausdruck für die Regeln ScaleFactor EoderD PlusMinus Digit DigitDigit, EoderD 'E' 'D' PlusMinus '+' '-' ε aus Aufgabe 3, der reguläre Ausdruck für den Exponenten (Scalefactor). 4.c) Fügen Sie die beiden Automaten M 1 und M 2 so zusammen, daß ein Automat M mit L(M) = L(r 1 r 2 ) (oder L(M) = L(M 1 )L(M 2 ))entsteht., ε Dazu kann einfach der Zustand z 2 des ersten Automaten mit dem Zustand 0 des zweiten Automaten durch einen ε -Übergang verbunden werden 8hier nicht ausgeführt!). 4.d) Welche "Schaltung" haben Sie in 4.c) verwendet? Die Reihenschaltung. BA Lörrach: Programmiersprachen und Übersetzer, TIT05 3. Sem, Dipl.-Inf. Robert Grübel Seite 6

7 4.e) Zeichnen Sie einen zum Automaten M äquivalenten, ε-freien Automaten M'. Begründen Sie, wie Sie zu Ihrem Ergebnis kommen. Dazu können der Zustand z 2 des ersten Automaten und der Zustand 0 des zweiten Automaten zusammengelegt, also zu einem Zustand gemacht werden (und der neue Zustand bleibt Endzustand), so daß dieser erste ε -Übergang entfällt. Den zweiten ε -Übergang vom Zustand 1 in den Zustand 2 kann man weglassen, wenn man den Zustand 1 über ein d mit dem Zustand 3 verbindet. 4.f) Erweitern Sie den Automaten M' zu einem vollständigen, zu M' äquivalenten Automaten M''. Damit der Automat vollständig ist muß es von jedem Zustand für jedes Eingabezeichen einen Übergang zu einem anderen Zustand geben. Man muß also aus jedem Zustand für die fehlenden Eingabezeichen einen Übergang zu einem neuen Zustand tot hinzufügen. Im neuen Zustand tot führen alle Eingabezeichen wieder in diesen Zustand. BA Lörrach: Programmiersprachen und Übersetzer, TIT05 3. Sem, Dipl.-Inf. Robert Grübel Seite 7

8 Aufgabe 5 [ = 22 Punkte ] Sei G = ( N, Σ, P, S ) die Grammatik mit N = { S, A, B, C, D }, Σ = { a, b, c, d, e, f } und P = { S aabab, A ε aa, B CDaA, C c d, D ε e f Anmerkung: Wie schon in Aufgabe 3 angemerkt ist diese Grammatik eine für reelle Zahlen, allerdings eben mit nicht-optionalem Exponenten. 5.a) Zu welcher Grammatik-Klasse gehört G? Bitte mit Begründung. G ist eine kontextfreie Grammatik: einerseits steht auf den linken Regelseiten nur jeweils ein Nonterminal, andererseits stehen auf den rechten Regelseiten mehrere Nonterminale, die Grammatik kann deshalb nicht regulär sein. 5.b) Konstruieren Sie mit dem Verfahren aus der Vorlesung - eine ε- freie, zu G äquivalente Grammatik G'. "1. Sei Menge der Nonterminale, aus denen man das leere Wort ableiten kann": N ε = { A, D } "2. Zu allen Regeln v w P werden alle Regeln der Form v w' zur neuen Produktionenmenge P' hinzugefügt, wobei w' aus w entsteht, indem man die in w vorkommenden Nonterminale A N ε aus w entfernt." P = { S aabab abab abb aabb, A ε aa a, B CDaA CDa Ca CaA C c d, D ε e f "3. Schließlich werden alle Regeln der Form u ε aus P' entfernt." P = { S aabab abab abb aabb, A aa a, B CDaA CDa Ca CaA C c d, D e f BA Lörrach: Programmiersprachen und Übersetzer, TIT05 3. Sem, Dipl.-Inf. Robert Grübel Seite 8

9 5.c) Gehört das Wort aaabaa zur von G erzeugten Sprache L(G)? Nein. Anmerkung: Das Wort entspricht zwar dem Muster des Wortes aus Aufgabe 3.d), weil in G aber der Exponent nicht optional ist, darum ist das Wort doch nicht ableitbar. 5.d) Gehört das Wort aa zur von G erzeugten Sprache L(G)? Nein. Anmerkung: Das Wort entspricht dem Muster des Wortes 22 aus Aufgabe 3.e). 5.e) Zu welcher Sprachklasse gehört L(G)? L(G) ist regulär, sie erzeugt die reellen Zahlen. Damit ist G ein Beispiel für eine kontextfreie Grammatik, die eine reguläre Sprache erzeugt und deshalb auch eine reguläres Pendant haben muß. Aufgabe 6 [ = 18 Punkte ] Sei G = ( N, Σ, P, S ) die Grammatik mit N = { S, A, X }, Σ = { w, d, e, a, k, x } und P = { S wxdae, A a aka S, X xx ε Anmerkung: Die Grammatik ist abgeleitet aus den Regeln für die While-Anweisung von OBERON. Die lauten: WhileStatement = WHILE expression DO StatementSequence END. statement = [assignment ProcedureCall IfStatement CaseStatement WhileStatement RepeatStatement LoopStatement WithStatement EXIT RETURN [expression] ]. StatementSequence = statement {";" statement}. Natürlich darf hier das X, das für expression steht, nicht nach ε reduziert werden. BA Lörrach: Programmiersprachen und Übersetzer, TIT05 3. Sem, Dipl.-Inf. Robert Grübel Seite 9

10 6.a) Führen Sie für das Wort wxdwxdakaee eine Linksableitung durch, zeichnen Sie den Ableitungsbaum. S - wxdae - wxxdae - wxdae - wxdse - wxdwxdaee - wxdwxxdaee - wxdwxdaee - wxdwxdakaee - wxdwxdakaee Anmerkung: Das ist, ausgeschrieben als While-Anweisung, das "Wort" bzw. das Programmfragment WHILE expr DO WHILE expr DO Statement; Statement END END BA Lörrach: Programmiersprachen und Übersetzer, TIT05 3. Sem, Dipl.-Inf. Robert Grübel Seite 10

11 6.b) Konstruieren Sie zur Grammatik G einen Kellerautomaten M mit L(M) = L(G). Wir geben die Δ Funktion des Kellerautomaten an: "Stimmt das aktuelle Eingabesymbol mit dem aktuellen Kellertopsymbol überein, dann wird das Kellertopsymbol gelöscht und der Lesekopf auf das nächste Eingabesymbol gesetzt." Δ(z 0, w, w) = (z 0, ε) Δ(z 0, d, d) = (z 0, ε) Δ(z 0, e, e) = (z 0, ε) Δ(z 0, a, a) = (z 0, ε) Δ(z 0, k, k) = (z 0, ε) Δ(z 0, x, x) = (z 0, ε) "Ist das Kellertopsymbol ein Nichtterminal A von G, dann wird kein Eingabesymbol gelesen (also ein ε-übergang ausgeführt) und A wird durch die rechte Seite einer Regel von G, deren linke Seite A ist, ersetzt." Δ(z 0, S, ε) = (z 0, wxdae) Δ(z 0, A, ε) = (z 0, a) Δ(z 0, A, ε) = (z 0, aka) Δ(z 0, A, ε) = (z 0, S) Δ(z 0, X, ε) = (z 0, xx) Δ(z 0, X, ε) = (z 0, ε) "Das Kellerbottomsymbol ist das Startsymbol S von G." 6.c) Führen Sie eine Rechnung des Kellerautomaten für das Wort wxda durch. Wird das Wort akzeptiert? Anmerkung: Das Wort entspricht dem Programmfragment WHILE expr DO Statement und man sieht sofort, daß das END fehlt und man sich die Rechnung sparen könnte. Allerdings kann man anhand der Rechnung überprüfen, ob man den richtigen Kellerautomaten konstruiert hat. BA Lörrach: Programmiersprachen und Übersetzer, TIT05 3. Sem, Dipl.-Inf. Robert Grübel Seite 11

12 Zustand Keller Eingabe z 0 S wxda z 0 wxdae wxda z 0 XdAe xda z 0 xxdae xda z 0 XdAe da z 0 dae da z 0 Ae a z 0 ae a z 0 e ε Das e (das END) bleibt im Keller liegen, das Wort wird nicht akzeptiert. 6.d) Führen Sie eine Rechnung des Kellerautomaten für das Wort wxdwxdakaee durch. Wird das Wort akzeptiert? Zustand Keller Eingabe z 0 S wxdwxdakaee z 0 wxdae wxdwxdakaee z 0 XdAe xdwxdakaee z 0 xxdae xdwxdakaee z 0 XdAe dwxdakaee z 0 dae dwxdakaee z 0 Ae wxdakaee z 0 Se wxdakaee z 0 wxdaee wxdakaee z 0 XdAee xdakaee z 0 xxdaee xdakaee z 0 XdAee dakaee z 0 daee dakaee z 0 Aee akaee z 0 akaee akaee z 0 kaee kaee z 0 Aee aee z 0 aee aee z 0 ee ee z 0 e e z 0 ε ε akzeptiert BA Lörrach: Programmiersprachen und Übersetzer, TIT05 3. Sem, Dipl.-Inf. Robert Grübel Seite 12

13 Aufgabe 7 [ 6 = 6 Punkte ] Überprüfen Sie, ob die Grammatik G aus Aufgabe 6 die LL(1)-Eigenschaft hat. Begründen Sie Ihre Antwort. Man sieht schon an den Regeln für A, daß die Grammatik nicht die LL(1)- Eigenschft haben kann: A a aka S, dann ist first(a) = {a}, first(aka) = {a}, diese beiden first Mengen sind offensichtlich nicht disjunkt. Aufgabe 8 [ = 20 Punkte ] Gegeben ist die Grammatik G = ( N, Σ, P, S ) mit N = { S, A, B, C }, Σ = { a, b, c, d, e, f } und P = { S acbac, A db S, B edb ε, C fc ε und der folgenden - unvollständigen LL(1)-Parsing-Tabelle: a b c d e f $ S S acbac fehler fehler fehler fehler fehler fehler A A S fehler fehler fehler fehler B fehler fehler B ε fehler B edb fehler fehler C fehler fehler fehler fehler Hinweis: In den leeren Feldern fehlen sowohl Produktionsregeln als auch Fehler-Fälle. Anmerkung: Wenn man die rechts-rekursive Regel A aka aus der Grammatik aus Aufgabe 6 zu einer links-rekursiven Regel A Aka macht, dann kann man diese Linksrekursion eliminieren und erhält die Regeln A aa', A' kaa' ε, und das sind bei entsprechender Ersetzung die Regeln A db, B edb ε aus der Grammatik von oben. BA Lörrach: Programmiersprachen und Übersetzer, TIT05 3. Sem, Dipl.-Inf. Robert Grübel Seite 13

14 8.a) Berechnen Sie die nötigen First- und Follow-Mengen, um die Parsing- Tabelle vervollständigen zu können. Es fehlen Regeln in den Zeilen für A und für C, nur diese beiden Nonterminale müssen also betrachtet werden. Weil first(db) = {d} ist, deshalb muß die Regel A db in Zeile A, Spalte d stehen. Weil es zu A nur zwei Regeln gibt, die andere schon eingetragen ist und sonst keine Felder mehr frei sind ist man hier fertig. Weil first(fc) = {f} ist, deshalb muß die Regel C fc in Zeile C, Spalte f stehen, und weil zusätzlich C nach ε reduziert werden kann, deshalb muß hier die follow(c) untersucht werden, und wie man aus der Regel S acbac sieht ist das {b}, also muß die Regel C ε in Zeile C, Spalte b stehen. 8.b) Vervollständigen Sie die Parsing-Tabelle. a b c d e f $ S S acbac fehler fehler fehler fehler fehler fehler A A S fehler fehler A db fehler fehler fehler B fehler fehler B ε fehler B edb fehler fehler C fehler C ε fehler fehler fehler C fc fehler BA Lörrach: Programmiersprachen und Übersetzer, TIT05 3. Sem, Dipl.-Inf. Robert Grübel Seite 14

15 8.c) Führen Sie das tabellengesteuerte Parsen des Wortes afbafbdedcc durch. Wird das Wort akzeptiert? Keller Eingabe S afbafbdedcc$ acbac$ afbafbdedcc$ CbAc$ fbafbdedcc$ fcbac$ fbafbdedcc$ CbAc$ bafbdedcc$ bac$ bafbdedcc$ Ac$ afbdedcc$ Sc$ afbdedcc$ acbacc$ afbdedcc$ CbAcc$ fbdedcc$ fcbacc$ fbdedcc$ CbAcc$ bdedcc$ bacc$ bdedcc$ Acc$ dedcc$ deacc$ dedcc$ eacc$ edcc$ Acc$ dcc$ dbcc$ dcc$ dcc$ dcc$ cc$ cc$ c$ c$ $ $ Anmerkung: Das Parsen ist hier mit dem $-Zeichen gezeigt, das war in der Lösung nicht nötig! Anmerkung: Das Wort afbafbdedcc entspricht dem Wort wxdwxdakaee aus der Aufgabe 6, und die obige Rechnung ist ein Fall von cut&paste/ suchen&ersetzten... Das Parsen des Wortes afbafbdedcc entspricht damit der syntaktischen Analyse der Programmzeilen WHILE expr DO WHILE expr DO Statement; Statement END END BA Lörrach: Programmiersprachen und Übersetzer, TIT05 3. Sem, Dipl.-Inf. Robert Grübel Seite 15

16 8.d) Führen Sie das tabellengesteuerte Parsen des Wortes afbd durch. Wird das Wort akzeptiert? Anmerkung: Das jetzt das Wort afbd dem Wort wxda aus Aufgabe 6, das Parsen des Wortes entspricht der syntaktischen Analyse der Programmzeile WHILE expr DO Statement von der wir schon wissen daß sie falsch ist, weil das END fehlt. Keller Eingabe S$ afbd$ acbac$ afbd$ CbAc$ fbd$ fcbac$ fbd$ CbAc$ bd$ bac$ bd$ Ac$ d$ dc$ d$ dbc$ d$ Bc$ $ Da die Eingabe schon leer ist, kann schon das B nicht weiterverarbeitet werden, sodaß man zu dem c,das ja dem fehlenden END entsprichen würde, gar nicht vordringt. Aufgabe 9 [ = 22 Punkte ] Beantworten Sie die folgenden Aussagen mit Ja oder Nein. 9.a) Zu jeder regulären Grammatik G gibt es einen vollständigen endlichen Automaten M mit L(M) = L(G). Ja. Das ist natürlich richtig, denn die regulären Grammatiken erzeugen ja reguläre Sprachen, und das sind genau die, die von endlichen Automaten akzeptiert werden. Und weil weiter die endlichen Automaten untereinander jeweils äquivalent sind ist es ganz egal, ob der Automat vollständig oder minimal oder nichtdeterministisch ist, es existiert auf jeden Fall ein solcher. BA Lörrach: Programmiersprachen und Übersetzer, TIT05 3. Sem, Dipl.-Inf. Robert Grübel Seite 16

17 9.b) LL(k)-Sprachen werden von Kellerautomaten akzeptiert. Ja. LL(k)-Sprachen sind Teil der kontextfreien Sprachen, die werden von Kellerautomaten akzeptiert, also müssen auch die LL(k)-Sprachen von denen akzeptiert werden. 9.c) Kontextfreie Sprachen werden nicht von Kellerautomaten akzeptiert. Nein. Das ist gerade oben beantwortet: kontextfreie Sprachen werden von Kellerautomaten akzeptiert. 9.d) Die syntaktische Analyse eines Computer-Programmes erfolgt auf einem vorher erzeugten "Tokenstorm", es wird nicht das Programm selbst geprüft. Ja. Das ist richtig. Beantworten Sie die folgenden Aussagen mit Begründung. 9.e) Es gibt endlichen Automaten, zu denen keine äquivalenten Minimalautomaten existieren. Das ist falsch, es ist ja gerade der Vorteil der endlichen Automaten, daß sie jeweils ineinander transformiert werden können. 9.f) Es gibt kontextfreie Grammatiken, zu denen man jeweils einen endlichen Automaten konstruieren kann, der dann die erzeugte Sprache akzeptiert. Das ist richtig, und die Grammatik aus Aufgabe 3 ist ein Beispiel dafür. Die ist nämlich kontextfrei, sie erzeugt aber eine reguläre Sprache, und demnach kann man, wie in Aufgabe 4 geschehen, einen endlichen Automaten dafür konstruieren. BA Lörrach: Programmiersprachen und Übersetzer, TIT05 3. Sem, Dipl.-Inf. Robert Grübel Seite 17

18 9.g) Jeder endliche Automat ist insbesondere auch ein Kellerautomat. Auch das ist richtig. Wenn man sich die Definitionen der beiden Automatentypen ansieht, Ein Kellerautomat ist das 7-Tupel K = (Z, Σ, Γ, Δ, z 0, k 0, E) mit Z als endlicher Zustandsmenge, Σ als endlicher Menge von Eingabezeichen, Γ als endlichem Kelleralphabet, Δ: Z x Γ x Σ {ε} 2 Z x Γ* als Zustandsüberführungsfunktion, z 0 Z als Anfangszustand, k 0 Z als Kellerstartsymbol und E Z als endlicher Menge von Endzuständen Ein nichtdeterministischer endlicher Automat ist das 5-Tupel M = (Z, Σ, Δ, Z 0, E) mit Z als endlicher Zustandsmenge, Σ als endlicher Menge von Eingabezeichen, Δ: Z x Σ 2 Z als Zustandsüberführungsfunktion, Z 0 Z als endlicher Menge von Anfangszuständen und E Z als endlicher Menge von Endzuständen dann bemerkt man, daß der Kellerautomat gerade ein um den Keller erweiterter endliche Automat ist. Läßt man also umgekehrt beim Kellerautomaten den Keller weg, d.h. man setzt einfach für Γ die leere Menge ein, dann entsteht daraus ein endlicher Automat. Anders ausgedrückt: der endlicher Automat ist ein Spezialfall des Kellerautomaten. Man kann auch von den akzeptierten Sprachen her argumentieren: die endlichen Automaten akzeptieren die regulären Sprachen, die Kellerautomaten akzeptieren die kontextfreien Sprachen, und die regulären Sprachen sind doch ein Teil der kontextfreien Sprachen... BA Lörrach: Programmiersprachen und Übersetzer, TIT05 3. Sem, Dipl.-Inf. Robert Grübel Seite 18

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

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

Einführung in die Computerlinguistik

Einführung in die Computerlinguistik Einführung in die Computerlinguistik Kontextfreie Sprachen und Pushdown-Automaten Dozentin: Wiebke Petersen WS 2004/2005 Wiebke Petersen Formale Komplexität natürlicher Sprachen WS 03/04 Wiederholung c

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

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

Beweisidee: 1 Verwende den Keller zur Simulation der Grammatik. Leite ein Wort. 2 Problem: der Keller darf nicht beliebig verwendet werden, man kann

Beweisidee: 1 Verwende den Keller zur Simulation der Grammatik. Leite ein Wort. 2 Problem: der Keller darf nicht beliebig verwendet werden, man kann Automaten und Formale prachen alias Theoretische Informatik ommersemester 2011 Dr. ander Bruggink Übungsleitung: Jan tückrath Wir beschäftigen uns ab jetzt einige Wochen mit kontextfreien prachen: Kontextfreie

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

DisMod-Repetitorium Tag 4

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

Mehr

Die mathematische Seite

Die mathematische Seite Kellerautomaten In der ersten Vorlesung haben wir den endlichen Automaten kennengelernt. Mit diesem werden wir uns in der zweiten Vorlesung noch etwas eingängiger beschäftigen und bspw. Ansätze zur Konstruktion

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

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

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

Algorithmen mit konstantem Platzbedarf: Die Klasse REG

Algorithmen mit konstantem Platzbedarf: Die Klasse REG Algorithmen mit konstantem Platzbedarf: Die Klasse REG Sommerakademie Rot an der Rot AG 1 Wieviel Platz brauchen Algorithmen wirklich? Daniel Alm Institut für Numerische Simulation Universität Bonn August

Mehr

2. Klausur zur Vorlesung Theoretische Grundlagen der Informatik Wintersemester 2016/2017

2. Klausur zur Vorlesung Theoretische Grundlagen der Informatik Wintersemester 2016/2017 2. Klausur zur Vorlesung Theoretische Grundlagen der Informatik Wintersemester 2016/2017 Hier Aufkleber mit Name und Matrikelnummer anbringen Vorname: Nachname: Matrikelnummer: Beachten Sie: Bringen Sie

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

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

1 Σ endliches Terminalalphabet, 2 V endliche Menge von Variablen (mit V Σ = ), 3 P (V (Σ ΣV )) {(S, ε)} endliche Menge von Regeln, Theorie der Informatik 8. März 25 8. Reguläre Sprachen I Theorie der Informatik 8. Reguläre Sprachen I 8. Reguläre Grammatiken Malte Helmert Gabriele Röger 8.2 DFAs Universität Basel 8. März 25 8.3 NFAs

Mehr

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

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

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

Mehr

Theoretische Informatik I

Theoretische Informatik I Theoretische Informatik I Einheit 2.5 Grammatiken 1. Arbeitsweise 2. Klassifizierung 3. Beziehung zu Automaten Beschreibung des Aufbaus von Sprachen Mathematische Mengennotation Beschreibung durch Eigenschaften

Mehr

Kontextfreie Sprachen. Automaten und Formale Sprachen alias Theoretische Informatik. Sommersemester Kontextfreie Sprachen

Kontextfreie Sprachen. Automaten und Formale Sprachen alias Theoretische Informatik. Sommersemester Kontextfreie Sprachen Automaten und Formale Sprachen alias Theoretische Informatik Sommersemester 2012 Dr. Sander Bruggink Übungsleitung: Jan Stückrath Wortproblem: der CYK-Algorithmus Pumping Lemma für kontextfreie Sprachen

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

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

1 Σ endliches Terminalalphabet, 2 V endliche Menge von Variablen (mit V Σ = ), 3 P (V (Σ ΣV )) {(S, ε)} endliche Menge von Regeln, Theorie der Informatik 9. März 24 7. Reguläre Sprachen I Theorie der Informatik 7. Reguläre Sprachen I Malte Helmert Gabriele Röger Universität Basel 9. März 24 7. Reguläre Grammatiken 7.2 DFAs 7.3 NFAs

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

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

Grammatik Prüfung möglich, ob eine Zeichenfolge zur Sprache gehört oder nicht Zusammenhang: Formale Sprache Grammatik Formale Sprache kann durch Grammatik beschrieben werden. Zur Sprache L = L(G) gehören nur diejenigen Kombinationen der Zeichen des Eingabealphabets, die durch die

Mehr

Klausur zur Vorlesung Formale Sprachen und Automaten TIT03G2 mit Lösungsvorschlägen

Klausur zur Vorlesung Formale Sprachen und Automaten TIT03G2 mit Lösungsvorschlägen Klausur zur Vorlesung Formale Sprachen und Automaten TIT03G2 mit Lösungsvorschlägen Name: Matr.-Nr.: Vorname: Aufgabe 1 2 3 4 5 6 7 max. Punkte 6 7 10 6 8 7 9 err. Punkte Gesamtpunktzahl: Note: Aufgabe

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

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

Lexikalische Programmanalyse der Scanner

Lexikalische Programmanalyse der Scanner Der Scanner führt die lexikalische Analyse des Programms durch Er sammelt (scanned) Zeichen für Zeichen und baut logisch zusammengehörige Zeichenketten (Tokens) aus diesen Zeichen Zur formalen Beschreibung

Mehr

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

Übungsblatt 6. Vorlesung Theoretische Grundlagen der Informatik im WS 18/19 Institut für Theoretische Informatik Lehrstuhl Prof. Dr. D. Wagner Übungsblatt 6 Vorlesung Theoretische Grundlagen der Informatik im WS 18/19 Ausgabe 8. Januar 2019 Abgabe 22. Januar 2019, 11:00 Uhr (im

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

Reguläre Sprachen und endliche Automaten

Reguläre Sprachen und endliche Automaten Reguläre Sprachen und endliche Automaten 1 Motivation: Syntaxüberprüfung Definition: Fließkommazahlen in Java A floating-point literal has the following parts: a whole-number part, a decimal point (represented

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

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

Theorie der Informatik

Theorie der Informatik Theorie der Informatik 11. Kontextsensitive und Typ-0-Sprachen Malte Helmert Gabriele Röger Universität Basel 7. April 2014 Kontextsensitive und allgemeine Grammatiken Wiederholung: (kontextsensitive)

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

Frank Heitmann 2/47. 1 Ein PDA beginnt im Startzustand z 0 und mit im Keller. 2 Ist der Automat

Frank Heitmann 2/47. 1 Ein PDA beginnt im Startzustand z 0 und mit im Keller. 2 Ist der Automat Formale Grundlagen der Informatik 1 Kapitel 5 Über reguläre Sprachen hinaus und (Teil 2) Frank Heitmann heitmann@informatik.uni-hamburg.de 21. April 2015 Der Kellerautomat - Formal Definition (Kellerautomat

Mehr

I.2. Endliche Automaten (ohne Ausgabe)

I.2. Endliche Automaten (ohne Ausgabe) I2 Endliche Automaten (ohne Ausgabe) I2 Deterministische endliche Automaten Beispiel: Pascal-Syntax für Zahlen hat folgende Form: ::=

Mehr

Informatik III - WS07/08

Informatik III - WS07/08 Informatik III - WS07/08 Kapitel 5 1 Informatik III - WS07/08 Prof. Dr. Dorothea Wagner dwagner@ira.uka.de Kapitel 5 : Grammatiken und die Chomsky-Hierarchie Informatik III - WS07/08 Kapitel 5 2 Definition

Mehr

2. Klausur zur Vorlesung Theoretische Grundlagen der Informatik Wintersemester 2017/2018

2. Klausur zur Vorlesung Theoretische Grundlagen der Informatik Wintersemester 2017/2018 2. Klausur zur Vorlesung Theoretische Grundlagen der Informatik Wintersemester 2017/2018 Hier Aufkleber mit Name und Matrikelnummer anbringen Vorname: Nachname: Matrikelnummer: Beachten Sie: Bringen Sie

Mehr

Definition 78 Ein NPDA = PDA (= Nichtdeterministischer Pushdown-Automat) besteht aus:

Definition 78 Ein NPDA = PDA (= Nichtdeterministischer Pushdown-Automat) besteht aus: 4.7 Kellerautomaten In der Literatur findet man häufig auch die Bezeichnungen Stack-Automat oder Pushdown-Automat. Kellerautomaten sind, wenn nichts anderes gesagt wird, nichtdeterministisch. Definition

Mehr

WS06/07 Referentin: Katharina Blinova. Formale Sprachen. Hauptseminar Intelligente Systeme Dozent: Prof. Dr. J. Rolshoven

WS06/07 Referentin: Katharina Blinova. Formale Sprachen. Hauptseminar Intelligente Systeme Dozent: Prof. Dr. J. Rolshoven WS06/07 Referentin: Katharina Blinova Formale Sprachen Hauptseminar Intelligente Systeme Dozent: Prof. Dr. J. Rolshoven 1. Allgemeines 2. Formale Sprachen 3. Formale Grammatiken 4. Chomsky-Hierarchie 5.

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

Automaten und Formale Sprachen alias Theoretische Informatik. Sommersemester 2012

Automaten und Formale Sprachen alias Theoretische Informatik. Sommersemester 2012 Automaten und Formale Sprachen alias Theoretische Informatik Sommersemester 2012 Dr. Sander Bruggink Übungsleitung: Jan Stückrath Sander Bruggink Automaten und Formale Sprachen 1 Einschub: Kellerautomaten

Mehr

Proseminar TI: Kellerautomaten. 1 Motivation. 2 Einführung. Vortrag: Von Sebastian Oltmanns und Dorian Wachsmann. Dozent: Wolfgang Mulzer.

Proseminar TI: Kellerautomaten. 1 Motivation. 2 Einführung. Vortrag: Von Sebastian Oltmanns und Dorian Wachsmann. Dozent: Wolfgang Mulzer. Proseminar TI: Kellerautomaten Vortrag: 10.11.2015 Von Sebastian Oltmanns und Dorian Wachsmann. Dozent: Wolfgang Mulzer. 1 Motivation Wir kennen bereits die Chomsky-Hierarchie. Sie klassiziert formale

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

1. Klausur zur Vorlesung Informatik III Wintersemester 2003/2004. Mit Lösung!

1. Klausur zur Vorlesung Informatik III Wintersemester 2003/2004. Mit Lösung! Universität Karlsruhe Theoretische Informatik Fakultät für Informatik WS 23/4 ILKD Prof. Dr. D. Wagner 2. Februar 24. Klausur zur Vorlesung Informatik III Wintersemester 23/24 Mit Lösung! Beachten Sie:

Mehr

THIA - Übungsblatt 2.

THIA - Übungsblatt 2. THIA - Übungsblatt 2. Aufgabe 12 (Eine einfache Sprache). Endliche Ziffernfolgen, die mit einer 0 beginnen, auf die mindestens eine weitere Ziffer folgt, wobei nur die Ziffern 0,..., 7 vorkommen, sollen

Mehr

Das Postsche Korrespondenzproblem

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

Mehr

Reguläre Sprachen. R. Stiebe: Theoretische Informatik für ING-IF und Lehrer,

Reguläre Sprachen. R. Stiebe: Theoretische Informatik für ING-IF und Lehrer, Reguläre Sprachen Reguläre Sprachen (Typ-3-Sprachen) haben große Bedeutung in Textverarbeitung und Programmierung (z.b. lexikalische Analyse) besitzen für viele Entscheidungsprobleme effiziente Algorithmen

Mehr

LR-Parsing. Präsentation vom 19. Dez Adriana Kosior, Sandra Pyka & Michael Weidauer. Automatische Syntaxanalyse (Parsing) Wintersemester 12/13

LR-Parsing. Präsentation vom 19. Dez Adriana Kosior, Sandra Pyka & Michael Weidauer. Automatische Syntaxanalyse (Parsing) Wintersemester 12/13 LR-Parsing Präsentation vom 19. Dez. 2012 Adriana Kosior, Sandra Pyka & Michael Weidauer Automatische Syntaxanalyse (Parsing) Wintersemester 12/13 Inhalte Einleitung LR(0) Parser LR(1) Parser Fazit Literatur

Mehr

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

Grundlagen der Theoretischen Informatik Musterlösungen zu ausgewählten Übungsaufgaben Dieses Dokument soll mehr dazu dienen, Beispiele für die formal korrekt mathematische Bearbeitung von Aufgaben zu liefern, als konkrete Hinweise auf typische Klausuraufgaben zu liefern. Die hier gezeigten

Mehr

10 Kellerautomaten. Kellerautomaten

10 Kellerautomaten. Kellerautomaten 10 Kellerautomaten Bisher hatten wir kontextfreie Sprachen nur mit Hilfe von Grammatiken charakterisiert. Wir haben gesehen, dass endliche Automaten nicht in der Lage sind, alle kontextfreien Sprachen

Mehr

Automaten und Formale Sprachen alias Theoretische Informatik. Sommersemester 2011

Automaten und Formale Sprachen alias Theoretische Informatik. Sommersemester 2011 Automaten und Formale Sprachen alias Theoretische Informatik Sommersemester 2011 Dr. Sander Bruggink Übungsleitung: Jan Stückrath Sander Bruggink Automaten und Formale Sprachen 1 Wir beschäftigen uns ab

Mehr

Informatik 3 Theoretische Informatik WS 2015/16

Informatik 3 Theoretische Informatik WS 2015/16 2. Probeklausur 22. Januar 2016 Informatik 3 Theoretische Informatik WS 2015/16 Prof. Dr. Peter Thiemann Albert-Ludwigs-Universität Freiburg Institut für Informatik Name: Matrikel-Nr.: Schreiben Sie Ihren

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

Formale Grundlagen der Wirtschaftsinformatik

Formale Grundlagen der Wirtschaftsinformatik Formale Grundlagen der Wirtschaftsinformatik Nikolaj Popov Research Institute for Symbolic Computation popov@risc.uni-linz.ac.at Sprachen und Grammatiken Teil II Sprache Definition: Ein Alphabet Σ ist

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

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

5. Die syntaktische Analyse

5. Die syntaktische Analyse mittels sog. Parser Input: Folge von Token (Symbolen), geliefert vom Scanner/Sieber Aufgabe: Teilfolgen zusammenfassen zu größeren syntaktischen Einheiten Ausdrücke, Anweisungen(-folgen), Deklarationen,

Mehr

1. Übungsblatt 6.0 VU Theoretische Informatik und Logik

1. Übungsblatt 6.0 VU Theoretische Informatik und Logik . Übungsblatt 6. VU Theoretische Informatik und Logik 25. September 23 Aufgabe Sind folgende Aussagen korrekt? Begründen Sie jeweils Ihre Antwort. a) Für jede Sprache L gilt: L < L (wobei A die Anzahl

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

Automaten und Formale Sprachen alias Theoretische Informatik. Sommersemester 2012

Automaten und Formale Sprachen alias Theoretische Informatik. Sommersemester 2012 utomaten und Formale Sprachen alias Theoretische Informatik Sommersemester 2012 Dr. Sander Bruggink Übungsleitung: Jan Stückrath Sander Bruggink utomaten und Formale Sprachen 1 Der CYK-lgorithmus Beispiel

Mehr

7. Syntax: Grammatiken, EBNF

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

Mehr

Abschnitt 5. Grammatiken

Abschnitt 5. Grammatiken Abschnitt 5 Sven Büchel Computerlinguistik I: Übung 148 / 163 Definition Formale Grammatik Eine formale Grammatik G ist eine 4-Tupel G =(N,T,P,S) mit einem Alphabet von Nicht-Terminalsymbolen N einem Alphabet

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

1. Teilklausur zur Vorlesung Grundlagen der Theoretischen Informatik

1. Teilklausur zur Vorlesung Grundlagen der Theoretischen Informatik 1. Teilklausur zur Vorlesung Grundlagen der Theoretischen Informatik Ulrich Furbach Christian Schwarz Markus Kaiser Arbeitsgruppe Künstliche Intelligenz Fachbereich Informatik, Universität Koblenz-Landau

Mehr

Formale Sprachen, Automaten, Compiler

Formale Sprachen, Automaten, Compiler Formale Sprachen, Automaten, Compiler Berufsakademie Lörrach, TIT06-3. Semester Übung 1 -> LÖSUNGSVORSCHLAG ÜA1.1. Die "normalen" Dezimalziffern, also Σ = { 0, 1,..., 9, ist sicher ein Alphabet, aber auch

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

Theoretische Grundlagen der Informatik. Vorlesung am 8. Januar INSTITUT FÜR THEORETISCHE INFORMATIK

Theoretische Grundlagen der Informatik. Vorlesung am 8. Januar INSTITUT FÜR THEORETISCHE INFORMATIK Theoretische Grundlagen der Informatik 0 08.01.2019 Torsten Ueckerdt - Theoretische Grundlagen der Informatik KIT Die Forschungsuniversität in der Helmholtz-Gemeinschaft www.kit.edu Letzte Vorlesung Eine

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

Nachklausur zur Vorlesung Theoretische Grundlagen der Informatik Wintersemester 2011/2012

Nachklausur zur Vorlesung Theoretische Grundlagen der Informatik Wintersemester 2011/2012 Institut für Theoretische Informatik Lehrstuhl Prof. Dr. D. Wagner Nachklausur zur Vorlesung Theoretische Grundlagen der Informatik Wintersemester 2011/2012 Hier Aufkleber mit Name und Matrikelnr. anbringen

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

Vorlesung im Sommersemester Informatik IV. Probeklausurtermin: 21. Juni 2016

Vorlesung im Sommersemester Informatik IV. Probeklausurtermin: 21. Juni 2016 Heinrich-Heine-Universität Düsseldorf Institut für Informatik Prof. Dr. J. Rothe Universitätsstr. 1, D-40225 Düsseldorf Gebäude: 25.12, Ebene: O2, Raum: 26 Tel.: +49 211 8112188, Fax: +49 211 8111667 E-Mail:

Mehr

Softwareparadigmen VU / SS 2018

Softwareparadigmen VU / SS 2018 Softwareparadigmen VU 716.060 / SS 2018 Jannik Hildebrandt swp@ist.tugraz.at NG: tu-graz.lv.swp Institute for Software Technology 1 Organisatorisches Ausgabe: 21.03. Fragestunde: 11.04. Abgabe: 18.04.,

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

11.1 Kontextsensitive und allgemeine Grammatiken

11.1 Kontextsensitive und allgemeine Grammatiken Theorie der Informatik 7. April 2014 11. Kontextsensitive und Typ-0-Sprachen Theorie der Informatik 11. Kontextsensitive und Typ-0-Sprachen 11.1 Kontextsensitive und allgemeine Grammatiken Malte Helmert

Mehr

FORMALE SYSTEME. 3. Vorlesung: Endliche Automaten. TU Dresden, 17. Oktober Markus Krötzsch

FORMALE SYSTEME. 3. Vorlesung: Endliche Automaten. TU Dresden, 17. Oktober Markus Krötzsch FORMALE SYSTEME 3. Vorlesung: Endliche Automaten Markus Krötzsch TU Dresden, 17. Oktober 2016 Rückblick Markus Krötzsch, 17. Oktober 2016 Formale Systeme Folie 2 von 31 Wiederholung Mit Grammatiken können

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

Automaten und formale Sprachen Notizen zu den Folien

Automaten und formale Sprachen Notizen zu den Folien 13 Kellerautomaten Automaten und formale Sprachen Notizen zu den Folien Warum ein Automatenmodell für kontextfreien Sprachen (zu Folie 233) Manche Konstruktionen und Verfahren lassen sich besser mit Hilfe

Mehr

2. Klausur zur Vorlesung Theoretische Grundlagen der Informatik Wintersemester 2014/2015

2. Klausur zur Vorlesung Theoretische Grundlagen der Informatik Wintersemester 2014/2015 2. Klausur zur Vorlesung Theoretische Grundlagen der Informatik Wintersemester 2014/2015 Hier Aufkleber mit Name und Matrikelnummer anbringen Vorname: Nachname: Matrikelnummer: Beachten Sie: Bringen Sie

Mehr

4.2.4 Reguläre Grammatiken

4.2.4 Reguläre Grammatiken 4.2.4 Reguläre Grammatiken Eine reguläre Grammatik ist eine kontextfreie Grammatik, deren Produktionsregeln weiter eingeschränkt sind Linksreguläre Grammatik: A w P gilt: w = ε oder w = Ba mit a T und

Mehr

Typ-1-Sprachen. Satz 1 (Kuroda ( ) 1964)

Typ-1-Sprachen. Satz 1 (Kuroda ( ) 1964) Typ-1-Sprachen Satz 1 (Kuroda (1934-2009) 1964) Eine Sprache L hat Typ 1 (= ist kontextsensitiv) genau dann, wenn sie von einem nichtdeterministischen LBA erkannt wird. Beweis: Sei zunächst L Typ-1-Sprache.

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

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. δδ: AA = EE, SS, δδ, γ, ss 0, FF, EE = 0,1,

Mehr

Deterministische und nichtdeterministische Turing-Maschinen, Typ1- und Typ0-Sprachen

Deterministische und nichtdeterministische Turing-Maschinen, Typ1- und Typ0-Sprachen Dr. Sebastian Bab WiSe 12/13 Theoretische Grundlagen der Informatik für TI Termin: VL 15 + 16 vom 17.12.2012 und 20.12.2012 Deterministische und nichtdeterministische Turing-Maschinen, Typ1- und Typ0-Sprachen

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

Compilerbau Syntaxanalyse 68. LR(1)-Syntaxanalyse

Compilerbau Syntaxanalyse 68. LR(1)-Syntaxanalyse Compilerbau Syntaxanalyse 68 LR(1)-Syntaxanalyse Bei der LL(1)-Syntaxanalyse wird allein aufgrund des nächsten Tokens die zu verwendende Produktion ermittelt. Bei der LR(1)-Syntaxanalyse braucht diese

Mehr

1 Einführung. 2 Typ-0- und Typ-1-Sprachen. 3 Berechnungsmodelle. 4 Unentscheidbarkeit. 5 Unentscheidbare Probleme. 6 Komplexitätstheorie

1 Einführung. 2 Typ-0- und Typ-1-Sprachen. 3 Berechnungsmodelle. 4 Unentscheidbarkeit. 5 Unentscheidbare Probleme. 6 Komplexitätstheorie 1 Einführung 2 Typ-0- und Typ-1-Sprachen 3 Berechnungsmodelle 4 Unentscheidbarkeit 5 Unentscheidbare Probleme 6 Komplexitätstheorie 139 Unentscheidbarkeit Überblick Zunächst einmal definieren wir formal

Mehr

Theoretische Informatik

Theoretische Informatik Theoretische Informatik Prof. Meer, Dr. Gengler Aufgabenblatt 7 Besprechung in KW 48 / Abgabe in KW 49 Heften Sie unbedingt alle Blätter Ihrer Lösung zusammen und geben Sie oben auf dem ersten Blatt Ihren

Mehr

Übersicht. 3 3 Kontextfreie Sprachen

Übersicht. 3 3 Kontextfreie Sprachen Formale Systeme, Automaten, Prozesse Übersicht 3 3.1 Kontextfreie Sprachen und Grammatiken 3.2 Ableitungsbäume 3.3 Die pre -Operation 3.4 Entscheidungsprobleme für CFGs 3.5 Normalformen für CFGs 3.6 Chomsky-Normalform

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

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

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

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

Aufgabe Mögliche Punkte Erreichte Punkte a b c d Σ a b c d Σ x1 12

Aufgabe Mögliche Punkte Erreichte Punkte a b c d Σ a b c d Σ x1 12 Universität Karlsruhe Theoretische Informatik Fakultät für Informatik WS 2003/04 ILKD Prof. Dr. D. Wagner 20. Februar 2004 1. Klausur zur Vorlesung Informatik III Wintersemester 2003/2004 Hier Aufkleber

Mehr

Theoretische Informatik Mitschrift

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

Mehr