Grammar mn8Lexer
ANTLR-generated HTML file from mn8.g

Terence Parr, MageLang Institute
ANTLR Version 2.7.1; 1989-1999

	
	package org.media.mn8.parser;
	
	import org.media.mn8.*;
	import org.media.mn8.concepts.*;
	import java.util.Vector;
	import antlr.CommonAST;
	

/** 
 * The lexer for mn8.
 * This class is automaticaly generated by 
 * ANTLR.
 * @author Remus Pereni
 * @version $Revision: 1.78 $ $Date: 2002/10/22 19:22:41 $
 */
class mn8Lexer extends 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.
 */
mQUESTION 
|	mLPAREN 
|	mRPAREN 
|	mLBRACK 
|	mRBRACK 
|	mLCURLY 
|	mRCURLY 
|	mCOLON 
|	mCOMMA 
|	mPLUS_ASSIGN 
|	mASSIGN 
|	mEQUAL 
|	mNOT_EQUAL 
|	mNOT 
|	mDIV_ASSIGN 
|	mPLUS 
|	mINC 
|	mMINUS 
|	mMINUS_ASSIGN 
|	mDEC 
|	mSTAR 
|	mSTAR_ASSIGN 
|	mMOD 
|	mMOD_ASSIGN 
|	mGE 
|	mGT 
|	mLE 
|	mLT 
|	mSEMI 
|	mATTR 
|	mDIV 
|	mLCONT 
|	mWS 
|	mEOL 
|	mSL_COMMENT 
|	mCHAR_LITERAL 
|	mSTRING_LITERAL 
|	mNUM_INT 
|	mIDENT 
mQUESTION
	:	'?' 
	;

mLPAREN
	:	'(' 
	;

mRPAREN
	:	')' 
	;

mLBRACK
	:	'[' 
	;

mRBRACK
	:	']' 
	;

mLCURLY
	:	'{' 
	;

mRCURLY
	:	'}' 
	;

mCOLON
	:	':' 
	;

mCOMMA
	:	',' 
	;

mPLUS_ASSIGN
	:	"+=" 
	;

mASSIGN
	:	'=' 
	;

mEQUAL
	:	"==" 
	;

mNOT_EQUAL
	:	"!=" 
	;

mNOT
	:	"!" 
	;

mDIV_ASSIGN
	:	"/=" 
	;

mPLUS
	:	'+' 
	;

mINC
	:	"++" 
	;

mMINUS
	:	'-' 
	;

mMINUS_ASSIGN
	:	"-=" 
	;

mDEC
	:	"--" 
	;

mSTAR
	:	'*' 
	;

mSTAR_ASSIGN
	:	"*=" 
	;

mMOD
	:	'%' 
	;

mMOD_ASSIGN
	:	"%=" 
	;

mGE
	:	">=" 
	;

mGT
	:	">" 
	;

mLE
	:	"<=" 
	;

mLT
	:	'<' 
	;

mSEMI
	:	';' 
	;

mATTR
	:	'@' 
	;

mDIV
	:	'/' 
	;

mLCONT
	:	'\\' ( mWS )* mEOL 
	;

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

mEOL
	:	(	"\r\n" 
		|	'\r' 
		|	'\n' 
		) 
		
	;

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

mCHAR_LITERAL
	:	'\'' 
		(	mESC 
		|	~'\'' 
		) 
		'\'' 
	;

protected mESC
	:	'\\' 
		(	'n' 
		|	'r' 
		|	't' 
		|	'b' 
		|	'f' 
		|	'"' 
		|	'\'' 
		|	'\\' 
		|	( 'u' )+ mHEX_DIGIT mHEX_DIGIT mHEX_DIGIT mHEX_DIGIT 
		|	( 				'0'..'3' ) 
			(	( 					'0'..'7' ) 
				(						'0'..'7' 
				|	
				) 
			|	
			) 
		|	( 				'4'..'7' ) 
			(	( 					'0'..'9' ) 
			|	
			) 
		) 
		
	;

mSTRING_LITERAL
	:	'"' 
		(	mESC 
		|	(	'"' 
			|	'\\' 
			) 
		)* 
		'"' 
	;

protected mHEX_DIGIT
	:	(				'0'..'9' 
		|				'a'..'f' 
		) 
		
	;

mNUM_INT
	:	".." 
	|	'.' 
		(	( 				'0'..'9' )+ 
			(	mEXPONENT 
			|	
			) 
			
		|	
		) 
	|	(	'0' 
		|	( 				'1'..'9' ) ( 				'0'..'9' )* 
		) 
		(				{ !(LA(1) == '.' && (LA(2) == '.' || Character.isLetter(LA(2)))) }?
(	'.' ( 					'0'..'9' )* 
				(	mEXPONENT 
				|	
				) 
			|	mEXPONENT 
			) 
			
		|	
		) 
		
	;

protected mEXPONENT
	:	'e' 
		(	'+' 
		|	'-' 
		|	
		) 
		( 			'0'..'9' )+ 
	;

protected mVOCAB
	:			'\3'..'\377' 
	;

mIDENT
	:	(				'a'..'z' 
		|	'_' 
		|	'$' 
		) 
		(				'a'..'z' 
		|	'_' 
		|				'0'..'9' 
		|	':' 
		)* 
		
	;