Freie Universität Berlin
Institut für Informatik
Ein Übersetzer ist ein Programm, das Programme einer höheren Programmiersprache in eine andere Programmiersprache (im allgemeinen Maschinensprache) überführt. In der Regel erfolgt die Übersetzung in mehreren Phasen, wovon die wichtigsten die lexikalische Analyse, die Syntaxanalyse, die semantische Analyse und die Codeerzeugung sind. Mit Hilfe der lexikalischen und syntaktischen Analyse wird das Quellprogramm in eine computergerechte Repräsentation überführt (abstrakter Syntaxbaum). Diese Repräsentation wird dann als Ausgangspunkt für Optimierungen und Codeerzeugung verwendet. Die hier vorgestellten Verfahren finden an vielen Stellen in der Informatik Anwendung. Deshalb ist diese Vorlesung auch für solche Hörer von Interesse, die nie vorhaben, einen Übersetzer zu schreiben.
Klausuraufgaben (im PDF Format)
Vorlesung :
DI, 10-12, Raum SR005 DO, 8-10, Raum SR049 Takustr. 9 |
Beginn (VL): DI, 19.10.04 |
Tutorium A : DI, 12-14, Raum SR049, Takustr. 9 |
Beginn: DI, 26.10.04 |
Tutorium B : MI, 12-14, Raum SR049, Takustr. 9 |
Beginn: MI, 27.10.04 |
Tutorium C : MI, 14-16, Raum SR049, Takustr. 9 |
Beginn: MI, 27.10.04 |
Die Aufgabenblätter werden jeweils bis donnerstags 12 Uhr ins Netz gestellt und werden in der darauffolgenden Woche in den Tutorien besprochen.
Alle Teilnehmer der Veranstaltung, die einen Leistungsnachweis erwerben möchten, müssen an der Klausur teilnehmen.
An der Wiederholungsklausur dürfen nur Studierende teilnehmen,
die die Klausur nicht bestanden haben oder den Klausurtermin aus zwingenden Gründen nicht wahrnehmen konnten
(Nachweis durch ärzliches Attest oder amtliche Bescheinigung ist erforderlich).
Kenntnisse aus ALP I - III sowie aus RO
Aho, A.V./Sethi, R./Ulmann, J.P.: Compilerbau, Addison Wesley
In der Vorlesung kann das Thema:"Automatische Generierung von Programmen für die lexikalische Analyse" nicht ausführlich behandelt werden. Auf der Seite http://www.cs.princeton.edu/~appel/modern/java/JLex/current/manual.html#SECTION1 gibt es jedoch die genaue Beschreibung von JLex, einem Tool, das zu gegebenen regulären Ausdrücken ein Javaprogramm für die entsprechende lexikalische Analyse erzeugt.