CSCE 531 Spring 2013: 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 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 BeginsTopicLecture #1Lecture #2 Homework
(1) January 15Introduction; Syntax, Semantics, and Language Processors (1) Ch.1 (2) Chs.1 and 2Exercises 1.2, 1.4-1.6
(2) January 22Syntax, Semantics, and Language Processors (3) Ch.2 (4) Ch.2 TBA
(3) January 29Compilation (Overview) (5) Ch.3 (6) Ch.3 Exercises 2.2, 2.3, 2.4, 2.5, 2.6, 2.8, 2.9
(4) February 5Syntactic Analysis (7) Ch.4; additional readings (8) Ch.4; additional readings Exercises 3.1, 3.2, 3.3, 3.5
(5) February 12Syntactic 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 19Syntactic Analysis (11) Ch.4; additional readings (12) Ch.4; additional readings Programming exercises: 4.10, 4.14, 4.20, 4.22.
(7) February 26Test (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