Jegliche Software bzw. Computerprogramme auf unseren Computer werden in einer Programmiersprache geschrieben. Die Programmiersprachen spezifizieren den Ablauf von Rechenprozessen. Bevor ein Programm laufen kann, muss die Quellsprache sinngemäß in eine Befehlsfolge übersetzt werden, damit es vom Computer ausgeführt werden kann. Die Computerprogramme, die diese Übersetzung durchführen, werden Compiler genannt. Ein Compiler übersetzt - weshalb es auch Übersetzer genannt wird - ein in einer Quellsprache geschriebenes Programm in gleichbedeutende Sätze einer Zielsprache, das Zielprogramm. [ALSU07, S. 2] Der Bereich des Compilerbaus, also die Programmierung eines Compilers, hat eine lange Tradition in der Informatik. Es ist eine eigenständige Disziplin innerhalb der Informatik und gilt als das älteste Gebiet der praktischen Informatik. Ihre Grundlagen gehen auf die Automatentheorie und die formalen Sprachen zurück. [BH98, S. 3]
Die Übersetzung erfolgt in einer Folge von Phasen, die jeweils verschiedene Teilaufgaben des Compilers übernehmen. Jede Phase verwandelt das zu übersetzsende Programm von einer Darstellungsform in eine andere. Abb. 1.1 stellt die Übersetzungsphasen im Überblick dar. [GE99, S. 3] Im Wesentlichen lassen sich zwei Hauptphasen unterscheiden, die Analysephase und die Synthesephase. Die Analysephase zerlegt den Quelltext in seine Bestandteile und gibt ihm eine grammatische Struktur. Anhand des analysierten Quelltexts wird einen attribuierten Syntaxbaum erzeugt. Diese Zwischendarstellung wird zusammen mit einer Symboltabelle, in welcher Informationen über den Quelltext gesammelt werden, der Synthesephase übergeben. Bei der Synthese wird aus der Zwischendarstellung und den Informationen in der Symboltabelle das gewünschte Zielprogramm erzeugt. Der Teil des Compilers, der sich mit der Analyse, Strukturierung und Fehlerüberprüfung befasst, wird oft als Front-End bezeichnet, und der für die Synthese zuständige Teil ist als Back-End bekannt. [ALSU07, S. 2]
In dieser Arbeit wird der Fokus auf den Front-End Bereich gesetzt, vor allem auf die syntaktische und die semantische Analyse. Schwerpunkt der Arbeit ist die syntaxgerichtete Übersetzung, die im Kapitel 2 ausführlich erläutert wird. Die Übersetzungstechniken, die im 2. Kapitel besprochen werden, werden zur Durführung der Typüberprüfung im Kapitel 3 benützt. Die Arbeit wird mit einer Zusammenfassung abgeschlossen.
Inhaltsverzeichnis
- Von der Quellsprache zur Zielmaschine
- 1 Von der Quellsprache zur Zielmaschine
- Syntaxgerichtete Übersetzung
- 2.1 Syntaxgerichtete Definition
- 2.2 Auswertungsreihenfolge für syntaxgerichtete Definitionen
- 2.3 Verfahren zur syntaxgerichteten Übersetzung
- 2.4 Implementierung von L-attributierten syntaxgerichteten Definitionen
- Typüberprüfung
- 3.1 Typsysteme
- 3.2 Regeln für die Typüberprüfung
- 3.3 Spezifikation eines einfachen Typüberprüfers
- Zusammenfassung
Zielsetzung und Themenschwerpunkte
Diese Arbeit befasst sich mit der syntaxgerichteten Übersetzung und der Typüberprüfung im Kontext von Compilerbau. Der Fokus liegt auf der Analysephase eines Compilers, insbesondere auf der syntaktischen und semantischen Analyse. Die Arbeit erläutert die Konzepte der syntaxgerichteten Übersetzung und demonstriert, wie diese Techniken zur Durchführung der Typüberprüfung eingesetzt werden können.
- Syntaxgerichtete Übersetzung als Methode zur Programmiersprachenübersetzung
- Anwendung von attributierten Grammatiken zur Verbindung von semantischen Regeln mit Produktionen
- Untersuchung verschiedener Notationen für die Verbindung von semantischen Regeln mit Produktionen
- Implementierung von L-attributierten Übersetzungen, die Analyse und Übersetzungsschritte verzahnen
- Einsatz der syntaxgerichteten Übersetzung für die Typüberprüfung
Zusammenfassung der Kapitel
- Kapitel 1: "Von der Quellsprache zur Zielmaschine" gibt einen Überblick über den Compilerbau und die verschiedenen Übersetzungsphasen, die ein Compiler durchläuft. Der Fokus liegt auf der Analysephase, die den Quelltext in seine Bestandteile zerlegt und ihm eine grammatikalische Struktur verleiht.
- Kapitel 2: "Syntaxgerichtete Übersetzung" führt das Konzept der syntaxgerichteten Übersetzung ein, die auf attributierten Grammatiken basiert. Es werden verschiedene Notationen und Verfahren zur Verbindung von semantischen Regeln mit Produktionen erläutert.
Schlüsselwörter
Syntaxgerichtete Übersetzung, Compilerbau, Attributierte Grammatiken, Semantische Regeln, Typüberprüfung, L-attributierte Übersetzungen, Analysephase, Übersetzungsphasen, Zielsprache, Quellsprache.
- Quote paper
- Marco Castillo (Author), 2009, Syntaxgerichtete Übersetzung und Typüberprüfung bei Computern, Munich, GRIN Verlag, https://www.grin.com/document/154886