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 | |
M 3/22 | |
M 3/8 | |
W 3/3 (due 3/5) | |
W 3/1 | |
F 2/19 | |
W 2/17 | |
F 2/5 | |
T 2/2 |
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