Question: Consider the following pseudocode, written in a language with nested subroutines: procedure main() a : integer procedure B(a : integer) x : integer procedure A(n
Consider the following pseudocode, written in a language with nested subroutines:
procedure main()
a : integer
procedure B(a : integer)
x : integer
procedure A(n : integer)
a := n
procedure R(m : integer)
print x
x = x - 2
if x > 1
R(m + 1)
else
A(m)
body of B
x := a a
R(1)
body of main
B(3)
print a
a) What does this program print, if we assume static scoping, respectively, dynamic scoping?
b) Show the frames on the stack when A has just been called. For each frame, show the values of the local variables and the static links.
Step by Step Solution
There are 3 Steps involved in it
Get step-by-step solutions from verified subject matter experts
