Lehrstuhl Informatik II   
Sprachen und Beschreibungsstrukturen      
   Home Lehre Sommersemester 11 Vorlesungen Compilerbau I login

Compilerbau I

Dozent:Dr. Axel Simon und Dr. Michael Petter
Ort/Zeit:E 126 Institut f. Medizintechnik (5701.EG.026) Mi 14:00
ModulNummer:IN2227
Beschreibung:    Einführung in den Compilerbau, mit der Übersetzung einer imperativen Sprache.
Übung Compilerbau Hier werden wir einen kleinen Compiler für C bauen, und Euch ein bisschen theoretischer fordern/foltern.

Aktuelles:

Sie können Sich nun einen Termin für die (mündliche) Wiederholungsprüfung aussuchen!

Die Termine für die mündliche Wiederholungsprüfung stehen nun fest. Bitte finden Sie sich am Dienstag den 27. September zu folgenden Zeitpunkten im Wartebereich vor dem Sekretariat des Lehrsuhls 2 ein (gegenüber Raum Nummer MI 02.07.052):

Name Uhrzeit
Michael 10:30
Miroslav 11:15
Leo 12:45
Ludwig 13:30
Tobias 14:15
Florian 18:00

Inhalt:

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, später während der Codeerzeugung finden bei der Registerverteilung etwa approximative Methoden zur Graphfärbung Verwendung.

Die Vorlesung gliedert sich dabei in folgende Abschnitte:

  1. Übersicht über Compilerbau
  2. Lexikalische Analyse:
    Von regulären Ausdrücken zu NFAs
    Scannerdesign mit NFAs
  3. Syntaktische Analyse
    Kontextfreie Sprachen & Kellerautomaten
    Item-Kellerautomat & Recursive Descent Parsing
    Shift-Reduce Parsing & LR(1) Parser
  4. Semantische Analyse
    Attributauswertung
    Typüberprüfung
  5. Codegenerierung
    Registerallokation
    Generierungsschemata
  6. Optimierungen

Anschließend betrachten wir weniger standardisierte Teilaufgaben eines Compilers, wie z.B. die Typüberprüfung von Programmen.

Aufzeichnungen / Skript:

Aufzeichnungen gibts hier

Die Folien der Vorlesung 2010 gibt es hier bzw. als Handout.

Die Folien des 1. Teils für 2011 gibt es hier.

Die Folien des 2. Teils für 2011 gibt es hier.

Neben den Folien gibt es auch noch eine Zusammenfassung, die die Codeerzeugung für die R-CMa beschreibt.



TUM - Lehrstuhl Informatik II (Sprachen und Beschreibungsstrukturen) Thanks: Tango and TinyMCE     Generationszeit: 11 ms