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 drop or add the course is Friday, January 18, 2013. The last day to withdraw without failure is Monday, March 4, 2013. The final exam for the course will take place on Wednesday, May 8, 2013, at 1230 in the classrooms. This is the regularly scheduled time for courses taught from 1530 to 1645 on Tuesdays and Thursdays. ( See the university exam schedule.) The syllabus is subject to change: this is especially true of homework.
Week Begins | Topic | Lecture #1 | Lecture #2 | Homework |
---|---|---|---|---|
(1) January 15 | Introduction; Syntax, Semantics, and Language Processors | (1) Ch.1 | (2) Chs.1 and 2 | Exercises 1.2, 1.4-1.6 |
(2) January 22 | Syntax, Semantics, and Language Processors | (3) Ch.2 | (4) Ch.2 | TBA |
(3) January 29 | Compilation (Overview) | (5) Ch.3 | (6) Ch.3 | Exercises 2.2, 2.3, 2.4, 2.5, 2.6, 2.8, 2.9 |
(4) February 5 | Syntactic Analysis | (7) Ch.4; additional readings | (8) Ch.4; additional readings | Exercises 3.1, 3.2, 3.3, 3.5 |
(5) February 12 | Syntactic Analysis | (9) Ch.4; additional readings | (10) Ch.4; additional readings | 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 | Syntactic Analysis | (11) Ch.4; additional readings | (12) Ch.4; additional readings | Programming exercises: 4.10, 4.14, 4.20, 4.22. |
(7) February 26 | Test | (13) Test or Review | (14) Test or Review | TBD |
(8) March 5 | Contextual Analysis | (14) Ch.5 | (15) Ch.5 | See week 10. |
(9) March 12 | Spring Break | No Class | No Class | NA |
(10) March 19 | Contextual Analysis | (17) Ch.5 | (18) Ch.5 | Exercises: 5.1, 5.5, 5.6, 5.7, 5.9. Programming exercises: 5.3, 5.4. |
(11) March 26 | Run-Time Organization | (19) Ch.6 | (20) 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. |
(12) April 2 | Code Generation | (21) Ch.7 | (22) Ch.7 | Exercises: 7.1, 7.2, 7.3, 7.4, 7.5, 7.6. |
(13) April 9 | Code Generation and Projects | (23) Ch.7 | (24) Assignment of Projects | (Subset of) 9.6--9.18 |
(14) April 16 | Interpretation | (25) Ch.8 | (26) Ch.8 | 8.5, 8.6 (TBC) |
(15) April 23 | Conclusion and Advanced Topics | (27) Project Discussion | (28) Ch.9 | TBD |