Parser-Generator für XML-basierte Sprachen

von Stefan Beermann, 2001

Bei XML handelt es sich um eine Metasprache in der beliebige, hierarchisch strukturierte (Text-)Dokumente notiert werden können. Eine Dokumenttypdefinition (DTD) spezialisiert die allgemeine Metasprache für eine Klasse artverwandter Dokumente, indem sie einen festen Vorrat von Grundelementen für die Dokumentinstanzen in dieser Klasse vorgibt. Außerdem legt eine DTD fest, in welcher Weise die Elemente zu Hierarchien kombiniert werden dürfen. Damit beschreibt eine DTD die zulässigen Strukturbäume ihrer Dokumentinstanzen. Dies ist analog zur Syntaxanalyse in einem Übersetzer, bei der eine kontextfreie Grammatik die zulässigen Ableitungsbäume für den Quelltext vorgibt.

Werkzeuge zur Verarbeitung von XML-Dokumenten werden in der Regel zur Laufzeit mit der zu verwendenden DTD und der zu verarbeitenden Dokumentinstanz parametrisiert. Als Werkzeugsystem für die Konstruktion von Übersetzern verfolgt das Eli-System hingegen einen anderen Ansatz. Es spezialisiert den erzeugten Übersetzer bereits zur Generierungszeit für eine bestimmte zu verarbeitende Textstruktur und die zu lösende Transformationsaufgabe. Daraus resultieren Geschwindigkeitsvorteile für den erzeugten Übersetzer und ein höheres Abstraktionsniveau bei der Aufgabenbeschreibung.

In dieser Studienarbeit sollte der Ansatz und die Funktionalität des Eli-Systems für die Verarbeitung von XML-Dokumenten nutzbar gemacht werden. Dazu sind die in der DTD formulierten Anforderungen an zulässige Dokumentinstanzen in die Kalküle zu übertragen, die vom Eli-System zur Spezifikation eines Übersetzers verwendet werden. Diese Umwandlung nimmt ein im Rahmen der Studienarbeit in Java zu entwickelndes Konverterprogramm vor. Damit kann zu einer gegebenen DTD vom Eli-System ein Übersetzer generiert werden, der Dokumente bezüglich dieser DTD überprüft, und leicht um zusätzliche Verarbeitungsschritte erweitert werden kann.

Genauere Informationen finden Sie in der Ausarbeitung

Impressum | Webmaster | Letzte Änderungen am : 16.10.2013