COM S 440/540: Principles and Practice of Compiling

  

Home       Syllabus    Schedule    Assignments    References      

  
  

Instructor: Wei Le (weile@iastate.edu)

TA: Jucheol Moon (moon@iastate.edu)

Class Schedule:T Th 11:00am-12:15pm COOVER 1011

Office Hours:
(Instructor) Th 2:00pm-3:00pm ATANASOFF 210
(TA) W 9:00am-10:00am ATANASOFF B0004

  

Schedule       

Week Topic
   
1-1      Introduction    slides
1-2      Lexical Analysis (Scanner) slides
2-1      Implementing a Compiler slides
2-2      Syntax Analysis (Parser) - Intro slides
3-1      Syntax Analysis (Parser) - Recursive Descendant Parsing slides
3-2      Syntax Analysis (Parser) - LL(1) Parsing slides
4-1 and 4-2      Syntax Analysis (Parser) - LR Parsing slides
5-1 and 5-2      Semantic Analysis - Scoping and Symbol Table slides
6-1 and 6-2      Semantic Analysis - Type Checking
7-1 and 7-2      Semantic Analysis - Type Checking slides
8-1 and 8-2      Runtime Organization slides
9-1 and 9-2      Review and Catch Up - Front End slides, Recursive Descendent Parser for WA1-3
10-1      Review and Catch Up - Front End
10-2      Exam - Front End
11      Code Generation slides
12-1      Operational Semantics slides
12-2      Optimization slides
13-1      Optimization slides
13-2      Register Allocation slides
14-1      Garbage Collection slides
14-2      Just In Time Compilation slides   slides2
15-1      Final Review Notes
15-2      Compiler in Practice, GCC Slides   GCC bugs: Post1   GCC bugs: Post2
    


 

Assignments

     Cool PA1
     Cool PA2
     WA1
     Cool PA3
     Cool PA4
     WA2
     Cool PA5


 

References

     Cool Manual      Cool Examples      Spim      A Tour of the Cool Support Code      Flex      Make
     Cool Runtime    Cool Aid Manual     


 

Acknowledgement       

Thank Alex Aiken for Cool Project materials and Zhendong Su for some of the lecture slides.