Lexer now rejects strange chars in integer literals

This commit is contained in:
2022-09-02 01:37:33 -04:00
parent ac7074a819
commit ed44795664
3 changed files with 124 additions and 119 deletions

View File

@@ -36,10 +36,17 @@ func (lexer *LexingOperation) tokenizeNumberBeginning (negative bool) (err error
isFloat, amountRead,
err = lexer.tokenizeNumber(10)
} else if lexer.char >= '0' && lexer.char <= '9' {
} else if lexer.char >= '0' && lexer.char <= '8' {
intNumber, floatNumber,
isFloat, amountRead,
err = lexer.tokenizeNumber(8)
} else if lexer.char != ' ' { // a space should correctly
err = infoerr.NewError ( // terminate this
lexer.file.Location(1),
"unexpected rune '" + string(lexer.char) +
"' in integer literal",
infoerr.ErrorKindError)
return
}
} else {
intNumber, floatNumber,