Class News
Note: The assignments will only become active links when the assignment is given out.
|
|
Text:
Compiler Construction: Principles and Practice by Kenneth Louden, ISBN: 0534939724, Published by Brooks and Cole |
|
An introduction to compiler design and construction. This is a hands-on compiler construction course in which each student will work independently to construct a compiler that actually compiles a rather complex C like language including recursive functions and arrays. The student will be carefully guided toward a successful completion by working on incremental development and testing of the compiler.
Goals:
| Wk# | In-Class Week |
Topics/Links | Assignments | Comments |
|---|---|---|---|---|
| 1 | Aug 24 | Introduction to the class, what we plan on doing, how the class works, where to find stuff. How is a compiler organized. | ||
| 2 | Aug 31 | Scanners and how they are defined, grammars, intro to flex and bison | Read Chapter 1, assignment 1 | |
| 3 | Sep 7 | more on scanners, UNIX tools for homework submission, syntactic analysis | Read Chapter 2 | NO CLASS ON MONDAY |
| 4 | Sep 14 | Context Free Grammar review, Intro to LL(1) parsing | Read Chapter 3 | |
| 5 | Sep 21 | First and Follow sets, formal LL(1) development | Read Chapter 4, assignment 2 | |
| 6 | Sep 28 | various LR parsings and getting bison to build your syntax tree, grammar conditioning such as removing left recursion | Read Chapter 5 | |
| 7 | Oct 5 | More on LR parsing and syntax trees | ||
| 8 | Oct 13 | Symbol tables, type checking, and discuss what you need to know to do assignment 3 | Assignment 3, Read Chapter 6 | TEST TUESDAY over chapts 1-5 |
| 9 | Oct 19 | attribute grammars and how to finish out our syntax tree | ||
| 10 | Oct 26 | discuss assignment 3 | No Class Oct 21 and 23 | |
| 11 | Nov 2 | Using the error token in Bison, start looking at the Tiny Virtual Machine | Assignment 4 | |
| 12 | Nov 9 | More on the virtual machine and assignment 4 | ||
| 13 | Nov 16 | Memory allocation and code generation | Read Chapter 7, Assignment 5 | |
| 14 | Nov 23 | More on code generation, extensions to C- that are common in many languages but that we won't actually include. | ||
| 15 | Nov 30 | FALL BREAK | ||
| 16 | Dec 7 | Optimizations in general, local optimizations, code selection, register allocation, How to add more features to C- such as strings, prototypes, and for statements, how to build linkers and loaders | code generation assignment due this coming weekend!!! | |
| 17 | Dec 14 | Final | Final Exam Friday Dec 17 3:30-5:30pm |