SUBJECT

Title

Compilers

Type of instruction

lecture + practical

Level

bachelor

Part of degree program
Credits

5

Recommended in

Semester 5

Typically offered in

Autumn semester

Course description

The goal of the course is to introduce the students to the basic concepts of compilers and to address the practical issues of compiler construction.

Lecture:

  • structure and task of compilers

  • methods for lexical analysis

  • LL parsing

  • LR parsing

  • symbol table handling

  • semantical analysis, ATGs

  • assembly basics

  • code generation for basic imperative language constructs

  • some techniques for code optimization

Lab:

  • exercises for lexical analysis, flex

  • exercises for LL parsing

  • bisonc++

  • exercises for LR parsing

  • assembly programming exercises, NASM

Readings
  • Dick Grune, Henri E. Bal, Ceriel J.H. Jacobs, Koen G. Langendoen: Modern Compiler Design, John Wiley & Sons LTD, 2003

 

Recommended literature:

  • Keith D. Cooper, Linda Torczon: Engineering a Compiler, Morgan Kaufmann Publishers, 2004

  • Randy Allen, Ken Kennedy: Optimizing Compilers for Modern Architectures, Morgan Kaufmann Publishers, 2002