@c+
module test20_2 -- deep nesting and non local variables
-- This is a completely meaningless program, meant to test codegen only.
-- Do not try to run the macc code, just generate it.  
private
	integer i;
	proc a( val integer aa; ref integer result)
		proc b(val integer bb; ref integer result)
			proc c(val integer cc; ref integer result)
				proc d(val integer dd; ref integer result)
					proc e(val integer ee; ref integer result)
					begin
						a(aa, result); -- great-great
						b(bb, result); -- great
						c(cc, result); -- grand
						d(dd, result); -- parent
						e(ee, result); -- recursive
					end;
				begin
					e(dd, result); -- child
				end;
			begin
				 d(cc, result); -- child
			end;
		begin
			 c(bb, result); -- child
		end;
	begin
		b(aa, result); -- child
	end;
				
begin
 a(1, i);
end.
