What's New?
I have just posted the link to Module 7. We can see the finish line! Let me know if you have any questions as you are completing your project.
I have posted Module 6. I also added some new ideas to the page of Klein program ideas which might give you an idea of a new Klein program your team can write for Module 6. I encourage you to come up with your own ideas!
Schedule
| Week | Date | Topic | Reading | Notes & Code | Assignments | |
|---|---|---|---|---|---|---|
| 1 | Tue, 08/26 | Introduction to compilers | 01 notes & code | Homework 00 | ||
| Thu, 08/28 | Lexical analysis | Thain, Chapter 2, and a simple compiler | 02 notes | Homework 01 | ||
| 2 | Tue, 09/02 | Thain, Sections 3.1-3.3 | 03 notes | |||
| Thu, 09/04 | Thain, Section 3.4 | 04 notes | Module 1 | |||
| 3 | Tue, 09/09 | Thain, Sections 3.5-3.6 | 05 notes & code | |||
| Thu, 09/11 | Thain, Section 3.8 | 06 notes & code | ||||
| 4 | Tue, 09/16 | Syntactic analysis | Thain, Sections 4.1-4.2 | 07 notes & code | ||
| Thu, 09/18 | Thain, Section 4.3 | 08 notes & code | Module 2 | |||
| 5 | Tue, 09/23 | Thain, Section 4.4 | 09 notes & code | |||
| Thu, 09/25 | 10 notes | |||||
| 6 | Tue, 09/30 | Thain, Sections 6.1-6.4 | 11 notes & code | |||
| Thu, 10/02 | Thain, Sections 6.5-6.7 | 12 notes & code | Module 3 | |||
| 7 | Tue, 10/07 | 13 notes | ||||
| Thu, 10/09 | Implementing Semantic Actions and ASTs | 14 notes & code | Homework 10 | |||
| 8 | Tue, 10/14 | Semantic analysis | Thain, Sections 7.1-7.3 | 15 notes & code | ||
| Thu, 10/16 | Thain, Sections 7.4-7.7 | 16 notes | Module 4 | |||
| 9 | Tue, 10/21 | more on types | 17 notes | |||
| Thu, 10/23 | Run-time systems | TM basics | 18 notes & code++ | |||
| 10 | Tue, 10/28 | TM spec | 19 notes & code | |||
| Thu, 10/30 | Thain, Chapter 8 | 20 notes & code | Module 5 | |||
| 11 | Tue, 11/04 | handout | 21 notes & code | |||
| Thu, 11/06 | Thain, Chapter 9 | 22 notes & code | ||||
| 12 | Tue, 11/11 | 23 notes | ||||
| Thu, 11/13 | Code generation | Thain, Sections 11.1-11.3 | 24 notes & code | Module 6 | ||
| 13 | Tue, 11/18 | Thain, Sections 11.4-11.6 | 25 notes & code | |||
| Thu, 11/20 | 26 notes & code | |||||
| . | Tue, 11/25 | THANKSGIVING BREAK | ||||
| Thu, 11/27 | ||||||
| 14 | Tue, 12/02 | Optimization | 27 notes & code | |||
| Thu, 12/04 | Thain, Sections 12.1-12.3 | 28 notes & code | Module 7 | |||
| 15 | Tue, 12/09 | Thain, Sections 12.4-12.7 (optional) | 29 notes & code | |||
| Thu, 12/11 | Course wrap-up | 30 notes | Presentation | |||
| F | Thu, 12/18 | Project presentations | 1:00-2:50 PM | 31 notes & code | ||
Our final exam period is Thursday, December 18, 1:00-2:50 PM. There is no final exam, but attendance is required. Project teams will demo their finished compilers, we will run some cross-testing of programs, and we will otherwise wrap up the course.