Sprungmarken

Servicenavigation

Hauptnavigation

Sie sind hier:

Hauptinhalt

Übersetzerbau

 

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

 

 

Wichtiger Hinweis

Aufgrund der durch die Corona-Pandemie bedingten Verschiebung des Semesteranfangs auf den 20.04.2020 beginnt die Vorlesung erst am 23.04.2020. Nach Beschlusslage der TU Dortmund werden alle Veranstaltungen  zunächst ausschließlich in digitaler Form  (Screen-/Podcasts, Videokonferenzen) angeboten  Die Vorlesungsinhalte werden im Moodle zum Download angeboten. Falls sich im Laufe des Semesters eine Verbesserung der Situation ergeben sollte und der Vorlesungsbetrieb ohne gesundheitliche Risiken aufgenommen werden kann, findet die Vorlesung wie geplant jeweils Donnerstag im Hörsaal E23, OH 14 um 10:15 Uhr statt.

 

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:

Gemäß BPO-Inf vom 23.10.2019 ist Übersetzerbau eines der drei Module des Modulkatalogs Konzepte für Software, von denen zwei erfolgreich absolviert werden müssen. Inbesondere ist ein abgeschlossenes Modul "Funktionale Programmierung" nicht (mehr) Voraussetzung für das Modul Übersetzerbau!  

Ü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). Weitere Übungstermine sind in Planung.

Klausuren

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

Erstklausur: Donnerstag, 23.7.2020, 13.30-15.30 Uhr, HG 2, HS 5&6

Zweitklausur: Donnerstag, 1.10. 2020, 12-14 Uhr, HG 2, HS 5&6

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