kdl
kdl copied to clipboard
Minimal fix to #200, banning string-like idents
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 with digit
or sign digit
, it now can't start with r#
or r"
either. (That last isn't an ident, but it prevents a naive parser not using first-wins collision resolution from reading it as an ident r
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.