Байткодеризация do while и if/elif/else добавлена. Следующим будет for.
u8 a := 33;
func (u8,[u32 c0,f32e8 c1]) main := {
u8 b := 8 + 5;
if 1 {
b := 3;
}
elif 0 {
b := 8;
}
elif 5 {
a := 12;
}
else {
a := 45;
};
return a + 57;
};
|
|
|
V
u8 @0 'a' := 0x21
func(u8,[u32 %0,f32e8 %1]) @1 'main' := {
.0:
%2 := alloca u8;
%3 := 0x8 + 0x5;
%2 := %3;
branch 0x1 .4,.5;
.4:
{
.0:
%2 := 0x3;
};
.5:
branch 0x0 .6,.7;
.6:
{
.0:
%2 := 0x8;
};
.7:
branch 0x5 .8,.9;
.8:
{
.0:
@0 := 0xC;
};
.9:
{
.0:
@0 := 0x2D;
};
%4 := @0 + 0x39;
return %4;
}
Как тут форматировать код? Через какие теги, чтобы табы показывало хотя бы?