Explore BrainMass

Ada skeletal program

Consider the following Ada skeletal program:

procedure Main is
X : Interger;
procedure Sub3; -- This is a declaration of Sub3
-- It allows sub1 to call it
procedure Sub1 is
X : Interger;
procedure Sub2 is
begin -- of Sub2
end; -- of Sub2
begin -- of Sub1
end; -- of Sub1
procedure Sub3 is
begin -- of Sub3
end; -- of Sub3
begin -- of Main
end; -- of Main

Assume that the execution of this program is in the following unit order:

Main calls Sub1
Sub1 calls Sub2
Sub2 calls Sub3

Need this explained:

Assuming static scoping, which declaration of X is the correct one for a reference to X in the following:

i. Sub1
ii. Sub2
iii. Sub3

Solution Preview

I call the first declaration of X in Main as outer X and the second declaration of X in Sub1 as
the inner X.

i. ...

Solution Summary

The Ada skeletal program is assessed.