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
Der Raum und die Zeit eines ersten Treffens in der ersten Vorlesungswoche wird an dieser Stelle bekannt gegeben werden.
Anmeldung
Die Anmeldung erfolgt per Email an Philipp Schuster
ResearcherPhilipp Schuster bis Donnerstag, den
31.10.2024 Ende des Tages.
Die Email muss enthalten: Email, Name, Matrikelnummer, Studiengang, angestrebter Abschluss.