[jboss-svn-commits] JBL Code SVN: r20048 - labs/jbossrules/branches/parser-rewrite/drools-compiler/src/main/resources/org/drools/lang.

jboss-svn-commits at lists.jboss.org jboss-svn-commits at lists.jboss.org
Mon May 19 13:44:28 EDT 2008


Author: porcelli
Date: 2008-05-19 13:44:27 -0400 (Mon, 19 May 2008)
New Revision: 20048

Added:
   labs/jbossrules/branches/parser-rewrite/drools-compiler/src/main/resources/org/drools/lang/Tree2TestDRL.g
Log:
Tree walker to be used on tests.

Copied: labs/jbossrules/branches/parser-rewrite/drools-compiler/src/main/resources/org/drools/lang/Tree2TestDRL.g (from rev 19914, labs/jbossrules/branches/parser-rewrite/drools-compiler/src/main/resources/org/drools/lang/TreeNewDRL.g)
===================================================================
--- labs/jbossrules/branches/parser-rewrite/drools-compiler/src/main/resources/org/drools/lang/Tree2TestDRL.g	                        (rev 0)
+++ labs/jbossrules/branches/parser-rewrite/drools-compiler/src/main/resources/org/drools/lang/Tree2TestDRL.g	2008-05-19 17:44:27 UTC (rev 20048)
@@ -0,0 +1,201 @@
+tree grammar Tree2TestDRL;
+
+options{
+	tokenVocab=DRL;
+	ASTLabelType=DroolsTree;
+	TokenLabelType=DroolsToken;
+}
+
+ at header {
+	package org.drools.lang;
+}
+
+compilation_unit
+	:	^(VT_COMPILATION_UNIT package_statement? statement*) 
+	;
+
+package_statement
+	:	^(VK_PACKAGE package_id)
+	;
+
+package_id
+	:	^(VT_PACKAGE_ID ID+)
+	;
+
+statement
+	:	rule_attribute
+	|	function_import_statement 
+	|	import_statement 
+	|	global 
+	|	function
+	|	template
+	|	rule
+	|	query
+	;
+
+import_statement
+	:	^(VK_IMPORT import_name)
+	;
+
+function_import_statement
+	:	^(VT_FUNCTION_IMPORT VK_FUNCTION import_name)
+	;
+
+import_name
+	:	^(VT_IMPORT_ID ID+ DOT_STAR?)
+	;
+
+global
+	:	^(VK_GLOBAL data_type VT_GLOBAL_ID)
+	;
+
+function
+	:	^(VK_FUNCTION data_type? VT_FUNCTION_ID parameters curly_chunk)
+	;
+
+query
+	:	^(VK_QUERY VT_QUERY_ID parameters? lhs_block END)
+	;
+
+parameters
+	:	^(VT_PARAM_LIST param_definition*)
+	;
+
+param_definition
+	:	data_type? argument
+	;
+
+argument
+	:	ID dimension_definition*
+	;
+
+
+template
+	:	^(VK_TEMPLATE VT_TEMPLATE_ID template_slot+ END)
+	;
+
+template_slot
+	:	^(VT_SLOT data_type VT_SLOT_ID)
+	;
+
+rule
+	:	^(VK_RULE VT_RULE_ID rule_attributes? when_part? VT_RHS_CHUNK)
+	;
+
+when_part
+	:	VK_WHEN lhs_block
+	;
+
+rule_attributes
+	:	^(VT_RULE_ATTRIBUTES VK_ATTRIBUTES? rule_attribute+)
+	;
+
+rule_attribute
+	:	^(VK_SALIENCE (INT|VT_PAREN_CHUNK)) 
+	|	^(VK_NO_LOOP BOOL?)  
+	|	^(VK_AGENDA_GROUP STRING)  
+	|	^(VK_DURATION INT)   
+	|	^(VK_ACTIVATION_GROUP STRING) 
+	|	^(VK_AUTO_FOCUS BOOL?) 
+	|	^(VK_DATE_EFFECTIVE STRING) 
+	|	^(VK_DATE_EXPIRES STRING) 
+	|	^(VK_ENABLED BOOL) 
+	|	^(VK_RULEFLOW_GROUP STRING) 
+	|	^(VK_LOCK_ON_ACTIVE BOOL?)
+	|	^(VK_DIALECT STRING)
+	;
+	
+lhs_block
+	:	^(VT_AND_IMPLICIT lhs*)
+	;
+
+lhs	:	^(VT_OR_PREFIX lhs+)
+	|	^(VT_OR_INFIX lhs lhs)
+	|	^(VT_AND_PREFIX lhs+)
+	|	^(VT_AND_INFIX lhs lhs)
+	|	^(VK_EXISTS lhs)
+	|	^(VK_NOT lhs)
+	|	^(VK_EVAL VT_PAREN_CHUNK)
+	|	^(VK_FORALL lhs+)
+	|	^(VK_FROM lhs_pattern from_elements)
+	|	lhs_pattern
+	;
+
+from_elements
+	:	^(VK_ACCUMULATE lhs (accumulate_init_clause|accumulate_id_clause))
+	|	^(VK_COLLECT lhs)
+	|	^(VK_ENTRY_POINT VT_ENTRYPOINT_ID)
+	|	^(VT_FROM_SOURCE ID VT_PAREN_CHUNK? expression_chain?)
+	;
+
+accumulate_init_clause
+	:	^(VT_ACCUMULATE_INIT_CLAUSE 
+			^(VK_INIT VT_PAREN_CHUNK) 
+			^(VK_ACTION VT_PAREN_CHUNK) 
+			accumulate_init_reverse_clause?
+			^(VK_RESULT VT_PAREN_CHUNK))
+	;
+
+accumulate_init_reverse_clause
+	:	^(VK_REVERSE VT_PAREN_CHUNK)
+	;
+
+
+accumulate_id_clause
+	:	^(VT_ACCUMULATE_ID_CLAUSE ID VT_PAREN_CHUNK)
+	;
+
+lhs_pattern
+	:	^(VT_PATTERN fact_expression)
+	;
+
+fact_expression
+	:	^(DOUBLE_PIPE fact_expression fact_expression)
+	|	^(DOUBLE_AMPER fact_expression fact_expression)
+	|	^(VT_FACT_BINDING VT_LABEL fact_expression)
+	|	^(VT_FACT data_type fact_expression*)
+	|	^(VT_FACT_OR fact_expression fact_expression)
+	|	^(VK_EVAL VT_PAREN_CHUNK)
+	|	^(VK_IN VK_NOT? fact_expression+)
+	|	^(EQUAL fact_expression)
+	|	^(GREATER fact_expression)
+	|	^(GREATER_EQUAL fact_expression)
+	|	^(LESS fact_expression)
+	|	^(LESS_EQUAL fact_expression)
+	|	^(NOT_EQUAL fact_expression)
+	|	^(VK_CONTAINS VK_NOT? fact_expression)
+	|	^(VK_EXCLUDES VK_NOT? fact_expression)
+	|	^(VK_MATCHES VK_NOT? fact_expression)
+	|	^(VK_SOUNDSLIKE VK_NOT? fact_expression)
+	|	^(VK_MEMBEROF VK_NOT? fact_expression)
+	|	^(ID VK_NOT? VT_SQUARE_CHUNK? fact_expression)
+	|	^(VT_BIND_FIELD VT_LABEL fact_expression)
+	|	^(VT_FIELD fact_expression fact_expression?)
+	|	^(VT_ACCESSOR_PATH accessor_element+)
+	|	STRING
+	|	INT
+	|	FLOAT
+	|	BOOL
+	|	NULL
+	|	VT_PAREN_CHUNK
+	;
+
+data_type
+	:	^(VT_DATA_TYPE ID+ dimension_definition*)
+	;
+
+dimension_definition
+	:	LEFT_SQUARE RIGHT_SQUARE
+	;
+
+accessor_element
+	:	^(VT_ACCESSOR_ELEMENT ID VT_SQUARE_CHUNK*)
+	;
+
+expression_chain
+	:	^(VT_EXPRESSION_CHAIN ID VT_SQUARE_CHUNK? VT_PAREN_CHUNK? expression_chain?)	
+	;
+
+curly_chunk
+	:	VT_CURLY_CHUNK
+	;
\ No newline at end of file




More information about the jboss-svn-commits mailing list