Praktikum Compilerbau
Betreuung
Prof. Dr. Peter Thiemann, Dipl.-Inform. Matthias Neubauer
Termine
Mi, 11-13 Uhr und 14-16 Uhr, SR 00-018, Geb. 079
Übungen
Voraussetzungen
abgeschlossenens Grundstudium, frühere erfolgreiche Teilnahme oder paralleler Besuch der Spezialvorlesung "Compilerbau"
Ziele und Inhalt
Ziel des Praktikums ist es, einen funktionsfähigen Übersetzer für (einen signifikanten Ausschnitt von) JavaScript zu implementieren. Als Implementierungssprache werden wir OCaml einsetzen. Zielsprache zur Codeerzeugung ist eine portable Sprache mit C-ähnlicher Syntax (C--), aus der unter anderem ausführbare Programme für i386-Linux erzeugt werden können.
Erster Meilenstein des Praktikums ist die Erstellung eines Übersetzers einer sehr eingeschränkten Teilmenge von JavaScript. Von diesem Ausgangspunkt kann je nach Interessensgebiet die behandelte Quellsprache, die Infrastruktur des Übersetzers, die Codeerzeugung oder das Laufzeitsystem erweitert werden. Mögliche Themen für Erweiterungen sind:
- geschachtelte Funktionsdefinitionen
- anonyme Funktionen
- Ausnahmebehandlung
- Objektsystem
- statische Flussanalyse/Typinferenz
- automatische Speicherverwaltung mit Hilfe eines Garbage Collectors
- maschinenabhängige Codeverbesserungen
Nützliche Links
- EcmaScript
- OCaml
- C--
- The C-- Language Specification Version 2.0 (PS, PDF)
- The Quick C-- Compiler