The textbook is: Watt, David A. and Deryck F. Brown Programming Language Processors in Java. Prentice-Hall, 2000 (required text). Supplementary materials from the author, including an errata list, are available.
The last day to withdraw without failure is Monday, February 26, 2007. The final exam for the course will take place on Tuesday, May 8, 2007, at 9am in the classroom (Swaeringen 2A31). This is the regularly scheduled time for courses taught from 1325 to 1425 on Mondays, Wednesdays, and Fridays. ( See the university exam schedule.)
Week Begins | Topic | Lecture #1 | Lecture #2 | Lecture #3 | Homework |
---|---|---|---|---|---|
(1) January 15 | Introduction | No class | (1) Ch.1 | (2) Ch.1 | Exercises 1.2, 1.4-1.6 |
(2) January 22 | Syntax, Semantics, and Language Processors | (3) Chs. 1 and 2 | (4) Ch.2 | (5) Ch.2 | TBA |
(3) January 29 | Compilation (Overview) | (6) Ch.3 | (7) Ch.3 | (8) Ch.3 | Exercises 2.2, 2.3, 2.4, 2.5, 2.6, 2.8, 2.9. Graduate student presentation: [Earley and Sturgis, 1970] (to be confirmed). |
(4) February 5 | Syntactic Analysis | (9) Ch.4 | (10) Ch.4 | (11) Ch.4 | Exercises 3.1, 3.2, 3.3, 3.5. (TBC) Graduate student presentation: [Wirth, 1971]. (TBC) |
(5) February 12 | Syntactic Analysis | (12) Ch.4 | (13) Ch.4 | (14) Ch.4 | lex (or Jlex) and yacc (or Cup or javacc) exercises. Exercises: 4.1, 4.2, 4.3, 4.4, 4.5, 4.6, 4.7, 4.8, 4.9, 4.11, 4.12, 4.13. |
(6) February 19 | Test | (15) Test | (16) Test Post-Mortem | (17) Ch.4 | Programming exercises: 4.10, 4.14, 4.20, 4.22. Graduate student presentation: Section 3.3 of [Appel, 1997] (LR Parsing) (TBC). |
(7) February 26 | Contextual Analysis | (18) Ch.5 | (19) Ch.5 | (20) Ch.5 | See following week. |
(8) March 5 | Contextual Analysis | (21) Ch.5 | (22) Ch.5 | (23) Ch.5 | Exercises: 5.1, 5.5, 5.6, 5.7, 5.9. Programming exercises: 5.3, 5.4 (TBD). |
(9) March 12 | Spring Break | No Class | No Class | No Class | NA |
(10) March 19 | Run-Time Organization | (24) Ch.6 | (25) Ch.6 | (26) Ch.6 | Exercises: 6.1, 6.2, 6.4, 6.5, 6.6, 6.7, 6.10, 6.11, 6.16, 6.18, 6.19, 6.21, 6.32, 6.33 (TBC) |
(11) March 26 | Code Generation | (27) Ch.7 | (28) Ch.7 | (29) Ch.7 | Exercises: 7.1, 7.2, 7.3, 7.4, 7.5, 7.6. |
(12) April 2 | Code Generation and Projects | (30) Ch.7 | (31) Ch.7 | (32) Assignment of Projects | (Subset of) 9.6--9.18 |
(13) April 9 | Interpretation | (33) Ch.8 | (34) Ch.8 | (35) Ch.8 | 8.5, 8.6 (TBC) |
(14) April 16 | Conclusion and Advanced Topics | (36) Project Discussion | (37) Ch.9 | (38) Ch.9 | TBD |
(15) April 23 | Conclusion and Advanced Topics | (39) Ch.9 | (40) Open | (41) Open | TBD |
(16) April 30 | Open | (42) Open | No class | No class | TBD |