Grammar hierSysLexer
ANTLR-generated HTML file from /usr/src/packages/BUILD/v2/HierSysBuild/grammar/hierSys.g

Terence Parr, MageLang Institute
ANTLR Version 2.7.7 (20220722); 1989-2005


Definition of lexer hierSysLexer, 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.
 */
mLBRACE 
|	mRBRACE 
|	mLPAREN 
|	mRPAREN 
|	mIMPLIES 
|	mCOLON 
|	mUINT 
|	mLBRACKET 
|	mRBRACKET 
|	mMUX 
|	mVARIABLE 
|	mCONSTANT 
|	mASSIGNEQUAL 
|	mEQUAL 
|	mNOTEQUAL 
|	mLESS 
|	mLESSEQUAL 
|	mGREATER 
|	mGREATEREQUAL 
|	mSHL 
|	mSHR 
|	mROL 
|	mROR 
|	mCONCAT 
|	mPLUS 
|	mMINUS 
|	mMUL 
|	mDIV 
|	mNOT 
|	mOR 
|	mAND 
|	mXOR 
|	mNOR 
|	mNAND 
|	mXNOR 
|	mSYSTEM 
|	mIN 
|	mOUT 
|	mPIPE 
|	mLIFO 
|	mNOBLOCK 
|	mSHIFTREG 
|	mP2P 
|	mBYPASS 
|	mSIGNAL 
|	mINSTANCE 
|	mLIBRARY 
|	mDEPTH 
|	mTHREAD 
|	mSTRING 
|	mNuLL 
|	mEMIT 
|	mGOTO 
|	mLOG 
|	mINTEGER 
|	mUNSIGNED 
|	mSIGNED 
|	mARRAY 
|	mOF 
|	mIF 
|	mELSE 
|	mNOW 
|	mSPLIT 
|	mTICK 
|	mDEFAULT 
|	mREQ 
|	mACK 
|	mSLICE 
|	mPARAMETER 
|	mPOWER 
|	mBINARY 
|	mHEXADECIMAL 
|	mHEXCSTYLEINTEGER 
|	mUINTEGER 
|	mWHITESPACE 
|	mSINGLELINECOMMENT 
|	mSIMPLE_IDENTIFIER 
mLBRACE
	:	'{' 
	;

mRBRACE
	:	'}' 
	;

mLPAREN
	:	'(' 
	;

mRPAREN
	:	')' 
	;

mIMPLIES
	:	"=>" 
	;

mCOLON
	:	":" 
	;

mUINT
	:	"$uint" 
	;

mLBRACKET
	:	"[" 
	;

mRBRACKET
	:	"]" 
	;

mMUX
	:	"$mux" 
	;

mVARIABLE
	:	"$variable" 
	;

mCONSTANT
	:	"$constant" 
	;

mASSIGNEQUAL
	:	":=" 
	;

mEQUAL
	:	"==" 
	;

mNOTEQUAL
	:	"!=" 
	;

mLESS
	:	'<' 
	;

mLESSEQUAL
	:	"<=" 
	;

mGREATER
	:	">" 
	;

mGREATEREQUAL
	:	">=" 
	;

mSHL
	:	"<<" 
	;

mSHR
	:	">>" 
	;

mROL
	:	"<o<" 
	;

mROR
	:	">o>" 
	;

mCONCAT
	:	"&&" 
	;

mPLUS
	:	'+' 
	;

mMINUS
	:	'-' 
	;

mMUL
	:	'*' 
	;

mDIV
	:	'/' 
	;

mNOT
	:	'~' 
	;

mOR
	:	'|' 
	;

mAND
	:	'&' 
	;

mXOR
	:	'^' 
	;

mNOR
	:	"~|" 
	;

mNAND
	:	"~&" 
	;

mXNOR
	:	"~^" 
	;

mSYSTEM
	:	"$system" 
	;

mIN
	:	"$in" 
	;

mOUT
	:	"$out" 
	;

mPIPE
	:	"$pipe" 
	;

mLIFO
	:	"$lifo" 
	;

mNOBLOCK
	:	"$noblock" 
	;

mSHIFTREG
	:	"$shiftreg" 
	;

mP2P
	:	"$p2p" 
	;

mBYPASS
	:	"$bypass" 
	;

mSIGNAL
	:	"$signal" 
	;

mINSTANCE
	:	"$instance" 
	;

mLIBRARY
	:	"$library" 
	;

mDEPTH
	:	"$depth" 
	;

mTHREAD
	:	"$thread" 
	;

mSTRING
	:	"$string" 
	;

mNuLL
	:	"$null" 
	;

mEMIT
	:	"$emit" 
	;

mGOTO
	:	"$goto" 
	;

mLOG
	:	"$log" 
	;

mINTEGER
	:	"$integer" 
	;

mUNSIGNED
	:	"$unsigned" 
	;

mSIGNED
	:	"$signed" 
	;

mARRAY
	:	"$array" 
	;

mOF
	:	"$of" 
	;

mIF
	:	"$if" 
	;

mELSE
	:	"$else" 
	;

mNOW
	:	"$now" 
	;

mSPLIT
	:	"$split" 
	;

mTICK
	:	"$tick" 
	;

mDEFAULT
	:	"$default" 
	;

mREQ
	:	"$req" 
	;

mACK
	:	"$ack" 
	;

mSLICE
	:	"$slice" 
	;

mPARAMETER
	:	"$parameter" 
	;

mPOWER
	:	"**" 
	;

mBINARY
	:	"_b" 
		(	'0' 
		|	'1' 
		)+ 
	;

mHEXADECIMAL
	:	"_h" 
		(	mDIGIT 
		|	(	'a' 
			|	'b' 
			|	'c' 
			|	'd' 
			|	'e' 
			|	'f' 
			|	'A' 
			|	'B' 
			|	'C' 
			|	'D' 
			|	'E' 
			|	'F' 
			) 
		)+ 
	;

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

mHEXCSTYLEINTEGER
	:	"0x" 
		(	mDIGIT 
		|	(	'a' 
			|	'b' 
			|	'c' 
			|	'd' 
			|	'e' 
			|	'f' 
			|	'A' 
			|	'B' 
			|	'C' 
			|	'D' 
			|	'E' 
			|	'F' 
			) 
		)+ 
	;

mUINTEGER
	:	mDIGIT ( mDIGIT )* 
	;

mWHITESPACE
	:	(	' ' 
		|	'\t' 
		|	'\f' 
		|	'\r' 
		|	'\n' 
		) 
		
	;

mSINGLELINECOMMENT
	:	( "//" ( ~'\n' )* '\n' ) 
	;

mSIMPLE_IDENTIFIER
	:	mALPHA 
		(	mALPHA 
		|	mDIGIT 
		|	'_' 
		)* 
	;

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