University of Haifa

Theory of Compilation

Spring 2012



Lecturer: Prof. Yosi Ben Asher
TA: Bilal Saleh

Times & Locations

Lectures: Sunday 12-14, Main 715 -AND- Wednesday 08-10, Main 712
Tutorials: Sunday 14:00-16:00, Main 712 -OR- Tuesday 16-18, Main 611
Reception hour: Tuesday 18:00-19:00 at Jacobs 102 (please coordinate by email with the TA)


Material & Links

Syllabus: here
Sample exam: here
Some examples from class: here

Lecture slides:
  1. Introduction and Optimizations
  2. Grammar
  3. Compiling Simple Assignments
  4. Compiling Control Flow Statements
  5. Memory Allocation
  6. Handling Procedures
  7. Instructions Scheduling: ppt
Tutorial slides:
Note: please print a lot of slides per page, double sided - to avoid waste of paper! Thank you.
  1. Introduction and Optimization: 4pp, 1pp, Optimization Riddles
  2. Formal languages: 4pp, 1pp
  3. Grammers: 4pp, 1pp
  4. Working with JLex & CUP: 1pp
  5. Assignments code-generation (rehearsal)
  6. Control-flow (if, while, case) code-generation
  7. Static arrays
  8. Arrays Bound Checking, Dynamic arrays, Records, Pointers, Complex Pointers Expressions
  9. Procedures/Functions
Additional material:
  1. Code generation
  2. P-machine specification
  3. Instruction scheduling
  4. List scheduling
  5. HW2
  6. HW3
  7. solutions for the test-example (by Ofir)
Links: Tools

Homework Assignments