KOI: Course Content and Lecture Schedule

"ASU" refers to the textbook by Aho, Sethi and Ullman.
"KP" refers to Kjell Post's book of slides.

This page, and other pages on this web site, contains some references to useful reading and other resources about compilers, but the content of the course consists of:

  1. The sections in ASU indicated in the lecture schedule below.
  2. The paper The Very Basics of Garbage Collection.
  3. The lab exercises.
Specifically, the KP slides are not part of the course content, and only provided as a study aid.

Lecture schedule:

  1. Introduction.
    ASU chapter 1. KP chapter 1. Notes.
  2. Syntax analysis ("parsing").
    ASU 2.1-2.4. The first parts of KP chapter 3. Notes.
  3. A very simple compiler in C.
    ASU 2.4-2.5, 2.9. Source code: 2.5 and 2.9. Notes.
  4. More about syntax analysis. Bottom-up parsing. Yacc.
    ASU 4.1-4.3, parts of 4.4, parts of 4.8. The rest of KP chapter 3. Notes.
  5. More about Yacc.
    ASU 4.9. KP p 77-84. A Compact Guide to Lex & Yacc. Notes.
  6. Lexical analysis ("scanning"). Lex.
    ASU 3.1-3.5, parts of 3.6. KP chapter 2. A Compact Guide to Lex & Yacc. Notes.
  7. Syntax-directed translation. Building syntax trees.
    ASU 5.1-5.2. Notes.
  8. Run-time environments.
    ASU 7.1-7.3, 7.6. A paper about garbage collection: The Very Basics of Garbage Collection. KP chapter 4. Notes.
  9. More GC. Interpreters. Stack machines. Executing the syntax tree.
    ASU 2.8. Notes.
  10. Type checking.
    ASU 6.1-6.2, (6.3). Notes.
  11. Intermediate code generation.
    ASU 8.1-8.2. KP chapter 5. Notes.
  12. Code generation.
    ASU 9.1-9.4. KP chapter 7. Notes.
  13. Code optimization.
    ASU 10.1-10.2, 10.13. KP chapter 6. Notes.
  14. Review. Exercises. Notes.


Thomas Padron-McCarthy (Thomas.Padron-McCarthy@tech.oru.se) March 4, 2004