Compiler Construction 2

Module Code
PI5007
Module Coordinators
Hellwig Geisse
Teachers
  • Hellwig Geisse
  • Jens Mehler
  • Short Description
    This course discusses algorithms for register allocation, loop optimization, and instruction pipelining, and their implementation within a given compiler.
    Learning Objectives

    The students know how to apply graph algorithms when constructing a compiler, especially with respect to register allocation, loop optimization, and instruction pipe-lining. They are able to design compilers for object-oriented and functional languages.

    Contents

    Data flow equations and liveness, register allocation using graph coloring, loop optimizations, static-single-assignment-form, pipelining and instruction scheduling, compiler for object-oriented languages, compiler for functional languages.

    Duration in Semester
    1
    Instruction Language
    German
    Total Effort
    6 CrP; an estimated 180 hours, of which approximately 60 are spent in class.
    Weekly School Hours
    4
    Method of Instruction
    Lecture 2 sppw Practical Course 2 sppw
    Requirements for the awarding of Credit Points
    Written exam
    Evaluation Standard
    according to examination regulations (§ 9)
    Availability
    As Needed
    References
    • K. D. Cooper, L. Torczon: Engineering a Compiler Morgan Kaufmann
    • A. W. Appel: Modern Compiler Implementation in Java, Second Edition Cambridge University Press
    • S. S. Muchnick: Advanced Compiler Design & Implementation Morgan Kaufmann
    Prerequisites
    CS1019 Compiler Construction