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 >
Wrap
Text File
|
2006-02-17
|
15KB
|
582 lines
PROGRAM IS
VAR
x1: integer := 0;
x2: integer := x1;
PROCEDURE foo1 (a1: integer) IS
VAR
x1: integer := 0;
x2: integer := x1;
x3: integer := x1;
x4: integer := x1;
BEGIN
foo2 (1, 2, 3, 4);
RETURN;
END;
PROCEDURE foo2 (a1: integer; a2: integer; a3: integer; a4: integer) IS
VAR
x1: integer := 0;
BEGIN
foo3 (1, 2);
RETURN;
END;
PROCEDURE foo3 (a1: integer; a2: integer) IS
VAR
x1: integer := 0;
x2: integer := x1;
x3: integer := x1;
BEGIN
foo1 (1);
RETURN;
END;
PROCEDURE bar1 () IS
BEGIN
foo1 (1);
RETURN;
END;
PROCEDURE bar2 (a1: integer) IS
BEGIN
foo1 (1);
RETURN;
END;
PROCEDURE bar3 (a1: integer; a2: integer) IS
BEGIN
foo1 (1);
RETURN;
END;
PROCEDURE bar4 (a1: integer; a2: integer; a3: integer) IS
BEGIN
foo1 (1);
RETURN;
END;
PROCEDURE bar5 () IS
VAR
x1: integer := 0;
BEGIN
foo1 (1);
RETURN;
END;
PROCEDURE bar6 (a1: integer) IS
VAR
x1: integer := 0;
BEGIN
foo1 (1);
RETURN;
END;
PROCEDURE bar7 (a1: integer; a2: integer) IS
VAR
x1: integer := 0;
BEGIN
foo1 (1);
RETURN;
END;
PROCEDURE bar8 (a1: integer; a2: integer; a3: integer) IS
VAR
x1: integer := 0;
BEGIN
foo1 (1);
RETURN;
END;
PROCEDURE bar9 () IS
VAR
x1: integer := 0;
x2: integer := x1;
BEGIN
foo1 (1);
RETURN;
END;
PROCEDURE bar10 (a1: integer) IS
VAR
x1: integer := 0;
x2: integer := x1;
BEGIN
foo1 (1);
RETURN;
END;
PROCEDURE bar11 (a1: integer; a2: integer) IS
VAR
x1: integer := 0;
x2: integer := x1;
BEGIN
foo1 (1);
RETURN;
END;
PROCEDURE bar12 (a1: integer; a2: integer; a3: integer) IS
VAR
x1: integer := 0;
x2: integer := x1;
BEGIN
foo1 (1);
RETURN;
END;
PROCEDURE bar13 () IS
VAR
x1: integer := 0;
x2: integer := x1;
BEGIN
foo2 (1, 2, 3, 4);
RETURN;
END;
PROCEDURE bar14 (a1: integer) IS
VAR
x1: integer := 0;
x2: integer := x1;
BEGIN
foo2 (1, 2, 3, 4);
RETURN;
END;
PROCEDURE bar15 (a1: integer; a2: integer) IS
VAR
x1: integer := 0;
x2: integer := x1;
BEGIN
foo2 (1, 2, 3, 4);
RETURN;
END;
PROCEDURE bar16 (a1: integer; a2: integer; a3: integer) IS
VAR
x1: integer := 0;
x2: integer := x1;
BEGIN
foo2 (1, 2, 3, 4);
RETURN;
END;
PROCEDURE fun1 (a1: integer) IS
VAR
x1: integer := 0;
x2: integer := x1;
PROCEDURE fun2 (a1: integer) IS
VAR
x1: integer := 0;
PROCEDURE fun3 (a1: integer; a2: integer) IS
VAR
x1: integer := 0;
x2: integer := x1;
PROCEDURE fun4 (a1: integer; a2: integer) IS
VAR
x1: integer := 0;
PROCEDURE fun5 () IS
VAR
x1: integer := 0;
x2: integer := x1;
PROCEDURE fun6 () IS
VAR
x1: integer := 0;
PROCEDURE fun7 (a1: integer) IS
VAR
x1: integer := 0;
x2: integer := x1;
PROCEDURE fun8 (a1: integer) IS
VAR
x1: integer := 0;
BEGIN
foo2 (1, 2, 3, 4);
RETURN;
END;
BEGIN
foo2 (1, 2, 3, 4);
RETURN;
END;
BEGIN
foo2 (1, 2, 3, 4);
RETURN;
END;
BEGIN
foo2 (1, 2, 3, 4);
RETURN;
END;
BEGIN
foo2 (1, 2, 3, 4);
RETURN;
END;
BEGIN
foo2 (1, 2, 3, 4);
RETURN;
END;
BEGIN
foo2 (1, 2, 3, 4);
RETURN;
END;
BEGIN
foo2 (1, 2, 3, 4);
RETURN;
END;
BEGIN
foo1 (1);
foo2 (1, 2, 3, 4);
foo3 (1, 2);
END;
maxLexicalLevel = 8
===== String List Follows =====
===== Float List Follows =====
===== Intermediate Code Follows =====
! MAIN...
mainEntry
! VAR INITIALIZATION...
x1 := 0
! VAR INITIALIZATION...
x2 := x1
! CALL STMT...
param 1,1
call p1_foo1
! CALL STMT...
param 1,1
param 2,2
param 3,3
param 4,4
call p2_foo2
! CALL STMT...
param 1,1
param 2,2
call p3_foo3
! MAIN EXIT...
mainExit
! PROCEDURE...
procEntry p1_foo1,lexLevel=1,frameSize=112
formal 1,a1
! VAR INITIALIZATION...
x1 := 0
! VAR INITIALIZATION...
x2 := x1
! VAR INITIALIZATION...
x3 := x1
! VAR INITIALIZATION...
x4 := x1
! CALL STMT...
param 1,1
param 2,2
param 3,3
param 4,4
call p2_foo2
! RETURN...
returnVoid
! PROCEDURE...
procEntry p2_foo2,lexLevel=1,frameSize=96
formal 1,a1
formal 2,a2
formal 3,a3
formal 4,a4
! VAR INITIALIZATION...
x1 := 0
! CALL STMT...
param 1,1
param 2,2
call p3_foo3
! RETURN...
returnVoid
! PROCEDURE...
procEntry p3_foo3,lexLevel=1,frameSize=104
formal 1,a1
formal 2,a2
! VAR INITIALIZATION...
x1 := 0
! VAR INITIALIZATION...
x2 := x1
! VAR INITIALIZATION...
x3 := x1
! CALL STMT...
param 1,1
call p1_foo1
! RETURN...
returnVoid
! PROCEDURE...
procEntry p4_bar1,lexLevel=1,frameSize=96
! CALL STMT...
param 1,1
call p1_foo1
! RETURN...
returnVoid
! PROCEDURE...
procEntry p5_bar2,lexLevel=1,frameSize=96
formal 1,a1
! CALL STMT...
param 1,1
call p1_foo1
! RETURN...
returnVoid
! PROCEDURE...
procEntry p6_bar3,lexLevel=1,frameSize=96
formal 1,a1
formal 2,a2
! CALL STMT...
param 1,1
call p1_foo1
! RETURN...
returnVoid
! PROCEDURE...
procEntry p7_bar4,lexLevel=1,frameSize=96
formal 1,a1
formal 2,a2
formal 3,a3
! CALL STMT...
param 1,1
call p1_foo1
! RETURN...
returnVoid
! PROCEDURE...
procEntry p8_bar5,lexLevel=1,frameSize=96
! VAR INITIALIZATION...
x1 := 0
! CALL STMT...
param 1,1
call p1_foo1
! RETURN...
returnVoid
! PROCEDURE...
procEntry p9_bar6,lexLevel=1,frameSize=96
formal 1,a1
! VAR INITIALIZATION...
x1 := 0
! CALL STMT...
param 1,1
call p1_foo1
! RETURN...
returnVoid
! PROCEDURE...
procEntry p10_bar7,lexLevel=1,frameSize=96
formal 1,a1
formal 2,a2
! VAR INITIALIZATION...
x1 := 0
! CALL STMT...
param 1,1
call p1_foo1
! RETURN...
returnVoid
! PROCEDURE...
procEntry p11_bar8,lexLevel=1,frameSize=96
formal 1,a1
formal 2,a2
formal 3,a3
! VAR INITIALIZATION...
x1 := 0
! CALL STMT...
param 1,1
call p1_foo1
! RETURN...
returnVoid
! PROCEDURE...
procEntry p12_bar9,lexLevel=1,frameSize=104
! VAR INITIALIZATION...
x1 := 0
! VAR INITIALIZATION...
x2 := x1
! CALL STMT...
param 1,1
call p1_foo1
! RETURN...
returnVoid
! PROCEDURE...
procEntry p13_bar10,lexLevel=1,frameSize=104
formal 1,a1
! VAR INITIALIZATION...
x1 := 0
! VAR INITIALIZATION...
x2 := x1
! CALL STMT...
param 1,1
call p1_foo1
! RETURN...
returnVoid
! PROCEDURE...
procEntry p14_bar11,lexLevel=1,frameSize=104
formal 1,a1
formal 2,a2
! VAR INITIALIZATION...
x1 := 0
! VAR INITIALIZATION...
x2 := x1
! CALL STMT...
param 1,1
call p1_foo1
! RETURN...
returnVoid
! PROCEDURE...
procEntry p15_bar12,lexLevel=1,frameSize=104
formal 1,a1
formal 2,a2
formal 3,a3
! VAR INITIALIZATION...
x1 := 0
! VAR INITIALIZATION...
x2 := x1
! CALL STMT...
param 1,1
call p1_foo1
! RETURN...
returnVoid
! PROCEDURE...
procEntry p16_bar13,lexLevel=1,frameSize=104
! VAR INITIALIZATION...
x1 := 0
! VAR INITIALIZATION...
x2 := x1
! CALL STMT...
param 1,1
param 2,2
param 3,3
param 4,4
call p2_foo2
! RETURN...
returnVoid
! PROCEDURE...
procEntry p17_bar14,lexLevel=1,frameSize=104
formal 1,a1
! VAR INITIALIZATION...
x1 := 0
! VAR INITIALIZATION...
x2 := x1
! CALL STMT...
param 1,1
param 2,2
param 3,3
param 4,4
call p2_foo2
! RETURN...
returnVoid
! PROCEDURE...
procEntry p18_bar15,lexLevel=1,frameSize=104
formal 1,a1
formal 2,a2
! VAR INITIALIZATION...
x1 := 0
! VAR INITIALIZATION...
x2 := x1
! CALL STMT...
param 1,1
param 2,2
param 3,3
param 4,4
call p2_foo2
! RETURN...
returnVoid
! PROCEDURE...
procEntry p19_bar16,lexLevel=1,frameSize=104
formal 1,a1
formal 2,a2
formal 3,a3
! VAR INITIALIZATION...
x1 := 0
! VAR INITIALIZATION...
x2 := x1
! CALL STMT...
param 1,1
param 2,2
param 3,3
param 4,4
call p2_foo2
! RETURN...
returnVoid
! PROCEDURE...
procEntry p20_fun1,lexLevel=1,frameSize=104
formal 1,a1
! VAR INITIALIZATION...
x1 := 0
! VAR INITIALIZATION...
x2 := x1
! CALL STMT...
param 1,1
param 2,2
param 3,3
param 4,4
call p2_foo2
! RETURN...
returnVoid
! PROCEDURE...
procEntry p21_fun2,lexLevel=2,frameSize=96
formal 1,a1
! VAR INITIALIZATION...
x1 := 0
! CALL STMT...
param 1,1
param 2,2
param 3,3
param 4,4
call p2_foo2
! RETURN...
returnVoid
! PROCEDURE...
procEntry p22_fun3,lexLevel=3,frameSize=104
formal 1,a1
formal 2,a2
! VAR INITIALIZATION...
x1 := 0
! VAR INITIALIZATION...
x2 := x1
! CALL STMT...
param 1,1
param 2,2
param 3,3
param 4,4
call p2_foo2
! RETURN...
returnVoid
! PROCEDURE...
procEntry p23_fun4,lexLevel=4,frameSize=96
formal 1,a1
formal 2,a2
! VAR INITIALIZATION...
x1 := 0
! CALL STMT...
param 1,1
param 2,2
param 3,3
param 4,4
call p2_foo2
! RETURN...
returnVoid
! PROCEDURE...
procEntry p24_fun5,lexLevel=5,frameSize=104
! VAR INITIALIZATION...
x1 := 0
! VAR INITIALIZATION...
x2 := x1
! CALL STMT...
param 1,1
param 2,2
param 3,3
param 4,4
call p2_foo2
! RETURN...
returnVoid
! PROCEDURE...
procEntry p25_fun6,lexLevel=6,frameSize=96
! VAR INITIALIZATION...
x1 := 0
! CALL STMT...
param 1,1
param 2,2
param 3,3
param 4,4
call p2_foo2
! RETURN...
returnVoid
! PROCEDURE...
procEntry p26_fun7,lexLevel=7,frameSize=104
formal 1,a1
! VAR INITIALIZATION...
x1 := 0
! VAR INITIALIZATION...
x2 := x1
! CALL STMT...
param 1,1
param 2,2
param 3,3
param 4,4
call p2_foo2
! RETURN...
returnVoid
! PROCEDURE...
procEntry p27_fun8,lexLevel=8,frameSize=96
formal 1,a1
! VAR INITIALIZATION...
x1 := 0
! CALL STMT...
param 1,1
param 2,2
param 3,3
param 4,4
call p2_foo2
! RETURN...
returnVoid
=======================================