Skip to content

Assignments

Due Dates

Note

  • Unless noticed otherwise, all assignments are due at 11:59PM on the due date
Date Assignments
Final week (due 5/5) Final
M 4/26 PA5
W 4/21 (due 4/23) MT2
M 4/19 Quiz4 (extension)
M 4/19 PA5-C
M 4/5 Quiz3 (semantics)
M 3/29 PA4
M 3/22 PA4-C
M 3/8 PA3
W 3/3 (due 3/5) MT1
W 3/1 Quiz2 (parser)
F 2/19 Quiz1 (lexer)
W 2/17 PA2
F 2/5 PA1
T 2/2 PA1-C

Review Sets

Note

  • No due dates for these review sheets. They are designed to help you prepare for quizzes and exams.
Topic Review Sheets
Midterm MT1_RS
All Topics RS

Topics

Topic 1: Intro

  • General Introduction
  • Structure of Compiler
  • Introduction to the COOL language

Topic 2: Lexical Analysis

  • Intro to Lexical Analysis
  • Regular Languages
  • Finite Automata

Topic 3: Parsing

  • Intro to Parsing
  • Context Free Grammars
  • Abstract Syntax Tree
  • Bottom-Up Parsing
  • Recursive Descent
  • LL(1) Grammar

Topic 4: Type Checking

  • Intro to Semantic Analysis
  • Type Checking
  • Type Checking on COOL

Topic 5: Code Generation

  • Operational Semantics
  • COOL Semantics

Topic 6: Optimization

  • Intro
  • Intermediate Code
  • Local Optimization
  • Peephole Optimization
  • Constant Propgation
  • Loop Analysis
  • Liveness Analysis

Topic 7: Garbage Collection

  • Intro
  • Automatic Memory Management
  • Mark and Sweep
  • Reference Counting