Compiler Construction 2

Short Name
Compilerbau 2
Module Code
PI5007
Module Coordinator
  • Hellwig Geisse
Teacher
  • 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