/* test multiple procedures,
   blocks within procedures,
   and localization of
   variables
*/

procedure a()
begin
  integer i := 1;
  print i;
end

procedure b()
begin
  real r := 2.0;
  print r;
end

procedure c()
begin
  integer i;
  for i := 3 step 1 until i == 10 do
  begin
    integer tmp := i;
    integer i := 0;
    print tmp;
  end
end

begin
  integer i;
  real r;
  a();
  b();
  c();
  print 10;
end
