Script started on Thu May 20 12:07:12 1999 vestavia% java PL0Int < quotrem.pl0 Source Program -------------- var q, r, x, y; begin x := 32; y := 5; q := 0; r := x; while r >= y do begin q := q + 1; r := r - y end end. Syntax Tree for main program ---------------------------- (; (; (; (; (:= x 32) (:= y 5)) (:= q 0)) (:= r x)) (while-do (>= r y) (; (:= q (+ q 1)) (:= r (- r y))))) Identifier Table for main program --------------------------------- Id Category -- -------- q variable (0, 0) r variable (0, 1) x variable (0, 2) y variable (0, 3) Current Memory Store -------------------- Location Value -------- ----- 0 6 1 2 2 32 3 5 vestavia% java PL0Int < test1.pl0 Source Program -------------- const i = 10; var x, y; procedure p; var i, j; begin i := 5; x := 4 * i end; begin x := i; call p; y := x * i end. Syntax Tree for main program ---------------------------- (; (; (:= x i) (call p)) (:= y (* x i))) Identifier Table for main program --------------------------------- Id Category -- -------- i constant (10) p procedure x variable (0, 0) y variable (0, 1) Syntax Tree for p ----------------- (; (:= i 5) (:= x (* 4 i))) Identifier Table for p ---------------------- Id Category -- -------- i variable (1, 0) j variable (1, 1) Current Memory Store -------------------- Location Value -------- ----- 0 20 1 200 vestavia% exit vestavia% script done on Thu May 20 12:08:09 1999