Add symbol info for parameters and local variables

This commit is contained in:
2025-05-10 23:24:03 +02:00
parent 890486532c
commit 707f983fe9
6 changed files with 467 additions and 212 deletions

View File

@@ -19,7 +19,11 @@ end
proc _build_binary_expression()
var
loca0, loca4, loca8, loca16, loca20: Word
loca0: Word
loca4: Word
loca8: Word
loca16: Word
loca20: Word
loca12: ^Byte
loca24: Bool
begin
@@ -208,8 +212,12 @@ end
proc _build_expression()
var
loca0, loca20, loca28, loca8: Word
loca24, loca4: ^Byte
loca0: Word
loca20: Word
loca28: Word
loca8: Word
loca24: ^Byte
loca4: ^Byte
begin
loca28 := loca84 + 0x30;
@@ -340,8 +348,11 @@ end
proc _compile_identifier()
var
loca0, loca16, loca8: Word
loca20, loca12: ^Byte
loca0: Word
loca16: Word
loca8: Word
loca20: ^Byte
loca12: ^Byte
loca4: Bool
begin
loca20 := _current();
@@ -375,7 +386,9 @@ end
proc _compile_call(loca84: ^Byte, loca80: Word)
var
loca0, loca4, loca12: Word
loca0: Word
loca4: Word
loca12: Word
loca8: ^Byte
begin
loca12 := 0;
@@ -482,7 +495,8 @@ end
proc _read_token()
var
loca0, loca4: Word
loca0: Word
loca4: Word
loca8: ^Byte
begin
loca8 := _current();
@@ -664,7 +678,8 @@ end
proc _compile_constant()
var
loca0, loca4: Word
loca0: Word
loca4: Word
loca8: ^Byte
begin
loca4 := _read_token();
@@ -725,8 +740,11 @@ end
proc _compile_variable()
var
loca28, loca16: ^Byte
loca0, loca24, loca20: Word
loca28: ^Byte
loca16: ^Byte
loca0: Word
loca24: Word
loca20: Word
begin
loca24 := _read_token();
loca28 := _current();
@@ -791,8 +809,13 @@ end
proc _compile_procedure()
var
loca0, loca4, loca8, loca12, loca16: Word
loca20, loca24: ^Byte
loca0: Word
loca4: Word
loca8: Word
loca12: Word
loca16: Word
loca20: ^Byte
loca24: ^Byte
begin
_advance(5);
loca16 := _read_token();
@@ -971,7 +994,8 @@ end
proc _token_compare(loca84: ^Byte, loca80: Word, loca76: ^Byte)
var
loca0: Bool
loca4, loca12: Byte
loca4: Byte
loca12: Byte
loca8: Word
begin
.Ltoken_compare_loop;
@@ -1065,7 +1089,10 @@ end
proc _compile_if()
var
loca8, loca12, loca16, loca20: Word
loca8: Word
loca12: Word
loca16: Word
loca20: Word
loca4: ^Byte
begin
_advance(2);
@@ -1368,7 +1395,8 @@ end
proc _compile()
var
loca0, loca4: Word
loca0: Word
loca4: Word
loca8: Bool
loca12: Char
loca16: ^Byte