Sprungmarken

Servicenavigation

Hauptnavigation

Sie sind hier:

Hauptinhalt

Übersetzerbau

 

  • Veranstalter: Dr. Oliver Rüthing
  • Vorlesung (2 SWS)
  • Starttermin: Siehe wichtiger Hinweis
  • Ort: ausschließlich online 
  • Zeit: Siehe wichtiger Hinweis

 

 

Wichtiger Hinweis

Aufgrund der anhaltenden Pandemielage wird die Vorlesung nebst Übungen ausschließlich in digitaler Form  (Screen-/Podcasts, Videokonferenzen) angeboten. Die Vorlesungsinhalte werden in Moodle (siehe Material) angeboten. Der erste (nach Vorlesungsplan) reguläre Vorlesungstermin  (Donnerstag, der 15.4., 10.15 - 11.45 Uhr) wird als Kickoff-Veranstaltung dienen.

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 der am besten 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. 

Ü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.

Klausuren

Die  Modulprüfung findet in Form einer 120-minütigen Klausur statt. In der Regel wird eine Erstklausur Ende Juli/Anfang August und eine Zweitklausur Ende September/Anfang Oktober angeboten.  Zur Zeit sind aber weder Termine noch Modalitäten (online/Präsenz) bekannt.

Material

Die Vorlesungsmaterialien (Folien, Videos, Konferenzlinks Übungsblätter) stehen in einem Moodle-Arbeitsraum  zur Verfügung. Die Registrierung für den Raum soll ausschließlich über das LSF erfolgen. 

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