Eine Entwicklungs-Umgebung für kontext-freie Grammatiken

Bachelorarbeit

Der Entwurf der Syntax ist eine der zentralen Aufgaben bei der Entwicklung von Sprach-Implementierungen z.B. für anwendungsspezifische Sprachen. Zur Beschreibung der syntaktischen Struktur der Quelltexte wird die konkrete Syntax benötigt. Zur Spezifikation der Strukturbäume entwirft man die abstrakte Syntax und die Abbildung von der konkreten auf die abstrakte Syntax. In dieser Arbeit soll ein Werkzeug entwickelt werden, das den Grammatik-Entwurfsprozeß unterstützt. Hauptziel ist es, auch Nicht-Experten im Sprachentwurf in die Lage zu versetzen, gute syntaktische Spezifkationen ihrer Sprachen konstruieren zu können. Ein weiteres Ziel ist es, ein solches Werkzeug in der Lehre (Grundlagen der Programmiersprachen, Programming Languages and Compilers) in Praxisphasen einsetzen zu können. Das zu entwickelnde Werkzeug soll den typischen Top-Down-Entwurfsprozess für konkrete und abstrakte Grammatiken unterstützen. Grundlegende Anforderungen sind:
  • Grafische Bedienoberfläche zur Grammatik-Eingabe und -Manipulation
  • Unterstützung der Grammatik-Entwickung etwa durch Cross-Referencing von Symbolen durch Highlighting
  • Bereitstellung typischer Grammatik-Schablonen, wie Optionen oder Folgen mit Trenner
  • Begleitende Analyse von eindeutiger Wurzelung und Terminalisierbarkeit
  • Unterstützung des Entwurfs der abstrakten Syntax, z.B. durch Angabe von Äquivalenzklassen
Das Werkzeug soll Grammatikausgabe im Eli-Format erzeugen, so dass die konkrete Syntax und die Abbildung auf die abstrakte Syntax vom Eli-System weiterverarbeitet werden können. Es soll im Rahmen dieser Arbeit implementiert und praktisch erprobt werden. Zu den für die schriftliche Ausarbeitung zu erarbeitenden Grundlagen soll ein Überblick über vergleichbare Entwurfsumgebungen aus der Literatur gehören.

Bearbeiter: Benjamin Raddatz
Betreuer: U. Kastens

Impressum | Webmaster | Letzte Änderungen am : 16.10.2013