DuperTrunk:

Identifier ( Object Array Tuple ) Object Array Tuple

DuperTrunk
         ::= Identifier '(' ( Object | Array | Tuple ) ')'
           | Object
           | Array
           | Tuple

no references


DuperValue:

IdentifiedValue _Value

DuperValue
         ::= IdentifiedValue
           | _Value

referenced by:


IdentifiedValue:

Identifier ( _Value )

IdentifiedValue
         ::= Identifier '(' _Value ')'

referenced by:


_Value:

Object Array Tuple String Bytes Temporal Float Integer Boolean null

_Value   ::= Object
           | Array
           | Tuple
           | String
           | Bytes
           | Temporal
           | Float
           | Integer
           | Boolean
           | 'null'

referenced by:


Identifier:

[A-Z] _ - [a-z] [A-Z] [0-9]

Identifier
         ::= [A-Z] ( [_#x2D]? [a-zA-Z0-9] )*
          /* ws: explicit */

referenced by:


Object:

{ ObjectEntry , , }

Object   ::= '{' ( ObjectEntry ( ',' ObjectEntry )* ','? )? '}'

referenced by:


Array:

[ DuperValue , , ]

Array    ::= '[' ( DuperValue ( ',' DuperValue )* )? ','? ']'

referenced by:


Tuple:

( DuperValue , , )

Tuple    ::= '(' ( DuperValue ( ',' DuperValue )* )? ','? ')'

referenced by:


String:

QuotedString RawString

String   ::= QuotedString
           | RawString

referenced by:


Bytes:

QuotedBytes RawBytes Base64Bytes

Bytes    ::= QuotedBytes
           | RawBytes
           | Base64Bytes

referenced by:


Temporal:

' TemporalContent '

Temporal ::= "'" TemporalContent "'"
          /* ws: explicit */

referenced by:


Integer:

DecimalInteger HexInteger OctalInteger BinaryInteger

Integer  ::= DecimalInteger
           | HexInteger
           | OctalInteger
           | BinaryInteger

referenced by:


Float:

DecimalInteger . [0-9] _ e E DecimalInteger . [0-9] _

Float    ::= DecimalInteger ( ( '.' [0-9] ( '_'? [0-9] )* )? [eE] DecimalInteger | '.' [0-9] ( '_'? [0-9] )* )
          /* ws: explicit */

referenced by:


Boolean:

true false

Boolean  ::= 'true'
           | 'false'

referenced by:


ObjectEntry:

ObjectKey : DuperValue

ObjectEntry
         ::= ObjectKey ':' DuperValue

referenced by:


ObjectKey:

PlainKey QuotedString RawString

ObjectKey
         ::= PlainKey
           | QuotedString
           | RawString

referenced by:


PlainKey:

_ [a-z] [A-Z] [0-9] [a-z] [A-Z] _ - [a-z] [A-Z] [0-9]

PlainKey ::= ( '_' [a-zA-Z0-9] | [a-zA-Z] ) ( [_#x2D]? [a-zA-Z0-9] )*
          /* ws: explicit */

referenced by:


QuotedString:

" QuotedContent "

QuotedString
         ::= '"' QuotedContent '"'
          /* ws: explicit */

referenced by:


RawString:

r _RawInner

RawString
         ::= 'r' _RawInner
          /* ws: explicit */

referenced by:


QuotedBytes:

b" QuotedContent "

QuotedBytes
         ::= 'b"' QuotedContent '"'
          /* ws: explicit */

referenced by:


RawBytes:

br _RawInner

RawBytes ::= 'br' _RawInner
          /* ws: explicit */

referenced by:


Base64Bytes:

b64" Base64Content "

Base64Bytes
         ::= 'b64"' Base64Content '"'
          /* ws: explicit */

referenced by:


Base64Content:

[a-z] [A-Z] [0-9] + / Whitespace _Base64Padding _Base64Padding Whitespace

Base64Content
         ::= ( [a-zA-Z0-9+/] | Whitespace )* ( _Base64Padding _Base64Padding? )? Whitespace*
          /* ws: explicit */

referenced by:


_Base64Padding:

= Whitespace

_Base64Padding
         ::= '=' Whitespace*
          /* ws: explicit */

referenced by:


_RawInner:

# _RawInner # " RawContent "

_RawInner
         ::= '#' _RawInner '#'
           | '"' RawContent '"'

referenced by:


RawContent:

[^#x00-#x09#x0A-#x1F#x7F]

RawContent
         ::= [^#x00-#x09#x0A-#x1F#x7F]*
          /* ws: explicit */

referenced by:


QuotedContent:

\ 0 b t n f r " \ x u U _HexDigit _HexDigit _HexDigit _HexDigit _HexDigit _HexDigit _HexDigit _HexDigit [^"\]

QuotedContent
         ::= ( '\' ( [0btnfr"\] | ( 'x' | ( 'u' | 'U' _HexDigit _HexDigit _HexDigit _HexDigit ) _HexDigit _HexDigit ) _HexDigit _HexDigit ) | [^"\] )*
          /* ws: explicit */

referenced by:


TemporalContent:

Whitespace [^'] [^#x09#x0A#x0D#x20] [^'] [^'] [^#x09#x0A#x0D#x20] Whitespace

TemporalContent
         ::= Whitespace* ( [^'] | [^#x09#x0A#x0D#x20] ) [^']+ ( [^'] | [^#x09#x0A#x0D#x20] ) Whitespace*
          /* ws: explicit */

referenced by:


DecimalInteger:

+ - [0-9] [1-9] _ [0-9]

DecimalInteger
         ::= [+#x2D]? ( [0-9] | [1-9] ( '_'? [0-9] )+ )
          /* ws: explicit */

referenced by:


HexInteger:

0x _HexDigit _

HexInteger
         ::= '0x' _HexDigit ( '_'? _HexDigit )*
          /* ws: explicit */

referenced by:


OctalInteger:

0o [0-7] _

OctalInteger
         ::= '0o' [0-7] ( '_'? [0-7] )*
          /* ws: explicit */

referenced by:


BinaryInteger:

0b 0 1 _

BinaryInteger
         ::= '0b' [0-1] ( '_'? [0-1] )*
          /* ws: explicit */

referenced by:


_HexDigit:

[0-9] [a-f] [A-F]

_HexDigit
         ::= [0-9a-fA-F]

referenced by:


LineComment:

// [^#x0A#x0D]

LineComment
         ::= '//' [^#x0A#x0D]*
          /* ws: explicit */

referenced by:


BlockComment:

/* [^*] * [^/*] /

BlockComment
         ::= '/*' [^*]* '*'+ ( [^/*] [^*]* '*'+ )* '/'
          /* ws: explicit */

referenced by:


Whitespace:

[#x09] [#x0A] [#x0D] [#x20]

Whitespace
         ::= [#x09#x0A#x0D#x20]

referenced by:


Comment:

LineComment BlockComment

Comment  ::= LineComment
           | BlockComment

no references



  ... generated by RR - Railroad Diagram Generator R R