Question: Consider the following pseudocode: x : integer := 1 y : integer := 2 procedure add() x := x + y procedure second(P : procedure)

Consider the following pseudocode:
x : integer := 1
y : integer := 2
procedure add()
    x := x + y
procedure second(P : procedure)
    x : integer := 2
    P()
procedure first
    y : integer := 3
    second(add)
first()
write integer(x)

(a) What does this program print if the language uses static scoping?

(b) What does it print if the language uses dynamic scopingwith deep binding?

(c) What does it print if the language uses dynamic scoping with shallow binding?

Step by Step Solution

3.44 Rating (167 Votes )

There are 3 Steps involved in it

1 Expert Approved Answer
Step: 1 Unlock

a ... View full answer

blur-text-image
Question Has Been Solved by an Expert!

Get step-by-step solutions from verified subject matter experts

Step: 2 Unlock
Step: 3 Unlock

Students Have Also Explored These Related Programming Language Pragmatics Questions!