document: names ; value
document ::= names ';' value
no referencesnames: string ,
names    ::= ( string ( ',' string )* )?
referenced by: document string: [a-z] [A-Z] [0-9] json-string
string   ::= [a-zA-Z0-9]+
           | json-string
referenced by: names value: array-literal object-literal string-reference number-literal bool-literal n
value    ::= array-literal
           | object-literal
           | string-reference
           | number-literal
           | bool-literal
           | 'n'
referenced by: array-literal document key-value array-literal: [ value , ]
         ::= '[' ( value ( ',' value )* )? ']'
referenced by: value object-literal: { key-value , }
         ::= '{' ( key-value ( ',' key-value )* )? '}'
referenced by: value string-reference: s rbase62
         ::= 's' rbase62
referenced by: value number-literal: i I rbase62 f F positive-float
         ::= ( 'i' | 'I' ) rbase62
           | ( 'f' | 'F' ) positive-float
referenced by: value bool-literal: b B
         ::= 'b'
           | 'B'
referenced by: value key-value: rbase62 : value
         ::= rbase62 ':' value
referenced by: object-literal rbase62: [0-9] [a-z] [A-Z]
rbase62  ::= [0-9a-zA-Z]
referenced by: key-value number-literal string-reference positive-float: [0-9] . [0-9]
         ::= [0-9]+ ( '.' [0-9]+ )?
referenced by: number-literal   ... generated by RR - Railroad Diagram Generator R R