Baumübersetzer sind ein ausdrucksstarker Formalismus um Daten, die in Baumstrukturen vorliegen, zu analysieren. Praktische Anwendungen reichen von XSLT-artigen Dokumentumstrukturierungen zu Übersetzungen natürlicher Sprache. Bedeutende Problemstellungen für Übersetzer sind zu entscheiden, ob zwei Übersetzer äquivalent sind, eine Normalform konstruiert werden kann, es eine semantische Charakterisierung gibt und Typüberprüfung, d.h., zu überprüfen, ob die erzeugten Ausgaben gegebene strukturelle Bedingungen erfüllen. Diese Dissertation befasst sich mit diesen Fragen für wesentliche Baumübersetzerklassen. Wir stellen konstruktive Lösungen bereit und identifizieren Übersetzerklassen, für die diese Algorithmen nur polynomielle Zeit benötigen.
Zur semantischen Charakterisierung von deterministischen Aufwärts-Baumübersetzern (deterministic bottom-up tree transducers) präsentieren wir ein Myhill-Nerode Theorem. Bezüglich Normalisierung und Äquivalenztest zeigen wir, dass für jeden solchen Übersetzer ein eindeutiger äquivalenter Übersetzer konstruiert werden kann, der minimal ist. Wenn jeder Zustand eines deterministischen Aufwärts-Baumübersetzers entweder keine oder unendlich viele Ausgaben produziert, kann der minimale Übersetzer in polynomieller Zeit konstruiert werden.
Im Allgemeinen ist Typüberprüfung von Zwei-Wege-Baumübersetzern (tree walking transducers) extrem aufwändig. Es ist bekannt, dass dieses Problem bereits für einfache Abwärts-Baumübersetzer (top-down tree transducers) EXPTIME-vollständig ist.
Basierend auf vorwärtsgerichteter Typinferenz zeigen wir, dass man Typüberprüfung in polynomieller Zeit durchführen kann, wenn (1) der Ausgabetyp mittels eines deterministischen Automaten gegeben ist und (2) der Zwei-Wege-Baumübersetzer jeden Knoten eines Eingabebaums höchstens begrenzt oft besucht. Wenn der Baumübersetzer zusätzlich mit Wertparametern (call-by-value) ausgestattet ist, hängt die Komplexität außerdem (exponentiell) von der Anzahl der Parameter ab. In diesem Fall wird ein schneller approximativer Typüberprüfungsalgorithmus präsentiert, der auf kontextfreien Baumgrammatiken basiert. Zum Schluß wird dieser Ansatz von Bäumen auf Zwei-Wege-Waldübersetzer verallgemeinert. Diese Übersetzer erlauben zusätzlich Konkatenation als Operation auf Ausgabebäumen.
«
Baumübersetzer sind ein ausdrucksstarker Formalismus um Daten, die in Baumstrukturen vorliegen, zu analysieren. Praktische Anwendungen reichen von XSLT-artigen Dokumentumstrukturierungen zu Übersetzungen natürlicher Sprache. Bedeutende Problemstellungen für Übersetzer sind zu entscheiden, ob zwei Übersetzer äquivalent sind, eine Normalform konstruiert werden kann, es eine semantische Charakterisierung gibt und Typüberprüfung, d.h., zu überprüfen, ob die erzeugten Ausgaben gegebene strukturelle B...
»