-- Ada function-calling demonstration program. -- Ada has nested block and function scope and automatic for loop scope with Text_IO; use Text_IO; -- This gets the IO facility. -- Ada with Gnat.Io; use Gnat.Io; procedure hello is -- Main, but no special name is needed. pt1 : Integer := 4; pt2 : Integer := 5; procedure swap( a : in out Integer; b : in out Integer ) is c : Integer; begin c := b; b := a; a := c; end swap; begin Put( "Before calling swap pt1 is " ); Put( pt1 ); Put( ", pt2 is " ); Put( pt2 ); Put_Line( "" ); swap( pt1, pt2 ); Put( "Before calling swap pt1 is " ); Put( pt1 ); Put( ", pt2 is " ); Put( pt2 ); Put_Line( "" ); swap( pt1, pt2 ); end hello;