In dieser Veranstaltung soll ein Compiler für eine funktionale Programmiersprache entwickelt werden. Hierbei orientieren wir uns an der Programmiersprache Haskell. Die im Seminarteil erarbeiteten theoretischen Grundlagen sollen dabei im Übungsteil in die Praxis umgesetzt werden.
Die typische Vorgehensweise beim Übersetzen einer funktionalen Programmiersprache ist folgende:
Die einzelnen Phasen der Übersetzung sollen in Kleingruppen bearbeitet werden, so dass am Ende ein möglichst vollständiger Übersetzer von einer funktionalen Programmiersprache nach C vorliegt. Beginnen wollen wir in dieser Veranstaltung mit der Übersetzung der Kernsprache. Je nach Teilnehmerzahl können aber auch zusätzliche höhere Sprachkonstrukte (z.B. Pattern Matching, Listenbeschreibungen) hinzugenommen werden.
Entsprechend dem Thema der Veranstaltung, soll der Übersetzer selbst in einer funktionalen Sprache entwickelt werden. Hier bietet sich natürlich Haskell an.
Das Seminar und die Übung bauen direkt aufeinander auf, daher ist eine Teilnahme an beiden Veranstaltungen erforderlich.
Implementing Functional Languages
Prentice Hall, 1992
The Implementation of Functional Programming Languages
Prentice-Hall, 1987
The C Programming Language. 2. ed.
Prentice Hall, 1988
Frequency | Weekday | Time | Format / Place | Period |
---|
Degree programme/academic programme | Validity | Variant | Subdivision | Status | Semester | LP | |
---|---|---|---|---|---|---|---|
Naturwissenschaftliche Informatik / Diplom | (Enrollment until SoSe 2004) | PSÜ | HS |