CSCE 531 Spring 2010: 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 23, 2010. The final exam for the course will take place on Wednesday, May 5, 2010, at 9am in the classroom (300 Main B101). This is the regularly scheduled time for courses taught from 1100 to 1215 on Tuesdays and Thursdays. ( See the university exam schedule.) The syllabus is subject to change: this is especially true of homework.

Week BeginsTopicLecture #1Lecture #2 Homework
(1) January 11Introduction; Syntax, Semantics, and Language Processors (1) Ch.1 (2) Chs. 1 and 2Exercises 1.2, 1.4-1.6
(2) January 18Syntax, Semantics, and Language Processors (3) Ch.2 (4) Ch.2 TBA
(3) January 25Compilation (Overview) (5) Ch.3 (6) Ch.3 Exercises 2.2, 2.3, 2.4, 2.5, 2.6, 2.8, 2.9
(4) February 1Syntactic Analysis (7) Ch.4 (8) Ch.4 Exercises 3.1, 3.2, 3.3, 3.5
(5) February 8Syntactic Analysis (9) Ch.4 (10) 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 15Test (11) Lexical Analysis, ctd. (12) Test Programming exercises: 4.10, 4.14, 4.20, 4.22.
(7) February 22 Contextual Analysis (13) Test post-mortem and student presentation on the development of Wirth's Pascal compiler (14) Student presentation on the Treetop compiler compiler and on lexical analysis using an NFA, and Ch.5 See following week.
(8) March 1 Contextual Analysis (15) Ch.5 (16) Ch.5 Exercises: 5.1, 5.5, 5.6, 5.7, 5.9. Programming exercises: 5.3, 5.4.
(9) March 8 Spring Break No Class No Class NA
(10) March 15 Run-Time Organization (17) Ch.6 (18) 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 22 Code Generation (19) Ch.7 (20) Ch.7 Exercises: 7.1, 7.2, 7.3, 7.4, 7.5, 7.6.
(12) March 29 Code Generation and Projects (21) Ch.7 (22) Assignment of Projects (Subset of) 9.6--9.18
(13) April 5 Interpretation (23) Ch.8 (24) Ch.8 8.5, 8.6 (TBC)
(14) April 12 Conclusion and Advanced Topics (25) Project Discussion (26) Ch.9 TBD
(15) April 19 Conclusion and Advanced Topics (27) Ch.9 (28) Open TBD