Assignments / #7

----------------------------------------------------------------------

Due Friday, 12/3/99

Complete the extended PL/0 compiler by implementing the code generation routines for your new AST classes. Be sure that you test the differences between call-by-reference and call-by-value, and that references to up-level variables work, whether the up-level variable was declared as a local, a call-by-value formal, or a call-by-reference formal. Run the extended compiler with the "-a" option to print the assembly code.

The files you need to print out with changes highlighted are {decl,expr,stmt}.{h, codegen.c} and symtab.codegen.c. Note that you may not need to change all of these files. As usual you will need to describe your test cases and turn in your whole PL/0 directory electronically. Also, as usual, you will be graded on correctness of your implementation, on clarity and good design of your implementation, and on sufficiency of your testing.