Eine vergleichende Literaturstudie über Compilergeneratoren


In den letzten Jahren sind zahlreiche Compilergeneratoren entwickelt worden, die sich hinsichtlich ihrer Mächtigkeit und Benutzungsfreundlichkeit teilweise erheblich voneinander unterscheiden. Ziel dieser Diplomarbeit ist ein, die wichtigsten dieser Werkzeuge zu beschreiben und zu vergleichen. Im einzelnen umfaßt das folgende Aufgaben:

  • Führen Sie eine ausführliche Internet-Recherche nach Compilergeneratoren (die auch unter den Begriffen Compiler-Compiler, Parsergenerator, etc. aufscheinen) durch. Suchen Sie insbesondere nach Bibliographien zu solchen Werkzeugen und versuchen Sie herauszufinden, welche dieser Werkzeuge die populärsten sind.
  • Erstellen Sie eine möglichst vollständige Liste aller gefundenen Compilergeneratoren und beschreiben Sie jeden durch einige Zeilen.
  • Erstellen Sie eine ausführliche Beschreibung von mindestens 5 der populärsten Compilergeneratoren. Dazu gehören JavaCC, ANTLR, Eli, Byacc und Coco/R.
  • Erstellen Sie für Teilaufgabe 3 einen detaillierten Kriterienkatalog, an Hand dessen die Werkzeuge miteinander verglichen werden sollen.
  • Implementieren Sie mit allen in Teilaufgabe 3 beschriebenen Compilergeneratoren einen Compiler für die Sprache, die im Anhang zu dieser Aufgabenstellung definiert wird. Vergleichen Sie diese Implementierungen hinsichtlich Lesbarkeit und Unterstützung durch das verwendete Werkzeug. Die Implementierung soll in C# erfolgen. Verwenden Sie die C#-Version von Coco/R.

Der Fortgang der Arbeit soll in 14-tägigem Abstand mit dem Betreuer besprochen werden. Bei der Implementierung ist neben der Korrektheit und Robustheit des Programms auch auf guten Programmierstil zu achten. Für die Ausarbeitung der Diplomschrift sind die Richtlinen der Abteilung Systemsoftware zu beachten.

Betreuer: o.Univ.-Prof. Dr. Hanspeter Mössenböck
Bearbeiter: Mansky Christian
Ausgabe: Mai 2003