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

ODLParser Grammar

The following represents the grammar for the ODLParser class:

Definition of parser ODLParser, which is a subclass of LLkParser.


label
	:	(	statement 
		|	. ( ~EOL )* EOL 
		)* 
		(	END 
		|	
		) 
	;


statement
	:	simple_statement 
	|	group_statement 
	|	object_statement 
	;


simple_statement
	:	(	COMMENT 
		|	
		) 
		EOL 
	|	assignment_statement 
		(	COMMENT 
		|	
		) 
		EOL 
	|	pointer_statement 
		(	COMMENT 
		|	
		) 
		EOL 
	;


group_statement
	:	"GROUP" nl EQUALS nl IDENTIFIER 
		(	COMMENT 
		|	
		) 
		EOL 
		(	simple_statement 
		|	. ( ~EOL )* EOL 
		)* 
		END_GROUP 
		(	EQUALS IDENTIFIER 
		|	
		) 
		(	COMMENT 
		|	
		) 
		EOL 
	;


object_statement
	:	"OBJECT" nl EQUALS nl IDENTIFIER 
		(	COMMENT 
		|	
		) 
		EOL 
		(	statement 
		|	. ( ~EOL )* EOL 
		)* 
		END_OBJECT 
		(	EQUALS IDENTIFIER 
		|	
		) 
		(	COMMENT 
		|	
		) 
		EOL 
	;


assignment_statement
	:	(	ELEMENT_IDENT 
		|	IDENTIFIER 
		) 
		nl EQUALS nl value 
	;


pointer_statement
	:	POINT_OPERATOR assignment_statement 
	;


nl
	:	( EOL )* 
	;


value
	:	scalar_value 
	|	sequence_value 
	|	set_value 
	;


scalar_value
	:	numeric_value 
	|	date_time_value 
	|	text_string_value 
	|	symbol_value 
	;


sequence_value
	:	sequence_2d 
	|	sequence_1d 
	;


set_value
	:	SET_OPENING nl item_list SET_CLOSING 
	;


numeric_value
	:	INTEGER 
		(	UNITS 
		|	
		) 
		
	|	BASED_INTEGER 
		(	UNITS 
		|	
		) 
		
	|	REAL 
		(	UNITS 
		|	
		) 
		
	;


date_time_value
	:	DATE 
	|	DATETIME 
	;


text_string_value
	:	QUOTED 
	;


symbol_value
	:	IDENTIFIER 
	|	SYMBOL 
	;


sequence_2d
	:	SEQUENCE_OPENING nl sequence_list SEQUENCE_CLOSING 
	;


sequence_1d
	:	SEQUENCE_OPENING nl scalar_list SEQUENCE_CLOSING 
	;


scalar_list
	:	
	|	scalar_value nl ( (	LIST_SEPARATOR nl 
			|	
			) 
			scalar_value nl )* 
	;


sequence_list
	:	
	|	sequence_1d nl ( (	LIST_SEPARATOR nl 
			|	
			) 
			sequence_1d nl )* 
	;


item_list
	:	
	|	scalar_value nl ( (	LIST_SEPARATOR nl 
			|	
			) 
			scalar_value nl )* 
	;
      
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: 06 February 2009

+ Comments and Questions
spacer
spacer spacer spacer
spacer spacer spacer