Vorlesungsankündigung

(Sommersemester 1999)

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 MODULA oder C - 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 10-12 Uhr, V 301
Mittwoch 12-14 Uhr, V 301
Übung:
Donnerstag 10-12 Uhr, V 301