google / cel-spec

Common Expression Language -- specification and binary representation
https://cel.dev
Apache License 2.0
2.78k stars 222 forks source link

Fix spec `ESCAPE` definition mismatch #226

Closed Daniel-Bloom-dfinity closed 2 years ago

Daniel-Bloom-dfinity commented 2 years ago

The BNF definition of ESCAPE provided does not match the text.

Escape sequences are a backslash (\) followed by one of the following:

  • A punctuation mark representing itself:
    • \: backslash
    • ?: question mark
    • ": double quote
    • ': single quote
    • `: backtick
  • A code for whitespace:
    • a: bell
    • b: backspace
    • f: form feed
    • n: line feed
    • r: carriage return
    • t: horizontal tab
    • v: vertical tab

The BNF is missing a, v, ?, `

ESCAPE         ::= \ [bfnrt"'\]
                 | \ x HEXDIGIT HEXDIGIT
                 | \ u HEXDIGIT HEXDIGIT HEXDIGIT HEXDIGIT
                 | \ U HEXDIGIT HEXDIGIT HEXDIGIT HEXDIGIT HEXDIGIT HEXDIGIT HEXDIGIT HEXDIGIT
                 | \ [0-3] [0-7] [0-7]
TristonianJones commented 2 years ago

/gcbrun