Grundlagen des Übersetzerbaus

Lecturers:Philippsen, M.
Coverage:2 SWS (7,5 ECTS)
Comment:Voraussetzung zur Teilnahme an der mündl. Prüfung ist die erfolgreiche Bearbeitung der Übungsaufgaben.
Dates & location:
  • Tuesday, 10:15 - 11:45, H12
Audience:WPF CE-MA-INF (1.-4. Semester)
WPF INF-BA (5.-6. Semester)
WPF INF-BA-V-PS (5.-6. Semester)
WPF INF-MA (from 1. Semester)
WPF IuK-MA-ES (1.-4. Semester)
WPF IuK-MA-ES-INF (1.-4. Semester)
WF CE-BA-TW (5.-7. Semester)
WF IuK-BA (5.-6. Semester)
Topics:

Auf den ersten Blick erscheint es wenig sinnvoll, sich mit Übersetzerbau zu beschäftigen. Andere Themen scheinen wesentlich näher an der direkten Anwendbarkeit in der industriellen Praxis. Der erste Blick täuscht:

  • Übersetzer gehören wohl zu den am gründlichsten studierten mittelgroßen sequentiellen Software-Systemen. Man kann viel aus den Erfahrungen lernen, die im Laufe der Jahre gesammelt wurden.
  • In den Übungen, die die Vorlesung begleiten, werden Sie selbst einen (kleinen) Übersetzer entwickeln.
  • Für viele Teilnehmer wird dieses Projekt das erste größere Software-Projekt sein. Viele der Algorithmen aus dem Grundstudium werden angewendet.
  • Bei jedem von Ihnen verwendeten Übersetzer gehen Sie in der Regel davon aus, dass richtiger Coder erzeugt wird. In der Vorlesung erfahren Sie, wie das geforderte hohe Maß an Korrektheit und Zuverlässigkeit erreicht wird.
  • Sie erlangen ein Verständnis für Konzepte von Programmiersprachen und verstehen, welcher Maschinen-Code aus Sprachkonstrukten gemacht wird. Mit diesem Wissen im Hinterkopf verbessern Sie Ihre Fähigkeit, gute und effiziente Programme zu schreiben.
  • Übersetzer werden nicht nur für Programmiersprachen benötigt. Spezielle Übersetzer braucht man in vielen Bereichen des täglichen Informatik-Lebens z.B. zur Textformatierung, für Programmtransformationen, für aspektorientiertes Programmieren, für die Verarbeitung von XML, ...
  • Es gehört zu einer Ingenieur-Ausbildung, in der Lage zu sein, diejenigen Werkzeuge selbst zu fertigen, die man verwendet. Für Informatiker gehört daher ein Verständnis vom Innenleben eines Übersetzers zum Rüstzeug.

Themen der Vorlesung:

  • Übersetzungsprinzipien für imperative Sprachen
  • Struktur eines Übersetzers
  • Symbolentschlüssler und Zerteiler (Scanner und Parser)
  • Abstrakter Syntaxbaum
  • Symboltabellen, Umgebungen
  • Attributgrammatiken
  • Semantische Analyse, Typprüfung
  • Automatische Speicherbereinigung
  • Code-Erzeugung
  • Register Optimization

Audience

Students enrolled in the Computer Science, IuK and the CE program (B.Sc. and M.Sc.)

Exam/certificate

mdl. Prfg.

Registration for the exam

Please register for the exam in meinCampus first. Then send an email to Prof. Philippsen to make an appointment for the exam (available dates for the exam are here). Do not forget your matriculation number in the email. If meinCampus signup is not yet enabled, the other way round is ok too.

Working material

Link

Evaluation Results:

WS 2016/17, WS 2015/16, WS 2014/15, WS 2013/14, WS 2012/13, WS 2012/13, WS 2011/12, WS 2010/11, WS 2009/10, WS 2008/09, WS 2007/08, WS 2006/07 (Vergleich), WS 2005/06 nicht evaluiert, WS 2004/05, WS 2003/04, WS 2002/03
watermark seal