| Week 1 |
| Topics |
Orientation: Class Policies and Course Outline
|
| Lesson Notes |
Course
Overview |
| Lab Exercises |
|
| |
| Week 2 |
| Topics |
Overview of Compiler Design Principles |
| Lesson Notes |
|
| Lab Exercises |
|
| |
| Week 3 |
| Topics |
Introduction to Compiler Design and Implementation
|
| Lesson Notes |
Introduction
to Compilers A
Introduction
to Compilers B |
| Lab Exercises |
|
| |
| Week 4 |
| Topics |
Lexical Analysis
§
Finite Automata (review)
§
Role of Lexical Analyzer
§
Input buffering
§
Token Definition and Recognition |
| Lesson Notes |
|
| Lab Exercises |
|
| |
| Week 5 |
| Topics |
Lexical Analysis (cont'd)
§
Lexical Analyzer Implementation
§
Using Lex/Flex/Jlex |
| Lesson Notes |
|
| Lab Exercises |
|
| |
| Week 6 |
| Topics |
Syntactic Analysis
§
Context Free Grammars (Review)
|
| Lesson Notes |
|
| Lab Exercises |
|
| |
| Week 7 |
| Topics |
Syntactic Analysis (cont'd)
§
Recursive descent parsing
§
Top-Down and Bottom-Up Parsing
§
LL and LR Parsing
|
| Lesson Notes |
|
| Lab Exercises |
|
| |
| Week 8 |
| Topics |
Syntactic Analysis (cont'd)
§
Syntax Analyzer Implementation
§
Using Yacc/Bison
|
| Lesson Notes |
|
| Lab Exercises |
|
| |
| Week 9:
MIDTERM EXAMINATIONS |
|
|
| Week 10 |
| Topics |
Syntax-Directed Translation
§
Attribute Definition
§
Evaluation of Attribute Definitions |
| Lesson Notes |
|
| Lab Exercises |
|
| |
| Week 11 |
| Topics |
Syntax-Directed Translation (cont'd)
§
Implemtation of Simple Syntax-Directed Translator |
| Lesson Notes |
|
| Lab Exercises |
|
| |
| Week 12 |
| Topics |
Semantic Analysis
§
Attributes and Attribute Grammar
§
Algorithms for Attribute Computations |
| Lesson Notes |
|
| Lab Exercises |
|
| |
| Week 13 |
| Topics |
Semantic Analysis (cont'd)
§
Symbol Table
§
Data Types and Type Checking |
| Lesson Notes |
|
| Lab Exercises |
|
| |
| Week 14 |
| Topics |
Runtime Environment
§
Source Language Issues
§
Storage organization
§
Storage-allocation strategies
§
Access to nonlocal names
§
Parameter Passing
§
Dynamic Storage |
| Lesson Notes |
|
| Lab Exercises |
|
| |
| Week 15 |
| Topics |
Intermediate Code Generation
§
Intermediate languages
§
Declarations
§
Assignment Statement
§
Boolean Expressions
§
Case Statements
§
Backpacking
§
Procedure Calls |
| Lesson Notes |
|
| Lab Exercises |
|
| |
| Week 16 |
| Topics |
Code Optimization and Generation |
| Lesson Notes |
|
| Lab Exercises |
|
| |
| Week 17 |
| Topics |
Review and Project Presentation |
| Lesson Notes |
|
| Lab Exercises |
|
| |
|
Week 18: FINAL EXAMINATIONS
|
|
|