Definition of lexer ODLLexer, which is a subclass of CharScanner.
/** Lexer nextToken rule:
* The lexer nextToken rule is synthesized from all of the user-defined
* lexer rules. It logically consists of one big alternative block with
* each user-defined rule being an alternative.
*/
mSET_OPENING
| mSET_CLOSING
| mSEQUENCE_OPENING
| mSEQUENCE_CLOSING
| mLIST_SEPARATOR
| mPOINT_OPERATOR
| mEQUALS
| mCOMMENT
| mEOL
| mWS
| mELEMENT_IDENT
| mUNITS
| mNUMBER_OR_DATETIME
| mQUOTED
| mSYMBOL
mSET_OPENING
: '{'
;
mSET_CLOSING
: '}'
;
mSEQUENCE_OPENING
: '('
;
mSEQUENCE_CLOSING
: ')'
;
mLIST_SEPARATOR
: ','
;
mPOINT_OPERATOR
: '^'
;
mEQUALS
: '='
;
mCOMMENT
: "/*"
( '*'
| mEOL
| ( '*'
| '\n'
| '\r'
)
)*
"*/"
;
mEOL
: ( '\r'
( '\n'
|
)
| '\n'
)
;
mWS
: ( ' '
| '\t'
| '\f'
)
;
protected mIDENTIFIER
: mLETTER
( mLETTER
| mDIGIT
| '_'
)*
;
protected mLETTER
: ( 'a'..'z'
| 'A'..'Z'
)
;
protected mDIGIT
: ( '0'..'9' )
;
mELEMENT_IDENT
: mIDENTIFIER ':' mIDENTIFIER
| mIDENTIFIER
;
mUNITS
: '<'
( mWS
|
)
mLETTER
( mLETTER
| mDIGIT
| mSPECIALCHAR
| '('
| ')'
| '/'
| mWS
)*
'>'
;
protected mSPECIALCHAR
: ( '_'
| '$'
| '#'
| '.'
| '-'
| ':'
| '+'
| '*'
)
;
protected mUNITS_FACTOR
: mIDENTIFIER
( mEXP_OP mINTEGER
|
)
;
protected mEXP_OP
: "**"
;
protected mINTEGER
: ( mSIGN
|
)
mDIGITS
;
protected mMULT_OP
: ( '*'
| '/'
)
;
mNUMBER_OR_DATETIME
: mBASED_INTEGER
| mDATETIME
| mREAL
| mREAL
| mREAL
| mREAL
| mINTEGER
;
protected mDIGITS
: ( mDIGIT )+
;
protected mBASED_INTEGER
: mDIGITS '#'
( '+'
| '-'
|
)
( mEXTENDED_DIGIT )+ '#'
;
protected mDATETIME
: mYEAR '-' mMONTH '-' mDAY 'T' mTIME
| mYEAR '-' mDOY 'T' mTIME
| mDATE
;
protected mSIGN
: '+'
| '-'
;
protected mREAL
: ( mSIGN
|
)
( mDIGITS
|
)
'.'
( mDIGITS
|
)
( ( 'E'
| 'e'
)
mINTEGER
|
)
;
protected mEXTENDED_DIGIT
: mDIGIT
| mLETTER
;
protected mYEAR
: mDIGIT mDIGIT mDIGIT mDIGIT
;
protected mMONTH
: mDIGIT mDIGIT
;
protected mDAY
: mDIGIT mDIGIT
;
protected mTIME
: mHOUR
( ':' mMINUTE
( ':' mSECOND
( '.' mFRACTION
|
)
|
)
|
)
( 'Z'
|
)
;
protected mDOY
: mDIGIT mDIGIT mDIGIT
;
protected mDATE
: mYEAR '-' mDOY
| mYEAR
( '-' mMONTH
( '-' mDAY
|
)
|
)
;
protected mHOUR
: mDIGIT mDIGIT
;
protected mMINUTE
: mDIGIT mDIGIT
;
protected mSECOND
: mDIGIT mDIGIT
;
protected mFRACTION
: mDIGIT
( mDIGIT
( mDIGIT
( mDIGIT
( mDIGIT
( mDIGIT
|
)
|
)
|
)
|
)
|
)
;
mQUOTED
: '"'
( mEOL
| ( ( '"'
| '\r'
| '\n'
) )
)*
'"'
;
mSYMBOL
: '\'' ( ( '\''
| '\\'
| '\r'
| '\n'
) )* '\''
;
protected mIGNORE
: .
;