CS 453: Class Schedule (Spring 2007)

Click on a lecture to get the slides. All of the slides are in PDF format. Each reading should be finished before the lecture with which it appears in the table.

Date Topic Reading Handouts and Suggested Exercises Due
Introduction
Jan 17 (W)  Subversion, Eclipse, and other tools    Syllabus  
Jan 19 (F)  Visitor Design Pattern  Ch 1    
Jan 22 (M)  Introduction to Compilers  Ch 4.3 and visitor design pattern wikipedia entry  Code up one of the wikipedia examples and step through it in the debugger  
Jan 24 (W)  Nondeterministic and Deterministic Finite Automaton  Ch 6 in Gagnon's Masters Thesis and PA2    
Jan 26 (F)  PA1 (slides)      
Jan 29 (M)  Lexical Analysis: Regular Expressions (slides)  Ch 2 through 2.2, Ch 4 in Gagnon's Masters Thesis  2.2, 2.4  
Jan 31 (W)  Lexical Analysis: Recognizing Tokens (slides)  Ch 2   2.5, 2.6, 2.9  
Feb 2 (F)  Parsing: Context Free Grammars (slides)  Ch 3 through 3.1    
Feb 5 (M)  Parsing: Ambiguous Grammars (slides)  Ch 5 through 5.5, Ch 4 in Gagnon's Masters Thesis (All his references to AST should really be parse tree or concrete syntax tree)    
Feb 7 (W)  Parsing: Bottom-Up Parsing (slides)  Ch 3.3 and Section about FIRST and FOLLOW sets in Ch 3.2    
Feb 9 (F)  Parsing: Generaing LR Parse Tables (slides)    3.10, 3.11, 3.12  
Feb 12 (M)  Parsing: shift-reduce and reduce-reduce errors (slides)    Try class examples in SableCC  
Feb 14 (W)  Parsing: Top-Down Parsing (slides)  Ch 3.2  3.6, 3.14, write a top-down parser for example grammar given in class  
Feb 16 (F)  Syntax directed translation (slides)  Ch 4  Test yourself problems listed here  
Feb 19 (M)  Translating CST to AST in SableCC (Dave)(slides)(grammar files)  short tutorial,online docs    
Feb 21 (W)  Review for Midterm (Dave)  Bring questions about suggested exercises    
Feb 23 (F)  Visitor Design Pattern (slides)  Ch. 4.3, Ch 6 in Gagnon's Masters Thesis    
Feb 26 (M)  Symbol Table (slides)      
Feb 28 (W)  Programming with Exceptions (slides)  Sun Tutorial on Exceptions in Java    
Mar 2 (F)  Semantic Analysis: Type Checking (slides)  Ch 5    
Mar 5 (M)  Semantic Analysis cont... (slides)      
Mar 7 (W)  Midterm Review      
Mar 9 (F)  Midterm Exam (in class)
Mar 12 (M)  Spring Recess -- No Class
Mar 14 (W)  Spring Recess -- No Class
Mar 16 (F)  Spring Recess -- No Class
Mar 19 (M)  Error Handling (slides)  pgs. 53-55, Section 3.5, pg. 114    
Mar 21 (W)  Error Handling cont... (slides)    Suggested exercises on slides  
Mar 23 (F)  MIPS and Spim     A13 exercise A.7  
Mar 26 (M)  Implementing function calls (slides)      
Mar 28 (W)  Stack frame layout for MiniJava compiler (slides)  Ch. 6.1 in Tiger book  6.1, 6.2, 6.3  
Mar 30 (F)  Stack frames (slides)    Suggested exercises on slides  
Apr 2 (M)  Frames in the MiniJava compiler (slides)  Ch. 6.2    
Apr 4 (W)  MiniJava to MIPS (slides)      
Apr 6 (F)  Intermediate Representation Trees (slides)  Ch. 7 through 7.1    
Apr 9 (M)  Translation to IRT (slides)  Ch. 7.2, 7.3  7.1, 7.3  
Apr 11 (W)  Translation to IRT cont... (slides)      
Apr 13 (F)  Translation to IRT cont... (slides)      
Apr 16 (M)  Translation to IRT cont ... (slides)      
Apr 18 (W)  Cannonicalization and Traces (slides)  Ch. 8.1 and 8.2    
Apr 20 (F)  Instruction Selection (slides)  Ch. 9.1    
Apr 23 (M)  Instruction selection for MiniJava (slides)  Ch. 9.3 and Program section    
Apr 25 (W)  Instruction selection for MiniJava cont... (slides)      
Apr 27 (F)  Instruction selection for CISC machines (slides)  Ch. 9.2  Suggested exercises on slides, 9.1  
Apr 30 (M)  Other register allocation options (slides)  Ch. 12    
May 2 (W)  Register allocation for expression trees (slides)      
May 4 (F)  Final Review (slides)      
May 7 (M)  Final Exam (7:00-9:00am)

Michelle Strout
Last modified: October 28, 2007