Higher Subleq | Error | Output | Subleq | ITR |
/*
"auto", "enum", "restrict", "unsigned",
"break", "extern", "return", "void",
"case", "float", "short", "volatile",
"char", "for", "signed", "while",
"const", "goto", "sizeof", "_Bool",
"continue", "if", "static", "_Complex",
"default", "inline", "struct", "_Imaginary",
"do", "int", "switch", "__out",
"double", "long", "typedef", "__in",
"else", "register", "union", "__asm"
*/
extern int i;
void main()
{
for(;;){ break; }
while(0);
goto lab;
lab:
for( i=50; i<55; i++ )
{
if( i>52 ) break;
else continue;
i = __in;
}
__out i;
return;
}
int i;
|
|
5
|
top:top top sqmain
_main:
dec sp; ?+11; sp ?+7; ?+6; sp ?+2; 0
?+6; sp ?+2; bp 0
bp; sp bp
dec sp; ?+11; sp ?+7; ?+6; sp ?+2; 0
?+6; sp ?+2; t1 0
dec sp; ?+11; sp ?+7; ?+6; sp ?+2; 0
?+6; sp ?+2; t2 0
l1:
t1; dec Z; Z t1 ?+3; Z Z ?+9; Z; dec t1; dec t1
Z t1 l3
Z Z l3
l2:
Z Z l1
l3:
l4:
t1; c1 Z; Z t1 ?+3; Z Z ?+9; Z; c1 t1; c1 t1
Z t1 l5
Z Z l4
l5:
Z Z l_main_lab
l_main_lab:
_i; c2 Z; Z _i; Z
l6:
t1; c3 Z; Z t1; Z; _i t1
Z t1 l8
t2; _i Z; Z t2; Z; c4 t2
Z t2 l9
Z Z l8
Z Z l10
l9:
Z Z l7
l10:
t1; (-1) t1
_i; t1 Z; Z _i; Z
l7:
inc _i
Z Z l6
l8:
_i (-1)
Z Z end_main
end_main:
?+8; sp ?+4; t2; 0 t2; inc sp
?+8; sp ?+4; t1; 0 t1; inc sp
sp; bp sp
?+8; sp ?+4; bp; 0 bp; inc sp
?+8; sp ?+4; ?+7; 0 ?+3; Z Z 0
. _i:0
sqmain:
dec sp; ?+11; sp ?+7; ?+6; sp ?+2; 0
?+6; sp ?+2; ?+2 0 _main; . ?; inc sp
Z Z (-1)
. c1:0 c2:50 c4:52 c3:55
. t1:0 t2:0
. inc:-1 Z:0 dec:1 ax:0 bp:0 sp:-sp
|
Root (mt_1.hsq:34)
Declaration [extern] (mt_1.hsq:14)
Keyword [int] (mt_1.hsq:14)
Id [i] (mt_1.hsq:14)
Function:0 [main] (mt_1.hsq:16)
Keyword [void] (mt_1.hsq:16)
Param-type-list (mt_1.hsq:16)
Block (mt_1.hsq:17)
Keyword-statement [for] (mt_1.hsq:18)
Statement [;] (mt_1.hsq:18)
Equality [!=] (mt_1.hsq:18)
Const [1] (:0)
Const [0] (mt_1.hsq:18)
Const [0] (:0)
Block (mt_1.hsq:18)
Keyword-statement [break] (mt_1.hsq:18)
Keyword-statement [while] (mt_1.hsq:19)
Equality [!=] (mt_1.hsq:19)
Const [0] (mt_1.hsq:19)
Const [0] (mt_1.hsq:19)
Statement [;] (mt_1.hsq:19)
Keyword-statement [goto] (mt_1.hsq:20)
Label [lab] (mt_1.hsq:20) lab:21
Label-statement [lab] (mt_1.hsq:21)
Keyword-statement [for] (mt_1.hsq:22)
Assignment [=] (mt_1.hsq:22)
Variable [i] (mt_1.hsq:22) 0:33
Const [50] (mt_1.hsq:22)
Relational [<] (mt_1.hsq:22)
Variable [i] (mt_1.hsq:22) 0:33
Const [55] (mt_1.hsq:22)
Postfix [++] (mt_1.hsq:22)
Variable [i] (mt_1.hsq:22) 0:33
Block (mt_1.hsq:23)
Keyword-statement [if] (mt_1.hsq:24)
Relational [>] (mt_1.hsq:24)
Variable [i] (mt_1.hsq:24) 0:33
Const [52] (mt_1.hsq:24)
Keyword-statement [break] (mt_1.hsq:24)
Keyword-statement [continue] (mt_1.hsq:25)
Assignment [=] (mt_1.hsq:26)
Variable [i] (mt_1.hsq:26) 0:33
OperatorIO [__in] (mt_1.hsq:26)
OperatorIO [__out] (mt_1.hsq:29)
Variable [i] (mt_1.hsq:29) 0:33
Keyword-statement [return] (mt_1.hsq:30)
Declaration (mt_1.hsq:33)
Keyword [int] (mt_1.hsq:33)
Declarator [0] (mt_1.hsq:33)
Id [i] (mt_1.hsq:33)
|