TDT 4205 -- Tentative Syllabus Spring 2010


Readings are primarily from the "Dragon" book"(D): Compilers: Principles, Techniques and Tools, 2nd EDITION" , (NOT 1. edition from 1986!)

Optional text: Appel: Modern Compiler Implementations in C (or Java)

The course will follow these notes from Cornell fairly closely:

There are also some newer notes from last fall at Cornell, that follow the Appel book more closely:

Extra copies of handouts outside Jan Christian's office!

Lecture overview

Lecture
Date
Topic
Room Avail Due
1
Mon Jan 11
Course Overview -- Ch 1
  • Intro and compiler overview
  KJL 4    
R/ Thu Jan 14 C intro Grammars      
2 Fri Jan 15
  • Lexical analysis: Regular Expressions
  • Course survey
  •   S 4    
    3 Fri Jan 15 Lexical analysis: Finite Automata   S4    
    4 Mon Jan 18 Lexical analysis:Lexical Analyzers  s4    
    R/ Thu Jan 21 C intro Grammars    :PS 1  
    5 Fri Jan 22 Syntax analysis: Context-Free Grammars   R10    
    6 Fri Jan 22 Syntax analysis: Top-Down Parsing    R10    
    R/ Mon Jan 25 PS 2 hints   S2, 10:15-11:00   PS 2  
    7 Mon Jan 25 Syntax analysis: AST Construction S4, 15:15-16:00    
    R/ Thu Jan 28 PS 2 hints - repeat KJL1, 15:15-16:00    PS 1
    - Fri Jan 29 NO CLASS,
    TA (Holger's) office hrs in HPC-Lab, 4th floor IT-Vest
     ITV-460    
    R/ Mon Feb 01 PS 3 hints S2, 10:15 - 11:00 PS 3 PS 2
    8 Mon Feb 01 Syntax analysis: Bottom-Up Parsing  S4, 15:15-16:00    
    9 Thu Feb 04 Syntax analysisp; LR(1) Parsing KJL 1, 15:15-16:00    
    10 Thu Feb 04 Syntax analysis: LR(1) Parsing KJL 1, 15:15-16:00    
    R/ Fri Feb 05 RECITATION - review for PS 3 R10, 12:15-13    
    -- Mon Feb 08 NO CLASS S2, 10:15-11:00    
    11 Mon Feb 08 Semantic analysis: Sytax-Directed Definitions S4, 15:15-16:00    
    12a Thu Feb 11 CERN talk by Nils Hymyr KJL 1, 15:15-16:00    
    12 Thu Feb 11 Semantic analysis: Symbol Tables KJL1, 16:00-17:15    
    12a Thu Feb 11 CERN Presentations R7, 16:30-17:30    
    - Fri Feb 12 RECITATION 5 - review for PS 4 R10, 12:15-13  PS 4  PS 3
    13 Mon Feb 15 Semantic analysis: Static Semantics S4, 15:15-16:00    
    14 Thu Feb 18 Semantic analysis: Attribute Grammars KJL1, 15:15-16:00    
    15 Thu Feb 18 Semantic analysis: Partitioned Attribute Grammars  KJL1, 16:15-17:00    
    R/ Fri Feb 19 RECITATION 6 - further review for PS 4 R10, 12:15-13    
    16 Mon Feb 22 Types and Type Checking S4, 15:15-16:00    
    17 Thu Feb 25 Types and Type Checking
    Intermediate code Midterm hints
    KJL1, 15:15-16:00    
    18 Thu Feb 25 Intermediate code
    Midterm hints
    KJL1, 16:15-17:00    
    R/ Fri Feb 26 RECITATION 7 - PS 4 due, Midterm review R10, 12:15-13     PS 4
    19 Mon Mar 1 Midterm Q and A S4, 15:15-16:00    
    -- Thu March 4 2-hr MIDTERM (in-class) Room TBA, prob. KJL1    
    19 and R/ Fri Mar 5 Efficient IR lowering
    Midterm comments
    RECITATION 8 - PS 5 out
    R10, 12:15-14:00  PS 5  
    20 Mon March 8 Simple Code generation: Stack Frames S4, 15:15-16:00    
    21 and 22 Thu March 11 Generating Pentium code
    Analysis. Optimizations: Implementing Objects.
    KJL1, 15:15-17:00    
    23 and 24 Fri Mar 12 Intro. to Optimization
    Control flow graphs
    Midterm comments
    R10, 12:15-14:00    
    25 Mon March 15 Liveness and Copy Propagation S4, 15:15-16:00    
    26 and 27 Thu March 18 Dataflow analysis
    KJL1, 15:15-17:00    
    R/ Fri Mar 19 TA office hours Midterm comments TBA, 12:15-14:00     PS 5
    -- Mar 22-26 Excursion week - no class --    
    -- Mar 29-Apr 06 EASTER BREAK - no class --    
    28 and 29 Thu April 08 Dataflow analysis instance
    Control flow analysis
    KJL1, 15:15-17:00    
    R/ Fri April 09 Recitation: PS 6 OUT -- hints Midterm comments R10, 12:15-13:00  PS 6  
    30 Mon Apr 12 Loop optimizations and pointer analysis S4, 15:15-16:00    
    31 and 32 Thu April 15 Intruction selection -- last regular lectures!
    KJL1, 15:15-17:00    
    -- Apr 19-23 NO CLASS -- Work on PS 6 --    
    -- Apr 23 PS 6 due -- graded! --     PS 6

    All handouts are avaiable outside the TAs office and are considered exam material, in addition to all programmin exercives, all notes from the TA (see http://www.idi.ntnu.no/~janchris/ on C and Assembler.

    The following chapters of the main text will be emphasized in the course and are considered exam material:

    For Midterm Ch 1-5 + 6.2 and 6.5 are covered in addition to all handouts and Problem sets handed out to date!

    Including CU lecture notes 1-17.
    This page is maintained by : elster -at- idi.ntnu.no

    Comments welcome. All above notes and assignments for TDT 4205 are COPYRIGHTed by Dr. Elster and/or the author(s). Any copying or further publication without the authors' consent is a COPYRIGHT violation.