Teamprojekt: The Construction of an SASL-Compiler

Lab Course
Readers
Tim FischerChristian DutaDenis Hirn

Projektbeschreibung

Was passiert tatsächlich, wenn ihr den Compiler für eure Lieblingssprache auf Quellcode loslasst? Hier findet ihr darauf eine Antwort für die nicht-strikte funktionale Programmiersprache SASL.

Basierend auf einem ausführlichen Tutorial werdet ihr einen vollständigen Compiler (mit Lexer, Parser und Optimizer) selbst bauen und somit ein Gefühl dafür entwickeln, was alles passieren muss, bevor die Programme einer höheren Sprache tatsächlich ausgeführt werden können.

Der Code, den euer Compiler erzeugen wird, ist auf einer simplen virtuellen Maschine (SK-Reduction Machine) ausführbar, die ebenfalls Teil eurer Anstrengungen sein wird.

Am Ende werdet ihr eine einfache aber vollständige Implementierung eines Compilers und einer virtuellen Maschine für SASL in den Händen halten.

Ziele

Vollständige Implementierung eines Compilers und einer virtuellen Maschine für SASL

  • Lexer, Parser, Optimizer
  • Einfache Ausführungsmaschine (SK-Reduction Machine)

Inhalte

  • Die funktionale Programmiersprache SASL
  • Compilerbau
  • Design-Patterns für Compilerbau

Technische Grundlagen

  • Java
  • Nicht nötig, aber von Vorteil ist die Kenntnis einer funktionalen Programmiersprache (Scheme/Racket, Haskell, Scala, …)