Search for contacts, projects,
courses and publications

Compilers

Description

This course studies the construction of optimizing compilers, focusing on the "backend" of the compiler: techniques for generating efficient code on modern architectures. We will cover dataflow analysis, program optimization, and code generation across basic blocks, procedures, and complete programs. We will look some of the key challenges for modern compilers and runtime systems: optimization of object-oriented languages, dynamic compilation, garbage collection, dependence analysis, and loop transformations. The bulk of your course grade will come from programming assignments that implement program analysis, intermediate representations, and optimizations.

 

 

REFERENCES

  • "Compilers: Principles, Techniques, and Tools", 2nd edition, Alfred Aho, Monica Lam, Ravi Sethi, and Jeffrey Ullman, 2006.
  • "Advanced Compiler Design and Implementation", Steven S. Muchnick, 1997.

People

 

Nystrom N.

Course director

Javed O.

Assistant

Additional information

Semester
Spring
Academic year
2017-2018
ECTS
6
Education
Master of Science in Financial Technology and Computing, Core course, Lecture, 2nd year

Master of Science in Informatics, Elective course, Lecture, 1st and 2nd year

Master of Science in Software & Data Engineering, Elective course, 1st year

PhD programme of the Faculty of Informatics, Elective course, Lecture, 1st, 2nd and 3rd year