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 / p8 / tst / expr.pcat < prev    next >
Text File  |  2006-01-29  |  894b  |  44 lines

  1. (* This program tests IR code generation for arithmetic expressions. *)
  2.  
  3. program is
  4. var x, y, z: integer := 0;
  5. var a, b, c: real := 0.0;
  6.  
  7. begin
  8.   x := y;
  9.   x := 1234;
  10.  
  11.   a := b;
  12.   a := 123.456;
  13.  
  14.   x := - y;
  15.   x := + y;
  16.   x := y + z;
  17.   x := y - z;
  18.   x := y * z;
  19.   x := y div z;
  20.   x := y mod z;
  21.  
  22.   a := - b;
  23.   a := + b;
  24.   a := b + c;
  25.   a := b - c;
  26.   a := b * c;
  27.   a := b / c;
  28.  
  29.   a := x;    (* Int-to-real conversion here. *)
  30.   a := 13;   (* Int-to-real conversion here. *)
  31.  
  32.   x := y + z + x + 6;
  33.   x := y + (z + (x + 7));
  34.   x := x * (y div -3) + x * (z - x mod 5);
  35.   x := 3 * y + 4 * (z - x);
  36.   a := 3.0 * b + 4.123 * (c - x);
  37.  
  38.   x := (((+(-x - 1) div +(y - 2)) * (+(-z mod 3) + +(x div 4))) +
  39.         ((-(+y - 5) + -(z - 6)) * (-(+x - 7) + -(y - 8))));
  40.   a := (((+(-b - 1.1) / +(c - 2.2)) * (+(-x / 3.3) + +(y / 4.4))) +
  41.         ((-(+z - 5.5) + -(a - 6.6)) * (-(+b - 7.7) + -(c - 8.8))));
  42.  
  43. end;
  44.