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

  1. PROGRAM IS
  2.     VAR
  3.         b: boolean := FALSE;
  4.         c: boolean := b;
  5.         i: integer := 0;
  6.     BEGIN
  7.         WHILE TRUE DO
  8.             i := 123;
  9.         END;
  10.         WHILE b DO
  11.             i := 123;
  12.         END;
  13.         WHILE (b AND c) DO
  14.             i := 123;
  15.         END;
  16.         WHILE (b OR c) DO
  17.             i := 123;
  18.         END;
  19.         WHILE (((b OR c) OR NOT b) AND NOT (NOT b AND c)) DO
  20.             i := 123;
  21.         END;
  22.         WHILE b DO
  23.             i := 111;
  24.             IF b THEN
  25.                 EXIT;
  26.             END;
  27.             i := 222;
  28.         END;
  29.         LOOP
  30.             i := 111;
  31.             LOOP
  32.                 i := 222;
  33.                 IF b THEN
  34.                     EXIT;
  35.                 END;
  36.                 LOOP
  37.                     i := 333;
  38.                     IF b THEN
  39.                         EXIT;
  40.                     END;
  41.                     i := 444;
  42.                 END;
  43.                 IF b THEN
  44.                     EXIT;
  45.                 END;
  46.                 i := 555;
  47.             END;
  48.             i := 666;
  49.             IF b THEN
  50.                 EXIT;
  51.             END;
  52.             i := 777;
  53.         END;
  54.         i := 888;
  55.         FOR i := (100 * i) TO (200 * i) BY (3 * i) DO
  56.             i := 1010101;
  57.         END;
  58.         FOR i := 3000 TO 4000 DO
  59.             i := 1111;
  60.             IF b THEN
  61.                 i := 2222;
  62.                 EXIT;
  63.             END;
  64.             i := 3333;
  65.         END;
  66.         i := 4444;
  67.     END;
  68. maxLexicalLevel = 0
  69. =====  String List Follows  =====
  70. =====  Float List Follows  =====
  71. =====  Intermediate Code Follows  =====
  72. ! MAIN...
  73.                 mainEntry
  74. ! VAR INITIALIZATION...
  75.                 b := 0
  76. ! VAR INITIALIZATION...
  77.                 c := b
  78. ! VAR INITIALIZATION...
  79.                 i := 0
  80. ! WHILE...
  81.         Label_1:
  82.                 goto Label_2
  83.         Label_2:
  84. ! ASSIGNMENT STMT...
  85.                 i := 123
  86. ! END WHILE...
  87.                 goto Label_1
  88.         Label_3:
  89. ! WHILE...
  90.         Label_4:
  91.                 if b = 0 then goto Label_6        (integer)
  92.                 goto Label_5
  93.         Label_5:
  94. ! ASSIGNMENT STMT...
  95.                 i := 123
  96. ! END WHILE...
  97.                 goto Label_4
  98.         Label_6:
  99. ! WHILE...
  100.         Label_7:
  101.                 if b = 0 then goto Label_9        (integer)
  102.                 goto Label_10
  103.         Label_10:
  104.                 if c = 0 then goto Label_9        (integer)
  105.                 goto Label_8
  106.         Label_8:
  107. ! ASSIGNMENT STMT...
  108.                 i := 123
  109. ! END WHILE...
  110.                 goto Label_7
  111.         Label_9:
  112. ! WHILE...
  113.         Label_11:
  114.                 if b = 0 then goto Label_14        (integer)
  115.                 goto Label_12
  116.         Label_14:
  117.                 if c = 0 then goto Label_13        (integer)
  118.                 goto Label_12
  119.         Label_12:
  120. ! ASSIGNMENT STMT...
  121.                 i := 123
  122. ! END WHILE...
  123.                 goto Label_11
  124.         Label_13:
  125. ! WHILE...
  126.         Label_15:
  127.                 if b = 0 then goto Label_20        (integer)
  128.                 goto Label_18
  129.         Label_20:
  130.                 if c = 0 then goto Label_19        (integer)
  131.                 goto Label_18
  132.         Label_19:
  133.                 if b = 0 then goto Label_18        (integer)
  134.                 goto Label_17
  135.         Label_18:
  136.                 if b = 0 then goto Label_21        (integer)
  137.                 goto Label_16
  138.         Label_21:
  139.                 if c = 0 then goto Label_16        (integer)
  140.                 goto Label_17
  141.         Label_16:
  142. ! ASSIGNMENT STMT...
  143.                 i := 123
  144. ! END WHILE...
  145.                 goto Label_15
  146.         Label_17:
  147. ! WHILE...
  148.         Label_22:
  149.                 if b = 0 then goto Label_24        (integer)
  150.                 goto Label_23
  151.         Label_23:
  152. ! ASSIGNMENT STMT...
  153.                 i := 111
  154. ! IF...
  155.                 if b = 0 then goto Label_26        (integer)
  156.                 goto Label_25
  157.         Label_25:
  158. ! THEN...
  159. ! EXIT...
  160.                 goto Label_24
  161. ! END IF...
  162.         Label_26:
  163. ! ASSIGNMENT STMT...
  164.                 i := 222
  165. ! END WHILE...
  166.                 goto Label_22
  167.         Label_24:
  168. ! LOOP...
  169.         Label_27:
  170. ! ASSIGNMENT STMT...
  171.                 i := 111
  172. ! LOOP...
  173.         Label_29:
  174. ! ASSIGNMENT STMT...
  175.                 i := 222
  176. ! IF...
  177.                 if b = 0 then goto Label_32        (integer)
  178.                 goto Label_31
  179.         Label_31:
  180. ! THEN...
  181. ! EXIT...
  182.                 goto Label_30
  183. ! END IF...
  184.         Label_32:
  185. ! LOOP...
  186.         Label_33:
  187. ! ASSIGNMENT STMT...
  188.                 i := 333
  189. ! IF...
  190.                 if b = 0 then goto Label_36        (integer)
  191.                 goto Label_35
  192.         Label_35:
  193. ! THEN...
  194. ! EXIT...
  195.                 goto Label_34
  196. ! END IF...
  197.         Label_36:
  198. ! ASSIGNMENT STMT...
  199.                 i := 444
  200. ! END LOOP...
  201.                 goto Label_33
  202.         Label_34:
  203. ! IF...
  204.                 if b = 0 then goto Label_38        (integer)
  205.                 goto Label_37
  206.         Label_37:
  207. ! THEN...
  208. ! EXIT...
  209.                 goto Label_30
  210. ! END IF...
  211.         Label_38:
  212. ! ASSIGNMENT STMT...
  213.                 i := 555
  214. ! END LOOP...
  215.                 goto Label_29
  216.         Label_30:
  217. ! ASSIGNMENT STMT...
  218.                 i := 666
  219. ! IF...
  220.                 if b = 0 then goto Label_40        (integer)
  221.                 goto Label_39
  222.         Label_39:
  223. ! THEN...
  224. ! EXIT...
  225.                 goto Label_28
  226. ! END IF...
  227.         Label_40:
  228. ! ASSIGNMENT STMT...
  229.                 i := 777
  230. ! END LOOP...
  231.                 goto Label_27
  232.         Label_28:
  233. ! ASSIGNMENT STMT...
  234.                 i := 888
  235. ! FOR...
  236.                 t4 := &i
  237.                 t5 := 100 * i        (integer)
  238.                 t1 := t5
  239.                 t6 := 200 * i        (integer)
  240.                 t2 := t6
  241.                 t7 := 3 * i        (integer)
  242.                 t3 := t7
  243.                 *t4 := t1
  244.         Label_41:
  245.                 if t1 > t2 then goto Label_42        (integer)
  246. ! ASSIGNMENT STMT...
  247.                 i := 1010101
  248. ! END FOR...
  249.                 t1 := *t4
  250.                 t1 := t1 + t3        (integer)
  251.                 *t4 := t1
  252.                 goto Label_41
  253.         Label_42:
  254. ! FOR...
  255.                 t11 := &i
  256.                 t8 := 3000
  257.                 t9 := 4000
  258.                 t10 := 1
  259.                 *t11 := t8
  260.         Label_43:
  261.                 if t8 > t9 then goto Label_44        (integer)
  262. ! ASSIGNMENT STMT...
  263.                 i := 1111
  264. ! IF...
  265.                 if b = 0 then goto Label_46        (integer)
  266.                 goto Label_45
  267.         Label_45:
  268. ! THEN...
  269. ! ASSIGNMENT STMT...
  270.                 i := 2222
  271. ! EXIT...
  272.                 goto Label_44
  273. ! END IF...
  274.         Label_46:
  275. ! ASSIGNMENT STMT...
  276.                 i := 3333
  277. ! END FOR...
  278.                 t8 := *t11
  279.                 t8 := t8 + t10        (integer)
  280.                 *t11 := t8
  281.                 goto Label_43
  282.         Label_44:
  283. ! ASSIGNMENT STMT...
  284.                 i := 4444
  285. ! MAIN EXIT...
  286.                 mainExit
  287. =======================================
  288.