examples/json.pegjs: Fix the "unescaped" rule
The "unescaped" rule was created by mechanically translating original RFC 7159 rule: unescaped = %x20-21 / %x23-5B / %x5D-10FFFF into: unescaped = [\x20-\x21\x23-\x5B\x5D-\u10FFFF] However, this mechanical translation was incorrect as PEG.js grammars don't have 6-digit Unicode escape sequences. Sequence "\u10FFFF" was interpreted as "\u10FF" followed by two "F" characters. This commit rewrites the "unescaped" rule into a form which, while not being a mechanical translation of the original rule, matches the same characters in the whole Unicode range. It also macthes textual description of string representation in RFC 7159: All Unicode characters may be placed within the quotation marks, except for the characters that must be escaped: quotation mark, reverse solidus, and the control characters (U+0000 through U+001F). Fixes #417.redux
parent
6a04067a76
commit
f07ab7f32e
Loading…
Reference in New Issue