CS 412/413
Introduction to Compilers
Spring 2005

Schedule

 
Lecture
Date
Topic
Avail Due
1
Jan 24
Course Overview    
2 26 Lexical analysis: Regular Expressions    
3 28 Lexical analysis: Finite Automata hw1  
4 31 Lexical analysis: Lexical Analyzers pa1  
5 Feb 2 Syntax analysis: Context-Free Grammars    
6  4 Syntax analysis: Top-Down Parsing     hw1
7 7 Syntax analysis: AST Construction hw2  
8 9 Syntax analysis: Bottom-Up Parsing    pa1
9 11 Syntax analysis: LR(1) Parsing    
10 14 Syntax analysis: LR(1) Parsing pa2  
11 16 Semantic analysis: Sytax-Directed Definitions    
12 18 Semantic analysis: Symbol Tables    
13 21 Semantic analysis: Types and Type-Checking   hw2
14 23 Semantic analysis: Static Semantics hw3  
15 25 Semantic analysis: Objects     
16 28 Intermediate code: Attribute Grammars    
17 Mar 2 Intermediate code: Partitioned Attribute Grammars   pa2
18 4 Intermediate code: Intermediate Code    
 7  Prelim 1 review
8  Prelim 1. Phillips 213, lectures 1-18, closed book.
19 11 Simple code generation: Intermediate Code pa3 hw3
20 14 Simple code generation: Stack Frames    
21 16 Simple code generation: Generating Pentium Codes    
22 18 Analysis, optimizations: Implementing Objects    

Spring Break

23 28 Analysis, optimizations: Introduction to Optimizations    
24 30 Analysis, optimizations: Control Flow Graphs    
25 Apr 1 Analysis, optimizations: Liveness and Copy Propagation    
26 4 Analysis, optimizations: Dataflow Analysis Frameworks   pa3
27 6 Analysis, optimizations: More Dataflow Analysis    
28 8 Analysis, optimizations: Dataflow Analysis Instances    
  11 Demo of Static Analysis Applications    
29 13 Code generation: Control Flow Analysis    
30 15 Code generation: Loop Optimizations and Pointer Analysis    
31 18 Code generation: Instruction Selection    
32 20 Advanced topics: More Instruction Selection    
33 22 Advanced topics: Register Allocation    
34 25 Advanced topics: Memory Management    
27 Prelim 2 review    
28 Prelim 2. Room tbd, lectures 16-34, closed book.
35 May 2 Advanced topics: Linking and Loading    
36
4
Advanced topics: Advanced Analyses    
Final project demonstration