|
Grammar IDLLexer ANTLR-generated HTML file from idl.g
Terence Parr, MageLang Institute
|
Definition of lexer IDLLexer, 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.
*/
mSEMI
| mQUESTION
| mLPAREN
| mRPAREN
| mLBRACK
| mRBRACK
| mLCURLY
| mRCURLY
| mOR
| mXOR
| mAND
| mCOLON
| mCOMMA
| mDOT
| mASSIGN
| mNOT
| mLT
| mLSHIFT
| mGT
| mRSHIFT
| mDIV
| mPLUS
| mMINUS
| mTILDE
| mSTAR
| mMOD
| mSCOPEOP
| mUNDERLINE
| mWS
| mPREPROC_DIRECTIVE
| mSL_COMMENT
| mML_COMMENT
| mCHAR_LITERAL
| mWIDE_CHAR_LITERAL
| mSTRING_LITERAL
| mWIDE_STRING_LITERAL
| mHEX
| mINT
| mOCTAL
| mFLOAT
| mIDENT
| mESCAPED_IDENT
mSEMI
: ';'
;
mQUESTION
: '?'
;
mLPAREN
: '('
;
mRPAREN
: ')'
;
mLBRACK
: '['
;
mRBRACK
: ']'
;
mLCURLY
: '{'
;
mRCURLY
: '}'
;
mOR
: '|'
;
mXOR
: '^'
;
mAND
: '&'
;
mCOLON
: ':'
;
mCOMMA
: ','
;
mDOT
: '.'
;
mASSIGN
: '='
;
mNOT
: '!'
;
mLT
: '<'
;
mLSHIFT
: "<<"
;
mGT
: '>'
;
mRSHIFT
: ">>"
;
mDIV
: '/'
;
mPLUS
: '+'
;
mMINUS
: '-'
;
mTILDE
: '~'
;
mSTAR
: '*'
;
mMOD
: '%'
;
mSCOPEOP
: "::"
;
mUNDERLINE
: "_"
;
mWS
: ( ' '
| '\t'
| '\n'
| '\r'
)
;
mPREPROC_DIRECTIVE
: '#' ( ~'\n' )* '\n'
;
mSL_COMMENT
: "//" ( ~'\n' )* '\n'
;
mML_COMMENT
: "/*"
( '\n'
| ( '*' )+
( '\n'
| ( '*'
| '/'
| '\n'
)
)
| ( '*'
| '\n'
)
)*
"*/"
;
mCHAR_LITERAL
: '\''
( mESC
| ~'\''
)
'\''
;
protected mESC
: '\\'
( 'n'
| 't'
| 'v'
| 'b'
| 'r'
| 'f'
| 'a'
| '\\'
| '?'
| '\''
| '"'
| mOCTDIGIT
( mOCTDIGIT
( mOCTDIGIT
|
)
|
)
| 'x' mHEXDIGIT
( mHEXDIGIT
|
)
| 'u' mHEXDIGIT
( mHEXDIGIT
( mHEXDIGIT
( mHEXDIGIT
|
)
|
)
|
)
)
;
mWIDE_CHAR_LITERAL
: 'L' mCHAR_LITERAL
;
mSTRING_LITERAL
: '"'
( mESC
| ~'"'
)*
'"'
;
mWIDE_STRING_LITERAL
: 'L' mSTRING_LITERAL
;
protected mOCTDIGIT
: '0'..'7'
;
protected mHEXDIGIT
: ( '0'..'9'
| 'a'..'f'
| 'A'..'F'
)
;
protected mVOCAB
: '\3'..'\377'
;
protected mDIGIT
: '0'..'9'
;
protected mNONZERODIGIT
: '1'..'9'
;
mHEX
: ( "0x"
| "0X"
)
( mHEXDIGIT )+
;
mINT
: mNONZERODIGIT ( mDIGIT )*
( '.' ( mDIGIT )*
( ( ( 'e'
| 'E'
)
( '+'
| '-'
|
)
( mDIGIT )+ )
| ( 'd'
| 'D'
)
|
)
| ( 'e'
| 'E'
)
( '+'
| '-'
|
)
( mDIGIT )+
| ( 'd'
| 'D'
)
|
)
;
mOCTAL
: '0'
( ( mDIGIT )+
| mFLOAT
| ( 'd'
| 'D'
)
|
)
;
mFLOAT
: '.' ( mDIGIT )+
( ( 'e'
| 'E'
)
( '+'
| '-'
|
)
( mDIGIT )+
| ( 'd'
| 'D'
)
|
)
;
mIDENT
: ( 'a'..'z'
| 'A'..'Z'
)
( 'a'..'z'
| 'A'..'Z'
| '_'
| '0'..'9'
)*
;
mESCAPED_IDENT
: '_'
( 'a'..'z'
| 'A'..'Z'
)
( 'a'..'z'
| 'A'..'Z'
| '_'
| '0'..'9'
)*
;