Programmiersprachen und Übersetzer
|
|
- Karoline Hoch
- vor 7 Jahren
- Abrufe
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 VL 8 Chomsky-Grammatiken Kathrin Hoffmann 23. Mai 2012 Hoffmann (HAW Hamburg) Automatentheorie und formale Sprachen 23.5. 2012 250 Wortproblem Wortproblem ist das
MehrNachklausur 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
MehrEinfü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
Mehrkontextfreie 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
MehrTheoretische 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
MehrBeweisidee: 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
MehrAutomaten 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
MehrDisMod-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
MehrDie 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 (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),
Mehr2. 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
MehrKontextfreie Sprachen
Kontextfreie Sprachen Bedeutung: Programmiersprachen (Compilerbau) Syntaxbäume Chomsky-Normalform effiziente Lösung des Wortproblems (CYK-Algorithmus) Grenzen kontextfreier Sprachen (Pumping Lemma) Charakterisierung
MehrAlgorithmen 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
Mehr2. 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
MehrGrundlagen 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
Mehr1 Σ 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
MehrDeterministischer 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,δ,
MehrKontextfreie 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
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
MehrTheoretische 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
MehrKontextfreie 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
Mehr2. 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
Mehr1 Σ 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
MehrGrundlagen 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
MehrGrammatik 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
MehrKlausur 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
MehrEinfü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
MehrAlphabet, 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
MehrLexikalische 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
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
MehrTheorie 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
MehrRegulä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
MehrWas 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
MehrKurz-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 ε
MehrTheorie 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)
MehrGrammatiken. 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 /
MehrFrank 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
MehrI.2. Endliche Automaten (ohne Ausgabe)
I2 Endliche Automaten (ohne Ausgabe) I2 Deterministische endliche Automaten Beispiel: Pascal-Syntax für Zahlen hat folgende Form: ::=
MehrInformatik 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
Mehr2. 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
MehrDefinition 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
MehrWS06/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.
Mehr6 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,
MehrAutomaten 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
MehrProseminar 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
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
Mehr1. 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:
MehrTHIA - Ü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
MehrDas 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
MehrRegulä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
MehrLR-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
MehrGrundlagen 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
Mehr10 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
MehrAutomaten 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
MehrInformatik 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
MehrHochschule 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
MehrFormale 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
MehrGrammatiken. 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,
MehrGrundlagen 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
Mehr5. 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,
Mehr1. Ü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
MehrSei Σ 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
MehrAutomaten 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
Mehr7. 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
MehrAbschnitt 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
Mehr2. Ü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
Mehr1. 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
MehrFormale 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
MehrTheoretische 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
MehrTheoretische 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
MehrEinfü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
MehrNachklausur 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
MehrRekursiv 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
MehrVorlesung 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:
MehrSoftwareparadigmen 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.,
MehrEinfü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,
Mehr11.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
MehrFORMALE 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
Mehr2.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
MehrAutomaten 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
Mehr2. 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
Mehr4.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
MehrTyp-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.
MehrKapitel: 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
MehrGrundlagen 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,
MehrDeterministische 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
MehrGrundlagen 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
MehrCompilerbau 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
Mehr1 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
MehrTheoretische 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
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
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
MehrMotivation natürliche Sprachen
Motivation natürliche Sprachen (Satz) (Substantivphrase)(Verbphrase) (Satz) (Substantivphrase)(Verbphrase)(Objektphrase) (Substantivphrase) (Artikel)(Substantiv) (Verbphrase) (Verb)(Adverb) (Substantiv)
MehrFormalismen 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) =
MehrVU 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)
MehrAufgabe 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
MehrTheoretische Informatik Mitschrift
Theoretische Informatik Mitschrift 2. Grammatiken und die Chomsky-Hierarchie Beispiel: Syntaxdefinition in BNF :=
Mehr