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 / array2.out.bak < prev    next >
Text File  |  2006-02-17  |  11KB  |  318 lines

  1. PROGRAM IS
  2.     TYPE
  3.         T1 IS ARRAY OF integer;
  4.         T2 IS ARRAY OF T1;
  5.         B1 IS ARRAY OF real;
  6.     VAR
  7.         a1: T1 := NIL;
  8.         a2: T1 := a1;
  9.         a3: T1 := a1;
  10.         a4: T1 := a1;
  11.         a5: T1 := a1;
  12.         b1: B1 := NIL;
  13.         c1: T2 := NIL;
  14.         x: real := 0.0;
  15.         i: integer := 0;
  16.     BEGIN
  17.         a1 := T1 {{ 11, 12, 13, 14, 15 }};
  18.         b1 := B1 {{ 1.1, 1.2, 1.3, 1.4, 1.5 }};
  19.         a2 := T1 {{ (i * 11), (i * 12), (i * 13), (i * 14), (i * 15) }};
  20.         a3 := T1 {{ 100 OF 11111, 200 OF 22222, 300 OF 33333, 400 OF 44444 }};
  21.         a3 := T1 {{ (100 * i) OF 11111, (200 * i) OF 22222, (300 * i) OF 33333 }};
  22.         a4 := T1 {{ 100 OF 11111, 22222, 33333, 400 OF 44444, 555555 }};
  23.         a5 := T1 {{ (i * 100) OF 111, 222, 333, (i * 400) OF 444, 555 }};
  24.         c1 := T2 {{ a1, a2, 100 OF a3, (200 * i) OF a4, a5 }};
  25.     END;
  26. maxLexicalLevel = 0
  27. =====  String List Follows  =====
  28. =====  Float List Follows  =====
  29.    float6:  1.5
  30.    float5:  1.4
  31.    float4:  1.3
  32.    float3:  1.2
  33.    float2:  1.1
  34.    float1:  0.0
  35. =====  Intermediate Code Follows  =====
  36. ! MAIN...
  37.                 mainEntry
  38. ! VAR INITIALIZATION...
  39.                 a1 := 0
  40. ! VAR INITIALIZATION...
  41.                 a2 := a1
  42. ! VAR INITIALIZATION...
  43.                 a3 := a1
  44. ! VAR INITIALIZATION...
  45.                 a4 := a1
  46. ! VAR INITIALIZATION...
  47.                 a5 := a1
  48. ! VAR INITIALIZATION...
  49.                 b1 := 0
  50. ! VAR INITIALIZATION...
  51.                 c1 := 0
  52. ! VAR INITIALIZATION...
  53.                 x := 0.0
  54. ! VAR INITIALIZATION...
  55.                 i := 0
  56. ! ASSIGNMENT STMT...
  57.                 t1 := 0
  58.                 t1 := t1 + 1        (integer)
  59.                 t1 := t1 + 1        (integer)
  60.                 t1 := t1 + 1        (integer)
  61.                 t1 := t1 + 1        (integer)
  62.                 t1 := t1 + 1        (integer)
  63.                 t2 := t1 * 4        (integer)
  64.                 t2 := t2 + 4        (integer)
  65.                 t2 := alloc (t2)
  66.                 if t2 = 0 then goto runtimeError1        (integer)
  67.                 t3 := t2
  68.                 *t2 := t1
  69.                 t2 := t2 + 4        (integer)
  70.                 *t2 := 11
  71.                 t2 := t2 + 4        (integer)
  72.                 *t2 := 12
  73.                 t2 := t2 + 4        (integer)
  74.                 *t2 := 13
  75.                 t2 := t2 + 4        (integer)
  76.                 *t2 := 14
  77.                 t2 := t2 + 4        (integer)
  78.                 *t2 := 15
  79.                 a1 := t3
  80. ! ASSIGNMENT STMT...
  81.                 t5 := 0
  82.                 t5 := t5 + 1        (integer)
  83.                 t5 := t5 + 1        (integer)
  84.                 t5 := t5 + 1        (integer)
  85.                 t5 := t5 + 1        (integer)
  86.                 t5 := t5 + 1        (integer)
  87.                 t6 := t5 * 4        (integer)
  88.                 t6 := t6 + 4        (integer)
  89.                 t6 := alloc (t6)
  90.                 if t6 = 0 then goto runtimeError1        (integer)
  91.                 t7 := t6
  92.                 *t6 := t5
  93.                 t6 := t6 + 4        (integer)
  94.                 *t6 := 1.1
  95.                 t6 := t6 + 4        (integer)
  96.                 *t6 := 1.2
  97.                 t6 := t6 + 4        (integer)
  98.                 *t6 := 1.3
  99.                 t6 := t6 + 4        (integer)
  100.                 *t6 := 1.4
  101.                 t6 := t6 + 4        (integer)
  102.                 *t6 := 1.5
  103.                 b1 := t7
  104. ! ASSIGNMENT STMT...
  105.                 t9 := 0
  106.                 t9 := t9 + 1        (integer)
  107.                 t10 := i * 11        (integer)
  108.                 t9 := t9 + 1        (integer)
  109.                 t11 := i * 12        (integer)
  110.                 t9 := t9 + 1        (integer)
  111.                 t12 := i * 13        (integer)
  112.                 t9 := t9 + 1        (integer)
  113.                 t13 := i * 14        (integer)
  114.                 t9 := t9 + 1        (integer)
  115.                 t14 := i * 15        (integer)
  116.                 t15 := t9 * 4        (integer)
  117.                 t15 := t15 + 4        (integer)
  118.                 t15 := alloc (t15)
  119.                 if t15 = 0 then goto runtimeError1        (integer)
  120.                 t16 := t15
  121.                 *t15 := t9
  122.                 t15 := t15 + 4        (integer)
  123.                 *t15 := t10
  124.                 t15 := t15 + 4        (integer)
  125.                 *t15 := t11
  126.                 t15 := t15 + 4        (integer)
  127.                 *t15 := t12
  128.                 t15 := t15 + 4        (integer)
  129.                 *t15 := t13
  130.                 t15 := t15 + 4        (integer)
  131.                 *t15 := t14
  132.                 a2 := t16
  133. ! ASSIGNMENT STMT...
  134.                 t18 := 0
  135.                 if 100 <= 0 then goto runtimeError5        (integer)
  136.                 t18 := t18 + 100        (integer)
  137.                 if 200 <= 0 then goto runtimeError5        (integer)
  138.                 t18 := t18 + 200        (integer)
  139.                 if 300 <= 0 then goto runtimeError5        (integer)
  140.                 t18 := t18 + 300        (integer)
  141.                 if 400 <= 0 then goto runtimeError5        (integer)
  142.                 t18 := t18 + 400        (integer)
  143.                 t19 := t18 * 4        (integer)
  144.                 t19 := t19 + 4        (integer)
  145.                 t19 := alloc (t19)
  146.                 if t19 = 0 then goto runtimeError1        (integer)
  147.                 t20 := t19
  148.                 *t19 := t18
  149.                 t21 := 100
  150.         Label_1:
  151.                 t19 := t19 + 4        (integer)
  152.                 *t19 := 11111
  153.                 t21 := t21 - 1        (integer)
  154.                 if t21 > 0 then goto Label_1        (integer)
  155.                 t21 := 200
  156.         Label_2:
  157.                 t19 := t19 + 4        (integer)
  158.                 *t19 := 22222
  159.                 t21 := t21 - 1        (integer)
  160.                 if t21 > 0 then goto Label_2        (integer)
  161.                 t21 := 300
  162.         Label_3:
  163.                 t19 := t19 + 4        (integer)
  164.                 *t19 := 33333
  165.                 t21 := t21 - 1        (integer)
  166.                 if t21 > 0 then goto Label_3        (integer)
  167.                 t21 := 400
  168.         Label_4:
  169.                 t19 := t19 + 4        (integer)
  170.                 *t19 := 44444
  171.                 t21 := t21 - 1        (integer)
  172.                 if t21 > 0 then goto Label_4        (integer)
  173.                 a3 := t20
  174. ! ASSIGNMENT STMT...
  175.                 t22 := 0
  176.                 t23 := 100 * i        (integer)
  177.                 if t23 <= 0 then goto runtimeError5        (integer)
  178.                 t22 := t22 + t23        (integer)
  179.                 t24 := 200 * i        (integer)
  180.                 if t24 <= 0 then goto runtimeError5        (integer)
  181.                 t22 := t22 + t24        (integer)
  182.                 t25 := 300 * i        (integer)
  183.                 if t25 <= 0 then goto runtimeError5        (integer)
  184.                 t22 := t22 + t25        (integer)
  185.                 t26 := t22 * 4        (integer)
  186.                 t26 := t26 + 4        (integer)
  187.                 t26 := alloc (t26)
  188.                 if t26 = 0 then goto runtimeError1        (integer)
  189.                 t27 := t26
  190.                 *t26 := t22
  191.                 t28 := t23
  192.         Label_5:
  193.                 t26 := t26 + 4        (integer)
  194.                 *t26 := 11111
  195.                 t28 := t28 - 1        (integer)
  196.                 if t28 > 0 then goto Label_5        (integer)
  197.                 t28 := t24
  198.         Label_6:
  199.                 t26 := t26 + 4        (integer)
  200.                 *t26 := 22222
  201.                 t28 := t28 - 1        (integer)
  202.                 if t28 > 0 then goto Label_6        (integer)
  203.                 t28 := t25
  204.         Label_7:
  205.                 t26 := t26 + 4        (integer)
  206.                 *t26 := 33333
  207.                 t28 := t28 - 1        (integer)
  208.                 if t28 > 0 then goto Label_7        (integer)
  209.                 a3 := t27
  210. ! ASSIGNMENT STMT...
  211.                 t29 := 0
  212.                 if 100 <= 0 then goto runtimeError5        (integer)
  213.                 t29 := t29 + 100        (integer)
  214.                 t29 := t29 + 1        (integer)
  215.                 t29 := t29 + 1        (integer)
  216.                 if 400 <= 0 then goto runtimeError5        (integer)
  217.                 t29 := t29 + 400        (integer)
  218.                 t29 := t29 + 1        (integer)
  219.                 t30 := t29 * 4        (integer)
  220.                 t30 := t30 + 4        (integer)
  221.                 t30 := alloc (t30)
  222.                 if t30 = 0 then goto runtimeError1        (integer)
  223.                 t31 := t30
  224.                 *t30 := t29
  225.                 t32 := 100
  226.         Label_8:
  227.                 t30 := t30 + 4        (integer)
  228.                 *t30 := 11111
  229.                 t32 := t32 - 1        (integer)
  230.                 if t32 > 0 then goto Label_8        (integer)
  231.                 t30 := t30 + 4        (integer)
  232.                 *t30 := 22222
  233.                 t30 := t30 + 4        (integer)
  234.                 *t30 := 33333
  235.                 t32 := 400
  236.         Label_9:
  237.                 t30 := t30 + 4        (integer)
  238.                 *t30 := 44444
  239.                 t32 := t32 - 1        (integer)
  240.                 if t32 > 0 then goto Label_9        (integer)
  241.                 t30 := t30 + 4        (integer)
  242.                 *t30 := 555555
  243.                 a4 := t31
  244. ! ASSIGNMENT STMT...
  245.                 t33 := 0
  246.                 t34 := i * 100        (integer)
  247.                 if t34 <= 0 then goto runtimeError5        (integer)
  248.                 t33 := t33 + t34        (integer)
  249.                 t33 := t33 + 1        (integer)
  250.                 t33 := t33 + 1        (integer)
  251.                 t35 := i * 400        (integer)
  252.                 if t35 <= 0 then goto runtimeError5        (integer)
  253.                 t33 := t33 + t35        (integer)
  254.                 t33 := t33 + 1        (integer)
  255.                 t36 := t33 * 4        (integer)
  256.                 t36 := t36 + 4        (integer)
  257.                 t36 := alloc (t36)
  258.                 if t36 = 0 then goto runtimeError1        (integer)
  259.                 t37 := t36
  260.                 *t36 := t33
  261.                 t38 := t34
  262.         Label_10:
  263.                 t36 := t36 + 4        (integer)
  264.                 *t36 := 111
  265.                 t38 := t38 - 1        (integer)
  266.                 if t38 > 0 then goto Label_10        (integer)
  267.                 t36 := t36 + 4        (integer)
  268.                 *t36 := 222
  269.                 t36 := t36 + 4        (integer)
  270.                 *t36 := 333
  271.                 t38 := t35
  272.         Label_11:
  273.                 t36 := t36 + 4        (integer)
  274.                 *t36 := 444
  275.                 t38 := t38 - 1        (integer)
  276.                 if t38 > 0 then goto Label_11        (integer)
  277.                 t36 := t36 + 4        (integer)
  278.                 *t36 := 555
  279.                 a5 := t37
  280. ! ASSIGNMENT STMT...
  281.                 t39 := 0
  282.                 t39 := t39 + 1        (integer)
  283.                 t39 := t39 + 1        (integer)
  284.                 if 100 <= 0 then goto runtimeError5        (integer)
  285.                 t39 := t39 + 100        (integer)
  286.                 t40 := 200 * i        (integer)
  287.                 if t40 <= 0 then goto runtimeError5        (integer)
  288.                 t39 := t39 + t40        (integer)
  289.                 t39 := t39 + 1        (integer)
  290.                 t41 := t39 * 4        (integer)
  291.                 t41 := t41 + 4        (integer)
  292.                 t41 := alloc (t41)
  293.                 if t41 = 0 then goto runtimeError1        (integer)
  294.                 t42 := t41
  295.                 *t41 := t39
  296.                 t41 := t41 + 4        (integer)
  297.                 *t41 := a1
  298.                 t41 := t41 + 4        (integer)
  299.                 *t41 := a2
  300.                 t43 := 100
  301.         Label_12:
  302.                 t41 := t41 + 4        (integer)
  303.                 *t41 := a3
  304.                 t43 := t43 - 1        (integer)
  305.                 if t43 > 0 then goto Label_12        (integer)
  306.                 t43 := t40
  307.         Label_13:
  308.                 t41 := t41 + 4        (integer)
  309.                 *t41 := a4
  310.                 t43 := t43 - 1        (integer)
  311.                 if t43 > 0 then goto Label_13        (integer)
  312.                 t41 := t41 + 4        (integer)
  313.                 *t41 := a5
  314.                 c1 := t42
  315. ! MAIN EXIT...
  316.                 mainExit
  317. =======================================
  318.