Question
3. Consider this program In each case you MUST SHOW ALL YOUR WORK proc main int x, z; proc A; proc B; int x, z;
3. Consider this 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 (assuming dynamic scoping) (e) Specify the referencing environment of proc E (assuming dynamic scoping).
Step by Step Solution
There are 3 Steps involved in it
Step: 1
Get Instant Access to Expert-Tailored Solutions
See step-by-step solutions with expert insights and AI powered tools for academic success
Step: 2
Step: 3
Ace Your Homework with AI
Get the answers you need in no time with our AI-driven, step-by-step assistance
Get Started