Universität Karlsruhe (TH)
|
|
- Kerstin Tiedeman
- vor 7 Jahren
- Abrufe
Transkript
1 Universität Karlsruhe (TH) Lehrstuhl für Programmierparadigmen prachtechnologie und Compiler W 2008/ Dozent: Prof. Dr.-Ing. G. nelting snelting@ipd.info.uni-karlsruhe.de Übungsleiter: Matthias Braun braun@ipd.info.uni-karlsruhe.de Lösung zu Übungsblatt 2 Ausgabe: Besprechung: Aufgabe 1: Praxis: Flex Unter finden ie ein C-Programm zum Berechnen von einfachen mathematischen Ausdrücken. Auf der Homepage zur Übung 1 finden sich weitere Informationen zur Installation von flex. 1.1 canner Der enthaltene canner wurde in flex geschrieben, ist allerdings unvollständig. Erweitern ie diesen um folgende Tokentypen: T PLU: das + Zeichen T MINU: das - Zeichen T TAR: das * Zeichen T LAH: das / Zeichen T LBRACE: das ( Zeichen T RBRACE: das ) Zeichen T NUMBER: Eine Zahl. Diese beginnt mit einer Ziffernfolge. Danach kann ein Punkt und optional weitere Ziffern folgen. Alternativ darf die Zahl nur mit einem Punkt beginnen, wenn danach mindestens eine Ziffer folgt. Enthält die Zahl einen Punkt, so darf der Buchstabe e oder E angehängt werden, gefolgt von einem optionalen + oder - und weiteren Ziffern. Zusätzlich soll bei T NUMBER Tokens der Wert der Zahl im Token vermerkt werden. Hinweise: In flex enthält die Variable yytext den erkannten tring. Die Funktion scanf ermöglicht es einen tring in eine Gleitpunktzahl zu konvertieren: sscanf( string, %f, &variable); Der parser Code enthält eine Debughilfe. zip 1
2 2 Aufgabe 2: Kontextfreie Grammatik Einfache Grammatiken 1 Betrachten ie die folgende kontextfreie Grammatik und den tring aa+a*: + a Geben ei eine Linksableitung für den tring an. + a+ aa+ aa+a Geben ie eine Rechtsableitung für den tring an. a + a a+ a aa+a Geben ie einen Parse-Baum für den tring an. + a a a Ist die Grammatik mehrdeutig oder nicht? Begründen ie Ihre Antwort. Die Grammatik ist nicht mehrdeutig. Beschreiben ie die von dieser Grammatik generierte prache. Die Grammatik beschreibt eine Postfix-Notation von Ausdrücken mit einer + und einer - Operation. 2.2 Einfache Grammatiken 2 Wiederholen ie die vorige Aufgabe mit ( ) und dem tring (()()).
3 3 Linksableitung: ( ) ( ) ( ( ) ) ( ( ) ) ( ( ) ) ( ( ) ) ( ( ) ( ) ) ( ( ) ( ) ) ( ( ) ( ) ) ( ( ) ( ) ) ( ( ) ( ) ) Rechtsableitung: ( ) ( ) ( ( ) ) ( ( ) ) ( ( ) ) ( ( ) ( ) ) ( ( ) ( ) ) ( ( ) ( ) ) ( ( ) ( ) ) ( ( ) ( ) ) Parsebaum: ( ) ( ) ( ) Die Grammatik ist nicht eindeutig, Beispiel für einen alternativen Parsebaum des trings: ( ) ( ) ( ) Die von der Grammatik generiert prache ist die Menge aller korrekten Klammerungen. 2.3 Entwerfen von Grammatiken Entwerfen ie Grammatiken für: Die Menge aller trings aus 0 und 1 mit derselben Anzahl von 0 und Die Menge aller trings aus 0 und 1 mit einer ungleichen Anzahl von 0 und 1 G Z + G Z G G O + G O G G G 0 G 1 G G 1 G 0 G Z + 0 Z Z 0 Z O + 1 O O 1 O Die Menge aller trings aus 0 und 1 in der 011 nicht als Teilstring vorkommt
4 4 Als endlicher Automat würde das so aussehen: start Z 1 Z 2 F Z 0 Daraus lässt sich leicht eine Grammatik konstruieren: 0 1 0Z 1 Z 1 0Z 1 1Z 2 Z 2 0Z 1
5 5 Aufgabe 3: Kontextfreie Grammatik 2 Gegeben folgende Grammatik: atz ubjekt Praedikat. ubjekt Nomen Attribut Nomen Pronomen Artikel Adjektive ubstantiv Praedikat Verb Adverben Adjektiv Verb Objekte Adverben Attribut Adjektive Adjektive Adjektiv Objekte Objekt Objekt Objekt Objekt Nomen Attribut Adverben Adverben Adverb Attribut Praeposition ubstantiv Artikel der die das des dem den ein eine eines einem dieser kein PossesivPronomen Verb bin ist hat gehe traf fliegen Adverb naemlich vielleicht hier damals morgen gerne leider links hinterher ubstantiv Junge Bruder chloss Jaeger Leben Blau Gelb Fliegen CD atz Verb Adjektiv schnell fliegende teure schoen neue Pronomen ich du er sie es PossesivPronomen PossesivPronomen mein dein sein seinem Praeposition in an mit 3.1 Ableitungen Geben ie eine Ableitung für folgende ätze an: 1. das Leben ist naemlich schön. atz ubjekt Praedikat. Nomen Attribut Praedikat. Nomen Praedikat. Artikel Adjektive ubstantiv Praedikat. das Leben Praedikat. das Leben Verb Adverben Adjektiv. das Leben ist Adverben Adverb schoen. das Leben ist naemlich schoen. 2. Blau ist das neue Gelb. atz ubjekt Praedikat. Nomen Attribut Praedikat. Nomen Praedikat. Artikel Adjektive ubstantiv Praedikat. ubstantiv Praedikat. Blau Praedikat. Blau Verb Objekte Adverben Attribut. Blau ist Objekte Adverben Attribut. Blau ist Objekt Adverben Attribut. Blau ist Nomen Attribut Adverben Attribut. Blau ist Nomen Adverben Attribut. Blau ist Artikel Adjektive ubstantiv Adverben Attribut. Blau ist das Adjektive ubstantiv Adverben Attribut. Blau ist das Adjektive Adjektiv ubstantiv Adverben Attribut. Blau ist das Adjektiv ubstantiv Adverben Attribut. Blau ist das neue ubstantiv Adverben Attribut. Blau ist das neue Gelb Adverben Attribut. Blau ist das neue Gelb Attribut. Blau ist das neue Gelb. 3. schnell fliegende Fliegen fliegen Fliegen hinterher.
6 6 atz ubjekt Praedikat. Nomen Attribut Praedikat. Nomen Praedikat. Artikel Adjektive ubstantiv Praedikat. Adjektive ubstantiv Praedikat. Adjektive Adjektiv ubstantiv Praedikat. Adjektive Adjektiv Adjektiv ubstantiv Praedikat. Adjektive Adjektive Adjektiv ubstantiv Praedikat. Adjektive Adjektiv ubstantiv Praedikat. schnell Adjektiv ubstantiv Praedikat. schnell fliegende ubstantiv Praedikat. schnell fliegende Fliegen Praedikat. schnell fliegende Fliegen Verb Objekte Adverben Attribut. schnell fliegende Fliegen fliegen Objekte Adverben Attribut. schnell fliegende Fliegen fliegen Objekt Adverben Attribut. schnell fliegende Fliegen fliegen Nomen Attribut Adverben Attribut. schnell fliegende Fliegen fliegen Artikel Adjektive ubstantiv Attribut Adverben Attribut. schnell fliegende Fliegen fliegen Artikel Adjektive ubstantiv Attribut Adverben Attribut. schnell fliegende Fliegen fliegen ubstantiv Attribut Adverben Attribut. schnell fliegende Fliegen fliegen Fliegen Attribut Adverben Attribut. schnell fliegende Fliegen fliegen Fliegen Adverben Attribut. schnell fliegende Fliegen fliegen Fliegen Adverben Adverb Attribut. schnell fliegende Fliegen fliegen Fliegen Adverb Attribut. schnell fliegende Fliegen fliegen Fliegen hinterher Attribut. schnell fliegende Fliegen fliegen Fliegen hinterher. 4. der Junge bringt seinem Bruder die teure CD. atz ubjekt Praedikat. Nomen Attribut Praedikat. Nomen Praedikat. Artikel Adjektive ubstantiv Praedikat. der Adjektive ubstantiv Praedikat. der ubstantiv Praedikat. der Junge Praedikat. der Junge Verb Objekte Adverben Attribut. der Junge bringt Objekte Adverben Attribut. der Junge bringt Objekt Objekt Adverben Attribut. der Junge bringt Nomen Attribut Objekt Adverben Attribut. der Junge bringt Artikel Adjektive ubstantiv Attribut Objekt Adverben Attribut. der Junge bringt PossesivPronomen Adjektive ubstantiv Attribut Objekt Adverben Attribut. der Junge bringt seinem Adjektive ubstantiv Attribut Objekt Adverben Attribut. der Junge bringt seinem Adjektive ubstantiv Attribut Objekt Adverben Attribut. der Junge bringt seinem ubstantiv Attribut Objekt Adverben Attribut. der Junge bringt seinem Bruder Attribut Objekt Adverben Attribut. der Junge bringt seinem Bruder Objekt Adverben Attribut. der Junge bringt seinem Bruder Nomen Adverben Attribut. der Junge bringt seinem Bruder Artikel Adjektive ubstantiv Adverben Attribut. der Junge bringt seinem Bruder die Adjektive ubstantiv Adverben Attribut. der Junge bringt seinem Bruder die Adjektive Adjektiv ubstantiv Adverben Attribut. der Junge bringt seinem Bruder die Adjektiv ubstantiv Adverben Attribut. der Junge bringt seinem Bruder die teure ubstantiv Adverben Attribut. der Junge bringt seinem Bruder die teure CD Adverben Attribut. der Junge bringt seinem Bruder die teure CD Attribut. der Junge bringt seinem Bruder die teure CD. 5. dieser atz kein Verb. Keine Ableitung möglich atz gehört nicht zur prache. 3.2 Mehrdeutigkeit Ist die Grammatik eindeutig? Geben ie ein Gegenbeispiel oder eine Begründung für die Eindeutigkeit an!
7 7 Man kann mehrdeutige ätze konstruieren. Zum Beispiel: ich traf den Jaeger mit seinem Gewehr. Dieser atz ist (auch im Deutschen) syntaktisch mehrdeutig. den Jaeger mit seinem Gewehr kann beim Ableiten als einzelnes Objekt interpretiert werden. Alternativ kann man den Jaeger als Objekt interpretieren und traf... mit seinem Gewehr als Verb mit zugehörigem Attribut.
8 8 Aufgabe 4: Grammar Engineering 4.1 Elimination der Linksrekursion Es folgt eine Grammatik für reguläre Ausdrücke über die ymbole a und b: rexpr rexpr + rterm rterm rterm rterm rfactor rfactor rfactor rfactor rprimary rprimary a b Führen ie eine Linksfaktorisierung dieser Grammatik durch. Eine Linksfaktorisierung ändert an der gegebenen Grammatik nichts. Macht die Linksfaktorisierung sie für Top-Down-Parsing geeignet? Nein. Die Grammatiken enthält Linksrekursionen und ist daher für Top-Down-Parsing ungeeignet. Eliminieren ie anschließend die Linksrekursion aus der ursprünglichen Grammatik. Nutze Regeln aus der Vorlesung: A A α β lässt sich umformen zu: A βa und A αa Daraus ergibt sich: rexpr rterm rexpr rexpr + rexpr rterm rfactor rterm rterm rfactor rterm rfactor rprimary rfactor rfactor rfactor rprimary a b Eignet sich die resultierende Grammatik für Top-Down-Parsing. Ja. 4.2 Dangling-Else Die folgende Grammatik soll das aus der Vorlesung bekannte Problem des Dangling-Else beseitigen: if expr then matchedtmt matchedtmt if expr then matchedtmt else Zeigen ie, dass sie immer noch mehrdeutig ist.
9 9 Für den atz if expr then if expr then else if expr then else kann man 2 Parsebäume konstruieren: if expr then matchedtmt if expr then matchedtmt else matchedtmt if expr then matchedtmt else matchedtmt matchedtmt if expr then matchedtmt else if expr thenmatchedtmt else matchedtmt if expr then matchedtmt
Ü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Ü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
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
MehrTheoretische Informatik und Logik Übungsblatt 2 (2017S) Lösung
Theoretische Informatik und Logik Übungsblatt 2 (2017) en Aufgabe 2.1 Geben ie jeweils eine kontextfreie Grammatik an, welche die folgenden prachen erzeugt, sowie eine Linksableitung und einen Ableitungsbaum
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,
MehrEin Fragment von Pascal
Ein Fragment von Pascal Wir beschreiben einen (allerdings sehr kleinen) Ausschnitt von Pascal durch eine kontextfreie Grammatik. Wir benutzen das Alphabet Σ = {a,..., z, ;, :=, begin, end, while, do} und
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
MehrGrundlagen der Theoretischen Informatik
Grundlagen der Theoretischen Informatik Sommersemester 2017 20.04.2017 Viorica Sofronie-Stokkermans e-mail: sofronie@uni-koblenz.de 1 Bis jetzt Organisatorisches Literatur Motivation und Inhalt Kurzer
MehrVorlesung Automaten und Formale Sprachen Sommersemester Beispielsprachen. Sprachen
Vorlesung Automaten und Formale Sprachen Sommersemester 2018 Prof. Barbara König Übungsleitung: Christina Mika-Michalski Wörter Wort Sei Σ ein Alphabet, d.h., eine endliche Menge von Zeichen. Dann bezeichnet
MehrAutomaten und formale Sprachen. Lösungen zu den Übungsblättern
Automaten und formale Sprachen zu den Übungsblättern Übungsblatt Aufgabe. (Sipser, exercise.3) M = ({q, q2, q3, q4, q5}, {u, d}, δ, q3, {q3}) δ: u d q q q 2 q 2 q q 3 q 3 q 2 q 4 q 4 q 3 q 5 q 5 q 4 q
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
MehrProgrammierkurs Java
Programmierkurs Java Dr. Dietrich Boles Aufgaben zu UE3-Syntaxdiagramme (Stand 05.11.2010) Aufgabe 1: Entwickeln Sie Regeln zur Übersetzung von EBNF in Syntaxdiagramme. Aufgabe 2: Eine Zahl ist entweder
MehrTheoretische Informatik I
Theoretische nformatik inheit 3 Kontextfreie Sprachen 1. Kontextfreie Grammatiken 2. Pushdown Automaten 3. igenschaften kontextfreier Sprachen Verarbeitung von Programmiersprachen Was ist das einfachste
MehrGrundlagen der Programmierung 2 (Comp-D)
Grundlagen der Programmierung 2 (Comp-D) Prof. Dr. Manfred Schmidt-Schauÿ Künstliche Intelligenz und Softwaretechnologie 31. Mai 2007 Operationen auf Grammatiken Ziel: Normalisierungen, Vereinfachungen
MehrBerechenbarkeitstheorie 7. Vorlesung
1 Berechenbarkeitstheorie Dr. Institut für Mathematische Logik und Grundlagenforschung WWU Münster W 15/16 Alle Folien unter Creative Commons Attribution-NonCommercial 3.0 Unported Lizenz. Das Pumpinglemma
Mehr2.1 Allgemeines. Was ist eine Sprache? Beispiele:
Was ist eine Sprache? Beispiele: (a) Deutsch, Japanisch, Latein, Esperanto,...: Natürliche Sprachen (b) Pascal, C, Java, Aussagenlogik,...: Formale Sprachen Wie beschreibt man eine Sprache? (i) Syntax
MehrKontextfreie Sprachen Kontextfreie Sprachen und Grammatiken. Satzformen sind die Wörter aus (N T ). Notation: Wir verwenden oft
und Grammatiken (Folie 119, eite 202 im kript) atzformen sind die Wörter aus (N T ). Notation: Wir verwenden oft a, b, c,... für Terminalsymbole A, B, C,... für Nonterminale u, v, w,... für Terminalwörter
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
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),
MehrAutomaten und formale Sprachen Notizen zu den Folien
Automaten und formale prachen Notizen zu den Folien 10 Kontextfreie Grammatiken Beispiele für kontextfreien Grammatiken ei Σ = {a, b}. Beispiel 1 (Folie 233, oben) Geben ie eine kontextfreie Grammatik
MehrLemma Für jede monotone Grammatik G gibt es eine kontextsensitive
Lemma Für jede monotone Grammatik G gibt es eine kontextsensitive Grammatik G mit L(G) = L(G ). Beweis im Beispiel (2.): G = (V,Σ, P, S) : P = {S asbc, S abc, CB BC, ab ab, bb bb, bc bc, cc cc}. (i) G
MehrKapitel IV Formale Sprachen und Grammatiken
Kapitel IV Formale Sprachen und Grammatiken 1. Begriffe und Notationen Sei Σ ein (endliches) Alphabet. Dann Definition 42 1 ist Σ das Monoid über Σ, d.h. die Menge aller endlichen Wörter über Σ; 2 ist
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
MehrI.5. Kontextfreie Sprachen
I.5. Kontextfreie prachen Zieht man in Betracht, dass BNF-yteme gerade so beschaffen sind, dass auf der linken eite immer genau ein Nichtterminal steht, so sind das also gerade die Ableitungsregeln einer
MehrCompilerbau 12. Übungsblatt, Sommersemester 2015 Abgabetermin:
12 12. Übungsblatt, Sommersemester 2015 Abgabetermin: 14.07.2015 Aufgabe 32 Übersetzen Sie den arithmetischen Ausdruck a*-(b+c) in 3-Adress-Code. Aufgabe 33 Entwickeln Sie für die folgende Teilgrammatik
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
MehrOperationen auf Grammatiken
Operationen auf Grammatiken Ziel: Normalisierungen, Vereinfachungen, Elimination bestimmter Konstrukte Erzeugen eines Parsers Transformation G 1 G 2 mit L(G 1 ) = L(G 2 ) I.a. Parsebaum 1 (w) Parsebaum
MehrAlgorithmen und Formale Sprachen
Algorithmen und Formale Sprachen Algorithmen und formale Sprachen Formale Sprachen und Algorithmen Formale Sprachen und formale Algorithmen (formale (Sprachen und Algorithmen)) ((formale Sprachen) und
MehrGrundlagen der Theoretischen Informatik
Grundlagen der Theoretischen Informatik Sommersemester 2015 22.04.2015 Viorica Sofronie-Stokkermans e-mail: sofronie@uni-koblenz.de 1 Bis jetzt 1. Terminologie 2. Endliche Automaten und reguläre Sprachen
MehrKlammersprache Definiere
Klammersprache w=w 1...w n {(,)}* heißt korrekt geklammert, falls die Anzahl ( ist gleich der Anzahl ). in jedem Anfangsstück w 1,...,w i (i n) ist die Anzahl ( nicht kleiner als die Anzahl ). Definiere
MehrMehrdeutige Grammatiken
Mehrdeutige Grammatiken Wir haben gesehen, dass es auch mehr als eine Linksableitung, d.h. mehr als einen Syntaxbaum geben kann, um das selbe Terminalwort zu erzeugen. Eine Grammatik, die für mindestens
MehrGrundlagen der Theoretischen Informatik
Grundlagen der Theoretischen Informatik 4. Kellerautomaten und kontextfreie Sprachen (I) 3.06.2015 Viorica Sofronie-Stokkermans e-mail: sofronie@uni-koblenz.de 1 Organisatorisches 1. Teilklausur: Mittwoch,
MehrAutomaten und formale Sprachen Notizen zu den Folien
Automaten und formale prachen Notizen zu den Folien 10 Kontextfreie Grammatiken Beispiele für kontextfreien Grammatiken ei Σ = {a, b}. Beispiel 1 (Folie 211, oben) Geben ie eine kontextfreie Grammatik
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
MehrVU Software Paradigmen / SS 2014
VU Software Paradigmen 716.060 / SS 2014 Ralph Ankele ralph.ankele@tugraz.at Termine Ausgabe: 19. März (heute) Fragestunde: 24. März Abgabe: 09. April(bis 16:00 Uhr) Einsichtsnahme: xx. April (16:00 Uhr)
MehrBaumadjunktionsgrammatiken
Baumadjunktionsgrammatiken Vorlesung Grammatikformalismen Alexander Koller 22. April 2016 Grammatikformalismen Grammatik- formalismus Grammatik- theorie abstrakt Grammatik prache konkret formal linguistisch
MehrMehrdeutige Grammatiken
Mehrdeutige Grammatiken Wir haben gesehen, dass es auch mehr als eine Linksableitung, d.h. mehr als einen Syntaxbaum geben kann, um das selbe Terminalwort zu erzeugen. Eine Grammatik, die für mindestens
MehrVorname:... Matrikel-Nr.:... Unterschrift:...
Fachhochschule Mannheim Hochschule für Technik und Gestaltung Fachbereich Informatik Studiengang Diplom (RGS 9) Compilerbau Sommersemester 2005 Name:... Vorname:... Matrikel-Nr.:... Unterschrift:... Hinweise:
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 14.05.2013 Analog zu Linksableitungen definiert man Definition 2.45 Ein Ableitungsschritt
Mehr1 Formale Sprachen, reguläre und kontextfreie Grammatiken
Praktische Informatik 1, WS 2001/02, reguläre Ausdrücke und kontextfreie Grammatiken 1 1 Formale Sprachen, reguläre und kontextfreie Grammatiken Ein Alphabet A ist eine endliche Menge von Zeichen. Die
Mehr9.4 Grundlagen des Compilerbaus
Kap09.fm Seite 717 Dienstag, 7. September 2010 2:06 14 9.4 Grundlagen des Compilerbaus 717 so dass die Benutzung dieser Regeln zum Aufbau eines + -Knotens bzw. eines Negations- Knotens im abstrakten Syntaxbaum
Mehr9 Theoretische Informatik und Compilerbau
9 Theoretische Informatik und Compilerbau Theoretische Informatik und Mathematik schaffen die Basis für viele der technischen Entwicklungen, die wir in diesem Buch besprechen. Die boolesche Algebra (S.
MehrCompiler: Parser. Prof. Dr. Oliver Braun. Fakultät für Informatik und Mathematik Hochschule München. Letzte Änderung:
Fakultät für Informatik und Mathematik Hochschule München Letzte Änderung: 17.05.2017 11:06 Inhaltsverzeichnis Parsing....................................... 2 Syntax........................................
MehrF2 Zusammenfassung Letzte Tips zur Klausur
F2 Zusammenfassung Letzte Tips zur Klausur Berndt Farwer FB Informatik, Uni HH F2-ommersemester 2001-(10.6.) p.1/15 Funktionen vs. Relationen Funktionen sind eindeutig, Relationen brauchen nicht eindeutig
MehrSoftware Entwicklung 1. Fallstudie: Arithmetische Ausdrücke. Rekursive Klassen. Überblick. Annette Bieniusa / Arnd Poetzsch-Heffter
Software Entwicklung 1 Annette Bieniusa / Arnd Poetzsch-Heffter Fallstudie: Arithmetische Ausdrücke AG Softech FB Informatik TU Kaiserslautern Bieniusa/Poetzsch-Heffter Software Entwicklung 1 2/ 33 Überblick
MehrEinführung in die Theoretische Informatik
echnische Universität München Fakultät für Informatik Prof. obias Nipkow, Ph.D. ascha öhme, Lars Noschinski ommersemester 2011 Lösungsblatt 5 6. Juni 2011 Einführung in die heoretische Informatik Hinweis:
MehrDefinition 4 (Operationen auf Sprachen) Beispiel 5. Seien A, B Σ zwei (formale) Sprachen. Konkatenation: AB = {uv ; u A, v B} A + = n 1 An
Definition 4 (Operationen auf Sprachen) Seien A, B Σ zwei (formale) Sprachen. Konkatenation: AB = {uv ; u A, v B} A 0 = {ɛ}, A n+1 = AA n A = n 0 An A + = n 1 An Beispiel 5 {ab, b}{a, bb} = {aba, abbb,
MehrÜbungs- und Praktikumsaufgaben zur Systemprogrammierung Dipl.-Ing. H. Büchter (Lehrbeauftragter) FH-Dortmund WS 2001/2002 / SS 2002
1. Stellen Sie die schrittweise Verbesserung eines Compilers durch das Bootstrap- Verfahren mit Hilfe von T-Diagrammen dar. Gegeben ist ein auf der Maschine M lauffähiger Compiler C 1, der in S geschrieben
MehrTheoretische Grundlagen der Informatik
Theoretische Grundlagen der Informatik Vorlesung am 13.01.2011 INSTITUT FÜR THEORETISCHE INFORMATIK 0 KIT Universität des Landes Baden-Württemberg und nationales Forschungszentrum in der Helmholtz-Gemeinschaft
MehrAlgorithmen und Datenstrukturen I - Exkurs Formale Sprachen -
Algorithmen und Datenstrukturen I - - Thies Pfeiffer Technische Fakultät tpfeiffe@techfak.uni-bielefeld.de Vorlesung, Universität Bielefeld, Winter 2012/2013 1 / 22 Exkurs: Formale Sprachen Im Kapitel
MehrCompiler/Interpreter
Compiler/Interpreter Vorlesung, Praktikum, Klausur Praktikum: besteht aus 2 Teilen Ausdrucksinterpreter nach dem Verfahren des rekursiven Abstiegs PL/0 Compiler nach einem graphengesteuerten Verfahren
MehrAlgorithmen und Datenstrukturen I - Exkurs Formale Sprachen -
Algorithmen und Datenstrukturen I - Exkurs Formale Sprachen - Thies Pfeiffer Technische Fakultät tpfeiffe@techfak.uni-bielefeld.de Vorlesung, Universität Bielefeld, Winter 2012/2013 1 / 1 Exkurs: Formale
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
MehrSoftware Entwicklung 1
Software Entwicklung 1 Annette Bieniusa / Arnd Poetzsch-Heffter AG Softech FB Informatik TU Kaiserslautern Fallstudie: Arithmetische Ausdrücke Bieniusa/Poetzsch-Heffter Software Entwicklung 1 2/ 33 Überblick
MehrImplementierung eines LR-Parser-Generators mit syntaktischen Prädikaten
Implementierung eines LR-Parser-Generators mit syntaktischen Prädikaten Aufgabenbeschreibung 29. Juli 2011 1 Einleitung und Motivation Der Parser-Generator Antlr [Par07] bietet die Möglichkeit, die Auswahl
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
Mehr5. Syntaxanalyse und der Parser-Generator yacc. 5.5 Aufsteigende Analyse. Absteigende Analyse versus aufsteigende Analyse. 5.5 Aufsteigende Analyse
5. Syntaxanalyse und der Parser-Generator yacc 5.1 Einleitung 5.2 Kontextfreie Grammatiken 5.3 Grundlagen von yacc 5.4 Absteigende Analyse Übersetzergenerierung Syntaxanalyse und yacc (2) Jan Bredereke,
MehrFormale Sprachen. Inhaltsverzeichnis. M. Jakob. 10. Dezember Allgemeine Einführung. Aufbau formaler Sprachen
M. Jakob Gymnasium Pegnitz 10. Dezember 2014 Inhaltsverzeichnis Allgemeine Einführung Aufbau formaler Sprachen Notationsformen formaler Sprachen Backus-Naur-Formen Erkennen formaler Sprachen Implementierung
Mehr1 Automatentheorie und Formale Sprachen
Sanders: TGI October 29, 2015 1 1 Automatentheorie und Formale Sprachen 1.1 Allgemeines Sanders: TGI October 29, 2015 2 Beispiel: Arithmetische Ausdrücke:EXPR Σ={1,a,+,,,(,)} a ist Platzhalter für Konstanten
MehrAufgabensammlung Theo Inf I 1
Aufgabensammlung Theo Inf I 1 1 Grundlagen Aufgabe 1.1 Bestimmen Sie w und w b für w = abacbba. Aufgabe 1.2 Bestimmen Sie alle a) Teilworte der Länge 3 b) Präfixe c) Suffixe des Wortes w = abacbba. Aufgabe
MehrDank. 1 Ableitungsbäume. 2 Umformung von Grammatiken. 3 Normalformen. 4 Pumping-Lemma für kontextfreie Sprachen. 5 Pushdown-Automaten (PDAs)
ank Vorlesung Grundlagen der Theoretischen Informatik / Einführung in die Theoretische Informatik I Bernhard Beckert iese Vorlesungsmaterialien basieren ganz wesentlich auf den Folien zu den Vorlesungen
MehrSprachanalyse. Fachseminar WS 08/09 Dozent: Prof. Dr. Helmut Weber Referentin: Nadia Douiri
Sprachanalyse WS 08/09 Dozent: Prof. Dr. Helmut Weber Referentin: Inhalt 1. Formale Sprachen 2. Chomsky-Hierarchie 2 FORMALE SPRACHE 1. WAS IST EINE SPRACHE? 2. WIE BESCHREIBT MAN EINE SPRACHE? 3. WAS
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
Mehr1. Der Begriff Informatik 2. Syntax und Semantik von Programmiersprachen - 1 -
1. Der Begriff Informatik 2. Syntax und Semantik von Programmiersprachen I.2. I.2. Grundlagen von von Programmiersprachen. - 1 - 1. Der Begriff Informatik "Informatik" = Kunstwort aus Information und Mathematik
Mehr1. Der Begriff Informatik 2. Syntax und Semantik von Programmiersprachen - 1 -
1. Der Begriff Informatik 2. Syntax und Semantik von Programmiersprachen I.2. I.2. Grundlagen von von Programmiersprachen. - 1 - 1. Der Begriff Informatik "Informatik" = Kunstwort aus Information und Mathematik
MehrVU Software Paradigmen / SS 2012
VU Software Paradigmen 716.060 / SS 2012 Sandra Fruhmann sandra.fruhmann@student.tugraz.at Inhalt Grammatiken Chomsky Sprachhierarchie Parse Trees Recursive Descent Parser First-, Follow-Mengen 2 Compiler
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 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
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
MehrSyntax von Programmiersprachen
"Grammatik, die sogar Könige zu kontrollieren weiß... aus Molière, Les Femmes Savantes (1672), 2. Akt Syntax von Programmiersprachen Prof. Dr. Christian Böhm in Zusammenarbeit mit Gefei Zhang WS 07/08
MehrSyntax von Programmiersprachen
"Grammatik, die sogar Könige zu kontrollieren weiß... aus Molière, Les Femmes Savantes (1672), 2. Akt Syntax von Programmiersprachen Prof. Dr. Martin Wirsing in Zusammenarbeit mit Michael Barth, Philipp
MehrÜbung Praktische Informatik I
Übung Praktische Informatik I HWS 2008/2009 Benjamin Guthier Lehrstuhl für Praktische Informatik IV Universität Mannheim guthier@pi4.informatik.uni-mannheim.de 24.10.08 6-1 Heutige große Übung Hinweise
MehrInformatik IC2. Balazs Simon
Informatik IC2 Balazs Simon Inhaltsverzeichnis 1 Contextfreie Sprachen 3 1.1 Ableitungsbaum..................................... 3 1.2 Schönheit........................................ 4 1.3 Normalformen......................................
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
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
MehrFormale Sprachen und Grammatiken
Formale Sprachen und Grammatiken Jede Sprache besitzt die Aspekte Semantik (Bedeutung) und Syntax (formaler Aufbau). Die zulässige und korrekte Form der Wörter und Sätze einer Sprache wird durch die Syntax
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
MehrInformatik III. Christian Schindelhauer Wintersemester 2006/07 5. Vorlesung
Informatik III Christian Schindelhauer Wintersemester 2006/07 5. Vorlesung 09.11.2006 schindel@informatik.uni-freiburg.de 1 Äquivalenzklassen Definition und Beispiel Definition Für eine Sprache L Σ* bezeichnen
MehrZwei Bemerkungen zum Schluss
Man könnte sich fragen, ob eine Typ-3 Sprache inhärent mehrdeutig sein kann (im Sinn von Einheit 8). Die Antwort lautet: NEIN. Zwei Bemerkungen zum Schluss Denn für jede Typ-3 Sprache gibt es einen DEA,
MehrKapitel 2: Formale Sprachen Gliederung. 0. Grundbegriffe 1. Endliche Automaten 2. Formale Sprachen 3. Berechnungstheorie 4. Komplexitätstheorie
Gliederung 0. Grundbegriffe 1. Endliche Automaten 2. Formale Sprachen 3. Berechnungstheorie 4. Komplexitätstheorie 2.1. 2.2. Reguläre Sprachen 2.3. Kontextfreie Sprachen 2/1, Folie 1 2015 Prof. Steffen
MehrEinführung. (Compiler) Prof. Dr. Oliver Braun. Letzte Änderung: :49. Einführung 1/26
Einführung (Compiler) Prof. Dr. Oliver Braun Letzte Änderung: 10.05.2017 15:49 Einführung 1/26 Ein Compiler ist ein Computerprogramm das ein Programm geschrieben in einer Sprache in ein Programm übersetzt
MehrVon der Grammatik zum AST
Von der Grammatik zum AST Welche Eigenschaften soll ein Parser haben? Wann ist eine Grammatik eindeutig? Wie sollte eine Grammatik aussehen? Theoretischer Hin tergrund: FIRST, FOLLOW Einschränkungen von
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
MehrFormale Sprachen und Automaten
Formale Sprachen und Automaten Kapitel 4: Typ 2 kontextfreie Sprachen Vorlesung an der DHBW Karlsruhe Thomas Worsch Karlsruher Institut für Technologie, Fakultät für Informatik Wintersemester 2012 Kapitel
MehrGrundlagen der Theoretischen Informatik
Grundlagen der Theoretischen Informatik Sommersemester 2015 16.04.2015 Viorica Sofronie-Stokkermans e-mail: sofronie@uni-koblenz.de 1 Bis jetzt Organizatorisches Literatur Motivation und Inhalt Kurzer
MehrNichtdeterministischer Kellerautomat
1 Nichtdeterministischer Kellerautomat endlicher Automat mit Zusatzspeicher in Form eines Kellers (Stapel, Stack) mit Speicheroperationen pro Übergang Keller über X: w X mit den Operationen push, head,
MehrTheoretische Informatik 2 (WS 2006/07) Automatentheorie und Formale Sprachen 19
Inhalt 1 inführung 2 Automatentheorie und ormale prachen Grammatiken Reguläre prachen und endliche Automaten Kontextfreie prachen und Kellerautomaten Kontextsensitive und yp 0-prachen 3 Berechenbarkeitstheorie
MehrLerninhalte ALFONS Lernwelt Deutsch 4. Klasse
Seite 1 Turmzimmer 1: Übungen zum Wortschatz 1. Abschreiben: Wörter mit ck und tz 7. Abschreiben: Wörter mit v 2. Aufschreiben aus dem Gedächtnis: Wörter mit ck und tz 8. Aufschreiben aus dem Gedächtnis:
MehrFormale Sprachen Jörg Roth Formale Sprachen
Formale Sprachen Jörg Roth 196 3 Formale Sprachen Wir haben uns bisher nur mit einem Typ formaler Sprachen besonders intensiv beschäftigt den regulären Sprachen. Wir haben aber auch erkannt, dass reguläre
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,
MehrGrundlagen der Informatik II Übungsblatt: 1, WS 17/18 mit Lösungen
PD. Dr. Pradyumn hukla Marlon Braun Micaela Wünsche Dr. Friederike Pfeiffer-Bohnen Dr. Lukas König Institut für Angewandte Informatik und Formale Beschreibungsverfahren Grundlagen der Informatik II Übungsblatt:,
MehrUmformung NTM DTM. Charakterisierung rek. aufz. Spr. Chomsky-3-Grammatiken (T5.3) Chomsky-0-Grammatik Rek. Aufz.
Chomsky-0-Grammatik Rek. Aufz. Satz T5.2.2: Wenn L durch eine Chomsky-0- Grammatik G beschrieben wird, gibt es eine NTM M, die L akzeptiert. Beweis: Algo von M: Schreibe S auf freie Spur. Iteriere: Führe
Mehr2.2 Syntax, Semantik und Simulation
2.2 Syntax, Semantik und Simulation Ein Java Programm ist eine Folge von Buchstaben. Nicht jede Folge von Buchstaben ist ein korrektes Java Programm! Wie kann man alle korrekten Java Programme beschreiben?
MehrTU Kaiserslautern. Übungsblatt 2: Software-Entwicklung 1 (WS 2017/18) Hinweise zu Einreichaufgaben. Hinweise zu den Übungen
Dr. Annette Bieniusa Mathias Weber, M. Sc. Peter Zeller, M. Sc. TU Kaiserslautern Fachbereich Informatik AG Softwaretechnik Übungsblatt 2: Software-Entwicklung 1 (WS 2017/18) Hinweise zu Einreichaufgaben
MehrGrundbegriffe. Grammatiken
Grammatiken Grammatiken in der Informatik sind ähnlich wie Grammatiken für natürliche Sprachen ein Mittel, um alle syntaktisch korrekten Sätze (hier: Wörter) einer Sprache zu erzeugen. Beispiel: Eine vereinfachte
Mehr