CSS 448 Schedule

Topics covered and Tentative 448 Spring'11 Schedule:

Notes/Links page     Sample Code page

Week Date Topic, Material Assignments
1 Mar 28 Introduction,   Big picture
Phases of compiling
Code example of compiling phases
Translation project overview
Phase1: Lexical analyzer
tokenconsts.h
  30 Lexical Analysis, Regular expressions,
Deterministic Finite Automata (DFA),
Non-deterministic Finite Automata (NDFA)
Regular Expression/DFA homework assigned
2 Apr 4 Grammars - BNF, EBNF notation Grammar homework assigned
  6 Parsing - top-down, bottom-up;
Parsing - SLR, LR, LALR, LL intro;
How parse tables work;
SLR parse table for E/T/F grammar
Regular Expression/DFA homework due
3 11 yacc - yet another compiler compiler
Phase 1: Lexical analyzer due:
Turn-in instructions,
Phase2: Parser,   yacc lab
  13 Building SLR parse table,
FIRST and FOLLOW sets
Grammar homework due
  15   yacc lab due
(email to css448@u.washington.edu)
4 18 Build SLR parse table exercise,
Expr, Term, Factor itemsets
 
  20 LR(1) itemsets and LALR parse table;
Parse Table conflicts
 
  21   Phase 2: Parser due:
Turn-in instructions
5 25 Symbol Table - design and implementation
 
  27 More Symbol Table (ST),
ST record - defined by Wirth,
ST storage approaches
Midterm Take-home Exam due;
Phase 3: Symbol Table ,
Symbol Table - kinds of operations,
Symbol Table - sample output
6 May 2 ST discussion; Error handling;  
  4 Dangling else issue;
left vs. right recursion;
Top down vs. bottom parsing; LL
 
7 9 Recursive descent parsing  
  11 Intermediate representation
  (3-address code: triples and quadruples)
Phase 4: Code generation
  14   Phase 3: Symbol Table due, 11pm:
ST turn-in instructions
  15 Last day to drop a course  
8 16 Intermediate representation continued
 
  18 Code generation  
9 23 Code generation: Run-time environment  
  25 Register allocation, Optimization  
10 30 Holiday - Memorial Day  
  Jun 1 Wrap-up, Debriefing  
  4   Phase 4: Code Generation due, 11pm:
Turn-in instructions
11 9 Compiler presentations, potluck
(UW1-110, starts at 4:30pm)
Final Exam due