Veranstaltung: Compilerbau und Implementation

Nummer:
148226
Lehrform:
Vorlesung mit integrierten Übungen
Medienform:
Folien
Verantwortlicher:
Prof. Dr.-Ing. Michael Hübner
Dozenten:
Prof. Dr. Pedro Diniz (extern), Prof. Dr.-Ing. Michael Hübner (ETIT)
Sprache:
Englisch
SWS:
2
LP:
2
Angeboten im:
Sommersemester

Termine im Sommersemester

  • Vorbesprechung Donnerstags: Donnerstag den 03.05.2018 ab 09:00 bis 12.00 Uhr im ID 04/653

Prüfung

Termin nach Absprache mit dem Dozenten.

Prüfungsform:mündlich
Prüfungsanmeldung:Direkt bei der Dozentin bzw. dem Dozenten
Dauer:30min

Ziele

This course is intended to give the students a thorough knowledge of compiler design techniques and tools for modern computer programming languages. This course covers advanced topics such as data-flow analysis and control-flow analysis, code generation and program analysis and optimization.

Inhalt

In this block course, the following topics will be adressed:

  • Front End: Lexical Analysis and Parsing . Generating an Abstract Syntax Tree (no homework)
  • Semantic Analysis and Syntax-Directed Translation: Type Checking. (HW #1)
  • Intermediate Code Generation
  • Run-Time Environments
  • Register Allocation and Instruction Scheduling
  • Optimization and Control-Flow Analysis

The course starts on May 10th and ends on May 24. A 1.5 hours lecture will be presented on each day (exact time and room to be announced). Finally a oral examination is possible 2 weeks after the end of the lecture period.

Voraussetzungen

none

Empfohlene Vorkenntnisse

Students should be familiar with the concepts in theory of computation (e.g., regular sets and context-free grammars); design and analysis of algorithms (e.g., asymptotic complexity, divide and conquer and dynamic-programming techniques); and have strong programming skills using dynamic, pointer-based data structures either in C or C++ programming languages. Students should also be familiar with basic concepts of imperative programming languages such as scoping rules, parameter passing disciplines and recursion.

Literatur

  1. Muchnick, S. "Advanced Compiler Design and Implementation", Morgan Kaufmann, None
  2. Aho, Alfred V., Lam, Monica S., Sethi, Ravi "Compilers Principles, Techniques, & Tools", Addison Wesley Longman Publishing Co, 2005
  3. Cooper, Keith, Torczon, Linda "Engineering a Compiler", Morgan Kaufmann, 2010

Sonstiges

The course takes place from 03.05. - 16.05.2018. The lecture times will be scheduled in the kick-off meeting.