CS 4550: Translation of Programming Languages

the stages of compiler construction, blue for analysis stages and orange for synthesis stages

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 Homework 11
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.