24.08.2013 Aufrufe

Download - FESG - Technische Universität München

Download - FESG - Technische Universität München

Download - FESG - Technische Universität München

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.3 SPRACHDESIGN: ANYTHING TO XML (A2X) 147<br />

Eine Sonderform einer Kante ist die Markierung eines Endzustands () für den Block, in dem diese Kante angewandt wird. Wird diese Kante genutzt,<br />

so wird an den übergeordneten Block zurückübergeben, bzw. dort der Durchlauf<br />

beendet.<br />

Um eine erhöhte Flexibilität zu geben und damit auch Bedingungen aus den Bedingte Kantenübergänge<br />

Kontextzusammenhängen zu ermöglichen, wurden für eine Kante auch Elemente<br />

zur Aussagenlogik in der Art einer herkömmlichen IF-Anweisung integriert. Sie<br />

bestehen in A2X aus den Teilen (logische Vergleich), (wird<br />

ausgeführt, wenn der Vergleich wahr ist) und (wird ausgeführt, wenn der<br />

Vergleich falsch ist). Diese Teile sind im Element vereinigt. Der IF- und<br />

der optionale ELSE-Teil setzen sich wieder aus einer Kantenbeschreibung zusammen,<br />

so wie sie vorweg beschrieben wurde. Besonderes Augenmerk sollte man<br />

darauf werfen, dass sich die Verzweigung durch die Klammerung anhand der Auszeichnungen<br />

als eindeutig erweist und somit das Problem des „Dangling Else“<br />

nicht auftreten kann. Dabei handelt es sich bei herkömmlichen Sprachen um die<br />

Problematik, dass ein optionaler ELSE-Zweig bei geschachtelten Konstruktionen<br />

nicht mehr eindeutig zugeordnet werden kann 38 . Durch die in XML vorgeschriebenen<br />

Endemarken in der Auszeichnung ist aber die Zuordnung eines folgenden<br />

ELSE-Zweiges eindeutig zu einem vorausgehenden IF-Zweig gegeben.<br />

Bei der Bedingung selbst wird eine Variable () oder eine Kon- Bedingungen in Form von Aussagenlogik<br />

stante () in vergleichende Beziehung zu einer anderen Variable oder Konstante<br />

gesetzt (atomare Formel der Aussagelogik). Die möglichen Vergleichsoperationen<br />

sind in Tabelle 5.3 auf Seite 147 dargestellt. Es ist auch möglich, mehrere<br />

Verknüpfungen von Bedingungen (Kompositionen mit oder<br />

verknüpfen) in eine Art Klammerkonstrukt zu setzen () und so<br />

geschachtelte Abfragen zu ermöglichen. Weiter kann eine Komposition auch negiert<br />

werden. Aus der Verbindung all dieser Elemente wird die komplette Syntax<br />

der Aussagenlogik erbracht, welche als induktiver Prozess aus atomaren Formeln<br />

und darauf wirkenden Disjunktionen (), Konjunktionen () und Negationen<br />

() entsteht 39 .<br />

A2X-Vergleichsoperation Beschreibung<br />

lt kleiner als („“, „greater than“)<br />

!lt nicht kleiner als entspricht größer oder gleich („>=“)<br />

!eq nicht gleich entspricht kleiner oder größer („!=“)<br />

!gt nicht größer als entspricht kleiner oder gleich („

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

Erfolgreich gespeichert!

Leider ist etwas schief gelaufen!