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
/
loops.out.bak
< prev
next >
Wrap
Text File
|
2006-02-17
|
7KB
|
288 lines
PROGRAM IS
VAR
b: boolean := FALSE;
c: boolean := b;
i: integer := 0;
BEGIN
WHILE TRUE DO
i := 123;
END;
WHILE b DO
i := 123;
END;
WHILE (b AND c) DO
i := 123;
END;
WHILE (b OR c) DO
i := 123;
END;
WHILE (((b OR c) OR NOT b) AND NOT (NOT b AND c)) DO
i := 123;
END;
WHILE b DO
i := 111;
IF b THEN
EXIT;
END;
i := 222;
END;
LOOP
i := 111;
LOOP
i := 222;
IF b THEN
EXIT;
END;
LOOP
i := 333;
IF b THEN
EXIT;
END;
i := 444;
END;
IF b THEN
EXIT;
END;
i := 555;
END;
i := 666;
IF b THEN
EXIT;
END;
i := 777;
END;
i := 888;
FOR i := (100 * i) TO (200 * i) BY (3 * i) DO
i := 1010101;
END;
FOR i := 3000 TO 4000 DO
i := 1111;
IF b THEN
i := 2222;
EXIT;
END;
i := 3333;
END;
i := 4444;
END;
maxLexicalLevel = 0
===== String List Follows =====
===== Float List Follows =====
===== Intermediate Code Follows =====
! MAIN...
mainEntry
! VAR INITIALIZATION...
b := 0
! VAR INITIALIZATION...
c := b
! VAR INITIALIZATION...
i := 0
! WHILE...
Label_1:
goto Label_2
Label_2:
! ASSIGNMENT STMT...
i := 123
! END WHILE...
goto Label_1
Label_3:
! WHILE...
Label_4:
if b = 0 then goto Label_6 (integer)
goto Label_5
Label_5:
! ASSIGNMENT STMT...
i := 123
! END WHILE...
goto Label_4
Label_6:
! WHILE...
Label_7:
if b = 0 then goto Label_9 (integer)
goto Label_10
Label_10:
if c = 0 then goto Label_9 (integer)
goto Label_8
Label_8:
! ASSIGNMENT STMT...
i := 123
! END WHILE...
goto Label_7
Label_9:
! WHILE...
Label_11:
if b = 0 then goto Label_14 (integer)
goto Label_12
Label_14:
if c = 0 then goto Label_13 (integer)
goto Label_12
Label_12:
! ASSIGNMENT STMT...
i := 123
! END WHILE...
goto Label_11
Label_13:
! WHILE...
Label_15:
if b = 0 then goto Label_20 (integer)
goto Label_18
Label_20:
if c = 0 then goto Label_19 (integer)
goto Label_18
Label_19:
if b = 0 then goto Label_18 (integer)
goto Label_17
Label_18:
if b = 0 then goto Label_21 (integer)
goto Label_16
Label_21:
if c = 0 then goto Label_16 (integer)
goto Label_17
Label_16:
! ASSIGNMENT STMT...
i := 123
! END WHILE...
goto Label_15
Label_17:
! WHILE...
Label_22:
if b = 0 then goto Label_24 (integer)
goto Label_23
Label_23:
! ASSIGNMENT STMT...
i := 111
! IF...
if b = 0 then goto Label_26 (integer)
goto Label_25
Label_25:
! THEN...
! EXIT...
goto Label_24
! END IF...
Label_26:
! ASSIGNMENT STMT...
i := 222
! END WHILE...
goto Label_22
Label_24:
! LOOP...
Label_27:
! ASSIGNMENT STMT...
i := 111
! LOOP...
Label_29:
! ASSIGNMENT STMT...
i := 222
! IF...
if b = 0 then goto Label_32 (integer)
goto Label_31
Label_31:
! THEN...
! EXIT...
goto Label_30
! END IF...
Label_32:
! LOOP...
Label_33:
! ASSIGNMENT STMT...
i := 333
! IF...
if b = 0 then goto Label_36 (integer)
goto Label_35
Label_35:
! THEN...
! EXIT...
goto Label_34
! END IF...
Label_36:
! ASSIGNMENT STMT...
i := 444
! END LOOP...
goto Label_33
Label_34:
! IF...
if b = 0 then goto Label_38 (integer)
goto Label_37
Label_37:
! THEN...
! EXIT...
goto Label_30
! END IF...
Label_38:
! ASSIGNMENT STMT...
i := 555
! END LOOP...
goto Label_29
Label_30:
! ASSIGNMENT STMT...
i := 666
! IF...
if b = 0 then goto Label_40 (integer)
goto Label_39
Label_39:
! THEN...
! EXIT...
goto Label_28
! END IF...
Label_40:
! ASSIGNMENT STMT...
i := 777
! END LOOP...
goto Label_27
Label_28:
! ASSIGNMENT STMT...
i := 888
! FOR...
t4 := &i
t5 := 100 * i (integer)
t1 := t5
t6 := 200 * i (integer)
t2 := t6
t7 := 3 * i (integer)
t3 := t7
*t4 := t1
Label_41:
if t1 > t2 then goto Label_42 (integer)
! ASSIGNMENT STMT...
i := 1010101
! END FOR...
t1 := *t4
t1 := t1 + t3 (integer)
*t4 := t1
goto Label_41
Label_42:
! FOR...
t11 := &i
t8 := 3000
t9 := 4000
t10 := 1
*t11 := t8
Label_43:
if t8 > t9 then goto Label_44 (integer)
! ASSIGNMENT STMT...
i := 1111
! IF...
if b = 0 then goto Label_46 (integer)
goto Label_45
Label_45:
! THEN...
! ASSIGNMENT STMT...
i := 2222
! EXIT...
goto Label_44
! END IF...
Label_46:
! ASSIGNMENT STMT...
i := 3333
! END FOR...
t8 := *t11
t8 := t8 + t10 (integer)
*t11 := t8
goto Label_43
Label_44:
! ASSIGNMENT STMT...
i := 4444
! MAIN EXIT...
mainExit
=======================================