| 1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859 |
- // Basic terminals for common use
- //
- // Numbers
- //
- DIGIT: "0".."9"
- HEXDIGIT: "a".."f"|"A".."F"|DIGIT
- INT: DIGIT+
- SIGNED_INT: ["+"|"-"] INT
- DECIMAL: INT "." INT? | "." INT
- // float = /-?\d+(\.\d+)?([eE][+-]?\d+)?/
- _EXP: ("e"|"E") SIGNED_INT
- FLOAT: INT _EXP | DECIMAL _EXP?
- SIGNED_FLOAT: ["+"|"-"] FLOAT
- NUMBER: FLOAT | INT
- SIGNED_NUMBER: ["+"|"-"] NUMBER
- //
- // Strings
- //
- _STRING_INNER: /.*?/
- _STRING_ESC_INNER: _STRING_INNER /(?<!\\)(\\\\)*?/
- ESCAPED_STRING : "\"" _STRING_ESC_INNER "\""
- //
- // Names (Variables)
- //
- LCASE_LETTER: "a".."z"
- UCASE_LETTER: "A".."Z"
- LETTER: UCASE_LETTER | LCASE_LETTER
- WORD: LETTER+
- CNAME: ("_"|LETTER) ("_"|LETTER|DIGIT)*
- //
- // Whitespace
- //
- WS_INLINE: (" "|/\t/)+
- WS: /[ \t\f\r\n]/+
- CR : /\r/
- LF : /\n/
- NEWLINE: (CR? LF)+
- // Comments
- SH_COMMENT: /#[^\n]*/
- CPP_COMMENT: /\/\/[^\n]*/
- C_COMMENT: "/*" /(.|\n)*?/ "*/"
- SQL_COMMENT: /--[^\n]*/
|