From 35335aadbe979daa20a6ced299182df2206a1a6a Mon Sep 17 00:00:00 2001 From: Rangi42 Date: Mon, 14 Jul 2025 00:10:14 -0400 Subject: [PATCH] Add test for labels when expecting symbols --- src/asm/lexer.cpp | 2 +- test/asm/lex-label.asm | 9 +++++++++ test/asm/lex-label.err | 13 +++++++++++++ 3 files changed, 23 insertions(+), 1 deletion(-) create mode 100644 test/asm/lex-label.asm create mode 100644 test/asm/lex-label.err diff --git a/src/asm/lexer.cpp b/src/asm/lexer.cpp index 03bf5a97..fa7601e0 100644 --- a/src/asm/lexer.cpp +++ b/src/asm/lexer.cpp @@ -1976,7 +1976,7 @@ static Token yylex_NORMAL() { } } - // We need it to distinguish between label definitions (which start with `LABEL`) and + // We need to distinguish between label definitions (which start with `LABEL`) and // macro invocations (which start with `SYMBOL`). // // If we had one `IDENTIFIER` token, the parser would need to perform "lookahead" to diff --git a/test/asm/lex-label.asm b/test/asm/lex-label.asm new file mode 100644 index 00000000..64c729a9 --- /dev/null +++ b/test/asm/lex-label.asm @@ -0,0 +1,9 @@ +def var: equ 42 + +macro mac: +endm + +for idx:, 10 +endr + +newcharmap french: diff --git a/test/asm/lex-label.err b/test/asm/lex-label.err new file mode 100644 index 00000000..62980b8d --- /dev/null +++ b/test/asm/lex-label.err @@ -0,0 +1,13 @@ +error: lex-label.asm(1): + syntax error, unexpected label, expecting symbol +error: lex-label.asm(3): + syntax error, unexpected label, expecting symbol +error: lex-label.asm(4): + syntax error, unexpected ENDM +error: lex-label.asm(6): + syntax error, unexpected label, expecting symbol +error: lex-label.asm(7): + syntax error, unexpected ENDR +error: lex-label.asm(9): + syntax error, unexpected label, expecting symbol +Assembly aborted with 6 errors!