Suchen und Finden

Titel

Autor/Verlag

Inhaltsverzeichnis

Nur eBooks für mein Endgerät anzeigen:

 

Newsletter

Grundlagen und Techniken des Compilerbaus

Grundlagen und Techniken des Compilerbaus

von: Niklaus Wirth

Oldenbourg Wissenschaftsverlag GmbH, 2008

ISBN: 9783486585810, 204 Seiten

2. Auflage

Format: PDF, OL

Mac OSX,Windows PC Apple iPad, Android Tablet PC's Online-Lesen für: Linux,Mac OSX,Windows PC

Preis: 21,80 EUR

Ersparnis: 3,00 EUR

  • Marketing - Grundlagen für Studium und Praxis
    Moderne Marketingpraxis
    Graphentheorie - Eine anwendungsorientierte Einführung
    Praktische Informationstechnik mit C#
    Marketing und Marktforschung. Lehr- und Arbeitsbuch für die Aus- und Weiterbildung

     

     

     

     

 

Mehr zum Inhalt

Grundlagen und Techniken des Compilerbaus


 

9 Eine RISC-Architektur als Zielrechner (S. 61-62)

Es ist in der Tat bemerkenswert, daß ein Compiler bis zu diesem Grad ohne Kenntnis des Computers entwickelt werden konnte, für den er Code erzeugen soll. Aber aus welchem Grunde sollte die Struktur der Zielmaschine die Strategie der syntaktischen Analyse und der Fehlerbehandlung beeinflussen? Ganz im Gegenteil muß eine solche Beeinflussung sogar bewußt vermieden werden. Statt dessen wird eine geeignete Art der Codegenerierung für einen beliebigen Computer nach dem Prinzip des schrittweisen Ausbaus auf das bestehende Gerüst des Compilers superponiert. Bevor wir diesen Schritt in Angriff nehmen können, ist es allerdings nötig, daß wir uns auf eine Zielmaschine und damit einen Zielcode der Übersetzung festlegen.

Um den Compiler verhältnismäßig einfach gestalten zu können und die Entwicklung nicht mit unwichtigen Einzelheiten zu belasten, die lediglich durch spezielle Eigenschaften des gewählten Computers bedingt sind, postulieren wir einen Computer nach unserer eigenen Wahl. Daraus ergibt sich der beträchtliche Vorteil, daß er auf die Bedürfnisse der Quellsprache zugeschnitten werden kann. Dieser Computer existiert zwar nicht als reale Maschine, wir nennen ihn daher virtuell. Da jeder Computer jedoch stets Befehle nach einem bestimmten Rezept (Algorithmus) ausführt, läßt er sich als Programm spezifizieren. Ein realer Computer kann sodann benützt werden, um gemäß diesem Programm erzeugten Code zu interpretieren, daher wird das Programm ein Interpreter genannt. Der hypothetische Computer wird durch den Interpreter emuliert. Er besitzt daher zumindest eine semi-reale Existenz.

Es ist nicht das Ziel dieser Ausführungen, auf die Beweggründe einzugehen, die zur Wahl der nachfolgend beschriebenen Computerstruktur samt ihren Einzelheiten geführt haben. Vielmehr soll dieses Kapitel als eine Art beschreibendes Manual dienen, das aus einer informalen Einführung und einer formalen Definition des Computers durch das Interpreter-Programm besteht. Diese Formalisierung mag sogar als einfaches Beispiel für eine exakte algorithmische Beschreibung von Prozessoren aufgefaßt werden.

Bei der Definition des Rechners haben wir uns absichtlich stark an das Konzept der RISC-Architektur angelehnt. Die Abkürzung RISC steht für reduced instruction set Computer, und das Prädikat »reduziert« gilt bezüglich der bis ca. 1980 dominanten Architekturen mit großen Sätzen von komplexen Instruktionen. Es ist hier nicht der Ort, um die Vorteile der RISC-Architektur zu erklären. Attraktiv ist sie hier besonders wegen der Einfachheit und Klarheit der Konzepte, welche die Beschreibung des Befehlssatzes und die Wahl von Instruktionsfolgen für bestimmte Sprachkonstrukte vereinfachen. Die hier gewählte Architektur ist fast identisch mit derjenigen von Hennessy und Patterson mit der Bezeichnung DLX [HePat92]. Die Abweichung erklärt sich aus unserem Wunsch nach Systematik. Unter den reellen Rechnern liegt die Struktur des ARM-Rechners der nachfolgend postulierten am nächsten.