Minimal fix to #200, banning string-like idents #241
Closed
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
Rather than banning
#
in idents altogether, as #204 does, this takes the same approach as our number-like handling, and just bans idents from looking like a raw string in their first two characters: just as an ident can't start withdigit
orsign digit
, it now can't start withr#
orr"
either. (That last isn't an ident, but it prevents a naive parser not using first-wins collision resolution from reading it as an identr
followed by junk.)It also refactors the bare-ident production a bit to make the structure clearer, as it was already getting a bit messy just trying to ban number-likes.