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

Individual homework

  1. Text, 7.1
  2. Text, 7.3
  3. Text, 7.6abc
  4. Text, 7.9
  5. For the following program, sketch the activation records, dynamic links, and static links for the program when execution reaches the point marked HERE for the second time. (You do not need to show offsets or other internal structure in the activation records.) Caution: PL/0 doesn't support mutual recursion; see class email discussion on 5/13 beginning here.
        module M;
           procedure P();
              procedure Q();
              begin
                 R();
              end Q;
           begin
              Q();
           end P;
           procedure R();
           begin
              # HERE
              P();
           end R;
        begin
           R();
        end M.
    

Project

Implement storage layout for the extended PL/0 language.  Run the extended compiler with the "-r -R" options to print the runtime space allocation, (extending print() methods as needed).

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

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