Allow the index of CHARVAL to be optional

Fixes #1773
This commit is contained in:
Rangi42
2025-08-03 08:44:06 -04:00
parent 543b7fa6c2
commit fc9b614225
6 changed files with 33 additions and 7 deletions

View File

@@ -5,6 +5,9 @@ charmap "ghi", 5, 6, 7, 8, 9
charmap "jkl", 123, 456, 789
charmap "mno", 123456789
assert charval("a") == 1
assert charval("cdef") == 4
assert charval("a", 0) == 1
assert charval("a", -1) == 1
assert charval("b", 0) == 2
@@ -16,6 +19,9 @@ assert charval("ghi", 2) == charval("ghi", -3)
assert charval("jkl", -1) == 789
assert charval("mno", 0) == 123456789
; errors
assert charval("b") == 0
assert charval("ab") == 0
assert charval("abc", 0) == 0
assert charval("cd", 1) == 0
assert charval("xyz", 2) == 0

View File

@@ -1,11 +1,15 @@
error: charval.asm(19):
error: charval.asm(23):
CHARVAL: Character mapping for "b" must have a single value
error: charval.asm(24):
CHARVAL: No character mapping for "ab"
error: charval.asm(25):
CHARVAL: No character mapping for "abc"
error: charval.asm(20):
error: charval.asm(26):
CHARVAL: No character mapping for "cd"
error: charval.asm(21):
error: charval.asm(27):
CHARVAL: No character mapping for "xyz"
warning: charval.asm(22): [-Wbuiltin-args]
warning: charval.asm(28): [-Wbuiltin-args]
CHARVAL: Index starts at 0
warning: charval.asm(23): [-Wbuiltin-args]
warning: charval.asm(29): [-Wbuiltin-args]
CHARVAL: Index 10 is past the end of the character mapping
Assembly aborted with 3 errors!
Assembly aborted with 5 errors!