The following is approaximate a week-by-week schedule for the course Compiler Design (BU CAS CS 525), Spring 2009: ------ Week 1: introduction; a calculator example Reading: Chapter 1 ------ Week 2: functional programming in SML; the calculator example continued Reading: Chapter 1 ------ Week 3: parsing combinators; lexical analysis: DFA/NFA, regular expressions Reading: Chapter 2 ------ Week 4: RegExp -> NFA -> DFA; LL parsing Reading: Chapter 2 and Chpater 3 ------ Week 5: Parsing combinators ------ Week 6: LR(0) parsing table generation ------ Week 7: LR(1) parsing table; LALR parsing ------ Week 8: Introduction to a simple type system ------ Spring Recess ------ Week 9: typechecking ------ Week 10: calling convention; frame generation ------ Week 11: translation into IR trees (I) ------ Week 12: translation into IR trees (II); trace scheduling ------ Week 13: instruction selection ------ Week 14: register allocation based on graph coloring ------ Week 15: putting it together Reading: Chapter 12 ------ Final exam (demo) is on Friday, May 8, 2009, from 9 to 11AM ------