Question: Consider the following pseudocode: x : integer global procedure set x(n : integer) x := n procedure print x() write integer(x) procedure foo(S, P
Consider the following pseudocode:
x : integer –– global
procedure set x(n : integer)
x := n
procedure print x()
write integer(x)
procedure foo(S, P : function; n : integer)
x : integer := 5
if n in {1, 3}
set x(n)
else
S(n)
if n in {1, 2}
print x()
else
P
set x(0); foo(set x, print x, 1); print x()
set x(0); foo(set x, print x, 2); print x()
set x(0); foo(set x, print x, 3); print x()
set x(0); foo(set x, print x, 4); print x()
Assume that the language uses dynamic scoping. What does the program
print if the language uses shallow binding? What does it print with deep
binding? Why?
Step by Step Solution
3.37 Rating (150 Votes )
There are 3 Steps involved in it
With shallow binding setx and printx always access foos local ... View full answer
Get step-by-step solutions from verified subject matter experts
