Week 1 (Jan 2-6) |
Lecture Topics: |
|
Readings: |
- Crafting a Compiler: Chapters 1, 2 and 3
- Students without COMP 330: Learn the basics of regular expressions/languages and context-free languages. A good online resource can be found here
|
Milestones: |
- Start to form groups (3 people per group recommended)
- Create a GitHub account, learn git as needed
|
Week 2 (Jan 9-13) |
Lecture Topics: |
|
Readings: |
-
Crafting a Compiler (recommended):
- Chapter 4.1-4.4
- Chapter 5.1-5.2
- Chapter 6.1-6.2; 6.4
-
Crafting a Compiler (optional):
- Chapter 4.5
- Chapter 5.3-5.9
- Chapter 6.3; 6.5
|
Milestones: |
- Continue forming your groups
- Learn the basics of flex, bison, SableCC
- Assignment 1 posted. Due Wednesday, January 25th
|
Week 3 (Jan 16-20) |
Lecture Topics: |
|
Readings: |
- Crafting a Compiler: Chapter 7
- [Alternate] Modern Compiler Design in Java: Chapter 4
|
Milestones: |
- Add/Drop deadline: Tuesday, January 17th
- Group signup
- Continue working on Assignment 1
|
Week 4 (Jan 23-27) |
Lecture Topics: |
|
Readings: |
|
Milestones: |
- Assignment 1 Due: Wednesday, January 25th
- Group signup completion
- Assignment 2 posted. Due Sunday, February 12th
|
Week 5 (Jan 30-Feb 3) |
Lecture Topics: |
|
Readings: |
- Crafting a Compiler: Chapter 8.5-8.9
|
Milestones: |
- Continue working on Assignment 2
- Milestone 1 posted. Due Sunday, February 26th
|
Week 6 (Feb 6-10) |
Lecture Topics: |
|
Readings: |
|
Milestones: |
- Assignment 2 Due: Sunday, February 12th
- Start working on Milestone 1
|
Week 7 (Feb 13-17) |
Lecture Topics: |
|
Readings: |
- Crafting a Compiler: Chapter 11
|
Milestones: |
- Continue working on Milestone 1
|
Week 8 (Feb 20-24) |
Lecture Topics: |
|
Readings: |
- Crafting a Compiler: Chapter 13.6
|
Milestones: |
- Milestone 1 Due: Sunday, February 26th
- Milestone 2 posted. Due Sunday, March 12th
- Peephole optimizer posted. Due Tuesday, April 11th
|
Reading Week Feb 27-Mar 3 (No Class/Office Hours) |
Week 9 (Mar 6-10) |
Lecture Topics: |
|
Readings: |
- Crafting a Compiler: Chapter 12.4
|
Week 10 (Mar 13-17) |
Lecture Topics: |
|
Milestones: |
- Milestone 2 Due: Monday, March 13th 12:00 (lunch time)
- Class cancelled Wednesday. Office hours from 13:30-15:30
- Milestone 3 posted. Due Sunday, March 26th
- Milestone 4 posted. Due Tuesday, April 4th
- Final report posted. Due Tuesday, April 11th
- Midterm: Friday, March 17th (either 13:00-14:30 or 13:30-15:00)
|
Week 11 (Mar 20-24) |
Lecture Topics: |
|
Milestones: |
- Milestone 3 Due: Sunday, March 26th
|
Week 12 (Mar 27-31) |
Lecture Topics: |
- Native Code Generation (cont)
|
Week 13 (Apr 3-7) |
Lecture Topics: |
|
Milestones: |
- Milestone 4 Due: Tuesday, April 4th
|
Week 14 (Apr 10-14) |
Lecture Topics: |
- Course Recap (Garbage collection to native code generation)
|
Milestones: |
- Peephole Optimizer Due: Tuesday, April 11th
- Final Report Due: Tuesday, April 11th
|