Байткодеризация 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;
}

Как тут форматировать код? Через какие теги, чтобы табы показывало хотя бы?