Merge branch 'zkat/allow-angles-and-comma' into zkat/new-raw-strings

This commit is contained in:
Kat Marchán 2023-12-12 20:25:01 -08:00 committed by GitHub
commit 9f1954b9f5
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
2 changed files with 7 additions and 2 deletions

View File

@ -14,7 +14,7 @@
* The grammar syntax itself has been described, and some confusing definitions * The grammar syntax itself has been described, and some confusing definitions
in the grammar have been fixed accordingly (mostly related to escaped in the grammar have been fixed accordingly (mostly related to escaped
characters). 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. reserved for KQL but this is no longer necessary.
* Code points under `0x20`, code points above `0x10FFFF`, Delete control * Code points under `0x20`, code points above `0x10FFFF`, Delete control
character (`0x7F`), and the [unicode "direction control" character (`0x7F`), and the [unicode "direction control"

View File

@ -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 Unlike with Strings, these cannot simply be escaped, and are thus
unrepresentable when using Raw Strings. 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 #### Example
```kdl ```kdl
@ -519,7 +524,7 @@ unambiguous-ident := (identifier-char - digit - sign - "#") identifier-char*
numberish-ident := sign ((identifier-char - digit) identifier-char*)? numberish-ident := sign ((identifier-char - digit) identifier-char*)?
identifier-char := unicode - line-space - [\\/(){};\[\]="] - disallowed-literal-code-points identifier-char := unicode - line-space - [\\/(){};\[\]="] - disallowed-literal-code-points
keyword := boolean | 'null' keyword := boolean | 'null'
prop := identifier '=' value prop := identifier '=' valuel
value := type? (string | number | keyword) value := type? (string | number | keyword)
type := '(' identifier ')' type := '(' identifier ')'