VL: Grundlagen des Compilerbaus
VL 12068 Grundlagen des Compilerbaus
Prof. Dr. R. Loogen
Di, 9.00-11.30 Uhr, HS I (Lahnberge)
Beginn: 21.10.2003 , ab 4.11.: 9 Uhr s.t.
UE 12069
TutorTerminRaumInfos
Jost Berthold Mo, 11:15-12:45 UhrHörsaal I (Ebene D3, Lahnberge) Verschiedene Dateien zu den Übungsaufgaben
Björn Metzler Mo, 12:30-14 UhrHörsaal III (Ebene D3, Lahnberge)
Beginn: 27.10.2003
Fachgebiet Klassifikation Semester Fortsetzung Skript
Informatik Hauptstudium, theor. Inform. und prakt. Inform. >=3 - in Unterverzeichnis "./Script"

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. erfolgreiche Präsentation der Lösungen von mindestens drei Übungsaufgaben
Für einen benoteten Schein muss zusätzlich eine Klausur bestanden werden.
Klausurtermin: 19.2.2004, 13:30 Uhr, HS I Lahnberge
Klausureinsicht: Mi, 25.2.2004, 15:00 Uhr, SR V Lahnberge
Klausurergebnisse hängen vor Frau Loogens Büro aus.


Übungsblätter: Blatt 1, 27.10.2003 (Postscript, PDF)
Blatt 2, 03.11.2003 (Postscript, PDF)   NFA-Definition
Blatt 3, 10.11.2003 (Postscript, PDF)   RExp-Definition
Blatt 4, 17.11.2003 (Postscript, PDF)   Alex-Beispiele   Alex-Anleitung
Blatt 5, 24.11.2003 (Postscript, PDF)
Blatt 6, 01.12.2003 (Postscript, PDF)
Blatt 7, 08.12.2003 (Postscript, PDF)   Aufgabe 7.5 zurückgestellt!
Blatt 8, 15.12.2003 (Postscript, PDF)
Blatt 9, 12.01.2004 (Postscript, PDF)
Blatt 10, 19.01.2004 (Postscript, PDF)   ProgType.hs   Happy-Anleitung   Happy-Beispiele
Blatt 11, 26.01.2004 (Postscript, PDF)
Blatt 12, 02.02.2004 (Postscript, PDF)
Blatt 13, 09.02.2004 (Postscript, PDF) nur mündliche Aufgaben
Beispieldateien/Folien: Top-Down Parser (Kombinator Parser) für arithmetische Ausdrücke: parser.hs
Beispieldateien und Anleitung für Scanner-Generator Alex
Beispieldateien für Parser-Generator Happy
Folien zur Codeerzeugung: PSA-Sprache (PS, PDF), PSP-Sprache (PS, PDF), Beispiel mit PSP (PS, PDF)
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
Werkzeuge: Compiler-Entwicklung mit Haskell Compiler-Dinosaurier(Vorbilder für Alex und Happy)
Links: Haskell - Installation und Grundlagen


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
In den begleitenden Übungen werden Compilerteile in Haskell programmiert.


Zuletzt geändert: Monday, 23-Feb-2004 09:35:25 CET