Grammar StitchLexer
ANTLR-generated HTML file from C:\eclipse\data\rainbow\org.sa.rainbow.lang\src\org\sa\rainbow\stitch\parser/stitchL.g

Terence Parr, MageLang Institute
ANTLR Version 2.7.6 (2005-12-22); 1989-2005


Definition of lexer StitchLexer, 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.
 */
mIDENTIFIER 
|	mDOT 
|	mMINUS 
|	mSL_COMMENT 
|	mNL 
|	mML_COMMENT 
|	mINTEGER_LIT 
|	mSTRING_LIT 
|	mDQUOTE 
|	mCHAR_LIT 
|	mSQUOTE 
|	mLPAREN 
|	mRPAREN 
|	mLBRACKET 
|	mRBRACKET 
|	mLBRACE 
|	mRBRACE 
|	mCOLON 
|	mSEMICOLON 
|	mCOMMA 
|	mBSLASH 
|	mBAR 
|	mHASH 
|	mAT 
|	mDOLLAR 
|	mASSIGN 
|	mPLUS_ASSIGN 
|	mMINUS_ASSIGN 
|	mSTAR_ASSIGN 
|	mDIV_ASSIGN 
|	mMOD_ASSIGN 
|	mCOLON_BANG 
|	mLOGICAL_OR 
|	mLOGICAL_AND 
|	mEQ 
|	mNE 
|	mLT 
|	mLE 
|	mGE 
|	mGT 
|	mPLUS 
|	mSTAR 
|	mSLASH 
|	mMOD 
|	mINCR 
|	mDECR 
|	mLOGICAL_NOT 
|	mIMPLIES 
|	mIFF 
|	mWS 
mIDENTIFIER
	:	( mUNDERSCORE )* mLETTER 
		(	mUNDERSCORE 
		|	mDOT 
		|	mLETTER 
		|	mDIGIT 
		|	mMINUS 
		)* 
	;

protected mUNDERSCORE
	:	'_' 
	;

protected mLETTER
	:			'A'..'Z' 
	|			'a'..'z' 
	;

mDOT
	:	'.' 
	;

protected mDIGIT
	:			'0'..'9' 
	;

mMINUS
	:	'-' 
	;

mSL_COMMENT
	:	"//" ( (	'\r' 
			|	'\n' 
			) )* mNL 
	;

mNL
	:	(	'\r' '\n' 
		|	'\r' 
		|	'\n' 
		) 
		
	;

mML_COMMENT
	:	"/*" 
		(	'*' 
		|	mNL 
		|	(	'*' 
			|	'\r' 
			|	'\n' 
			) 
		)* 
		"*/" 
	;

mINTEGER_LIT
	:	( mDIGIT )+ 
		(	mDOT ( mDIGIT )+ 
		|	
		) 
	;

mSTRING_LIT
	:	mDQUOTE ( ~'"' )* mDQUOTE 
	;

mDQUOTE
	:	'"' 
	;

mCHAR_LIT
	:	mSQUOTE ~'\'' mSQUOTE 
	;

mSQUOTE
	:	'\'' 
	;

mLPAREN
	:	'(' 
	;

mRPAREN
	:	')' 
	;

mLBRACKET
	:	'[' 
	;

mRBRACKET
	:	']' 
	;

mLBRACE
	:	'{' 
	;

mRBRACE
	:	'}' 
	;

mCOLON
	:	':' 
	;

mSEMICOLON
	:	';' 
	;

mCOMMA
	:	',' 
	;

mBSLASH
	:	'\\' 
	;

mBAR
	:	'|' 
	;

mHASH
	:	'#' 
	;

mAT
	:	'@' 
	;

mDOLLAR
	:	'$' 
	;

mASSIGN
	:	'=' 
	;

mPLUS_ASSIGN
	:	"+=" 
	;

mMINUS_ASSIGN
	:	"-=" 
	;

mSTAR_ASSIGN
	:	"*=" 
	;

mDIV_ASSIGN
	:	"/=" 
	;

mMOD_ASSIGN
	:	"%=" 
	;

mCOLON_BANG
	:	":!" 
	;

mLOGICAL_OR
	:	"||" 
	;

mLOGICAL_AND
	:	"&&" 
	;

mEQ
	:	"==" 
	;

mNE
	:	"!=" 
	;

mLT
	:	"<" 
	;

mLE
	:	"<=" 
	;

mGE
	:	">=" 
	;

mGT
	:	">" 
	;

mPLUS
	:	'+' 
	;

mSTAR
	:	'*' 
	;

mSLASH
	:	'/' 
	;

mMOD
	:	'%' 
	;

mINCR
	:	"++" 
	;

mDECR
	:	"--" 
	;

mLOGICAL_NOT
	:	'!' 
	;

mIMPLIES
	:	"->" 
	;

mIFF
	:	"<->" 
	;

mWS
	:	(	' ' 
		|	'\t' 
		) 
		
	;