13.07.2015 Aufrufe

ein generischer Ansatz zur Layout-Spezifikation - Lehr- und ...

ein generischer Ansatz zur Layout-Spezifikation - Lehr- und ...

ein generischer Ansatz zur Layout-Spezifikation - Lehr- und ...

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. Implementierung ausgesuchter Prozessoren5.3. Implementierung ausgesuchter ProzessorenZiel bei der Auswahl der zu implementierenden Prozessoren war es <strong>ein</strong>erseits, aus den Prozessoren<strong>ein</strong>en durchgängigen Prozeß bilden zu können, <strong>und</strong> andererseits Prozessoren mit <strong>ein</strong>em interessantenVerhalten bzw. mit <strong>ein</strong>er interessanten Implementierung herauszugreifen.5.3.1. Klassifikation der verwendeten RegelsprachenEin solcher interessanter Gesichtspunkt ist die vom Prozessor verwendete Regelsprache. Hier wurdenzwei Klassen von Regelsprachen gebildet: bestehende Regelsprachen <strong>und</strong> eigene, anwendungsspezifischeRegelsprachen.5.3.1.1. Definition der Transformationen mit bestehenden RegelsprachenFür feststehende Transformationen, bzw. für Transformationen, die nur sehr selten geändert werden,wurden die Transformationsanweisungen direkt in bestehenden Regelsprachen formuliert. Beispielehierfür sind das Pruning <strong>und</strong> das Flatten, die <strong>ein</strong>fach nach <strong>ein</strong>em vorgegebenen Algorithmus arbeiten.Transformationen, die sich häufig ändern, konnten direkt mit bestehenden Regelsprachen definiertwerden, wenn diese Sprachen die Möglichkeit boten, Transformationen sehr <strong>ein</strong>fach <strong>und</strong> übersichtlichzu definieren. Ein Beispiel hierfür ist der <strong>Layout</strong>beschreibungsbaum in XQuery.5.3.1.2. Definition der Transformationen mit eigenen, anwendungsspezifischenRegelsprachenFür <strong>ein</strong>e Reihe von Aufgabestellungen, bei denen häufig Änderungen vorgenommen werden müssen,war jedoch <strong>ein</strong>e direkte Defininition der Transformationen in den meisten der bestehenden Regelsprachenzu komplex <strong>und</strong> zu schlecht wartbar.Vergleicht man in Abbildung 5.5 die beiden Ausschnitte aus den Regeln zum Hinzufügen von Trenntexten– <strong>ein</strong>mal in fxt <strong>und</strong> <strong>ein</strong>mal in <strong>ein</strong>er eigenen (XML-basierten) Sprache – so wird der Vorteil<strong>ein</strong>er eigenen, maßgeschneiderten Regelsprache recht deutlich.Auf die Implementierung von Auswertern für die eigenen Regelsprachen wurde verzichtet. Stattdessenwurden Übersetzer in bestehende Regelsprachen implementiert.Da die verwendeten bestehenden Regelsprachen alle auf XML aufbauen, wurden die eigenen Regelsprachennoch in Sprachen, die auf XML aufbauen <strong>und</strong> in andere unterschieden: Die anderen Sprachenmüssen vor der Übersetzung zunächst in <strong>ein</strong> XML-Dokument transformiert werden, um von den aufXML basierten Werkzeugen übersetzt werden zu können.5.3.1.2.1. Regelsprachen, die auf XML aufbauen Die Übersetzer für diese Regelsprachensind in fxt oder XSLT formuliert, die Sprachen, in die übersetzt wird, sind jeweils dieselben.Mit der Implementierung von PEP wurden folgende Regelsprachen <strong>ein</strong>geführt:PEP ¢¡¤£¦¥¨§©<strong>zur</strong> Definition von <strong>Layout</strong>beschreibungsbäumenPEP ¡¤¡©¥¨ <strong>zur</strong> Definition der Regeln zum Hinzufügen der Trenntexte61

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

Erfolgreich gespeichert!

Leider ist etwas schief gelaufen!