Don't silently ignore trailing characters in numbers

This commit is contained in:
2026-03-18 10:29:46 +00:00
parent 7828b0f112
commit 6c643f8402

13
asm.js
View File

@@ -280,15 +280,14 @@ class Parser {
} }
integer(token) { integer(token) {
let base; let base, regex;
switch (token.slice(-1)) { switch (token.slice(-1)) {
case "b": base = 2; break; case "b": base = 2; regex = /^-?[01]+b$/; break;
case "o": base = 8; break; case "o": base = 8; regex = /^-?[0-7]+o$/; break;
case "h": base = 16; break; case "h": base = 16; regex = /^-?[0-9A-F]+h$/; break;
default: base = 10; break; default: base = 10; regex = /^-?[0-9]+d?$/; break;
} }
const x = parseInt(token, base); return regex.test(token) ? parseInt(token, base) : null;
return Number.isNaN(x) ? null : x;
} }
translate_code(token) { translate_code(token) {