CS 4410/6410 -- Compilers -*- outline -*- Fall 2025 * Basic information ------------------- Professor: Olin Shivers shivers@ccs.neu.edu Office hours: Wed 1:30-2:30 & by appt WVH room 318 Libra Lectures: Mon/Wed 2:50-4:30, Shillman 135 Web page: http://www.ccs.neu.edu/course/cs4410 Piazza: https://piazza.com/northeastern/fall2025/cs44106410/home Handin server: Textbook: Andrew Appel, *Modern Compiler Implementation in ML* NOT textbook: Andrew Appel, *Modern Compiler Implementation in C++* Andrew Appel, *Modern Compiler Implementation in Java* Also useful: *ML for the Working Programmer (2nd edition)*, Larry Paulson -------------------------------------------------------------------------------- * Daily schedule ---------------- 13 weeks / 27 lectures / 9 projects / midterm / exam Note: The lecture schedule is apt to change over time as the course progresses, so consult the on-line version at http://www.ccs.neu.edu/classes/cs4410/sched.txt for the up-to-date information. L# Date Lecture topic and due dates -- --------- ---------------------------------- 1 9/3 Wed Intro to class / compiler overview 2 9/8 Mon Regexps & Lexers [Lexer out] 3 9/10 Wed Lexers 4 9/15 Mon LL parsing 1 5 9/17 Wed LL parsing 2 [Lexer in; parser out] 6 9/22 Mon LR 1 7 9/24 Wed LR 2 8 9/29 Mon ML-Yacc 9 10/1 Wed Symtabs 10 10/6 Mon Static analysis 1 [Parser in; type-checker out] 11 10/8 Wed Static analysis 2 -- 10/13 Mon Indigenous Peoples Day, no classes 12 10/15 Wed Stacks & proc linkage 1 13 10/20 Mon Stacks & proc linkage 2 [type-checker in; frame-analyser out] 14 10/22 Wed Midterm 15 10/27 Mon AST->IR 1: exps, bools 16 10/29 Wed AST->IR 2: control [IR-gen also out] 17 11/3 Mon AST->IR 3: compound data 18 11/5 Wed Generating basic blocks 19 11/10 Mon Insn selection [FA & IR-gen in; insn-sel out] 20 11/12 Wed DFA 1: intro, liveness 21 11/17 Mon Register allocation 1 [insn-sel in; DFA out] 22 11/19 Wed Register allocation 2 23 11/24 Mon DFA 2 [DFA in; reg-alloc out] -- 11/26 Wed Thanksgiving Holiday, no class 24 12/1 Mon DFA & loops 25 12/3 Wed GC [reg-alloc in; final-asm out] 26 12/8 Mon Extra lecture 1? 27 12/10 Wed Extra lecture 2? -------------------------------------------------------------------------------- * Important Fall semester dates ------------------------------- 9/3 Wed First day of classes 10/13 Mon Indigenous Peoples Day, no classes 11/11 Tue Veterans Day, no classes 11/26-30 Wed-Sun Thanksgiving break 12/7 Sun Last day of classes 12/8 Mon First day of exam period 12/14 Sun Last day of exam period 12/16 Tue Final grades due 2:00 p.m. -------------------------------------------------------------------------------- * Project schedule ------------------ Project Starts Due (midnight) ----------------------- --------- -------------- 1. Lexer Wed 9/3 Wed 9/17 2. Parser Wed 9/17 Mon 10/6 3. Static analyser Mon 10/6 Mon 10/20 4. Frame analyser Mon 10/20 Mon 11/10 5. IR generator Mon 10/29 Mon 11/10 6. Instruction selector Mon 11/10 Mon 11/17 7. Live-variable DFA Mon 11/17 Mon 11/24 8. Register allocation Mon 11/24 Wed 12/3 9. Final assembly Wed 12/3 Wed 12/10