Implementierung von Programmiersprachen (Praktikum)

Ziel dieses Praktikums ist die Implementierung einer kleinen Programmiersprache. Dazu erarbeiten wir in der ersten Semesterhälfte durch konkrete Programmieraufgaben verschiedene relevante Themen, zum Beispiel syntaktische Prüfung, Typprüfung, Zwischenstufen (ANF, SSA, CPS, …), Kontrollfluss, und so weiter. Jeder Teilnehmer muss mindestens einmal die Lösung einer Hausaufgabe vorstellen. In der zweiten Semesterhälfte wählt jeder Teilnehmer in Absprache mit dem Veranstalter einen Teil einer existierenden oder selbst entworfenen Programmiersprache aus und implementiert diesen Teil.

Die Programmieraufgaben in der ersten Semesterhälfte müssen mit der Programmiersprache Haskell bearbeitet werden. Für das abschließende Projekt kann auch eine andere Programmiersprache gewählt werden. Wir empfehlen Programmiersprachen mit Unterstützung für algebraische Datentypen (z.B. Scala, Haskell, Racket, …).

Lernziele

  • Studierende können eine einfache Programmiersprache selbstständig implementieren.

  • Studierende verstehen wie die einzelnen Komponenten der Implementierung einer Programmiersprache zusammenwirken.

  • Studierende verknüpfen ihr Wissen über die Auswahl und Verwendung von Programmiersprachen mit Kenntnissen über die Implementierung von Programmiersprachen.

  • Studierende setzen Methoden der Softwaretechnik (Testen, Benchmarking, Versionskontrolle, Code Review, …) ein.

Voraussetzungen

Ein vorheriger oder paralleler Besuch der Vorlesung “Programmiersprachen 1” ist hilfreich aber nicht notwendig.

Vorbesprechung

Donnerstag, den 17. Oktober 2024 um 16:15 in A302.

Anmeldung

Die Anmeldung erfolgt per Email an Philipp Schuster
Researcher
Philipp Schuster
bis Donnerstag, den 31.10.2024 Ende des Tages.

Die Email muss enthalten: Email, Name, Matrikelnummer, Studiengang, angestrebter Abschluss.

Dozenten