spacer spacer spacer
spacer spacer spacer
spacer
NASA Jet Propulsion Laboratory, California Institute of Technology Vertical Bar + NASA Homepage

+ NASA en Español

+ Contact NASA

ODLLexer Grammar

The following represents the grammar for the ODLLexer class:

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
	:	. 
	;
      
FirstGov Logo
+ Freedom of Information Act

+ NASA 2003 Strategic Plan

+ NASA Privacy Statement, Disclaimer, and

   Accessiblity Certification


+ Copyright/Image Use Policy
NASA Logo
Curator: Emily.S.Law

NASA Official: William Knopf

Last Updated: 24 July 2008

+ Comments and Questions
spacer
spacer spacer spacer
spacer spacer spacer