# CompilerNichtHaskell ## Teamrollen - Scanner & Parser: Julian Kraus und Laurenz Schleicher - Semantische Analyse: Juha Ahmad - Code-Generierung: Simon Wittmann - Testen: Jonathan Fleischmann ## Erbrachte Leistungen - Laura Schleicher: Grammatik entwickeln, Records, Statements als Liste zurückgeben, Generator, Syntactic Sugar auflösen - Julian Kraus: Grammatik entwickeln, Generator, Syntactic Sugar auflösen - Ahmad Juha: Typcheck - Simon Wittmann: Codegen und Tool für ASM - Jonathan Fleischmann: Tests ## Fehlende Tests für Features (positive Tests) - Main-Methode - Klammern von Expressions ## Besonderheiten unserer Implementierung - Zugriff auf Felder nur über `this`-Referenz möglich - `print()`statt `System.out.println()` - keine Accessmodifier/alles ist public - logische Statements MÜSSEN geklammert werden, ansonsten wird ununterbrochen von links nach rechts berechnet (so würde z.B. (true || false == false) false zurückgeben) - i++ und i-- sind nicht erlaubt, stattdessen i = i + 1 und i = i - 1 bzw i += 1 und i -= 1