Sprungmarken

Servicenavigation

Hauptnavigation

Sie sind hier:

Hauptinhalt

Übersetzerbau

 

  • Veranstalter: Dr. Oliver Rüthing
  • Vorlesung (2 SWS)
  • Starttermin: Donnerstag, 4.4.2019
  • Ort: OH 14, Raum E23
  • Zeit: 10.15-11.45 Uhr

 

Informationen zur Klausur vom 2.10.2019 

Die Klausur findet von 9.00 Uhr (Start !) bis ca. 11.00 Uhr im HG II, HS 5 statt. Der Einlass in den Hörsaal erfolgt ab 8.50 Uhr.

Die Anmeldung zur Klausur ist noch bis einschließlich Donnerstag, den 26.9. offen. Eine Abmeldung im Boss-System ist grundsätzlich bis zu einem Tag vor der Klausur (hier also der 1.10.2019) möglich. 

Es sind keine Hilfsmittel (Unterlagen, Taschenrechner o.ä.) erlaubt!

Kommentar

Übersetzer für höhere Programmiersprachen sind große und komplexe Softwaresysteme. Um die korrekte Übersetzung von Programmen einer Quellsprache in Code einer konkreten oder virtuellen Maschine vorzunehmen hat man dem Gedanken des "Separation of Concerns" folgend diese Aufgabe in eine Vielzahl beherrschbarer Teilaufgaben zerlegt. Beginnend in den 50er Jahren sind die Phasen eines Compilers Gegenstand intensiver Forschung gewesen. Daher lässt sich zweifelsfrei feststellen, dass das Gebiet des Übersetzerbaus sicher eines des best erforschten und durchdrungenen Teilgebiete der Informatik ist. Insbesondere finden hier Resultate der theoretischen Informatik, wie sie in Vorlesungen wie GTI vermittelt werden, ein reiches praktisches Anwendungsgebiet.  


Die Lehrveranstaltung behandelt Grundlagen des Entwurfs und der Realisierung von Compilern. Insbesondere werden wir uns einen Überblick über sämtliche relevante Phasen eines optimierenden Compilers verschaffen:   Lexikalische Analyse (reguläre Sprachen, endliche Automaten, Scanner); konkrete und abstrakte Syntax; Syntaxanalyse (LL- und LR- Parser); statisch semantische Analyse; Codeerzeugung, Laufzeitsystem und Programmoptimierung. Zusätzlich werden auch Themen wie virtuelle Maschinen, Bootstrapping und Übersetzung für deklarative Sprachen angeschnitten. 

Wichtiger Hinweis:

Die Modulbeschreibung wird in Kürze geändert. Abweichend von der bisherigen Regelung wird für die Teilnahme nicht mehr ein abgeschlossenes Modul "Funktionale Programmierung" vorausgesetzt!  

Übungsinfos

In den Übungen wird durch konkrete Aufgabenstellungen die Möglichkeit gegeben, das in der Vorlesung "Übersetzerbau" theoretisch erworbene Wissen anzuwenden und zu festigen. Durch eine strukturierte Rekapitulation des Stoffes stellen die Übungen eine gute Voraussetzung für eine erfolgreiche Teilnahme an einer Prüfung über die Vorlesung "Übersetzerbau" dar. Die erfolgreiche Teilnahme an der Übung ist notwendige Studienleistung für die Modulprüfung. Die Modalitäten werden in der ersten Vorlesung bekanntgegeben.

Die Übungen finden regelmäßig  am  Montag 10.15-11.45 Uhr  in OH 14, R 104 und Dienstag 10.15-11.45 Uhr  in OH 14, R 304 statt (2 wöchentlicher Rythmus).

Klausuren

Die  Modulprüfung findet in Form einer 120-minütigen Klausur statt.  Die Termine sind:

Erstklausur: Freitag, 2.8.2019, 10-12 Uhr, HG 2, HS 3

Zweitklausur: Mittwoch, 2.10. 2019, 9-11 Uhr, HG 2, HS 5

Nähere Informationen folgen zeitnah vor den Klausuren.

Material

Die Vorlesungsmaterialien (Folien, Skript, Übungsblätter) stehen in einem Moodle-Arbeitsraum  zur Verfügung, der auch über die Übungsseite im LSF verlinkt ist. 

Literatur

  • T. Mogensen. Introduction to Compiler Design. Undergraduate Topics in Computer Science, 2011, Springer-Verlag.
  • R. Wilhelm, H. Seidl, S. Hack. Übersetzerbau - Band 2. Syntaktische und semantische Analyse, 2012, Springer-Verlag.
  • H. Seidl, R. Wilhelm, S. Hack. Übersetzerbau - Band 3. Analyse und Transformation, 2010, Springer-Verlag.
  • A. Aho,  M. Lam,  R. Sethi, J.D. Ullman. Compilers: Principles, Techniques, & Tools. 2nd edition, 2007, Addison-Wesley. 


Nebeninhalt

Kontakt

Tel. (0231) 755-5801
Fax (0231) 755-5802