Schedule for CS4240 Fall 2005 Note: The lecture schedule is apt to change over time as the course progresses, so consult the on-line version at http://www.cc.gatech.edu/classes/AY2006/cs4240_fall/ for the up-to-date information. Important Fall semester dates: 10/13 Thu Midterm 10/14 Fri Drop date 10/17-18 Mon-Tue Vacation (mid-term recess) 11/24-25 Thu-Fri Thanksgiving 12/9 Fri Last day of classes 12/12-16 M-F Exam week 12/19 Mon Final grades due Project schedule: Project Starts Due (1:30 pm) ----------------------- --------- ------------- 1. Lexer Tu 8/30 Thu 9/15 2. Parser Thu 9/15 Thu 9/29 3. Static analyser Thu 9/29 Tu 10/11 4. Frame analyser Tu 10/11 Thu 11/3 5. IR generator Thu 10/20 Thu 11/3 6. Instruction selector Thu 11/3 Tu 11/15 7. Live-variable DFA Tu 11/15 Fri 11/25 8. Register allocation Fri 11/25 Tu 12/6 9. Final assembly Tu 12/6 Tu 12/12 L# Date Topic -- -------- -------------------- 1 8/23 Tu Intro to class 2 8/25 Thu Overview of compiler 3 8/30 Tu Overview of SML 4 9/1 Thu Regexps & lexers 5 9/6 Tu Implementing lexers 6 9/8 Thu Parsing LL 7 9/13 Tu Parsing LL 8 9/15 Thu Parsing LR [Lexer in; Parser out] 9 9/20 Tu Parsing LR 10 9/22 Thu Parsing ML-Yacc 11 9/27 Tu Symbol tables [Olin in Estonia this week] 12 9/29 Thu Semantic analysis 1 [Parser in; static analysis out] 13 10/4 Tu Semantic analysis 2 14 10/6 Thu Stack layout & procedure linkage 1 15 10/11 Tu Stack layout & procedure linkage 2 [SA in; frame analysis out] -- 10/13 Thu --Midterm [Drop-date deadline Friday] -- 10/18 Tu --No class -- mid-term recess 16 10/20 Thu Translating to an IR 1: expressions, booleans for val & control [FA in; IR-gen out] 17 10/25 Tu Translating to an IR 2: control structures, functions 18 10/27 Thu Translating to an IR 3: compound data (records & arrays) 19 11/1 Tu Generating basic blocks 20 11/3 Thu SPIM & MIPS ISA [IR-gen in; Insn selection out] 21 11/8 Tu Instruction selection: maximal munch, BURG, insn grammars 22 11/10 Thu Data-flow analysis 1, Liveness 23 11/15 Tu Register allocation 1 [Insn-sel in; DFA out] 24 11/17 Thu Register allocation 2 25 11/22 Tu Data-flow analysis 2 26 11/24 Thu --No class -- Thanksgiving [DFA in; reg-alloc out (on Friday)] 27 11/29 Tu Data-flow analysis 2 -- 12/1 Thu GC 28 12/6 Tu Compiling functional languages" [reg-alloc in; final-assem out] 29 12/8 Thu "Little languages -- 12/12-16 exams [final compiler in Tu 12/12] -- 12/19 Mon grades due