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 / p9 / tst / if.out.bak < prev    next >
Text File  |  2006-02-07  |  5KB  |  232 lines

  1. PROGRAM IS
  2.     VAR
  3.         b: boolean := FALSE;
  4.         c: boolean := b;
  5.         i: integer := 0;
  6.         j: integer := i;
  7.     BEGIN
  8.         IF (i = j) THEN
  9.             i := 123;
  10.         END;
  11.         IF (b = c) THEN
  12.             i := 456;
  13.         END;
  14.         IF b THEN
  15.             i := 101;
  16.             i := 102;
  17.         ELSE
  18.             i := 103;
  19.             i := 104;
  20.         END;
  21.         IF b THEN
  22.             i := 201;
  23.             i := 202;
  24.         ELSE
  25.             IF NOT b THEN
  26.                 i := 203;
  27.                 i := 204;
  28.             ELSE
  29.                 i := 205;
  30.                 i := 206;
  31.             END;
  32.         END;
  33.         IF (b OR c) THEN
  34.             i := 222;
  35.         END;
  36.         IF (b AND c) THEN
  37.             i := 333;
  38.         END;
  39.         IF ((b OR c) AND (NOT b OR NOT c)) THEN
  40.             i := 444;
  41.         END;
  42.         IF ((b OR c) AND (NOT b OR NOT c)) THEN
  43.             i := 555;
  44.         ELSE
  45.             i := 666;
  46.         END;
  47.     END;
  48. maxLexicalLevel = 0
  49. =====  Intermediate Code Follows  =====
  50. ! MAIN...
  51.                 mainEntry
  52. ! VAR INITIALIZATION...
  53.                 t1 := 0
  54.                 b := t1
  55. ! VAR INITIALIZATION...
  56.                 c := b
  57. ! VAR INITIALIZATION...
  58.                 t2 := 0
  59.                 i := t2
  60. ! VAR INITIALIZATION...
  61.                 j := i
  62. ! IF...
  63.                 if i = j then goto Label_1        (integer)
  64.                 goto Label_2
  65.         Label_1:
  66. ! THEN...
  67. ! ASSIGNMENT STMT...
  68.                 t3 := &i
  69.                 t4 := 123
  70.                 *t3 := t4
  71. ! END IF...
  72.         Label_2:
  73. ! IF...
  74.                 if b = c then goto Label_3        (integer)
  75.                 goto Label_4
  76.         Label_3:
  77. ! THEN...
  78. ! ASSIGNMENT STMT...
  79.                 t5 := &i
  80.                 t6 := 456
  81.                 *t5 := t6
  82. ! END IF...
  83.         Label_4:
  84. ! IF...
  85.                 if b = 0 then goto Label_6        (integer)
  86.                 goto Label_5
  87.         Label_5:
  88. ! THEN...
  89. ! ASSIGNMENT STMT...
  90.                 t7 := &i
  91.                 t8 := 101
  92.                 *t7 := t8
  93. ! ASSIGNMENT STMT...
  94.                 t9 := &i
  95.                 t10 := 102
  96.                 *t9 := t10
  97.                 goto Label_7
  98.         Label_6:
  99. ! ELSE...
  100. ! ASSIGNMENT STMT...
  101.                 t11 := &i
  102.                 t12 := 103
  103.                 *t11 := t12
  104. ! ASSIGNMENT STMT...
  105.                 t13 := &i
  106.                 t14 := 104
  107.                 *t13 := t14
  108. ! END IF...
  109.         Label_7:
  110. ! IF...
  111.                 if b = 0 then goto Label_9        (integer)
  112.                 goto Label_8
  113.         Label_8:
  114. ! THEN...
  115. ! ASSIGNMENT STMT...
  116.                 t15 := &i
  117.                 t16 := 201
  118.                 *t15 := t16
  119. ! ASSIGNMENT STMT...
  120.                 t17 := &i
  121.                 t18 := 202
  122.                 *t17 := t18
  123.                 goto Label_10
  124.         Label_9:
  125. ! ELSE...
  126. ! IF...
  127.                 if b = 0 then goto Label_11        (integer)
  128.                 goto Label_12
  129.         Label_11:
  130. ! THEN...
  131. ! ASSIGNMENT STMT...
  132.                 t19 := &i
  133.                 t20 := 203
  134.                 *t19 := t20
  135. ! ASSIGNMENT STMT...
  136.                 t21 := &i
  137.                 t22 := 204
  138.                 *t21 := t22
  139.                 goto Label_13
  140.         Label_12:
  141. ! ELSE...
  142. ! ASSIGNMENT STMT...
  143.                 t23 := &i
  144.                 t24 := 205
  145.                 *t23 := t24
  146. ! ASSIGNMENT STMT...
  147.                 t25 := &i
  148.                 t26 := 206
  149.                 *t25 := t26
  150. ! END IF...
  151.         Label_13:
  152. ! END IF...
  153.         Label_10:
  154. ! IF...
  155.                 if b = 0 then goto Label_16        (integer)
  156.                 goto Label_14
  157.         Label_16:
  158.                 if c = 0 then goto Label_15        (integer)
  159.                 goto Label_14
  160.         Label_14:
  161. ! THEN...
  162. ! ASSIGNMENT STMT...
  163.                 t27 := &i
  164.                 t28 := 222
  165.                 *t27 := t28
  166. ! END IF...
  167.         Label_15:
  168. ! IF...
  169.                 if b = 0 then goto Label_18        (integer)
  170.                 goto Label_19
  171.         Label_19:
  172.                 if c = 0 then goto Label_18        (integer)
  173.                 goto Label_17
  174.         Label_17:
  175. ! THEN...
  176. ! ASSIGNMENT STMT...
  177.                 t29 := &i
  178.                 t30 := 333
  179.                 *t29 := t30
  180. ! END IF...
  181.         Label_18:
  182. ! IF...
  183.                 if b = 0 then goto Label_23        (integer)
  184.                 goto Label_22
  185.         Label_23:
  186.                 if c = 0 then goto Label_21        (integer)
  187.                 goto Label_22
  188.         Label_22:
  189.                 if b = 0 then goto Label_20        (integer)
  190.                 goto Label_24
  191.         Label_24:
  192.                 if c = 0 then goto Label_20        (integer)
  193.                 goto Label_21
  194.         Label_20:
  195. ! THEN...
  196. ! ASSIGNMENT STMT...
  197.                 t31 := &i
  198.                 t32 := 444
  199.                 *t31 := t32
  200. ! END IF...
  201.         Label_21:
  202. ! IF...
  203.                 if b = 0 then goto Label_28        (integer)
  204.                 goto Label_27
  205.         Label_28:
  206.                 if c = 0 then goto Label_26        (integer)
  207.                 goto Label_27
  208.         Label_27:
  209.                 if b = 0 then goto Label_25        (integer)
  210.                 goto Label_29
  211.         Label_29:
  212.                 if c = 0 then goto Label_25        (integer)
  213.                 goto Label_26
  214.         Label_25:
  215. ! THEN...
  216. ! ASSIGNMENT STMT...
  217.                 t33 := &i
  218.                 t34 := 555
  219.                 *t33 := t34
  220.                 goto Label_30
  221.         Label_26:
  222. ! ELSE...
  223. ! ASSIGNMENT STMT...
  224.                 t35 := &i
  225.                 t36 := 666
  226.                 *t35 := t36
  227. ! END IF...
  228.         Label_30:
  229. ! MAIN EXIT...
  230.                 mainExit
  231. =======================================
  232.