Humboldt-Universität zu Berlin - Mathematisch-Naturwissenschaftliche Fakultät - Modellgetriebene Software Entwicklung

Compilerbau

Sommersemester 2020

4 SWS

Prof. Dr. Timo Kehrer,

Dr. Klaus Ahrens

 

Covid-19 Information:

Sowohl die Vorlesung als auch die Übungen finden statt. Sie werden als synchrone Online-Veranstaltungen via Zoom zu den regulären Zeiten (s. unten) durchgeführt. Details hierzu wurden an alle via Agnes registrierten Teilnehmer*innen versendet. Sollten Sie keine Informationen bekommen haben und dennoch am Kurs teilnehmen wollen, können Sie die Informationen auch per E-Mail erfragen. Bitte nutzen Sie dazu ihre HU E-Mail Adresse.

 

  Vorlesung Mo/Do., 13-15  
  Übungen Mo./Do., 14-tg., 13-15  
Inhalte
  • Architektur und Aufgaben eines Compilers
  • Anwendung der Theorie der Automaten (endliche Automaten, Kellerautomaten) auf Probleme des Übersetzerbaus
  • lexikalische Analyse
  • Konzepte und Techniken des Parsings
  • Semantische Analyse (inkl. Typerkennung, -verträglichkeit, Gültigkeitsbereiche, Abhängigkeitsanalyse)
  • Konzepte der Speicherorganisation
  • Grundlagen Codegenierung (insbesondere abstrakten Maschinencode)
  • Optimierungstechniken im Überblick

 

Terminplanung (Änderungen möglich)
Mo, 13.00-15.00   Thema   Do, 13.00-15.00   Thema
20.04.20 V Einführung und Organisation   23.04.20 V Einführung C
27.04.20 V Einführung C   30.04.20 V Einführung C
04.05.20 V Einführung C   07.05.20 V Lexikalische Analyse I
11.05.20 V Lexikalische Analyse II   14.05.20 Ü Stack und Syntree
18.05.20 V Syntaktische Analyse - Parsing I   21.05.20 V Keine Vorlesung
25.05.20 V

Syntaktische Analyse – Parsing II
LL(1)-Parsing

  28.05.20 Ü C1 und HTML-Scanner
01.06.20 V Keine Vorlesung   04.06.20 V Syntaktische Analyse – Parsing III
LR-Parsing: Grundprinzipien
08.06.20 V Syntaktische Analyse – Parsing IV
LR-Syntaxanalyseverfahren
  11.06.20 Ü Handparser
15.06.20 V

Syntaktische Analyse – Parsing V
Parsertabellen: SLR

  18.06.20 V

Syntaktische Analyse – Parsing VI
Kanonisches LR und LALR

22.06.20 V Semantische Bearbeitung   25.06.20 Ü Bison-Parser
29.06.20 V Repetitorium I   02.07.20 V Repetitorium II
06.07.20 V Codegenerierung & Optimierung   09.07.20 Ü

Semantische Analyse

13.07.20 V Zusammenfassung und Q&A / Klausurvorbereitung   16.07.20 V Zusammenfassung und Q&A / Klausurvorbereitung

 

Literatur
  • Aho, Sethi, Ullman: Compilers: Principles, Techniques und Tools, Addison-Wesley Publishing Company, 2. Auflage, 2007 (bekannt als „Drachenbuch“)
  • Kernighan, Ritchie: The C Programming Language, Prentice Hall, 2. Auflage, 1988, 1990
  • Wilhelm, Maurer: Übersetzerbau: Theorie, Konstruktion, Generierung, Springer Verlag, 2. Auflage
  • Fischer/LeBlanc: Crafting a Compiler with C, The Benjamin Cummings Publishing Company, 1991