123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126 |
- lexer grammar ReportLexer;
- Cell : LETTER DIGIT+ ;
- Operator : '+'
- | '-'
- | '*'
- | '/'
- | '%'
- ;
-
- OP : '>'
- | '<'
- | '=='
- | '!='
- | '>='
- | '<='
- | 'in'
- | 'not in'
- | 'not in'
- | 'like'
- ;
-
- ORDER : 'desc' | 'asc' ;
- BOOLEAN : 'true' | 'false' ;
- COLON : ':';
- COMMA : ',' ;
- NULL : 'null';
- LeftParen : '(' ;
- RightParen : ')' ;
- STRING : '"' STRING_CONTENT '"'
- | '\'' STRING_CONTENT '\''
- ;
- AND : 'and' | '&&' ;
- OR : 'or' | '||' ;
- INTEGER : ('-')? DIGIT+;
- NUMBER
- :
- '-'? DIGIT+ '.' DIGIT+ EXP? // ('-'? INT '.' INT EXP?)1.35, 1.35E-9, 0.3, -4.5
- | '-'? DIGIT+ EXP // 1e10 -3e4
- | '-'? DIGIT+ // -3, 45
- ;
- EXCLAMATION : '!';
- EXP
- :
- [Ee] [+\-]? DIGIT+
- ;
- Identifier : StartChar Char* ;
- LETTER : [A-Z]+ ;
- Char : StartChar
- | '-' | '_' | DIGIT
- | '\u00B7'
- | '\u0300'..'\u036F'
- | '\u203F'..'\u2040'
- ;
- DIGIT : [0-9];
- fragment
- STRING_CONTENT :
- ( EscapeSequence | ~('"'|'\''))*
- ;
- fragment
- EscapeSequence
- : '\\' ('b'|'t'|'n'|'f'|'r'|'\"'|'\''|'\\')
- | UnicodeEscape
- | OctalEscape
- ;
- fragment
- OctalEscape
- : '\\' ('0'..'3') ('0'..'7') ('0'..'7')
- | '\\' ('0'..'7') ('0'..'7')
- | '\\' ('0'..'7')
- ;
- fragment
- UnicodeEscape
- :
- '\\' 'u' HEX HEX HEX HEX
- ;
- fragment
- HEX
- :
- [0-9a-fA-F]
- ;
- fragment
- StartChar
- : [a-zA-Z]
- | '\u2070'..'\u218F'
- | '\u2C00'..'\u2FEF'
- | '\u3001'..'\uD7FF'
- | '\uF900'..'\uFDCF'
- | '\uFDF0'..'\uFFFD'
- ;
- WS
- :
- [ \t\r\n]+ -> channel(HIDDEN)
- ;
-
- NL
- :
- '\r'? '\n' ->channel(HIDDEN)
- ;
|