19305201
Lecture
WiSe 14/15: Übersetzerbau
Elfriede Fehr
Information for students
Additional information / Pre-requisites
Grundkenntnisse in Automatentheorie, Formalen Sprachen, Rechnerorganisation und Programmiersprachen
Comments
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 dieses Thema auch für solche Hörer von Interesse, die nie vorhaben, einen Übersetzer zu schreiben.
close
Suggested reading
Zur Beschaffung empfohlen:
- Alfred V. Aho, Monica S. Lam, Ravi Sethi, Jeffrey D. Ullman: Compilers - Principles, Techniques , & Tools, Pearson International Edition, 2007
Die deutsche Version wegen Mängel in der Übersetzung nicht so sehr zu empfehlen:
- Alfred V. Aho, Monica S. Lam, Ravi Sethi, Jeffrey D. Ullman: Compiler, Pearson Studium, 2008
Weitere, ergänzende Literatur:
- Helmut Seidl: Compilerbau, TUM, SS08
- Pat D Terry: Compiling with C# and Java, Pearson Education 2005
- Reinhard Wilhelm, Dieter Maurer: Übersetzerbau - Theorie, Konstruktion, Generierung, Springer-Verlag, 2. Auflage 1997
- Niklaus Wirth: Grundlagen und Techniken des Compilerbaus, 3. Auflage, Oldenbourg-Verlag, 2011
31 Class schedule
Additional appointments
Thu, 2015-02-12 08:00 - 10:00Klausur
Thu, 2015-04-09 10:00 - 12:00
Nachklausur
Regular appointments
Tue, 2014-10-14 08:00 - 10:00
Tue, 2014-10-21 08:00 - 10:00
Tue, 2014-10-28 08:00 - 10:00
Tue, 2014-11-04 08:00 - 10:00
Tue, 2014-11-11 08:00 - 10:00
Tue, 2014-11-18 08:00 - 10:00
Tue, 2014-11-25 08:00 - 10:00
Tue, 2014-12-02 08:00 - 10:00
Tue, 2014-12-09 08:00 - 10:00
Tue, 2014-12-16 08:00 - 10:00
Tue, 2015-01-06 08:00 - 10:00
Tue, 2015-01-13 08:00 - 10:00
Tue, 2015-01-20 08:00 - 10:00
Tue, 2015-01-27 08:00 - 10:00
Tue, 2015-02-03 08:00 - 10:00
Tue, 2015-02-10 08:00 - 10:00
Thu, 2014-10-16 10:00 - 12:00
Thu, 2014-10-23 10:00 - 12:00
Thu, 2014-10-30 10:00 - 12:00
Thu, 2014-11-06 10:00 - 12:00
Thu, 2014-11-13 10:00 - 12:00
Thu, 2014-11-20 10:00 - 12:00
Thu, 2014-11-27 10:00 - 12:00
Thu, 2014-12-04 10:00 - 12:00
Thu, 2014-12-11 10:00 - 12:00
Thu, 2014-12-18 10:00 - 12:00
Thu, 2015-01-08 10:00 - 12:00
Thu, 2015-01-15 10:00 - 12:00
Thu, 2015-01-22 10:00 - 12:00
Thu, 2015-01-29 10:00 - 12:00
Thu, 2015-02-05 10:00 - 12:00