Vorlesungsankündigung

(Sommersemester 2001)

Prof. Dr. Helmut Seidl:

Compilerbau

Prof. Dr. Helmut Seidl - Übersetzerbau - Informatik
Ein Compiler ist ein wesentlicher Bestandteil der Systemsoftware, dessen Aufgabe darin besteht, Programme einer höheren Programmiersprache - etwa C oder Java - in Folgen von Maschinenbefehlen eines realen Rechners zu übersetzen. Compiler sind relativ komplexe Programme; bei ihrer Konstruktion finden die Ideen und Methoden aus vielen Bereichen ihre Verwendung. Die ersten beiden Phasen etwa, die lexikalische bzw. syntaktische Analyse des Eingabeprogramms sind eine beliebte Spielwiese für Verfahren aus dem Bereich der formalen Sprachen, während später während der Codeerzeugung bei der Registerverteilung etwa approximative Methoden zur Graphfärbung Verwendung finden. Die Vorlesung gliedert sich dabei in folgende Abschnitte. Nach einer kurzen Übersicht über die einzelnen Komponenten eines Compilers und deren Aufgaben werden wir untersuchen, wie man C-Programme in Code für eine (leicht idealisierte) Hardware, die C-Maschine, übersetzen kann. Danach wenden wir uns den Techniken zu, wie eine solche Übersetzung realisiert werden kann. Insbesondere behandeln wir die klassischen Gebiete des Compilerbaus, die Methoden zur lexikalischen und syntaktischen Analyse von Programmen. Anschließend betrachten wir weniger standardisierte Teilaufgaben eines Compilers, wie die Typüberprüfung von Programmen, die Registerverteilung und die Instruktionsselektion. Die Vorlesung wendet sich an StudentInnen des Hauptstudiums.

Literatur:


Termine:

Vorlesung: Montag 12-14 Uhr, V 301 und Donnerstag 12-14 Uhr, V 301

Übung: Freitag 10-12 Uhr, E 50

A C H T U N G !

In der 1. Woche findet diese Veranstaltung gemeinsam mit der Vorlesung
"Abstrakte Maschinen" statt. Dienstag, 17.04.01, 14-16 Uhr, HS 2