procedure Bigsub is
procedure A (Flag: Boolean ) is
v,w : Integer
procedure B is
u,y : Integer
A(false);
end; -- of B
if flag
then B;
else C;
...
end; -- of A
procedureC is
u,w,y : Integer;
procedure D is
t,z : Integer
...
z = t*u + y-w;
...
end; -- of D
...
D;
end; -- of C
begin
t,u,v : Integer
...
A(true);
...
end; -- of BigSub