Implement new algorithm for local label processing

This change allows qualified references to local labels from other
sections: you can do `#send section.local` and it will take you to the
appropriate `:.local` label. When `section.local` is ambiguous due to
sections/locals sharing the same names, the reference resolves to the
local in the first such section.
This commit is contained in:
2025-07-10 22:36:31 -07:00
parent d751aade99
commit 3bddc3c85e
7 changed files with 165 additions and 58 deletions
@@ -82,12 +82,11 @@ error: message targets not supported for local labels
7 | :.local
|
error: local labels with section names not supported
=> test.zzt -> Title screen -> @Locals with section names (1,1) -> line 3:2
error: local label definitions cannot specify a section name
=> test.zzt -> Title screen -> @Local label definitions with section names (1,1) -> line 8:2
|
1 | @Locals with section names
2 | :touch
3 | #touch.skip
5 | #touch.skip
6 | '
7 | 'this is not
8 | :touch.skip
| ^^^^^^^^^^
4 | :.skip
|