ProgramWithEOF: Program EOF ProgramWithEOF ::= Program EOF no referencesProgram: Whitespaces Expression ExpressionWithLeadingWS Whitespaces Program ::= Whitespaces? ( Expression ExpressionWithLeadingWS* Whitespaces? )? referenced by: Code Label LabelReset List Object ProgramWithEOF Expression: NonWSSeparableExpression WSSeparableExpression Expression ::= NonWSSeparableExpression | WSSeparableExpression referenced by: Program ExpressionWithLeadingWS: Whitespaces NonWSSeparableExpression Whitespaces WSSeparableExpression ExpressionWithLeadingWS ::= Whitespaces? NonWSSeparableExpression | Whitespaces WSSeparableExpression referenced by: Program WSSeparableExpression: String Number Real Label LabelReset NameExpression WSSeparableExpression ::= String | Number | Real | Label | LabelReset | NameExpression referenced by: Expression ExpressionWithLeadingWS NonWSSeparableExpression: Object List Code MemberNameExpression Comment , NonWSSeparableExpression ::= Object | List | Code | MemberNameExpression | Comment | ',' referenced by: Expression ExpressionWithLeadingWS MemberNameExpression: NameMember NameReadMember NameWriteMember MemberNameExpression ::= NameMember | NameReadMember | NameWriteMember referenced by: NonWSSeparableExpression NameExpression: Name NameRead NameWrite NameExpression ::= Name | NameRead | NameWrite referenced by: WSSeparableExpression LabelReset: Name :! Program ; LabelReset ::= Name ':!' Program ';' referenced by: WSSeparableExpression Label: Name : Program ; Label ::= Name ':' Program ';' referenced by: WSSeparableExpression Object: { Program } Object ::= '{' Program '}' referenced by: NonWSSeparableExpression List: ( Program ) List ::= '(' Program ')' referenced by: NonWSSeparableExpression Code: [ Program ] Code ::= '[' Program ']' referenced by: NonWSSeparableExpression EOF: $ EOF ::= $ referenced by: ProgramWithEOF Comment: # CommentContent Comment ::= '#' CommentContent* referenced by: NonWSSeparableExpression CommentContent: [^#x000A#x000D] CommentContent ::= [^#x000A#x000D] referenced by: Comment SpecialName: ! @ . SpecialName ::= '!' | '@' | '.'+ referenced by: Name Name: MemberName SpecialName Name ::= MemberName | SpecialName referenced by: Label LabelReset NameExpression NameRead NameWrite NameRead: @ Name NameRead ::= '@' Name referenced by: NameExpression NameWrite: ! Name NameWrite ::= '!' Name referenced by: NameExpression NameMember: . MemberName NameMember ::= '.' MemberName referenced by: MemberNameExpression NameReadMember: . @ MemberName NameReadMember ::= '.' '@' MemberName referenced by: MemberNameExpression NameWriteMember: . ! MemberName NameWriteMember ::= '.' '!' MemberName referenced by: MemberNameExpression Letter: [^+0123456789!@,.:;{}() #x2D#x0022#x0023#x005B#x005D#x0009#x000A#x000D] Letter ::= [^+0123456789!@,.:;{}() #x2D#x0022#x0023#x005B#x005D#x0009#x000A#x000D] referenced by: MemberName MemberName: Letter Sign Sign Letter Letter Digit Sign Sign MemberName ::= Sign | ( Letter | Sign ( Sign | Letter ) ) ( Letter | Digit | Sign )* referenced by: Name NameMember NameReadMember NameWriteMember Decimal: . Digit Decimal ::= '.' Digit+ referenced by: RealBody Exponent: e E DecNumber Exponent ::= ( 'e' | 'E' ) DecNumber referenced by: RealBody Real: Real32 Real64 Real ::= Real32 | Real64 referenced by: WSSeparableExpression Real32: RealBody r32 Real32 ::= RealBody 'r32' referenced by: Real Real64: RealBody r64 Real64 ::= RealBody 'r64'? referenced by: Real RealBody: DecNumber Exponent Decimal Exponent RealBody ::= DecNumber ( Exponent | Decimal Exponent? ) referenced by: Real32 Real64 Numberi8: NumberBody i8 Numberi8 ::= NumberBody 'i8' referenced by: Number Numberi16: NumberBody i16 Numberi16 ::= NumberBody 'i16' referenced by: Number Numberi32: NumberBody i32 Numberi32 ::= NumberBody 'i32'? referenced by: Number Numberi64: NumberBody i64 Numberi64 ::= NumberBody 'i64' referenced by: Number Numberix: NumberBody ix Numberix ::= NumberBody 'ix' referenced by: Number Numbern8: NumberBody n8 Numbern8 ::= NumberBody 'n8' referenced by: Number Numbern16: NumberBody n16 Numbern16 ::= NumberBody 'n16' referenced by: Number Numbern32: NumberBody n32 Numbern32 ::= NumberBody 'n32' referenced by: Number Numbern64: NumberBody n64 Numbern64 ::= NumberBody 'n64' referenced by: Number Numbernx: NumberBody nx Numbernx ::= NumberBody 'nx' referenced by: Number Number: Numberi8 Numberi16 Numberi32 Numberi64 Numberix Numbern8 Numbern16 Numbern32 Numbern64 Numbernx Number ::= Numberi8 | Numberi16 | Numberi32 | Numberi64 | Numberix | Numbern8 | Numbern16 | Numbern32 | Numbern64 | Numbernx referenced by: WSSeparableExpression String: " \\ \" [^"\] " String ::= '"' ( '\\' | '\"' | [^"\] )* '"' referenced by: WSSeparableExpression NumberBody: DecNumber HexNumber NumberBody ::= DecNumber | HexNumber referenced by: Numberi16 Numberi32 Numberi64 Numberi8 Numberix Numbern16 Numbern32 Numbern64 Numbern8 Numbernx DecNumber: Sign Digit NZDigit Digit DecNumber ::= Sign? ( Digit | NZDigit Digit+ ) referenced by: Exponent NumberBody RealBody HexNumber: 0x HexDigit HexNumber ::= '0x' HexDigit+ referenced by: NumberBody NZDigit: [1-9] NZDigit ::= [1-9] referenced by: DecNumber Digit: [0-9] Digit ::= [0-9] referenced by: DecNumber Decimal MemberName HexDigit: [0-9] [a-f] [A-F] HexDigit ::= [0-9a-fA-F] referenced by: HexNumber Sign: - + Sign ::= '-' | '+' referenced by: DecNumber MemberName Whitespaces: [#x0009] [#x000A] [#x000D] Whitespaces ::= [ #x0009#x000A#x000D]+ referenced by: ExpressionWithLeadingWS Program   ... generated by Railroad Diagram Generator R R