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

Erfolgreiche ePaper selbst erstellen

Machen Sie aus Ihren PDF Publikationen ein blätterbares Flipbook mit unserer einzigartigen Google optimierten e-Paper Software.

Kapitel 7Die ZielstrukturDie Aufgabe des <strong>Compiler</strong>s ist es, aus <strong>eine</strong>m Programm in der vorhergehend definierten Sprache <strong>eine</strong>Ausgabe in der Programmiersprache C++ zu generieren. Die genaue Beschreibung der Klassen undMethoden, die dabei verwendet werden, findet sich in Abschnitt 2.4.Dieses Kapitel beginnt damit die einzelnen Sprachkonstrukte kurz aufzuführen und die entsprechendenAusgaben in der Zielsprache aufzuführen ohne weiter auf deren Semantik einzugehen.7.1 ProgrammkopfUnabhängig von der <strong>Ein</strong>gabe erzeugt der <strong>Compiler</strong> zunächst <strong>eine</strong>n Programmkopf, der für alle <strong>Ein</strong>gabemöglichkeitenstets gleich bleibt. Basierend auf C++ werden hier benötigte Dateien eingebundenund grundlegend benötigte Variablen definiert und deren Existenz überprüft. Die Abbildung 7.1 zeigtdiesen Ausschnitt aus dem C++ -Quellcode, der vom <strong>Compiler</strong> ausgegeben wird. Es zeigt sich dietypische Gestalt <strong>eine</strong>s C++ -Programms: Zunächst wird die notwendige Datei build.H eingebunden.In ihr werden die später implementierten Methoden BuildGraph und BuildSimpleTypesdeklariert. Am Ende der Abbildung sieht man den Beginn der Definition der Funktion BuildGraph.Der Programmkopf wird hier der Vollständigkeit wegen aufgeführt. Er stammt aus den Ergebnissender PG290 [Pro97] und ist zwingender Bestandteil der Ausgabe.7.2 Der SpezifikationsteilDer Spezifikationsteil der Sprache besteht aus mehreren ineinander geschachtelten Blockstrukturen,die jede für sich zu spezifischen Ausgaben führt.7.2.1 SchemadefinitionDie erste Blockstruktur, von der mehrere hintereinander auftauchen dürfen und die zu <strong>eine</strong>r Ausgabeführt, ist die Schemadefinition:SCHEMA CS.Angio...END_SCHEMA37

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

Erfolgreich gespeichert!

Leider ist etwas schief gelaufen!