home *** CD-ROM | disk | FTP | other *** search
/ ftp.ee.pdx.edu / 2014.02.ftp.ee.pdx.edu.tar / ftp.ee.pdx.edu / pub / users / Harry / compilers / p3 / tst / func2.pcat < prev    next >
Text File  |  2005-10-24  |  840b  |  41 lines

  1. program is
  2.   procedure b() : integer is
  3.     begin
  4.       return 101;
  5.     end;
  6.   procedure c(x: boolean) : boolean is
  7.     begin
  8.       return not x;
  9.     end;
  10.   procedure f(x : integer) : integer is
  11.     begin
  12.       return x + 10;
  13.     end;
  14.   procedure f1(x : integer) : integer is
  15.     begin
  16.       x := x + 10;
  17.       return x;
  18.     end;
  19.   var y := 20;
  20.   procedure h(x : integer; z: integer) : integer is
  21.     begin
  22.       return x + z;
  23.     end;      
  24.   procedure g(x: integer) : integer is
  25.     begin
  26.     end;
  27.   procedure echo(x: integer) : integer is  
  28.     begin
  29.       write (x);
  30.       return x;
  31.     end;
  32.   begin
  33.     write (b());
  34.     write (c(true));
  35.     write (f (10));
  36.     write (f1(y), " ", y);
  37.     write (h(echo(10), echo(20)));
  38.     write (h(f(10), h(f (20), f(30))));
  39.     write (g (20));       (* syntactically ok, but semantic error *)
  40.   end;
  41.