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 / loops.pcat < prev    next >
Text File  |  2006-02-17  |  978b  |  69 lines

  1. (* This file tests IR generation for LOOP, WHILE, FOR, and EXIT *)
  2.  
  3. program is
  4.   var b,c: boolean := false;
  5.   var i: integer := 0;
  6.  
  7. begin
  8.   while true do
  9.     i := 123;
  10.   end;
  11.   while b do
  12.     i := 123;
  13.   end;
  14.   while b and c do
  15.     i := 123;
  16.   end;
  17.   while b or c do
  18.     i := 123;
  19.   end;
  20.   while (b or c or not b) and not (not b and c) do
  21.     i := 123;
  22.   end;
  23.   while b do
  24.     i := 111;
  25.     if b then
  26.       exit;
  27.     end;
  28.     i := 222;
  29.   end;
  30.   loop
  31.     i := 111;
  32.     loop
  33.       i := 222;
  34.       if b then
  35.         exit;
  36.       end;
  37.       loop
  38.         i := 333;
  39.         if b then
  40.           exit;
  41.         end;
  42.         i := 444;
  43.       end;
  44.       if b then
  45.         exit;
  46.       end;
  47.       i := 555;
  48.     end;
  49.     i := 666;
  50.     if b then
  51.       exit;
  52.     end;
  53.     i := 777;
  54.   end;
  55.   i := 888;
  56.   for i := 100*i to 200*i by 3*i do
  57.     i := 1010101;
  58.   end;
  59.   for i := 3000 to 4000 do
  60.     i := 1111;
  61.     if b then
  62.       i := 2222;
  63.       exit;
  64.     end;
  65.     i := 3333;
  66.   end;
  67.   i := 4444;
  68. end;
  69.