11.07.2015 Aufrufe

ODL-Sprachkonstrukte und interaktive Benutzerschnittstelle - TUM

ODL-Sprachkonstrukte und interaktive Benutzerschnittstelle - TUM

ODL-Sprachkonstrukte und interaktive Benutzerschnittstelle - TUM

MEHR ANZEIGEN
WENIGER ANZEIGEN

Sie wollen auch ein ePaper? Erhöhen Sie die Reichweite Ihrer Titel.

YUMPU macht aus Druck-PDFs automatisch weboptimierte ePaper, die Google liebt.

5.1 ERWEITERUNG DES SPRACHUMFANGS 53non_constant_expression =functional_expression |selector_expression |defined_variable;constant_expression =bool_constant_expr |string_constant_expr;Es wurde also eine Unterscheidung zwischen konstanten Ausdrücken, nicht-konstanten Ausdrücken<strong>und</strong> arithmetischen Ausdrücken gemacht, wobei ganzzahlige Konstanten zu den arithmetischenAusdrücken <strong>und</strong> nicht zu den konstanten Ausdrücken gehören (andernfalls ließ sichkeine Grammatik erstellen, die von SableCC verarbeitet werden kann). Zu den konstantenAusdrücken gehören boolesche Konstanten <strong>und</strong> Zeichenketten, zu den nicht-konstanten Ausdrückenzählen Selektorausdrücke, deklarierte Variablen <strong>und</strong> funktionelle Ausdrücke. Letzteredürfen zurzeit noch nicht eingesetzt werden – bei ihrer Verwendung wird vom SableCCGeneratoreine UnsupportedConstructException erzeugt.• Erweiterte Syntax des context-QuantorsFür den context-Quantor wurde eine Erweiterung eingeführt, über die optionale Parameterspezifiziert werden können, die das Aussehen des Eingabedialogs für die vom context-Quantor geb<strong>und</strong>ene Variable beeinflussen. Zurzeit ist nur die Angabe eines Hinweistextes fürden Eingabedialog möglich.quantifier =ccl_quantifier |context context_extension?;context_extension =[ hint_extension? ];hint_extension =hint = string_constant_expr_list;Hierbei ist string_constant_expr_list eine durch Kommata getrennte Liste aus eineroder mehreren Zeichenketten. Sie wird wie folgt definiert:string_constant_expr_list =string_constant_expr string_constant_expr_list_tail*;string_constant_expr_list_tail =, string_constant_expr;5.1.2 Implementierung erweiterter <strong>und</strong> neuer <strong>Sprachkonstrukte</strong>Dieser Abschnitt stellt die Implementierung der Erweiterung des <strong>ODL</strong>-Sprachumfangs im <strong>ODL</strong>-Auswertungssystem dar. Wir werden die Änderungen an vorhandenen <strong>ODL</strong>-Auswertungsklassensowie neue <strong>ODL</strong>-Auswertungsklassen beschreiben. Des Weiteren zeigen wir die Änderungen amSableCCGenerator, die notwendig waren, um die neuen <strong>ODL</strong>-Auswertungsklassen einsetzen zukönnen.• TypsystemDas <strong>ODL</strong>-Typsystem ist vom Java-Typsystem soweit wie möglich abgekoppelt <strong>und</strong> hat eigeneTyp-Klassen, die den Typ eines Werts beschreiben. Ein Typklassen-Name wird nach

Hurra! Ihre Datei wurde hochgeladen und ist bereit für die Veröffentlichung.

Erfolgreich gespeichert!

Leider ist etwas schief gelaufen!