Grundlagen des Compilerbaus
12 113 11551 Grundlagen des Compilerbaus
Prof. Dr. R. Loogen
Di, 16.15 - 18.00 Uhr, HS IV (Lahnberge), am 3.11.: HS II
Mi, 10.20 - 12.00 Uhr, HS IV (Lahnberge), am 27.01.: HS V
Achtung:Am Mittwoch, dem 27. Januar findet die Vorlesung im HS V (ehemals IIIa) statt!
Beginn: 13.10.2009
Übungen Mischa Dieterle
Fr, 10.15 - 12.00 Uhr, HS V (Ebene D4, Lahnberge)
Achtung: Am Freitag, dem 22. Januar fällt die Übung aus!
Beginn: 16.10.2009
Bitte melden Sie sich über diesen Link online zur Vorlesung an!
Fachgebiet Klassifikation Semester Leistungspunkte Skript
Informatik Hauptstudium, theoretische Informatik, Systementwicklung >=3 9 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 bzw. eine Modulbescheinigung muss zusätzlich ein Kolloquium (mündliche Abschlussprüfung) bestanden werden.
Prüfungsanmeldung: Die (verbindliche) Anmeldung zur Abschlussprüfung findet in den Vorlesungen am 12. und 13. Januar 2010 statt.
Kolloquiumstermine: Die mündlichen Prüfungen finden in der ersten Woche der vorlesungsfreien Zeit statt. Nach der Prüfungsanmeldung können Sie sich in den Übungen in Terminlisten eintragen.


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

Blatt 1, 14.10.2009
Blatt 2, 21.10.2009
Blatt 3, 28.10.2009  
-NFA.hs (Aufgabe 3.1)
-Alex Beispiel aus der Übung: alexstrings.x
-While-Beispielprogramm (Aufgabe 3.2)
Blatt 4, 11.11.2009  
Blatt 5, 18.11.2009  
-Alex Scanner: ScanWhilePart.x
-Datentyp für abstrakten Syntaxbaum: ProgTypePart.hs
-While-Beispielprogramm (neu): Wtest2.txt
Blatt 6, 25.11.2009  
-Alex Scanner: ScanWhile.hs
-Datentyp für abstrakten Syntaxbaum: ProgType.hs
-Datentyp für abstrakten Syntaxbaum: WhileParsecPart.hs
-While-Beispielprogramm (neu): Wtest3.txt
Blatt 7, 2.12.2009  
Blatt 8, 16.12.2009  
Blatt 9, 13.01.2010  
-While Scanner: ScanWhile.hs
-While Parser: WhileParsec.hs
-Datentyp für abstrakten Syntaxbaum: ProgType.hs
-MA Emulator: Machine.hs
-While-Beispielprogramm: Wtest3.txt
Blatt 10, 27.01.2010  
Blatt 11, 03.02.2010  


Links: Programmiersprache Haskell: (Linux: /app/lang/functional/bin, Windows: M:\2008WS\Loogen\ghc-6.8.3 )

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: Thursday, 25-Feb-2010 19:43:55 CET