Anforderungen an Compilerbau Projekt Zu schreiben ist ein Compiler, der eine eigene Quellsprache in eine Maschinensprache übesetzt. Die erzeugten Maschinenprogramme müssen ausführbar sein. (Assmblerprogramme in der Regel mit einer c-main gelinkt, JVM Programmen auf der JVM ausfürhbar.) Als Maschinensprache, kommen Assembler, JVM Byte-Code oder Intermediate Language in Frage. Als Implementierungssprache sind Java, Haskell, C#, C, C++ ... denkbar. Als Generatortool sind Parsergeneratoren wie antlr, javacc, sablecc, bisom/flex, happy denkbar. Es muss eine ausreichende Menge von Beispiel-/Testprogramme geben. Sprachfeatures der Quellsprache: Muss: Ausdrücke der Arithmetik, Vergleiche Bool'sche Operatoren mit Operator-Präzedenzen Fallunterscheidung (z.B. mit if) Funktionsdefinitionen und Funktionsaufrufe. Rekursive Funktionen. Ausbaustufe: veränderbare Variablen Schleifen strukturierte Daten Bei der Generierung von Java Byte Code sind strukturierte Daten Pflicht. Bewertungsrahmen: Gibt es unterschiedliche Typen, die gecheckt werden? Wie komplex ist die Quellsprache? Wie ausführlich ist das Testszenario? Gibt es strukturierte Daten? Wurden Optimierungen durchgeführt? (Tail Call?) Lässt sich der Compiler gut verwenden und eigene Programm übersetzen und ausführen? Wie gut ist das Benutzerhandbuch?