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

  1. PROGRAM IS
  2.     TYPE
  3.         MyArr IS ARRAY OF integer;
  4.         MyRec IS RECORD f1: integer; END;
  5.     VAR
  6.         b: boolean := FALSE;
  7.         a: MyArr := NIL;
  8.         r: MyRec := NIL;
  9.         g: integer := 0;
  10.         h: real := 0.0;
  11.     PROCEDURE foo (x: real; y: real; z: real; i: integer; j: integer) : boolean IS
  12.         VAR
  13.             a: real := 0.0;
  14.             k: integer := 0;
  15.         BEGIN
  16.             a := ((((x + y) + z) + h) * (x - (y - (z - h))));
  17.             k := ((3 - i) * (j + g));
  18.             RETURN b;
  19.         END;
  20.     BEGIN
  21.         b := FALSE;
  22.         b := TRUE;
  23.         a := NIL;
  24.         r := NIL;
  25.         b := foo (1.111, 2.222, 3.333, 4, 5);
  26.         b := (FALSE OR FALSE);
  27.         b := (TRUE OR FALSE);
  28.         b := (FALSE OR TRUE);
  29.         b := (TRUE OR TRUE);
  30.         b := (FALSE AND FALSE);
  31.         b := (TRUE AND FALSE);
  32.         b := (FALSE AND TRUE);
  33.         b := (TRUE AND TRUE);
  34.         b := NOT TRUE;
  35.         b := NOT FALSE;
  36.     END;
  37. maxLexicalLevel = 1
  38. =====  String List Follows  =====
  39. =====  Float List Follows  =====
  40.    float5:  0.0
  41.    float4:  3.333
  42.    float3:  2.222
  43.    float2:  1.111
  44.    float1:  0.0
  45. =====  Intermediate Code Follows  =====
  46. ! MAIN...
  47.                 mainEntry
  48. ! VAR INITIALIZATION...
  49.                 b := 0
  50. ! VAR INITIALIZATION...
  51.                 a := 0
  52. ! VAR INITIALIZATION...
  53.                 r := 0
  54. ! VAR INITIALIZATION...
  55.                 g := 0
  56. ! VAR INITIALIZATION...
  57.                 h := 0.0
  58. ! ASSIGNMENT STMT...
  59.                 b := 0
  60. ! ASSIGNMENT STMT...
  61.                 b := 1
  62. ! ASSIGNMENT STMT...
  63.                 a := 0
  64. ! ASSIGNMENT STMT...
  65.                 r := 0
  66. ! ASSIGNMENT STMT...
  67.                 param 1,1.111
  68.                 param 2,2.222
  69.                 param 3,3.333
  70.                 param 4,4
  71.                 param 5,5
  72.                 call p1_foo
  73.                 resultTo t1
  74.                 b := t1
  75. ! ASSIGNMENT STMT...
  76.                 goto Label_4
  77.         Label_4:
  78.                 goto Label_2
  79.         Label_1:
  80.                 t2 := 1
  81.                 goto Label_3
  82.         Label_2:
  83.                 t2 := 0
  84.         Label_3:
  85.                 b := t2
  86. ! ASSIGNMENT STMT...
  87.                 goto Label_5
  88.         Label_8:
  89.                 goto Label_6
  90.         Label_5:
  91.                 t3 := 1
  92.                 goto Label_7
  93.         Label_6:
  94.                 t3 := 0
  95.         Label_7:
  96.                 b := t3
  97. ! ASSIGNMENT STMT...
  98.                 goto Label_12
  99.         Label_12:
  100.                 goto Label_9
  101.         Label_9:
  102.                 t4 := 1
  103.                 goto Label_11
  104.         Label_10:
  105.                 t4 := 0
  106.         Label_11:
  107.                 b := t4
  108. ! ASSIGNMENT STMT...
  109.                 goto Label_13
  110.         Label_16:
  111.                 goto Label_13
  112.         Label_13:
  113.                 t5 := 1
  114.                 goto Label_15
  115.         Label_14:
  116.                 t5 := 0
  117.         Label_15:
  118.                 b := t5
  119. ! ASSIGNMENT STMT...
  120.                 goto Label_18
  121.         Label_20:
  122.                 goto Label_18
  123.         Label_17:
  124.                 t6 := 1
  125.                 goto Label_19
  126.         Label_18:
  127.                 t6 := 0
  128.         Label_19:
  129.                 b := t6
  130. ! ASSIGNMENT STMT...
  131.                 goto Label_24
  132.         Label_24:
  133.                 goto Label_22
  134.         Label_21:
  135.                 t7 := 1
  136.                 goto Label_23
  137.         Label_22:
  138.                 t7 := 0
  139.         Label_23:
  140.                 b := t7
  141. ! ASSIGNMENT STMT...
  142.                 goto Label_26
  143.         Label_28:
  144.                 goto Label_25
  145.         Label_25:
  146.                 t8 := 1
  147.                 goto Label_27
  148.         Label_26:
  149.                 t8 := 0
  150.         Label_27:
  151.                 b := t8
  152. ! ASSIGNMENT STMT...
  153.                 goto Label_32
  154.         Label_32:
  155.                 goto Label_29
  156.         Label_29:
  157.                 t9 := 1
  158.                 goto Label_31
  159.         Label_30:
  160.                 t9 := 0
  161.         Label_31:
  162.                 b := t9
  163. ! ASSIGNMENT STMT...
  164.                 goto Label_34
  165.         Label_33:
  166.                 t10 := 1
  167.                 goto Label_35
  168.         Label_34:
  169.                 t10 := 0
  170.         Label_35:
  171.                 b := t10
  172. ! ASSIGNMENT STMT...
  173.                 goto Label_36
  174.         Label_36:
  175.                 t11 := 1
  176.                 goto Label_38
  177.         Label_37:
  178.                 t11 := 0
  179.         Label_38:
  180.                 b := t11
  181. ! MAIN EXIT...
  182.                 mainExit
  183. ! PROCEDURE...
  184.                 procEntry p1_foo,lexLevel=1,frameSize=144
  185.                 formal 1,x
  186.                 formal 2,y
  187.                 formal 3,z
  188.                 formal 4,i
  189.                 formal 5,j
  190. ! VAR INITIALIZATION...
  191.                 a := 0.0
  192. ! VAR INITIALIZATION...
  193.                 k := 0
  194. ! ASSIGNMENT STMT...
  195.                 t12 := x + y        (float)
  196.                 t13 := t12 + z        (float)
  197.                 t14 := t13 + h        (float)
  198.                 t15 := z - h        (float)
  199.                 t16 := y - t15        (float)
  200.                 t17 := x - t16        (float)
  201.                 t18 := t14 * t17        (float)
  202.                 a := t18
  203. ! ASSIGNMENT STMT...
  204.                 t19 := 3 - i        (integer)
  205.                 t20 := j + g        (integer)
  206.                 t21 := t19 * t20        (integer)
  207.                 k := t21
  208. ! RETURN...
  209.                 returnExpr b
  210. =======================================
  211.