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
/
array.out.bak
< prev
next >
Wrap
Text File
|
2006-02-17
|
10KB
|
248 lines
PROGRAM IS
VAR
x: real := intToReal (0);
i: integer := 0;
PROCEDURE foo (z1: integer; z2: integer; z3: integer) IS
TYPE
A1 IS ARRAY OF A2;
A2 IS ARRAY OF A3;
A3 IS ARRAY OF real;
VAR
a1: A1 := NIL;
a2: A2 := NIL;
a3: A3 := NIL;
BEGIN
x := (x + 3.21);
a1 := a1;
x := a3[10];
x := a2[20][10];
x := a1[30][20][10];
a3[10] := x;
a2[20][10] := x;
a1[30][20][10] := x;
x := a3[((i * 3333) + (4444 * i))];
a3[((i * 5555) + (6666 * i))] := x;
a1[(30 * i)][(20 * i)][(10 * i)] := a1[(30 * i)][(20 * i)][(10 * i)];
RETURN;
END;
BEGIN
END;
maxLexicalLevel = 1
===== String List Follows =====
===== Float List Follows =====
float1: 3.21
===== Intermediate Code Follows =====
! MAIN...
mainEntry
! VAR INITIALIZATION...
t1 := intToFloat (0)
x := t1
! VAR INITIALIZATION...
i := 0
! MAIN EXIT...
mainExit
! PROCEDURE...
procEntry p1_foo,lexLevel=1,frameSize=296
formal 1,z1
formal 2,z2
formal 3,z3
! VAR INITIALIZATION...
a1 := 0
! VAR INITIALIZATION...
a2 := 0
! VAR INITIALIZATION...
a3 := 0
! ASSIGNMENT STMT...
t2 := x + 3.21 (float)
x := t2
! ASSIGNMENT STMT...
a1 := a1
! ASSIGNMENT STMT...
if a3 = 0 then goto runtimeError2 (integer)
if 10 < 0 then goto runtimeError4 (integer)
t3 := *a3
if 10 >= t3 then goto runtimeError4 (integer)
t3 := 10 * 4 (integer)
t3 := t3 + 4 (integer)
t3 := a3 + t3 (integer)
t4 := *t3
x := t4
! ASSIGNMENT STMT...
if a2 = 0 then goto runtimeError2 (integer)
if 20 < 0 then goto runtimeError4 (integer)
t5 := *a2
if 20 >= t5 then goto runtimeError4 (integer)
t5 := 20 * 4 (integer)
t5 := t5 + 4 (integer)
t5 := a2 + t5 (integer)
t6 := *t5
if t6 = 0 then goto runtimeError2 (integer)
if 10 < 0 then goto runtimeError4 (integer)
t7 := *t6
if 10 >= t7 then goto runtimeError4 (integer)
t7 := 10 * 4 (integer)
t7 := t7 + 4 (integer)
t7 := t6 + t7 (integer)
t8 := *t7
x := t8
! ASSIGNMENT STMT...
if a1 = 0 then goto runtimeError2 (integer)
if 30 < 0 then goto runtimeError4 (integer)
t9 := *a1
if 30 >= t9 then goto runtimeError4 (integer)
t9 := 30 * 4 (integer)
t9 := t9 + 4 (integer)
t9 := a1 + t9 (integer)
t10 := *t9
if t10 = 0 then goto runtimeError2 (integer)
if 20 < 0 then goto runtimeError4 (integer)
t11 := *t10
if 20 >= t11 then goto runtimeError4 (integer)
t11 := 20 * 4 (integer)
t11 := t11 + 4 (integer)
t11 := t10 + t11 (integer)
t12 := *t11
if t12 = 0 then goto runtimeError2 (integer)
if 10 < 0 then goto runtimeError4 (integer)
t13 := *t12
if 10 >= t13 then goto runtimeError4 (integer)
t13 := 10 * 4 (integer)
t13 := t13 + 4 (integer)
t13 := t12 + t13 (integer)
t14 := *t13
x := t14
! ASSIGNMENT STMT...
if a3 = 0 then goto runtimeError2 (integer)
if 10 < 0 then goto runtimeError4 (integer)
t15 := *a3
if 10 >= t15 then goto runtimeError4 (integer)
t15 := 10 * 4 (integer)
t15 := t15 + 4 (integer)
t15 := a3 + t15 (integer)
*t15 := x
! ASSIGNMENT STMT...
if a2 = 0 then goto runtimeError2 (integer)
if 20 < 0 then goto runtimeError4 (integer)
t16 := *a2
if 20 >= t16 then goto runtimeError4 (integer)
t16 := 20 * 4 (integer)
t16 := t16 + 4 (integer)
t16 := a2 + t16 (integer)
t17 := *t16
if t17 = 0 then goto runtimeError2 (integer)
if 10 < 0 then goto runtimeError4 (integer)
t18 := *t17
if 10 >= t18 then goto runtimeError4 (integer)
t18 := 10 * 4 (integer)
t18 := t18 + 4 (integer)
t18 := t17 + t18 (integer)
*t18 := x
! ASSIGNMENT STMT...
if a1 = 0 then goto runtimeError2 (integer)
if 30 < 0 then goto runtimeError4 (integer)
t19 := *a1
if 30 >= t19 then goto runtimeError4 (integer)
t19 := 30 * 4 (integer)
t19 := t19 + 4 (integer)
t19 := a1 + t19 (integer)
t20 := *t19
if t20 = 0 then goto runtimeError2 (integer)
if 20 < 0 then goto runtimeError4 (integer)
t21 := *t20
if 20 >= t21 then goto runtimeError4 (integer)
t21 := 20 * 4 (integer)
t21 := t21 + 4 (integer)
t21 := t20 + t21 (integer)
t22 := *t21
if t22 = 0 then goto runtimeError2 (integer)
if 10 < 0 then goto runtimeError4 (integer)
t23 := *t22
if 10 >= t23 then goto runtimeError4 (integer)
t23 := 10 * 4 (integer)
t23 := t23 + 4 (integer)
t23 := t22 + t23 (integer)
*t23 := x
! ASSIGNMENT STMT...
if a3 = 0 then goto runtimeError2 (integer)
t24 := i * 3333 (integer)
t25 := 4444 * i (integer)
t26 := t24 + t25 (integer)
if t26 < 0 then goto runtimeError4 (integer)
t27 := *a3
if t26 >= t27 then goto runtimeError4 (integer)
t27 := t26 * 4 (integer)
t27 := t27 + 4 (integer)
t27 := a3 + t27 (integer)
t28 := *t27
x := t28
! ASSIGNMENT STMT...
if a3 = 0 then goto runtimeError2 (integer)
t29 := i * 5555 (integer)
t30 := 6666 * i (integer)
t31 := t29 + t30 (integer)
if t31 < 0 then goto runtimeError4 (integer)
t32 := *a3
if t31 >= t32 then goto runtimeError4 (integer)
t32 := t31 * 4 (integer)
t32 := t32 + 4 (integer)
t32 := a3 + t32 (integer)
*t32 := x
! ASSIGNMENT STMT...
if a1 = 0 then goto runtimeError2 (integer)
t33 := 30 * i (integer)
if t33 < 0 then goto runtimeError4 (integer)
t34 := *a1
if t33 >= t34 then goto runtimeError4 (integer)
t34 := t33 * 4 (integer)
t34 := t34 + 4 (integer)
t34 := a1 + t34 (integer)
t35 := *t34
if t35 = 0 then goto runtimeError2 (integer)
t36 := 20 * i (integer)
if t36 < 0 then goto runtimeError4 (integer)
t37 := *t35
if t36 >= t37 then goto runtimeError4 (integer)
t37 := t36 * 4 (integer)
t37 := t37 + 4 (integer)
t37 := t35 + t37 (integer)
t38 := *t37
if t38 = 0 then goto runtimeError2 (integer)
t39 := 10 * i (integer)
if t39 < 0 then goto runtimeError4 (integer)
t40 := *t38
if t39 >= t40 then goto runtimeError4 (integer)
t40 := t39 * 4 (integer)
t40 := t40 + 4 (integer)
t40 := t38 + t40 (integer)
if a1 = 0 then goto runtimeError2 (integer)
t41 := 30 * i (integer)
if t41 < 0 then goto runtimeError4 (integer)
t42 := *a1
if t41 >= t42 then goto runtimeError4 (integer)
t42 := t41 * 4 (integer)
t42 := t42 + 4 (integer)
t42 := a1 + t42 (integer)
t43 := *t42
if t43 = 0 then goto runtimeError2 (integer)
t44 := 20 * i (integer)
if t44 < 0 then goto runtimeError4 (integer)
t45 := *t43
if t44 >= t45 then goto runtimeError4 (integer)
t45 := t44 * 4 (integer)
t45 := t45 + 4 (integer)
t45 := t43 + t45 (integer)
t46 := *t45
if t46 = 0 then goto runtimeError2 (integer)
t47 := 10 * i (integer)
if t47 < 0 then goto runtimeError4 (integer)
t48 := *t46
if t47 >= t48 then goto runtimeError4 (integer)
t48 := t47 * 4 (integer)
t48 := t48 + 4 (integer)
t48 := t46 + t48 (integer)
t49 := *t48
*t40 := t49
! RETURN...
returnVoid
=======================================