5 Parser
Team: Andreas Scott, Alexander Hegener
Es soll eine nicht-graphische einfache, imperative Sprache als
Eingabesprache erlaubt sein. Die Sprache soll in Mist so unterstützt
werden, daß man textuelle Spezifikationen eingeben kann, ohne daß man auf
die graphische Darstellung verzichten muß. Die graphische Darstellung der
Zustände wird von Mist berechnet.
Ein Vorschlag für eine konkrete Syntax findet sich in
Abschnitt A. Im ersten Schritt der Transformation
(in diesem Modul) wird das textuelle Programm geparst und als abstrakter
Syntaxbaum (ohne graphische Platzierung) dargestellt.
Die Implementierung wird JLex und CUP verwenden, welche
auf ~unix01 installiert sind.
Schnittstelle
Mit der Gui (Abschnitt 2). Es wird eine Methode
parse_file zur Verfügung gestellt. Der Parameter ist ein String,
welcher die Datei bezeichnet, die das Programm enthält. Die Dateien sollen
als Standard-Extension .mist-besitzen. Der Parser kann die
Ausnahme Parser_Exception werfen. Wünschenswert ist, wenn der
Parser zumindest die Zeilennummer des Fehlers in der Ausnahme zurückgibt.
Eine weitere Schnittstelle ist vom Editor
(Abschnitt 3) gefordert: Das Parserpaket soll für den Editor
das parsen eines Ausdruckes (also einer absynt.Expr)
bereitstellen. Die Eingabe soll ein String sein. Bei Fehlschlag soll
eine Ausnahme geworfen werden.
©Public License