diff --git a/CHANGELOG.md b/CHANGELOG.md index 7cb5709..bc2c41e 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -14,7 +14,7 @@ * The grammar syntax itself has been described, and some confusing definitions in the grammar have been fixed accordingly (mostly related to escaped characters). -* `,`, `<`, and `>` are not legal identifier characters. They were previously +* `,`, `<`, and `>` are now legal identifier characters. They were previously reserved for KQL but this is no longer necessary. * Code points under `0x20`, code points above `0x10FFFF`, Delete control character (`0x7F`), and the [unicode "direction control" diff --git a/SPEC.md b/SPEC.md index 22b6488..3afc5fc 100644 --- a/SPEC.md +++ b/SPEC.md @@ -378,6 +378,11 @@ code-points](#disallowed-literal-code-points) as code points in their body. Unlike with Strings, these cannot simply be escaped, and are thus unrepresentable when using Raw Strings. +Like Strings, Raw Strings _MUST NOT_ include any of the [disallowed literal +code-points](#disallowed-literal-code-points) as code points in their body. +Unlike with Strings, these cannot simply be escaped, and are thus +unrepresentable when using Raw Strings. + #### Example ```kdl @@ -519,7 +524,7 @@ unambiguous-ident := (identifier-char - digit - sign - "#") identifier-char* numberish-ident := sign ((identifier-char - digit) identifier-char*)? identifier-char := unicode - line-space - [\\/(){};\[\]="] - disallowed-literal-code-points keyword := boolean | 'null' -prop := identifier '=' value +prop := identifier '=' valuel value := type? (string | number | keyword) type := '(' identifier ')'