Higher Subleq | Error | Output | Subleq | ITR |
int a[2], b[3], c[2];
void main()
{
a[1] = 'x';
b[2] = 1;
__out a[b[2]];
c[1] = a;
__out c[1][1];
}
|
|
xx
|
top:top top sqmain
. _a:[2] _b:[3] _c:[2]
_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; c2 t1; dec t1; t1 t2
?+23; ?+21; ?+24; t2 Z; Z ?+10; Z ?+8
Z ?+11; Z; 0; c1 Z; Z 0; Z
t1; t2; c3 t1; c4 t1; t1 t2
?+23; ?+21; ?+24; t2 Z; Z ?+10; Z ?+8
Z ?+11; Z; 0; dec Z; Z 0; Z
t1; t2; c3 t1; c4 t1; t1 t2
t1; t3; ?+11; t2 Z; Z ?+4; Z; 0 t1; t1 t3
t2; t1; c2 t2; t3 t2; t2 t1
t2; t3; ?+11; t1 Z; Z ?+4; Z; 0 t2; t2 t3
t3 (-1)
t1; t2; c5 t1; dec t1; t1 t2
?+23; ?+21; ?+24; t2 Z; Z ?+10; Z ?+8
Z ?+11; Z; 0; c2 Z; Z 0; Z
t1; t2; c5 t1; dec t1; t1 t2
t1; t3; ?+11; t2 Z; Z ?+4; Z; 0 t1; t1 t3
t2; t1; t3 t2; dec t2; t2 t1
t2; t3; ?+11; t1 Z; Z ?+4; Z; 0 t2; t2 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)
. c1:120 c4:2 c2:_a c3:_b c5:_c
. t1:0 t2:0 t3:0
. inc:-1 Z:0 dec:1 ax:0 bp:0 sp:-sp
|
Root (mg_19_2.hsq:11)
Declaration (mg_19_2.hsq:1)
Keyword [int] (mg_19_2.hsq:1)
Declarator [[] (mg_19_2.hsq:1)
Id [a] (mg_19_2.hsq:1)
Const [2] (mg_19_2.hsq:1)
Declarator [[] (mg_19_2.hsq:1)
Id [b] (mg_19_2.hsq:1)
Const [3] (mg_19_2.hsq:1)
Declarator [[] (mg_19_2.hsq:1)
Id [c] (mg_19_2.hsq:1)
Const [2] (mg_19_2.hsq:1)
Function:0 [main] (mg_19_2.hsq:2)
Keyword [void] (mg_19_2.hsq:2)
Param-type-list (mg_19_2.hsq:2)
Block (mg_19_2.hsq:3)
Assignment [=] (mg_19_2.hsq:4)
Unary [*] (mg_19_2.hsq:4)
Additive [+] (mg_19_2.hsq:4)
Label [a] (mg_19_2.hsq:4) [:1
Const [1] (mg_19_2.hsq:4)
Const ['x'] (mg_19_2.hsq:4)
Assignment [=] (mg_19_2.hsq:5)
Unary [*] (mg_19_2.hsq:5)
Additive [+] (mg_19_2.hsq:5)
Label [b] (mg_19_2.hsq:5) [:1
Const [2] (mg_19_2.hsq:5)
Const [1] (mg_19_2.hsq:5)
OperatorIO [__out] (mg_19_2.hsq:6)
Unary [*] (mg_19_2.hsq:6)
Additive [+] (mg_19_2.hsq:6)
Label [a] (mg_19_2.hsq:6) [:1
Unary [*] (mg_19_2.hsq:6)
Additive [+] (mg_19_2.hsq:6)
Label [b] (mg_19_2.hsq:6) [:1
Const [2] (mg_19_2.hsq:6)
Assignment [=] (mg_19_2.hsq:8)
Unary [*] (mg_19_2.hsq:8)
Additive [+] (mg_19_2.hsq:8)
Label [c] (mg_19_2.hsq:8) [:1
Const [1] (mg_19_2.hsq:8)
Label [a] (mg_19_2.hsq:8) [:1
OperatorIO [__out] (mg_19_2.hsq:9)
Unary [*] (mg_19_2.hsq:9)
Additive [+] (mg_19_2.hsq:9)
Unary [*] (mg_19_2.hsq:9)
Additive [+] (mg_19_2.hsq:9)
Label [c] (mg_19_2.hsq:9) [:1
Const [1] (mg_19_2.hsq:9)
Const [1] (mg_19_2.hsq:9)
|