CIS531 — Fall 2025

Compiler Construction

Week 1: Course Intro

Week 2: Racket Refresher, Interpreting LVar

Week 3: Syntactic Analysis and Parsing

Week 4: Compiling LVar to x86

Week 5: Static-Single Assignment (SSA/ANF), Control-Flow, and Type Checking

Week 6: Midterm 1

  • 9/30
    Midterm 1: Review
  • 10/2
    MIDTERM 1 (In Person)

Week 7: Assignment Conversion and Garbage Collection

  • 10/7
    Assignment (set!), Garbage Collection (GC) Introduction
  • 10/7
    HW3: Compiling LIf to x86 -- Released 10/7, due 10/23
  • 10/9
    Implementing Assignment Conversion

Week 8: Fall Break & Loops

  • 10/14
    Fall Break
  • 10/16
    Adding Loops to LIf

Week 9: Loops and Data Flow Analysis

  • 10/21
    Data-Flow Analysis Introduction
  • 10/23
    Monotone Frameworks, Worklist Algorithm

Week 10: Activation Records and Procedures

  • 10/28
    Activation Records, Calling Conventions, and Procedures
  • 10/28
    HW4: Assignment Conversion and Procedures -- Released 10/28, due 11/13
  • 10/30
    Implementing Procedure Calls
  • Week 11: Register Allocation

    • 11/4
      Register Allocation: Interference Graph, Graph Coloring
    • 11/6
      Register Allocation: D-SATUR Algorithm (Greedy allocation)

    Week 12: Closures and Objects

    • 11/11
      Lambdas and Closures, Closures vs. Procedures
    • 11/13
      Objects and VTables, Implementing Closure Conversion
    • 11/13
      Final Project: Proposal Due

    Week 13: Midterm 2

    • 11/18
      Midterm 2: Review
    • 11/20
      MIDTERM 2 (In Person)

    Week 14: Thanksgiving

    • 11/25
      Thanksgiving Part 1
    • 11/27
      Thanksgiving: Grand Finale (No Class)

    Week 15: MLIR and Declarative Analysis

    • 12/2
      Multi-Level Intermediate Representation (MLIR) and Extensible Codegen
    • 12/4
      Declarative Languages, Declarative Analysis

    Week 16: Final Project, Presentation, and Final Exam

    • 12/9
      Final Project Presentation
    • 12/12
      Final Project: Code / Report Due
    • 12/12
      FINAL EXAM