Final grades are posted on Canvas.
Notes on the Use of Java in This Course
Assignment I, handed out on 8/24 and due on 9/3
Assignment II, handed out on 9/5 and due on 9/20
Assignment III, handed out on 9/26 and due on 10/11
Assignment IV, handed out on 10/12 and due on 10/22
Assignment V, handed out on 10/26 and due on 11/12
Assignment VI, handed out on 11/14 and due on 12/1
Please use Canvas to check your grades.
The Java Tutorials, particularly the Learning the Java Language tutorial
The Lex & YACC Page (including manuals for Flex and Bison)
Textbook webpage (including errata)
Jison, a tool for building parse tables by Zach Carter (an alumnus of this course)
Week | Dates | Topics | Recommended Reading |
---|---|---|---|
1 | 08/22, 08/24 | Introduction; Phases of compilation; DJ; DISM | 1.1-1.7 |
2 | 08/29, 08/31 | Lexical analysis | 2.1-2.3, 2.6 |
3 | 09/05 | Lexical analysis | 2.4, 3.1-3.4 |
4 | 09/14 | Syntactic analysis | 3.1-3.4 |
5 | 09/19, 09/21 | Syntactic analysis | 4.3.1-4.3.2, 5.1-5.5 |
6 | 09/26, 09/28 | Syntactic analysis | 4.1-4.2, 4.3.3 |
7 | 10/03, 10/05 | Test I | Class notes |
8 | 10/10, 10/12 | Abstract syntax trees; Semantic analysis | Class notes |
9 | 10/17, 10/19 | Semantic analysis | Class notes |
10 | 10/24, 10/26 | Code generation | 7.1, 7.3.1, 7.4 |
11 | 10/31, 11/02 | Test II | Class notes |
12 | 11/07, 11/09 | Code generation; Garbage collection | Class notes |
13 | 11/14, 11/16 | Garbage collection; Code optimizations | Class notes |
14 | 11/28, 11/30 | Code optimizations; Bootstrapping | 8.9, Reflections on Trusting Trust |
Final | 12/05 | Test III (Final Exam), 3-5pm | All tests are cumulative |