Übersetzerbau
Wintersemester 2009/2010
Arbeitsgruppe Programmiersprachen und Übersetzerkonstruktion
Hauptstudium
Nr. |
Art |
Termine |
Raum |
Veranstalter |
080196 |
V4 |
Di 12:15 - 14:00 |
LMS2 - R.Ü3 |
Hanus |
|
|
Do 12:15 - 14:00 |
LMS2 - R.Ü3 |
|
080096 |
Ü2 |
Mi 16:15-17:45 |
LMS2 - R.Ü1 |
Fischer |
Vorlesungsbeginn
Dienstag, 27.10.2009, 12:15 Uhr, Sem-Ü3
Zielgruppe
Studierende im Hauptstudium des Studiengangs Diplominformatik oder
im Masterstudiengang Informatik
sowie Studierende mit Nebenfach Informatik
Voraussetzungen
Grundstudium (1.-4. Semester) in Informatik
Inhalt
Die Übersetzung von Programmiersprachen ist eine wohldefinierte
aber dennoch komplexe Aufgabe. Zur Beherrschung dieser Komplexität
wurde eine Zerlegung in einzelne Übersetzungsaufgaben
entwickelt, die heute in dieser oder ähnlicher Form
in den meisten Übersetzern verwendet wird. In dieser
Vorlesung werden die einzelnen Übersetzungsaufgaben
und die bekannten Lösungsansätze dazu vorgestellt.
Im Einzelnen werden behandelt:
- Programmiersprachen, Interpreter, Übersetzer
- Lexikalische Analyse
- Syntaktische Analyse
- Semantische Analyse
- Codeerzeugung
Ergänzende Materialien zur Vorlesung
-
27.10.09: Folien zur Einführung (PDF)
-
27.10.09: Programm zur Darstellung von Simple-Programmen
(Haskell-Programm)
-
10.11.09: Recursive Descent Parser für eine einfach Anweisungssprache
(Haskell-Programm)
-
17.11.09: Recursive Descent Parser für Ausdrücke mit Fehlerbehandlung
(Haskell-Programm)
-
03.12.09: Happy-Spezifikation eines Simple-Interpreters für Zuweisungen
(Happy-Spezifikation)
-
03.12.09: Happy-Spezifikation eines Simple-Interpreters mit Ausgaben
(Happy-Spezifikation)
-
07.01.10: Modul zur Definition abstrakter Ausdrucksbäume als Zwischensprache
(IRTree.hs)
Literatur
-
A. Aho, R. Sethi, J.Ullman: Compilerbau (Teil 1 + 2),
Oldenbourg, 1999
-
A. Aho, M. Lam, R. Sethi, J.Ullman: Compilers: principles, techniques,
and tools (2nd ed.), Pearson Education, 2007
- A. Appel: Modern compiler implementation in ML, Cambridge UP, 1997
- R.H. Güting, M. Erwig: Übersetzerbau, Springer 1999
- W. Waite, G. Goos: Compiler Construction, Springer, 1984
-
R. Wilhelm, D. Maurer: Übersetzerbau: Theorie, Konstruktion, Generierung,
Springer, 1992
- N. Wirth: Grundlagen und Techniken des Compilerbaus, Oldenbourg, 2008
Prüfung
Die mündliche Modulprüfung für Bachelor- und Masterstudierende
findet am Freitag, 26.2.2010, statt.
Die Scheinprüfung für Diplomstudierende findet am Dienstag, 2.3.2010 statt.
Die genauen Prüfungszeiten werden noch individuell vereinbart.
Zur Teilnahme an den Übungen muss man sich sowohl in der
Studierendendatenbank
als auch im
iLearn-Übungssystem
anmelden. Im iLearn-Übungssystem werden auch
weitere Informationen zu den Übungen bereitgestellt.
Viele der praktischen Rechnerübungen werden in der funktionalen
Programmiersprache Haskell
implementiert.
Die Programmierung mit Haskell wird im Rahmen der
Übung
eingeführt.
Michael Hanus