Remove column 1 restriction for labels with colons (#635)

Partial fix for #457
This commit is contained in:
Eldred Habert
2021-02-23 20:42:24 +01:00
committed by GitHub
parent 929e2a4490
commit dafef5a953
5 changed files with 37 additions and 7 deletions

View File

@@ -2026,7 +2026,7 @@ static int yylex_NORMAL(void)
}
}
if (tokenType == T_ID && lexerState->atLineStart)
if (tokenType == T_ID && (lexerState->atLineStart || peek(0) == ':'))
return T_LABEL;
return tokenType;

30
test/asm/label-indent.asm Normal file
View File

@@ -0,0 +1,30 @@
SECTION "Label testing", WRAMX
Lab:
.loc
Lab.loc2
; X = 0
; ; Should not believe X is a label!
; IF X == 1
; FAIL "Wrong!"
; ENDC
; X \
; = 1
; IF X != 1
; FAIL "Wrong!"
; ENDC
;
; Y equ 42
; PRINTT "Y={Y}\n"
; PURGE Y
;
; Y equs "mac"
; mac: MACRO
; PRINTT "\1\n"
; ENDM
; ; Should invoke macro Y, and not match "equ" due to the "a" behind it
; Y equates 69
; Y equsquisite (isn't that English?)
; Y eq

View File

View File