VL: Grundlagen des Compilerbaus
12 113 11551 Grundlagen des Compilerbaus
Prof. Dr. R. Loogen
Achtung: geänderte Vorlesungszeiten!
Di, 14.00 - 15.50 Uhr, HS IV (Lahnberge)
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)

Ü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. Übersetzung Objekt-orientierter Sprachen
  6. Code-Optimierung
In den begleitenden Übungen werden Compilerteile in Haskell programmiert.


Zuletzt geändert: Tuesday, 20-Nov-2007 18:51:20 CET