Fix some fixed-point literal lexing issues (#1914)

- No fractional digits are necessary after the decimal point,
  e.g. `42.` is valid instead of `42.0`
- Error messages refer to "fixed-point" not "integer" constants
- Test more carefully for lexing unrelated to underscores
This commit is contained in:
Rangi
2026-04-04 13:41:45 -04:00
committed by GitHub
parent 25bf0e9e2c
commit ede9405daf
6 changed files with 60 additions and 6 deletions
+8 -4
View File
@@ -8,9 +8,9 @@ error: Invalid integer constant, '_' after another '_'
at invalid-underscore.asm(17)
error: Invalid integer constant, '_' after another '_'
at invalid-underscore.asm(18)
error: Invalid integer constant, '_' after another '_'
error: Invalid fixed-point constant, '_' after another '_'
at invalid-underscore.asm(19)
error: Invalid integer constant, '_' after another '_'
error: Invalid fixed-point constant, '_' after another '_'
at invalid-underscore.asm(20)
error: Invalid integer constant, trailing '_'
at invalid-underscore.asm(23)
@@ -26,6 +26,10 @@ error: Invalid fixed-point constant, trailing '_'
at invalid-underscore.asm(28)
error: Invalid integer constant, trailing '_'
at invalid-underscore.asm(31)
error: Invalid integer constant, '_' after another '_'
error: Invalid fixed-point constant, '_' after '.'
at invalid-underscore.asm(32)
Assembly aborted with 15 errors
error: syntax error, unexpected symbol
at invalid-underscore.asm(35)
error: syntax error, unexpected symbol
at invalid-underscore.asm(36)
Assembly aborted with 17 errors