Schedule for CSC 431, Spring 2018

Date Topic Readings Lab Assignment due Other
M Apr 2 Intro, What is a compiler?
W 4 register indirect, representing instructions
F 6 let bindings, using the stack Lab 1
M 9 Let, A-Normal Form
W 11 multiplication & division in assembly, conditionals
F 13 calling functions in assembly
M 16 Type Checking
W 18 Extending type-checking and ANF for functions Assignment 1 due
F 20 Lambda Lifting, Static Single-Assignment form
M 23 Scope, Letrec
W 25 Basic block conversion
F 27 Debugging tools: lldb, objdump
M 30 extended basic-block example
W May 2 Lifting, Struct overview
F 4 Struct type-checking Assignment 2 due
M 7 While loops
W 9 Closure Conversion
F 11 Register Allocation I
M 14 Register Allocation II
W 16 Optimization Overview
F 18 Q & A
M 21 TBA
W 23 TBA
F 25 Demos Assignment 3 due
M 28 SSA I
W 30 SSA II
F Jun 1 Tail-calling
M 4 Review of IR, Translation
W 6 Review of Type-checking, ANF, code generation
F 8 Review of Closure Conversion
T 12 Assignment 4 due