SourceCode:

Token EndOfFile

SourceCode
         ::= Token* EndOfFile

no references


Character:

LineCharacter EndOfLineCharacter

Character
         ::= LineCharacter
           | EndOfLineCharacter

referenced by:


LineCharacter:

Space [#x0021-#x2027] [#x202A-#xD7FF] [#xE000-#xFFFD] [#x10000-#x10FFFF]

LineCharacter
         ::= Space
           | [#x0021-#x2027#x202A-#xD7FF#xE000-#xFFFD#x10000-#x10FFFF]

referenced by:


Space:

[#x0020] [#x0009] [#x000B]

Space    ::= [#x0020#x0009#x000B]

referenced by:


EndOfLineCharacter:

[#x000D] [#x000A] [#x000C] [#x2028] [#x2029]

EndOfLineCharacter
         ::= [#x000D#x000A#x000C#x2028#x2029]

referenced by:


WhiteSpace:

Space EndOfLineCharacter

WhiteSpace
         ::= ( Space | EndOfLineCharacter )+

referenced by:


EndOfLine:

[#x000D] [#x000A] EndOfLineCharacter EndOfFile

EndOfLine
         ::= #x000D #x000A
           | EndOfLineCharacter
           | EndOfFile

referenced by:


EndOfFile:

[#x0000] [#x001A]

EndOfFile
         ::= [#x0000#x001A]

referenced by:


Token:

{ } ( ) [ ] [!] ++ += + -- -= - *= * /= / %= % .= . := : == = ^^= ^^ ^!|= ^!| ^= ^ && &= & || |= | >>>= >>> >>= >> >< >= > <<= << <= <- < !&& !&= !& !|| !|= !| !>< !>= !> !<= !< != ! !?? ?? ? @ $ ~= ~ , ; Comment Whitespace PathIdentifier Identifier IntegerLiteral FloatLiteral TemporalLiteral CharacterLiteral StringLiteral Keyword

Token    ::= '{'
           | '}'
           | '('
           | ')'
           | '['
           | ']'
           | '[!]'
           | '++'
           | '+='
           | '+'
           | '--'
           | '-='
           | '-'
           | '*='
           | '*'
           | '/='
           | '/'
           | '%='
           | '%'
           | '.='
           | '.'
           | ':='
           | ':'
           | '=='
           | '='
           | '^^='
           | '^^'
           | '^!|='
           | '^!|'
           | '^='
           | '^'
           | '&&'
           | '&='
           | '&'
           | '||'
           | '|='
           | '|'
           | '>>>='
           | '>>>'
           | '>>='
           | '>>'
           | '><'
           | '>='
           | '>'
           | '<<='
           | '<<'
           | '<='
           | '<-'
           | '<'
           | '!&&'
           | '!&='
           | '!&'
           | '!||'
           | '!|='
           | '!|'
           | '!><'
           | '!>='
           | '!>'
           | '!<='
           | '!<'
           | '!='
           | '!'
           | '!??'
           | '??'
           | '?'
           | '@'
           | '$'
           | '~='
           | '~'
           | ','
           | ';'
           | Comment
           | Whitespace
           | PathIdentifier
           | Identifier
           | IntegerLiteral
           | FloatLiteral
           | TemporalLiteral
           | CharacterLiteral
           | StringLiteral
           | Keyword

referenced by:


Comment:

LineComment BlockComment NestingBlockComment

Comment  ::= LineComment
           | BlockComment
           | NestingBlockComment

referenced by:


LineComment:

// LineCharacter EndOfLine

LineComment
         ::= '//' LineCharacter* EndOfLine

referenced by:


BlockComment:

/* Character */

BlockComment
         ::= '/*' Character* '*/'

referenced by:


NestingBlockComment:

/+ NestingBlockCommentCharacter +/

NestingBlockComment
         ::= '/+' NestingBlockCommentCharacter* '+/'

referenced by:


NestingBlockCommentCharacter:

Character NestingBlockComment

NestingBlockCommentCharacter
         ::= Character
           | NestingBlockComment

referenced by:


PathIdentifier:

/ Identifier

PathIdentifier
         ::= '/' Identifier

referenced by:


Identifier:

IdentifierStart IdentifierChar

Identifier
         ::= IdentifierStart IdentifierChar*

referenced by:


IdentifierStart:

_ Letter UniversalAlpha

IdentifierStart
         ::= '_'
           | Letter
           | UniversalAlpha

referenced by:


IdentifierChar:

IdentifierStart DecimalDigit

IdentifierChar
         ::= IdentifierStart
           | DecimalDigit

referenced by:


Letter:

[a-z] [A-Z]

Letter   ::= [a-zA-Z]

referenced by:


UniversalAlpha:

[#x00AA-#x00AA] [#x00B5-#x00B5] [#x00B7-#x00B7] [#x00BA-#x00BA] [#x00C0-#x00D6] [#x00D8-#x00F6] [#x00F8-#x01F5] [#x01FA-#x0217] [#x0250-#x02A8] [#x02B0-#x02B8] [#x02BB-#x02BB] [#x02BD-#x02C1] [#x02D0-#x02D1] [#x02E0-#x02E4] [#x037A-#x037A] [#x0386-#x0386] [#x0388-#x038A] [#x038C-#x038C] [#x038E-#x03A1] [#x03A3-#x03CE] [#x03D0-#x03D6] [#x03DA-#x03DA] [#x03DC-#x03DC] [#x03DE-#x03DE] [#x03E0-#x03E0] [#x03E2-#x03F3] [#x0401-#x040C] [#x040E-#x044F] [#x0451-#x045C] [#x045E-#x0481] [#x0490-#x04C4] [#x04C7-#x04C8] [#x04CB-#x04CC] [#x04D0-#x04EB] [#x04EE-#x04F5] [#x04F8-#x04F9] [#x0531-#x0556] [#x0559-#x0559] [#x0561-#x0587] [#x05B0-#x05B9] [#x05BB-#x05BD] [#x05BF-#x05BF] [#x05C1-#x05C2] [#x05D0-#x05EA] [#x05F0-#x05F2] [#x0621-#x063A] [#x0640-#x0652] [#x0660-#x0669] [#x0670-#x06B7] [#x06BA-#x06BE] [#x06C0-#x06CE] [#x06D0-#x06DC] [#x06E5-#x06E8] [#x06EA-#x06ED] [#x06F0-#x06F9] [#x0901-#x0903] [#x0905-#x0939] [#x093D-#x094D] [#x0950-#x0952] [#x0958-#x0963] [#x0966-#x096F] [#x0981-#x0983] [#x0985-#x098C] [#x098F-#x0990] [#x0993-#x09A8] [#x09AA-#x09B0] [#x09B2-#x09B2] [#x09B6-#x09B9] [#x09BE-#x09C4] [#x09C7-#x09C8] [#x09CB-#x09CD] [#x09DC-#x09DD] [#x09DF-#x09E3] [#x09E6-#x09F1] [#x0A02-#x0A02] [#x0A05-#x0A0A] [#x0A0F-#x0A10] [#x0A13-#x0A28] [#x0A2A-#x0A30] [#x0A32-#x0A33] [#x0A35-#x0A36] [#x0A38-#x0A39] [#x0A3E-#x0A42] [#x0A47-#x0A48] [#x0A4B-#x0A4D] [#x0A59-#x0A5C] [#x0A5E-#x0A5E] [#x0A66-#x0A6F] [#x0A74-#x0A74] [#x0A81-#x0A83] [#x0A85-#x0A8B] [#x0A8D-#x0A8D] [#x0A8F-#x0A91] [#x0A93-#x0AA8] [#x0AAA-#x0AB0] [#x0AB2-#x0AB3] [#x0AB5-#x0AB9] [#x0ABD-#x0AC5] [#x0AC7-#x0AC9] [#x0ACB-#x0ACD] [#x0AD0-#x0AD0] [#x0AE0-#x0AE0] [#x0AE6-#x0AEF] [#x0B01-#x0B03] [#x0B05-#x0B0C] [#x0B0F-#x0B10] [#x0B13-#x0B28] [#x0B2A-#x0B30] [#x0B32-#x0B33] [#x0B36-#x0B39] [#x0B3D-#x0B43] [#x0B47-#x0B48] [#x0B4B-#x0B4D] [#x0B5C-#x0B5D] [#x0B5F-#x0B61] [#x0B66-#x0B6F] [#x0B82-#x0B83] [#x0B85-#x0B8A] [#x0B8E-#x0B90] [#x0B92-#x0B95] [#x0B99-#x0B9A] [#x0B9C-#x0B9C] [#x0B9E-#x0B9F] [#x0BA3-#x0BA4] [#x0BA8-#x0BAA] [#x0BAE-#x0BB5] [#x0BB7-#x0BB9] [#x0BBE-#x0BC2] [#x0BC6-#x0BC8] [#x0BCA-#x0BCD] [#x0BE7-#x0BEF] [#x0C01-#x0C03] [#x0C05-#x0C0C] [#x0C0E-#x0C10] [#x0C12-#x0C28] [#x0C2A-#x0C33] [#x0C35-#x0C39] [#x0C3E-#x0C44] [#x0C46-#x0C48] [#x0C4A-#x0C4D] [#x0C60-#x0C61] [#x0C66-#x0C6F] [#x0C82-#x0C83] [#x0C85-#x0C8C] [#x0C8E-#x0C90] [#x0C92-#x0CA8] [#x0CAA-#x0CB3] [#x0CB5-#x0CB9] [#x0CBE-#x0CC4] [#x0CC6-#x0CC8] [#x0CCA-#x0CCD] [#x0CDE-#x0CDE] [#x0CE0-#x0CE1] [#x0CE6-#x0CEF] [#x0D02-#x0D03] [#x0D05-#x0D0C] [#x0D0E-#x0D10] [#x0D12-#x0D28] [#x0D2A-#x0D39] [#x0D3E-#x0D43] [#x0D46-#x0D48] [#x0D4A-#x0D4D] [#x0D60-#x0D61] [#x0D66-#x0D6F] [#x0E01-#x0E3A] [#x0E40-#x0E5B] [#x0E81-#x0E82] [#x0E84-#x0E84] [#x0E87-#x0E88] [#x0E8A-#x0E8A] [#x0E8D-#x0E8D] [#x0E94-#x0E97] [#x0E99-#x0E9F] [#x0EA1-#x0EA3] [#x0EA5-#x0EA5] [#x0EA7-#x0EA7] [#x0EAA-#x0EAB] [#x0EAD-#x0EAE] [#x0EB0-#x0EB9] [#x0EBB-#x0EBD] [#x0EC0-#x0EC4] [#x0EC6-#x0EC6] [#x0EC8-#x0ECD] [#x0ED0-#x0ED9] [#x0EDC-#x0EDD] [#x0F00-#x0F00] [#x0F18-#x0F19] [#x0F20-#x0F33] [#x0F35-#x0F35] [#x0F37-#x0F37] [#x0F39-#x0F39] [#x0F3E-#x0F47] [#x0F49-#x0F69] [#x0F71-#x0F84] [#x0F86-#x0F8B] [#x0F90-#x0F95] [#x0F97-#x0F97] [#x0F99-#x0FAD] [#x0FB1-#x0FB7] [#x0FB9-#x0FB9] [#x10A0-#x10C5] [#x10D0-#x10F6] [#x1E00-#x1E9B] [#x1EA0-#x1EF9] [#x1F00-#x1F15] [#x1F18-#x1F1D] [#x1F20-#x1F45] [#x1F48-#x1F4D] [#x1F50-#x1F57] [#x1F59-#x1F59] [#x1F5B-#x1F5B] [#x1F5D-#x1F5D] [#x1F5F-#x1F7D] [#x1F80-#x1FB4] [#x1FB6-#x1FBC] [#x1FBE-#x1FBE] [#x1FC2-#x1FC4] [#x1FC6-#x1FCC] [#x1FD0-#x1FD3] [#x1FD6-#x1FDB] [#x1FE0-#x1FEC] [#x1FF2-#x1FF4] [#x1FF6-#x1FFC] [#x203F-#x2040] [#x207F-#x207F] [#x2102-#x2102] [#x2107-#x2107] [#x210A-#x2113] [#x2115-#x2115] [#x2118-#x211D] [#x2124-#x2124] [#x2126-#x2126] [#x2128-#x2128] [#x212A-#x2131] [#x2133-#x2138] [#x2160-#x2182] [#x3005-#x3007] [#x3021-#x3029] [#x3041-#x3093] [#x309B-#x309C] [#x30A1-#x30F6] [#x30FB-#x30FC] [#x3105-#x312C] [#x4E00-#x9FA5] [#xAC00-#xD7A3]

UniversalAlpha
         ::= [#x00AA-#x00AA#x00B5-#x00B5#x00B7-#x00B7#x00BA-#x00BA#x00C0-#x00D6#x00D8-#x00F6#x00F8-#x01F5#x01FA-#x0217#x0250-#x02A8#x02B0-#x02B8#x02BB-#x02BB#x02BD-#x02C1#x02D0-#x02D1#x02E0-#x02E4#x037A-#x037A#x0386-#x0386#x0388-#x038A#x038C-#x038C#x038E-#x03A1#x03A3-#x03CE#x03D0-#x03D6#x03DA-#x03DA#x03DC-#x03DC#x03DE-#x03DE#x03E0-#x03E0#x03E2-#x03F3#x0401-#x040C#x040E-#x044F#x0451-#x045C#x045E-#x0481#x0490-#x04C4#x04C7-#x04C8#x04CB-#x04CC#x04D0-#x04EB#x04EE-#x04F5#x04F8-#x04F9#x0531-#x0556#x0559-#x0559#x0561-#x0587#x05B0-#x05B9#x05BB-#x05BD#x05BF-#x05BF#x05C1-#x05C2#x05D0-#x05EA#x05F0-#x05F2#x0621-#x063A#x0640-#x0652#x0660-#x0669#x0670-#x06B7#x06BA-#x06BE#x06C0-#x06CE#x06D0-#x06DC#x06E5-#x06E8#x06EA-#x06ED#x06F0-#x06F9#x0901-#x0903#x0905-#x0939#x093D-#x094D#x0950-#x0952#x0958-#x0963#x0966-#x096F#x0981-#x0983#x0985-#x098C#x098F-#x0990#x0993-#x09A8#x09AA-#x09B0#x09B2-#x09B2#x09B6-#x09B9#x09BE-#x09C4#x09C7-#x09C8#x09CB-#x09CD#x09DC-#x09DD#x09DF-#x09E3#x09E6-#x09F1#x0A02-#x0A02#x0A05-#x0A0A#x0A0F-#x0A10#x0A13-#x0A28#x0A2A-#x0A30#x0A32-#x0A33#x0A35-#x0A36#x0A38-#x0A39#x0A3E-#x0A42#x0A47-#x0A48#x0A4B-#x0A4D#x0A59-#x0A5C#x0A5E-#x0A5E#x0A66-#x0A6F#x0A74-#x0A74#x0A81-#x0A83#x0A85-#x0A8B#x0A8D-#x0A8D#x0A8F-#x0A91#x0A93-#x0AA8#x0AAA-#x0AB0#x0AB2-#x0AB3#x0AB5-#x0AB9#x0ABD-#x0AC5#x0AC7-#x0AC9#x0ACB-#x0ACD#x0AD0-#x0AD0#x0AE0-#x0AE0#x0AE6-#x0AEF#x0B01-#x0B03#x0B05-#x0B0C#x0B0F-#x0B10#x0B13-#x0B28#x0B2A-#x0B30#x0B32-#x0B33#x0B36-#x0B39#x0B3D-#x0B43#x0B47-#x0B48#x0B4B-#x0B4D#x0B5C-#x0B5D#x0B5F-#x0B61#x0B66-#x0B6F#x0B82-#x0B83#x0B85-#x0B8A#x0B8E-#x0B90#x0B92-#x0B95#x0B99-#x0B9A#x0B9C-#x0B9C#x0B9E-#x0B9F#x0BA3-#x0BA4#x0BA8-#x0BAA#x0BAE-#x0BB5#x0BB7-#x0BB9#x0BBE-#x0BC2#x0BC6-#x0BC8#x0BCA-#x0BCD#x0BE7-#x0BEF#x0C01-#x0C03#x0C05-#x0C0C#x0C0E-#x0C10#x0C12-#x0C28#x0C2A-#x0C33#x0C35-#x0C39#x0C3E-#x0C44#x0C46-#x0C48#x0C4A-#x0C4D#x0C60-#x0C61#x0C66-#x0C6F#x0C82-#x0C83#x0C85-#x0C8C#x0C8E-#x0C90#x0C92-#x0CA8#x0CAA-#x0CB3#x0CB5-#x0CB9#x0CBE-#x0CC4#x0CC6-#x0CC8#x0CCA-#x0CCD#x0CDE-#x0CDE#x0CE0-#x0CE1#x0CE6-#x0CEF#x0D02-#x0D03#x0D05-#x0D0C#x0D0E-#x0D10#x0D12-#x0D28#x0D2A-#x0D39#x0D3E-#x0D43#x0D46-#x0D48#x0D4A-#x0D4D#x0D60-#x0D61#x0D66-#x0D6F#x0E01-#x0E3A#x0E40-#x0E5B#x0E81-#x0E82#x0E84-#x0E84#x0E87-#x0E88#x0E8A-#x0E8A#x0E8D-#x0E8D#x0E94-#x0E97#x0E99-#x0E9F#x0EA1-#x0EA3#x0EA5-#x0EA5#x0EA7-#x0EA7#x0EAA-#x0EAB#x0EAD-#x0EAE#x0EB0-#x0EB9#x0EBB-#x0EBD#x0EC0-#x0EC4#x0EC6-#x0EC6#x0EC8-#x0ECD#x0ED0-#x0ED9#x0EDC-#x0EDD#x0F00-#x0F00#x0F18-#x0F19#x0F20-#x0F33#x0F35-#x0F35#x0F37-#x0F37#x0F39-#x0F39#x0F3E-#x0F47#x0F49-#x0F69#x0F71-#x0F84#x0F86-#x0F8B#x0F90-#x0F95#x0F97-#x0F97#x0F99-#x0FAD#x0FB1-#x0FB7#x0FB9-#x0FB9#x10A0-#x10C5#x10D0-#x10F6#x1E00-#x1E9B#x1EA0-#x1EF9#x1F00-#x1F15#x1F18-#x1F1D#x1F20-#x1F45#x1F48-#x1F4D#x1F50-#x1F57#x1F59-#x1F59#x1F5B-#x1F5B#x1F5D-#x1F5D#x1F5F-#x1F7D#x1F80-#x1FB4#x1FB6-#x1FBC#x1FBE-#x1FBE#x1FC2-#x1FC4#x1FC6-#x1FCC#x1FD0-#x1FD3#x1FD6-#x1FDB#x1FE0-#x1FEC#x1FF2-#x1FF4#x1FF6-#x1FFC#x203F-#x2040#x207F-#x207F#x2102-#x2102#x2107-#x2107#x210A-#x2113#x2115-#x2115#x2118-#x211D#x2124-#x2124#x2126-#x2126#x2128-#x2128#x212A-#x2131#x2133-#x2138#x2160-#x2182#x3005-#x3007#x3021-#x3029#x3041-#x3093#x309B-#x309C#x30A1-#x30F6#x30FB-#x30FC#x3105-#x312C#x4E00-#x9FA5#xAC00-#xD7A3]

referenced by:


IntegerLiteral:

Integer IntegerSuffix

IntegerLiteral
         ::= Integer IntegerSuffix?

referenced by:


Integer:

DecimalInteger BinaryInteger OctalInteger HexadecimalInteger

Integer  ::= DecimalInteger
           | BinaryInteger
           | OctalInteger
           | HexadecimalInteger

referenced by:


IntegerSuffix:

L u U u U L

IntegerSuffix
         ::= 'L' [uU]?
           | [uU] 'L'?

referenced by:


DecimalInteger:

DecimalDigit DecimalDigitUS

DecimalInteger
         ::= DecimalDigit DecimalDigitUS*

referenced by:


DecimalDigit:

[0-9]

DecimalDigit
         ::= [0-9]

referenced by:


DecimalDigitUS:

DecimalDigit _

DecimalDigitUS
         ::= DecimalDigit
           | '_'

referenced by:


BinaryInteger:

BinPrefix BinaryDigit BinaryDigitUS

BinaryInteger
         ::= BinPrefix BinaryDigit BinaryDigitUS*

referenced by:


BinPrefix:

0b 0B

BinPrefix
         ::= '0b'
           | '0B'

referenced by:


BinaryDigit:

0 1

BinaryDigit
         ::= [0-1]

referenced by:


BinaryDigitUS:

BinaryDigit _

BinaryDigitUS
         ::= BinaryDigit
           | '_'

referenced by:


OctalInteger:

OctalPrefix OctalDigit OctalDigitUS

OctalInteger
         ::= OctalPrefix OctalDigit OctalDigitUS*

referenced by:


OctalPrefix:

0c 0C

OctalPrefix
         ::= '0c'
           | '0C'

referenced by:


OctalDigit:

0 OctalNZDigit

OctalDigit
         ::= '0'
           | OctalNZDigit

referenced by:


OctalNZDigit:

[1-7]

OctalNZDigit
         ::= [1-7]

referenced by:


OctalDigitUS:

OctalDigit _

OctalDigitUS
         ::= OctalDigit
           | '_'

referenced by:


HexadecimalInteger:

HexPrefix HexDigit HexDigitUS

HexadecimalInteger
         ::= HexPrefix HexDigit HexDigitUS*

referenced by:


HexPrefix:

0x 0X

HexPrefix
         ::= '0x'
           | '0X'

referenced by:


HexDigit:

DecimalDigit HexLetter

HexDigit ::= DecimalDigit
           | HexLetter

referenced by:


HexLetter:

[a-f] [A-F]

HexLetter
         ::= [a-fA-F]

referenced by:


HexDigitUS:

HexDigit _

HexDigitUS
         ::= HexDigit
           | '_'

referenced by:


FloatLiteral:

Float Suffix

FloatLiteral
         ::= Float Suffix?

referenced by:


Float:

DecimalFloat HexFloat

Float    ::= DecimalFloat
           | HexFloat

referenced by:


Suffix:

f F L

Suffix   ::= [fFL]

referenced by:


DecimalFloat:

DecimalInteger . DecimalInteger DecimalExponent

DecimalFloat
         ::= ( DecimalInteger? '.' )? DecimalInteger DecimalExponent?

referenced by:


DecimalExponent:

DecimalExponentStart DecimalInteger

DecimalExponent
         ::= DecimalExponentStart DecimalInteger

referenced by:


DecimalExponentStart:

e E + -

DecimalExponentStart
         ::= [eE] [+#x2D]?

referenced by:


HexFloat:

HexPrefix HexDigit HexDigitUS . HexDigit HexDigitUS HexExponent

HexFloat ::= HexPrefix ( ( HexDigit HexDigitUS* )? '.' )? HexDigit HexDigitUS* HexExponent

referenced by:


HexExponent:

HexExponentStart DecimalInteger

HexExponent
         ::= HexExponentStart DecimalInteger

referenced by:


HexExponentStart:

p P + -

HexExponentStart
         ::= [pP] [+#x2D]?

referenced by:


TemporalLiteral:

DateLiteral TimeLiteral StampLiteral

TemporalLiteral
         ::= DateLiteral
           | TimeLiteral
           | StampLiteral

referenced by:


DateLiteral:

# DateLiteralDate #

DateLiteral
         ::= '#' DateLiteralDate '#'

referenced by:


DateLiteralDate:

DecimalQuad - DecimalTuple - DecimalTuple

DateLiteralDate
         ::= DecimalQuad '-' DecimalTuple '-' DecimalTuple

referenced by:


DecimalQuad:

DecimalTuple DecimalTuple

DecimalQuad
         ::= DecimalTuple DecimalTuple

referenced by:


DecimalTuple:

DecimalDigit DecimalDigit

DecimalTuple
         ::= DecimalDigit DecimalDigit

referenced by:


TimeLiteral:

# TimeLiteralTime #

TimeLiteral
         ::= '#' TimeLiteralTime '#'

referenced by:


TimeLiteralTime:

DecimalTuple : DecimalTuple : DecimalTuple . DecimalDigit DecimalDigit DecimalDigit DecimalDigit DecimalDigit DecimalDigit

TimeLiteralTime
         ::= DecimalTuple ':' DecimalTuple ( ':' DecimalTuple ( '.' DecimalDigit ( DecimalDigit ( DecimalDigit ( DecimalDigit ( DecimalDigit DecimalDigit? )? )? )? )? )? )?

referenced by:


QuarterHours:

00 15 30 45

QuarterHours
         ::= '00'
           | '15'
           | '30'
           | '45'

referenced by:


Zone:

Z + - 0 DecimalDigit 1 [0-2] : QuarterHours

Zone     ::= 'Z'
           | [+#x2D] ( '0'? DecimalDigit | '1' [0-2] ) ':' QuarterHours

referenced by:


StampLiteral:

# DateLiteralDate T TimeLiteralTime Zone #

StampLiteral
         ::= '#' DateLiteralDate 'T' TimeLiteralTime Zone? '#'

referenced by:


CharacterLiteral:

' SingleQuotedCharacterES '

CharacterLiteral
         ::= "'" SingleQuotedCharacterES "'"

referenced by:


SingleQuotedCharacterES:

SingleQuotedCharacter EscapeSequence

SingleQuotedCharacterES
         ::= SingleQuotedCharacter
           | EscapeSequence

referenced by:


SingleQuotedCharacter:

[^']

SingleQuotedCharacter
         ::= [^']

referenced by:


EscapeSequence:

\' \" \? \\ \0 \a \b \f \n \r \t \v \ OctalCode NamedCharacterEntity \x \u \U HexDigit HexDigit HexDigit HexDigit HexDigit HexDigit HexDigit HexDigit

EscapeSequence
         ::= "\'"
           | '\"'
           | '\?'
           | '\\'
           | '\0'
           | '\a'
           | '\b'
           | '\f'
           | '\n'
           | '\r'
           | '\t'
           | '\v'
           | '\' ( OctalCode | NamedCharacterEntity )
           | ( '\x' | ( '\u' | '\U' HexDigit HexDigit HexDigit HexDigit ) HexDigit HexDigit ) HexDigit HexDigit

referenced by:


OctalCode:

OctalNZDigit OctalDigit OctalDigit

OctalCode
         ::= OctalNZDigit ( OctalDigit OctalDigit? )?

referenced by:


NamedCharacterEntity:

& NamedEntityIdentifier ;

NamedCharacterEntity
         ::= '&' NamedEntityIdentifier ';'

referenced by:


NamedEntityIdentifier:

AElig AMP Aacute Abreve Acirc Acy Afr Agrave Alpha Amacr And Aogon Aopf ApplyFunction Aring Ascr Assign Atilde Auml Backslash Barv Barwed Bcy ...

NamedEntityIdentifier
         ::= 'AElig'
           | 'AMP'
           | 'Aacute'
           | 'Abreve'
           | 'Acirc'
           | 'Acy'
           | 'Afr'
           | 'Agrave'
           | 'Alpha'
           | 'Amacr'
           | 'And'
           | 'Aogon'
           | 'Aopf'
           | 'ApplyFunction'
           | 'Aring'
           | 'Ascr'
           | 'Assign'
           | 'Atilde'
           | 'Auml'
           | 'Backslash'
           | 'Barv'
           | 'Barwed'
           | 'Bcy'
           | '...'

referenced by:


StringLiteral:

DoubleQuotedString WysiwygString AlternateWysiwygString HexString StringPostfix

StringLiteral
         ::= ( DoubleQuotedString | WysiwygString | AlternateWysiwygString | HexString ) StringPostfix?

referenced by:


DoubleQuotedString:

" DoubleQuotedCharacterES "

DoubleQuotedString
         ::= '"' DoubleQuotedCharacterES* '"'

referenced by:


DoubleQuotedCharacterES:

DoubleQuotedCharacter EscapeSequence

DoubleQuotedCharacterES
         ::= DoubleQuotedCharacter
           | EscapeSequence

referenced by:


DoubleQuotedCharacter:

[^"\]

DoubleQuotedCharacter
         ::= [^"\]

referenced by:


WysiwygString:

r" WysiwygCharacter "

WysiwygString
         ::= 'r"' WysiwygCharacter* '"'

referenced by:


WysiwygCharacter:

[^"]

WysiwygCharacter
         ::= [^"]

referenced by:


AlternateWysiwygString:

` AlternateWysiwygCharacter `

AlternateWysiwygString
         ::= '`' AlternateWysiwygCharacter* '`'

referenced by:


AlternateWysiwygCharacter:

[^`]

AlternateWysiwygCharacter
         ::= [^`]

referenced by:


HexString:

x" HexStringChar "

HexString
         ::= 'x"' HexStringChar+ '"'

referenced by:


HexStringChar:

HexDigit WhiteSpace EndOfLineCharacter [#x000D] [#x000A]

HexStringChar
         ::= HexDigit
           | WhiteSpace
           | EndOfLineCharacter
           | #x000D #x000A

referenced by:


StringPostfix:

c w d

StringPostfix
         ::= [cwd]

referenced by:


KwControlCmd:

if else for foreach in while switch case default break continue skip return

KwControlCmd
         ::= 'if'
           | 'else'
           | 'for'
           | 'foreach'
           | 'in'
           | 'while'
           | 'switch'
           | 'case'
           | 'default'
           | 'break'
           | 'continue'
           | 'skip'
           | 'return'

referenced by:


KwTestCmd:

eq !eq refines !refines isof !isof

KwTestCmd
         ::= 'eq'
           | '!eq'
           | 'refines'
           | '!refines'
           | 'isof'
           | '!isof'

referenced by:


KwForIdx:

idx OuterScopeRef

KwForIdx ::= 'idx' OuterScopeRef?

referenced by:


KwForKey:

key OuterScopeRef

KwForKey ::= 'key' OuterScopeRef?

referenced by:


KwForVal:

val OuterScopeRef

KwForVal ::= 'val' OuterScopeRef?

referenced by:


OuterScopeRef:

$ - + DecimalInteger

OuterScopeRef
         ::= '$' ( '-' | '+' )? DecimalInteger

referenced by:


KwForVars:

KwForIdx KwForKey KwForVal

KwForVars
         ::= KwForIdx
           | KwForKey
           | KwForVal

referenced by:


KwExcThrown:

thrown OuterScopeRef

KwExcThrown
         ::= 'thrown' OuterScopeRef?

referenced by:


KwExcHandle:

try catch throw finally KwExcThrown

KwExcHandle
         ::= 'try'
           | 'catch'
           | 'throw'
           | 'finally'
           | KwExcThrown

referenced by:


KwTreeROTree:

src tmp cmd cfg sub pat dat loc env

KwTreeROTree
         ::= 'src'
           | 'tmp'
           | 'cmd'
           | 'cfg'
           | 'sub'
           | 'pat'
           | 'dat'
           | 'loc'
           | 'env'

referenced by:


KwTreeRO:

KwTreeROTree KwForVal KwExcThrown

KwTreeRO ::= KwTreeROTree
           | KwForVal
           | KwExcThrown

referenced by:


KwTreeRW:

dst cur var ret req ses ars shr

KwTreeRW ::= 'dst'
           | 'cur'
           | 'var'
           | 'ret'
           | 'req'
           | 'ses'
           | 'ars'
           | 'shr'

referenced by:


KwTree:

KwTreeRO KwTreeRW

KwTree   ::= KwTreeRO
           | KwTreeRW

no references


KwConstTrue:

true TRUE

KwConstTrue
         ::= 'true'
           | 'TRUE'

referenced by:


KwConstFalse:

false FALSE

KwConstFalse
         ::= 'false'
           | 'FALSE'

referenced by:


KwConstNull:

null NULL

KwConstNull
         ::= 'null'
           | 'NULL'

referenced by:


KwConstEmpty:

empty EMPTY

KwConstEmpty
         ::= 'empty'
           | 'EMPTY'

referenced by:


KwSpecialConstant:

__DATE__ __TIME__ __TIMESTAMP__ __VENDOR__ __VERSION__ __LINE__ __METHOD__ __PRETTY_METHOD__ __MODULE__ __EOF__

KwSpecialConstant
         ::= '__DATE__'
           | '__TIME__'
           | '__TIMESTAMP__'
           | '__VENDOR__'
           | '__VERSION__'
           | '__LINE__'
           | '__METHOD__'
           | '__PRETTY_METHOD__'
           | '__MODULE__'
           | '__EOF__'

referenced by:


KwConstant:

KwConstTrue KwConstFalse KwConstNull KwConstEmpty KwSpecialConstant

KwConstant
         ::= KwConstTrue
           | KwConstFalse
           | KwConstNull
           | KwConstEmpty
           | KwSpecialConstant

referenced by:


KwObjectSpec:

this super root

KwObjectSpec
         ::= 'this'
           | 'super'
           | 'root'

referenced by:


Keyword:

KwControlCmd KwTestCmd KwForVars KwExcHandle KwTreeROTree KwTreeRW KwConstant KwObjectSpec parentof

Keyword  ::= KwControlCmd
           | KwTestCmd
           | KwForVars
           | KwExcHandle
           | KwTreeROTree
           | KwTreeRW
           | KwConstant
           | KwObjectSpec
           | 'parentof'

referenced by:


LesCode:

Command __EOF__ EndOfFile

LesCode  ::= Command* ( '__EOF__' | EndOfFile )

no references


Command:

CommandTreeEval CommandTreeBlock CommandTreeCall CommandIf CommandFor CommandForeach CommandWhile CommandSwitch CommandCall ; CommandRun CommandReturn CommandBreak CommandContinue CommandSkip CommandTry CommandThrow

Command  ::= CommandTreeEval
           | CommandTreeBlock
           | CommandTreeCall
           | CommandIf
           | CommandFor
           | CommandForeach
           | CommandWhile
           | CommandSwitch
           | CommandCall? ';'
           | CommandRun
           | CommandReturn
           | CommandBreak
           | CommandContinue
           | CommandSkip
           | CommandTry
           | CommandThrow

referenced by:


CommandTreeEval:

DstTree CommandTreeRight SrcTreeBase CommandCallExt ;

CommandTreeEval
         ::= DstTree CommandTreeRight
           | SrcTreeBase CommandCallExt ';'

referenced by:


CommandTreeBlock:

CommandBlockSrc CommandAssignRight CommandCallExt ;

CommandTreeBlock
         ::= CommandBlockSrc ( CommandAssignRight | CommandCallExt ';' )?

referenced by:


CommandTreeCall:

Literal CommandRun ( Expression ) CommandCallExt ;

CommandTreeCall
         ::= ( Literal | CommandRun | '(' Expression ')' ) CommandCallExt ';'

referenced by:


CommandTreeRight:

! KwConstNull KwConstEmpty Path CommandBlockSrc CommandAssignRight CommandOpRight ++ -- [!] Path CommandBlockSrc CommandCallExt ;

CommandTreeRight
         ::= ( '!' ( KwConstNull | KwConstEmpty )? Path? )? CommandBlockSrc CommandAssignRight?
           | CommandOpRight
           | ( '++' | '--' | '[!]' Path | CommandBlockSrc? CommandCallExt ) ';'

referenced by:


CommandBlockSrc:

CommandBlock SrcContext

CommandBlockSrc
         ::= CommandBlock SrcContext?

referenced by:


CommandBlock:

{ Command }

CommandBlock
         ::= '{' Command* '}'

referenced by:


SrcContext:

<- Expression

SrcContext
         ::= '<-' Expression

referenced by:


CommandAssignRight:

CommandOpRight in Expression ;

CommandAssignRight
         ::= CommandOpRight
           | 'in' Expression ';'

referenced by:


CommandOpRight:

CommandAssignOp Expression ;

CommandOpRight
         ::= CommandAssignOp Expression ';'

referenced by:


CommandAssignOp:

= += -= *= /= %= ^^= ^!|= ^= &= |= >>>= >>= <<= !&= !|= .= := ~=

CommandAssignOp
         ::= '='
           | '+='
           | '-='
           | '*='
           | '/='
           | '%='
           | '^^='
           | '^!|='
           | '^='
           | '&='
           | '|='
           | '>>>='
           | '>>='
           | '<<='
           | '!&='
           | '!|='
           | '.='
           | ':='
           | '~='

referenced by:


CommandIf:

if CommandCondRight else Command

CommandIf
         ::= 'if' CommandCondRight ( 'else' Command )?

referenced by:


CommandFor:

for CommandLoopRight

CommandFor
         ::= 'for' CommandLoopRight

referenced by:


CommandForeach:

foreach CommandLoopRight

CommandForeach
         ::= 'foreach' CommandLoopRight

referenced by:


CommandWhile:

while CommandCondRight

CommandWhile
         ::= 'while' CommandCondRight

referenced by:


CommandCondRight:

( Expression ) Command

CommandCondRight
         ::= '(' Expression ')' Command

referenced by:


CommandLoopRight:

( SrcTree ) Command

CommandLoopRight
         ::= '(' SrcTree ')' Command

referenced by:


CommandSwitch:

switch ( Expression ) { SwitchStatement }

CommandSwitch
         ::= 'switch' '(' Expression ')' '{' SwitchStatement '}'

referenced by:


SwitchStatement:

CaseClause DefaultClause CaseClause CaseClause

SwitchStatement
         ::= CaseClause* ( DefaultClause CaseClause* | CaseClause )

referenced by:


CaseClause:

case CaseCond : Command

CaseClause
         ::= 'case' CaseCond ':' Command*

referenced by:


DefaultClause:

default : Command

DefaultClause
         ::= 'default' ':' Command*

referenced by:


CaseCond:

Path Identifier . ( Expression )

CaseCond ::= Path
           | Identifier ( '.' Identifier )*
           | '(' Expression ')'

referenced by:


CommandCall:

Identifier . CommandCallVersionArg

CommandCall
         ::= Identifier ( '.' Identifier )* CommandCallVersionArg

referenced by:


CommandCallVersionArg:

: CommandCallVersion CommandArg

CommandCallVersionArg
         ::= ( ':' CommandCallVersion )? CommandArg

referenced by:


CommandCallVersion:

DecimalInteger . - Identifier

CommandCallVersion
         ::= DecimalInteger ( '.' DecimalInteger )* ( '-' Identifier )?

referenced by:


CommandArg:

( ExpressionList ) CommandBlockSrc

CommandArg
         ::= '(' ExpressionList? ')'
           | CommandBlockSrc

referenced by:


ExpressionList:

Expression ,

ExpressionList
         ::= Expression ( ',' Expression )*

referenced by:


CommandCallExt:

. Identifier CommandCallVersionArg

CommandCallExt
         ::= ( '.' Identifier )+ CommandCallVersionArg?

referenced by:


CommandRun:

@ @ RunPattern . Identifier [ Expression ] CommandArg

CommandRun
         ::= '@' '@'? RunPattern '.' ( Identifier | '[' Expression ']' ) CommandArg?

referenced by:


RunPattern:

SrcTreeBase DstTree CommandBlock KwObjectSpec

RunPattern
         ::= SrcTreeBase
           | DstTree? CommandBlock
           | KwObjectSpec

referenced by:


CommandReturn:

return ;

CommandReturn
         ::= 'return' ';'

referenced by:


CommandBreak:

break DecimalInteger ;

CommandBreak
         ::= 'break' DecimalInteger? ';'

referenced by:


CommandContinue:

continue DecimalInteger ;

CommandContinue
         ::= 'continue' DecimalInteger? ';'

referenced by:


CommandSkip:

skip DecimalInteger ;

CommandSkip
         ::= 'skip' DecimalInteger? ';'

referenced by:


CommandTry:

KwTry CommandBlockSrc KwCatch Path ( Path ) Command KwFinally Command

CommandTry
         ::= KwTry CommandBlockSrc ( KwCatch ( Path | '(' Path ')' ) Command )* ( KwFinally Command )?

referenced by:


CommandThrow:

KwThrow Path ; CommandBlockSrc

CommandThrow
         ::= KwThrow Path ( ';' | CommandBlockSrc )

referenced by:


Expression:

? TernaryExpression

Expression
         ::= '?'? TernaryExpression

referenced by:


TernaryExpression:

BoolOrExpression ? Expression : ?? !?? Expression

TernaryExpression
         ::= BoolOrExpression ( ( '?' Expression ':' | '??' | '!??' ) Expression )?

referenced by:


BoolOrExpression:

BoolXorExpression || !||

BoolOrExpression
         ::= BoolXorExpression ( ( '||' | '!||' ) BoolXorExpression )*

referenced by:


BoolXorExpression:

BoolAndExpression >< !><

BoolXorExpression
         ::= BoolAndExpression ( ( '><' | '!><' ) BoolAndExpression )*

referenced by:


BoolAndExpression:

MathOrExpression && !&&

BoolAndExpression
         ::= MathOrExpression ( ( '&&' | '!&&' ) MathOrExpression )*

referenced by:


MathOrExpression:

MathXorExpression | !|

MathOrExpression
         ::= MathXorExpression ( ( '|' | '!|' ) MathXorExpression )*

referenced by:


MathXorExpression:

MathAndExpression ^ ^!|

MathXorExpression
         ::= MathAndExpression ( ( '^' | '^!|' ) MathAndExpression )*

referenced by:


MathAndExpression:

BoolEqualExpression & !&

MathAndExpression
         ::= BoolEqualExpression ( ( '&' | '!&' ) BoolEqualExpression )*

referenced by:


BoolEqualExpression:

BoolTestExpression == !=

BoolEqualExpression
         ::= BoolTestExpression ( ( '==' | '!=' ) BoolTestExpression )*

referenced by:


BoolTestExpression:

BoolRelExpression KwTestCmd SrcTree

BoolTestExpression
         ::= BoolRelExpression ( KwTestCmd SrcTree )?

referenced by:


BoolRelExpression:

MathShiftExpression < > <= >= !< !> !<= !>=

BoolRelExpression
         ::= MathShiftExpression ( ( '<' | '>' | '<=' | '>=' | '!<' | '!>' | '!<=' | '!>=' ) MathShiftExpression )*

referenced by:


MathShiftExpression:

MathAddExpression << >>> >>

MathShiftExpression
         ::= MathAddExpression ( ( '<<' | '>>>' | '>>' ) MathAddExpression )*

referenced by:


MathAddExpression:

MathMulExpression + - ~

MathAddExpression
         ::= MathMulExpression ( ( '+' | '-' | '~' ) MathMulExpression )*

referenced by:


MathMulExpression:

MathPowExpression * / %

MathMulExpression
         ::= MathPowExpression ( ( '*' | '/' | '%' ) MathPowExpression )*

referenced by:


MathPowExpression:

UnaryExpression ^^

MathPowExpression
         ::= UnaryExpression ( '^^' UnaryExpression )*

referenced by:


UnaryExpression:

! ~ + - parentof PrimaryExpression

UnaryExpression
         ::= ( '!' | '~' | '+' | '-' | 'parentof' )* PrimaryExpression

referenced by:


PrimaryExpression:

Literal CommandRun SrcTree ( Expression ) CommandCallExt CommandCall

PrimaryExpression
         ::= ( Literal | CommandRun | SrcTree | '(' Expression ')' ) CommandCallExt?
           | CommandCall

referenced by:


Literal:

StringLiteral CharacterLiteral IntegerLiteral FloatLiteral TemporalLiteral KwConstant KwForIdx KwForKey

Literal  ::= StringLiteral
           | CharacterLiteral
           | IntegerLiteral
           | FloatLiteral
           | TemporalLiteral
           | KwConstant
           | KwForIdx
           | KwForKey

referenced by:


Path:

PathIdentifier [ Expression ]

Path     ::= ( PathIdentifier | '[' Expression? ']' )+

referenced by:


SrcTreeBase:

KwTreeRO Path DstTree

SrcTreeBase
         ::= KwTreeRO Path?
           | DstTree

referenced by:


SrcTree:

SrcTreeBase DstTree CommandBlockSrc

SrcTree  ::= SrcTreeBase
           | DstTree? CommandBlockSrc

referenced by:


DstTree:

KwTreeRW Path Path

DstTree  ::= KwTreeRW Path?
           | Path

referenced by:



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