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 / array.out.bak < prev    next >
Text File  |  2006-02-17  |  10KB  |  248 lines

  1. PROGRAM IS
  2.     VAR
  3.         x: real := intToReal (0);
  4.         i: integer := 0;
  5.     PROCEDURE foo (z1: integer; z2: integer; z3: integer) IS
  6.         TYPE
  7.             A1 IS ARRAY OF A2;
  8.             A2 IS ARRAY OF A3;
  9.             A3 IS ARRAY OF real;
  10.         VAR
  11.             a1: A1 := NIL;
  12.             a2: A2 := NIL;
  13.             a3: A3 := NIL;
  14.         BEGIN
  15.             x := (x + 3.21);
  16.             a1 := a1;
  17.             x := a3[10];
  18.             x := a2[20][10];
  19.             x := a1[30][20][10];
  20.             a3[10] := x;
  21.             a2[20][10] := x;
  22.             a1[30][20][10] := x;
  23.             x := a3[((i * 3333) + (4444 * i))];
  24.             a3[((i * 5555) + (6666 * i))] := x;
  25.             a1[(30 * i)][(20 * i)][(10 * i)] := a1[(30 * i)][(20 * i)][(10 * i)];
  26.             RETURN;
  27.         END;
  28.     BEGIN
  29.     END;
  30. maxLexicalLevel = 1
  31. =====  String List Follows  =====
  32. =====  Float List Follows  =====
  33.    float1:  3.21
  34. =====  Intermediate Code Follows  =====
  35. ! MAIN...
  36.                 mainEntry
  37. ! VAR INITIALIZATION...
  38.                 t1 := intToFloat (0)
  39.                 x := t1
  40. ! VAR INITIALIZATION...
  41.                 i := 0
  42. ! MAIN EXIT...
  43.                 mainExit
  44. ! PROCEDURE...
  45.                 procEntry p1_foo,lexLevel=1,frameSize=296
  46.                 formal 1,z1
  47.                 formal 2,z2
  48.                 formal 3,z3
  49. ! VAR INITIALIZATION...
  50.                 a1 := 0
  51. ! VAR INITIALIZATION...
  52.                 a2 := 0
  53. ! VAR INITIALIZATION...
  54.                 a3 := 0
  55. ! ASSIGNMENT STMT...
  56.                 t2 := x + 3.21        (float)
  57.                 x := t2
  58. ! ASSIGNMENT STMT...
  59.                 a1 := a1
  60. ! ASSIGNMENT STMT...
  61.                 if a3 = 0 then goto runtimeError2        (integer)
  62.                 if 10 < 0 then goto runtimeError4        (integer)
  63.                 t3 := *a3
  64.                 if 10 >= t3 then goto runtimeError4        (integer)
  65.                 t3 := 10 * 4        (integer)
  66.                 t3 := t3 + 4        (integer)
  67.                 t3 := a3 + t3        (integer)
  68.                 t4 := *t3
  69.                 x := t4
  70. ! ASSIGNMENT STMT...
  71.                 if a2 = 0 then goto runtimeError2        (integer)
  72.                 if 20 < 0 then goto runtimeError4        (integer)
  73.                 t5 := *a2
  74.                 if 20 >= t5 then goto runtimeError4        (integer)
  75.                 t5 := 20 * 4        (integer)
  76.                 t5 := t5 + 4        (integer)
  77.                 t5 := a2 + t5        (integer)
  78.                 t6 := *t5
  79.                 if t6 = 0 then goto runtimeError2        (integer)
  80.                 if 10 < 0 then goto runtimeError4        (integer)
  81.                 t7 := *t6
  82.                 if 10 >= t7 then goto runtimeError4        (integer)
  83.                 t7 := 10 * 4        (integer)
  84.                 t7 := t7 + 4        (integer)
  85.                 t7 := t6 + t7        (integer)
  86.                 t8 := *t7
  87.                 x := t8
  88. ! ASSIGNMENT STMT...
  89.                 if a1 = 0 then goto runtimeError2        (integer)
  90.                 if 30 < 0 then goto runtimeError4        (integer)
  91.                 t9 := *a1
  92.                 if 30 >= t9 then goto runtimeError4        (integer)
  93.                 t9 := 30 * 4        (integer)
  94.                 t9 := t9 + 4        (integer)
  95.                 t9 := a1 + t9        (integer)
  96.                 t10 := *t9
  97.                 if t10 = 0 then goto runtimeError2        (integer)
  98.                 if 20 < 0 then goto runtimeError4        (integer)
  99.                 t11 := *t10
  100.                 if 20 >= t11 then goto runtimeError4        (integer)
  101.                 t11 := 20 * 4        (integer)
  102.                 t11 := t11 + 4        (integer)
  103.                 t11 := t10 + t11        (integer)
  104.                 t12 := *t11
  105.                 if t12 = 0 then goto runtimeError2        (integer)
  106.                 if 10 < 0 then goto runtimeError4        (integer)
  107.                 t13 := *t12
  108.                 if 10 >= t13 then goto runtimeError4        (integer)
  109.                 t13 := 10 * 4        (integer)
  110.                 t13 := t13 + 4        (integer)
  111.                 t13 := t12 + t13        (integer)
  112.                 t14 := *t13
  113.                 x := t14
  114. ! ASSIGNMENT STMT...
  115.                 if a3 = 0 then goto runtimeError2        (integer)
  116.                 if 10 < 0 then goto runtimeError4        (integer)
  117.                 t15 := *a3
  118.                 if 10 >= t15 then goto runtimeError4        (integer)
  119.                 t15 := 10 * 4        (integer)
  120.                 t15 := t15 + 4        (integer)
  121.                 t15 := a3 + t15        (integer)
  122.                 *t15 := x
  123. ! ASSIGNMENT STMT...
  124.                 if a2 = 0 then goto runtimeError2        (integer)
  125.                 if 20 < 0 then goto runtimeError4        (integer)
  126.                 t16 := *a2
  127.                 if 20 >= t16 then goto runtimeError4        (integer)
  128.                 t16 := 20 * 4        (integer)
  129.                 t16 := t16 + 4        (integer)
  130.                 t16 := a2 + t16        (integer)
  131.                 t17 := *t16
  132.                 if t17 = 0 then goto runtimeError2        (integer)
  133.                 if 10 < 0 then goto runtimeError4        (integer)
  134.                 t18 := *t17
  135.                 if 10 >= t18 then goto runtimeError4        (integer)
  136.                 t18 := 10 * 4        (integer)
  137.                 t18 := t18 + 4        (integer)
  138.                 t18 := t17 + t18        (integer)
  139.                 *t18 := x
  140. ! ASSIGNMENT STMT...
  141.                 if a1 = 0 then goto runtimeError2        (integer)
  142.                 if 30 < 0 then goto runtimeError4        (integer)
  143.                 t19 := *a1
  144.                 if 30 >= t19 then goto runtimeError4        (integer)
  145.                 t19 := 30 * 4        (integer)
  146.                 t19 := t19 + 4        (integer)
  147.                 t19 := a1 + t19        (integer)
  148.                 t20 := *t19
  149.                 if t20 = 0 then goto runtimeError2        (integer)
  150.                 if 20 < 0 then goto runtimeError4        (integer)
  151.                 t21 := *t20
  152.                 if 20 >= t21 then goto runtimeError4        (integer)
  153.                 t21 := 20 * 4        (integer)
  154.                 t21 := t21 + 4        (integer)
  155.                 t21 := t20 + t21        (integer)
  156.                 t22 := *t21
  157.                 if t22 = 0 then goto runtimeError2        (integer)
  158.                 if 10 < 0 then goto runtimeError4        (integer)
  159.                 t23 := *t22
  160.                 if 10 >= t23 then goto runtimeError4        (integer)
  161.                 t23 := 10 * 4        (integer)
  162.                 t23 := t23 + 4        (integer)
  163.                 t23 := t22 + t23        (integer)
  164.                 *t23 := x
  165. ! ASSIGNMENT STMT...
  166.                 if a3 = 0 then goto runtimeError2        (integer)
  167.                 t24 := i * 3333        (integer)
  168.                 t25 := 4444 * i        (integer)
  169.                 t26 := t24 + t25        (integer)
  170.                 if t26 < 0 then goto runtimeError4        (integer)
  171.                 t27 := *a3
  172.                 if t26 >= t27 then goto runtimeError4        (integer)
  173.                 t27 := t26 * 4        (integer)
  174.                 t27 := t27 + 4        (integer)
  175.                 t27 := a3 + t27        (integer)
  176.                 t28 := *t27
  177.                 x := t28
  178. ! ASSIGNMENT STMT...
  179.                 if a3 = 0 then goto runtimeError2        (integer)
  180.                 t29 := i * 5555        (integer)
  181.                 t30 := 6666 * i        (integer)
  182.                 t31 := t29 + t30        (integer)
  183.                 if t31 < 0 then goto runtimeError4        (integer)
  184.                 t32 := *a3
  185.                 if t31 >= t32 then goto runtimeError4        (integer)
  186.                 t32 := t31 * 4        (integer)
  187.                 t32 := t32 + 4        (integer)
  188.                 t32 := a3 + t32        (integer)
  189.                 *t32 := x
  190. ! ASSIGNMENT STMT...
  191.                 if a1 = 0 then goto runtimeError2        (integer)
  192.                 t33 := 30 * i        (integer)
  193.                 if t33 < 0 then goto runtimeError4        (integer)
  194.                 t34 := *a1
  195.                 if t33 >= t34 then goto runtimeError4        (integer)
  196.                 t34 := t33 * 4        (integer)
  197.                 t34 := t34 + 4        (integer)
  198.                 t34 := a1 + t34        (integer)
  199.                 t35 := *t34
  200.                 if t35 = 0 then goto runtimeError2        (integer)
  201.                 t36 := 20 * i        (integer)
  202.                 if t36 < 0 then goto runtimeError4        (integer)
  203.                 t37 := *t35
  204.                 if t36 >= t37 then goto runtimeError4        (integer)
  205.                 t37 := t36 * 4        (integer)
  206.                 t37 := t37 + 4        (integer)
  207.                 t37 := t35 + t37        (integer)
  208.                 t38 := *t37
  209.                 if t38 = 0 then goto runtimeError2        (integer)
  210.                 t39 := 10 * i        (integer)
  211.                 if t39 < 0 then goto runtimeError4        (integer)
  212.                 t40 := *t38
  213.                 if t39 >= t40 then goto runtimeError4        (integer)
  214.                 t40 := t39 * 4        (integer)
  215.                 t40 := t40 + 4        (integer)
  216.                 t40 := t38 + t40        (integer)
  217.                 if a1 = 0 then goto runtimeError2        (integer)
  218.                 t41 := 30 * i        (integer)
  219.                 if t41 < 0 then goto runtimeError4        (integer)
  220.                 t42 := *a1
  221.                 if t41 >= t42 then goto runtimeError4        (integer)
  222.                 t42 := t41 * 4        (integer)
  223.                 t42 := t42 + 4        (integer)
  224.                 t42 := a1 + t42        (integer)
  225.                 t43 := *t42
  226.                 if t43 = 0 then goto runtimeError2        (integer)
  227.                 t44 := 20 * i        (integer)
  228.                 if t44 < 0 then goto runtimeError4        (integer)
  229.                 t45 := *t43
  230.                 if t44 >= t45 then goto runtimeError4        (integer)
  231.                 t45 := t44 * 4        (integer)
  232.                 t45 := t45 + 4        (integer)
  233.                 t45 := t43 + t45        (integer)
  234.                 t46 := *t45
  235.                 if t46 = 0 then goto runtimeError2        (integer)
  236.                 t47 := 10 * i        (integer)
  237.                 if t47 < 0 then goto runtimeError4        (integer)
  238.                 t48 := *t46
  239.                 if t47 >= t48 then goto runtimeError4        (integer)
  240.                 t48 := t47 * 4        (integer)
  241.                 t48 := t48 + 4        (integer)
  242.                 t48 := t46 + t48        (integer)
  243.                 t49 := *t48
  244.                 *t40 := t49
  245. ! RETURN...
  246.                 returnVoid 
  247. =======================================
  248.