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

Erfolgreiche ePaper selbst erstellen

Machen Sie aus Ihren PDF Publikationen ein blätterbares Flipbook mit unserer einzigartigen Google optimierten e-Paper Software.

5.1 ERWEITERUNG DES SPRACHUMFANGS 61wertung der Operatoren größer-gleich <strong>und</strong> kleiner-gleich eingesetzt werden können.Im SableCCGenerator sind folgende Methoden für die Verarbeitung von Gleichheits- <strong>und</strong>Vergleichstermen zuständig:MethodeoutAEqualExpressionoutABiggerSmallerExpressionoutABiggerComparisonOperatoroutABiggerOrEqualComparison-OperatoroutASmallerComparisonOperatoroutASmallerOrEqualComparison-OperatorAufgabeErstellung eines Gleichheitsterms.Erstellung eines Vergleichsterms.Erkennung eines Größer-Operators.Erkennung eines Größer-Gleich-Operators.Erkennung eines Kleiner-Operators.Erkennung eines Kleiner-Gleich-Operators.• Erweiterte Syntax des context-QuantorsFür die optionalen Parameter eines context-Quantors – zurzeit ist es nur der Hinweistext,der im Eingabedialog angezeigt wird – musste die <strong>ODL</strong>-Auswertungsklasse ContextQuantifier,der SableCCGenerator <strong>und</strong> das Interface MetaType mit allen es implementierendenKlassen angepasst werden. Damit zusammenhängende Änderungen an Query- <strong>und</strong>GUI-Klassen werden im Abschnitt 5.2 besprochen.Wir beginnen mit den Änderungen am SableCCGenerator: hier musste die Methode out-AHintExtension eingeführt werden, die den Hinweistext verarbeitet. Außerdem muss nunin der Methode caseAQuantifierUnaryProposition, die für die Verarbeitung vonQuantoren zuständig sind, im Codeabschnitt für den context-Quantor die Anwesenheit desoptionalen Parameters überprüft werden – ist dieser vorhanden, so wird er an die generierteContextQuantifier-Instanz weitergegeben.Die Klasse ContextQuantifier wurde um die Möglichkeit erweitert, einen Hinweistextoptional zu spezifizieren – ist dieser vorhanden, so wird er bei der Auswertung des context-Quantors stets an die query-Methode des Metatyps der einzugebenden Variable weitergegeben,damit er im Eingabedialog dem Benutzer angezeigt werden kann.Im Interface MetaType <strong>und</strong> seinen sämtlichen Unterklassen wurde die Methode query umden Parameter hintText erweitert, über den der Hinweistext spezifiziert wird, der in einemEingabedialog dem Benutzer angezeigt werden muss.5.1.3 Weitere ImplementierungsaspekteWir wollen nun einige weitere implementierungstechnischen Aspekte vorstellen, die sich nicht eindeutigin einem der vorherigen Abschnitte unterbringen ließen <strong>und</strong> deshalb einen eigenen Abschnittbeanspruchen.• Term-HierarchieZunächst wollen wir noch einmal auf den Aufbau der Term-Hierarchie im Package quest.odl.evaluation.model eingehen. Es wurden zwar nicht viele neue Klassen in diese Hierarchieeingefügt, sie erfuhr jedoch einige Umbaumaßnahmen, die vor Allem darauf abzielten,gemeinsame Codeabschnitte aus verwandten Klassen in gemeinsame Oberklassen auszulagern.Folgende Klassengruppen wurden einbezogen:– JunktionenDie Klassen Conjunction, Disjunction, Equivalence <strong>und</strong> Implication, dielogische Verknüpfungen zwischen zwei Termen implementieren, erhielten eine gemeinsame

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

Erfolgreich gespeichert!

Leider ist etwas schief gelaufen!