Higher Subleq | Error | Output | Subleq | ITR |
int i=+2, j=&j-&i+1;
int a='a', b="abc";
void main()
{
__out i+48;
__out j+48;
__out a;
__out b[0];
}
|
|
22aa
|
top:top top sqmain
. _i:2 _j:((_j-_i)+1)
. _a:97 _b:c1
_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
dec sp; ?+11; sp ?+7; ?+6; sp ?+2; 0
?+6; sp ?+2; t3 0
t1; t2; _i t1; c2 t1; t1 t2
t2 (-1)
t1; t2; _j t1; c2 t1; t1 t2
t2 (-1)
_a (-1)
t1; t2; _b t1; c3 t1; t1 t2
t1; t3; ?+11; t2 Z; Z ?+4; Z; 0 t1; t1 t3
t3 (-1)
?+8; sp ?+4; t3; 0 t3; inc sp
?+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
sqmain:
dec sp; ?+11; sp ?+7; ?+6; sp ?+2; 0
?+6; sp ?+2; ?+2 0 _main; . ?; inc sp
Z Z (-1)
. c3:0 c2:48 c1:97 98 99 0
. t1:0 t2:0 t3:0
. inc:-1 Z:0 dec:1 ax:0 bp:0 sp:-sp
|
Root (mg_4_2.hsq:10)
Declaration (mg_4_2.hsq:1)
Keyword [int] (mg_4_2.hsq:1)
Declarator [=] (mg_4_2.hsq:1)
Id [i] (mg_4_2.hsq:1)
Const [2] (mg_4_2.hsq:1)
Declarator [=] (mg_4_2.hsq:1)
Id [j] (mg_4_2.hsq:1)
Additive [+] (mg_4_2.hsq:1)
Additive [-] (mg_4_2.hsq:1)
Unary [&] (mg_4_2.hsq:1)
Variable [j] (mg_4_2.hsq:1) =:1
Unary [&] (mg_4_2.hsq:1)
Variable [i] (mg_4_2.hsq:1) =:1
Const [1] (mg_4_2.hsq:1)
Declaration (mg_4_2.hsq:2)
Keyword [int] (mg_4_2.hsq:2)
Declarator [=] (mg_4_2.hsq:2)
Id [a] (mg_4_2.hsq:2)
Const ['a'] (mg_4_2.hsq:2)
Declarator [=] (mg_4_2.hsq:2)
Id [b] (mg_4_2.hsq:2)
String [abc] (mg_4_2.hsq:2)
Function:0 [main] (mg_4_2.hsq:3)
Keyword [void] (mg_4_2.hsq:3)
Param-type-list (mg_4_2.hsq:3)
Block (mg_4_2.hsq:4)
OperatorIO [__out] (mg_4_2.hsq:5)
Additive [+] (mg_4_2.hsq:5)
Variable [i] (mg_4_2.hsq:5) =:1
Const [48] (mg_4_2.hsq:5)
OperatorIO [__out] (mg_4_2.hsq:6)
Additive [+] (mg_4_2.hsq:6)
Variable [j] (mg_4_2.hsq:6) =:1
Const [48] (mg_4_2.hsq:6)
OperatorIO [__out] (mg_4_2.hsq:7)
Variable [a] (mg_4_2.hsq:7) =:2
OperatorIO [__out] (mg_4_2.hsq:8)
Unary [*] (mg_4_2.hsq:8)
Additive [+] (mg_4_2.hsq:8)
Variable [b] (mg_4_2.hsq:8) =:2
Const [0] (mg_4_2.hsq:8)
|