Question: Consider the following pseudocode, assuming nested subroutines and static scope: procedure main() g : integer procedure B(a : integer) x : integer procedure A(n :
-
Consider the following pseudocode, assuming nested subroutines and static scope:
procedure main()
g : integer
procedure B(a : integer)
x : integer
procedure A(n : integer)
g := n
procedure R(m : integer)
write_integer(x)
x /:= 2 integer division
if x > 1
R(m + 1)
else
A(m)
body of B
x := a a
R(1)
body of main
B(3)
write_integer(g)
-
What does this program print?
-
Show the frames on the stack when A has just been called. For each frame, show the static and dynamic links.
-
Explain how A finds g.
Step by Step Solution
There are 3 Steps involved in it
Get step-by-step solutions from verified subject matter experts
