Support named identifiers on the right side

This commit is contained in:
2025-05-12 00:06:02 +02:00
parent 707f983fe9
commit d85183c7a6
4 changed files with 725 additions and 592 deletions

View File

@@ -22,9 +22,9 @@ var
loca0: Word
loca4: Word
loca8: Word
loca12: ^Byte
loca16: Word
loca20: Word
loca12: ^Byte
loca24: Bool
begin
_build_expression(0);
@@ -79,16 +79,16 @@ begin
_build_expression(1);
loca0 := 0x627573;
_write_out(@loca0, 3);
_write_out(@loca4, 4);
_write_out(@loca4, 4);
_write_out(@loca8, 4);
_write_s(3, @loca0);
_write_s(4, @loca4);
_write_s(4, @loca4);
_write_s(4, @loca8);
loca0 := 0x7a716573;
_write_out(@loca0, 4);
_write_out(@loca4, 4);
_write_out(@loca4, 3);
_put_char(0x0a);
_write_s(4, @loca0);
_write_s(4, @loca4);
_write_s(3, @loca4);
_write_c(0x0a);
goto .Lbuild_binary_expression_end;
@@ -96,10 +96,10 @@ begin
_advance(1);
_build_expression(1);
loca0 := 0x646e61;
_write_out(@loca0, 3);
_write_out(@loca4, 4);
_write_out(@loca4, 4);
_write_out(@loca8, 4);
_write_s(3, @loca0);
_write_s(4, @loca4);
_write_s(4, @loca4);
_write_s(4, @loca8);
goto .Lbuild_binary_expression_end;
@@ -107,10 +107,10 @@ begin
_advance(2);
_build_expression(1);
loca0 := 0x726f;
_write_out(@loca0, 2);
_write_out(@loca4, 4);
_write_out(@loca4, 4);
_write_out(@loca8, 4);
_write_s(2, @loca0);
_write_s(4, @loca4);
_write_s(4, @loca4);
_write_s(4, @loca8);
goto .Lbuild_binary_expression_end;
@@ -118,10 +118,10 @@ begin
_advance(1);
_build_expression(1);
loca0 := 0x646461;
_write_out(@loca0, 3);
_write_out(@loca4, 4);
_write_out(@loca4, 4);
_write_out(@loca8, 4);
_write_s(3, @loca0);
_write_s(4, @loca4);
_write_s(4, @loca4);
_write_s(4, @loca8);
goto .Lbuild_binary_expression_end;
@@ -129,10 +129,10 @@ begin
_advance(1);
_build_expression(1);
loca0 := 0x627573;
_write_out(@loca0, 3);
_write_out(@loca4, 4);
_write_out(@loca4, 4);
_write_out(@loca8, 4);
_write_s(3, @loca0);
_write_s(4, @loca4);
_write_s(4, @loca4);
_write_s(4, @loca8);
goto .Lbuild_binary_expression_end;
@@ -140,10 +140,10 @@ begin
_advance(1);
_build_expression(1);
loca0 := 0x6c756d;
_write_out(@loca0, 3);
_write_out(@loca4, 4);
_write_out(@loca4, 4);
_write_out(@loca8, 4);
_write_s(3, @loca0);
_write_s(4, @loca4);
_write_s(4, @loca4);
_write_s(4, @loca8);
goto .Lbuild_binary_expression_end;
@@ -151,6 +151,15 @@ begin
end
proc _compile_identifier_expression(loca84: Word, loca80: Byte)
var
loca0: Word
loca4: ^Byte
loca8: Word
loca12: Bool
loca16: Word
loca20: Word
loca24: ^Byte
loca28: Byte
begin
loca24 := _current();
loca0 := 0x61636f6c;
@@ -158,17 +167,17 @@ begin
if loca0 = 0 then
loca8 := 0x6120776c;
_write_out(@loca8, 4);
_write_s(4, @loca8);
loca8 := 0x00202c00 or loca80;
_write_out(@loca8, 3);
_write_s(3, @loca8);
loca4 := loca24 + 4;
loca0 := loca84 - 4;
_write_out(loca4, loca0);
_write_s(loca0, loca4);
loca8 := 0x29707328;
_write_out(@loca8, 4);
_put_char(0x0a);
_write_s(4, @loca8);
_write_c(0x0a);
goto .Lcompile_identifier_expression_end
end;
@@ -177,32 +186,32 @@ begin
loca12 := loca0 = 0x73;
if loca8 & loca12 then
loca8 := 0x6120766d;
_write_out(@loca8, 4);
_write_s(4, @loca8);
loca8 := 0x00202c00 or loca80;
_write_out(@loca8, 3);
_write_out(loca24, loca84);
_put_char(0x0a);
_write_s(3, @loca8);
_write_s(loca84, loca24);
_write_c(0x0a);
goto .Lcompile_identifier_expression_end
end;
loca8 := 0x6120616c;
_write_out(@loca8, 4);
_write_s(4, @loca8);
loca8 := 0x00202c00 or loca80;
_write_out(@loca8, 3);
_write_s(3, @loca8);
_write_out(loca24, loca84);
_put_char(0x0a);
_write_s(loca84, loca24);
_write_c(0x0a);
if _is_upper(loca0) then
loca8 := 0x6120776c;
_write_out(@loca8, 4);
_write_s(4, @loca8);
loca8 := 0x28202c00 or loca28;
_write_out(@loca8, 4);
_put_char(0x61);
_put_char(loca28);
_put_char(0x29);
_put_char(0x0a);
_write_s(4, @loca8);
_write_c(0x61);
_write_c(loca28);
_write_c(0x29);
_write_c(0x0a);
goto .Lcompile_identifier_expression_end
end;
@@ -210,14 +219,16 @@ begin
.Lcompile_identifier_expression_end
end
proc _build_expression()
proc _build_expression(loca84: Word)
var
loca0: Word
loca20: Word
loca28: Word
loca8: Word
loca24: ^Byte
loca4: ^Byte
loca8: Word
loca12: Word
loca16: Word
loca20: Word
loca24: ^Byte
loca28: Word
begin
loca28 := loca84 + 0x30;
@@ -250,24 +261,24 @@ begin
_build_expression(0);
loca8 := 0x2067656e;
_write_out(@loca8, 4);
_write_s(4, @loca8);
loca8 := 0x202c3061;
_write_out(@loca8, 4);
_write_s(4, @loca8);
loca8 := 0x0a3061;
_write_out(@loca8, 3);
_write_s(3, @loca8);
goto .Lbuild_expression_advance;
.Lbuild_expression_address;
loca8 := 0x69646461;
_write_out(@loca8, 4);
_write_s(4, @loca8);
loca8 := 0x6120;
_write_out(@loca8, 2);
_put_char(loca28);
_write_s(2, @loca8);
_write_c(loca28);
loca8 := 0x7073202c;
_write_out(@loca8, 4);
_write_s(4, @loca8);
loca8 := 0x202c;
_write_out(@loca8, 2);
_write_s(2, @loca8);
_advance(1);
_skip_spaces();
@@ -276,9 +287,9 @@ begin
loca4 := loca24 + 4;
loca0 := loca20 - 4;
_write_out(loca4, loca0);
_write_s(loca0, loca4);
_put_char(0xa);
_write_c(0xa);
goto .Lbuild_expression_advance;
@@ -291,12 +302,12 @@ begin
.Lbuild_expression_literal;
loca8 := 0x6120696c;
_write_out(@loca8, 4);
_write_s(4, @loca8);
loca8 := 0x00202c00 or loca28;
_write_out(@loca8, 3);
_write_s(3, @loca8);
_write_out(loca24, loca20);
_put_char(0x0a);
_write_s(loca20, loca24);
_write_c(0x0a);
goto .Lbuild_expression_advance;
@@ -309,23 +320,27 @@ end
proc _compile_designator_expression(loca84: ^Byte, loca80: Word)
var
loca0: Word
loca4: Int
loca8: Char
loca12: Bool
loca16: Bool
begin
loca0 := 0x61636f6c;
loca4 := _memcmp(@loca0, loca84, 4);
if loca4 = 0 then
loca0 := 0x61207773;
_write_out(@loca0, 4);
_write_s(4, @loca0);
loca0 := 0x202c30;
_write_out(@loca0, 3);
_write_s(3, @loca0);
loca84 := loca84 + 4;
loca80 := loca80 - 4;
_write_out(loca84, loca80);
_write_s(loca80, loca84);
loca0 := 0x29707328;
_write_out(@loca0, 4);
_put_char(0x0a);
_write_s(4, @loca0);
_write_c(0x0a);
goto .Lcompile_designator_expression_end
end;
@@ -334,11 +349,11 @@ begin
loca16 := loca80 = 2;
if loca12 & loca16 then
loca0 := 0x20766d;
_write_out(@loca0, 3);
_write_out(loca84, loca80);
_write_s(3, @loca0);
_write_s(loca80, loca84);
loca0 := 0x3061202c;
_write_out(@loca0, 4);
_put_char(0x0a);
_write_s(4, @loca0);
_write_c(0x0a);
goto .Lcompile_designator_expression_end
end;
@@ -349,11 +364,11 @@ end
proc _compile_identifier()
var
loca0: Word
loca16: Word
loca8: Word
loca20: ^Byte
loca12: ^Byte
loca4: Bool
loca8: Word
loca12: ^Byte
loca16: Word
loca20: ^Byte
begin
loca20 := _current();
loca16 := _read_token();
@@ -388,8 +403,8 @@ proc _compile_call(loca84: ^Byte, loca80: Word)
var
loca0: Word
loca4: Word
loca12: Word
loca8: ^Byte
loca12: Word
begin
loca12 := 0;
@@ -404,17 +419,17 @@ begin
_build_expression(0);
loca0 := 0x61207773;
_write_out(@loca0, 4);
_write_s(4, @loca0);
loca0 := 0x202c30;
_write_out(@loca0, 3);
_write_s(3, @loca0);
loca0 := -4 * loca12;
loca0 := loca0 + 60;
_printi(loca0);
_write_i(loca0);
loca0 := 0x29707328;
_write_out(@loca0, 4);
_put_char(0x0a);
_write_s(4, @loca0);
_write_c(0x0a);
_skip_spaces();
loca8 := _current();
@@ -434,60 +449,60 @@ begin
.Lcompile_call_restore;
loca0 := 0x6120776c;
_write_out(@loca0, 4);
_write_s(4, @loca0);
loca4 := 0x36202c30;
_write_out(@loca4, 4);
_write_s(4, @loca4);
loca4 := 0x70732830;
_write_out(@loca4, 4);
_write_s(4, @loca4);
loca4 := 0x0a29;
_write_out(@loca4, 2);
_write_s(2, @loca4);
_write_out(@loca0, 4);
_write_s(4, @loca0);
loca4 := 0x35202c31;
_write_out(@loca4, 4);
_write_s(4, @loca4);
loca4 := 0x70732836;
_write_out(@loca4, 4);
_write_s(4, @loca4);
loca4 := 0x0a29;
_write_out(@loca4, 2);
_write_s(2, @loca4);
_write_out(@loca0, 4);
_write_s(4, @loca0);
loca4 := 0x35202c32;
_write_out(@loca4, 4);
_write_s(4, @loca4);
loca4 := 0x70732832;
_write_out(@loca4, 4);
_write_s(4, @loca4);
loca4 := 0x0a29;
_write_out(@loca4, 2);
_write_s(2, @loca4);
_write_out(@loca0, 4);
_write_s(4, @loca0);
loca4 := 0x34202c33;
_write_out(@loca4, 4);
_write_s(4, @loca4);
loca4 := 0x70732838;
_write_out(@loca4, 4);
_write_s(4, @loca4);
loca4 := 0x0a29;
_write_out(@loca4, 2);
_write_s(2, @loca4);
_write_out(@loca0, 4);
_write_s(4, @loca0);
loca4 := 0x34202c34;
_write_out(@loca4, 4);
_write_s(4, @loca4);
loca4 := 0x70732834;
_write_out(@loca4, 4);
_write_s(4, @loca4);
loca4 := 0x0a29;
_write_out(@loca4, 2);
_write_s(2, @loca4);
_write_out(@loca0, 4);
_write_s(4, @loca0);
loca4 := 0x34202c35;
_write_out(@loca4, 4);
_write_s(4, @loca4);
loca4 := 0x70732830;
_write_out(@loca4, 4);
_write_s(4, @loca4);
loca4 := 0x0a29;
_write_out(@loca4, 2);
_write_s(2, @loca4);
loca0 := 0x6c6c6163;
_write_out(@loca0, 4);
_put_char(0x20);
_write_s(4, @loca0);
_write_c(0x20);
_write_out(loca84, loca80);
_put_char(0x0a);
_write_s(loca80, loca84);
_write_c(0x0a);
_skip_spaces();
_advance(1)
@@ -623,10 +638,10 @@ var loca0: ^Byte
begin
loca0 := _current();
_write_out(loca0, loca84);
_write_s(loca84, loca0);
_advance(loca84);
_put_char(0xa);
_write_c(0xa);
_advance(1)
end
@@ -635,13 +650,13 @@ proc _compile_program()
var loca0: Word
begin
loca0 := 0x6f6c672e;
_write_out(@loca0, 4);
_write_s(4, @loca0);
loca0 := 0x206c6162;
_write_out(@loca0, 4);
_write_s(4, @loca0);
loca0 := 0x6174735f;
_write_out(@loca0, 4);
_write_s(4, @loca0);
loca0 := 0x0a7472;
_write_out(@loca0, 3);
_write_s(3, @loca0);
_advance(8)
end
@@ -652,15 +667,15 @@ var
loca4: ^Byte
begin
loca0 := 0x6365732e;
_write_out(@loca0, 4);
_write_s(4, @loca0);
loca0 := 0x6e6f6974;
_write_out(@loca0, 4);
_write_s(4, @loca0);
loca0 := 0x6f722e20;
_write_out(@loca0, 4);
_write_s(4, @loca0);
loca0 := 0x61746164;
_write_out(@loca0, 4);
_write_s(4, @loca0);
loca0 := 0x0a;
_write_out(@loca0, 1);
_write_s(1, @loca0);
_advance(6);
@@ -685,25 +700,25 @@ begin
loca4 := _read_token();
loca8 := _current();
_write_out(loca8, loca4);
_write_s(loca4, loca8);
_advance(loca4);
_skip_spaces();
_advance(2);
loca0 := 0x6c2e203a;
_write_out(@loca0, 4);
_write_s(4, @loca0);
loca0 := 0x20676e6f;
_write_out(@loca0, 4);
_write_s(4, @loca0);
_skip_spaces();
loca4 := _read_token();
loca8 := _current();
_write_out(loca8, loca4);
_write_s(loca4, loca8);
_advance(loca4);
_put_char(0x0a)
_write_c(0x0a)
end
proc _compile_variable_section()
@@ -712,13 +727,13 @@ var
loca4: ^Byte
begin
loca0 := 0x6365732e;
_write_out(@loca0, 4);
_write_s(4, @loca0);
loca0 := 0x6e6f6974;
_write_out(@loca0, 4);
_write_s(4, @loca0);
loca0 := 0x73622e20;
_write_out(@loca0, 4);
_write_s(4, @loca0);
loca0 := 0x0a73;
_write_out(@loca0, 2);
_write_s(2, @loca0);
_advance(4);
@@ -740,11 +755,14 @@ end
proc _compile_variable()
var
loca28: ^Byte
loca16: ^Byte
loca0: Word
loca24: Word
loca4: Word
loca8: Word
loca12: Word
loca16: ^Byte
loca20: Word
loca24: Word
loca28: ^Byte
begin
loca24 := _read_token();
loca28 := _current();
@@ -769,42 +787,42 @@ begin
_advance(loca0);
loca0 := 0x7079742e;
_write_out(@loca0, 4);
_write_s(4, @loca0);
loca0 := 0x2065;
_write_out(@loca0, 2);
_write_s(2, @loca0);
_write_out(loca28, loca24);
_write_s(loca24, loca28);
loca0 := 0x6f40202c;
_write_out(@loca0, 4);
_write_s(4, @loca0);
loca0 := 0x63656a62;
_write_out(@loca0, 4);
_write_s(4, @loca0);
loca0 := 0x0a74;
_write_out(@loca0, 2);
_write_s(2, @loca0);
loca0 := 0x7a69732e;
_write_out(@loca0, 4);
_write_s(4, @loca0);
loca0 := 0x2065;
_write_out(@loca0, 2);
_write_s(2, @loca0);
_write_out(loca28, loca24);
_write_s(loca24, loca28);
loca0 := 0x202c;
_write_out(@loca0, 2);
_write_s(2, @loca0);
_write_out(loca20, loca16);
_put_char(0x0a);
_write_s(loca16, loca20);
_write_c(0x0a);
_write_out(loca28, loca24);
_write_s(loca24, loca28);
loca0 := 0x7a2e203a;
_write_out(@loca0, 4);
_write_s(4, @loca0);
loca0 := 0x206f7265;
_write_out(@loca0, 4);
_write_s(4, @loca0);
_write_out(loca20, loca16);
_write_s(loca16, loca20);
_put_char(0x0a)
_write_c(0x0a)
end
proc _compile_procedure()
@@ -823,23 +841,23 @@ begin
_advance(loca16);
loca0 := 0x7079742e;
_write_out(@loca0, 4);
_write_s(4, @loca0);
loca0 := 0x2065;
_write_out(@loca0, 2);
_write_s(2, @loca0);
_write_out(loca20, loca16);
_write_s(loca16, loca20);
loca0 := 0x6640202c;
_write_out(@loca0, 4);
_write_s(4, @loca0);
loca0 := 0x74636e75;
_write_out(@loca0, 4);
_write_s(4, @loca0);
loca0 := 0x0a6e6f69;
_write_out(@loca0, 4);
_write_s(4, @loca0);
_write_out(loca20, loca16);
_write_s(loca16, loca20);
loca0 := 0x0a3a;
_write_out(@loca0, 2);
_write_s(2, @loca0);
_skip_spaces();
_advance(1);
@@ -862,85 +880,85 @@ begin
end;
loca0 := 0x69646461;
_write_out(@loca0, 4);
_write_s(4, @loca0);
loca0 := 0x2c707320;
_write_out(@loca0, 4);
_write_out(@loca0, 4);
_write_s(4, @loca0);
_write_s(4, @loca0);
loca0 := 0x0a36392d;
_write_out(@loca0, 4);
_write_s(4, @loca0);
loca0 := 0x72207773;
_write_out(@loca0, 4);
_write_s(4, @loca0);
loca0 := 0x39202c61;
_write_out(@loca0, 4);
_write_s(4, @loca0);
loca0 := 0x70732832;
_write_out(@loca0, 4);
_write_s(4, @loca0);
loca0 := 0x0a29;
_write_out(@loca0, 2);
_write_s(2, @loca0);
loca0 := 0x73207773;
_write_out(@loca0, 4);
_write_s(4, @loca0);
loca0 := 0x38202c30;
_write_out(@loca0, 4);
_write_s(4, @loca0);
loca0 := 0x70732838;
_write_out(@loca0, 4);
_write_s(4, @loca0);
loca0 := 0x0a29;
_write_out(@loca0, 2);
_write_s(2, @loca0);
loca0 := 0x69646461;
_write_out(@loca0, 4);
_write_s(4, @loca0);
loca0 := 0x2c307320;
_write_out(@loca0, 4);
_write_s(4, @loca0);
loca0 := 0x2c707320;
_write_out(@loca0, 4);
_write_s(4, @loca0);
loca0 := 0x0a363920;
_write_out(@loca0, 4);
_write_s(4, @loca0);
loca0 := 0x61207773;
_write_out(@loca0, 4);
_write_s(4, @loca0);
loca4 := 0x38202c30;
_write_out(@loca4, 4);
_write_s(4, @loca4);
loca8 := 0x70732834;
_write_out(@loca8, 4);
_write_s(4, @loca8);
loca12 := 0x0a29;
_write_out(@loca12, 2);
_write_s(2, @loca12);
_write_out(@loca0, 4);
_write_s(4, @loca0);
loca4 := 0x38202c31;
_write_out(@loca4, 4);
_write_s(4, @loca4);
loca8 := 0x70732830;
_write_out(@loca8, 4);
_write_out(@loca12, 2);
_write_s(4, @loca8);
_write_s(2, @loca12);
_write_out(@loca0, 4);
_write_s(4, @loca0);
loca4 := 0x37202c32;
_write_out(@loca4, 4);
_write_s(4, @loca4);
loca8 := 0x70732836;
_write_out(@loca8, 4);
_write_out(@loca12, 2);
_write_s(4, @loca8);
_write_s(2, @loca12);
_write_out(@loca0, 4);
_write_s(4, @loca0);
loca4 := 0x37202c33;
_write_out(@loca4, 4);
_write_s(4, @loca4);
loca8 := 0x70732832;
_write_out(@loca8, 4);
_write_out(@loca12, 2);
_write_s(4, @loca8);
_write_s(2, @loca12);
_write_out(@loca0, 4);
_write_s(4, @loca0);
loca4 := 0x36202c34;
_write_out(@loca4, 4);
_write_s(4, @loca4);
loca8 := 0x70732838;
_write_out(@loca8, 4);
_write_out(@loca12, 2);
_write_s(4, @loca8);
_write_s(2, @loca12);
_write_out(@loca0, 4);
_write_s(4, @loca0);
loca4 := 0x36202c35;
_write_out(@loca4, 4);
_write_s(4, @loca4);
loca8 := 0x70732838;
_write_out(@loca8, 4);
_write_out(@loca12, 2);
_write_s(4, @loca8);
_write_s(2, @loca12);
.Lcompile_procedure_body;
_skip_spaces();
@@ -960,43 +978,43 @@ begin
_advance(4);
loca0 := 0x7220776c;
_write_out(@loca0, 4);
_write_s(4, @loca0);
loca0 := 0x39202c61;
_write_out(@loca0, 4);
_write_s(4, @loca0);
loca0 := 0x70732832;
_write_out(@loca0, 4);
_write_s(4, @loca0);
loca0 := 0x0a29;
_write_out(@loca0, 2);
_write_s(2, @loca0);
loca0 := 0x7320776c;
_write_out(@loca0, 4);
_write_s(4, @loca0);
loca0 := 0x38202c30;
_write_out(@loca0, 4);
_write_s(4, @loca0);
loca0 := 0x70732838;
_write_out(@loca0, 4);
_write_s(4, @loca0);
loca0 := 0x0a29;
_write_out(@loca0, 2);
_write_s(2, @loca0);
loca0 := 0x69646461;
_write_out(@loca0, 4);
_write_s(4, @loca0);
loca0 := 0x2c707320;
_write_out(@loca0, 4);
_write_out(@loca0, 4);
_write_s(4, @loca0);
_write_s(4, @loca0);
loca0 := 0x0a3639;
_write_out(@loca0, 4);
_write_s(4, @loca0);
loca0 := 0x0a746572;
_write_out(@loca0, 4)
_write_s(4, @loca0)
end
proc _token_compare(loca84: ^Byte, loca80: Word, loca76: ^Byte)
var
loca0: Bool
loca4: Byte
loca12: Byte
loca8: Word
loca12: Byte
begin
.Ltoken_compare_loop;
loca4 := _front(loca76);
@@ -1038,12 +1056,13 @@ end
proc _compile_goto()
var
loca0: Word
loca4: Word
loca8: ^Byte
begin
_advance(4);
loca0 := 0x206a;
_write_out(@loca0, 2);
_write_s(2, @loca0);
_skip_spaces();
loca8 := _current();
@@ -1052,15 +1071,16 @@ begin
loca0 := _read_token();
_advance(loca0);
loca0 := loca0 + 1;
_write_out(loca8, loca0);
_write_s(loca0, loca8);
_advance(1);
_put_char(0x0a)
_write_c(0x0a)
end
proc _compile_label(loca84: Word)
var
loca0: Word
loca4: Word
begin
loca0 := _current();
@@ -1072,10 +1092,10 @@ begin
if loca0 = 0x3b then
loca4 := loca4 - 1
end;
_write_out(s1, loca4);
_write_s(loca4, s1);
_put_char(0x3a);
_put_char(0x0a);
_write_c(0x3a);
_write_c(0x0a);
_advance(loca84)
end
@@ -1089,11 +1109,12 @@ end
proc _compile_if()
var
loca0: Word
loca4: ^Byte
loca8: Word
loca12: Word
loca16: Word
loca20: Word
loca4: ^Byte
begin
_advance(2);
_skip_spaces();
@@ -1107,15 +1128,15 @@ begin
loca16 := 0x66694c2e;
loca12 := 0x7a716562;
_write_out(@loca12, 4);
_write_s(4, @loca12);
loca12 := 0x2c306120;
_write_out(@loca12, 4);
_put_char(0x20);
_write_s(4, @loca12);
_write_c(0x20);
_write_out(@loca16, 4);
_printi(s2);
_write_s(4, @loca16);
_write_i(s2);
_put_char(0x0a);
_write_c(0x0a);
.Lcompile_if_loop;
_skip_spaces();
@@ -1131,11 +1152,11 @@ begin
goto .Lcompile_if_loop
end;
_write_out(@loca16, 4);
_printi(s2);
_write_s(4, @loca16);
_write_i(s2);
loca12 := 0x0a3a0a3a;
_write_out(@loca12, 2);
_write_s(2, @loca12);
s2 := s2 + 1;
_advance(4)
@@ -1316,34 +1337,34 @@ proc _compile_text_section()
var loca0: Word
begin
loca0 := 0x6365732e;
_write_out(@loca0, 4);
_write_s(4, @loca0);
loca0 := 0x6e6f6974;
_write_out(@loca0, 4);
_write_s(4, @loca0);
loca0 := 0x65742e20;
_write_out(@loca0, 4);
_write_s(4, @loca0);
loca0 := 0x0a7478;
_write_out(@loca0, 3)
_write_s(3, @loca0)
end
proc _compile_entry_point()
var loca0: Word
begin
loca0 := 0x7079742e;
_write_out(@loca0, 4);
_write_s(4, @loca0);
loca0 := 0x735f2065;
_write_out(@loca0, 4);
_write_s(4, @loca0);
loca0 := 0x74726174;
_write_out(@loca0, 4);
_write_s(4, @loca0);
loca0 := 0x6640202c;
_write_out(@loca0, 4);
_write_s(4, @loca0);
loca0 := 0x74636e75;
_write_out(@loca0, 4);
_write_s(4, @loca0);
loca0 := 0x0a6e6f69;
_write_out(@loca0, 4);
_write_s(4, @loca0);
loca0 := 0x6174735f;
_write_out(@loca0, 4);
_write_s(4, @loca0);
loca0 := 0x0a3a7472;
_write_out(@loca0, 4);
_write_s(4, @loca0);
_advance(6)
end
@@ -1352,19 +1373,19 @@ proc _compile_exit()
var loca0: Word
begin
loca0 := 0x6120696c;
_write_out(@loca0, 4);
_write_s(4, @loca0);
loca0 := 0x30202c30;
_write_out(@loca0, 4);
_write_s(4, @loca0);
loca0 := 0x20696c0a;
_write_out(@loca0, 4);
_write_s(4, @loca0);
loca0 := 0x202c3761;
_write_out(@loca0, 4);
_write_s(4, @loca0);
loca0 := 0x650a3339;
_write_out(@loca0, 4);
_write_s(4, @loca0);
loca0 := 0x6c6c6163;
_write_out(@loca0, 4);
_write_s(4, @loca0);
loca0 := 0x0a;
_write_out(@loca0, 1);
_write_s(1, @loca0);
_advance(4);
_skip_spaces()