Support procedure without _ in the first stage

This commit is contained in:
2025-05-13 23:14:20 +02:00
parent 1b31f532df
commit e614d43ea9
5 changed files with 104 additions and 260 deletions

View File

@@ -2,9 +2,6 @@ program
import dummy
const
SOURCE_BUFFER_SIZE := 81920
var
source_code: [81920]Byte
@@ -661,66 +658,6 @@ begin
_advance(8)
end
proc _compile_constant_section()
var
loca0: Word
loca4: ^Byte
begin
loca0 := 0x6365732e;
_write_s(4, @loca0);
loca0 := 0x6e6f6974;
_write_s(4, @loca0);
loca0 := 0x6f722e20;
_write_s(4, @loca0);
loca0 := 0x61746164;
_write_s(4, @loca0);
loca0 := 0x0a;
_write_s(1, @loca0);
_advance(6);
.Lcompile_constant_section_item;
_skip_spaces();
loca4 := _current();
loca0 := _front(loca4);
if _is_upper(loca0) then
_compile_constant();
goto .Lcompile_constant_section_item
end;
.Lcompile_constant_section_end
end
proc _compile_constant()
var
loca0: Word
loca4: Word
loca8: ^Byte
begin
loca4 := _read_token();
loca8 := _current();
_write_s(loca4, loca8);
_advance(loca4);
_skip_spaces();
_advance(2);
loca0 := 0x6c2e203a;
_write_s(4, @loca0);
loca0 := 0x20676e6f;
_write_s(4, @loca0);
_skip_spaces();
loca4 := _read_token();
loca8 := _current();
_write_s(loca4, loca8);
_advance(loca4);
_write_c(0x0a)
end
proc _compile_variable_section()
var
loca0: Word
@@ -1186,12 +1123,6 @@ begin
goto .Lcompile_line_program
end;
loca12 := 0x736e6f63;
loca4 := _memcmp(loca16, @loca12, 4);
if loca4 = 0 then
goto .Lcompile_line_const
end;
loca12 := 0x0a726176;
loca4 := _memcmp(loca16, @loca12, 4);
if loca4 = 0 then
@@ -1297,10 +1228,6 @@ begin
loca8 := 1;
goto .Lcompile_line_end;
.Lcompile_line_const;
_compile_constant_section();
goto .Lcompile_line_section;
.Lcompile_line_procedure;
if loca80 = 1 then
goto .Lcompile_line_compile_procedure
@@ -1455,7 +1382,7 @@ end
proc _main()
begin
_read_file(source_code, SOURCE_BUFFER_SIZE);
_read_file(source_code, 81920);
_label_counter(0)
end