Question: 3. Consider the following program. In each case YOU MUST SHOW ALL YOUR WORK proc main int x,z; proc A; proc B; int x,z {x:=1;

3. Consider the following program. In each case YOU MUST SHOW ALL YOUR WORK proc main int x,z; proc A; proc B; int x,z {x:=1; call C; print x;} (end B) proc C int a,z {x:=3; call D; print x;} (end C) {x:=2; call B; print x;} (end A) proc D; int x,b; proc E; int x; {x:=4; call F; print x;} (end E ) proc F { print x;x:=6;} (end F ) {x:=5; call E; print x;} (end D) {x:=0; call A; print x;} (end main) - (a) What is the program output (assuming static scoping) - (b) List the units that proc C can call (assuming static scoping). - (c) Specify the referencing environment of proc E (assuming static scoping). - (d) What is the corresponding output when dynamic scoping rules are employed? - (e) Specify the referencing environment of proc E (assuming dynamic scoping)
Step by Step Solution
There are 3 Steps involved in it
Get step-by-step solutions from verified subject matter experts
