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

CSE 401 Autumn 2001 (Henry)

[Home] [Admin] [Details] [Help] [Other]

Assignment #9 (Code Generation and Run time systems)

($Revision: 1.5 $)

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

Due Monday, December 10, 2001

This is the final project assignment! Its now time to make it all work and come together.

If you have not already done so, read ASU 7.1 through 7.5 on run time environments, data storage, and procedure calling.

Implement Code generation for all the extensions of PL/0

Design and implement the extensions to the PL/0 run time system.

Run the extended compiler using arguments to generate assembly code. Run (and, if necessary, debug) the assembly code on SPIM. Run the test cases you wrote in the beginning of the quarter, plus any additional test cases that your more mature knowledge of the PL/0 language and compiler suggest that you write.

As usual, follow the printing instructions and turnin instructions posted in the Help Section.

Turn in printouts for

  • asm.c and asm.h
  • decl.codegen.c epxr.codegen.c and stmt.codegen.c
  • symtab.codegen.c
  • and any other file that has more than roughly 10 lines of code written by you.

    Turn in your whole working directory electronically, even if you only changed a couple of files.

    Please highlight the changes you make on the paper copy.

    Since this chunk of the project is fairly sizable, please begin early on your design and implementation!

    Sign up for a 20 minute time slot for doing face to face grading in the instructional workstation lab. (We'll pass around a paper sign up sheet in class on Wednesday Dec 5.) Andrei and Robert will allocate 4 hours on Monday Dec 10 and Tuesday Dec 11 for face to face grading.

    • You should sign up for a slot that all of your group members can attend.
    • We'll ask you questions about the assignment your approach to solving the major problems, and the hurdles you encountered.
    • We'll ask for a demonstration or two, and will then ask you to compile and run a pl/0 program that we supply.
    • You should have your login session all ready to go at the start of your time slot.
  • ----------------------------------------------------------------------

    401admin at cs.washington.edu