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
/
p9
/
tst
/
if.out.bak
< prev
next >
Wrap
Text File
|
2006-02-07
|
5KB
|
232 lines
PROGRAM IS
VAR
b: boolean := FALSE;
c: boolean := b;
i: integer := 0;
j: integer := i;
BEGIN
IF (i = j) THEN
i := 123;
END;
IF (b = c) THEN
i := 456;
END;
IF b THEN
i := 101;
i := 102;
ELSE
i := 103;
i := 104;
END;
IF b THEN
i := 201;
i := 202;
ELSE
IF NOT b THEN
i := 203;
i := 204;
ELSE
i := 205;
i := 206;
END;
END;
IF (b OR c) THEN
i := 222;
END;
IF (b AND c) THEN
i := 333;
END;
IF ((b OR c) AND (NOT b OR NOT c)) THEN
i := 444;
END;
IF ((b OR c) AND (NOT b OR NOT c)) THEN
i := 555;
ELSE
i := 666;
END;
END;
maxLexicalLevel = 0
===== Intermediate Code Follows =====
! MAIN...
mainEntry
! VAR INITIALIZATION...
t1 := 0
b := t1
! VAR INITIALIZATION...
c := b
! VAR INITIALIZATION...
t2 := 0
i := t2
! VAR INITIALIZATION...
j := i
! IF...
if i = j then goto Label_1 (integer)
goto Label_2
Label_1:
! THEN...
! ASSIGNMENT STMT...
t3 := &i
t4 := 123
*t3 := t4
! END IF...
Label_2:
! IF...
if b = c then goto Label_3 (integer)
goto Label_4
Label_3:
! THEN...
! ASSIGNMENT STMT...
t5 := &i
t6 := 456
*t5 := t6
! END IF...
Label_4:
! IF...
if b = 0 then goto Label_6 (integer)
goto Label_5
Label_5:
! THEN...
! ASSIGNMENT STMT...
t7 := &i
t8 := 101
*t7 := t8
! ASSIGNMENT STMT...
t9 := &i
t10 := 102
*t9 := t10
goto Label_7
Label_6:
! ELSE...
! ASSIGNMENT STMT...
t11 := &i
t12 := 103
*t11 := t12
! ASSIGNMENT STMT...
t13 := &i
t14 := 104
*t13 := t14
! END IF...
Label_7:
! IF...
if b = 0 then goto Label_9 (integer)
goto Label_8
Label_8:
! THEN...
! ASSIGNMENT STMT...
t15 := &i
t16 := 201
*t15 := t16
! ASSIGNMENT STMT...
t17 := &i
t18 := 202
*t17 := t18
goto Label_10
Label_9:
! ELSE...
! IF...
if b = 0 then goto Label_11 (integer)
goto Label_12
Label_11:
! THEN...
! ASSIGNMENT STMT...
t19 := &i
t20 := 203
*t19 := t20
! ASSIGNMENT STMT...
t21 := &i
t22 := 204
*t21 := t22
goto Label_13
Label_12:
! ELSE...
! ASSIGNMENT STMT...
t23 := &i
t24 := 205
*t23 := t24
! ASSIGNMENT STMT...
t25 := &i
t26 := 206
*t25 := t26
! END IF...
Label_13:
! END IF...
Label_10:
! IF...
if b = 0 then goto Label_16 (integer)
goto Label_14
Label_16:
if c = 0 then goto Label_15 (integer)
goto Label_14
Label_14:
! THEN...
! ASSIGNMENT STMT...
t27 := &i
t28 := 222
*t27 := t28
! END IF...
Label_15:
! IF...
if b = 0 then goto Label_18 (integer)
goto Label_19
Label_19:
if c = 0 then goto Label_18 (integer)
goto Label_17
Label_17:
! THEN...
! ASSIGNMENT STMT...
t29 := &i
t30 := 333
*t29 := t30
! END IF...
Label_18:
! IF...
if b = 0 then goto Label_23 (integer)
goto Label_22
Label_23:
if c = 0 then goto Label_21 (integer)
goto Label_22
Label_22:
if b = 0 then goto Label_20 (integer)
goto Label_24
Label_24:
if c = 0 then goto Label_20 (integer)
goto Label_21
Label_20:
! THEN...
! ASSIGNMENT STMT...
t31 := &i
t32 := 444
*t31 := t32
! END IF...
Label_21:
! IF...
if b = 0 then goto Label_28 (integer)
goto Label_27
Label_28:
if c = 0 then goto Label_26 (integer)
goto Label_27
Label_27:
if b = 0 then goto Label_25 (integer)
goto Label_29
Label_29:
if c = 0 then goto Label_25 (integer)
goto Label_26
Label_25:
! THEN...
! ASSIGNMENT STMT...
t33 := &i
t34 := 555
*t33 := t34
goto Label_30
Label_26:
! ELSE...
! ASSIGNMENT STMT...
t35 := &i
t36 := 666
*t35 := t36
! END IF...
Label_30:
! MAIN EXIT...
mainExit
=======================================