Lehrstuhl Informatik II   
Sprachen und Beschreibungsstrukturen      
   Home Lehre Sommersemester 13 Vorlesungen Compiler Construction I login

Compiler Construction I

Dozent:Dr. Axel Simon and Dr. Michael Petter
Ort/Zeit:in 00.13.009A Mo 14:00 til 16:00
ModulNummer:IN2227
Beschreibung:    Introduction to Compilerconstruction - how to translate an imperative language.

Übungsleitung: alexander.herz@mytum.de

Tutorial management via moodle

FAQ:

  1. Exam: You are allowed to bring a DIN A4 sheet of paper with hand written notes on both sides 
  2. In case You do not pass, You have the opportunity to take "Programming Languages" or "Program Optimization" next semester or alternatively repeat the exam next summer

Exam:

Notenschlüssel
bis Punkte
 Note
 85 1
 79 1,3
 74 1,7
 68 2
 63 2,3
 57 2,7
 52 3
 46 3,3
 41 3,7
 35 4

 

Contents:

A Compiler is an essential part of the system software stack. Its job consists in translating programs from a high-level programming language like C or Java into a sequence of machine instructions of an actual processor. Compilers are comparatively complex programs. Their construction involves ideas and approaches from many different areas of computer science. The first two phases, i.e. lexical and syntactical analysis of the input program, are a major application for formal methods. Later on, e.g. during code generation, we treat methods for register allocation via approximative graph colouring.

The lecture is divided into the following topics:

  1. Outline of compiler construction
  2. Lexikal analysis:
    From regular expressions to NFAs
    Scannerdesign with NFAs
  3. Syntactical analysis
    Contextfree languages & pushdown automata
    Item-Pushdownautomata & Recursive Descent Parsing
    Shift-Reduce Parsing & LR(1) Parser
  4. Semantical analysis
    Attributevaluation
    Typechecking
  5. Codegeneration
    Registerallocation
    Code generation schemes
  6. Optimizations

Finally we may find time for less standard techniques for compilers, as e.g. the type inference of programs.

Literature:

Wilhelm, Seidl, Hack: Übersetzerbau Band 2: Syntaktische und semantische Analyse

Wilhelm, Seidl, Hack: Compiler Design: Syntactic and Semantic Analysis

Recordings / Skript:

Slides:

  1. Lexical Analysis
  2. Syntactical Analysis
  3. Attribute Grammars and Symbol Tables
  4. Type Checking
  5. Code Synthesis

Lecture recordings are stored here.



TUM - Lehrstuhl Informatik II (Sprachen und Beschreibungsstrukturen) Thanks: Tango and TinyMCE     Generationszeit: 8 ms