CSCE 531 Spring 2007: Syllabus (subject to change)

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 BeginsTopicLecture #1Lecture #2 Lecture #3Homework
(1) January 15Introduction No class (1) Ch.1 (2) Ch.1Exercises 1.2, 1.4-1.6
(2) January 22Syntax, Semantics, and Language Processors (3) Chs. 1 and 2 (4) Ch.2 (5) Ch.2 TBA
(3) January 29Compilation (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 5Syntactic 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 12Syntactic 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 19Test (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