Vorlesungsankündigung
(Sommersemester 2004) Montags 12:15-13:45 Uhr und Mittwochs 10:15-11:45 Uhr im HS 2
Compilerbau
SCHEINVERGABE / PRÜFUNG / KLAUSUR
Kriterium zur Vergabe eines unbenoteten Scheins:
- mind. 50% der Punkte der Übungsaufgaben
Kriterium zur Vergabe eines benoteten Scheins:
- mind. 50% der Punkte der Übungsaufgaben
- bestehen einer mündl. Prüfung
Die mündl. Prüfungen finden am Di. 27. Juli in Raum 02.07.044 statt.
Die Anmeldung erfolgt in Raum 02.07.052 (Sekretäriat)
Inhalt:
Ein Compiler ist ein wesentlicher Bestandteil der Systemsoftware, dessen Aufgabe darin besteht, Programme einer h�eren 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 fr Verfahren aus dem Bereich der formalen Sprachen, w�rend sp�er w�rend der Codeerzeugung bei der Registerverteilung etwa approximative Methoden zur Graphf�bung Verwendung finden.
Die Vorlesung gliedert sich dabei in folgende Abschnitte:
Nach einer kurzen �ersicht ber die einzelnen Komponenten eines Compilers und deren Aufgaben wenden wir uns den Techniken zu, wie eine �ersetzung realisiert werden kann. Insbesondere behandeln wir die klassischen Gebiete des Compilerbaus, die Methoden zur lexikalischen und syntaktischen Analyse von Programmen.
Anschlie�nd betrachten wir weniger standardisierte Teilaufgaben eines Compilers, wie die Typberprfung von Programmen, die Registerverteilung und die Instruktionsselektion. Die Vorlesung wendet sich an StudentInnen des Hauptstudiums.
Literatur:
- Aho, Sethi, Ullmann: Compilers. Principles, Techniques and Tools. Addison-Wesley, 1985
- Wilhelm, Maurer: �ersetzerbau. Theorie, Konstruktion, Generierung. Springer-Lehrbuch, 1992
- Steven S. Michnick: Advanced Compiler Design and Implementation. Morgan Kaufmann, 1997
Termine:
Beginn: Montag, den 19. April
Vorlesung: Montag 12:15-13:45 Uhr und Mittwoch 10:15-11:45 Uhr, H�saal 2
Übung: Di. 10:15-11:45, Di. 12:15-13:45 Uhr, Do 12:15-13:45
Uhr, Fr 10:15-11:45, 02.07.014
Aufzeichnungen:
Die aufgezeichneten Vorlesungen befinden sich im TeleTeachingTool-Archiv.
Folien:
- Vorlesung am 19. April 2004:
PS,
PDF
- Vorlesung am 21. April 2004:
PS,
PDF
- Vorlesung am 26. April 2004:
PS,
PDF
- Vorlesung am 28. April 2004:
PS,
PDF
- Vorlesung am 3. Mai 2004:
PS,
PDF sowie:
PS,
PDF
- Vorlesung am 10. Mai 2004:
PS,
PDF
- Vorlesung am 12. Mai 2004:
PS,
PDF
- Vorlesung am 17. Mai 2004:
PS,
PDF
- Vorlesung am 24. Mai 2004:
PS,
PDF
- Vorlesung am 26. Mai 2004:
PS,
PDF
- Vorlesung am 2. Juni 2004:
PS,
PDF
- Vorlesung am 7. Juni 2004:
PS,
PDF
- Vorlesung am 9. Juni 2004:
PS,
PDF
- Vorlesung am 14. Juni 2004:
PS,
PDF
- Vorlesung am 16. Juni 2004:
PS,
PDF
- Vorlesung am 21. Juni 2004:
PS,
PDF
- Vorlesung am 23. Juni 2004:
PS,
PDF
- Vorlesung am 28. Juni 2004:
PS,
PDF
- Vorlesung am 30. Juni 2004:
PS,
PDF
- Vorlesung am 5. Juli 2004:
PS,
PDF
- Vorlesung am 7. Juli 2004:
PS,
PDF
- Vorlesung am 12. Juli 2004:
PS,
PDF
- Vorlesung am 19. Juli 2004:
PS,
PDF
- alle Folien zusammen:
PS,
PDF
Übungen:
Alexandru Berlea und Peter Ziewer
Abgabe der Lösungen jeweils montags bis 12 Uhr per
e-mail oder im Raum 02.07.53/55
- Übungsblätter:
Übung | Abgabetermin |
Blatt 1: PS, PDF | 3. Mai 2004 |
Blatt 2: PS, PDF | 10. Mai 2004 |
Blatt 3: PS, PDF | 17. Mai 2004 |
Blatt 4: PS, PDF | 24. Mai 2004 |
Blatt 5: PS, PDF | 2. Juni 2004 |
Blatt 6: PS, PDF | 7. Juni 2004 |
Blatt 7: PS, PDF | 14. Juni 2004 |
Blatt 8: PS, PDF | 21. Juni 2004 |
Blatt 9: PS, PDF | 28. Juni 2004 |
Blatt 10: PS, PDF | 5. Juli 2004 |
Blatt 11: PS, PDF | 12. Juli 2004 |
- Zusatzmaterialien:
Tools:
VAM:
Visualisierungstool für Abstrakten Maschinen