CS 412/413
Introduction to Compilers
Spring 2008

Schedule

 
Lecture
Date
Topic
Avail Due
1
Jan 21
Course Overview    
2 23 Lexical analysis: Regular Expressions    
3 25 Lexical analysis: Finite Automata HW1  
4 28 Lexical analysis: Lexical Analyzers PA1  
5 30 Syntax analysis: Context-Free Grammars    
6 Feb 1 Syntax analysis: Top-Down Parsing     HW1
7 4 Syntax analysis: AST Construction    
8 6 Syntax analysis: Bottom-Up Parsing  HW2 PA1
9 8 Syntax analysis: LR(1) Parsing    
10 11 Syntax analysis: LR(1) Parsing PA2  
11 13 Semantic analysis: Syntax-Directed Definitions    
12 15 Semantic analysis: Symbol Tables    
13 18 Semantic analysis: Static Semantics   HW2
14 20 Semantic analysis: Attribute Grammars HW3  
15 22 Semantic analysis: Partitioned Attribute Grammars      
16 25 Attribute Grammars and Natural Semantics    
17 27 Types and Type-Checking   PA2
18 29 Intermediate Code    
Mar 3  Prelim 1 review
4  Prelim 1. Philips 213, 7:30pm.  Lectures 1-17, closed book.
19 5 Efficient IL Lowering PA3 HW3
20 7 Simple code generation: Stack Frames    
21 10 Simple code generation: Generating Pentium Codes    
22 12 Analysis, optimizations: Implementing Objects    
23 14 Analysis, optimizations: Introduction to Optimizations    

Spring Break

24 24 Analysis, optimizations: Control Flow Graphs    
25 26 Analysis, optimizations: Liveness and Copy Propagation    
26 28 Analysis, optimizations: Dataflow Analysis Frameworks    
27 31 Analysis, optimizations: More Dataflow Analysis   PA3
28 Apr 2 Analysis, optimizations: Dataflow Analysis Instances    
29 4 Code generation: Control Flow Analysis    
30 7 Code generation: Loop Optimizations and Pointer Analysis    
31 9 Code generation: Instruction Selection    
32 11 Code generation: More Instruction Selection HW4,PA4  
33 14 Advanced topics: Register Allocation    
34 16 Advanced topics: Memory Management    
35 18 Advanced topics: Partial Evaluation   HW4
21 Prelim 2 review    
22 Prelim 2. Phillips 213, 7:30pm.  Comprehensive, closed book.
36 23 TBD    
37
25
TBD    
38 28 TBD    
39 30 TBD    
40 May 2 TBD    
 

30

Programming Assignment 4 Due   PA4
 
Final project demonstration