Übersetzer und sprachverarbeitende Werkzeuge
Informationen zu dieser Vorlesung sind im
KIS und im
Modulhandbuch zu finden.
Die Vorlesung wird auf Deutsch gehalten.
Inhalte der Vorlesung
- Spezifikation der Syntax von formalen Beschreibungssprachen
- lexikalische Analyse: Scannen, Scannergenerierung, Anwendung von Scannergeneratoren
- kontextfreie Analyse: Parsen, Parsergenerierung, Anwenden von Parsergeneratoren
- Arbeiten mit abstrakter Syntax
- kontextabhängige Analyse: Namensanalyse, Typanalyse, Attributierungstechniken und -werkzeuge
- Verarbeitung von XML-Dokumenten
- Übersetzungstechniken für prozedurale und objektorientierte Sprachen
- Zwischensprachen in der Übersetzung
- semantische Analyse und Optimierungstechniken
- Befehlsauswahl
- Registerzuweisung
- Kodegenerierung
- automatische Speicherverwaltung
Personen
Frau Dr. Ina Schaefer wird die Vorlesung halten.
Dipl.-Inf. Jean-Marie Gaillourdet wird die Übungen halten.
Organisatorisches
- Die Vorlesung findet montags und mittwochs von 10.00 Uhr - 11.30 Uhr in Raum 48-462 statt. Die erste Vorlesung findet am Montag den 20. April statt.
- Die praktischen Übungen werden dienstags um 17.15 Uhr in Raum 32/439 statt. Die erste Übung ist am 28.4.2009.
- Frau Schaefer bietet eine Sprechstunde bei Fragen zur Vorlesung während der Vorlesungszeit am Dienstag von 9 - 10 Uhr in Raum 32/430 an. Am 9.6., 23.6.,14.7. und 21.7. findet keine Sprechstunde statt. Bitte vereinbaren Sie einen Termin nach Bedarf.
- Der erste Termin für die mündliche Prüfung ist der 20. August. Wenn Sie an diesem Tag geprüft werden wollen, melden Sie sich bitte bis zum 15. Juli per Email oder persönlich bei Frau Stengel an. Weitere Prüfungstermine sind nach Absprache möglich.
Literatur
- A. Appel: Modern Compiler Implementation in Java, Cambridge University Press, 2002 (2nd edition), INF 466/120
- Wilhelm, R.; Maurer, D.: Übersetzerbau: Theorie, Konstruktion, Generierung, Springer, 1992. INF 466/109
Weitergehende Literatur zur Veranstaltung finden Sie auf folgender
Webseite.
Kurzpräsentationen
| Titel |
Vortragender |
Termin |
| Sprachhierarchie und Automaten |
Jan Bormann |
29.4. |
| LL-Parsergenerator ANTLR (Demo) |
Raphael Reitzig |
6.5. |
| Syntaxhighlighting |
Laura Zilles |
27.5. |
| Geschichte und Verwendung von MIPS |
Daniel Schneider |
8.6. |
| LLVM - eine Zwischensprache |
Adrian Willenbücher |
24.6. |
| GCC - Systemüberblick |
Cornelius Moucha |
10.6. |
| (2) Esoterische Programmiersprachen, z.B. Ook, Chef... |
Raphael Reitzig (15.6.) und Markus Engel (8.6.) |
8.6. / 15.6. |
| Parrot.org (a Virtual Machine e.g. for Perl) |
Michael Arndt |
24.6. |
| Optimierungen in existierenden Compilern |
Michael Geilke |
1.7. |
| Garbage Collection in der JVM |
Artun Subasi |
20.7. |
| Geschichte von XML |
Laura Zilles |
13.7. |
Unterlagen
Organisatorisches
Folien zur Organisation der Lehrveranstaltung vom 20.04.2009
Download
Vorlesungsfolien
Zusätzliche Materialen zur Vorlesung
| 1 |
Beweis für Nicht-LL(k)-Eigenschaft von CFG (Context-Free Analysis 1, Folie 45) |
Download |
| 2 |
Ausführlicher Beweis zur LR(0) Charakterisierung (Context-Free Analysis 2, Folie 87) |
Download |
| 3 |
Folien zu Katja |
Download |
| 4 |
2. Satz Folien zu Katja |
Download |
| 5 |
L-attributed Grammars |
Download |
| 6 |
MIPS Beispielprogramm |
Download |
| 7 |
Lernzieltaxonomie |
Download |
| 8 |
Zusatzfolien zu Optimizing Compilers |
Download |
| 9 |
Zusatzfolien zu Data Flow Analysis |
Download |
Fragenkatalog
Die Studierenden erarbeiten während der Veranstaltung einen Katalog von Prüfungsfragen.
| 1 |
Fragenkatalog zu den Kapiteln 1 und 2 |
Download |
| 2 |
Fragenkatalog zu Kapitel 3 |
Download |
| 3 |
Fragenkatalog zu Kapitel 4 und 6 |
Download |
| 4 |
Fragenkatalog zu Kapitel 5 |
Download |
| 5 |
Gesamter Fragenkatalog zur Vorlesung |
Download |
Übungsaufgaben
Zusätzliche Materialien zur Übung
MiniJava-Beispiele
Folien zu Subtyping und Java Generics
Framework fürs Backend