mirror of
https://github.com/gbdev/rgbds.git
synced 2025-11-25 20:42:07 +00:00
Implement 'character' literals (#1747)
This commit is contained in:
34
test/asm/character-literals.asm
Normal file
34
test/asm/character-literals.asm
Normal file
@@ -0,0 +1,34 @@
|
||||
def s equs "d"
|
||||
|
||||
charmap "A", 1
|
||||
charmap "B", 2
|
||||
charmap "c{s}e", 3
|
||||
charmap "F", 4, 5, 6
|
||||
charmap "'", 42
|
||||
charmap "\"", 1234
|
||||
charmap "\n\r\t\0", 1337
|
||||
charmap "',\",\\", 99
|
||||
|
||||
MACRO char
|
||||
assert (\1) == (\2)
|
||||
ENDM
|
||||
|
||||
char 'A', 1
|
||||
char 'B', 2
|
||||
char 'c{s}e', 3
|
||||
char '\'', 42
|
||||
char '"', 1234
|
||||
char '\n\r\t\0', 1337
|
||||
char '\',",\\', 99
|
||||
|
||||
char charval("c{s}e", 0), 'c{s}e'
|
||||
|
||||
def v equs "\n\r\t\0"
|
||||
def x = '{v}'
|
||||
char x, '\n\r\t\0'
|
||||
|
||||
; errors
|
||||
char '?', $3f ; ASCII
|
||||
char 'F', 0
|
||||
char 'ABF', 0
|
||||
char '\n\r\t', 0
|
||||
15
test/asm/character-literals.err
Normal file
15
test/asm/character-literals.err
Normal file
@@ -0,0 +1,15 @@
|
||||
warning: character-literals.asm(31) -> character-literals.asm::char(13): [-Wunmapped-char]
|
||||
Unmapped character '?'
|
||||
error: character-literals.asm(32) -> character-literals.asm::char(13):
|
||||
Character literals must be a single charmap unit
|
||||
error: character-literals.asm(33) -> character-literals.asm::char(13):
|
||||
Character literals must be a single charmap unit
|
||||
warning: character-literals.asm(34) -> character-literals.asm::char(13): [-Wunmapped-char]
|
||||
Unmapped character '\n'
|
||||
warning: character-literals.asm(34) -> character-literals.asm::char(13): [-Wunmapped-char]
|
||||
Unmapped character '\r'
|
||||
warning: character-literals.asm(34) -> character-literals.asm::char(13): [-Wunmapped-char]
|
||||
Unmapped character '\t'
|
||||
error: character-literals.asm(34) -> character-literals.asm::char(13):
|
||||
Character literals must be a single charmap unit
|
||||
Assembly aborted with 3 errors!
|
||||
@@ -1,3 +1,3 @@
|
||||
assert 1 +# 1 == 2
|
||||
assert 2 '?* 2 == 4
|
||||
assert 3 **?''?##?? 3 == 27
|
||||
assert 2 ?<EFBFBD>* 2 == 4
|
||||
assert 3 **?<EFBFBD>?##?? 3 == 27
|
||||
|
||||
@@ -1,9 +1,9 @@
|
||||
error: garbage_sequence.asm(1):
|
||||
Unknown character '#'
|
||||
error: garbage_sequence.asm(2):
|
||||
Unknown characters ''', '?'
|
||||
Unknown characters '?', 0xFF
|
||||
error: garbage_sequence.asm(3):
|
||||
Unknown characters '?', ''', ''', '?'
|
||||
Unknown characters '?', 0xFF, '?'
|
||||
error: garbage_sequence.asm(3):
|
||||
Unknown character '#'
|
||||
error: garbage_sequence.asm(3):
|
||||
|
||||
Reference in New Issue
Block a user