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

  1. PROGRAM IS
  2.     PROCEDURE foo1 (a1: integer) : integer IS
  3.         BEGIN
  4.             RETURN 0;
  5.         END;
  6.     PROCEDURE foo2 (a1: integer; a2: integer) : integer IS
  7.         BEGIN
  8.             RETURN 0;
  9.         END;
  10.     PROCEDURE foo4 (a1: integer; a2: integer; a3: integer; a4: integer) : integer IS
  11.         BEGIN
  12.             RETURN 0;
  13.         END;
  14.     PROCEDURE bar1 () IS
  15.         VAR
  16.             i: integer := foo2 (1, 2);
  17.         PROCEDURE bar2 () IS
  18.             BEGIN
  19.                 i := foo4 (1, 2, 3, 4);
  20.                 RETURN;
  21.             END;
  22.         BEGIN
  23.             i := foo1 (1);
  24.             RETURN;
  25.         END;
  26.     PROCEDURE bar3 () IS
  27.         VAR
  28.             i: integer := foo2 (1, 2);
  29.             j: integer := 0;
  30.         PROCEDURE bar2 () IS
  31.             BEGIN
  32.                 i := foo4 (1, 2, 3, 4);
  33.                 RETURN;
  34.             END;
  35.         BEGIN
  36.             i := foo1 (1);
  37.             RETURN;
  38.         END;
  39.     BEGIN
  40.     END;
  41. maxLexicalLevel = 2
  42. =====  String List Follows  =====
  43. =====  Float List Follows  =====
  44. =====  Intermediate Code Follows  =====
  45. ! MAIN...
  46.                 mainEntry
  47. ! MAIN EXIT...
  48.                 mainExit
  49. ! PROCEDURE...
  50.                 procEntry p1_foo1,lexLevel=1,frameSize=96
  51.                 formal 1,a1
  52. ! RETURN...
  53.                 returnExpr 0
  54. ! PROCEDURE...
  55.                 procEntry p2_foo2,lexLevel=1,frameSize=96
  56.                 formal 1,a1
  57.                 formal 2,a2
  58. ! RETURN...
  59.                 returnExpr 0
  60. ! PROCEDURE...
  61.                 procEntry p3_foo4,lexLevel=1,frameSize=96
  62.                 formal 1,a1
  63.                 formal 2,a2
  64.                 formal 3,a3
  65.                 formal 4,a4
  66. ! RETURN...
  67.                 returnExpr 0
  68. ! PROCEDURE...
  69.                 procEntry p4_bar1,lexLevel=1,frameSize=104
  70. ! VAR INITIALIZATION...
  71.                 param 1,1
  72.                 param 2,2
  73.                 call p2_foo2
  74.                 resultTo t1
  75.                 i := t1
  76. ! ASSIGNMENT STMT...
  77.                 param 1,1
  78.                 call p1_foo1
  79.                 resultTo t2
  80.                 i := t2
  81. ! RETURN...
  82.                 returnVoid 
  83. ! PROCEDURE...
  84.                 procEntry p5_bar2,lexLevel=2,frameSize=96
  85. ! ASSIGNMENT STMT...
  86.                 param 1,1
  87.                 param 2,2
  88.                 param 3,3
  89.                 param 4,4
  90.                 call p3_foo4
  91.                 resultTo t3
  92.                 i := t3
  93. ! RETURN...
  94.                 returnVoid 
  95. ! PROCEDURE...
  96.                 procEntry p6_bar3,lexLevel=1,frameSize=112
  97. ! VAR INITIALIZATION...
  98.                 param 1,1
  99.                 param 2,2
  100.                 call p2_foo2
  101.                 resultTo t4
  102.                 i := t4
  103. ! VAR INITIALIZATION...
  104.                 j := 0
  105. ! ASSIGNMENT STMT...
  106.                 param 1,1
  107.                 call p1_foo1
  108.                 resultTo t5
  109.                 i := t5
  110. ! RETURN...
  111.                 returnVoid 
  112. ! PROCEDURE...
  113.                 procEntry p7_bar2,lexLevel=2,frameSize=96
  114. ! ASSIGNMENT STMT...
  115.                 param 1,1
  116.                 param 2,2
  117.                 param 3,3
  118.                 param 4,4
  119.                 call p3_foo4
  120.                 resultTo t6
  121.                 i := t6
  122. ! RETURN...
  123.                 returnVoid 
  124. =======================================
  125.