Lösungsvorschlag zur Klausur. Compilerbau vom 29. September Aufgabe 1 ( ) Prof. Dr. Michael Jäger. Punkte von 12

Ähnliche Dokumente
Übungen zur Vorlesung Modellierung WS 2003/2004 Blatt 11 Musterlösungen

Automaten und formale Sprachen Notizen zu den Folien

Automaten und formale Sprachen Notizen zu den Folien

Lösungshinweise/-vorschläge zum Übungsblatt 2: Software-Entwicklung 1 (WS 2015/16)

Automaten und formale Sprachen Notizen zu den Folien

Lösung zur Klausur. Grundlagen der Theoretischen Informatik. 1. Zeigen Sie, dass die folgende Sprache regulär ist: w {a, b} w a w b 0 (mod 3) }.

Übungsblatt Nr. 2. Lösungsvorschlag

Automaten und formale Sprachen Notizen zu den Folien

Zusammenhänge zwischen Sprachen und Automaten:

Klausur über den Stoff der Vorlesung Grundlagen der Informatik II (90 Minuten)

Einführung in die Theoretische Informatik I/ Grundlagen der Theoretischen Informatik. SS 2007 Jun.-Prof. Dr. Bernhard Beckert Ulrich Koch.

Klausur Formale Sprachen und Automaten Grundlagen des Compilerbaus

Mitschrift Repetitorium Theoretische Informatik und Logik

Automaten und Formale Sprachen alias Theoretische Informatik. Sommersemester 2011

Automaten und Formale Sprachen alias Theoretische Informatik. Sommersemester Kurzer Einschub: das Schubfachprinzip.

Klausur zur Vorlesung Grundbegriffe der Informatik 10. März 2009 mit Lösungsvorschlägen

6. Übungsblatt. (i) Von welchem Typ ist die Grammatik G? Begründen Sie Ihre Antwort kurz.

Gliederung. Kapitel 1: Endliche Automaten

Einführung in die Theoretische Informatik

Vorname: Nachname: Matrikelnummer: Studiengang (bitte ankreuzen): Technik-Kommunikation M.A.

Formale Systeme, Automaten, Prozesse SS 2010 Musterlösung - Übung 6 M. Brockschmidt, F. Emmes, C. Fuhs, C. Otto, T. Ströder

Formal Languages and Automata

Hans U. Simon Bochum, den Annette Ilgen. Beispiele zur Vorlesung. Theoretische Informatik. WS 08/09

SS 2018 Torsten Schreiber

Der Begriff der Stammfunktion

Automaten, Spiele, und Logik

Erkundungen. Terme vergleichen. Rechteck Fläche als Produkt der Seitenlängen Fläche als Summe der Teilflächen A B

Name... Matrikel-Nr... Studiengang...

Zusammenhänge zwischen Sprachen und Automaten:

Minimalität des Myhill-Nerode Automaten

Vorname: Nachname: Matrikelnummer: Studiengang (bitte ankreuzen): Technik-Kommunikation M.A.

Minimalautomat. Wir stellen uns die Frage nach dem. kleinsten DFA für eine reguläre Sprache L, d.h. nach einem DFA mit möglichst wenigen Zuständen.

Theoretische Informatik und Logik Übungsblatt 2 (2017W) Lösung

Umwandlung von endlichen Automaten in reguläre Ausdrücke

Vorkurs Theoretische Informatik

Protokoll zur Vorlesung Theoretische Informatik I

Bitte die Blätter nicht trennen! Studiengang:

Theoretische Informatik und Logik Übungsblatt 2 (2013S) Lösung

Ober- und Untersummen, Riemann Integrale

2.2. Aufgaben zu Figuren

Name... Matrikel Nr... Studiengang...

Automaten und formale Sprachen Notizen zu den Folien

Die Satzgruppe des Pythagoras

Gliederung. Kapitel 1: Endliche Automaten

Mathematik für Studierende der Biologie und des Lehramtes Chemie

1 Planarbeit Planarbeit

Lineare Gleichungssysteme mit 3 und mehr Variablen

Technische Universität München Sommer 2016 Prof. J. Esparza / Dr. M. Luttenberger, S. Sickert 18. Juni HA-Lösung. TA-Lösung

RWTH Aachen Lehrgebiet Theoretische Informatik Rossmanith Dreier Hark Kuinke. SS 2017 Blatt

29 Uneigentliche Riemann-Integrale

Minimierung von DFAs. Minimierung 21 / 98

vollständig (Vervollständigung) deterministisch, DFA (Potenzmengenkonstruktion) Minimalautomat: minimaler vollständiger DFA

Formale Systeme, Automaten, Prozesse SS 2010 Musterlösung - Übung 2 M. Brockschmidt, F. Emmes, C. Fuhs, C. Otto, T. Ströder

Scheinklausur: Theoretische Informatik I

Unterrichtsmaterialien in digitaler und in gedruckter Form. Auszug aus: Kohls Mathe-Tandem Geometrie - Partnerrechnen im

Inhaltsverzeichnis. c 1 / 5

2.6 Reduktion endlicher Automaten

Formale Sprachen und Automaten. Schriftlicher Test

Automaten und Formale Sprachen 13. Vorlesung

Was nicht bewertet werden soll, streichen Sie bitte durch. Werden Täuschungsversuche beobachtet, so wird die Präsenzübung mit 0 Punkten bewertet.

Mathematik: Mag. Schmid Wolfgang Arbeitsblatt Semester ARBEITSBLATT 14 MULTIPLIKATION EINES VEKTORS MIT EINEM SKALAR

1) Gegeben sei ein endlicher, erkennender Automat, definiert durch: f z, definiert durch das Zustandsdiagramm: a,b. z 3

Mathematische Probleme, SS 2018 Dienstag 5.6. $Id: dreieck.tex,v /06/05 15:41:51 hk Exp $ 2.1 Dreiecksberechnung mit Seiten und Winkeln

Ergänzungsblatt 6. Letzte Änderung: 24. November 2018

R. Brinkmann Seite

Wir haben ein Koordinatensystem mit der x-achse und der y-achse. Nun wird ein Kreis gebildet mit dem Radius r=1.

Automaten mit dot erstellen

Mathematische Probleme, SS 2013 Montag $Id: dreieck.tex,v /04/15 09:12:15 hk Exp hk $ 1.4 Dreiecksberechnung mit Seiten und Winkeln

Prof. Dr. Javier Esparza Garching b. München, den Klausur Einführung in die theoretische Informatik Sommer-Semester 2017

10 1 Grundlagen der Schulgeometrie. 1.3 Das Dreieck

Universität Heidelberg 13. Oktober 2016 Institut für Informatik Prof. Dr. Klaus Ambos-Spies Nadine Losert

Wintersemester 2016/2017 Scheinklausur Formale Sprachen und Automatentheorie

Einführung in die Mathematik des Operations Research

Funktionen und Mächtigkeiten

Reguläre Ausdrücke, In12 G8

Lösungen zum Ergänzungsblatt 4

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

Markieren Sie die Integralausdrücke, die den Flächeninhalt der markierten Fläche berechnen:

Endliche Automaten können wahlweise graphisch oder tabellarisch angegeben werden.

Grundlagen der Theoretischen Informatik, WS11/12 Minimale Automaten

Franz Binder. Vorlesung im 2006W

Hausaufgabe 2 (Induktionsbeweis):

Automaten und Formale Sprachen alias Theoretische Informatik. Sommersemester Sprachen. Grammatiken (Einführung)

Inhalt. Endliche Automaten. Automaten und Formale Sprachen. Franz Binder. Endliche Automaten. Deterministische Automaten

VORKURS: MATHEMATIK RECHENFERTIGKEITEN, LÖSUNGEN. Dienstag

DEA1 Deterministische Version

Symmetrien und Winkel

5.2 Quadratische Gleichungen

Aufge 4 Die Grmmtik G 2 CFG(f; g) in Chomsky-Normlform sei gegeen wie folgt: S! AB j A! AS j B! SB j ) Stellen Sie mit Hilfe des Cocke-Younger-Ksmi-Al

Algorithmentheorie. 15 Suchen in Texten (1)

Grundlagen der Informatik II Übungsblatt: 2, WS 17/18 mit Lösungen

Übung zur Vorlesung Formale Systeme, Automaten und Prozesse

Suche in Texten: Suffix-Bäume

4. Übungsblatt zu Theoretische Grundlagen der Informatik im WS 2015/16

Grundlagen der Informatik

7.4. Teilverhältnisse

9 Vektorprodukt. Dieses Gleichungssystem muss man nun lösen! Das ist allerdings nicht ganz einfach. Die Lösung lautet:

dem Verfahren aus dem Beweis zu Satz 2.20 erhalten wir zunächst die folgenden beiden ε-ndeas für die Sprachen {a} {b} und {ε} {a} +

Transkript:

Prof. Dr. Mihel Jäger FB MNI Lösungsvorshlg zur Klusur ompileru vom 29. eptemer 2014 ufge 1 (3+3+3+3) Punkte von 12 ) Ws versteht mn im ompileru unter einem Prser? Eine ompilerkomponente, die für die yntxnlyse zuständig ist. Welhe Funktion ht er? yntxfehler melden, eine leitung zum Quelltext gemäß einer zugrunde liegenden Grmmtik erehnen. Ggf. weitere syntxorientierte ktionen usführen, z.b. ufu eines strkten ystxums. Wie reitet er mit nderen ompilerkomponenten zusmmen? Der nner wird vom Prser ei Bedrf ufgerufen, um ds nähste Token zu liefern. Die vom Prser ufgeute Zwishendrstellung ist usgngspunkt für die ode-erzeugung. Die semntishe nlyse knn syntxorientiert eim Prsen oder nh dem Prsen uf der Bsis der vom Prser erzeugten Zwishendrstellung erfolgen. ) Ws edeutet im Hinlik uf typisierte Progrmmiersprhen der Begriff Üerldung? Es git mehrere n der selen telle im Quelltext verwendre Definitionen eines Bezeihners oder Opertors Geen ie ein Beispiel n. Der Opertor + knn eine Gleitpunkt- oder Gnzzhlddition repräsentieren. Mehrere Konstruktoren für die Klsse tring in Jv, z.b. tring() und tring(hr[] vlue). Wie geht ein ompiler dmit um? Er muss nhnd der n der Verwendungsstelle des üerldenen Bezeihners oder Opertors enutzten rgumenttypen die rihtige Definition eindeutig zuordnen. ) Ws versteht mn unter einer regulären prhe? Eine formle prhe, die vom einem endlihen utomten (DE oder NE) kzeptiert wird. lterntiv: Eine formle prhe, die durh einen regulären usdruk spezifiziert ist. Welhe Bedeutung hen reguläre prhen im ompileru? Die pezifiktion der Token-yntx (hlüsselwörter, Bezeihner, Literle, Opertoren usw.) erfolgt durh reguläre usdrüke. Ein nnergenertor knn drus eine uf endlihen utomten sierte Erkennung der Tokens generieren. d) Ein usdruk ist ein syntktishes Element, ds im Quelltext einen Wert repräsentiert. Wie verreitet ein ompiler typisherweise einen usdruk (Frontend und Bkend)? Ds Frontend muss die yntx prüfen und dei den Opertoren im usdruk die Opernden korrekt zuordnen. Der Typ muss estimmt werden. Flls der Wert niht direkt vom ompiler estimmt werden knn, muss Mshinenode erzeugt werden, der zur Lufzeit den Wert erehnet. 1

ufge 2 (3+3 Punkte) Punkte von 6 ) Geen ie ds Zustndsdigrmm eines endlihen utomten für die prhe n, die durh den regulären usdruk ( ɛ) repräsentiert wird. Der kzeptor knn nihtdeterministish sein. 1 2 3 ) Geen ie zu dem nhfolgenden nihtdeterministishen endlihen utomten einen äquivlenten deterministishen endlihen utomten (Zustndsdigrmm) n. {2, 4} {3} {1} {4} {2, 3, 4} {3, 4} ufge 3 (3+3+3 Punkte) Punkte von 9 Gegeen sei folgende kontextfreie Grmmtik G B B B B ) Geen ie eine Linksleitung und den leitungsum zu n. B BB B 2

B B ) Geen ie lle Wörter n, die sih zusätzlih leiten lssen, wenn mn die Regel ɛ hinzufügt. ε,, ) Beweisen ie, dss die Grmmtik durh die zusätzlihe Regel ɛ mehrdeutig wird. Eine Grmmtik G ist mehrdeutig, wenn es für ein Wort w L(G) vershiedene leitungsäume git. Für ds Wort ist dies der Fll. ε ε ufge 4 (2+2+2 Punkte) Punkte von 6 Betrhten ie folgende Grmmtik ) Bestimmen ie F IRT (): {, d,, ε} ) Bestimmen ie F OLLOW (B): {d, $} B ɛ B Bd ɛ d ɛ ) Ws steht in der LL(1)-Prsertelle in dem Eintrg zu B und d? B ε. ufge 5 (4+3+3 Punkte) Punkte von 10 ) Bestimmen ie zur nhfolgenden Grmmtik die LR(0)-Elemente und die Üergänge im zugehörigen DE. ) Geen ie die LR(1)-Prsertelle dzu n. ) Geen ie die Berehnung des LR(1)-Prsers für die Einge n. (1) (2) ɛ (3) (4) 3

Erweiterte Grmmtik: DE Q 0 (0) $ (1) (2) ɛ (3) (4) strt $ Q 1 $ $ ept Q 2 Q 3 Q 4 Q 5 nmerkung: Für die Bestimmung der Reduktionen in der Telle wird enötigt F OLLOW () = F OLLOW () = {,, $} LR(1)-Prsertelle tte tion GOTO $ Q 0 r2 r2 r2 Q 1 Q 1 s3 s4 ept Q 2 Q 2 r1 r1 r1 Q 3 s5 Q 4 r4 r4 r4 Q 5 r3 r3 r3 4

ufge 6 (3 + 7 Punkte) Punkte von 10 ) Bestimmen ie zur PL-Prozedur p ds Frme-Lyout für den ktivierungsrhmen: Bestndteile in der rihtigen Reihenfolge mit Offsets zum Frmepointer und Größen in Bytes ) Bestimmen ie den EO32-ssemlerode zu p. Die Prozedur printi erwrtet einen Wertprmeter vom Typ int. (P=$29, FP=$25, RET=$31, verfügre Register: $8-$15). type prtyp = rry [2] of int; pro p (ref i:int, j:int) { vr pr: prtyp; pr[j] := i; printi(i); } () Frme-Lyout für p: dresse Größe Inhlt FP-8 8 Byte pr FP-12 4 Byte lter FP FP-16 4 Byte lte RETURN-dresse FP-20 4 Byte Outgoing-rgs: Pltz für printi-rgument () ssemler-ode für p p:.export p su $29,$29,20 ; llote frme stw $25,$29,8 ; sve old frme pointer dd $25,$29,20 ; setup new frme pointer stw $31,$25,-16 ; sve return register dd $8,$25,-8 dd $9,$25,4 dd $10,$0,2 geu $9,$10,_indexError mul $9,$9,4 dd $8,$8,$9 dd $9,$25,0 stw $9,$8,0 dd $8,$25,0 ldw $8,$8,0 ldw $8,$8,0 stw $8,$29,0 ; store rg #0 jl printi ldw $31,$25,-16 ; restore return register ldw $25,$29,8 ; restore old frme pointer dd $29,$29,20 ; relese frme jr $31 ; return 5