Übersetzerbau
Sommersemester 2006
Lehrstuhl für Programmiersprachen und Übersetzerkonstruktion
Hauptstudium
| Nr. | Art | Termine | Raum | Veranstalter
|
|---|
| 080196 | V4 | Di 12:15 - 14:00 | LMS2 - Sem-Ü1 | M. Hanus
|
| | | Do 8:15 - 10:00 | LMS2 - Sem-Ü1 |
|
| 080199 | Ü2 | Mi 16:15 - 17:45 | CAP3-I | M. Hanus, F. Huch
|
Vorlesungsbeginn
Dienstag, 11.4.2006, 12:15 Uhr, Sem-Ü1
Zielgruppe
Studierende im Hauptstudium des Studiengangs Diplominformatik,
des Bachelor- oder Masterstudiengangs Informatik
sowie Studierende mit Nebenfach Informatik
Voraussetzungen
Grundstudium 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
- 11.4.06: Folien zur Einführung (PDF)
- 11.4.06: Programm zur Darstellung von Simple-Programmen
(Haskell-Programm)
- 30.5.06: Happy-Spezifikation eines Simple-Interpreters für Zuweisungen
(Happy-Spezifikation)
Literatur
- A. Aho, R. Sethi, J.Ullman: Compilerbau (Teil 1 + 2),
Oldenbourg, 1999
- 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: Compilerbau - Eine Einführung, Teubner, 1986
Weitere Literatur wird in der Vorlesung bekanntgegeben.
Viele der praktischen Rechnerübungen werden in der funktionalen
Programmiersprache Haskell implementiert.
Diese Programmiersprache wird im Rahmen der Vorlesung und Übung
eingeführt.
Informationen zu den Übungen und zur Benutzung von Haskell kann man
hier
finden.
Michael Hanus