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 / p10 / tst / record2.pcat < prev    next >
Text File  |  2006-02-17  |  1KB  |  47 lines

  1. (* This program tests IR code generation for record constructors. *)
  2.  
  3. program is
  4.     var r1: R1 := nil;
  5.         r2: R2 := nil;
  6.         b,c: boolean := false;
  7.  
  8.     type R1 is record
  9.                 f1: integer;
  10.                 f2: real;
  11.                 f3: boolean;
  12.               end;
  13.  
  14.     type R2 is record
  15.                 f1: integer;
  16.                 f2: real;
  17.                 f3: boolean;
  18.                 f4: R3;
  19.               end;
  20.  
  21.     type R3 is record
  22.                 g1: integer;
  23.                 g2: real;
  24.                 g3: boolean;
  25.                 g4: R4;
  26.               end;
  27.     type R4 is record
  28.                 h1: integer;
  29.                 h2: real;
  30.                 h3: boolean;
  31.               end;
  32.     begin
  33.  
  34.       r1 := R1 { f1 := 123; f2 := 23.45; f3 := false };
  35.  
  36.       r1 := R1 { f2 := 23.45; f1 := 123; f3 := false };
  37.  
  38.       r1 := R1 { f1 := 100+23; f2 := 23.45*1.1; f3 := b or c };
  39.  
  40.       r2 := R2 { f1 := 123; f2 := 23.45; f3 := false; f4 :=
  41.                     R3 { g1 := 1; g2 := 2.2; g3 := true; g4 :=
  42.                                  R4 { h1 := 666; h2 := 77.77; h3 := false}
  43.                        }
  44.                };
  45.  
  46.     end;
  47.