Links und Funktionen
Sprachumschaltung

Navigationspfad
You are here: Home / Teaching / Winter 2014/15 / Compiler Construction


Inhaltsbereich

Compiler Construction

Practical, 4-hrs., Mo 14-18, Schöpp

News

  • The course is being taught in German. Please see the German version of this page for up to date information.
  • Registration for the course is now possible at UniWorX.

Content

Compilers translate higher programming languages to machine language. They use a number of methods, such as parsing, syntactic and semantic program analysis, that have many applications in computer science. This practical gives a first introduction into compiler construction. It introduces basic techniques of compiler construction and gives students the opportunity to study practical applications of techniques from various areas, ranging from formal methods to assembly programming.

In this practical students implement a compiler for MiniJava, a simplified version of Java. Weekly lectures introduce the relevant compiler construction techniques, such parsing, type checking, some program optimisation, and code generation for modern processors. In the practical part these techniques are then used to implement a compiler step by step.

Students may choose to implement their compiler in Java, OCaml or Haskell (other languages on request).

Topics

The practical follows the book Modern Compiler Implementation in Java by Andrew Appel, which is structured as follows:

  • Fundamentals of Compilation
    • Introduction
    • Lexical Analysis
    • Parsing
    • Abstract Syntax
    • Semantic Analysis
    • Activation Records
    • Intermediate Languages
    • Basic Blocks
    • Instruction Selection
    • Liveness Analysis
    • Register Allocation
  • Advanced Topics (only treated partially in the practical)
    • Garbage Collection
    • Object-Orientierted Languages
    • Functional Languages
    • Polymorphic Types
    • Dataflow Analysis
    • Loop Optimisations
    • SSA (Static single-assignment form)
    • Pipelining and scheduling
    • Memory Hierarchy

Organisation

Lecturers

Time and Place

SessionDatePlaceFirst Session
Lecture Mo, 14–16 Uhr CIP-Pool (Gobi), Oettingenstr. 67 6.10.2014
Practical Mo, 16-18 Uhr CIP-Poo (Gobi), Oettingenstr. 67 6.10.2014

Intended audience

  • Master (Medien-)Informatik (Praktikum zu fortgeschrittenen Themen der Informatik)
  • Diplom (Medien-)Informatik (Prüfungsbereich T)
  • Bachelor (Medien-)Informatik (Vertiefende Themen der Informatik)

Material

 Please see the German version of this page for up to date information.


Tools


Literature

Document Actions


Funktionsleiste