You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Reject numeric literals followed by ident/digit (JS maximal-munch rule)
A numeric literal may not be immediately followed by an IdentifierStart or
DecimalDigit. Without enforcing this, bad literals like 0b21010 / 0B1102110 /
0o81010 munched a valid prefix and left the rest as a second token, so the
file parsed as two statements instead of being rejected. Append a negative
lookahead (?![0-9A-Za-z_$\\]) to every numeric token; the bad literal then
matches no token and the lexer throws — the correct rejection.
Surfaced and fixed a latent gap: the exponent allowed no numeric separator, so
1.1e10_0 only 'parsed' by splitting into 1.1e10 + _0; exponent now allows
(_[0-9]+)* like the rest.
FP 120->116 (7 over-accepts now rejected incl. 3 multi-file separator tests),
FN stays 0 (3376/3376 valid-code), TP unchanged. Artifacts regenerated.
0 commit comments