Vorname:... Matrikel-Nr.:... Unterschrift:...

Ähnliche Dokumente
Vorname:... Matrikel-Nr.:... Unterschrift:...

Name:... Vorname:... Matrikel-Nr.:... Unterschrift:...

TheGI 1: Grundlagen und algebraische Strukturen Prof. Dr.-Ing. Uwe Nestmann Februar Schriftliche Leistungskontrolle (EK)

Information Security Management System. Klausur Wintersemester 2009/10 Hochschule Albstadt-Sigmaringen

Vertraulich. Nachname: Vorname: Matrikel-Nummer: Studiengang: Datum: 30. Januar 2015

7. Formale Sprachen und Grammatiken

Formale Sprachen und Grammatiken

Name (in Druckbuchstaben): Matrikelnummer: Unterschrift:

Einführung in die Programmierung

Compiler. Kapitel. Syntaktische Analyse. Kapitel 4. Folie: 1. Syntaktische Analyse. Autor: Aho et al.

Was ist ein Compiler?

Theoretische Informatik I

Grundlagen der Informatik. Prof. Dr. Stefan Enderle NTA Isny

1. Der Begriff Informatik 2. Syntax und Semantik von Programmiersprachen. I.2. I.2. Grundlagen von von Programmiersprachen.

Vorname: Nachname: Matrikelnummer: -Addresse: Studiengang (bitte genau einen ankreuzen): Master of SSE Erasmus Sonstige:

Theorie der Informatik

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

Probeklausur Grundlagen der Datenbanksysteme II

Prüfung Software Engineering I (IB)

Modulklausur Konstruktion und Analyse ökonomischer Modelle

Softwaretechnik Teil Webprogrammierung (HTML, PHP) SS2011

Vorlesung Theoretische Informatik

Prüfung Software Engineering II (IB)

Klausur zu den Teilgebieten Software-Management und Software-Qualitätsmanagement

Fachbereich 5 Wirtschaftswissenschaften Univ.-Prof. Dr. Jan Franke-Viebach

Universität Augsburg, Institut für Informatik Sommersemester 2005 Prof. Dr. Werner Kießling 16. Juli 2005 Dr. Alfons Huhn, Timotheus Preisinger

Prof. Dr. Uwe Schmidt. 21. August Aufgaben zur Klausur Objektorientierte Programmierung im SS 2007 (IA 252)

Einführung in die objektorientierte Programmierung mit Java. Klausur am 19. Oktober 2005

Äquivalente Grammatiken / attributierte Grammatik

Klausur zur Vorlesung Grundlagen der C++-Programmierung

Technische Führung. Bachelor. mer. meiner Note zusammen ... Diplom. gründlich. Sie lesbar! Wenn Sie. Viel Erfolg! max. Punktzahl.

2.11 Kontextfreie Grammatiken und Parsebäume

Fachseminar WS 2008/09

Vorlesung Suchmaschinen Semesterklausur Wintersemester 2013/14

Grundlagen der Informatik II. Teil I: Formale Modelle der Informatik

Aufgabentypen die in der Klausur vorkommen

Programmieren I. Formale Sprachen. Institut für Angewandte Informatik

Klausur zur Einführung in die objektorientierte Programmierung mit Java

DAP2-Klausur

Hochschule Ravensburg-Weingarten Schriftliche Prüfung Programmieren Prof. Dr. M. Zeller

TECHNISCHE UNIVERSITÄT DRESDEN Fakultät Wirtschaftswissenschaften Prof. Dr. W. Esswein Lehrstuhl Wirtschaftsinformatik, insbesondere Systementwicklung

FACHHOCHSCHULE MANNHEIM. Hochschule für Technik und Gestaltung. Beispielklausur zur Vorlesung:

TECHNISCHE UNIVERSITÄT DRESDEN Fakultät Wirtschaftswissenschaften Prof. Dr. W. Esswein Lehrstuhl Wirtschaftsinformatik, insbesondere Systementwicklung

Übersetzergenerierung mit lex und yacc

Fakultät Wirtschaftswissenschaft

K L A U S U R D E C K B L A T T

Universität Augsburg, Institut für Informatik Sommersemester 2005 Prof. Dr. Werner Kießling 15. Oktober 2005 Dr. Alfons Huhn, Timotheus Preisinger

Prüfung Software Engineering I (IB)

Klausur Software Engineering für WI (EuI)

Klausur zu den Teilgebieten Software-Management und Software-Qualitätsmanagement

Klausurteilnehmer. Wichtige Hinweise. Note: Klausur Informatik Programmierung, Seite 1 von 8 HS OWL, FB 7, Malte Wattenberg.

Bachelor-, Diplom- und Masterprüfung Organisation und Führung Wintersemester 2010/2011, 29. März 2011

Einführung in die Informatik Grammars & Parsers

Bachelorprüfung/Diplomvorprüfung Einführung in die Unternehmensführung (BWL 1)

"Einführung in die Programmierung" Krefeld, den 24. September 2013

Klausur zur Vorlesung Signale und Systeme

Klausur zur Einführung in die objektorientierte Programmierung mit Java

Marketing I Grundlagen des Marketing (SS 2015) (Studiengang MW)

Abschlussklausur. Verteilte Systeme. Bewertung: 25. November Name: Vorname: Matrikelnummer:

Grundbegriffe der Informatik

Grundbegriffe der Informatik

Matrikelnr: Name: Vorname: Aufgabe Summe Maximal erreichbare Punktzahl Erreichte Punktzahl. Note:

PS II - Verständnistest

Seminar Informatik: Syntaxanalyse von DKFG mittels Yacc

Formale Sprachen. Der Unterschied zwischen Grammatiken und Sprachen. Rudolf Freund, Marian Kogler

Theoretische Informatik I

Praktikum BKSPP. Aufgabenblatt Nr Umrechnung zwischen Stellenwertsystemen

Klausur Softwaretechnik Feb. 2008

Wiederholungsklausur zur Vorlesung Informationsökonomik

Bearbeitungszeit: 120 Minuten. Kommentare kosten Zeit; kommentieren Sie ihr Programm nur da, wo der Code alleine nicht verständlich wäre.

2. Kapitel LEXIKALISCHE ANALYSE. Compilerbau Prof. Dr. Wolfgang Schramm

Motivation. Formale Grundlagen der Informatik 1 Kapitel 5 Kontextfreie Sprachen. Informales Beispiel. Informales Beispiel.

Schriftliche Vordiplomprüfung Betriebsökonomie FH Serie C

Automaten und Formale Sprachen alias Theoretische Informatik. Sommersemester 2013

90-minütige Klausur Statistik für Studierende der Kommunikationswissenschaft

1 Syntax von Programmiersprachen

Universität Augsburg, Institut für Informatik Wintersemester 2011/2012 Prof. Dr. W. Kießling 03. Feb Semesterklausur

4.2.4 Reguläre Grammatiken

Grundbegriffe der Informatik

Klausur Datenbanksysteme

Bachelor-, Diplom- und Masterprüfung Organisation und Führung Sommersemester 2010, 29. Juli 2010

Klausur zur Vorlesung Grundlagen der Betriebssysteme WS 2011 / 2012

Formale Sprachen Grundlagen und Anwendungen. Dr. Wolfgang Süß

Lösungsskizzen zur Abschlussklausur Betriebssysteme

Modul Klausur zu den Teilgebieten Software-Management und Software-Qualitätsmanagement

... Bitte Namen und Matrikelnummer oben eintragen.

Antrag auf Zulassung zur studiengangspezifischen Abschlussprüfung (Werkeinführung/Bachelorarbeit) für alle grundständigen Studiengänge

K L A U S U R D E C K B L A T T

Programmiersprachen und Übersetzer

Einführung in die Computerlinguistik

Merkblatt zu den Modulabschlussklausuren des Masterstudiengangs Anwaltsrecht und Anwaltspraxis :

Grammatiken in Prolog

Matrikelnr. Name. Vorname. Aufgabe Summe Maximal erreichbare Punktzahl Erreichte Punktzahl

Programmieren I. Formale Sprachen. Institut für Angewandte Informatik

Einführung in die Wirtschaftsinformatik IV-Praktikum für Wirtschaftswissenschaftler. Grundstudiumsklausur am 22. Februar 2005 / WS 04/05

Antrag auf Zulassung zum Studium für ausländische Studienbewerber/innen Antrag auf Zulassung zum Studium zum Wintersemester / Sommersemester an der

Kurs 1793 Software Engineering I - Grundkonzepte der OOSE Klausur am

PRÜFUNG. Grundlagen der Softwaretechnik

ARBEITSBLATT ZU FORMALEN SPRACHEN

Transkript:

Fachhochschule Mannheim Hochschule für Technik und Gestaltung Fachbereich Informatik Studiengang Diplom (RGS 9) Compilerbau Sommersemester 2005 Name:... Vorname:... Matrikel-Nr.:... Unterschrift:... Hinweise: 1.) Schreiben Sie Ihren Namen und Ihre Matrikelnummer zu Beginn auf das Deckblatt der Klausur. Überprüfen Sie, ob die Klausur vollständig ist. 2.) Bearbeiten Sie die Aufgaben möglichst auf den jeweiligen Blättern. Der Platz auf dem Aufgabenblatt ist so bemessen, daß er für die Lösung der Aufgabe ausreicht. Andernfalls verwenden Sie die Rückseite oder ein mit Ihrem Namen, Ihrer Matrikelnummer und der Aufgabennummer gekennzeichnetes separates Blatt. 3.) Als Hilfsmittel ist, außer einem Schreibgerät, nur das Folienskript Compilerbau (mit ihren persönlichen Ergänzungen) zugelassen. 4.) Schreiben Sie mit dokumentenechten Stiften. Mit Bleistiften, Tintenkiller o.ä. erstellte Lösungen sind ungültig! Rotschreibende Stifte sind ebenfalls verboten! Schreiben Sie bitte leserlich! Aufgabe 1 2 3 4 5 6 7 8 Σ Erreichbare Punkte 10 10 48 16 10 15 5 6 120 Erreichte Punkte V i e l E r f o l g!!! Note:

Aufgabe 1 Reguläre Ausdrücke, Zustandsdiagramme 10 (5 + 5) Punkte a) Gegeben sei das Alphabet A = {a, b, c}. Geben Sie einen regulären Ausdruck für die Menge der Wörter über A an, die mit a beginnen, mit b enden und genau dreimal das Symbol c enthalten. Beispiel: korrekt falsch acccb accca abcabcabcb abcabcabcabcb aaacaacaacb cccb b) Geben Sie für den regulären Ausdruck (a b) c (a b)+ ein Zustandsdiagramm an. 2

Aufgabe 2 Produktionsregeln, Mehrdeutigkeit 10 (5 + 5) Punkte a) L = {w {0, 1}* Für w gilt, dass 011 nicht als Teilstring vorkommt}. Geben Sie die Produktionen einer kontextfreien Grammatik für L an. Beispiel: 1100101 ist ein Wort aus L, 01100 ist nicht in L b) Ist die kontextfreie Grammatik mit den Produktionsregeln S a S b S b S a ε mehrdeutig? Begründen Sie ihre Antwort! 3

Aufgabe 3 Top-Down-Analyse 48 (4 + 20 + 16 + 4 + 4) Punkte a) Wieso bzw. wann machen gemeinsame Präfixe bei verschiedenen Alternativen einer Produktionen Schwierigkeiten beim Top-Down-Parsing? b) Gegeben sind die folgenden Produktionen einer Grammatik mit Startsymbol S: S ab Aa. A Bab Aaa a. B Sb Bbb b. Eliminieren Sie in den Produktionen die Linksrekursion. 4

Aufgabe 3 Top-Down-Analyse - Fortsetzung 48 (4 + 20 + 16 + 4 + 4) Punkte c) Wozu braucht man beim Top-Down-Parsen die FIRST-Mengen? d) Wieso braucht man außer den FIRST-Mengen auch die FOLLOW-Mengen? e) Wieso darf höchstens eine der FIRST-Mengen der Alternativen einer Produktion ein ε enthalten? 5

Aufgabe 4 LR-Parser 16 (10 + 6) Punkte Gegeben ist eine Grammatik mit folgenden Produktionen: (1) S A (2) A abb (3) A ade (4) A bbc (5) A bdd (6) B d a) Analysieren Sie mit unten stehender Parsetabelle das Wort adb. a b c d e $ S A B 0 s2 s3 1 1 acc 2 s5 4 3 s7 6 4 s8 5 r6 r6 s9 6 s10 7 r6 r6 s11 8 r2 9 r3 10 r4 11 r5 6

Aufgabe 4 LR-Parser - Fortsetzung 16 (10 + 6) Punkte b) Wie kommt es zu shift/reduce-konflikten? Geben Sie ein Beispiel an. 7

Aufgabe 5 Lex / Flex 10 Punkte Schreiben Sie die Regeln für (f)lex auf, mit deren Hilfe Sie auf einer Binärdatei 1-er Drillinge zählen. Ein 1-er Drilling sind drei aufeinander folgende 1-er. Beispiel: 01011110111 in diesem Binärmuster sind 3 Drillinge enthalten 1111 = 2 Drillinge, 111 = 1 Drilling. Der Einfachheit halber dürfen Sie davon ausgehen, dass Sie eine Textdatei mit 0-en und 1-en vorliegen haben. 8

Aufgabe 6 Yacc / Bison 15 Punkte Gegeben sind die folgenden Syntaxregeln, die an die Syntax von CPL erinnern: program decl_part. decl_part { var_decl func_decl }+. var_decl type id_list ;. type int bool. id_list id {, id }. func_decl type id ( params ) body. params type id {, type id } ε. Geben Sie die entsprechenden Produktionen für yacc/bison an. Bedenken Sie, dass Sie die Syntaxregeln mit den EBNF-Symbolen { und } umschreiben müssen. Die Nonterminalsymbole body und id müssen Sie nicht mehr beschreiben. 9

Aufgabe 7 Semantik / Attribute 5 (3 + 2) Punkte a) Geben Sie jeweils 1 Beispiel für ein ererbtes und ein synthetisiertes Attribut für die Sprache C an. b) Attribute von Bezeichnern werden in der Symboltabelle gespeichert. Die Symboltabelle muss geschachtelte Gültigkeitsbereiche verwalten können. Nennen Sie 2 Beispiele für solche geschachtelten Gültigkeitsbereiche aus C. 10

Aufgabe 8 Laufzeitspeicherorganisation 6 Punkte Gegeben sei das folgende Pascal-ähnliche Programm: program P end P; procedure P1 procedure P11 end P11; procedure P12 end P12; end P1; procedure P2 procedure P21 end P21; procedure P22 end P22; end P2; procedure P3 procedure P31 end P31; procedure P32 end P32; procedure P33 end P33; end P3; Die Aufrufkette sieht zum Zeitpunkt t 1 aus wie folgt: P P3 P32 P31 P2. Wie sieht zum Zeitpunkt t 1 der Laufzeitstapel aus. Geben Sie die statischen Links an. 11