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

  1. PROGRAM IS
  2.     VAR
  3.         x1: integer := 0;
  4.         x2: integer := x1;
  5.     PROCEDURE foo1 (a1: integer) IS
  6.         VAR
  7.             x1: integer := 0;
  8.             x2: integer := x1;
  9.             x3: integer := x1;
  10.             x4: integer := x1;
  11.         BEGIN
  12.             foo2 (1, 2, 3, 4);
  13.             RETURN;
  14.         END;
  15.     PROCEDURE foo2 (a1: integer; a2: integer; a3: integer; a4: integer) IS
  16.         VAR
  17.             x1: integer := 0;
  18.         BEGIN
  19.             foo3 (1, 2);
  20.             RETURN;
  21.         END;
  22.     PROCEDURE foo3 (a1: integer; a2: integer) IS
  23.         VAR
  24.             x1: integer := 0;
  25.             x2: integer := x1;
  26.             x3: integer := x1;
  27.         BEGIN
  28.             foo1 (1);
  29.             RETURN;
  30.         END;
  31.     PROCEDURE bar1 () IS
  32.         BEGIN
  33.             foo1 (1);
  34.             RETURN;
  35.         END;
  36.     PROCEDURE bar2 (a1: integer) IS
  37.         BEGIN
  38.             foo1 (1);
  39.             RETURN;
  40.         END;
  41.     PROCEDURE bar3 (a1: integer; a2: integer) IS
  42.         BEGIN
  43.             foo1 (1);
  44.             RETURN;
  45.         END;
  46.     PROCEDURE bar4 (a1: integer; a2: integer; a3: integer) IS
  47.         BEGIN
  48.             foo1 (1);
  49.             RETURN;
  50.         END;
  51.     PROCEDURE bar5 () IS
  52.         VAR
  53.             x1: integer := 0;
  54.         BEGIN
  55.             foo1 (1);
  56.             RETURN;
  57.         END;
  58.     PROCEDURE bar6 (a1: integer) IS
  59.         VAR
  60.             x1: integer := 0;
  61.         BEGIN
  62.             foo1 (1);
  63.             RETURN;
  64.         END;
  65.     PROCEDURE bar7 (a1: integer; a2: integer) IS
  66.         VAR
  67.             x1: integer := 0;
  68.         BEGIN
  69.             foo1 (1);
  70.             RETURN;
  71.         END;
  72.     PROCEDURE bar8 (a1: integer; a2: integer; a3: integer) IS
  73.         VAR
  74.             x1: integer := 0;
  75.         BEGIN
  76.             foo1 (1);
  77.             RETURN;
  78.         END;
  79.     PROCEDURE bar9 () IS
  80.         VAR
  81.             x1: integer := 0;
  82.             x2: integer := x1;
  83.         BEGIN
  84.             foo1 (1);
  85.             RETURN;
  86.         END;
  87.     PROCEDURE bar10 (a1: integer) IS
  88.         VAR
  89.             x1: integer := 0;
  90.             x2: integer := x1;
  91.         BEGIN
  92.             foo1 (1);
  93.             RETURN;
  94.         END;
  95.     PROCEDURE bar11 (a1: integer; a2: integer) IS
  96.         VAR
  97.             x1: integer := 0;
  98.             x2: integer := x1;
  99.         BEGIN
  100.             foo1 (1);
  101.             RETURN;
  102.         END;
  103.     PROCEDURE bar12 (a1: integer; a2: integer; a3: integer) IS
  104.         VAR
  105.             x1: integer := 0;
  106.             x2: integer := x1;
  107.         BEGIN
  108.             foo1 (1);
  109.             RETURN;
  110.         END;
  111.     PROCEDURE bar13 () IS
  112.         VAR
  113.             x1: integer := 0;
  114.             x2: integer := x1;
  115.         BEGIN
  116.             foo2 (1, 2, 3, 4);
  117.             RETURN;
  118.         END;
  119.     PROCEDURE bar14 (a1: integer) IS
  120.         VAR
  121.             x1: integer := 0;
  122.             x2: integer := x1;
  123.         BEGIN
  124.             foo2 (1, 2, 3, 4);
  125.             RETURN;
  126.         END;
  127.     PROCEDURE bar15 (a1: integer; a2: integer) IS
  128.         VAR
  129.             x1: integer := 0;
  130.             x2: integer := x1;
  131.         BEGIN
  132.             foo2 (1, 2, 3, 4);
  133.             RETURN;
  134.         END;
  135.     PROCEDURE bar16 (a1: integer; a2: integer; a3: integer) IS
  136.         VAR
  137.             x1: integer := 0;
  138.             x2: integer := x1;
  139.         BEGIN
  140.             foo2 (1, 2, 3, 4);
  141.             RETURN;
  142.         END;
  143.     PROCEDURE fun1 (a1: integer) IS
  144.         VAR
  145.             x1: integer := 0;
  146.             x2: integer := x1;
  147.         PROCEDURE fun2 (a1: integer) IS
  148.             VAR
  149.                 x1: integer := 0;
  150.             PROCEDURE fun3 (a1: integer; a2: integer) IS
  151.                 VAR
  152.                     x1: integer := 0;
  153.                     x2: integer := x1;
  154.                 PROCEDURE fun4 (a1: integer; a2: integer) IS
  155.                     VAR
  156.                         x1: integer := 0;
  157.                     PROCEDURE fun5 () IS
  158.                         VAR
  159.                             x1: integer := 0;
  160.                             x2: integer := x1;
  161.                         PROCEDURE fun6 () IS
  162.                             VAR
  163.                                 x1: integer := 0;
  164.                             PROCEDURE fun7 (a1: integer) IS
  165.                                 VAR
  166.                                     x1: integer := 0;
  167.                                     x2: integer := x1;
  168.                                 PROCEDURE fun8 (a1: integer) IS
  169.                                     VAR
  170.                                         x1: integer := 0;
  171.                                     BEGIN
  172.                                         foo2 (1, 2, 3, 4);
  173.                                         RETURN;
  174.                                     END;
  175.                                 BEGIN
  176.                                     foo2 (1, 2, 3, 4);
  177.                                     RETURN;
  178.                                 END;
  179.                             BEGIN
  180.                                 foo2 (1, 2, 3, 4);
  181.                                 RETURN;
  182.                             END;
  183.                         BEGIN
  184.                             foo2 (1, 2, 3, 4);
  185.                             RETURN;
  186.                         END;
  187.                     BEGIN
  188.                         foo2 (1, 2, 3, 4);
  189.                         RETURN;
  190.                     END;
  191.                 BEGIN
  192.                     foo2 (1, 2, 3, 4);
  193.                     RETURN;
  194.                 END;
  195.             BEGIN
  196.                 foo2 (1, 2, 3, 4);
  197.                 RETURN;
  198.             END;
  199.         BEGIN
  200.             foo2 (1, 2, 3, 4);
  201.             RETURN;
  202.         END;
  203.     BEGIN
  204.         foo1 (1);
  205.         foo2 (1, 2, 3, 4);
  206.         foo3 (1, 2);
  207.     END;
  208. maxLexicalLevel = 8
  209. =====  String List Follows  =====
  210. =====  Float List Follows  =====
  211. =====  Intermediate Code Follows  =====
  212. ! MAIN...
  213.                 mainEntry
  214. ! VAR INITIALIZATION...
  215.                 x1 := 0
  216. ! VAR INITIALIZATION...
  217.                 x2 := x1
  218. ! CALL STMT...
  219.                 param 1,1
  220.                 call p1_foo1
  221. ! CALL STMT...
  222.                 param 1,1
  223.                 param 2,2
  224.                 param 3,3
  225.                 param 4,4
  226.                 call p2_foo2
  227. ! CALL STMT...
  228.                 param 1,1
  229.                 param 2,2
  230.                 call p3_foo3
  231. ! MAIN EXIT...
  232.                 mainExit
  233. ! PROCEDURE...
  234.                 procEntry p1_foo1,lexLevel=1,frameSize=112
  235.                 formal 1,a1
  236. ! VAR INITIALIZATION...
  237.                 x1 := 0
  238. ! VAR INITIALIZATION...
  239.                 x2 := x1
  240. ! VAR INITIALIZATION...
  241.                 x3 := x1
  242. ! VAR INITIALIZATION...
  243.                 x4 := x1
  244. ! CALL STMT...
  245.                 param 1,1
  246.                 param 2,2
  247.                 param 3,3
  248.                 param 4,4
  249.                 call p2_foo2
  250. ! RETURN...
  251.                 returnVoid 
  252. ! PROCEDURE...
  253.                 procEntry p2_foo2,lexLevel=1,frameSize=96
  254.                 formal 1,a1
  255.                 formal 2,a2
  256.                 formal 3,a3
  257.                 formal 4,a4
  258. ! VAR INITIALIZATION...
  259.                 x1 := 0
  260. ! CALL STMT...
  261.                 param 1,1
  262.                 param 2,2
  263.                 call p3_foo3
  264. ! RETURN...
  265.                 returnVoid 
  266. ! PROCEDURE...
  267.                 procEntry p3_foo3,lexLevel=1,frameSize=104
  268.                 formal 1,a1
  269.                 formal 2,a2
  270. ! VAR INITIALIZATION...
  271.                 x1 := 0
  272. ! VAR INITIALIZATION...
  273.                 x2 := x1
  274. ! VAR INITIALIZATION...
  275.                 x3 := x1
  276. ! CALL STMT...
  277.                 param 1,1
  278.                 call p1_foo1
  279. ! RETURN...
  280.                 returnVoid 
  281. ! PROCEDURE...
  282.                 procEntry p4_bar1,lexLevel=1,frameSize=96
  283. ! CALL STMT...
  284.                 param 1,1
  285.                 call p1_foo1
  286. ! RETURN...
  287.                 returnVoid 
  288. ! PROCEDURE...
  289.                 procEntry p5_bar2,lexLevel=1,frameSize=96
  290.                 formal 1,a1
  291. ! CALL STMT...
  292.                 param 1,1
  293.                 call p1_foo1
  294. ! RETURN...
  295.                 returnVoid 
  296. ! PROCEDURE...
  297.                 procEntry p6_bar3,lexLevel=1,frameSize=96
  298.                 formal 1,a1
  299.                 formal 2,a2
  300. ! CALL STMT...
  301.                 param 1,1
  302.                 call p1_foo1
  303. ! RETURN...
  304.                 returnVoid 
  305. ! PROCEDURE...
  306.                 procEntry p7_bar4,lexLevel=1,frameSize=96
  307.                 formal 1,a1
  308.                 formal 2,a2
  309.                 formal 3,a3
  310. ! CALL STMT...
  311.                 param 1,1
  312.                 call p1_foo1
  313. ! RETURN...
  314.                 returnVoid 
  315. ! PROCEDURE...
  316.                 procEntry p8_bar5,lexLevel=1,frameSize=96
  317. ! VAR INITIALIZATION...
  318.                 x1 := 0
  319. ! CALL STMT...
  320.                 param 1,1
  321.                 call p1_foo1
  322. ! RETURN...
  323.                 returnVoid 
  324. ! PROCEDURE...
  325.                 procEntry p9_bar6,lexLevel=1,frameSize=96
  326.                 formal 1,a1
  327. ! VAR INITIALIZATION...
  328.                 x1 := 0
  329. ! CALL STMT...
  330.                 param 1,1
  331.                 call p1_foo1
  332. ! RETURN...
  333.                 returnVoid 
  334. ! PROCEDURE...
  335.                 procEntry p10_bar7,lexLevel=1,frameSize=96
  336.                 formal 1,a1
  337.                 formal 2,a2
  338. ! VAR INITIALIZATION...
  339.                 x1 := 0
  340. ! CALL STMT...
  341.                 param 1,1
  342.                 call p1_foo1
  343. ! RETURN...
  344.                 returnVoid 
  345. ! PROCEDURE...
  346.                 procEntry p11_bar8,lexLevel=1,frameSize=96
  347.                 formal 1,a1
  348.                 formal 2,a2
  349.                 formal 3,a3
  350. ! VAR INITIALIZATION...
  351.                 x1 := 0
  352. ! CALL STMT...
  353.                 param 1,1
  354.                 call p1_foo1
  355. ! RETURN...
  356.                 returnVoid 
  357. ! PROCEDURE...
  358.                 procEntry p12_bar9,lexLevel=1,frameSize=104
  359. ! VAR INITIALIZATION...
  360.                 x1 := 0
  361. ! VAR INITIALIZATION...
  362.                 x2 := x1
  363. ! CALL STMT...
  364.                 param 1,1
  365.                 call p1_foo1
  366. ! RETURN...
  367.                 returnVoid 
  368. ! PROCEDURE...
  369.                 procEntry p13_bar10,lexLevel=1,frameSize=104
  370.                 formal 1,a1
  371. ! VAR INITIALIZATION...
  372.                 x1 := 0
  373. ! VAR INITIALIZATION...
  374.                 x2 := x1
  375. ! CALL STMT...
  376.                 param 1,1
  377.                 call p1_foo1
  378. ! RETURN...
  379.                 returnVoid 
  380. ! PROCEDURE...
  381.                 procEntry p14_bar11,lexLevel=1,frameSize=104
  382.                 formal 1,a1
  383.                 formal 2,a2
  384. ! VAR INITIALIZATION...
  385.                 x1 := 0
  386. ! VAR INITIALIZATION...
  387.                 x2 := x1
  388. ! CALL STMT...
  389.                 param 1,1
  390.                 call p1_foo1
  391. ! RETURN...
  392.                 returnVoid 
  393. ! PROCEDURE...
  394.                 procEntry p15_bar12,lexLevel=1,frameSize=104
  395.                 formal 1,a1
  396.                 formal 2,a2
  397.                 formal 3,a3
  398. ! VAR INITIALIZATION...
  399.                 x1 := 0
  400. ! VAR INITIALIZATION...
  401.                 x2 := x1
  402. ! CALL STMT...
  403.                 param 1,1
  404.                 call p1_foo1
  405. ! RETURN...
  406.                 returnVoid 
  407. ! PROCEDURE...
  408.                 procEntry p16_bar13,lexLevel=1,frameSize=104
  409. ! VAR INITIALIZATION...
  410.                 x1 := 0
  411. ! VAR INITIALIZATION...
  412.                 x2 := x1
  413. ! CALL STMT...
  414.                 param 1,1
  415.                 param 2,2
  416.                 param 3,3
  417.                 param 4,4
  418.                 call p2_foo2
  419. ! RETURN...
  420.                 returnVoid 
  421. ! PROCEDURE...
  422.                 procEntry p17_bar14,lexLevel=1,frameSize=104
  423.                 formal 1,a1
  424. ! VAR INITIALIZATION...
  425.                 x1 := 0
  426. ! VAR INITIALIZATION...
  427.                 x2 := x1
  428. ! CALL STMT...
  429.                 param 1,1
  430.                 param 2,2
  431.                 param 3,3
  432.                 param 4,4
  433.                 call p2_foo2
  434. ! RETURN...
  435.                 returnVoid 
  436. ! PROCEDURE...
  437.                 procEntry p18_bar15,lexLevel=1,frameSize=104
  438.                 formal 1,a1
  439.                 formal 2,a2
  440. ! VAR INITIALIZATION...
  441.                 x1 := 0
  442. ! VAR INITIALIZATION...
  443.                 x2 := x1
  444. ! CALL STMT...
  445.                 param 1,1
  446.                 param 2,2
  447.                 param 3,3
  448.                 param 4,4
  449.                 call p2_foo2
  450. ! RETURN...
  451.                 returnVoid 
  452. ! PROCEDURE...
  453.                 procEntry p19_bar16,lexLevel=1,frameSize=104
  454.                 formal 1,a1
  455.                 formal 2,a2
  456.                 formal 3,a3
  457. ! VAR INITIALIZATION...
  458.                 x1 := 0
  459. ! VAR INITIALIZATION...
  460.                 x2 := x1
  461. ! CALL STMT...
  462.                 param 1,1
  463.                 param 2,2
  464.                 param 3,3
  465.                 param 4,4
  466.                 call p2_foo2
  467. ! RETURN...
  468.                 returnVoid 
  469. ! PROCEDURE...
  470.                 procEntry p20_fun1,lexLevel=1,frameSize=104
  471.                 formal 1,a1
  472. ! VAR INITIALIZATION...
  473.                 x1 := 0
  474. ! VAR INITIALIZATION...
  475.                 x2 := x1
  476. ! CALL STMT...
  477.                 param 1,1
  478.                 param 2,2
  479.                 param 3,3
  480.                 param 4,4
  481.                 call p2_foo2
  482. ! RETURN...
  483.                 returnVoid 
  484. ! PROCEDURE...
  485.                 procEntry p21_fun2,lexLevel=2,frameSize=96
  486.                 formal 1,a1
  487. ! VAR INITIALIZATION...
  488.                 x1 := 0
  489. ! CALL STMT...
  490.                 param 1,1
  491.                 param 2,2
  492.                 param 3,3
  493.                 param 4,4
  494.                 call p2_foo2
  495. ! RETURN...
  496.                 returnVoid 
  497. ! PROCEDURE...
  498.                 procEntry p22_fun3,lexLevel=3,frameSize=104
  499.                 formal 1,a1
  500.                 formal 2,a2
  501. ! VAR INITIALIZATION...
  502.                 x1 := 0
  503. ! VAR INITIALIZATION...
  504.                 x2 := x1
  505. ! CALL STMT...
  506.                 param 1,1
  507.                 param 2,2
  508.                 param 3,3
  509.                 param 4,4
  510.                 call p2_foo2
  511. ! RETURN...
  512.                 returnVoid 
  513. ! PROCEDURE...
  514.                 procEntry p23_fun4,lexLevel=4,frameSize=96
  515.                 formal 1,a1
  516.                 formal 2,a2
  517. ! VAR INITIALIZATION...
  518.                 x1 := 0
  519. ! CALL STMT...
  520.                 param 1,1
  521.                 param 2,2
  522.                 param 3,3
  523.                 param 4,4
  524.                 call p2_foo2
  525. ! RETURN...
  526.                 returnVoid 
  527. ! PROCEDURE...
  528.                 procEntry p24_fun5,lexLevel=5,frameSize=104
  529. ! VAR INITIALIZATION...
  530.                 x1 := 0
  531. ! VAR INITIALIZATION...
  532.                 x2 := x1
  533. ! CALL STMT...
  534.                 param 1,1
  535.                 param 2,2
  536.                 param 3,3
  537.                 param 4,4
  538.                 call p2_foo2
  539. ! RETURN...
  540.                 returnVoid 
  541. ! PROCEDURE...
  542.                 procEntry p25_fun6,lexLevel=6,frameSize=96
  543. ! VAR INITIALIZATION...
  544.                 x1 := 0
  545. ! CALL STMT...
  546.                 param 1,1
  547.                 param 2,2
  548.                 param 3,3
  549.                 param 4,4
  550.                 call p2_foo2
  551. ! RETURN...
  552.                 returnVoid 
  553. ! PROCEDURE...
  554.                 procEntry p26_fun7,lexLevel=7,frameSize=104
  555.                 formal 1,a1
  556. ! VAR INITIALIZATION...
  557.                 x1 := 0
  558. ! VAR INITIALIZATION...
  559.                 x2 := x1
  560. ! CALL STMT...
  561.                 param 1,1
  562.                 param 2,2
  563.                 param 3,3
  564.                 param 4,4
  565.                 call p2_foo2
  566. ! RETURN...
  567.                 returnVoid 
  568. ! PROCEDURE...
  569.                 procEntry p27_fun8,lexLevel=8,frameSize=96
  570.                 formal 1,a1
  571. ! VAR INITIALIZATION...
  572.                 x1 := 0
  573. ! CALL STMT...
  574.                 param 1,1
  575.                 param 2,2
  576.                 param 3,3
  577.                 param 4,4
  578.                 call p2_foo2
  579. ! RETURN...
  580.                 returnVoid 
  581. =======================================
  582.