13.07.2015 Aufrufe

Diplomarbeit Ein Compiler f¨ur eine ... - Patrick Koehne

Diplomarbeit Ein Compiler f¨ur eine ... - Patrick Koehne

Diplomarbeit Ein Compiler f¨ur eine ... - Patrick Koehne

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.

Kapitel 4<strong>Ein</strong>leitungAnwendungsprogrammgeneratoren sind Softwaresysteme, die zu den verschiedensten Arten von ProblemenProgramme zu deren Lösung generieren können. Typische Beispiele für solche Anwendungensind sogenannte Report-Programme, die aus bestimmten Daten unterschiedlichster Herkunft Protokolleoder Statistiken erzeugen können. Solche Programme können in der Regel systematisch aufgebautwerden, indem die Quelldaten und die Protokolldaten genau beschrieben werden. Um verschiedensteProtokolle oder Statistiken erzeugen zu können, würden die unterschiedlichsten solcherReport-Programme benötigt werden. <strong>Ein</strong> Anwendungsprogrammgenerator kann solche Programmeerzeugen, indem spezifiziert wird, wie die Quelldaten extrahiert werden können und wie das Layoutder Ausgabe aussehen soll. Der Begriff des Anwendungsprogrammgenerators wurde ursprünglich fürdie Definition von Datenbankwerkzeugen in [HKN85] geprägt. Cleaveland [Cle88] generalisierte dasPrinzip der Anwendungsprogrammgeneratoren und deutet dabei auf die Zusammenhänge zu <strong>Compiler</strong>nhin. Er beschreibt auch Werkzeuge, die diese <strong>Compiler</strong> konstruieren. Bei [Kru92] werden Anwendungsprogrammgeneratorenals <strong>eine</strong> von vielen Möglichkeiten der Software-Wiederverwertungdiskutiert. Die Grundlagen und Ideen für die Spezifizierung solcher Anwendungsprogrammgeneratorenwurden schon zu viel früherer Zeit gelegt. Bereits 1952 wurden algorithmische Umwandlungenvon Ausdrücken in maschinen-orientierte Formen beschrieben [Rut52], kontextfreie Grammatikentauchten 1956 [Cho56] auf und wurden zur Spezifikation im Algol 60 Report [alg63] benutzt. KontextfreieGrammatiken wurden zunächst mittels rekursiven Abstiegs von Hand in Code übersetzt, <strong>eine</strong>Methode, die auch heute noch angewendet wird [McC72].Die <strong>Ein</strong>gabe für <strong>eine</strong>n solchen Anwendungsprogrammgenerator kann als <strong>eine</strong> Spezifikation innerhalb<strong>eine</strong>s genau eingegrenzten Problemfeldes angesehen werden. Sie wird mittels <strong>eine</strong>r vorgegebenenSpezifikationssprache beschrieben. <strong>Ein</strong> Anwendungsprogrammgenerator ist demzufolge ein Übersetzerfür <strong>eine</strong> solche Sprache. Somit müssen für den Bau von Anwendungsprogrammgeneratorendieselben Techniken angewandt werden, die für die Spezifikation von Sprachen genutzt werden.Eli [GHL' 92, WHK88, Wai94, Kas94, Kas96] ist ein integriertes Werkzeugset für die Sprachenimplementierung.Es besteht aus <strong>eine</strong>r Vielzahl von generierten Werkzeugen und Bibliotheken, diebei der Wiederverwendung <strong>eine</strong> große Zahl von Aufgaben aus der Sprachenimplementierung bereitsabdecken.27

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

Erfolgreich gespeichert!

Leider ist etwas schief gelaufen!