VL: Grundlagen des Compilerbaus
12 113 11551 Grundlagen des Compilerbaus
Prof. Dr. R. Loogen
Achtung: Am Mittwoch, dem 30. Januar findet die Vorlesung im HS II statt!
Di, 14.00 - 15.50 Uhr, HS IV (Lahnberge), am 30.01.: HS II
Mi, 9.20 - 10.45 Uhr, HS IV (Lahnberge)
Beginn: 16.10.2007
übungen Mischa Dieterle, Jost Berthold
Fr, 11.15 - 13.00 Uhr, HS I (Ebene D3, Lahnberge) und 14.15 - 16.00 Uhr, SR V (Ebene D5, Lahnberge)
Beginn: 19.10.2007
Fachgebiet Klassifikation Semester Fortsetzung Skript
Informatik Hauptstudium, theoretische Informatik, Systementwicklung >=3 - ja

Voraussetzungen: Grundvorlesung Theoretische Informatik (Automatentheorie und Formale Sprachen), Grundkenntnisse in funktionaler Programmierung mit Haskell
Scheinkriterien: Voraussetzungen für einen unbenoteten Schein:
  1. aktive Teilnahme an den Übungen
  2. erfolgreiche Bearbeitung von mindestens 50 % der Übungsaufgaben
  3. Vorbereitung und mündliche Präsentation mindestens einer Übungsaufgabe
Für einen benoteten Schein muss zusätzlich eine Klausur bestanden werden.


Klausurtermin: Mittwoch, 06.02.2008, 9.00 - 11.00 Uhr, HS IV (Lahnberge)
Klausurergebnis: Aushang auf Ebene D5 gegenüber dem Informatik-Sekretariat
Notenskala:
| >= 50 | >= 48 || >= 46 | >= 42 | >= 40 || >= 38 | >= 34 | >= 32 || >= 30 | >= 26 ||  < 26 | 
|-------|-------||-------|-------|-------||-------|-------|-------||-------|-------||-------|
|  1,0  |  1,3  ||  1,7  |  2,0  |  2,3  ||  2,7  |  3,0  |  3,3  ||  3,7  |  4,0  ||  5,0  | 
|-------|-------||-------|-------|-------||-------|-------|-------||-------|-------||-------|
|   2   |   1   ||   1   |   0   |   0   ||   0   |   1   |   3   ||   0   |   7   ||   9   |

Von 24 Teilnehmern haben 15 bestanden.
    
Klausureinsicht und -rückgabe: Dienstag, 12.02.2008, 11.00 - 12.00 Uhr, SR V (Lahnberge)
Die Modulbescheinigungen und die Klausuren können im Sekretariat auf Ebene D5 abgeholt werden.
Nachholklausur: Dienstag, 18.03.2008, 9.00 - 11.00 Uhr, HS IV (Lahnberge)
Klausurergebnis: Aushang auf Ebene D5 gegenüber dem Informatik-Sekretariat
Notenskala:
| >= 54 | >= 52 || >= 50 | >= 46 | >= 44 || >= 42 | >= 38 | >= 36 || >= 34 | >= 30 ||  < 30 | 
|-------|-------||-------|-------|-------||-------|-------|-------||-------|-------||-------|
|  1,0  |  1,3  ||  1,7  |  2,0  |  2,3  ||  2,7  |  3,0  |  3,3  ||  3,7  |  4,0  ||  5,0  | 
|-------|-------||-------|-------|-------||-------|-------|-------||-------|-------||-------|
|   1   |   0   ||   2   |   0   |   0   ||   1   |   0   |   0   ||   2   |   1   ||   2   |

Von 9 Teilnehmern haben 7 bestanden.
    
Klausureinsicht und -rückgabe: Dienstag, 25.03.2008, 14.00 - 15.00 Uhr, Büro von Mischa Dieterle (Raum 5422, Ebene D5, Lahnberge)
Die Modulbescheinigungen und die Klausuren können danach im Sekretariat auf Ebene D5 abgeholt werden. Unbenotete Scheine werden nur auf Antrag ausgestellt.

Übungsblätter: ...erscheinen mittwochs. Die Aufgaben sind am darauffolgenden Mittwoch abzugeben.

Blatt 1, 17.10.2007 (Postscript, PDF)
Blatt 2, 24.10.2007 (Postscript, PDF)
Blatt 3, 31.10.2007 (Postscript, PDF)
Definitionen zu Aufgabe 3.1 mit Auswertungsfunktionen für NFAs
Alex Beispiel aus der Übung: alexstrings.x
Blatt 4, 07.11.2007 (Postscript, PDF)
Blatt 5, 14.11.2007 (Postscript, PDF)
SDDFA Grammatik: SDDF.ps.gz
Baum-Datenstruktur (Zielstruktur des Parser): dataSDDFTree.hs
Eden-Trace Dateien im SDDFA-Format: kleiner Trace, eine Maschine
großer Trace, 23 Maschinen
Blatt 6, 21.11.2007 (Postscript, PDF)
Blatt 7, 28.11.2007 (Postscript, PDF)
Blatt 8, 05.12.2007 (Postscript, PDF)
Blatt 9, 12.12.2007 (Postscript, PDF)
Blatt 10, 19.12.2007 (Postscript, PDF)
Alex Scanner WhileScanPos.x
Die MA-Machine.hs
Blatt 11, 16.01.2008 (Postscript, PDF)
Blatt 12, 23.01.2008 (Postscript, PDF)
Altklausuren: WS 2003/2004, WS 2005/2006


Links: Programmiersprache Haskell: (Linux: /app/lang/functional/bin, Windows: M:\2005WS\Loogen\ )

Werkzeuge: Compiler-Entwicklung mit Haskell Compiler-Dinosaurier (Vorbilder für Alex und Happy)

Vorlesungsunterlagen:

Literatur:
  • A. Aho, R. Sethi, J. Ullman: Compilers - Principles, Techniques, and Tools Addison-Wesley 1986
  • R. Wilhelm, D. Maurer: Übersetzerbau: Theorie, Konstruktion, Generierung, Springer Verlag 1992.
  • A. Appel: Modern Compiler Implementation in ML/Java/C++, Addison-Wesley 1998.
  • Bauer/Höllerer: Übersetzung objektorientierter Programmiersprachen, Springer Verlag 1998.
  • W. Waite, G. Goos: Compiler construction Springer 1984
  • Watt/Brown: Programming Language Processors in Java, Prentice Hall 2000


Inhalt: Compiler übersetzen Programme aus höheren Programmiersprachen in ausführbaren Maschinencode. In der Vorlesung sollen Konzepte und Methoden, die für die verschiedenen Phasen von Compilern entwickelt wurden, vor- und gegenübergestellt werden. Im einzelnen werden folgende Themen behandelt:
  1. Lexikalische Analyse
  2. Syntaktische Analyse
  3. Semantische Analyse
  4. Zwischencode-Erzeugung
  5. Code-Optimierung
  6. Übersetzung Objekt-orientierter Sprachen
In den begleitenden übungen werden Compilerteile in Haskell programmiert.


Zuletzt geändert: Tuesday, 18-Mar-2008 17:53:10 CET