COMP 506: Compiler Construction, Graduate Edition
Zoran Budimlić
Department of Computer Science
Rice University
Houston, Texas, USA
Spring 2019: Keck 102, Tuesday & Thursday, 9:25 AM
Course Syllabus

This page contains the PDF format copies of the lecture notes.


Lecture Notes

  1. Introduction and Examples
  2. Scanning and Lexing 1   Chapter 2 in EaC2e
  3. Scanning and Lexing 2
  4. Parsing 1   Chapter 3 in EaC2e
  5. Parsing 2
  6. Parsing 3
  7. Intermediate Representations   Chapter 5 in EaC2e
  8. Semantic Elaboration    Section 4.4 in EaC2e
    A tar file with example from the lecture
  9. Semantic Elaboration 2
  10. Semantic Elaboration 3
  11. Arrays and Functions    Sections from Chapters 6 and 7 in EaC2e

    Midterm Exam: List of topics for the midterm exam

    Material above this line is covered on the midterm exam

  12. More on Functions
  13. Naming and Addressability
  14. The Software Stack           Not in EaC2e
  15. The Memory Hierarchy    Not in EaC2e

  16. Introduction to Code Optimization with Example from Local Value Numbering     Chapter 8 in EaC2e
  17. From Local to Regional Optimization, Superlocal Value Numbering

  18. Beyond Superlocal: DOM and DVNT     Intro to data-flow analysis
  19. Global Common Subexpression Analysis and Inline Substitution     Available Expression Analysis
    EaC2e refers to the textbook, Engineering a Compiler, 2nd Edition
    This site is maintained by Zoran Budimlić.