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 25, 2008. The final exam for the course will take place on Wednesday, April 30, 2008, at 9am in the classroom (Swearingen 2A21). This is the regularly scheduled time for courses taught from 1115 to 1205 on Mondays, Wednesdays, and Fridays. ( See the university exam schedule.) The syllabus is subject to change: this is especially true of homework.
Week Begins | Topic | Lecture #1 | Lecture #2 | Lecture #3 | Homework |
---|---|---|---|---|---|
(1) January 14 | Introduction; Syntax, Semantics, and Language Processors | (1) Ch.1 | (2) Ch.1 | (3) Chs. 1 and 2 | Exercises 1.2, 1.4-1.6 |
(2) January 21 | Syntax, Semantics, and Language Processors | (3) No class | (4) Ch.2 | (5) Ch.2 | TBA |
(3) January 28 | 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 |
(4) February 4 | Syntactic Analysis | (9) Ch.4 | (10) Ch.4 | (11) Ch.4 | Exercises 3.1, 3.2, 3.3, 3.5, 3.6 |
(5) February 11 | 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 18 | Test | (15) Test | (16) Test Post-Mortem | (17) Ch.4 | Programming exercises: 4.10, 4.14, 4.20, 4.22. |
(7) February 25 | Contextual Analysis | (18) Ch.5 | (19) Ch.5 | (20) Ch.5 | See following week. |
(8) March 3 | 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. |
(9) March 10 | Spring Break | No Class | No Class | No Class | NA |
(10) March 17 | 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. |
(11) March 24 | 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) March 31 | Code Generation and Projects | (30) Ch.7 | (31) Ch.7 | (32) Assignment of Projects | (Subset of) 9.6--9.18 |
(13) April 7 | Interpretation | (33) Ch.8 | (34) Ch.8 | (35) Ch.8 | 8.5, 8.6 (TBC) |
(14) April 14 | Conclusion and Advanced Topics | (36) Project Discussion | (37) Ch.9 | (38) Ch.9 | TBD |
(15) April 21 | Conclusion and Advanced Topics | (39) Ch.9 | (40) Open | (41) Open | TBD |
(16) April 28 | Open | (42) Open | No class | No class | TBD |