image University of Washington Computer Science & Engineering
  CSE 401Sp '04:  Assignment #5, Due Friday, 5/7/04
  CSE Home   About Us    Search    Contact Info 

Individual homework

None this week.

Project

Implement typechecking and other semantic checking and analysis for the extended PL/0 language.

For your debugging pleasure, you can run the extended compiler with the "-p -s -S" options to print the abstract syntax tree, the symbol table, and then stop. As usual, extend the print() methods as needed to support this.

Turn in printouts for {decl,expr,stmt}.tc.c, symtab.{h,c}, type.{h,c}, and any other files that you modify substantially. (You may need to change some of your AST .h files, because methods you had only declared are now actually going to be implemented; however, these changes are probably minor; you don't have to turn in printouts for them in that case.) Turn in your whole working directory electronically as usual (after cleaning up .core files, etc.; cf. instructions), even if you only changed a couple of files.

As usual, turn in only one solution per group, including:

As usual, you will be graded on the thoroughness, correctness, clarity and good design of your implementation, and on sufficiency of your test cases.

This is probably the biggest single chunk of the PL/0 project, so please begin early! We strongly recommend that you complete implementation of some portion of this phase (say, typechecking expressions), before the midterm.


CSE logo Computer Science & Engineering
University of Washington
Box 352350
Seattle, WA  98195-2350
(206) 543-1695 voice, (206) 543-2969 FAX
[comments to cse401-webmaster at cs.washington.edu]