[jboss-svn-commits] JBL Code SVN: r32808 - in labs/jbossrules/branches/DRLv6: src/main/resources and 1 other directories.

jboss-svn-commits at lists.jboss.org jboss-svn-commits at lists.jboss.org
Mon May 10 21:25:17 EDT 2010


Author: dsotty
Date: 2010-05-10 21:25:16 -0400 (Mon, 10 May 2010)
New Revision: 32808

Modified:
   labs/jbossrules/branches/DRLv6/out/DRLv6Log.txt
   labs/jbossrules/branches/DRLv6/src/main/resources/DRLv6Lexer.g
   labs/jbossrules/branches/DRLv6/src/main/resources/DRLv6Parser.g
   labs/jbossrules/branches/DRLv6/src/test/java/org/drools/lang/Rule_Test.java
Log:


Modified: labs/jbossrules/branches/DRLv6/out/DRLv6Log.txt
===================================================================
--- labs/jbossrules/branches/DRLv6/out/DRLv6Log.txt	2010-05-10 23:12:56 UTC (rev 32807)
+++ labs/jbossrules/branches/DRLv6/out/DRLv6Log.txt	2010-05-11 01:25:16 UTC (rev 32808)
@@ -2,7 +2,7 @@
 compilation_unit
 **************************************
 >>>> RESULT :  SUCCESS 
->> TIME to parse 8
+>> TIME to parse 7
 >> SOURCE : 
 package org.pack.subpack;
 import org.klass;
@@ -63,7 +63,7 @@
 package_statement
 **************************************
 >>>> RESULT :  SUCCESS 
->> TIME to parse 0
+>> TIME to parse 1
 >> SOURCE : 
 package simplePack
 >> OUTPUT : 
@@ -76,7 +76,7 @@
 global
 **************************************
 >>>> RESULT :  SUCCESS 
->> TIME to parse 0
+>> TIME to parse 1
 >> SOURCE : 
 global int N 
 >> OUTPUT : 
@@ -146,7 +146,7 @@
 data_type
 **************************************
 >>>> RESULT :  SUCCESS 
->> TIME to parse 0
+>> TIME to parse 1
 >> SOURCE : 
 int[][][]
 >> OUTPUT : 
@@ -157,7 +157,7 @@
 import_statement
 **************************************
 >>>> RESULT :  SUCCESS 
->> TIME to parse 0
+>> TIME to parse 1
 >> SOURCE : 
 import jav.lang.String
 >> OUTPUT : 
@@ -170,7 +170,7 @@
 import_statement
 **************************************
 >>>> RESULT :  SUCCESS 
->> TIME to parse 1
+>> TIME to parse 0
 >> SOURCE : 
 import Test ; 
 >> OUTPUT : 
@@ -196,7 +196,7 @@
 function_import_statement
 **************************************
 >>>> RESULT :  SUCCESS 
->> TIME to parse 1
+>> TIME to parse 0
 >> SOURCE : 
 import function org.pack.square
 >> OUTPUT : 
@@ -209,7 +209,7 @@
 function
 **************************************
 >>>> RESULT :  SUCCESS 
->> TIME to parse 2
+>> TIME to parse 1
 >> SOURCE : 
 function float square( float x ) { ... x*x ... }
 >> OUTPUT : 
@@ -249,7 +249,7 @@
 parameters
 **************************************
 >>>> RESULT :  SUCCESS 
->> TIME to parse 1
+>> TIME to parse 0
 >> SOURCE : 
 ( int a, org.klass.AnType obj, String[][] argz )
 >> OUTPUT : 
@@ -272,7 +272,7 @@
 type_declaration
 **************************************
 >>>> RESULT :  SUCCESS 
->> TIME to parse 2
+>> TIME to parse 1
 >> SOURCE : 
 declare Student
  @role(entity) 
@@ -344,7 +344,7 @@
 type_declaration
 **************************************
 >>>> RESULT :  SUCCESS 
->> TIME to parse 1
+>> TIME to parse 2
 >> SOURCE : 
 declare HasSpouse 
 @role(property) 
@@ -410,7 +410,7 @@
 type_declare_attribute
 **************************************
 >>>> RESULT :  SUCCESS 
->> TIME to parse 1
+>> TIME to parse 0
 >> SOURCE : 
 @role(entity)
 >> OUTPUT : 
@@ -443,7 +443,7 @@
 type_declare_attribute
 **************************************
 >>>> RESULT :  SUCCESS 
->> TIME to parse 0
+>> TIME to parse 1
 >> SOURCE : 
 @subclass(Type)
 >> OUTPUT : 
@@ -485,7 +485,7 @@
 type_declare_attribute
 **************************************
 >>>> RESULT :  SUCCESS 
->> TIME to parse 1
+>> TIME to parse 0
 >> SOURCE : 
 @transitive
 >> OUTPUT : 
@@ -505,7 +505,7 @@
 decl_field
 **************************************
 >>>> RESULT :  SUCCESS 
->> TIME to parse 1
+>> TIME to parse 0
 >> SOURCE : 
 field = (...) : datatype[][] @[key]
 >> OUTPUT : 
@@ -524,7 +524,7 @@
 rule
 **************************************
 >>>> RESULT :  SUCCESS 
->> TIME to parse 1
+>> TIME to parse 0
 >> SOURCE : 
 rule "ruleName" extends "anotherRule" 
  salience 100 
@@ -651,7 +651,7 @@
 rule_attribute
 **************************************
 >>>> RESULT :  SUCCESS 
->> TIME to parse 1
+>> TIME to parse 0
 >> SOURCE : 
 agenda-group "act-group"
 >> OUTPUT : 
@@ -717,7 +717,7 @@
 rule_attribute
 **************************************
 >>>> RESULT :  SUCCESS 
->> TIME to parse 1
+>> TIME to parse 0
 >> SOURCE : 
 deductive
 >> OUTPUT : 
@@ -744,7 +744,7 @@
 rule_attribute
 **************************************
 >>>> RESULT :  SUCCESS 
->> TIME to parse 1
+>> TIME to parse 0
 >> SOURCE : 
 deduction @[crisp]
 >> OUTPUT : 
@@ -781,7 +781,6 @@
 default,
 defeat,
 merge="mStrat", 
-filter="fStrat", 
 missing="sStrat" 
 ]
 >> OUTPUT : 
@@ -797,8 +796,6 @@
 		) crisp default defeat 
 		(merge = "mStrat"
 		) 
-		(filter = "fStrat"
-		) 
 		(missing = "sStrat"
 		)
 	)
@@ -806,7 +803,7 @@
 rule
 **************************************
 >>>> RESULT :  SUCCESS 
->> TIME to parse 2
+>> TIME to parse 3
 >> SOURCE : 
 rule test when Bus() Car() Taxi()then end
 >> OUTPUT : 
@@ -833,7 +830,7 @@
 rule
 **************************************
 >>>> RESULT :  SUCCESS 
->> TIME to parse 0
+>> TIME to parse 1
 >> SOURCE : 
 rule test when $p : Person() implies @[kind="anImpl"] Dog()then end
 >> OUTPUT : 
@@ -903,7 +900,7 @@
 rule
 **************************************
 >>>> RESULT :  SUCCESS 
->> TIME to parse 0
+>> TIME to parse 1
 >> SOURCE : 
 rule test when $p : Person() xor Dog()then end
 >> OUTPUT : 
@@ -930,7 +927,7 @@
 rule
 **************************************
 >>>> RESULT :  SUCCESS 
->> TIME to parse 1
+>> TIME to parse 0
 >> SOURCE : 
 rule test when (Person() xor Dog()) equiv Cat()then end
 >> OUTPUT : 
@@ -963,7 +960,7 @@
 rule
 **************************************
 >>>> RESULT :  SUCCESS 
->> TIME to parse 0
+>> TIME to parse 1
 >> SOURCE : 
 rule test when Car() and Taxi() and Bus()then end
 >> OUTPUT : 
@@ -1288,7 +1285,7 @@
 rule
 **************************************
 >>>> RESULT :  SUCCESS 
->> TIME to parse 1
+>> TIME to parse 0
 >> SOURCE : 
 rule "r" when forall  ( $p : Person()                (Person() Dog()) ) then end
 >> OUTPUT : 
@@ -1404,7 +1401,7 @@
 rule
 **************************************
 >>>> RESULT :  SUCCESS 
->> TIME to parse 3
+>> TIME to parse 2
 >> SOURCE : 
 rule "r" when Person( "john" , 18, height > 150) then end
 >> OUTPUT : 
@@ -1499,6 +1496,18 @@
 	(VT_NEW_OBJ 
 		(VT_TYPE Obj
 		) 
-		(VT_ARGS 12 - 13 * $var * 2 + sqrt 4
+		(VT_ARGS 
+			(- 12 
+				(* 13 
+					(+ 
+						(* $var 2
+						) 
+						(sqrt 
+							(VT_ARGS 4
+							)
+						)
+					)
+				)
+			)
 		)
 	)

Modified: labs/jbossrules/branches/DRLv6/src/main/resources/DRLv6Lexer.g
===================================================================
--- labs/jbossrules/branches/DRLv6/src/main/resources/DRLv6Lexer.g	2010-05-10 23:12:56 UTC (rev 32807)
+++ labs/jbossrules/branches/DRLv6/src/main/resources/DRLv6Lexer.g	2010-05-11 01:25:16 UTC (rev 32808)
@@ -165,10 +165,12 @@
 OA_MERGE
   : 'merge'
   ;   
-    
+
+/*    
 OA_FILTER
   : 'filter'
   ;
+*/
 
 OA_MISSING
   : 'missing'
@@ -273,6 +275,10 @@
 EXTEND  
   : 'extends'
   ;
+  
+FILTER
+  : 'filter'
+  ;  
  
 FORALL
   : 'forall'
@@ -566,6 +572,10 @@
   : '!='
   ;
 
+PIPE
+  : '|'
+  ;
+
 PLUS
   : '+'
   ;
@@ -647,7 +657,7 @@
   
 MISC  :
     //'!' | '%' | '^' | '*' | '-' | '+'  | '?' | '/' | '\'' | '\\' | '|' | '&' 
-    '!' | '%' | '^' | '\'' | '\\' | '|' | '&' 
+    '!' | '%' | '^' | '\'' | '\\' | '&' 
   ;
  
 

Modified: labs/jbossrules/branches/DRLv6/src/main/resources/DRLv6Parser.g
===================================================================
--- labs/jbossrules/branches/DRLv6/src/main/resources/DRLv6Parser.g	2010-05-10 23:12:56 UTC (rev 32807)
+++ labs/jbossrules/branches/DRLv6/src/main/resources/DRLv6Parser.g	2010-05-11 01:25:16 UTC (rev 32808)
@@ -69,6 +69,8 @@
   VT_FIELD;
   VT_EXPR;
   
+  VT_FILTER;
+  
   VT_LIST;
   
   VT_BEHAVIOR;
@@ -633,7 +635,7 @@
   ;
   
 lhs_unary
-  : lhs_modified_unary  
+  : lhs_modified_unary filter_chain?
   |   lhs_query
   ;
 
@@ -697,11 +699,22 @@
   ;  
 
 lhs_atom_pattern
-  : ID LEFT_PAREN constraints? RIGHT_PAREN operator_attributes? over_clause? from?
-  -> ^(VT_AND operator_attributes? VT_ENABLED ^(VT_PATTERN ID) constraints? over_clause? from?)
+  : ID LEFT_PAREN constraints? RIGHT_PAREN operator_attributes? /*over_clause?*/ from?
+  -> ^(VT_AND operator_attributes? VT_ENABLED ^(VT_PATTERN ID) constraints? /*over_clause?*/ from?)
   ;
 
 
+
+
+filter_chain
+  :   PIPE filter filter_chain?
+  -> ^(VT_FILTER ID filter_chain?)
+  ;
+  
+filter
+  :   over_clause
+  |   FILTER ID  
+  ;
 /*********************************************** INSIDE PATTERN *****************************************/
 
 
@@ -732,8 +745,8 @@
 }
   : literal  
     -> ^(VT_POSITIONAL_CONST VT_POSITIONAL_INDEX[$start,idx] literal)   
-  | VAR 
-    -> ^(VT_POSITIONAL_VAR VT_POSITIONAL_INDEX[$start,idx] VAR) 
+  | var_literal 
+    -> ^(VT_POSITIONAL_VAR VT_POSITIONAL_INDEX[$start,idx] var_literal) 
   ;
                 
 slotted_constraint
@@ -747,21 +760,40 @@
 k=6;
 }
     :   STRING 
-    |   INT  
-    |   FLOAT 
+    |   INT msr_unit? 
+    |   FLOAT msr_unit?
     |   BOOL 
     |   NULL 
     | literal_object
     | list 
     ;
     
+    
+var
+    :   VAR
+    ;    
+    
+    
+var_literal
+    :   VAR msr_unit?
+    ;    
+    
+msr_unit
+    :   GATE ID conversion*
+    ;
+   
+conversion
+    :   COLON ID
+    ;    
+        
+    
 list
   : LEFT_CURLY list_members? RIGHT_CURLY  
     ->^(VT_LIST list_members?)  
   ; 
 
 list_members
-  : (literal|VAR) (COMMA! (literal|VAR))*
+  : (literal|var_literal) (COMMA! (literal|var_literal))*
   ;
     
   
@@ -787,19 +819,19 @@
 
 // method expr roots can't start with () and have a slightly simpler structure than outer expressions
 method_expr_root
-  : method_expr_atom  ( (PLUS | MINUS) method_factor )*
+  : method_expr_atom  ( (PLUS | MINUS)^ method_factor )*
   ;
 
 method_expr_recur
-  : method_factor  ( (PLUS | MINUS) method_factor )*
+  : method_factor  ( (PLUS | MINUS)^ method_factor )*
   ;
    
 method_factor
-  : method_term ( (TIMES | SLASH) method_term )*  
+  : method_term ( (TIMES | SLASH)^ method_term )*  
   ; 
       
 method_term
-  : MINUS? method_expr_unary  
+  : MINUS^? method_expr_unary  
   ; 
   
 method_expr_unary
@@ -808,13 +840,15 @@
   ; 
   
 method_expr_atom
-  : VAR
+  : var_literal
   | literal   
-  | method
+  | method 
   ; 
   
 method
-  : ID LEFT_PAREN! method_args? RIGHT_PAREN!
+  : ID LEFT_PAREN args=method_args? RIGHT_PAREN msr_unit?
+  -> {args==null}? ^(ID msr_unit? )
+  -> ^(ID msr_unit? ^(VT_ARGS method_args?))
   ;
 
 
@@ -1001,9 +1035,9 @@
   : label
     ( 
       left_expr_atom 
-      -> ^(VT_BINDING VAR ^(VT_FIELD left_expr_atom))
+      -> ^(VT_BINDING label ^(VT_FIELD left_expr_atom))
       | LEFT_PAREN left_expr_root RIGHT_PAREN 
-      -> ^(VT_BINDING VAR ^(VT_EXPR left_expr_root))
+      -> ^(VT_BINDING label ^(VT_EXPR left_expr_root))
     )
   | left_expr_root
     -> ^(VT_EXPR left_expr_root)
@@ -1016,7 +1050,7 @@
 
 expr_atom
   : accessor_path 
-  |   VAR
+  |   var_literal
   | literal
   ; 
    
@@ -1047,7 +1081,7 @@
 
 accessor_path
   :   accessor (DOT! accessor)*
-  | VAR (DOT! accessor)+
+  | var (DOT! accessor)+
   ;
 
 /* 
@@ -1222,7 +1256,7 @@
 
 
 label
-  : VAR COLON
+  : var COLON
   ;
 
 
@@ -1381,7 +1415,7 @@
 rhs_retract
   : RETRACT^ 
     ( literal_object
-    | VAR
+    | var
     )
     SEMICOLON!
   ;
@@ -1389,19 +1423,19 @@
 rhs_retract_logical
   : RETRACT_LOG^
     ( literal_object
-    | VAR
+    | var
     )
     SEMICOLON!
   ;
 
 rhs_update
   : UPDATE^
-      VAR
+      var
     SEMICOLON!  
   ;
 
 rhs_modify
-  : MODIFY^ LEFT_PAREN! VAR RIGHT_PAREN! 
+  : MODIFY^ LEFT_PAREN! var RIGHT_PAREN! 
     LEFT_CURLY!
       accessor_path
       (COMMA! accessor_path)*

Modified: labs/jbossrules/branches/DRLv6/src/test/java/org/drools/lang/Rule_Test.java
===================================================================
--- labs/jbossrules/branches/DRLv6/src/test/java/org/drools/lang/Rule_Test.java	2010-05-10 23:12:56 UTC (rev 32807)
+++ labs/jbossrules/branches/DRLv6/src/test/java/org/drools/lang/Rule_Test.java	2010-05-11 01:25:16 UTC (rev 32808)
@@ -227,7 +227,7 @@
 	}
 	
 	
-	@Test	
+	@Test		
 	public void test_rule() {
 		String rule = "rule";
 		String[] testDRL = {
@@ -239,6 +239,9 @@
 				"then" + "\n" +
 				"end" + "\n" 	
 		};
+		
+		
+		String test2;
 				
 		check(rule,testDRL);										
 	}
@@ -289,7 +292,7 @@
 				"default," + "\n" +
 				"defeat," + "\n" +
 				"merge=\"mStrat\", " + "\n" +
-				"filter=\"fStrat\", " + "\n" +
+				//"filter=\"fStrat\", " + "\n" +		//TODO: removed "filter" from here
 				"missing=\"sStrat\" " + "\n" +
 				"]",				
 		};
@@ -533,35 +536,18 @@
 		check(rule,testDRL);										
 	}
 	
-	/*
-	method_expr_root
-	  : method_expr_atom  ( (PLUS | MINUS) method_factor )*
-	  ;
-	   
-	method_factor
-	  : method_term ( (TIMES | SLASH) method_term )*  
-	  ; 
-	      
-	method_term
-	  : MINUS? method_expr_unary  
-	  ; 
-	  
-	method_expr_unary
-	  : method_expr_atom  
-	  | LEFT_PAREN! method_expr_root RIGHT_PAREN!
-	  ; 
-	  
-	method_expr_atom
-	  : VAR
-	  | literal   
-	  | method
-	  ; 
-	  
-	method
-	  : ID LEFT_PAREN! method_args? RIGHT_PAREN!
-	  ;
-	*/
 	
+	public void test_meta_annotation() {
+		String rule = "rule";
+		String[] testDRL = {
+				"xx"	
+		};
+				
+		check(rule,testDRL);										
+	}
+	
+	//TODO : test filter & tree struct
+	
 	/*
 	@Test	
 	public void test_ {
@@ -1296,6 +1282,7 @@
 	
 	
 	
+	
 }
 
 



More information about the jboss-svn-commits mailing list