COMP 412: Topics in Compiler Construction
Keith Cooper
Department of Computer Science
Rice University
Houston, Texas, USA
Fall 2013: Room TBA, Duncan Hall, Monday, Wednesday, Friday, 11:00am

Notes


Slides and/or Notes

  1. Introduction, and 2-up version             See also the class syllabus
  2. Lab 0 Lecture, and 2-up version
  3. Overview Lecture, and 2-up version      (This slide set covers two lectures)

  4. Introduction to Lexical Analysis, and 2-up version      (start of Chapter 2 in EaC2e)

  5. Lab 1: Local Register Allocation, and 2-up version

  6. Lexical Analysis: From Regular Expression to Scanner, Part II (Thompson's Construction), and 2-up version
  7. Lexical Analysis, Part III (Subset Construction), and 2-up version
  8. Lexical Analysis, Part IV (DFA Minimization), and 2-up version      (Lecture went badly awry)
  9. Lexical Analysis, Part IV (Again), and 2-up version
  10. Building Scanners, and 2-up version

  11. Introduction to Parsing, and 2-up version
  12. Top-Down Parsing, Part I, and 2-up version
  13. Top-Down Parsing, Part II, and 2-up version
  14. Top-Down Wrap Up, Bottom-up Introduction, and 2-up version
  15. LR Parsers, and 2-up version      <-- Slide set covers full set of LR(1) material (3 or more lectures)

  16. Introduction to Context-Sensitive Analysis (or "Semantic Elaboration"), or 2-up version >
    Addendum to Lecture 16, or 2-up version       (What I should have said!)
  17. Ad-hoc Syntax-Directed Translation, or 2-up version
  18. A (Terribly Brief) Introduction to Type Systems, or 2-up version

  19. Intermediate Representations, or 2-up version

  20. Translating Abstractions, Expressions, and Control-Flow (aka, Time & Compilation), or 2-up version
  21. Naming in Procedures, or 2-up version
  22. Storage Areas, or 2-up version
  23. Establishing Addressability, or 2-up version
  24. Procedure Linkages, or 2-up version
  25. Support for OOLs, or 2-up version

  26. Lab 3: Local Scheduling, or 2-up version

  27. Code Shape for Arithmetic Expressions, or 2-up version
  28. Code Shape: Assignments, Arrays, Records, and Strings or 2-up version
  29. Code Shape: Strings, Booleans, Relationals, and Control Flow, or 2-up version

  30. Instruction Selection: Introduction, or 2-up version
  31. Instruction Selection: Tree-Pattern Matching, or 2-up version
  32. Instruction Selection: Tree-Pattern Matching Example, or 2-up version
  33. Instruction Selection via Peephole Optimization, or 2-up version

  34. Instruction Scheduling: Regional Approaches, or 2-up version
  35. Combining Scheduling and Register Allocation + notes on the 3rd hour exam, or 2-up version


Comp 412 Home Last modified Thursday, 29-Nov-2012 23:30:41 CST.