You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@kie.apache.org by ma...@apache.org on 2024/01/08 11:06:32 UTC

(incubator-kie-drools) branch main updated: [KIE-790] Build error on RuleUnit multiple OOPath lines (#5640)

This is an automated email from the ASF dual-hosted git repository.

mariofusco pushed a commit to branch main
in repository https://gitbox.apache.org/repos/asf/incubator-kie-drools.git


The following commit(s) were added to refs/heads/main by this push:
     new 7a66f25b27 [KIE-790]  Build error on RuleUnit multiple OOPath lines (#5640)
7a66f25b27 is described below

commit 7a66f25b2746203e57591a94675c221327b919f3
Author: Toshiya Kobayashi <to...@gmail.com>
AuthorDate: Mon Jan 8 20:06:28 2024 +0900

    [KIE-790]  Build error on RuleUnit multiple OOPath lines (#5640)
    
    * [KIE-790] Build error on RuleUnit OOPath syntax with multiple DataSources
    - Test case
    
    * - generate grammer
    - comment out unused antlr gen
---
 drools-drl/drools-drl-parser/pom.xml               |   54 +-
 .../drools/drl/parser/lang/DRL6Expressions.java    | 2168 ++++++++++----------
 .../java/org/drools/drl/parser/lang/DRL6Lexer.java |  723 ++++---
 .../org/drools/drl/parser/DRL6Expressions.g        |   23 +-
 .../resources/org/drools/drl/parser/DRL6Lexer.g    |    4 +-
 .../ruleunits/impl/MultipleDataSourceUnit.java     |   58 +
 .../ruleunits/impl/RuleUnitProviderImplTest.java   |   14 +
 .../drools/ruleunits/impl/domain/Measurement.java  |   53 +
 .../org/drools/ruleunits/impl/domain/Sensor.java   |   37 +
 .../drools/ruleunits/impl/MultipleDataSource.drl   |   28 +
 10 files changed, 1674 insertions(+), 1488 deletions(-)

diff --git a/drools-drl/drools-drl-parser/pom.xml b/drools-drl/drools-drl-parser/pom.xml
index da1b10925f..545625e5ad 100644
--- a/drools-drl/drools-drl-parser/pom.xml
+++ b/drools-drl/drools-drl-parser/pom.xml
@@ -127,47 +127,47 @@
                                             <path refid="maven.compile.classpath"/>
                                         </path -->
                                         <echo message="Generating Lexer (${antlr.debugParser})"/>
+<!--                                        <java classname="org.antlr.Tool" fork="true">-->
+<!--                                            <jvmarg line="-Xmx750M -Xincgc"/>-->
+<!--                                            <arg line="${antlr.debugParser} -lib src/main/resources/org/drools/compiler/lang src/main/resources/org/drools/compiler/lang/DRL5Lexer.g"/>-->
+<!--                                            <classpath refid="maven.compile.classpath"/>-->
+<!--                                        </java>-->
                                         <java classname="org.antlr.Tool" fork="true">
-                                            <jvmarg line="-Xmx750M -Xincgc"/>
-                                            <arg line="${antlr.debugParser} -lib src/main/resources/org/drools/compiler/lang src/main/resources/org/drools/compiler/lang/DRL5Lexer.g"/>
-                                            <classpath refid="maven.compile.classpath"/>
-                                        </java>
-                                        <java classname="org.antlr.Tool" fork="true">
-                                            <jvmarg line="-Xmx750M -Xincgc"/>
-                                            <arg line="${antlr.debugParser} -lib src/main/resources/org/drools/compiler/lang src/main/resources/org/drools/compiler/lang/DRL6Lexer.g"/>
+                                            <jvmarg line="-Xmx750M"/>
+                                            <arg line="${antlr.debugParser} -lib src/main/resources/org/drools/drl/parser src/main/resources/org/drools/drl/parser/DRL6Lexer.g"/>
                                             <classpath refid="maven.compile.classpath"/>
                                         </java>
                                         <echo message="Generating Expressions Parser (${antlr.debugParser})"/>
+<!--                                        <java classname="org.antlr.Tool" fork="true">-->
+<!--                                            <jvmarg line="-Xmx750M -Xincgc"/>-->
+<!--                                            <arg line="${antlr.debugParser} -lib src/main/resources/org/drools/compiler/lang src/main/resources/org/drools/compiler/lang/DRL5Expressions.g"/>-->
+<!--                                            <classpath refid="maven.compile.classpath"/>-->
+<!--                                        </java>-->
                                         <java classname="org.antlr.Tool" fork="true">
-                                            <jvmarg line="-Xmx750M -Xincgc"/>
-                                            <arg line="${antlr.debugParser} -lib src/main/resources/org/drools/compiler/lang src/main/resources/org/drools/compiler/lang/DRL5Expressions.g"/>
-                                            <classpath refid="maven.compile.classpath"/>
-                                        </java>
-                                        <java classname="org.antlr.Tool" fork="true">
-                                            <jvmarg line="-Xmx750M -Xincgc"/>
-                                            <arg line="${antlr.debugParser} -lib src/main/resources/org/drools/compiler/lang src/main/resources/org/drools/compiler/lang/DRL6Expressions.g"/>
-                                            <classpath refid="maven.compile.classpath"/>
-                                        </java>
-                                        <move todir="src/main/java/org/drools/compiler/lang/">
-                                            <fileset dir="src/main/resources/org/drools/compiler/lang">
-                                                <include name="**/*.java"/>
-                                            </fileset>
-                                        </move>
-                                        <echo message="Generating Antlr DSLMap.g and DSLMapWalker.g"/>
-                                        <java classname="org.antlr.Tool" fork="true">
-                                            <arg line="-lib src/main/resources/org/drools/compiler/lang/dsl src/main/resources/org/drools/compiler/lang/dsl/DSLMap.g src/main/resources/org/drools/compiler/lang/dsl/DSLMapWalker.g"/>
+                                            <jvmarg line="-Xmx750M"/>
+                                            <arg line="${antlr.debugParser} -lib src/main/resources/org/drools/drl/parser src/main/resources/org/drools/drl/parser/DRL6Expressions.g"/>
                                             <classpath refid="maven.compile.classpath"/>
                                         </java>
-                                        <move todir="src/main/java/org/drools/compiler/lang/dsl/">
-                                            <fileset dir="src/main/resources/org/drools/compiler/lang/dsl">
+                                        <move todir="src/main/java/org/drools/drl/parser/lang/">
+                                            <fileset dir="src/main/resources/org/drools/drl/parser">
                                                 <include name="**/*.java"/>
                                             </fileset>
                                         </move>
+<!--                                        <echo message="Generating Antlr DSLMap.g and DSLMapWalker.g"/>-->
+<!--                                        <java classname="org.antlr.Tool" fork="true">-->
+<!--                                            <arg line="-lib src/main/resources/org/drools/compiler/lang/dsl src/main/resources/org/drools/compiler/lang/dsl/DSLMap.g src/main/resources/org/drools/compiler/lang/dsl/DSLMapWalker.g"/>-->
+<!--                                            <classpath refid="maven.compile.classpath"/>-->
+<!--                                        </java>-->
+<!--                                        <move todir="src/main/java/org/drools/compiler/lang/dsl/">-->
+<!--                                            <fileset dir="src/main/resources/org/drools/compiler/lang/dsl">-->
+<!--                                                <include name="**/*.java"/>-->
+<!--                                            </fileset>-->
+<!--                                        </move>-->
                                         <delete>
                                             <fileset dir=".">
                                                 <include name="*.tokens"/>
                                             </fileset>
-                                            <fileset dir="src/main/resources/org/drools/compiler/lang">
+                                            <fileset dir="src/main/resources/org/drools/drl/parser">
                                                 <include name="*.tokens"/>
                                                 <include name="DRL__.g"/>
                                                 <include name="dsl/DSLMap__.g"/>
diff --git a/drools-drl/drools-drl-parser/src/main/java/org/drools/drl/parser/lang/DRL6Expressions.java b/drools-drl/drools-drl-parser/src/main/java/org/drools/drl/parser/lang/DRL6Expressions.java
index 2c82b55888..36d202ee96 100644
--- a/drools-drl/drools-drl-parser/src/main/java/org/drools/drl/parser/lang/DRL6Expressions.java
+++ b/drools-drl/drools-drl-parser/src/main/java/org/drools/drl/parser/lang/DRL6Expressions.java
@@ -1,32 +1,18 @@
-/**
- * Licensed to the Apache Software Foundation (ASF) under one
- * or more contributor license agreements.  See the NOTICE file
- * distributed with this work for additional information
- * regarding copyright ownership.  The ASF licenses this file
- * to you under the Apache License, Version 2.0 (the
- * "License"); you may not use this file except in compliance
- * with the License.  You may obtain a copy of the License at
- *
- *   http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing,
- * software distributed under the License is distributed on an
- * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
- * KIND, either express or implied.  See the License for the
- * specific language governing permissions and limitations
- * under the License.
- */
-// $ANTLR 3.5.2 src/main/resources/org/drools/compiler/lang/DRL6Expressions.g 2020-01-07 16:38:43
+// $ANTLR 3.5.2 src/main/resources/org/drools/drl/parser/DRL6Expressions.g 2024-01-03 11:41:51
 
     package org.drools.drl.parser.lang;
 
     import java.util.LinkedList;
     import org.drools.drl.parser.DroolsParserException;
+    import org.drools.drl.parser.lang.ParserHelper;
+    import org.drools.drl.parser.lang.DroolsParserExceptionFactory;
+    import org.drools.drl.parser.lang.Location;
 
-	import org.drools.drl.ast.dsl.AnnotatedDescrBuilder;
+    import org.drools.drl.ast.dsl.AnnotatedDescrBuilder;
     import org.drools.drl.ast.dsl.AnnotationDescrBuilder;
 
     import org.drools.drl.ast.descr.AtomicExprDescr;
+    import org.drools.drl.ast.descr.AnnotatedBaseDescr;
     import org.drools.drl.ast.descr.AnnotationDescr;
     import org.drools.drl.ast.descr.BaseDescr;
     import org.drools.drl.ast.descr.ConstraintConnectiveDescr;
@@ -37,6 +23,9 @@
 import org.antlr.runtime.*;
 import java.util.Stack;
 import java.util.List;
+import java.util.ArrayList;
+import java.util.Map;
+import java.util.HashMap;
 
 @SuppressWarnings("all")
 public class DRL6Expressions extends DRLExpressions {
@@ -141,7 +130,7 @@ public class DRL6Expressions extends DRLExpressions {
 	}
 
 	@Override public String[] getTokenNames() { return DRL6Expressions.tokenNames; }
-	@Override public String getGrammarFileName() { return "src/main/resources/org/drools/compiler/lang/DRL6Expressions.g"; }
+	@Override public String getGrammarFileName() { return "src/main/resources/org/drools/drl/parser/DRL6Expressions.g"; }
 
 
 	    private ParserHelper helper;
@@ -190,13 +179,20 @@ public class DRL6Expressions extends DRLExpressions {
 	        return input.get( input.index() ).getType() != DRL6Lexer.EOF;
 	    }
 
+	    private boolean notStartWithNewline() {
+	        int currentTokenIndex = input.index(); // current position in input stream
+	        Token previousHiddenToken = input.get(currentTokenIndex - 1);
+	        String previousHiddenTokenText = previousHiddenToken.getText();
+	        return !previousHiddenTokenText.contains("\n");
+	    }
+
 
 	public static class literal_return extends ParserRuleReturnScope {
 	};
 
 
 	// $ANTLR start "literal"
-	// src/main/resources/org/drools/compiler/lang/DRL6Expressions.g:89:1: literal : ( STRING | DECIMAL | HEX | FLOAT | BOOL | NULL | TIME_INTERVAL | STAR );
+	// src/main/resources/org/drools/drl/parser/DRL6Expressions.g:96:1: literal : ( STRING | DECIMAL | HEX | FLOAT | BOOL | NULL | TIME_INTERVAL | STAR );
 	public final DRL6Expressions.literal_return literal() throws RecognitionException {
 		DRL6Expressions.literal_return retval = new DRL6Expressions.literal_return();
 		retval.start = input.LT(1);
@@ -211,7 +207,7 @@ public class DRL6Expressions extends DRLExpressions {
 		Token STAR8=null;
 
 		try {
-			// src/main/resources/org/drools/compiler/lang/DRL6Expressions.g:90:5: ( STRING | DECIMAL | HEX | FLOAT | BOOL | NULL | TIME_INTERVAL | STAR )
+			// src/main/resources/org/drools/drl/parser/DRL6Expressions.g:97:5: ( STRING | DECIMAL | HEX | FLOAT | BOOL | NULL | TIME_INTERVAL | STAR )
 			int alt1=8;
 			switch ( input.LA(1) ) {
 			case STRING:
@@ -262,56 +258,56 @@ public class DRL6Expressions extends DRLExpressions {
 			}
 			switch (alt1) {
 				case 1 :
-					// src/main/resources/org/drools/compiler/lang/DRL6Expressions.g:90:7: STRING
+					// src/main/resources/org/drools/drl/parser/DRL6Expressions.g:97:7: STRING
 					{
 					STRING1=(Token)match(input,STRING,FOLLOW_STRING_in_literal92); if (state.failed) return retval;
 					if ( state.backtracking==0 ) {	helper.emit(STRING1, DroolsEditorType.STRING_CONST);	}
 					}
 					break;
 				case 2 :
-					// src/main/resources/org/drools/compiler/lang/DRL6Expressions.g:91:7: DECIMAL
+					// src/main/resources/org/drools/drl/parser/DRL6Expressions.g:98:7: DECIMAL
 					{
 					DECIMAL2=(Token)match(input,DECIMAL,FOLLOW_DECIMAL_in_literal109); if (state.failed) return retval;
 					if ( state.backtracking==0 ) {	helper.emit(DECIMAL2, DroolsEditorType.NUMERIC_CONST);	}
 					}
 					break;
 				case 3 :
-					// src/main/resources/org/drools/compiler/lang/DRL6Expressions.g:92:7: HEX
+					// src/main/resources/org/drools/drl/parser/DRL6Expressions.g:99:7: HEX
 					{
 					HEX3=(Token)match(input,HEX,FOLLOW_HEX_in_literal125); if (state.failed) return retval;
 					if ( state.backtracking==0 ) {	helper.emit(HEX3, DroolsEditorType.NUMERIC_CONST);	}
 					}
 					break;
 				case 4 :
-					// src/main/resources/org/drools/compiler/lang/DRL6Expressions.g:93:7: FLOAT
+					// src/main/resources/org/drools/drl/parser/DRL6Expressions.g:100:7: FLOAT
 					{
 					FLOAT4=(Token)match(input,FLOAT,FOLLOW_FLOAT_in_literal145); if (state.failed) return retval;
 					if ( state.backtracking==0 ) {	helper.emit(FLOAT4, DroolsEditorType.NUMERIC_CONST);	}
 					}
 					break;
 				case 5 :
-					// src/main/resources/org/drools/compiler/lang/DRL6Expressions.g:94:7: BOOL
+					// src/main/resources/org/drools/drl/parser/DRL6Expressions.g:101:7: BOOL
 					{
 					BOOL5=(Token)match(input,BOOL,FOLLOW_BOOL_in_literal163); if (state.failed) return retval;
 					if ( state.backtracking==0 ) {	helper.emit(BOOL5, DroolsEditorType.BOOLEAN_CONST);	}
 					}
 					break;
 				case 6 :
-					// src/main/resources/org/drools/compiler/lang/DRL6Expressions.g:95:7: NULL
+					// src/main/resources/org/drools/drl/parser/DRL6Expressions.g:102:7: NULL
 					{
 					NULL6=(Token)match(input,NULL,FOLLOW_NULL_in_literal182); if (state.failed) return retval;
 					if ( state.backtracking==0 ) {	helper.emit(NULL6, DroolsEditorType.NULL_CONST);	}
 					}
 					break;
 				case 7 :
-					// src/main/resources/org/drools/compiler/lang/DRL6Expressions.g:96:9: TIME_INTERVAL
+					// src/main/resources/org/drools/drl/parser/DRL6Expressions.g:103:9: TIME_INTERVAL
 					{
 					TIME_INTERVAL7=(Token)match(input,TIME_INTERVAL,FOLLOW_TIME_INTERVAL_in_literal203); if (state.failed) return retval;
 					if ( state.backtracking==0 ) {	helper.emit(TIME_INTERVAL7, DroolsEditorType.NULL_CONST); }
 					}
 					break;
 				case 8 :
-					// src/main/resources/org/drools/compiler/lang/DRL6Expressions.g:97:9: STAR
+					// src/main/resources/org/drools/drl/parser/DRL6Expressions.g:104:9: STAR
 					{
 					STAR8=(Token)match(input,STAR,FOLLOW_STAR_in_literal215); if (state.failed) return retval;
 					if ( state.backtracking==0 ) { helper.emit(STAR8, DroolsEditorType.NUMERIC_CONST); }
@@ -342,7 +338,7 @@ public class DRL6Expressions extends DRLExpressions {
 
 
 	// $ANTLR start "operator"
-	// src/main/resources/org/drools/compiler/lang/DRL6Expressions.g:100:1: operator returns [boolean negated, String opr] : (x= TILDE )? (op= EQUALS |op= NOT_EQUALS |rop= relationalOp ) ;
+	// src/main/resources/org/drools/drl/parser/DRL6Expressions.g:107:1: operator returns [boolean negated, String opr] : (x= TILDE )? (op= EQUALS |op= NOT_EQUALS |rop= relationalOp ) ;
 	public final DRL6Expressions.operator_return operator() throws RecognitionException {
 		DRL6Expressions.operator_return retval = new DRL6Expressions.operator_return();
 		retval.start = input.LT(1);
@@ -353,10 +349,10 @@ public class DRL6Expressions extends DRLExpressions {
 
 		 if ( isNotEOF() ) helper.emit( Location.LOCATION_LHS_INSIDE_CONDITION_OPERATOR ); helper.setHasOperator( true ); 
 		try {
-			// src/main/resources/org/drools/compiler/lang/DRL6Expressions.g:103:3: ( (x= TILDE )? (op= EQUALS |op= NOT_EQUALS |rop= relationalOp ) )
-			// src/main/resources/org/drools/compiler/lang/DRL6Expressions.g:103:5: (x= TILDE )? (op= EQUALS |op= NOT_EQUALS |rop= relationalOp )
+			// src/main/resources/org/drools/drl/parser/DRL6Expressions.g:110:3: ( (x= TILDE )? (op= EQUALS |op= NOT_EQUALS |rop= relationalOp ) )
+			// src/main/resources/org/drools/drl/parser/DRL6Expressions.g:110:5: (x= TILDE )? (op= EQUALS |op= NOT_EQUALS |rop= relationalOp )
 			{
-			// src/main/resources/org/drools/compiler/lang/DRL6Expressions.g:103:6: (x= TILDE )?
+			// src/main/resources/org/drools/drl/parser/DRL6Expressions.g:110:6: (x= TILDE )?
 			int alt2=2;
 			int LA2_0 = input.LA(1);
 			if ( (LA2_0==TILDE) ) {
@@ -367,7 +363,7 @@ public class DRL6Expressions extends DRLExpressions {
 			}
 			switch (alt2) {
 				case 1 :
-					// src/main/resources/org/drools/compiler/lang/DRL6Expressions.g:103:6: x= TILDE
+					// src/main/resources/org/drools/drl/parser/DRL6Expressions.g:110:6: x= TILDE
 					{
 					x=(Token)match(input,TILDE,FOLLOW_TILDE_in_operator256); if (state.failed) return retval;
 					}
@@ -375,7 +371,7 @@ public class DRL6Expressions extends DRLExpressions {
 
 			}
 
-			// src/main/resources/org/drools/compiler/lang/DRL6Expressions.g:104:5: (op= EQUALS |op= NOT_EQUALS |rop= relationalOp )
+			// src/main/resources/org/drools/drl/parser/DRL6Expressions.g:111:5: (op= EQUALS |op= NOT_EQUALS |rop= relationalOp )
 			int alt3=3;
 			int LA3_0 = input.LA(1);
 			if ( (LA3_0==EQUALS) ) {
@@ -393,21 +389,21 @@ public class DRL6Expressions extends DRLExpressions {
 
 			switch (alt3) {
 				case 1 :
-					// src/main/resources/org/drools/compiler/lang/DRL6Expressions.g:104:7: op= EQUALS
+					// src/main/resources/org/drools/drl/parser/DRL6Expressions.g:111:7: op= EQUALS
 					{
 					op=(Token)match(input,EQUALS,FOLLOW_EQUALS_in_operator267); if (state.failed) return retval;
 					if ( state.backtracking==0 ) { retval.negated = false; retval.opr =(x != null ? (x!=null?x.getText():null) : "")+(op!=null?op.getText():null); helper.emit(op, DroolsEditorType.SYMBOL); }
 					}
 					break;
 				case 2 :
-					// src/main/resources/org/drools/compiler/lang/DRL6Expressions.g:105:7: op= NOT_EQUALS
+					// src/main/resources/org/drools/drl/parser/DRL6Expressions.g:112:7: op= NOT_EQUALS
 					{
 					op=(Token)match(input,NOT_EQUALS,FOLLOW_NOT_EQUALS_in_operator286); if (state.failed) return retval;
 					if ( state.backtracking==0 ) { retval.negated = false; retval.opr =(x != null ? (x!=null?x.getText():null) : "")+(op!=null?op.getText():null); helper.emit(op, DroolsEditorType.SYMBOL); }
 					}
 					break;
 				case 3 :
-					// src/main/resources/org/drools/compiler/lang/DRL6Expressions.g:106:7: rop= relationalOp
+					// src/main/resources/org/drools/drl/parser/DRL6Expressions.g:113:7: rop= relationalOp
 					{
 					pushFollow(FOLLOW_relationalOp_in_operator301);
 					rop=relationalOp();
@@ -446,7 +442,7 @@ public class DRL6Expressions extends DRLExpressions {
 
 
 	// $ANTLR start "relationalOp"
-	// src/main/resources/org/drools/compiler/lang/DRL6Expressions.g:112:1: relationalOp returns [boolean negated, String opr, java.util.List<String> params] : (op= LESS_EQUALS |op= GREATER_EQUALS |op= LESS |op= GREATER |xop= complexOp | not_key nop= neg_operator_key |cop= operator_key ) ;
+	// src/main/resources/org/drools/drl/parser/DRL6Expressions.g:119:1: relationalOp returns [boolean negated, String opr, java.util.List<String> params] : (op= LESS_EQUALS |op= GREATER_EQUALS |op= LESS |op= GREATER |xop= complexOp | not_key nop= neg_operator_key |cop= operator_key ) ;
 	public final DRL6Expressions.relationalOp_return relationalOp() throws RecognitionException {
 		DRL6Expressions.relationalOp_return retval = new DRL6Expressions.relationalOp_return();
 		retval.start = input.LT(1);
@@ -458,10 +454,10 @@ public class DRL6Expressions extends DRLExpressions {
 
 		 if ( isNotEOF() ) helper.emit( Location.LOCATION_LHS_INSIDE_CONDITION_OPERATOR ); helper.setHasOperator( true ); 
 		try {
-			// src/main/resources/org/drools/compiler/lang/DRL6Expressions.g:115:3: ( (op= LESS_EQUALS |op= GREATER_EQUALS |op= LESS |op= GREATER |xop= complexOp | not_key nop= neg_operator_key |cop= operator_key ) )
-			// src/main/resources/org/drools/compiler/lang/DRL6Expressions.g:115:5: (op= LESS_EQUALS |op= GREATER_EQUALS |op= LESS |op= GREATER |xop= complexOp | not_key nop= neg_operator_key |cop= operator_key )
+			// src/main/resources/org/drools/drl/parser/DRL6Expressions.g:122:3: ( (op= LESS_EQUALS |op= GREATER_EQUALS |op= LESS |op= GREATER |xop= complexOp | not_key nop= neg_operator_key |cop= operator_key ) )
+			// src/main/resources/org/drools/drl/parser/DRL6Expressions.g:122:5: (op= LESS_EQUALS |op= GREATER_EQUALS |op= LESS |op= GREATER |xop= complexOp | not_key nop= neg_operator_key |cop= operator_key )
 			{
-			// src/main/resources/org/drools/compiler/lang/DRL6Expressions.g:115:5: (op= LESS_EQUALS |op= GREATER_EQUALS |op= LESS |op= GREATER |xop= complexOp | not_key nop= neg_operator_key |cop= operator_key )
+			// src/main/resources/org/drools/drl/parser/DRL6Expressions.g:122:5: (op= LESS_EQUALS |op= GREATER_EQUALS |op= LESS |op= GREATER |xop= complexOp | not_key nop= neg_operator_key |cop= operator_key )
 			int alt4=7;
 			int LA4_0 = input.LA(1);
 			if ( (LA4_0==LESS_EQUALS) ) {
@@ -505,35 +501,35 @@ public class DRL6Expressions extends DRLExpressions {
 
 			switch (alt4) {
 				case 1 :
-					// src/main/resources/org/drools/compiler/lang/DRL6Expressions.g:115:7: op= LESS_EQUALS
+					// src/main/resources/org/drools/drl/parser/DRL6Expressions.g:122:7: op= LESS_EQUALS
 					{
 					op=(Token)match(input,LESS_EQUALS,FOLLOW_LESS_EQUALS_in_relationalOp342); if (state.failed) return retval;
 					if ( state.backtracking==0 ) { retval.negated = false; retval.opr =(op!=null?op.getText():null); retval.params = null; helper.emit(op, DroolsEditorType.SYMBOL);}
 					}
 					break;
 				case 2 :
-					// src/main/resources/org/drools/compiler/lang/DRL6Expressions.g:116:7: op= GREATER_EQUALS
+					// src/main/resources/org/drools/drl/parser/DRL6Expressions.g:123:7: op= GREATER_EQUALS
 					{
 					op=(Token)match(input,GREATER_EQUALS,FOLLOW_GREATER_EQUALS_in_relationalOp358); if (state.failed) return retval;
 					if ( state.backtracking==0 ) { retval.negated = false; retval.opr =(op!=null?op.getText():null); retval.params = null; helper.emit(op, DroolsEditorType.SYMBOL);}
 					}
 					break;
 				case 3 :
-					// src/main/resources/org/drools/compiler/lang/DRL6Expressions.g:117:7: op= LESS
+					// src/main/resources/org/drools/drl/parser/DRL6Expressions.g:124:7: op= LESS
 					{
 					op=(Token)match(input,LESS,FOLLOW_LESS_in_relationalOp371); if (state.failed) return retval;
 					if ( state.backtracking==0 ) { retval.negated = false; retval.opr =(op!=null?op.getText():null); retval.params = null; helper.emit(op, DroolsEditorType.SYMBOL);}
 					}
 					break;
 				case 4 :
-					// src/main/resources/org/drools/compiler/lang/DRL6Expressions.g:118:7: op= GREATER
+					// src/main/resources/org/drools/drl/parser/DRL6Expressions.g:125:7: op= GREATER
 					{
 					op=(Token)match(input,GREATER,FOLLOW_GREATER_in_relationalOp394); if (state.failed) return retval;
 					if ( state.backtracking==0 ) { retval.negated = false; retval.opr =(op!=null?op.getText():null); retval.params = null; helper.emit(op, DroolsEditorType.SYMBOL);}
 					}
 					break;
 				case 5 :
-					// src/main/resources/org/drools/compiler/lang/DRL6Expressions.g:119:7: xop= complexOp
+					// src/main/resources/org/drools/drl/parser/DRL6Expressions.g:126:7: xop= complexOp
 					{
 					pushFollow(FOLLOW_complexOp_in_relationalOp414);
 					xop=complexOp();
@@ -543,7 +539,7 @@ public class DRL6Expressions extends DRLExpressions {
 					}
 					break;
 				case 6 :
-					// src/main/resources/org/drools/compiler/lang/DRL6Expressions.g:120:7: not_key nop= neg_operator_key
+					// src/main/resources/org/drools/drl/parser/DRL6Expressions.g:127:7: not_key nop= neg_operator_key
 					{
 					pushFollow(FOLLOW_not_key_in_relationalOp429);
 					not_key();
@@ -557,7 +553,7 @@ public class DRL6Expressions extends DRLExpressions {
 					}
 					break;
 				case 7 :
-					// src/main/resources/org/drools/compiler/lang/DRL6Expressions.g:121:7: cop= operator_key
+					// src/main/resources/org/drools/drl/parser/DRL6Expressions.g:128:7: cop= operator_key
 					{
 					pushFollow(FOLLOW_operator_key_in_relationalOp445);
 					cop=operator_key();
@@ -590,7 +586,7 @@ public class DRL6Expressions extends DRLExpressions {
 
 
 	// $ANTLR start "complexOp"
-	// src/main/resources/org/drools/compiler/lang/DRL6Expressions.g:125:1: complexOp returns [String opr] : t= TILDE e= EQUALS_ASSIGN ;
+	// src/main/resources/org/drools/drl/parser/DRL6Expressions.g:132:1: complexOp returns [String opr] : t= TILDE e= EQUALS_ASSIGN ;
 	public final String complexOp() throws RecognitionException {
 		String opr = null;
 
@@ -599,8 +595,8 @@ public class DRL6Expressions extends DRLExpressions {
 		Token e=null;
 
 		try {
-			// src/main/resources/org/drools/compiler/lang/DRL6Expressions.g:126:5: (t= TILDE e= EQUALS_ASSIGN )
-			// src/main/resources/org/drools/compiler/lang/DRL6Expressions.g:126:7: t= TILDE e= EQUALS_ASSIGN
+			// src/main/resources/org/drools/drl/parser/DRL6Expressions.g:133:5: (t= TILDE e= EQUALS_ASSIGN )
+			// src/main/resources/org/drools/drl/parser/DRL6Expressions.g:133:7: t= TILDE e= EQUALS_ASSIGN
 			{
 			t=(Token)match(input,TILDE,FOLLOW_TILDE_in_complexOp477); if (state.failed) return opr;
 			e=(Token)match(input,EQUALS_ASSIGN,FOLLOW_EQUALS_ASSIGN_in_complexOp481); if (state.failed) return opr;
@@ -623,17 +619,17 @@ public class DRL6Expressions extends DRLExpressions {
 
 
 	// $ANTLR start "typeList"
-	// src/main/resources/org/drools/compiler/lang/DRL6Expressions.g:129:1: typeList : type ( COMMA type )* ;
+	// src/main/resources/org/drools/drl/parser/DRL6Expressions.g:136:1: typeList : type ( COMMA type )* ;
 	public final void typeList() throws RecognitionException {
 		try {
-			// src/main/resources/org/drools/compiler/lang/DRL6Expressions.g:130:5: ( type ( COMMA type )* )
-			// src/main/resources/org/drools/compiler/lang/DRL6Expressions.g:130:7: type ( COMMA type )*
+			// src/main/resources/org/drools/drl/parser/DRL6Expressions.g:137:5: ( type ( COMMA type )* )
+			// src/main/resources/org/drools/drl/parser/DRL6Expressions.g:137:7: type ( COMMA type )*
 			{
 			pushFollow(FOLLOW_type_in_typeList502);
 			type();
 			state._fsp--;
 			if (state.failed) return;
-			// src/main/resources/org/drools/compiler/lang/DRL6Expressions.g:130:12: ( COMMA type )*
+			// src/main/resources/org/drools/drl/parser/DRL6Expressions.g:137:12: ( COMMA type )*
 			loop5:
 			while (true) {
 				int alt5=2;
@@ -644,7 +640,7 @@ public class DRL6Expressions extends DRLExpressions {
 
 				switch (alt5) {
 				case 1 :
-					// src/main/resources/org/drools/compiler/lang/DRL6Expressions.g:130:13: COMMA type
+					// src/main/resources/org/drools/drl/parser/DRL6Expressions.g:137:13: COMMA type
 					{
 					match(input,COMMA,FOLLOW_COMMA_in_typeList505); if (state.failed) return;
 					pushFollow(FOLLOW_type_in_typeList507);
@@ -679,14 +675,14 @@ public class DRL6Expressions extends DRLExpressions {
 
 
 	// $ANTLR start "type"
-	// src/main/resources/org/drools/compiler/lang/DRL6Expressions.g:133:1: type : tm= typeMatch ;
+	// src/main/resources/org/drools/drl/parser/DRL6Expressions.g:140:1: type : tm= typeMatch ;
 	public final DRL6Expressions.type_return type() throws RecognitionException {
 		DRL6Expressions.type_return retval = new DRL6Expressions.type_return();
 		retval.start = input.LT(1);
 
 		try {
-			// src/main/resources/org/drools/compiler/lang/DRL6Expressions.g:134:5: (tm= typeMatch )
-			// src/main/resources/org/drools/compiler/lang/DRL6Expressions.g:134:8: tm= typeMatch
+			// src/main/resources/org/drools/drl/parser/DRL6Expressions.g:141:5: (tm= typeMatch )
+			// src/main/resources/org/drools/drl/parser/DRL6Expressions.g:141:8: tm= typeMatch
 			{
 			pushFollow(FOLLOW_typeMatch_in_type529);
 			typeMatch();
@@ -712,10 +708,10 @@ public class DRL6Expressions extends DRLExpressions {
 
 
 	// $ANTLR start "typeMatch"
-	// src/main/resources/org/drools/compiler/lang/DRL6Expressions.g:137:1: typeMatch : ( ( primitiveType )=> ( primitiveType ( ( LEFT_SQUARE RIGHT_SQUARE )=> LEFT_SQUARE RIGHT_SQUARE )* ) | ( ID ( ( typeArguments )=> typeArguments )? ( DOT ID ( ( typeArguments )=> typeArguments )? )* ( ( LEFT_SQUARE RIGHT_SQUARE )=> LEFT_SQUARE RIGHT_SQUARE )* ) );
+	// src/main/resources/org/drools/drl/parser/DRL6Expressions.g:144:1: typeMatch : ( ( primitiveType )=> ( primitiveType ( ( LEFT_SQUARE RIGHT_SQUARE )=> LEFT_SQUARE RIGHT_SQUARE )* ) | ( ID ( ( typeArguments )=> typeArguments )? ( DOT ID ( ( typeArguments )=> typeArguments )? )* ( ( LEFT_SQUARE RIGHT_SQUARE )=> LEFT_SQUARE RIGHT_SQUARE )* ) );
 	public final void typeMatch() throws RecognitionException {
 		try {
-			// src/main/resources/org/drools/compiler/lang/DRL6Expressions.g:138:5: ( ( primitiveType )=> ( primitiveType ( ( LEFT_SQUARE RIGHT_SQUARE )=> LEFT_SQUARE RIGHT_SQUARE )* ) | ( ID ( ( typeArguments )=> typeArguments )? ( DOT ID ( ( typeArguments )=> typeArguments )? )* ( ( LEFT_SQUARE RIGHT_SQUARE )=> LEFT_SQUARE RIGHT_SQUARE )* ) )
+			// src/main/resources/org/drools/drl/parser/DRL6Expressions.g:145:5: ( ( primitiveType )=> ( primitiveType ( ( LEFT_SQUARE RIGHT_SQUARE )=> LEFT_SQUARE RIGHT_SQUARE )* ) | ( ID ( ( typeArguments )=> typeArguments )? ( DOT ID ( ( typeArguments )=> typeArguments )? )* ( ( LEFT_SQUARE RIGHT_SQUARE )=> LEFT_SQUARE RIGHT_SQUARE )* ) )
 			int alt11=2;
 			int LA11_0 = input.LA(1);
 			if ( (LA11_0==ID) ) {
@@ -738,16 +734,16 @@ public class DRL6Expressions extends DRLExpressions {
 
 			switch (alt11) {
 				case 1 :
-					// src/main/resources/org/drools/compiler/lang/DRL6Expressions.g:138:8: ( primitiveType )=> ( primitiveType ( ( LEFT_SQUARE RIGHT_SQUARE )=> LEFT_SQUARE RIGHT_SQUARE )* )
+					// src/main/resources/org/drools/drl/parser/DRL6Expressions.g:145:8: ( primitiveType )=> ( primitiveType ( ( LEFT_SQUARE RIGHT_SQUARE )=> LEFT_SQUARE RIGHT_SQUARE )* )
 					{
-					// src/main/resources/org/drools/compiler/lang/DRL6Expressions.g:138:27: ( primitiveType ( ( LEFT_SQUARE RIGHT_SQUARE )=> LEFT_SQUARE RIGHT_SQUARE )* )
-					// src/main/resources/org/drools/compiler/lang/DRL6Expressions.g:138:29: primitiveType ( ( LEFT_SQUARE RIGHT_SQUARE )=> LEFT_SQUARE RIGHT_SQUARE )*
+					// src/main/resources/org/drools/drl/parser/DRL6Expressions.g:145:27: ( primitiveType ( ( LEFT_SQUARE RIGHT_SQUARE )=> LEFT_SQUARE RIGHT_SQUARE )* )
+					// src/main/resources/org/drools/drl/parser/DRL6Expressions.g:145:29: primitiveType ( ( LEFT_SQUARE RIGHT_SQUARE )=> LEFT_SQUARE RIGHT_SQUARE )*
 					{
 					pushFollow(FOLLOW_primitiveType_in_typeMatch555);
 					primitiveType();
 					state._fsp--;
 					if (state.failed) return;
-					// src/main/resources/org/drools/compiler/lang/DRL6Expressions.g:138:43: ( ( LEFT_SQUARE RIGHT_SQUARE )=> LEFT_SQUARE RIGHT_SQUARE )*
+					// src/main/resources/org/drools/drl/parser/DRL6Expressions.g:145:43: ( ( LEFT_SQUARE RIGHT_SQUARE )=> LEFT_SQUARE RIGHT_SQUARE )*
 					loop6:
 					while (true) {
 						int alt6=2;
@@ -758,7 +754,7 @@ public class DRL6Expressions extends DRLExpressions {
 
 						switch (alt6) {
 						case 1 :
-							// src/main/resources/org/drools/compiler/lang/DRL6Expressions.g:138:44: ( LEFT_SQUARE RIGHT_SQUARE )=> LEFT_SQUARE RIGHT_SQUARE
+							// src/main/resources/org/drools/drl/parser/DRL6Expressions.g:145:44: ( LEFT_SQUARE RIGHT_SQUARE )=> LEFT_SQUARE RIGHT_SQUARE
 							{
 							match(input,LEFT_SQUARE,FOLLOW_LEFT_SQUARE_in_typeMatch565); if (state.failed) return;
 							match(input,RIGHT_SQUARE,FOLLOW_RIGHT_SQUARE_in_typeMatch567); if (state.failed) return;
@@ -775,13 +771,13 @@ public class DRL6Expressions extends DRLExpressions {
 					}
 					break;
 				case 2 :
-					// src/main/resources/org/drools/compiler/lang/DRL6Expressions.g:139:7: ( ID ( ( typeArguments )=> typeArguments )? ( DOT ID ( ( typeArguments )=> typeArguments )? )* ( ( LEFT_SQUARE RIGHT_SQUARE )=> LEFT_SQUARE RIGHT_SQUARE )* )
+					// src/main/resources/org/drools/drl/parser/DRL6Expressions.g:146:7: ( ID ( ( typeArguments )=> typeArguments )? ( DOT ID ( ( typeArguments )=> typeArguments )? )* ( ( LEFT_SQUARE RIGHT_SQUARE )=> LEFT_SQUARE RIGHT_SQUARE )* )
 					{
-					// src/main/resources/org/drools/compiler/lang/DRL6Expressions.g:139:7: ( ID ( ( typeArguments )=> typeArguments )? ( DOT ID ( ( typeArguments )=> typeArguments )? )* ( ( LEFT_SQUARE RIGHT_SQUARE )=> LEFT_SQUARE RIGHT_SQUARE )* )
-					// src/main/resources/org/drools/compiler/lang/DRL6Expressions.g:139:9: ID ( ( typeArguments )=> typeArguments )? ( DOT ID ( ( typeArguments )=> typeArguments )? )* ( ( LEFT_SQUARE RIGHT_SQUARE )=> LEFT_SQUARE RIGHT_SQUARE )*
+					// src/main/resources/org/drools/drl/parser/DRL6Expressions.g:146:7: ( ID ( ( typeArguments )=> typeArguments )? ( DOT ID ( ( typeArguments )=> typeArguments )? )* ( ( LEFT_SQUARE RIGHT_SQUARE )=> LEFT_SQUARE RIGHT_SQUARE )* )
+					// src/main/resources/org/drools/drl/parser/DRL6Expressions.g:146:9: ID ( ( typeArguments )=> typeArguments )? ( DOT ID ( ( typeArguments )=> typeArguments )? )* ( ( LEFT_SQUARE RIGHT_SQUARE )=> LEFT_SQUARE RIGHT_SQUARE )*
 					{
 					match(input,ID,FOLLOW_ID_in_typeMatch581); if (state.failed) return;
-					// src/main/resources/org/drools/compiler/lang/DRL6Expressions.g:139:12: ( ( typeArguments )=> typeArguments )?
+					// src/main/resources/org/drools/drl/parser/DRL6Expressions.g:146:12: ( ( typeArguments )=> typeArguments )?
 					int alt7=2;
 					int LA7_0 = input.LA(1);
 					if ( (LA7_0==LESS) ) {
@@ -795,7 +791,7 @@ public class DRL6Expressions extends DRLExpressions {
 					}
 					switch (alt7) {
 						case 1 :
-							// src/main/resources/org/drools/compiler/lang/DRL6Expressions.g:139:13: ( typeArguments )=> typeArguments
+							// src/main/resources/org/drools/drl/parser/DRL6Expressions.g:146:13: ( typeArguments )=> typeArguments
 							{
 							pushFollow(FOLLOW_typeArguments_in_typeMatch588);
 							typeArguments();
@@ -806,7 +802,7 @@ public class DRL6Expressions extends DRLExpressions {
 
 					}
 
-					// src/main/resources/org/drools/compiler/lang/DRL6Expressions.g:139:46: ( DOT ID ( ( typeArguments )=> typeArguments )? )*
+					// src/main/resources/org/drools/drl/parser/DRL6Expressions.g:146:46: ( DOT ID ( ( typeArguments )=> typeArguments )? )*
 					loop9:
 					while (true) {
 						int alt9=2;
@@ -817,11 +813,11 @@ public class DRL6Expressions extends DRLExpressions {
 
 						switch (alt9) {
 						case 1 :
-							// src/main/resources/org/drools/compiler/lang/DRL6Expressions.g:139:47: DOT ID ( ( typeArguments )=> typeArguments )?
+							// src/main/resources/org/drools/drl/parser/DRL6Expressions.g:146:47: DOT ID ( ( typeArguments )=> typeArguments )?
 							{
 							match(input,DOT,FOLLOW_DOT_in_typeMatch593); if (state.failed) return;
 							match(input,ID,FOLLOW_ID_in_typeMatch595); if (state.failed) return;
-							// src/main/resources/org/drools/compiler/lang/DRL6Expressions.g:139:54: ( ( typeArguments )=> typeArguments )?
+							// src/main/resources/org/drools/drl/parser/DRL6Expressions.g:146:54: ( ( typeArguments )=> typeArguments )?
 							int alt8=2;
 							int LA8_0 = input.LA(1);
 							if ( (LA8_0==LESS) ) {
@@ -835,7 +831,7 @@ public class DRL6Expressions extends DRLExpressions {
 							}
 							switch (alt8) {
 								case 1 :
-									// src/main/resources/org/drools/compiler/lang/DRL6Expressions.g:139:55: ( typeArguments )=> typeArguments
+									// src/main/resources/org/drools/drl/parser/DRL6Expressions.g:146:55: ( typeArguments )=> typeArguments
 									{
 									pushFollow(FOLLOW_typeArguments_in_typeMatch602);
 									typeArguments();
@@ -854,7 +850,7 @@ public class DRL6Expressions extends DRLExpressions {
 						}
 					}
 
-					// src/main/resources/org/drools/compiler/lang/DRL6Expressions.g:139:91: ( ( LEFT_SQUARE RIGHT_SQUARE )=> LEFT_SQUARE RIGHT_SQUARE )*
+					// src/main/resources/org/drools/drl/parser/DRL6Expressions.g:146:91: ( ( LEFT_SQUARE RIGHT_SQUARE )=> LEFT_SQUARE RIGHT_SQUARE )*
 					loop10:
 					while (true) {
 						int alt10=2;
@@ -865,7 +861,7 @@ public class DRL6Expressions extends DRLExpressions {
 
 						switch (alt10) {
 						case 1 :
-							// src/main/resources/org/drools/compiler/lang/DRL6Expressions.g:139:92: ( LEFT_SQUARE RIGHT_SQUARE )=> LEFT_SQUARE RIGHT_SQUARE
+							// src/main/resources/org/drools/drl/parser/DRL6Expressions.g:146:92: ( LEFT_SQUARE RIGHT_SQUARE )=> LEFT_SQUARE RIGHT_SQUARE
 							{
 							match(input,LEFT_SQUARE,FOLLOW_LEFT_SQUARE_in_typeMatch617); if (state.failed) return;
 							match(input,RIGHT_SQUARE,FOLLOW_RIGHT_SQUARE_in_typeMatch619); if (state.failed) return;
@@ -898,18 +894,18 @@ public class DRL6Expressions extends DRLExpressions {
 
 
 	// $ANTLR start "typeArguments"
-	// src/main/resources/org/drools/compiler/lang/DRL6Expressions.g:142:1: typeArguments : LESS typeArgument ( COMMA typeArgument )* GREATER ;
+	// src/main/resources/org/drools/drl/parser/DRL6Expressions.g:149:1: typeArguments : LESS typeArgument ( COMMA typeArgument )* GREATER ;
 	public final void typeArguments() throws RecognitionException {
 		try {
-			// src/main/resources/org/drools/compiler/lang/DRL6Expressions.g:143:5: ( LESS typeArgument ( COMMA typeArgument )* GREATER )
-			// src/main/resources/org/drools/compiler/lang/DRL6Expressions.g:143:7: LESS typeArgument ( COMMA typeArgument )* GREATER
+			// src/main/resources/org/drools/drl/parser/DRL6Expressions.g:150:5: ( LESS typeArgument ( COMMA typeArgument )* GREATER )
+			// src/main/resources/org/drools/drl/parser/DRL6Expressions.g:150:7: LESS typeArgument ( COMMA typeArgument )* GREATER
 			{
 			match(input,LESS,FOLLOW_LESS_in_typeArguments640); if (state.failed) return;
 			pushFollow(FOLLOW_typeArgument_in_typeArguments642);
 			typeArgument();
 			state._fsp--;
 			if (state.failed) return;
-			// src/main/resources/org/drools/compiler/lang/DRL6Expressions.g:143:25: ( COMMA typeArgument )*
+			// src/main/resources/org/drools/drl/parser/DRL6Expressions.g:150:25: ( COMMA typeArgument )*
 			loop12:
 			while (true) {
 				int alt12=2;
@@ -920,7 +916,7 @@ public class DRL6Expressions extends DRLExpressions {
 
 				switch (alt12) {
 				case 1 :
-					// src/main/resources/org/drools/compiler/lang/DRL6Expressions.g:143:26: COMMA typeArgument
+					// src/main/resources/org/drools/drl/parser/DRL6Expressions.g:150:26: COMMA typeArgument
 					{
 					match(input,COMMA,FOLLOW_COMMA_in_typeArguments645); if (state.failed) return;
 					pushFollow(FOLLOW_typeArgument_in_typeArguments647);
@@ -953,10 +949,10 @@ public class DRL6Expressions extends DRLExpressions {
 
 
 	// $ANTLR start "typeArgument"
-	// src/main/resources/org/drools/compiler/lang/DRL6Expressions.g:146:1: typeArgument : ( type | QUESTION ( ( extends_key | super_key ) type )? );
+	// src/main/resources/org/drools/drl/parser/DRL6Expressions.g:153:1: typeArgument : ( type | QUESTION ( ( extends_key | super_key ) type )? );
 	public final void typeArgument() throws RecognitionException {
 		try {
-			// src/main/resources/org/drools/compiler/lang/DRL6Expressions.g:147:5: ( type | QUESTION ( ( extends_key | super_key ) type )? )
+			// src/main/resources/org/drools/drl/parser/DRL6Expressions.g:154:5: ( type | QUESTION ( ( extends_key | super_key ) type )? )
 			int alt15=2;
 			int LA15_0 = input.LA(1);
 			if ( (LA15_0==ID) ) {
@@ -975,7 +971,7 @@ public class DRL6Expressions extends DRLExpressions {
 
 			switch (alt15) {
 				case 1 :
-					// src/main/resources/org/drools/compiler/lang/DRL6Expressions.g:147:7: type
+					// src/main/resources/org/drools/drl/parser/DRL6Expressions.g:154:7: type
 					{
 					pushFollow(FOLLOW_type_in_typeArgument668);
 					type();
@@ -984,10 +980,10 @@ public class DRL6Expressions extends DRLExpressions {
 					}
 					break;
 				case 2 :
-					// src/main/resources/org/drools/compiler/lang/DRL6Expressions.g:148:7: QUESTION ( ( extends_key | super_key ) type )?
+					// src/main/resources/org/drools/drl/parser/DRL6Expressions.g:155:7: QUESTION ( ( extends_key | super_key ) type )?
 					{
 					match(input,QUESTION,FOLLOW_QUESTION_in_typeArgument676); if (state.failed) return;
-					// src/main/resources/org/drools/compiler/lang/DRL6Expressions.g:148:16: ( ( extends_key | super_key ) type )?
+					// src/main/resources/org/drools/drl/parser/DRL6Expressions.g:155:16: ( ( extends_key | super_key ) type )?
 					int alt14=2;
 					int LA14_0 = input.LA(1);
 					if ( (LA14_0==ID) && ((((helper.validateIdentifierKey(DroolsSoftKeywords.EXTENDS)))||((helper.validateIdentifierKey(DroolsSoftKeywords.SUPER)))))) {
@@ -995,9 +991,9 @@ public class DRL6Expressions extends DRLExpressions {
 					}
 					switch (alt14) {
 						case 1 :
-							// src/main/resources/org/drools/compiler/lang/DRL6Expressions.g:148:17: ( extends_key | super_key ) type
+							// src/main/resources/org/drools/drl/parser/DRL6Expressions.g:155:17: ( extends_key | super_key ) type
 							{
-							// src/main/resources/org/drools/compiler/lang/DRL6Expressions.g:148:17: ( extends_key | super_key )
+							// src/main/resources/org/drools/drl/parser/DRL6Expressions.g:155:17: ( extends_key | super_key )
 							int alt13=2;
 							int LA13_0 = input.LA(1);
 							if ( (LA13_0==ID) && ((((helper.validateIdentifierKey(DroolsSoftKeywords.EXTENDS)))||((helper.validateIdentifierKey(DroolsSoftKeywords.SUPER)))))) {
@@ -1026,7 +1022,7 @@ public class DRL6Expressions extends DRLExpressions {
 
 							switch (alt13) {
 								case 1 :
-									// src/main/resources/org/drools/compiler/lang/DRL6Expressions.g:148:18: extends_key
+									// src/main/resources/org/drools/drl/parser/DRL6Expressions.g:155:18: extends_key
 									{
 									pushFollow(FOLLOW_extends_key_in_typeArgument680);
 									extends_key();
@@ -1035,7 +1031,7 @@ public class DRL6Expressions extends DRLExpressions {
 									}
 									break;
 								case 2 :
-									// src/main/resources/org/drools/compiler/lang/DRL6Expressions.g:148:32: super_key
+									// src/main/resources/org/drools/drl/parser/DRL6Expressions.g:155:32: super_key
 									{
 									pushFollow(FOLLOW_super_key_in_typeArgument684);
 									super_key();
@@ -1074,11 +1070,11 @@ public class DRL6Expressions extends DRLExpressions {
 
 
 	// $ANTLR start "dummy"
-	// src/main/resources/org/drools/compiler/lang/DRL6Expressions.g:156:1: dummy : expression ( AT | SEMICOLON | EOF | ID | RIGHT_PAREN ) ;
+	// src/main/resources/org/drools/drl/parser/DRL6Expressions.g:163:1: dummy : expression ( AT | SEMICOLON | EOF | ID | RIGHT_PAREN ) ;
 	public final void dummy() throws RecognitionException {
 		try {
-			// src/main/resources/org/drools/compiler/lang/DRL6Expressions.g:157:5: ( expression ( AT | SEMICOLON | EOF | ID | RIGHT_PAREN ) )
-			// src/main/resources/org/drools/compiler/lang/DRL6Expressions.g:157:7: expression ( AT | SEMICOLON | EOF | ID | RIGHT_PAREN )
+			// src/main/resources/org/drools/drl/parser/DRL6Expressions.g:164:5: ( expression ( AT | SEMICOLON | EOF | ID | RIGHT_PAREN ) )
+			// src/main/resources/org/drools/drl/parser/DRL6Expressions.g:164:7: expression ( AT | SEMICOLON | EOF | ID | RIGHT_PAREN )
 			{
 			pushFollow(FOLLOW_expression_in_dummy711);
 			expression();
@@ -1111,11 +1107,11 @@ public class DRL6Expressions extends DRLExpressions {
 
 
 	// $ANTLR start "dummy2"
-	// src/main/resources/org/drools/compiler/lang/DRL6Expressions.g:159:1: dummy2 : relationalExpression EOF ;
+	// src/main/resources/org/drools/drl/parser/DRL6Expressions.g:166:1: dummy2 : relationalExpression EOF ;
 	public final void dummy2() throws RecognitionException {
 		try {
-			// src/main/resources/org/drools/compiler/lang/DRL6Expressions.g:160:5: ( relationalExpression EOF )
-			// src/main/resources/org/drools/compiler/lang/DRL6Expressions.g:160:8: relationalExpression EOF
+			// src/main/resources/org/drools/drl/parser/DRL6Expressions.g:167:5: ( relationalExpression EOF )
+			// src/main/resources/org/drools/drl/parser/DRL6Expressions.g:167:8: relationalExpression EOF
 			{
 			pushFollow(FOLLOW_relationalExpression_in_dummy2747);
 			relationalExpression();
@@ -1143,7 +1139,7 @@ public class DRL6Expressions extends DRLExpressions {
 
 
 	// $ANTLR start "expression"
-	// src/main/resources/org/drools/compiler/lang/DRL6Expressions.g:163:1: expression returns [BaseDescr result] : left= conditionalExpression ( ( assignmentOperator )=>op= assignmentOperator right= expression )? ;
+	// src/main/resources/org/drools/drl/parser/DRL6Expressions.g:170:1: expression returns [BaseDescr result] : left= conditionalExpression ( ( assignmentOperator )=>op= assignmentOperator right= expression )? ;
 	public final DRL6Expressions.expression_return expression() throws RecognitionException {
 		DRL6Expressions.expression_return retval = new DRL6Expressions.expression_return();
 		retval.start = input.LT(1);
@@ -1152,15 +1148,15 @@ public class DRL6Expressions extends DRLExpressions {
 		ParserRuleReturnScope right =null;
 
 		try {
-			// src/main/resources/org/drools/compiler/lang/DRL6Expressions.g:164:5: (left= conditionalExpression ( ( assignmentOperator )=>op= assignmentOperator right= expression )? )
-			// src/main/resources/org/drools/compiler/lang/DRL6Expressions.g:164:7: left= conditionalExpression ( ( assignmentOperator )=>op= assignmentOperator right= expression )?
+			// src/main/resources/org/drools/drl/parser/DRL6Expressions.g:171:5: (left= conditionalExpression ( ( assignmentOperator )=>op= assignmentOperator right= expression )? )
+			// src/main/resources/org/drools/drl/parser/DRL6Expressions.g:171:7: left= conditionalExpression ( ( assignmentOperator )=>op= assignmentOperator right= expression )?
 			{
 			pushFollow(FOLLOW_conditionalExpression_in_expression768);
 			left=conditionalExpression();
 			state._fsp--;
 			if (state.failed) return retval;
 			if ( state.backtracking==0 ) { if( buildDescr  ) { retval.result = left; } }
-			// src/main/resources/org/drools/compiler/lang/DRL6Expressions.g:165:9: ( ( assignmentOperator )=>op= assignmentOperator right= expression )?
+			// src/main/resources/org/drools/drl/parser/DRL6Expressions.g:172:9: ( ( assignmentOperator )=>op= assignmentOperator right= expression )?
 			int alt16=2;
 			switch ( input.LA(1) ) {
 				case EQUALS_ASSIGN:
@@ -1254,7 +1250,7 @@ public class DRL6Expressions extends DRLExpressions {
 			}
 			switch (alt16) {
 				case 1 :
-					// src/main/resources/org/drools/compiler/lang/DRL6Expressions.g:165:10: ( assignmentOperator )=>op= assignmentOperator right= expression
+					// src/main/resources/org/drools/drl/parser/DRL6Expressions.g:172:10: ( assignmentOperator )=>op= assignmentOperator right= expression
 					{
 					pushFollow(FOLLOW_assignmentOperator_in_expression789);
 					assignmentOperator();
@@ -1289,7 +1285,7 @@ public class DRL6Expressions extends DRLExpressions {
 
 
 	// $ANTLR start "conditionalExpression"
-	// src/main/resources/org/drools/compiler/lang/DRL6Expressions.g:168:1: conditionalExpression returns [BaseDescr result] : left= conditionalOrExpression ( ternaryExpression )? ;
+	// src/main/resources/org/drools/drl/parser/DRL6Expressions.g:175:1: conditionalExpression returns [BaseDescr result] : left= conditionalOrExpression ( ternaryExpression )? ;
 	public final BaseDescr conditionalExpression() throws RecognitionException {
 		BaseDescr result = null;
 
@@ -1297,15 +1293,15 @@ public class DRL6Expressions extends DRLExpressions {
 		BaseDescr left =null;
 
 		try {
-			// src/main/resources/org/drools/compiler/lang/DRL6Expressions.g:169:5: (left= conditionalOrExpression ( ternaryExpression )? )
-			// src/main/resources/org/drools/compiler/lang/DRL6Expressions.g:169:9: left= conditionalOrExpression ( ternaryExpression )?
+			// src/main/resources/org/drools/drl/parser/DRL6Expressions.g:176:5: (left= conditionalOrExpression ( ternaryExpression )? )
+			// src/main/resources/org/drools/drl/parser/DRL6Expressions.g:176:9: left= conditionalOrExpression ( ternaryExpression )?
 			{
 			pushFollow(FOLLOW_conditionalOrExpression_in_conditionalExpression820);
 			left=conditionalOrExpression();
 			state._fsp--;
 			if (state.failed) return result;
 			if ( state.backtracking==0 ) { if( buildDescr  ) { result = left; } }
-			// src/main/resources/org/drools/compiler/lang/DRL6Expressions.g:170:9: ( ternaryExpression )?
+			// src/main/resources/org/drools/drl/parser/DRL6Expressions.g:177:9: ( ternaryExpression )?
 			int alt17=2;
 			int LA17_0 = input.LA(1);
 			if ( (LA17_0==QUESTION) ) {
@@ -1313,7 +1309,7 @@ public class DRL6Expressions extends DRLExpressions {
 			}
 			switch (alt17) {
 				case 1 :
-					// src/main/resources/org/drools/compiler/lang/DRL6Expressions.g:170:9: ternaryExpression
+					// src/main/resources/org/drools/drl/parser/DRL6Expressions.g:177:9: ternaryExpression
 					{
 					pushFollow(FOLLOW_ternaryExpression_in_conditionalExpression832);
 					ternaryExpression();
@@ -1342,15 +1338,15 @@ public class DRL6Expressions extends DRLExpressions {
 
 
 	// $ANTLR start "ternaryExpression"
-	// src/main/resources/org/drools/compiler/lang/DRL6Expressions.g:173:1: ternaryExpression : QUESTION ts= expression COLON fs= expression ;
+	// src/main/resources/org/drools/drl/parser/DRL6Expressions.g:180:1: ternaryExpression : QUESTION ts= expression COLON fs= expression ;
 	public final void ternaryExpression() throws RecognitionException {
 		ParserRuleReturnScope ts =null;
 		ParserRuleReturnScope fs =null;
 
 		 ternOp++; 
 		try {
-			// src/main/resources/org/drools/compiler/lang/DRL6Expressions.g:175:5: ( QUESTION ts= expression COLON fs= expression )
-			// src/main/resources/org/drools/compiler/lang/DRL6Expressions.g:175:7: QUESTION ts= expression COLON fs= expression
+			// src/main/resources/org/drools/drl/parser/DRL6Expressions.g:182:5: ( QUESTION ts= expression COLON fs= expression )
+			// src/main/resources/org/drools/drl/parser/DRL6Expressions.g:182:7: QUESTION ts= expression COLON fs= expression
 			{
 			match(input,QUESTION,FOLLOW_QUESTION_in_ternaryExpression854); if (state.failed) return;
 			pushFollow(FOLLOW_expression_in_ternaryExpression858);
@@ -1380,7 +1376,7 @@ public class DRL6Expressions extends DRLExpressions {
 
 
 	// $ANTLR start "fullAnnotation"
-	// src/main/resources/org/drools/compiler/lang/DRL6Expressions.g:180:1: fullAnnotation[AnnotatedDescrBuilder inDescrBuilder] returns [AnnotationDescr result] : AT name= ID ( DOT x= ID )* annotationArgs[result, annoBuilder] ;
+	// src/main/resources/org/drools/drl/parser/DRL6Expressions.g:187:1: fullAnnotation[AnnotatedDescrBuilder inDescrBuilder] returns [AnnotationDescr result] : AT name= ID ( DOT x= ID )* annotationArgs[result, annoBuilder] ;
 	public final AnnotationDescr fullAnnotation(AnnotatedDescrBuilder inDescrBuilder) throws RecognitionException {
 		AnnotationDescr result = null;
 
@@ -1390,13 +1386,13 @@ public class DRL6Expressions extends DRLExpressions {
 
 		 String n = ""; AnnotationDescrBuilder annoBuilder = null; 
 		try {
-			// src/main/resources/org/drools/compiler/lang/DRL6Expressions.g:182:3: ( AT name= ID ( DOT x= ID )* annotationArgs[result, annoBuilder] )
-			// src/main/resources/org/drools/compiler/lang/DRL6Expressions.g:182:5: AT name= ID ( DOT x= ID )* annotationArgs[result, annoBuilder]
+			// src/main/resources/org/drools/drl/parser/DRL6Expressions.g:189:3: ( AT name= ID ( DOT x= ID )* annotationArgs[result, annoBuilder] )
+			// src/main/resources/org/drools/drl/parser/DRL6Expressions.g:189:5: AT name= ID ( DOT x= ID )* annotationArgs[result, annoBuilder]
 			{
 			match(input,AT,FOLLOW_AT_in_fullAnnotation894); if (state.failed) return result;
 			name=(Token)match(input,ID,FOLLOW_ID_in_fullAnnotation898); if (state.failed) return result;
 			if ( state.backtracking==0 ) { n = (name!=null?name.getText():null); }
-			// src/main/resources/org/drools/compiler/lang/DRL6Expressions.g:182:36: ( DOT x= ID )*
+			// src/main/resources/org/drools/drl/parser/DRL6Expressions.g:189:36: ( DOT x= ID )*
 			loop18:
 			while (true) {
 				int alt18=2;
@@ -1407,7 +1403,7 @@ public class DRL6Expressions extends DRLExpressions {
 
 				switch (alt18) {
 				case 1 :
-					// src/main/resources/org/drools/compiler/lang/DRL6Expressions.g:182:38: DOT x= ID
+					// src/main/resources/org/drools/drl/parser/DRL6Expressions.g:189:38: DOT x= ID
 					{
 					match(input,DOT,FOLLOW_DOT_in_fullAnnotation904); if (state.failed) return result;
 					x=(Token)match(input,ID,FOLLOW_ID_in_fullAnnotation908); if (state.failed) return result;
@@ -1452,16 +1448,16 @@ public class DRL6Expressions extends DRLExpressions {
 
 
 	// $ANTLR start "annotationArgs"
-	// src/main/resources/org/drools/compiler/lang/DRL6Expressions.g:196:1: annotationArgs[AnnotationDescr descr, AnnotatedDescrBuilder inDescrBuilder] : LEFT_PAREN ( ( ID EQUALS_ASSIGN )=> annotationElementValuePairs[descr, inDescrBuilder] |value= annotationValue[inDescrBuilder] )? RIGHT_PAREN ;
+	// src/main/resources/org/drools/drl/parser/DRL6Expressions.g:203:1: annotationArgs[AnnotationDescr descr, AnnotatedDescrBuilder inDescrBuilder] : LEFT_PAREN ( ( ID EQUALS_ASSIGN )=> annotationElementValuePairs[descr, inDescrBuilder] |value= annotationValue[inDescrBuilder] )? RIGHT_PAREN ;
 	public final void annotationArgs(AnnotationDescr descr, AnnotatedDescrBuilder inDescrBuilder) throws RecognitionException {
 		Object value =null;
 
 		try {
-			// src/main/resources/org/drools/compiler/lang/DRL6Expressions.g:197:3: ( LEFT_PAREN ( ( ID EQUALS_ASSIGN )=> annotationElementValuePairs[descr, inDescrBuilder] |value= annotationValue[inDescrBuilder] )? RIGHT_PAREN )
-			// src/main/resources/org/drools/compiler/lang/DRL6Expressions.g:197:5: LEFT_PAREN ( ( ID EQUALS_ASSIGN )=> annotationElementValuePairs[descr, inDescrBuilder] |value= annotationValue[inDescrBuilder] )? RIGHT_PAREN
+			// src/main/resources/org/drools/drl/parser/DRL6Expressions.g:204:3: ( LEFT_PAREN ( ( ID EQUALS_ASSIGN )=> annotationElementValuePairs[descr, inDescrBuilder] |value= annotationValue[inDescrBuilder] )? RIGHT_PAREN )
+			// src/main/resources/org/drools/drl/parser/DRL6Expressions.g:204:5: LEFT_PAREN ( ( ID EQUALS_ASSIGN )=> annotationElementValuePairs[descr, inDescrBuilder] |value= annotationValue[inDescrBuilder] )? RIGHT_PAREN
 			{
 			match(input,LEFT_PAREN,FOLLOW_LEFT_PAREN_in_annotationArgs945); if (state.failed) return;
-			// src/main/resources/org/drools/compiler/lang/DRL6Expressions.g:198:5: ( ( ID EQUALS_ASSIGN )=> annotationElementValuePairs[descr, inDescrBuilder] |value= annotationValue[inDescrBuilder] )?
+			// src/main/resources/org/drools/drl/parser/DRL6Expressions.g:205:5: ( ( ID EQUALS_ASSIGN )=> annotationElementValuePairs[descr, inDescrBuilder] |value= annotationValue[inDescrBuilder] )?
 			int alt19=3;
 			int LA19_0 = input.LA(1);
 			if ( (LA19_0==ID) ) {
@@ -1478,7 +1474,7 @@ public class DRL6Expressions extends DRLExpressions {
 			}
 			switch (alt19) {
 				case 1 :
-					// src/main/resources/org/drools/compiler/lang/DRL6Expressions.g:199:8: ( ID EQUALS_ASSIGN )=> annotationElementValuePairs[descr, inDescrBuilder]
+					// src/main/resources/org/drools/drl/parser/DRL6Expressions.g:206:8: ( ID EQUALS_ASSIGN )=> annotationElementValuePairs[descr, inDescrBuilder]
 					{
 					pushFollow(FOLLOW_annotationElementValuePairs_in_annotationArgs968);
 					annotationElementValuePairs(descr, inDescrBuilder);
@@ -1487,7 +1483,7 @@ public class DRL6Expressions extends DRLExpressions {
 					}
 					break;
 				case 2 :
-					// src/main/resources/org/drools/compiler/lang/DRL6Expressions.g:200:10: value= annotationValue[inDescrBuilder]
+					// src/main/resources/org/drools/drl/parser/DRL6Expressions.g:207:10: value= annotationValue[inDescrBuilder]
 					{
 					pushFollow(FOLLOW_annotationValue_in_annotationArgs982);
 					value=annotationValue(inDescrBuilder);
@@ -1517,17 +1513,17 @@ public class DRL6Expressions extends DRLExpressions {
 
 
 	// $ANTLR start "annotationElementValuePairs"
-	// src/main/resources/org/drools/compiler/lang/DRL6Expressions.g:205:1: annotationElementValuePairs[AnnotationDescr descr, AnnotatedDescrBuilder inDescrBuilder] : annotationElementValuePair[descr, inDescrBuilder] ( COMMA annotationElementValuePair[descr, inDescrBuilder] )* ;
+	// src/main/resources/org/drools/drl/parser/DRL6Expressions.g:212:1: annotationElementValuePairs[AnnotationDescr descr, AnnotatedDescrBuilder inDescrBuilder] : annotationElementValuePair[descr, inDescrBuilder] ( COMMA annotationElementValuePair[descr, inDescrBuilder] )* ;
 	public final void annotationElementValuePairs(AnnotationDescr descr, AnnotatedDescrBuilder inDescrBuilder) throws RecognitionException {
 		try {
-			// src/main/resources/org/drools/compiler/lang/DRL6Expressions.g:206:3: ( annotationElementValuePair[descr, inDescrBuilder] ( COMMA annotationElementValuePair[descr, inDescrBuilder] )* )
-			// src/main/resources/org/drools/compiler/lang/DRL6Expressions.g:206:5: annotationElementValuePair[descr, inDescrBuilder] ( COMMA annotationElementValuePair[descr, inDescrBuilder] )*
+			// src/main/resources/org/drools/drl/parser/DRL6Expressions.g:213:3: ( annotationElementValuePair[descr, inDescrBuilder] ( COMMA annotationElementValuePair[descr, inDescrBuilder] )* )
+			// src/main/resources/org/drools/drl/parser/DRL6Expressions.g:213:5: annotationElementValuePair[descr, inDescrBuilder] ( COMMA annotationElementValuePair[descr, inDescrBuilder] )*
 			{
 			pushFollow(FOLLOW_annotationElementValuePair_in_annotationElementValuePairs1013);
 			annotationElementValuePair(descr, inDescrBuilder);
 			state._fsp--;
 			if (state.failed) return;
-			// src/main/resources/org/drools/compiler/lang/DRL6Expressions.g:206:55: ( COMMA annotationElementValuePair[descr, inDescrBuilder] )*
+			// src/main/resources/org/drools/drl/parser/DRL6Expressions.g:213:55: ( COMMA annotationElementValuePair[descr, inDescrBuilder] )*
 			loop20:
 			while (true) {
 				int alt20=2;
@@ -1538,7 +1534,7 @@ public class DRL6Expressions extends DRLExpressions {
 
 				switch (alt20) {
 				case 1 :
-					// src/main/resources/org/drools/compiler/lang/DRL6Expressions.g:206:57: COMMA annotationElementValuePair[descr, inDescrBuilder]
+					// src/main/resources/org/drools/drl/parser/DRL6Expressions.g:213:57: COMMA annotationElementValuePair[descr, inDescrBuilder]
 					{
 					match(input,COMMA,FOLLOW_COMMA_in_annotationElementValuePairs1018); if (state.failed) return;
 					pushFollow(FOLLOW_annotationElementValuePair_in_annotationElementValuePairs1020);
@@ -1570,14 +1566,14 @@ public class DRL6Expressions extends DRLExpressions {
 
 
 	// $ANTLR start "annotationElementValuePair"
-	// src/main/resources/org/drools/compiler/lang/DRL6Expressions.g:209:1: annotationElementValuePair[AnnotationDescr descr, AnnotatedDescrBuilder inDescrBuilder] : key= ID EQUALS_ASSIGN val= annotationValue[inDescrBuilder] ;
+	// src/main/resources/org/drools/drl/parser/DRL6Expressions.g:216:1: annotationElementValuePair[AnnotationDescr descr, AnnotatedDescrBuilder inDescrBuilder] : key= ID EQUALS_ASSIGN val= annotationValue[inDescrBuilder] ;
 	public final void annotationElementValuePair(AnnotationDescr descr, AnnotatedDescrBuilder inDescrBuilder) throws RecognitionException {
 		Token key=null;
 		Object val =null;
 
 		try {
-			// src/main/resources/org/drools/compiler/lang/DRL6Expressions.g:210:3: (key= ID EQUALS_ASSIGN val= annotationValue[inDescrBuilder] )
-			// src/main/resources/org/drools/compiler/lang/DRL6Expressions.g:210:5: key= ID EQUALS_ASSIGN val= annotationValue[inDescrBuilder]
+			// src/main/resources/org/drools/drl/parser/DRL6Expressions.g:217:3: (key= ID EQUALS_ASSIGN val= annotationValue[inDescrBuilder] )
+			// src/main/resources/org/drools/drl/parser/DRL6Expressions.g:217:5: key= ID EQUALS_ASSIGN val= annotationValue[inDescrBuilder]
 			{
 			key=(Token)match(input,ID,FOLLOW_ID_in_annotationElementValuePair1041); if (state.failed) return;
 			match(input,EQUALS_ASSIGN,FOLLOW_EQUALS_ASSIGN_in_annotationElementValuePair1043); if (state.failed) return;
@@ -1603,7 +1599,7 @@ public class DRL6Expressions extends DRLExpressions {
 
 
 	// $ANTLR start "annotationValue"
-	// src/main/resources/org/drools/compiler/lang/DRL6Expressions.g:213:1: annotationValue[AnnotatedDescrBuilder inDescrBuilder] returns [Object result] : (exp= expression |annos= annotationArray[inDescrBuilder] |anno= fullAnnotation[inDescrBuilder] );
+	// src/main/resources/org/drools/drl/parser/DRL6Expressions.g:220:1: annotationValue[AnnotatedDescrBuilder inDescrBuilder] returns [Object result] : (exp= expression |annos= annotationArray[inDescrBuilder] |anno= fullAnnotation[inDescrBuilder] );
 	public final Object annotationValue(AnnotatedDescrBuilder inDescrBuilder) throws RecognitionException {
 		Object result = null;
 
@@ -1613,7 +1609,7 @@ public class DRL6Expressions extends DRLExpressions {
 		AnnotationDescr anno =null;
 
 		try {
-			// src/main/resources/org/drools/compiler/lang/DRL6Expressions.g:214:3: (exp= expression |annos= annotationArray[inDescrBuilder] |anno= fullAnnotation[inDescrBuilder] )
+			// src/main/resources/org/drools/drl/parser/DRL6Expressions.g:221:3: (exp= expression |annos= annotationArray[inDescrBuilder] |anno= fullAnnotation[inDescrBuilder] )
 			int alt21=3;
 			switch ( input.LA(1) ) {
 			case BOOL:
@@ -1659,7 +1655,7 @@ public class DRL6Expressions extends DRLExpressions {
 			}
 			switch (alt21) {
 				case 1 :
-					// src/main/resources/org/drools/compiler/lang/DRL6Expressions.g:214:5: exp= expression
+					// src/main/resources/org/drools/drl/parser/DRL6Expressions.g:221:5: exp= expression
 					{
 					pushFollow(FOLLOW_expression_in_annotationValue1070);
 					exp=expression();
@@ -1669,7 +1665,7 @@ public class DRL6Expressions extends DRLExpressions {
 					}
 					break;
 				case 2 :
-					// src/main/resources/org/drools/compiler/lang/DRL6Expressions.g:215:7: annos= annotationArray[inDescrBuilder]
+					// src/main/resources/org/drools/drl/parser/DRL6Expressions.g:222:7: annos= annotationArray[inDescrBuilder]
 					{
 					pushFollow(FOLLOW_annotationArray_in_annotationValue1082);
 					annos=annotationArray(inDescrBuilder);
@@ -1679,7 +1675,7 @@ public class DRL6Expressions extends DRLExpressions {
 					}
 					break;
 				case 3 :
-					// src/main/resources/org/drools/compiler/lang/DRL6Expressions.g:216:7: anno= fullAnnotation[inDescrBuilder]
+					// src/main/resources/org/drools/drl/parser/DRL6Expressions.g:223:7: anno= fullAnnotation[inDescrBuilder]
 					{
 					pushFollow(FOLLOW_fullAnnotation_in_annotationValue1095);
 					anno=fullAnnotation(inDescrBuilder);
@@ -1706,7 +1702,7 @@ public class DRL6Expressions extends DRLExpressions {
 
 
 	// $ANTLR start "annotationArray"
-	// src/main/resources/org/drools/compiler/lang/DRL6Expressions.g:219:1: annotationArray[AnnotatedDescrBuilder inDescrBuilder] returns [java.util.List result] : LEFT_CURLY (anno= annotationValue[inDescrBuilder] ( COMMA anno= annotationValue[inDescrBuilder] )* )? RIGHT_CURLY ;
+	// src/main/resources/org/drools/drl/parser/DRL6Expressions.g:226:1: annotationArray[AnnotatedDescrBuilder inDescrBuilder] returns [java.util.List result] : LEFT_CURLY (anno= annotationValue[inDescrBuilder] ( COMMA anno= annotationValue[inDescrBuilder] )* )? RIGHT_CURLY ;
 	public final java.util.List annotationArray(AnnotatedDescrBuilder inDescrBuilder) throws RecognitionException {
 		java.util.List result = null;
 
@@ -1715,11 +1711,11 @@ public class DRL6Expressions extends DRLExpressions {
 
 		 result = new java.util.ArrayList();
 		try {
-			// src/main/resources/org/drools/compiler/lang/DRL6Expressions.g:221:3: ( LEFT_CURLY (anno= annotationValue[inDescrBuilder] ( COMMA anno= annotationValue[inDescrBuilder] )* )? RIGHT_CURLY )
-			// src/main/resources/org/drools/compiler/lang/DRL6Expressions.g:221:6: LEFT_CURLY (anno= annotationValue[inDescrBuilder] ( COMMA anno= annotationValue[inDescrBuilder] )* )? RIGHT_CURLY
+			// src/main/resources/org/drools/drl/parser/DRL6Expressions.g:228:3: ( LEFT_CURLY (anno= annotationValue[inDescrBuilder] ( COMMA anno= annotationValue[inDescrBuilder] )* )? RIGHT_CURLY )
+			// src/main/resources/org/drools/drl/parser/DRL6Expressions.g:228:6: LEFT_CURLY (anno= annotationValue[inDescrBuilder] ( COMMA anno= annotationValue[inDescrBuilder] )* )? RIGHT_CURLY
 			{
 			match(input,LEFT_CURLY,FOLLOW_LEFT_CURLY_in_annotationArray1122); if (state.failed) return result;
-			// src/main/resources/org/drools/compiler/lang/DRL6Expressions.g:221:17: (anno= annotationValue[inDescrBuilder] ( COMMA anno= annotationValue[inDescrBuilder] )* )?
+			// src/main/resources/org/drools/drl/parser/DRL6Expressions.g:228:17: (anno= annotationValue[inDescrBuilder] ( COMMA anno= annotationValue[inDescrBuilder] )* )?
 			int alt23=2;
 			int LA23_0 = input.LA(1);
 			if ( ((LA23_0 >= AT && LA23_0 <= BOOL)||(LA23_0 >= DECIMAL && LA23_0 <= DIV)||LA23_0==DOT||LA23_0==FLOAT||LA23_0==HEX||(LA23_0 >= ID && LA23_0 <= INCR)||(LA23_0 >= LEFT_CURLY && LA23_0 <= LESS)||LA23_0==MINUS||LA23_0==NEGATION||LA23_0==NULL||LA23_0==PLUS||LA23_0==QUESTION_DIV||(LA23_0 >= STAR && LA23_0 <= TIME_INTERVAL)) ) {
@@ -1727,14 +1723,14 @@ public class DRL6Expressions extends DRLExpressions {
 			}
 			switch (alt23) {
 				case 1 :
-					// src/main/resources/org/drools/compiler/lang/DRL6Expressions.g:221:19: anno= annotationValue[inDescrBuilder] ( COMMA anno= annotationValue[inDescrBuilder] )*
+					// src/main/resources/org/drools/drl/parser/DRL6Expressions.g:228:19: anno= annotationValue[inDescrBuilder] ( COMMA anno= annotationValue[inDescrBuilder] )*
 					{
 					pushFollow(FOLLOW_annotationValue_in_annotationArray1128);
 					anno=annotationValue(inDescrBuilder);
 					state._fsp--;
 					if (state.failed) return result;
 					if ( state.backtracking==0 ) { result.add( anno ); }
-					// src/main/resources/org/drools/compiler/lang/DRL6Expressions.g:222:17: ( COMMA anno= annotationValue[inDescrBuilder] )*
+					// src/main/resources/org/drools/drl/parser/DRL6Expressions.g:229:17: ( COMMA anno= annotationValue[inDescrBuilder] )*
 					loop22:
 					while (true) {
 						int alt22=2;
@@ -1745,7 +1741,7 @@ public class DRL6Expressions extends DRLExpressions {
 
 						switch (alt22) {
 						case 1 :
-							// src/main/resources/org/drools/compiler/lang/DRL6Expressions.g:222:19: COMMA anno= annotationValue[inDescrBuilder]
+							// src/main/resources/org/drools/drl/parser/DRL6Expressions.g:229:19: COMMA anno= annotationValue[inDescrBuilder]
 							{
 							match(input,COMMA,FOLLOW_COMMA_in_annotationArray1151); if (state.failed) return result;
 							pushFollow(FOLLOW_annotationValue_in_annotationArray1155);
@@ -1785,7 +1781,7 @@ public class DRL6Expressions extends DRLExpressions {
 
 
 	// $ANTLR start "conditionalOrExpression"
-	// src/main/resources/org/drools/compiler/lang/DRL6Expressions.g:228:1: conditionalOrExpression returns [BaseDescr result] : left= conditionalAndExpression ( DOUBLE_PIPE (args= fullAnnotation[null] )? right= conditionalAndExpression )* ;
+	// src/main/resources/org/drools/drl/parser/DRL6Expressions.g:235:1: conditionalOrExpression returns [BaseDescr result] : left= conditionalAndExpression ( DOUBLE_PIPE (args= fullAnnotation[null] )? right= conditionalAndExpression )* ;
 	public final BaseDescr conditionalOrExpression() throws RecognitionException {
 		BaseDescr result = null;
 
@@ -1795,15 +1791,15 @@ public class DRL6Expressions extends DRLExpressions {
 		BaseDescr right =null;
 
 		try {
-			// src/main/resources/org/drools/compiler/lang/DRL6Expressions.g:229:3: (left= conditionalAndExpression ( DOUBLE_PIPE (args= fullAnnotation[null] )? right= conditionalAndExpression )* )
-			// src/main/resources/org/drools/compiler/lang/DRL6Expressions.g:229:5: left= conditionalAndExpression ( DOUBLE_PIPE (args= fullAnnotation[null] )? right= conditionalAndExpression )*
+			// src/main/resources/org/drools/drl/parser/DRL6Expressions.g:236:3: (left= conditionalAndExpression ( DOUBLE_PIPE (args= fullAnnotation[null] )? right= conditionalAndExpression )* )
+			// src/main/resources/org/drools/drl/parser/DRL6Expressions.g:236:5: left= conditionalAndExpression ( DOUBLE_PIPE (args= fullAnnotation[null] )? right= conditionalAndExpression )*
 			{
 			pushFollow(FOLLOW_conditionalAndExpression_in_conditionalOrExpression1192);
 			left=conditionalAndExpression();
 			state._fsp--;
 			if (state.failed) return result;
 			if ( state.backtracking==0 ) { if( buildDescr ) { result = left; } }
-			// src/main/resources/org/drools/compiler/lang/DRL6Expressions.g:230:3: ( DOUBLE_PIPE (args= fullAnnotation[null] )? right= conditionalAndExpression )*
+			// src/main/resources/org/drools/drl/parser/DRL6Expressions.g:237:3: ( DOUBLE_PIPE (args= fullAnnotation[null] )? right= conditionalAndExpression )*
 			loop25:
 			while (true) {
 				int alt25=2;
@@ -1814,11 +1810,11 @@ public class DRL6Expressions extends DRLExpressions {
 
 				switch (alt25) {
 				case 1 :
-					// src/main/resources/org/drools/compiler/lang/DRL6Expressions.g:230:5: DOUBLE_PIPE (args= fullAnnotation[null] )? right= conditionalAndExpression
+					// src/main/resources/org/drools/drl/parser/DRL6Expressions.g:237:5: DOUBLE_PIPE (args= fullAnnotation[null] )? right= conditionalAndExpression
 					{
 					match(input,DOUBLE_PIPE,FOLLOW_DOUBLE_PIPE_in_conditionalOrExpression1201); if (state.failed) return result;
 					if ( state.backtracking==0 ) {  if ( isNotEOF() ) helper.emit( Location.LOCATION_LHS_INSIDE_CONDITION_OPERATOR );  }
-					// src/main/resources/org/drools/compiler/lang/DRL6Expressions.g:232:13: (args= fullAnnotation[null] )?
+					// src/main/resources/org/drools/drl/parser/DRL6Expressions.g:239:13: (args= fullAnnotation[null] )?
 					int alt24=2;
 					int LA24_0 = input.LA(1);
 					if ( (LA24_0==AT) ) {
@@ -1826,7 +1822,7 @@ public class DRL6Expressions extends DRLExpressions {
 					}
 					switch (alt24) {
 						case 1 :
-							// src/main/resources/org/drools/compiler/lang/DRL6Expressions.g:232:13: args= fullAnnotation[null]
+							// src/main/resources/org/drools/drl/parser/DRL6Expressions.g:239:13: args= fullAnnotation[null]
 							{
 							pushFollow(FOLLOW_fullAnnotation_in_conditionalOrExpression1223);
 							args=fullAnnotation(null);
@@ -1875,7 +1871,7 @@ public class DRL6Expressions extends DRLExpressions {
 
 
 	// $ANTLR start "conditionalAndExpression"
-	// src/main/resources/org/drools/compiler/lang/DRL6Expressions.g:244:1: conditionalAndExpression returns [BaseDescr result] : left= inclusiveOrExpression ( DOUBLE_AMPER (args= fullAnnotation[null] )? right= inclusiveOrExpression )* ;
+	// src/main/resources/org/drools/drl/parser/DRL6Expressions.g:251:1: conditionalAndExpression returns [BaseDescr result] : left= inclusiveOrExpression ( DOUBLE_AMPER (args= fullAnnotation[null] )? right= inclusiveOrExpression )* ;
 	public final BaseDescr conditionalAndExpression() throws RecognitionException {
 		BaseDescr result = null;
 
@@ -1885,15 +1881,15 @@ public class DRL6Expressions extends DRLExpressions {
 		BaseDescr right =null;
 
 		try {
-			// src/main/resources/org/drools/compiler/lang/DRL6Expressions.g:245:3: (left= inclusiveOrExpression ( DOUBLE_AMPER (args= fullAnnotation[null] )? right= inclusiveOrExpression )* )
-			// src/main/resources/org/drools/compiler/lang/DRL6Expressions.g:245:5: left= inclusiveOrExpression ( DOUBLE_AMPER (args= fullAnnotation[null] )? right= inclusiveOrExpression )*
+			// src/main/resources/org/drools/drl/parser/DRL6Expressions.g:252:3: (left= inclusiveOrExpression ( DOUBLE_AMPER (args= fullAnnotation[null] )? right= inclusiveOrExpression )* )
+			// src/main/resources/org/drools/drl/parser/DRL6Expressions.g:252:5: left= inclusiveOrExpression ( DOUBLE_AMPER (args= fullAnnotation[null] )? right= inclusiveOrExpression )*
 			{
 			pushFollow(FOLLOW_inclusiveOrExpression_in_conditionalAndExpression1264);
 			left=inclusiveOrExpression();
 			state._fsp--;
 			if (state.failed) return result;
 			if ( state.backtracking==0 ) { if( buildDescr  ) { result = left; } }
-			// src/main/resources/org/drools/compiler/lang/DRL6Expressions.g:246:3: ( DOUBLE_AMPER (args= fullAnnotation[null] )? right= inclusiveOrExpression )*
+			// src/main/resources/org/drools/drl/parser/DRL6Expressions.g:253:3: ( DOUBLE_AMPER (args= fullAnnotation[null] )? right= inclusiveOrExpression )*
 			loop27:
 			while (true) {
 				int alt27=2;
@@ -1904,11 +1900,11 @@ public class DRL6Expressions extends DRLExpressions {
 
 				switch (alt27) {
 				case 1 :
-					// src/main/resources/org/drools/compiler/lang/DRL6Expressions.g:246:5: DOUBLE_AMPER (args= fullAnnotation[null] )? right= inclusiveOrExpression
+					// src/main/resources/org/drools/drl/parser/DRL6Expressions.g:253:5: DOUBLE_AMPER (args= fullAnnotation[null] )? right= inclusiveOrExpression
 					{
 					match(input,DOUBLE_AMPER,FOLLOW_DOUBLE_AMPER_in_conditionalAndExpression1272); if (state.failed) return result;
 					if ( state.backtracking==0 ) { if ( isNotEOF() ) helper.emit( Location.LOCATION_LHS_INSIDE_CONDITION_OPERATOR ); }
-					// src/main/resources/org/drools/compiler/lang/DRL6Expressions.g:248:13: (args= fullAnnotation[null] )?
+					// src/main/resources/org/drools/drl/parser/DRL6Expressions.g:255:13: (args= fullAnnotation[null] )?
 					int alt26=2;
 					int LA26_0 = input.LA(1);
 					if ( (LA26_0==AT) ) {
@@ -1916,7 +1912,7 @@ public class DRL6Expressions extends DRLExpressions {
 					}
 					switch (alt26) {
 						case 1 :
-							// src/main/resources/org/drools/compiler/lang/DRL6Expressions.g:248:13: args= fullAnnotation[null]
+							// src/main/resources/org/drools/drl/parser/DRL6Expressions.g:255:13: args= fullAnnotation[null]
 							{
 							pushFollow(FOLLOW_fullAnnotation_in_conditionalAndExpression1295);
 							args=fullAnnotation(null);
@@ -1965,7 +1961,7 @@ public class DRL6Expressions extends DRLExpressions {
 
 
 	// $ANTLR start "inclusiveOrExpression"
-	// src/main/resources/org/drools/compiler/lang/DRL6Expressions.g:260:1: inclusiveOrExpression returns [BaseDescr result] : left= exclusiveOrExpression ( PIPE right= exclusiveOrExpression )* ;
+	// src/main/resources/org/drools/drl/parser/DRL6Expressions.g:267:1: inclusiveOrExpression returns [BaseDescr result] : left= exclusiveOrExpression ( PIPE right= exclusiveOrExpression )* ;
 	public final BaseDescr inclusiveOrExpression() throws RecognitionException {
 		BaseDescr result = null;
 
@@ -1974,15 +1970,15 @@ public class DRL6Expressions extends DRLExpressions {
 		BaseDescr right =null;
 
 		try {
-			// src/main/resources/org/drools/compiler/lang/DRL6Expressions.g:261:3: (left= exclusiveOrExpression ( PIPE right= exclusiveOrExpression )* )
-			// src/main/resources/org/drools/compiler/lang/DRL6Expressions.g:261:5: left= exclusiveOrExpression ( PIPE right= exclusiveOrExpression )*
+			// src/main/resources/org/drools/drl/parser/DRL6Expressions.g:268:3: (left= exclusiveOrExpression ( PIPE right= exclusiveOrExpression )* )
+			// src/main/resources/org/drools/drl/parser/DRL6Expressions.g:268:5: left= exclusiveOrExpression ( PIPE right= exclusiveOrExpression )*
 			{
 			pushFollow(FOLLOW_exclusiveOrExpression_in_inclusiveOrExpression1336);
 			left=exclusiveOrExpression();
 			state._fsp--;
 			if (state.failed) return result;
 			if ( state.backtracking==0 ) { if( buildDescr  ) { result = left; } }
-			// src/main/resources/org/drools/compiler/lang/DRL6Expressions.g:262:3: ( PIPE right= exclusiveOrExpression )*
+			// src/main/resources/org/drools/drl/parser/DRL6Expressions.g:269:3: ( PIPE right= exclusiveOrExpression )*
 			loop28:
 			while (true) {
 				int alt28=2;
@@ -1993,7 +1989,7 @@ public class DRL6Expressions extends DRLExpressions {
 
 				switch (alt28) {
 				case 1 :
-					// src/main/resources/org/drools/compiler/lang/DRL6Expressions.g:262:5: PIPE right= exclusiveOrExpression
+					// src/main/resources/org/drools/drl/parser/DRL6Expressions.g:269:5: PIPE right= exclusiveOrExpression
 					{
 					match(input,PIPE,FOLLOW_PIPE_in_inclusiveOrExpression1344); if (state.failed) return result;
 					pushFollow(FOLLOW_exclusiveOrExpression_in_inclusiveOrExpression1348);
@@ -2033,7 +2029,7 @@ public class DRL6Expressions extends DRLExpressions {
 
 
 	// $ANTLR start "exclusiveOrExpression"
-	// src/main/resources/org/drools/compiler/lang/DRL6Expressions.g:273:1: exclusiveOrExpression returns [BaseDescr result] : left= andExpression ( XOR right= andExpression )* ;
+	// src/main/resources/org/drools/drl/parser/DRL6Expressions.g:280:1: exclusiveOrExpression returns [BaseDescr result] : left= andExpression ( XOR right= andExpression )* ;
 	public final BaseDescr exclusiveOrExpression() throws RecognitionException {
 		BaseDescr result = null;
 
@@ -2042,15 +2038,15 @@ public class DRL6Expressions extends DRLExpressions {
 		BaseDescr right =null;
 
 		try {
-			// src/main/resources/org/drools/compiler/lang/DRL6Expressions.g:274:3: (left= andExpression ( XOR right= andExpression )* )
-			// src/main/resources/org/drools/compiler/lang/DRL6Expressions.g:274:5: left= andExpression ( XOR right= andExpression )*
+			// src/main/resources/org/drools/drl/parser/DRL6Expressions.g:281:3: (left= andExpression ( XOR right= andExpression )* )
+			// src/main/resources/org/drools/drl/parser/DRL6Expressions.g:281:5: left= andExpression ( XOR right= andExpression )*
 			{
 			pushFollow(FOLLOW_andExpression_in_exclusiveOrExpression1383);
 			left=andExpression();
 			state._fsp--;
 			if (state.failed) return result;
 			if ( state.backtracking==0 ) { if( buildDescr  ) { result = left; } }
-			// src/main/resources/org/drools/compiler/lang/DRL6Expressions.g:275:3: ( XOR right= andExpression )*
+			// src/main/resources/org/drools/drl/parser/DRL6Expressions.g:282:3: ( XOR right= andExpression )*
 			loop29:
 			while (true) {
 				int alt29=2;
@@ -2061,7 +2057,7 @@ public class DRL6Expressions extends DRLExpressions {
 
 				switch (alt29) {
 				case 1 :
-					// src/main/resources/org/drools/compiler/lang/DRL6Expressions.g:275:5: XOR right= andExpression
+					// src/main/resources/org/drools/drl/parser/DRL6Expressions.g:282:5: XOR right= andExpression
 					{
 					match(input,XOR,FOLLOW_XOR_in_exclusiveOrExpression1391); if (state.failed) return result;
 					pushFollow(FOLLOW_andExpression_in_exclusiveOrExpression1395);
@@ -2101,7 +2097,7 @@ public class DRL6Expressions extends DRLExpressions {
 
 
 	// $ANTLR start "andExpression"
-	// src/main/resources/org/drools/compiler/lang/DRL6Expressions.g:286:1: andExpression returns [BaseDescr result] : left= equalityExpression ( AMPER right= equalityExpression )* ;
+	// src/main/resources/org/drools/drl/parser/DRL6Expressions.g:293:1: andExpression returns [BaseDescr result] : left= equalityExpression ( AMPER right= equalityExpression )* ;
 	public final BaseDescr andExpression() throws RecognitionException {
 		BaseDescr result = null;
 
@@ -2110,15 +2106,15 @@ public class DRL6Expressions extends DRLExpressions {
 		BaseDescr right =null;
 
 		try {
-			// src/main/resources/org/drools/compiler/lang/DRL6Expressions.g:287:3: (left= equalityExpression ( AMPER right= equalityExpression )* )
-			// src/main/resources/org/drools/compiler/lang/DRL6Expressions.g:287:5: left= equalityExpression ( AMPER right= equalityExpression )*
+			// src/main/resources/org/drools/drl/parser/DRL6Expressions.g:294:3: (left= equalityExpression ( AMPER right= equalityExpression )* )
+			// src/main/resources/org/drools/drl/parser/DRL6Expressions.g:294:5: left= equalityExpression ( AMPER right= equalityExpression )*
 			{
 			pushFollow(FOLLOW_equalityExpression_in_andExpression1430);
 			left=equalityExpression();
 			state._fsp--;
 			if (state.failed) return result;
 			if ( state.backtracking==0 ) { if( buildDescr  ) { result = left; } }
-			// src/main/resources/org/drools/compiler/lang/DRL6Expressions.g:288:3: ( AMPER right= equalityExpression )*
+			// src/main/resources/org/drools/drl/parser/DRL6Expressions.g:295:3: ( AMPER right= equalityExpression )*
 			loop30:
 			while (true) {
 				int alt30=2;
@@ -2129,7 +2125,7 @@ public class DRL6Expressions extends DRLExpressions {
 
 				switch (alt30) {
 				case 1 :
-					// src/main/resources/org/drools/compiler/lang/DRL6Expressions.g:288:5: AMPER right= equalityExpression
+					// src/main/resources/org/drools/drl/parser/DRL6Expressions.g:295:5: AMPER right= equalityExpression
 					{
 					match(input,AMPER,FOLLOW_AMPER_in_andExpression1438); if (state.failed) return result;
 					pushFollow(FOLLOW_equalityExpression_in_andExpression1442);
@@ -2169,7 +2165,7 @@ public class DRL6Expressions extends DRLExpressions {
 
 
 	// $ANTLR start "equalityExpression"
-	// src/main/resources/org/drools/compiler/lang/DRL6Expressions.g:299:1: equalityExpression returns [BaseDescr result] : left= instanceOfExpression ( (op= EQUALS |op= NOT_EQUALS ) right= instanceOfExpression )* ;
+	// src/main/resources/org/drools/drl/parser/DRL6Expressions.g:306:1: equalityExpression returns [BaseDescr result] : left= instanceOfExpression ( (op= EQUALS |op= NOT_EQUALS ) right= instanceOfExpression )* ;
 	public final BaseDescr equalityExpression() throws RecognitionException {
 		BaseDescr result = null;
 
@@ -2179,15 +2175,15 @@ public class DRL6Expressions extends DRLExpressions {
 		BaseDescr right =null;
 
 		try {
-			// src/main/resources/org/drools/compiler/lang/DRL6Expressions.g:300:3: (left= instanceOfExpression ( (op= EQUALS |op= NOT_EQUALS ) right= instanceOfExpression )* )
-			// src/main/resources/org/drools/compiler/lang/DRL6Expressions.g:300:5: left= instanceOfExpression ( (op= EQUALS |op= NOT_EQUALS ) right= instanceOfExpression )*
+			// src/main/resources/org/drools/drl/parser/DRL6Expressions.g:307:3: (left= instanceOfExpression ( (op= EQUALS |op= NOT_EQUALS ) right= instanceOfExpression )* )
+			// src/main/resources/org/drools/drl/parser/DRL6Expressions.g:307:5: left= instanceOfExpression ( (op= EQUALS |op= NOT_EQUALS ) right= instanceOfExpression )*
 			{
 			pushFollow(FOLLOW_instanceOfExpression_in_equalityExpression1477);
 			left=instanceOfExpression();
 			state._fsp--;
 			if (state.failed) return result;
 			if ( state.backtracking==0 ) { if( buildDescr  ) { result = left; } }
-			// src/main/resources/org/drools/compiler/lang/DRL6Expressions.g:301:3: ( (op= EQUALS |op= NOT_EQUALS ) right= instanceOfExpression )*
+			// src/main/resources/org/drools/drl/parser/DRL6Expressions.g:308:3: ( (op= EQUALS |op= NOT_EQUALS ) right= instanceOfExpression )*
 			loop32:
 			while (true) {
 				int alt32=2;
@@ -2198,9 +2194,9 @@ public class DRL6Expressions extends DRLExpressions {
 
 				switch (alt32) {
 				case 1 :
-					// src/main/resources/org/drools/compiler/lang/DRL6Expressions.g:301:5: (op= EQUALS |op= NOT_EQUALS ) right= instanceOfExpression
+					// src/main/resources/org/drools/drl/parser/DRL6Expressions.g:308:5: (op= EQUALS |op= NOT_EQUALS ) right= instanceOfExpression
 					{
-					// src/main/resources/org/drools/compiler/lang/DRL6Expressions.g:301:5: (op= EQUALS |op= NOT_EQUALS )
+					// src/main/resources/org/drools/drl/parser/DRL6Expressions.g:308:5: (op= EQUALS |op= NOT_EQUALS )
 					int alt31=2;
 					int LA31_0 = input.LA(1);
 					if ( (LA31_0==EQUALS) ) {
@@ -2219,13 +2215,13 @@ public class DRL6Expressions extends DRLExpressions {
 
 					switch (alt31) {
 						case 1 :
-							// src/main/resources/org/drools/compiler/lang/DRL6Expressions.g:301:7: op= EQUALS
+							// src/main/resources/org/drools/drl/parser/DRL6Expressions.g:308:7: op= EQUALS
 							{
 							op=(Token)match(input,EQUALS,FOLLOW_EQUALS_in_equalityExpression1489); if (state.failed) return result;
 							}
 							break;
 						case 2 :
-							// src/main/resources/org/drools/compiler/lang/DRL6Expressions.g:301:19: op= NOT_EQUALS
+							// src/main/resources/org/drools/drl/parser/DRL6Expressions.g:308:19: op= NOT_EQUALS
 							{
 							op=(Token)match(input,NOT_EQUALS,FOLLOW_NOT_EQUALS_in_equalityExpression1495); if (state.failed) return result;
 							}
@@ -2269,7 +2265,7 @@ public class DRL6Expressions extends DRLExpressions {
 
 
 	// $ANTLR start "instanceOfExpression"
-	// src/main/resources/org/drools/compiler/lang/DRL6Expressions.g:312:1: instanceOfExpression returns [BaseDescr result] : left= inExpression (op= instanceof_key right= type )? ;
+	// src/main/resources/org/drools/drl/parser/DRL6Expressions.g:319:1: instanceOfExpression returns [BaseDescr result] : left= inExpression (op= instanceof_key right= type )? ;
 	public final BaseDescr instanceOfExpression() throws RecognitionException {
 		BaseDescr result = null;
 
@@ -2279,15 +2275,15 @@ public class DRL6Expressions extends DRLExpressions {
 		ParserRuleReturnScope right =null;
 
 		try {
-			// src/main/resources/org/drools/compiler/lang/DRL6Expressions.g:313:3: (left= inExpression (op= instanceof_key right= type )? )
-			// src/main/resources/org/drools/compiler/lang/DRL6Expressions.g:313:5: left= inExpression (op= instanceof_key right= type )?
+			// src/main/resources/org/drools/drl/parser/DRL6Expressions.g:320:3: (left= inExpression (op= instanceof_key right= type )? )
+			// src/main/resources/org/drools/drl/parser/DRL6Expressions.g:320:5: left= inExpression (op= instanceof_key right= type )?
 			{
 			pushFollow(FOLLOW_inExpression_in_instanceOfExpression1546);
 			left=inExpression();
 			state._fsp--;
 			if (state.failed) return result;
 			if ( state.backtracking==0 ) { if( buildDescr  ) { result = left; } }
-			// src/main/resources/org/drools/compiler/lang/DRL6Expressions.g:314:3: (op= instanceof_key right= type )?
+			// src/main/resources/org/drools/drl/parser/DRL6Expressions.g:321:3: (op= instanceof_key right= type )?
 			int alt33=2;
 			int LA33_0 = input.LA(1);
 			if ( (LA33_0==ID) ) {
@@ -2298,7 +2294,7 @@ public class DRL6Expressions extends DRLExpressions {
 			}
 			switch (alt33) {
 				case 1 :
-					// src/main/resources/org/drools/compiler/lang/DRL6Expressions.g:314:5: op= instanceof_key right= type
+					// src/main/resources/org/drools/drl/parser/DRL6Expressions.g:321:5: op= instanceof_key right= type
 					{
 					pushFollow(FOLLOW_instanceof_key_in_instanceOfExpression1556);
 					op=instanceof_key();
@@ -2337,7 +2333,7 @@ public class DRL6Expressions extends DRLExpressions {
 
 
 	// $ANTLR start "inExpression"
-	// src/main/resources/org/drools/compiler/lang/DRL6Expressions.g:325:1: inExpression returns [BaseDescr result] : left= relationalExpression ( ( not_key in_key )=> not_key in= in_key LEFT_PAREN e1= expression ( COMMA e2= expression )* RIGHT_PAREN |in= in_key LEFT_PAREN e1= expression ( COMMA e2= expression )* RIGHT_PAREN )? ;
+	// src/main/resources/org/drools/drl/parser/DRL6Expressions.g:332:1: inExpression returns [BaseDescr result] : left= relationalExpression ( ( not_key in_key )=> not_key in= in_key LEFT_PAREN e1= expression ( COMMA e2= expression )* RIGHT_PAREN |in= in_key LEFT_PAREN e1= expression ( COMMA e2= expression )* RIGHT_PAREN )? ;
 	public final BaseDescr inExpression() throws RecognitionException {
 		BaseDescr result = null;
 
@@ -2348,8 +2344,8 @@ public class DRL6Expressions extends DRLExpressions {
 
 		 ConstraintConnectiveDescr descr = null; BaseDescr leftDescr = null; BindingDescr binding = null; 
 		try {
-			// src/main/resources/org/drools/compiler/lang/DRL6Expressions.g:328:3: (left= relationalExpression ( ( not_key in_key )=> not_key in= in_key LEFT_PAREN e1= expression ( COMMA e2= expression )* RIGHT_PAREN |in= in_key LEFT_PAREN e1= expression ( COMMA e2= expression )* RIGHT_PAREN )? )
-			// src/main/resources/org/drools/compiler/lang/DRL6Expressions.g:328:5: left= relationalExpression ( ( not_key in_key )=> not_key in= in_key LEFT_PAREN e1= expression ( COMMA e2= expression )* RIGHT_PAREN |in= in_key LEFT_PAREN e1= expression ( COMMA e2= expression )* RIGHT_PAREN )?
+			// src/main/resources/org/drools/drl/parser/DRL6Expressions.g:335:3: (left= relationalExpression ( ( not_key in_key )=> not_key in= in_key LEFT_PAREN e1= expression ( COMMA e2= expression )* RIGHT_PAREN |in= in_key LEFT_PAREN e1= expression ( COMMA e2= expression )* RIGHT_PAREN )? )
+			// src/main/resources/org/drools/drl/parser/DRL6Expressions.g:335:5: left= relationalExpression ( ( not_key in_key )=> not_key in= in_key LEFT_PAREN e1= expression ( COMMA e2= expression )* RIGHT_PAREN |in= in_key LEFT_PAREN e1= expression ( COMMA e2= expression )* RIGHT_PAREN )?
 			{
 			pushFollow(FOLLOW_relationalExpression_in_inExpression1615);
 			left=relationalExpression();
@@ -2363,7 +2359,7 @@ public class DRL6Expressions extends DRLExpressions {
 			          leftDescr = left;
 			      }
 			    }
-			// src/main/resources/org/drools/compiler/lang/DRL6Expressions.g:337:5: ( ( not_key in_key )=> not_key in= in_key LEFT_PAREN e1= expression ( COMMA e2= expression )* RIGHT_PAREN |in= in_key LEFT_PAREN e1= expression ( COMMA e2= expression )* RIGHT_PAREN )?
+			// src/main/resources/org/drools/drl/parser/DRL6Expressions.g:344:5: ( ( not_key in_key )=> not_key in= in_key LEFT_PAREN e1= expression ( COMMA e2= expression )* RIGHT_PAREN |in= in_key LEFT_PAREN e1= expression ( COMMA e2= expression )* RIGHT_PAREN )?
 			int alt36=3;
 			int LA36_0 = input.LA(1);
 			if ( (LA36_0==ID) ) {
@@ -2380,7 +2376,7 @@ public class DRL6Expressions extends DRLExpressions {
 			}
 			switch (alt36) {
 				case 1 :
-					// src/main/resources/org/drools/compiler/lang/DRL6Expressions.g:337:6: ( not_key in_key )=> not_key in= in_key LEFT_PAREN e1= expression ( COMMA e2= expression )* RIGHT_PAREN
+					// src/main/resources/org/drools/drl/parser/DRL6Expressions.g:344:6: ( not_key in_key )=> not_key in= in_key LEFT_PAREN e1= expression ( COMMA e2= expression )* RIGHT_PAREN
 					{
 					pushFollow(FOLLOW_not_key_in_inExpression1635);
 					not_key();
@@ -2401,7 +2397,7 @@ public class DRL6Expressions extends DRLExpressions {
 					            descr.addOrMerge( rel );
 					            result = descr;
 					        }
-					// src/main/resources/org/drools/compiler/lang/DRL6Expressions.g:345:7: ( COMMA e2= expression )*
+					// src/main/resources/org/drools/drl/parser/DRL6Expressions.g:352:7: ( COMMA e2= expression )*
 					loop34:
 					while (true) {
 						int alt34=2;
@@ -2412,7 +2408,7 @@ public class DRL6Expressions extends DRLExpressions {
 
 						switch (alt34) {
 						case 1 :
-							// src/main/resources/org/drools/compiler/lang/DRL6Expressions.g:345:8: COMMA e2= expression
+							// src/main/resources/org/drools/drl/parser/DRL6Expressions.g:352:8: COMMA e2= expression
 							{
 							match(input,COMMA,FOLLOW_COMMA_in_inExpression1682); if (state.failed) return result;
 							pushFollow(FOLLOW_expression_in_inExpression1686);
@@ -2435,7 +2431,7 @@ public class DRL6Expressions extends DRLExpressions {
 					}
 					break;
 				case 2 :
-					// src/main/resources/org/drools/compiler/lang/DRL6Expressions.g:351:7: in= in_key LEFT_PAREN e1= expression ( COMMA e2= expression )* RIGHT_PAREN
+					// src/main/resources/org/drools/drl/parser/DRL6Expressions.g:358:7: in= in_key LEFT_PAREN e1= expression ( COMMA e2= expression )* RIGHT_PAREN
 					{
 					pushFollow(FOLLOW_in_key_in_inExpression1723);
 					in_key();
@@ -2452,7 +2448,7 @@ public class DRL6Expressions extends DRLExpressions {
 					            descr.addOrMerge( rel );
 					            result = descr;
 					        }
-					// src/main/resources/org/drools/compiler/lang/DRL6Expressions.g:359:7: ( COMMA e2= expression )*
+					// src/main/resources/org/drools/drl/parser/DRL6Expressions.g:366:7: ( COMMA e2= expression )*
 					loop35:
 					while (true) {
 						int alt35=2;
@@ -2463,7 +2459,7 @@ public class DRL6Expressions extends DRLExpressions {
 
 						switch (alt35) {
 						case 1 :
-							// src/main/resources/org/drools/compiler/lang/DRL6Expressions.g:359:8: COMMA e2= expression
+							// src/main/resources/org/drools/drl/parser/DRL6Expressions.g:366:8: COMMA e2= expression
 							{
 							match(input,COMMA,FOLLOW_COMMA_in_inExpression1766); if (state.failed) return result;
 							pushFollow(FOLLOW_expression_in_inExpression1770);
@@ -2512,7 +2508,7 @@ public class DRL6Expressions extends DRLExpressions {
 
 
 	// $ANTLR start "relationalExpression"
-	// src/main/resources/org/drools/compiler/lang/DRL6Expressions.g:368:1: relationalExpression returns [BaseDescr result] : left= shiftExpression ( ( operator | LEFT_PAREN )=>right= orRestriction )* ;
+	// src/main/resources/org/drools/drl/parser/DRL6Expressions.g:375:1: relationalExpression returns [BaseDescr result] : left= shiftExpression ( ( operator | LEFT_PAREN )=>right= orRestriction )* ;
 	public final BaseDescr relationalExpression() throws RecognitionException {
 		relationalExpression_stack.push(new relationalExpression_scope());
 		BaseDescr result = null;
@@ -2523,8 +2519,8 @@ public class DRL6Expressions extends DRLExpressions {
 
 		 relationalExpression_stack.peek().lsd = null; 
 		try {
-			// src/main/resources/org/drools/compiler/lang/DRL6Expressions.g:371:3: (left= shiftExpression ( ( operator | LEFT_PAREN )=>right= orRestriction )* )
-			// src/main/resources/org/drools/compiler/lang/DRL6Expressions.g:371:5: left= shiftExpression ( ( operator | LEFT_PAREN )=>right= orRestriction )*
+			// src/main/resources/org/drools/drl/parser/DRL6Expressions.g:378:3: (left= shiftExpression ( ( operator | LEFT_PAREN )=>right= orRestriction )* )
+			// src/main/resources/org/drools/drl/parser/DRL6Expressions.g:378:5: left= shiftExpression ( ( operator | LEFT_PAREN )=>right= orRestriction )*
 			{
 			pushFollow(FOLLOW_shiftExpression_in_relationalExpression1832);
 			left=shiftExpression();
@@ -2552,9 +2548,9 @@ public class DRL6Expressions extends DRLExpressions {
 			              result = (left!=null?((DRL6Expressions.shiftExpression_return)left).result:null);
 			          }
 			          relationalExpression_stack.peek().lsd = result;
-			      } 
+			      }
 			    }
-			// src/main/resources/org/drools/compiler/lang/DRL6Expressions.g:396:3: ( ( operator | LEFT_PAREN )=>right= orRestriction )*
+			// src/main/resources/org/drools/drl/parser/DRL6Expressions.g:403:3: ( ( operator | LEFT_PAREN )=>right= orRestriction )*
 			loop37:
 			while (true) {
 				int alt37=2;
@@ -2609,7 +2605,7 @@ public class DRL6Expressions extends DRLExpressions {
 
 				switch (alt37) {
 				case 1 :
-					// src/main/resources/org/drools/compiler/lang/DRL6Expressions.g:396:5: ( operator | LEFT_PAREN )=>right= orRestriction
+					// src/main/resources/org/drools/drl/parser/DRL6Expressions.g:403:5: ( operator | LEFT_PAREN )=>right= orRestriction
 					{
 					pushFollow(FOLLOW_orRestriction_in_relationalExpression1857);
 					right=orRestriction();
@@ -2647,7 +2643,7 @@ public class DRL6Expressions extends DRLExpressions {
 
 
 	// $ANTLR start "orRestriction"
-	// src/main/resources/org/drools/compiler/lang/DRL6Expressions.g:405:1: orRestriction returns [BaseDescr result] : left= andRestriction ( ( DOUBLE_PIPE ( fullAnnotation[null] )? andRestriction )=>lop= DOUBLE_PIPE (args= fullAnnotation[null] )? right= andRestriction )* ( EOF )? ;
+	// src/main/resources/org/drools/drl/parser/DRL6Expressions.g:412:1: orRestriction returns [BaseDescr result] : left= andRestriction ( ( DOUBLE_PIPE ( fullAnnotation[null] )? andRestriction )=>lop= DOUBLE_PIPE (args= fullAnnotation[null] )? right= andRestriction )* ( EOF )? ;
 	public final BaseDescr orRestriction() throws RecognitionException {
 		BaseDescr result = null;
 
@@ -2658,15 +2654,15 @@ public class DRL6Expressions extends DRLExpressions {
 		BaseDescr right =null;
 
 		try {
-			// src/main/resources/org/drools/compiler/lang/DRL6Expressions.g:406:3: (left= andRestriction ( ( DOUBLE_PIPE ( fullAnnotation[null] )? andRestriction )=>lop= DOUBLE_PIPE (args= fullAnnotation[null] )? right= andRestriction )* ( EOF )? )
-			// src/main/resources/org/drools/compiler/lang/DRL6Expressions.g:406:5: left= andRestriction ( ( DOUBLE_PIPE ( fullAnnotation[null] )? andRestriction )=>lop= DOUBLE_PIPE (args= fullAnnotation[null] )? right= andRestriction )* ( EOF )?
+			// src/main/resources/org/drools/drl/parser/DRL6Expressions.g:413:3: (left= andRestriction ( ( DOUBLE_PIPE ( fullAnnotation[null] )? andRestriction )=>lop= DOUBLE_PIPE (args= fullAnnotation[null] )? right= andRestriction )* ( EOF )? )
+			// src/main/resources/org/drools/drl/parser/DRL6Expressions.g:413:5: left= andRestriction ( ( DOUBLE_PIPE ( fullAnnotation[null] )? andRestriction )=>lop= DOUBLE_PIPE (args= fullAnnotation[null] )? right= andRestriction )* ( EOF )?
 			{
 			pushFollow(FOLLOW_andRestriction_in_orRestriction1892);
 			left=andRestriction();
 			state._fsp--;
 			if (state.failed) return result;
 			if ( state.backtracking==0 ) { if( buildDescr  ) { result = left; } }
-			// src/main/resources/org/drools/compiler/lang/DRL6Expressions.g:407:5: ( ( DOUBLE_PIPE ( fullAnnotation[null] )? andRestriction )=>lop= DOUBLE_PIPE (args= fullAnnotation[null] )? right= andRestriction )*
+			// src/main/resources/org/drools/drl/parser/DRL6Expressions.g:414:5: ( ( DOUBLE_PIPE ( fullAnnotation[null] )? andRestriction )=>lop= DOUBLE_PIPE (args= fullAnnotation[null] )? right= andRestriction )*
 			loop39:
 			while (true) {
 				int alt39=2;
@@ -2681,10 +2677,10 @@ public class DRL6Expressions extends DRLExpressions {
 
 				switch (alt39) {
 				case 1 :
-					// src/main/resources/org/drools/compiler/lang/DRL6Expressions.g:407:7: ( DOUBLE_PIPE ( fullAnnotation[null] )? andRestriction )=>lop= DOUBLE_PIPE (args= fullAnnotation[null] )? right= andRestriction
+					// src/main/resources/org/drools/drl/parser/DRL6Expressions.g:414:7: ( DOUBLE_PIPE ( fullAnnotation[null] )? andRestriction )=>lop= DOUBLE_PIPE (args= fullAnnotation[null] )? right= andRestriction
 					{
 					lop=(Token)match(input,DOUBLE_PIPE,FOLLOW_DOUBLE_PIPE_in_orRestriction1914); if (state.failed) return result;
-					// src/main/resources/org/drools/compiler/lang/DRL6Expressions.g:407:79: (args= fullAnnotation[null] )?
+					// src/main/resources/org/drools/drl/parser/DRL6Expressions.g:414:79: (args= fullAnnotation[null] )?
 					int alt38=2;
 					int LA38_0 = input.LA(1);
 					if ( (LA38_0==AT) ) {
@@ -2692,7 +2688,7 @@ public class DRL6Expressions extends DRLExpressions {
 					}
 					switch (alt38) {
 						case 1 :
-							// src/main/resources/org/drools/compiler/lang/DRL6Expressions.g:407:79: args= fullAnnotation[null]
+							// src/main/resources/org/drools/drl/parser/DRL6Expressions.g:414:79: args= fullAnnotation[null]
 							{
 							pushFollow(FOLLOW_fullAnnotation_in_orRestriction1918);
 							args=fullAnnotation(null);
@@ -2723,7 +2719,7 @@ public class DRL6Expressions extends DRLExpressions {
 				}
 			}
 
-			// src/main/resources/org/drools/compiler/lang/DRL6Expressions.g:416:7: ( EOF )?
+			// src/main/resources/org/drools/drl/parser/DRL6Expressions.g:423:7: ( EOF )?
 			int alt40=2;
 			int LA40_0 = input.LA(1);
 			if ( (LA40_0==EOF) ) {
@@ -2740,7 +2736,7 @@ public class DRL6Expressions extends DRLExpressions {
 			}
 			switch (alt40) {
 				case 1 :
-					// src/main/resources/org/drools/compiler/lang/DRL6Expressions.g:416:7: EOF
+					// src/main/resources/org/drools/drl/parser/DRL6Expressions.g:423:7: EOF
 					{
 					match(input,EOF,FOLLOW_EOF_in_orRestriction1943); if (state.failed) return result;
 					}
@@ -2766,7 +2762,7 @@ public class DRL6Expressions extends DRLExpressions {
 
 
 	// $ANTLR start "andRestriction"
-	// src/main/resources/org/drools/compiler/lang/DRL6Expressions.g:419:1: andRestriction returns [BaseDescr result] : left= singleRestriction ( ( DOUBLE_AMPER ( fullAnnotation[null] )? operator )=>lop= DOUBLE_AMPER (args= fullAnnotation[null] )? right= singleRestriction )* ;
+	// src/main/resources/org/drools/drl/parser/DRL6Expressions.g:426:1: andRestriction returns [BaseDescr result] : left= singleRestriction ( ( DOUBLE_AMPER ( fullAnnotation[null] )? operator )=>lop= DOUBLE_AMPER (args= fullAnnotation[null] )? right= singleRestriction )* ;
 	public final BaseDescr andRestriction() throws RecognitionException {
 		BaseDescr result = null;
 
@@ -2777,15 +2773,15 @@ public class DRL6Expressions extends DRLExpressions {
 		BaseDescr right =null;
 
 		try {
-			// src/main/resources/org/drools/compiler/lang/DRL6Expressions.g:420:3: (left= singleRestriction ( ( DOUBLE_AMPER ( fullAnnotation[null] )? operator )=>lop= DOUBLE_AMPER (args= fullAnnotation[null] )? right= singleRestriction )* )
-			// src/main/resources/org/drools/compiler/lang/DRL6Expressions.g:420:5: left= singleRestriction ( ( DOUBLE_AMPER ( fullAnnotation[null] )? operator )=>lop= DOUBLE_AMPER (args= fullAnnotation[null] )? right= singleRestriction )*
+			// src/main/resources/org/drools/drl/parser/DRL6Expressions.g:427:3: (left= singleRestriction ( ( DOUBLE_AMPER ( fullAnnotation[null] )? operator )=>lop= DOUBLE_AMPER (args= fullAnnotation[null] )? right= singleRestriction )* )
+			// src/main/resources/org/drools/drl/parser/DRL6Expressions.g:427:5: left= singleRestriction ( ( DOUBLE_AMPER ( fullAnnotation[null] )? operator )=>lop= DOUBLE_AMPER (args= fullAnnotation[null] )? right= singleRestriction )*
 			{
 			pushFollow(FOLLOW_singleRestriction_in_andRestriction1963);
 			left=singleRestriction();
 			state._fsp--;
 			if (state.failed) return result;
 			if ( state.backtracking==0 ) { if( buildDescr  ) { result = left; } }
-			// src/main/resources/org/drools/compiler/lang/DRL6Expressions.g:421:3: ( ( DOUBLE_AMPER ( fullAnnotation[null] )? operator )=>lop= DOUBLE_AMPER (args= fullAnnotation[null] )? right= singleRestriction )*
+			// src/main/resources/org/drools/drl/parser/DRL6Expressions.g:428:3: ( ( DOUBLE_AMPER ( fullAnnotation[null] )? operator )=>lop= DOUBLE_AMPER (args= fullAnnotation[null] )? right= singleRestriction )*
 			loop42:
 			while (true) {
 				int alt42=2;
@@ -2800,11 +2796,11 @@ public class DRL6Expressions extends DRLExpressions {
 
 				switch (alt42) {
 				case 1 :
-					// src/main/resources/org/drools/compiler/lang/DRL6Expressions.g:421:5: ( DOUBLE_AMPER ( fullAnnotation[null] )? operator )=>lop= DOUBLE_AMPER (args= fullAnnotation[null] )? right= singleRestriction
+					// src/main/resources/org/drools/drl/parser/DRL6Expressions.g:428:5: ( DOUBLE_AMPER ( fullAnnotation[null] )? operator )=>lop= DOUBLE_AMPER (args= fullAnnotation[null] )? right= singleRestriction
 					{
 					lop=(Token)match(input,DOUBLE_AMPER,FOLLOW_DOUBLE_AMPER_in_andRestriction1983); if (state.failed) return result;
 					if ( state.backtracking==0 ) { if ( isNotEOF() ) helper.emit( Location.LOCATION_LHS_INSIDE_CONDITION_OPERATOR ); }
-					// src/main/resources/org/drools/compiler/lang/DRL6Expressions.g:423:13: (args= fullAnnotation[null] )?
+					// src/main/resources/org/drools/drl/parser/DRL6Expressions.g:430:13: (args= fullAnnotation[null] )?
 					int alt41=2;
 					int LA41_0 = input.LA(1);
 					if ( (LA41_0==AT) ) {
@@ -2812,7 +2808,7 @@ public class DRL6Expressions extends DRLExpressions {
 					}
 					switch (alt41) {
 						case 1 :
-							// src/main/resources/org/drools/compiler/lang/DRL6Expressions.g:423:13: args= fullAnnotation[null]
+							// src/main/resources/org/drools/drl/parser/DRL6Expressions.g:430:13: args= fullAnnotation[null]
 							{
 							pushFollow(FOLLOW_fullAnnotation_in_andRestriction2004);
 							args=fullAnnotation(null);
@@ -2861,7 +2857,7 @@ public class DRL6Expressions extends DRLExpressions {
 
 
 	// $ANTLR start "singleRestriction"
-	// src/main/resources/org/drools/compiler/lang/DRL6Expressions.g:435:1: singleRestriction returns [BaseDescr result] : (op= operator ( ( squareArguments shiftExpression )=>sa= squareArguments value= shiftExpression |value= shiftExpression ) | LEFT_PAREN or= orRestriction RIGHT_PAREN );
+	// src/main/resources/org/drools/drl/parser/DRL6Expressions.g:442:1: singleRestriction returns [BaseDescr result] : (op= operator ( ( squareArguments shiftExpression )=>sa= squareArguments value= shiftExpression |value= shiftExpression ) | LEFT_PAREN or= orRestriction RIGHT_PAREN );
 	public final BaseDescr singleRestriction() throws RecognitionException {
 		BaseDescr result = null;
 
@@ -2872,7 +2868,7 @@ public class DRL6Expressions extends DRLExpressions {
 		BaseDescr or =null;
 
 		try {
-			// src/main/resources/org/drools/compiler/lang/DRL6Expressions.g:436:3: (op= operator ( ( squareArguments shiftExpression )=>sa= squareArguments value= shiftExpression |value= shiftExpression ) | LEFT_PAREN or= orRestriction RIGHT_PAREN )
+			// src/main/resources/org/drools/drl/parser/DRL6Expressions.g:443:3: (op= operator ( ( squareArguments shiftExpression )=>sa= squareArguments value= shiftExpression |value= shiftExpression ) | LEFT_PAREN or= orRestriction RIGHT_PAREN )
 			int alt44=2;
 			int LA44_0 = input.LA(1);
 			if ( (LA44_0==EQUALS||(LA44_0 >= GREATER && LA44_0 <= GREATER_EQUALS)||(LA44_0 >= LESS && LA44_0 <= LESS_EQUALS)||LA44_0==NOT_EQUALS||LA44_0==TILDE) ) {
@@ -2894,14 +2890,14 @@ public class DRL6Expressions extends DRLExpressions {
 
 			switch (alt44) {
 				case 1 :
-					// src/main/resources/org/drools/compiler/lang/DRL6Expressions.g:436:6: op= operator ( ( squareArguments shiftExpression )=>sa= squareArguments value= shiftExpression |value= shiftExpression )
+					// src/main/resources/org/drools/drl/parser/DRL6Expressions.g:443:6: op= operator ( ( squareArguments shiftExpression )=>sa= squareArguments value= shiftExpression |value= shiftExpression )
 					{
 					pushFollow(FOLLOW_operator_in_singleRestriction2045);
 					op=operator();
 					state._fsp--;
 					if (state.failed) return result;
 					if ( state.backtracking==0 ) { helper.emit( Location.LOCATION_LHS_INSIDE_CONDITION_ARGUMENT ); }
-					// src/main/resources/org/drools/compiler/lang/DRL6Expressions.g:438:6: ( ( squareArguments shiftExpression )=>sa= squareArguments value= shiftExpression |value= shiftExpression )
+					// src/main/resources/org/drools/drl/parser/DRL6Expressions.g:445:6: ( ( squareArguments shiftExpression )=>sa= squareArguments value= shiftExpression |value= shiftExpression )
 					int alt43=2;
 					int LA43_0 = input.LA(1);
 					if ( (LA43_0==LEFT_SQUARE) ) {
@@ -2927,7 +2923,7 @@ public class DRL6Expressions extends DRLExpressions {
 
 					switch (alt43) {
 						case 1 :
-							// src/main/resources/org/drools/compiler/lang/DRL6Expressions.g:438:8: ( squareArguments shiftExpression )=>sa= squareArguments value= shiftExpression
+							// src/main/resources/org/drools/drl/parser/DRL6Expressions.g:445:8: ( squareArguments shiftExpression )=>sa= squareArguments value= shiftExpression
 							{
 							pushFollow(FOLLOW_squareArguments_in_singleRestriction2074);
 							sa=squareArguments();
@@ -2940,7 +2936,7 @@ public class DRL6Expressions extends DRLExpressions {
 							}
 							break;
 						case 2 :
-							// src/main/resources/org/drools/compiler/lang/DRL6Expressions.g:439:10: value= shiftExpression
+							// src/main/resources/org/drools/drl/parser/DRL6Expressions.g:446:10: value= shiftExpression
 							{
 							pushFollow(FOLLOW_shiftExpression_in_singleRestriction2091);
 							value=shiftExpression();
@@ -2967,7 +2963,7 @@ public class DRL6Expressions extends DRLExpressions {
 					}
 					break;
 				case 2 :
-					// src/main/resources/org/drools/compiler/lang/DRL6Expressions.g:454:6: LEFT_PAREN or= orRestriction RIGHT_PAREN
+					// src/main/resources/org/drools/drl/parser/DRL6Expressions.g:461:6: LEFT_PAREN or= orRestriction RIGHT_PAREN
 					{
 					match(input,LEFT_PAREN,FOLLOW_LEFT_PAREN_in_singleRestriction2116); if (state.failed) return result;
 					pushFollow(FOLLOW_orRestriction_in_singleRestriction2120);
@@ -3000,7 +2996,7 @@ public class DRL6Expressions extends DRLExpressions {
 
 
 	// $ANTLR start "shiftExpression"
-	// src/main/resources/org/drools/compiler/lang/DRL6Expressions.g:459:1: shiftExpression returns [BaseDescr result] : left= additiveExpression ( ( shiftOp )=> shiftOp additiveExpression )* ;
+	// src/main/resources/org/drools/drl/parser/DRL6Expressions.g:466:1: shiftExpression returns [BaseDescr result] : left= additiveExpression ( ( shiftOp )=> shiftOp additiveExpression )* ;
 	public final DRL6Expressions.shiftExpression_return shiftExpression() throws RecognitionException {
 		DRL6Expressions.shiftExpression_return retval = new DRL6Expressions.shiftExpression_return();
 		retval.start = input.LT(1);
@@ -3008,15 +3004,15 @@ public class DRL6Expressions extends DRLExpressions {
 		BaseDescr left =null;
 
 		try {
-			// src/main/resources/org/drools/compiler/lang/DRL6Expressions.g:460:3: (left= additiveExpression ( ( shiftOp )=> shiftOp additiveExpression )* )
-			// src/main/resources/org/drools/compiler/lang/DRL6Expressions.g:460:5: left= additiveExpression ( ( shiftOp )=> shiftOp additiveExpression )*
+			// src/main/resources/org/drools/drl/parser/DRL6Expressions.g:467:3: (left= additiveExpression ( ( shiftOp )=> shiftOp additiveExpression )* )
+			// src/main/resources/org/drools/drl/parser/DRL6Expressions.g:467:5: left= additiveExpression ( ( shiftOp )=> shiftOp additiveExpression )*
 			{
 			pushFollow(FOLLOW_additiveExpression_in_shiftExpression2146);
 			left=additiveExpression();
 			state._fsp--;
 			if (state.failed) return retval;
 			if ( state.backtracking==0 ) { if( buildDescr  ) { retval.result = left; } }
-			// src/main/resources/org/drools/compiler/lang/DRL6Expressions.g:461:5: ( ( shiftOp )=> shiftOp additiveExpression )*
+			// src/main/resources/org/drools/drl/parser/DRL6Expressions.g:468:5: ( ( shiftOp )=> shiftOp additiveExpression )*
 			loop45:
 			while (true) {
 				int alt45=2;
@@ -3038,7 +3034,7 @@ public class DRL6Expressions extends DRLExpressions {
 
 				switch (alt45) {
 				case 1 :
-					// src/main/resources/org/drools/compiler/lang/DRL6Expressions.g:461:7: ( shiftOp )=> shiftOp additiveExpression
+					// src/main/resources/org/drools/drl/parser/DRL6Expressions.g:468:7: ( shiftOp )=> shiftOp additiveExpression
 					{
 					pushFollow(FOLLOW_shiftOp_in_shiftExpression2160);
 					shiftOp();
@@ -3076,13 +3072,13 @@ public class DRL6Expressions extends DRLExpressions {
 
 
 	// $ANTLR start "shiftOp"
-	// src/main/resources/org/drools/compiler/lang/DRL6Expressions.g:464:1: shiftOp : ( LESS LESS | GREATER GREATER GREATER | GREATER GREATER ) ;
+	// src/main/resources/org/drools/drl/parser/DRL6Expressions.g:471:1: shiftOp : ( LESS LESS | GREATER GREATER GREATER | GREATER GREATER ) ;
 	public final void shiftOp() throws RecognitionException {
 		try {
-			// src/main/resources/org/drools/compiler/lang/DRL6Expressions.g:465:5: ( ( LESS LESS | GREATER GREATER GREATER | GREATER GREATER ) )
-			// src/main/resources/org/drools/compiler/lang/DRL6Expressions.g:465:7: ( LESS LESS | GREATER GREATER GREATER | GREATER GREATER )
+			// src/main/resources/org/drools/drl/parser/DRL6Expressions.g:472:5: ( ( LESS LESS | GREATER GREATER GREATER | GREATER GREATER ) )
+			// src/main/resources/org/drools/drl/parser/DRL6Expressions.g:472:7: ( LESS LESS | GREATER GREATER GREATER | GREATER GREATER )
 			{
-			// src/main/resources/org/drools/compiler/lang/DRL6Expressions.g:465:7: ( LESS LESS | GREATER GREATER GREATER | GREATER GREATER )
+			// src/main/resources/org/drools/drl/parser/DRL6Expressions.g:472:7: ( LESS LESS | GREATER GREATER GREATER | GREATER GREATER )
 			int alt46=3;
 			int LA46_0 = input.LA(1);
 			if ( (LA46_0==LESS) ) {
@@ -3140,14 +3136,14 @@ public class DRL6Expressions extends DRLExpressions {
 
 			switch (alt46) {
 				case 1 :
-					// src/main/resources/org/drools/compiler/lang/DRL6Expressions.g:465:9: LESS LESS
+					// src/main/resources/org/drools/drl/parser/DRL6Expressions.g:472:9: LESS LESS
 					{
 					match(input,LESS,FOLLOW_LESS_in_shiftOp2182); if (state.failed) return;
 					match(input,LESS,FOLLOW_LESS_in_shiftOp2184); if (state.failed) return;
 					}
 					break;
 				case 2 :
-					// src/main/resources/org/drools/compiler/lang/DRL6Expressions.g:466:11: GREATER GREATER GREATER
+					// src/main/resources/org/drools/drl/parser/DRL6Expressions.g:473:11: GREATER GREATER GREATER
 					{
 					match(input,GREATER,FOLLOW_GREATER_in_shiftOp2196); if (state.failed) return;
 					match(input,GREATER,FOLLOW_GREATER_in_shiftOp2198); if (state.failed) return;
@@ -3155,7 +3151,7 @@ public class DRL6Expressions extends DRLExpressions {
 					}
 					break;
 				case 3 :
-					// src/main/resources/org/drools/compiler/lang/DRL6Expressions.g:467:11: GREATER GREATER
+					// src/main/resources/org/drools/drl/parser/DRL6Expressions.g:474:11: GREATER GREATER
 					{
 					match(input,GREATER,FOLLOW_GREATER_in_shiftOp2212); if (state.failed) return;
 					match(input,GREATER,FOLLOW_GREATER_in_shiftOp2214); if (state.failed) return;
@@ -3181,7 +3177,7 @@ public class DRL6Expressions extends DRLExpressions {
 
 
 	// $ANTLR start "additiveExpression"
-	// src/main/resources/org/drools/compiler/lang/DRL6Expressions.g:470:1: additiveExpression returns [BaseDescr result] : left= multiplicativeExpression ( ( PLUS | MINUS )=> ( PLUS | MINUS ) multiplicativeExpression )* ;
+	// src/main/resources/org/drools/drl/parser/DRL6Expressions.g:477:1: additiveExpression returns [BaseDescr result] : left= multiplicativeExpression ( ( PLUS | MINUS )=> ( PLUS | MINUS ) multiplicativeExpression )* ;
 	public final BaseDescr additiveExpression() throws RecognitionException {
 		BaseDescr result = null;
 
@@ -3189,15 +3185,15 @@ public class DRL6Expressions extends DRLExpressions {
 		BaseDescr left =null;
 
 		try {
-			// src/main/resources/org/drools/compiler/lang/DRL6Expressions.g:471:5: (left= multiplicativeExpression ( ( PLUS | MINUS )=> ( PLUS | MINUS ) multiplicativeExpression )* )
-			// src/main/resources/org/drools/compiler/lang/DRL6Expressions.g:471:9: left= multiplicativeExpression ( ( PLUS | MINUS )=> ( PLUS | MINUS ) multiplicativeExpression )*
+			// src/main/resources/org/drools/drl/parser/DRL6Expressions.g:478:5: (left= multiplicativeExpression ( ( PLUS | MINUS )=> ( PLUS | MINUS ) multiplicativeExpression )* )
+			// src/main/resources/org/drools/drl/parser/DRL6Expressions.g:478:9: left= multiplicativeExpression ( ( PLUS | MINUS )=> ( PLUS | MINUS ) multiplicativeExpression )*
 			{
 			pushFollow(FOLLOW_multiplicativeExpression_in_additiveExpression2242);
 			left=multiplicativeExpression();
 			state._fsp--;
 			if (state.failed) return result;
 			if ( state.backtracking==0 ) { if( buildDescr  ) { result = left; } }
-			// src/main/resources/org/drools/compiler/lang/DRL6Expressions.g:472:9: ( ( PLUS | MINUS )=> ( PLUS | MINUS ) multiplicativeExpression )*
+			// src/main/resources/org/drools/drl/parser/DRL6Expressions.g:479:9: ( ( PLUS | MINUS )=> ( PLUS | MINUS ) multiplicativeExpression )*
 			loop47:
 			while (true) {
 				int alt47=2;
@@ -3208,7 +3204,7 @@ public class DRL6Expressions extends DRLExpressions {
 
 				switch (alt47) {
 				case 1 :
-					// src/main/resources/org/drools/compiler/lang/DRL6Expressions.g:472:11: ( PLUS | MINUS )=> ( PLUS | MINUS ) multiplicativeExpression
+					// src/main/resources/org/drools/drl/parser/DRL6Expressions.g:479:11: ( PLUS | MINUS )=> ( PLUS | MINUS ) multiplicativeExpression
 					{
 					if ( input.LA(1)==MINUS||input.LA(1)==PLUS ) {
 						input.consume();
@@ -3250,7 +3246,7 @@ public class DRL6Expressions extends DRLExpressions {
 
 
 	// $ANTLR start "multiplicativeExpression"
-	// src/main/resources/org/drools/compiler/lang/DRL6Expressions.g:475:1: multiplicativeExpression returns [BaseDescr result] : left= unaryExpression ( ( STAR | DIV | MOD ) unaryExpression )* ;
+	// src/main/resources/org/drools/drl/parser/DRL6Expressions.g:482:1: multiplicativeExpression returns [BaseDescr result] : left= unaryExpression ( ( STAR | DIV | MOD ) unaryExpression )* ;
 	public final BaseDescr multiplicativeExpression() throws RecognitionException {
 		BaseDescr result = null;
 
@@ -3258,15 +3254,15 @@ public class DRL6Expressions extends DRLExpressions {
 		BaseDescr left =null;
 
 		try {
-			// src/main/resources/org/drools/compiler/lang/DRL6Expressions.g:476:5: (left= unaryExpression ( ( STAR | DIV | MOD ) unaryExpression )* )
-			// src/main/resources/org/drools/compiler/lang/DRL6Expressions.g:476:9: left= unaryExpression ( ( STAR | DIV | MOD ) unaryExpression )*
+			// src/main/resources/org/drools/drl/parser/DRL6Expressions.g:483:5: (left= unaryExpression ( ( STAR | DIV | MOD ) unaryExpression )* )
+			// src/main/resources/org/drools/drl/parser/DRL6Expressions.g:483:9: left= unaryExpression ( ( STAR | DIV | MOD ) unaryExpression )*
 			{
 			pushFollow(FOLLOW_unaryExpression_in_multiplicativeExpression2299);
 			left=unaryExpression();
 			state._fsp--;
 			if (state.failed) return result;
 			if ( state.backtracking==0 ) { if( buildDescr  ) { result = left; } }
-			// src/main/resources/org/drools/compiler/lang/DRL6Expressions.g:477:7: ( ( STAR | DIV | MOD ) unaryExpression )*
+			// src/main/resources/org/drools/drl/parser/DRL6Expressions.g:484:7: ( ( STAR | DIV | MOD ) unaryExpression )*
 			loop48:
 			while (true) {
 				int alt48=2;
@@ -3277,7 +3273,7 @@ public class DRL6Expressions extends DRLExpressions {
 
 				switch (alt48) {
 				case 1 :
-					// src/main/resources/org/drools/compiler/lang/DRL6Expressions.g:477:9: ( STAR | DIV | MOD ) unaryExpression
+					// src/main/resources/org/drools/drl/parser/DRL6Expressions.g:484:9: ( STAR | DIV | MOD ) unaryExpression
 					{
 					if ( input.LA(1)==DIV||input.LA(1)==MOD||input.LA(1)==STAR ) {
 						input.consume();
@@ -3319,7 +3315,7 @@ public class DRL6Expressions extends DRLExpressions {
 
 
 	// $ANTLR start "unaryExpression"
-	// src/main/resources/org/drools/compiler/lang/DRL6Expressions.g:480:1: unaryExpression returns [BaseDescr result] : ( PLUS ue= unaryExpression | MINUS ue= unaryExpression | INCR primary | DECR primary |left= unaryExpressionNotPlusMinus );
+	// src/main/resources/org/drools/drl/parser/DRL6Expressions.g:487:1: unaryExpression returns [BaseDescr result] : ( PLUS ue= unaryExpression | MINUS ue= unaryExpression | INCR primary | DECR primary |left= unaryExpressionNotPlusMinus );
 	public final BaseDescr unaryExpression() throws RecognitionException {
 		BaseDescr result = null;
 
@@ -3328,7 +3324,7 @@ public class DRL6Expressions extends DRLExpressions {
 		ParserRuleReturnScope left =null;
 
 		try {
-			// src/main/resources/org/drools/compiler/lang/DRL6Expressions.g:481:5: ( PLUS ue= unaryExpression | MINUS ue= unaryExpression | INCR primary | DECR primary |left= unaryExpressionNotPlusMinus )
+			// src/main/resources/org/drools/drl/parser/DRL6Expressions.g:488:5: ( PLUS ue= unaryExpression | MINUS ue= unaryExpression | INCR primary | DECR primary |left= unaryExpressionNotPlusMinus )
 			int alt49=5;
 			switch ( input.LA(1) ) {
 			case PLUS:
@@ -3380,7 +3376,7 @@ public class DRL6Expressions extends DRLExpressions {
 			}
 			switch (alt49) {
 				case 1 :
-					// src/main/resources/org/drools/compiler/lang/DRL6Expressions.g:481:9: PLUS ue= unaryExpression
+					// src/main/resources/org/drools/drl/parser/DRL6Expressions.g:488:9: PLUS ue= unaryExpression
 					{
 					match(input,PLUS,FOLLOW_PLUS_in_unaryExpression2351); if (state.failed) return result;
 					pushFollow(FOLLOW_unaryExpression_in_unaryExpression2355);
@@ -3396,7 +3392,7 @@ public class DRL6Expressions extends DRLExpressions {
 					}
 					break;
 				case 2 :
-					// src/main/resources/org/drools/compiler/lang/DRL6Expressions.g:488:7: MINUS ue= unaryExpression
+					// src/main/resources/org/drools/drl/parser/DRL6Expressions.g:495:7: MINUS ue= unaryExpression
 					{
 					match(input,MINUS,FOLLOW_MINUS_in_unaryExpression2373); if (state.failed) return result;
 					pushFollow(FOLLOW_unaryExpression_in_unaryExpression2377);
@@ -3412,7 +3408,7 @@ public class DRL6Expressions extends DRLExpressions {
 					}
 					break;
 				case 3 :
-					// src/main/resources/org/drools/compiler/lang/DRL6Expressions.g:495:9: INCR primary
+					// src/main/resources/org/drools/drl/parser/DRL6Expressions.g:502:9: INCR primary
 					{
 					match(input,INCR,FOLLOW_INCR_in_unaryExpression2397); if (state.failed) return result;
 					pushFollow(FOLLOW_primary_in_unaryExpression2399);
@@ -3422,7 +3418,7 @@ public class DRL6Expressions extends DRLExpressions {
 					}
 					break;
 				case 4 :
-					// src/main/resources/org/drools/compiler/lang/DRL6Expressions.g:496:9: DECR primary
+					// src/main/resources/org/drools/drl/parser/DRL6Expressions.g:503:9: DECR primary
 					{
 					match(input,DECR,FOLLOW_DECR_in_unaryExpression2409); if (state.failed) return result;
 					pushFollow(FOLLOW_primary_in_unaryExpression2411);
@@ -3432,7 +3428,7 @@ public class DRL6Expressions extends DRLExpressions {
 					}
 					break;
 				case 5 :
-					// src/main/resources/org/drools/compiler/lang/DRL6Expressions.g:497:9: left= unaryExpressionNotPlusMinus
+					// src/main/resources/org/drools/drl/parser/DRL6Expressions.g:504:9: left= unaryExpressionNotPlusMinus
 					{
 					pushFollow(FOLLOW_unaryExpressionNotPlusMinus_in_unaryExpression2423);
 					left=unaryExpressionNotPlusMinus();
@@ -3463,7 +3459,7 @@ public class DRL6Expressions extends DRLExpressions {
 
 
 	// $ANTLR start "unaryExpressionNotPlusMinus"
-	// src/main/resources/org/drools/compiler/lang/DRL6Expressions.g:500:1: unaryExpressionNotPlusMinus returns [BaseDescr result] : ( TILDE unaryExpression | NEGATION ue= unaryExpression | ( castExpression )=> castExpression | ( backReferenceExpression )=> backReferenceExpression | ( ({...}? (var= ID COLON ) ) | ({...}? (var= ID UNIFY ) ) )? ( ( xpathSeparator ID )=>left2= xpathPrimary |left1= primary ) ( ( selector )=> selector )* ( ( INCR | DECR )=> ( INCR | DECR ) )? );
+	// src/main/resources/org/drools/drl/parser/DRL6Expressions.g:507:1: unaryExpressionNotPlusMinus returns [BaseDescr result] : ( TILDE unaryExpression | NEGATION ue= unaryExpression | ( castExpression )=> castExpression | ( backReferenceExpression )=> backReferenceExpression | ( ({...}? (var= ID COLON ) ) | ({...}? (var= ID UNIFY ) ) )? ( ( xpathSeparator ID )=>left2= xpathPrimary |left1= primary ) ( ( selector )=> selector )* ( ( INCR | DECR )=> ( INCR | DECR ) )? );
 	public final DRL6Expressions.unaryExpressionNotPlusMinus_return unaryExpressionNotPlusMinus() throws RecognitionException {
 		DRL6Expressions.unaryExpressionNotPlusMinus_return retval = new DRL6Expressions.unaryExpressionNotPlusMinus_return();
 		retval.start = input.LT(1);
@@ -3477,7 +3473,7 @@ public class DRL6Expressions extends DRLExpressions {
 
 		 boolean isLeft = false; BindingDescr bind = null;
 		try {
-			// src/main/resources/org/drools/compiler/lang/DRL6Expressions.g:502:5: ( TILDE unaryExpression | NEGATION ue= unaryExpression | ( castExpression )=> castExpression | ( backReferenceExpression )=> backReferenceExpression | ( ({...}? (var= ID COLON ) ) | ({...}? (var= ID UNIFY ) ) )? ( ( xpathSeparator ID )=>left2= xpathPrimary |left1= primary ) ( ( selector )=> selector )* ( ( INCR | DECR )=> ( INCR | DECR ) )? )
+			// src/main/resources/org/drools/drl/parser/DRL6Expressions.g:509:5: ( TILDE unaryExpression | NEGATION ue= unaryExpression | ( castExpression )=> castExpression | ( backReferenceExpression )=> backReferenceExpression | ( ({...}? (var= ID COLON ) ) | ({...}? (var= ID UNIFY ) ) )? ( ( xpathSeparator ID )=>left2= xpathPrimary |left1= primary ) ( ( selector )=> selector )* ( ( INCR | DECR )=> ( INCR | DECR ) )? )
 			int alt54=5;
 			int LA54_0 = input.LA(1);
 			if ( (LA54_0==TILDE) ) {
@@ -3512,7 +3508,7 @@ public class DRL6Expressions extends DRLExpressions {
 
 			switch (alt54) {
 				case 1 :
-					// src/main/resources/org/drools/compiler/lang/DRL6Expressions.g:502:9: TILDE unaryExpression
+					// src/main/resources/org/drools/drl/parser/DRL6Expressions.g:509:9: TILDE unaryExpression
 					{
 					match(input,TILDE,FOLLOW_TILDE_in_unaryExpressionNotPlusMinus2453); if (state.failed) return retval;
 					pushFollow(FOLLOW_unaryExpression_in_unaryExpressionNotPlusMinus2455);
@@ -3522,7 +3518,7 @@ public class DRL6Expressions extends DRLExpressions {
 					}
 					break;
 				case 2 :
-					// src/main/resources/org/drools/compiler/lang/DRL6Expressions.g:503:8: NEGATION ue= unaryExpression
+					// src/main/resources/org/drools/drl/parser/DRL6Expressions.g:510:8: NEGATION ue= unaryExpression
 					{
 					match(input,NEGATION,FOLLOW_NEGATION_in_unaryExpressionNotPlusMinus2464); if (state.failed) return retval;
 					pushFollow(FOLLOW_unaryExpression_in_unaryExpressionNotPlusMinus2468);
@@ -3537,7 +3533,7 @@ public class DRL6Expressions extends DRLExpressions {
 					}
 					break;
 				case 3 :
-					// src/main/resources/org/drools/compiler/lang/DRL6Expressions.g:509:9: ( castExpression )=> castExpression
+					// src/main/resources/org/drools/drl/parser/DRL6Expressions.g:516:9: ( castExpression )=> castExpression
 					{
 					pushFollow(FOLLOW_castExpression_in_unaryExpressionNotPlusMinus2492);
 					castExpression();
@@ -3546,7 +3542,7 @@ public class DRL6Expressions extends DRLExpressions {
 					}
 					break;
 				case 4 :
-					// src/main/resources/org/drools/compiler/lang/DRL6Expressions.g:510:9: ( backReferenceExpression )=> backReferenceExpression
+					// src/main/resources/org/drools/drl/parser/DRL6Expressions.g:517:9: ( backReferenceExpression )=> backReferenceExpression
 					{
 					pushFollow(FOLLOW_backReferenceExpression_in_unaryExpressionNotPlusMinus2506);
 					backReferenceExpression();
@@ -3555,10 +3551,10 @@ public class DRL6Expressions extends DRLExpressions {
 					}
 					break;
 				case 5 :
-					// src/main/resources/org/drools/compiler/lang/DRL6Expressions.g:511:9: ( ({...}? (var= ID COLON ) ) | ({...}? (var= ID UNIFY ) ) )? ( ( xpathSeparator ID )=>left2= xpathPrimary |left1= primary ) ( ( selector )=> selector )* ( ( INCR | DECR )=> ( INCR | DECR ) )?
+					// src/main/resources/org/drools/drl/parser/DRL6Expressions.g:518:9: ( ({...}? (var= ID COLON ) ) | ({...}? (var= ID UNIFY ) ) )? ( ( xpathSeparator ID )=>left2= xpathPrimary |left1= primary ) ( ( selector )=> selector )* ( ( INCR | DECR )=> ( INCR | DECR ) )?
 					{
 					if ( state.backtracking==0 ) { isLeft = helper.getLeftMostExpr() == null;}
-					// src/main/resources/org/drools/compiler/lang/DRL6Expressions.g:512:9: ( ({...}? (var= ID COLON ) ) | ({...}? (var= ID UNIFY ) ) )?
+					// src/main/resources/org/drools/drl/parser/DRL6Expressions.g:519:9: ( ({...}? (var= ID COLON ) ) | ({...}? (var= ID UNIFY ) ) )?
 					int alt50=3;
 					int LA50_0 = input.LA(1);
 					if ( (LA50_0==ID) ) {
@@ -3575,17 +3571,17 @@ public class DRL6Expressions extends DRLExpressions {
 					}
 					switch (alt50) {
 						case 1 :
-							// src/main/resources/org/drools/compiler/lang/DRL6Expressions.g:512:11: ({...}? (var= ID COLON ) )
+							// src/main/resources/org/drools/drl/parser/DRL6Expressions.g:519:11: ({...}? (var= ID COLON ) )
 							{
-							// src/main/resources/org/drools/compiler/lang/DRL6Expressions.g:512:11: ({...}? (var= ID COLON ) )
-							// src/main/resources/org/drools/compiler/lang/DRL6Expressions.g:512:12: {...}? (var= ID COLON )
+							// src/main/resources/org/drools/drl/parser/DRL6Expressions.g:519:11: ({...}? (var= ID COLON ) )
+							// src/main/resources/org/drools/drl/parser/DRL6Expressions.g:519:12: {...}? (var= ID COLON )
 							{
 							if ( !((inMap == 0 && ternOp == 0 && input.LA(2) == DRL6Lexer.COLON)) ) {
 								if (state.backtracking>0) {state.failed=true; return retval;}
 								throw new FailedPredicateException(input, "unaryExpressionNotPlusMinus", "inMap == 0 && ternOp == 0 && input.LA(2) == DRL6Lexer.COLON");
 							}
-							// src/main/resources/org/drools/compiler/lang/DRL6Expressions.g:512:75: (var= ID COLON )
-							// src/main/resources/org/drools/compiler/lang/DRL6Expressions.g:512:76: var= ID COLON
+							// src/main/resources/org/drools/drl/parser/DRL6Expressions.g:519:75: (var= ID COLON )
+							// src/main/resources/org/drools/drl/parser/DRL6Expressions.g:519:76: var= ID COLON
 							{
 							var=(Token)match(input,ID,FOLLOW_ID_in_unaryExpressionNotPlusMinus2534); if (state.failed) return retval;
 							COLON9=(Token)match(input,COLON,FOLLOW_COLON_in_unaryExpressionNotPlusMinus2536); if (state.failed) return retval;
@@ -3597,17 +3593,17 @@ public class DRL6Expressions extends DRLExpressions {
 							}
 							break;
 						case 2 :
-							// src/main/resources/org/drools/compiler/lang/DRL6Expressions.g:514:11: ({...}? (var= ID UNIFY ) )
+							// src/main/resources/org/drools/drl/parser/DRL6Expressions.g:521:11: ({...}? (var= ID UNIFY ) )
 							{
-							// src/main/resources/org/drools/compiler/lang/DRL6Expressions.g:514:11: ({...}? (var= ID UNIFY ) )
-							// src/main/resources/org/drools/compiler/lang/DRL6Expressions.g:514:12: {...}? (var= ID UNIFY )
+							// src/main/resources/org/drools/drl/parser/DRL6Expressions.g:521:11: ({...}? (var= ID UNIFY ) )
+							// src/main/resources/org/drools/drl/parser/DRL6Expressions.g:521:12: {...}? (var= ID UNIFY )
 							{
 							if ( !((inMap == 0 && ternOp == 0 && input.LA(2) == DRL6Lexer.UNIFY)) ) {
 								if (state.backtracking>0) {state.failed=true; return retval;}
 								throw new FailedPredicateException(input, "unaryExpressionNotPlusMinus", "inMap == 0 && ternOp == 0 && input.LA(2) == DRL6Lexer.UNIFY");
 							}
-							// src/main/resources/org/drools/compiler/lang/DRL6Expressions.g:514:75: (var= ID UNIFY )
-							// src/main/resources/org/drools/compiler/lang/DRL6Expressions.g:514:76: var= ID UNIFY
+							// src/main/resources/org/drools/drl/parser/DRL6Expressions.g:521:75: (var= ID UNIFY )
+							// src/main/resources/org/drools/drl/parser/DRL6Expressions.g:521:76: var= ID UNIFY
 							{
 							var=(Token)match(input,ID,FOLLOW_ID_in_unaryExpressionNotPlusMinus2575); if (state.failed) return retval;
 							UNIFY10=(Token)match(input,UNIFY,FOLLOW_UNIFY_in_unaryExpressionNotPlusMinus2577); if (state.failed) return retval;
@@ -3621,7 +3617,7 @@ public class DRL6Expressions extends DRLExpressions {
 
 					}
 
-					// src/main/resources/org/drools/compiler/lang/DRL6Expressions.g:518:9: ( ( xpathSeparator ID )=>left2= xpathPrimary |left1= primary )
+					// src/main/resources/org/drools/drl/parser/DRL6Expressions.g:525:9: ( ( xpathSeparator ID )=>left2= xpathPrimary |left1= primary )
 					int alt51=2;
 					int LA51_0 = input.LA(1);
 					if ( (LA51_0==DIV||LA51_0==QUESTION_DIV) && (synpred17_DRL6Expressions())) {
@@ -3640,7 +3636,7 @@ public class DRL6Expressions extends DRLExpressions {
 
 					switch (alt51) {
 						case 1 :
-							// src/main/resources/org/drools/compiler/lang/DRL6Expressions.g:518:11: ( xpathSeparator ID )=>left2= xpathPrimary
+							// src/main/resources/org/drools/drl/parser/DRL6Expressions.g:525:11: ( xpathSeparator ID )=>left2= xpathPrimary
 							{
 							pushFollow(FOLLOW_xpathPrimary_in_unaryExpressionNotPlusMinus2631);
 							left2=xpathPrimary();
@@ -3650,7 +3646,7 @@ public class DRL6Expressions extends DRLExpressions {
 							}
 							break;
 						case 2 :
-							// src/main/resources/org/drools/compiler/lang/DRL6Expressions.g:519:13: left1= primary
+							// src/main/resources/org/drools/drl/parser/DRL6Expressions.g:526:13: left1= primary
 							{
 							pushFollow(FOLLOW_primary_in_unaryExpressionNotPlusMinus2649);
 							left1=primary();
@@ -3662,7 +3658,7 @@ public class DRL6Expressions extends DRLExpressions {
 
 					}
 
-					// src/main/resources/org/drools/compiler/lang/DRL6Expressions.g:522:9: ( ( selector )=> selector )*
+					// src/main/resources/org/drools/drl/parser/DRL6Expressions.g:529:9: ( ( selector )=> selector )*
 					loop52:
 					while (true) {
 						int alt52=2;
@@ -3679,7 +3675,7 @@ public class DRL6Expressions extends DRLExpressions {
 
 						switch (alt52) {
 						case 1 :
-							// src/main/resources/org/drools/compiler/lang/DRL6Expressions.g:522:10: ( selector )=> selector
+							// src/main/resources/org/drools/drl/parser/DRL6Expressions.g:529:10: ( selector )=> selector
 							{
 							pushFollow(FOLLOW_selector_in_unaryExpressionNotPlusMinus2677);
 							selector();
@@ -3711,7 +3707,7 @@ public class DRL6Expressions extends DRLExpressions {
 					                }
 					            }
 					        }
-					// src/main/resources/org/drools/compiler/lang/DRL6Expressions.g:541:9: ( ( INCR | DECR )=> ( INCR | DECR ) )?
+					// src/main/resources/org/drools/drl/parser/DRL6Expressions.g:548:9: ( ( INCR | DECR )=> ( INCR | DECR ) )?
 					int alt53=2;
 					int LA53_0 = input.LA(1);
 					if ( (LA53_0==DECR||LA53_0==INCR) && (synpred19_DRL6Expressions())) {
@@ -3719,7 +3715,7 @@ public class DRL6Expressions extends DRLExpressions {
 					}
 					switch (alt53) {
 						case 1 :
-							// src/main/resources/org/drools/compiler/lang/DRL6Expressions.g:541:10: ( INCR | DECR )=> ( INCR | DECR )
+							// src/main/resources/org/drools/drl/parser/DRL6Expressions.g:548:10: ( INCR | DECR )=> ( INCR | DECR )
 							{
 							if ( input.LA(1)==DECR||input.LA(1)==INCR ) {
 								input.consume();
@@ -3758,12 +3754,12 @@ public class DRL6Expressions extends DRLExpressions {
 
 
 	// $ANTLR start "castExpression"
-	// src/main/resources/org/drools/compiler/lang/DRL6Expressions.g:544:1: castExpression : ( ( LEFT_PAREN primitiveType )=> LEFT_PAREN primitiveType RIGHT_PAREN expr= unaryExpression | ( LEFT_PAREN type )=> LEFT_PAREN type RIGHT_PAREN unaryExpressionNotPlusMinus );
+	// src/main/resources/org/drools/drl/parser/DRL6Expressions.g:551:1: castExpression : ( ( LEFT_PAREN primitiveType )=> LEFT_PAREN primitiveType RIGHT_PAREN expr= unaryExpression | ( LEFT_PAREN type )=> LEFT_PAREN type RIGHT_PAREN unaryExpressionNotPlusMinus );
 	public final void castExpression() throws RecognitionException {
 		BaseDescr expr =null;
 
 		try {
-			// src/main/resources/org/drools/compiler/lang/DRL6Expressions.g:545:5: ( ( LEFT_PAREN primitiveType )=> LEFT_PAREN primitiveType RIGHT_PAREN expr= unaryExpression | ( LEFT_PAREN type )=> LEFT_PAREN type RIGHT_PAREN unaryExpressionNotPlusMinus )
+			// src/main/resources/org/drools/drl/parser/DRL6Expressions.g:552:5: ( ( LEFT_PAREN primitiveType )=> LEFT_PAREN primitiveType RIGHT_PAREN expr= unaryExpression | ( LEFT_PAREN type )=> LEFT_PAREN type RIGHT_PAREN unaryExpressionNotPlusMinus )
 			int alt55=2;
 			int LA55_0 = input.LA(1);
 			if ( (LA55_0==LEFT_PAREN) ) {
@@ -3799,7 +3795,7 @@ public class DRL6Expressions extends DRLExpressions {
 
 			switch (alt55) {
 				case 1 :
-					// src/main/resources/org/drools/compiler/lang/DRL6Expressions.g:545:8: ( LEFT_PAREN primitiveType )=> LEFT_PAREN primitiveType RIGHT_PAREN expr= unaryExpression
+					// src/main/resources/org/drools/drl/parser/DRL6Expressions.g:552:8: ( LEFT_PAREN primitiveType )=> LEFT_PAREN primitiveType RIGHT_PAREN expr= unaryExpression
 					{
 					match(input,LEFT_PAREN,FOLLOW_LEFT_PAREN_in_castExpression2739); if (state.failed) return;
 					pushFollow(FOLLOW_primitiveType_in_castExpression2741);
@@ -3814,7 +3810,7 @@ public class DRL6Expressions extends DRLExpressions {
 					}
 					break;
 				case 2 :
-					// src/main/resources/org/drools/compiler/lang/DRL6Expressions.g:546:8: ( LEFT_PAREN type )=> LEFT_PAREN type RIGHT_PAREN unaryExpressionNotPlusMinus
+					// src/main/resources/org/drools/drl/parser/DRL6Expressions.g:553:8: ( LEFT_PAREN type )=> LEFT_PAREN type RIGHT_PAREN unaryExpressionNotPlusMinus
 					{
 					match(input,LEFT_PAREN,FOLLOW_LEFT_PAREN_in_castExpression2764); if (state.failed) return;
 					pushFollow(FOLLOW_type_in_castExpression2766);
@@ -3845,13 +3841,13 @@ public class DRL6Expressions extends DRLExpressions {
 
 
 	// $ANTLR start "backReferenceExpression"
-	// src/main/resources/org/drools/compiler/lang/DRL6Expressions.g:549:1: backReferenceExpression : ( DOT DOT DIV )=> ( DOT DOT DIV )+ unaryExpressionNotPlusMinus ;
+	// src/main/resources/org/drools/drl/parser/DRL6Expressions.g:556:1: backReferenceExpression : ( DOT DOT DIV )=> ( DOT DOT DIV )+ unaryExpressionNotPlusMinus ;
 	public final void backReferenceExpression() throws RecognitionException {
 		try {
-			// src/main/resources/org/drools/compiler/lang/DRL6Expressions.g:550:5: ( ( DOT DOT DIV )=> ( DOT DOT DIV )+ unaryExpressionNotPlusMinus )
-			// src/main/resources/org/drools/compiler/lang/DRL6Expressions.g:550:8: ( DOT DOT DIV )=> ( DOT DOT DIV )+ unaryExpressionNotPlusMinus
+			// src/main/resources/org/drools/drl/parser/DRL6Expressions.g:557:5: ( ( DOT DOT DIV )=> ( DOT DOT DIV )+ unaryExpressionNotPlusMinus )
+			// src/main/resources/org/drools/drl/parser/DRL6Expressions.g:557:8: ( DOT DOT DIV )=> ( DOT DOT DIV )+ unaryExpressionNotPlusMinus
 			{
-			// src/main/resources/org/drools/compiler/lang/DRL6Expressions.g:550:25: ( DOT DOT DIV )+
+			// src/main/resources/org/drools/drl/parser/DRL6Expressions.g:557:25: ( DOT DOT DIV )+
 			int cnt56=0;
 			loop56:
 			while (true) {
@@ -3863,7 +3859,7 @@ public class DRL6Expressions extends DRLExpressions {
 
 				switch (alt56) {
 				case 1 :
-					// src/main/resources/org/drools/compiler/lang/DRL6Expressions.g:550:26: DOT DOT DIV
+					// src/main/resources/org/drools/drl/parser/DRL6Expressions.g:557:26: DOT DOT DIV
 					{
 					match(input,DOT,FOLLOW_DOT_in_backReferenceExpression2799); if (state.failed) return;
 					match(input,DOT,FOLLOW_DOT_in_backReferenceExpression2801); if (state.failed) return;
@@ -3901,10 +3897,10 @@ public class DRL6Expressions extends DRLExpressions {
 
 
 	// $ANTLR start "primitiveType"
-	// src/main/resources/org/drools/compiler/lang/DRL6Expressions.g:553:1: primitiveType : ( boolean_key | char_key | byte_key | short_key | int_key | long_key | float_key | double_key );
+	// src/main/resources/org/drools/drl/parser/DRL6Expressions.g:560:1: primitiveType : ( boolean_key | char_key | byte_key | short_key | int_key | long_key | float_key | double_key );
 	public final void primitiveType() throws RecognitionException {
 		try {
-			// src/main/resources/org/drools/compiler/lang/DRL6Expressions.g:554:5: ( boolean_key | char_key | byte_key | short_key | int_key | long_key | float_key | double_key )
+			// src/main/resources/org/drools/drl/parser/DRL6Expressions.g:561:5: ( boolean_key | char_key | byte_key | short_key | int_key | long_key | float_key | double_key )
 			int alt57=8;
 			int LA57_0 = input.LA(1);
 			if ( (LA57_0==ID) && ((((helper.validateIdentifierKey(DroolsSoftKeywords.SHORT)))||((helper.validateIdentifierKey(DroolsSoftKeywords.LONG)))||((helper.validateIdentifierKey(DroolsSoftKeywords.CHAR)))||((helper.validateIdentifierKey(DroolsSoftKeywords.INT)))||((helper.validateIdentifierKey(DroolsSoftKeywords.FLOAT)))||((helper.validateIdentifierKey(DroolsSoftKeywords.BOOLEAN)))||((helper.validateIdentifierKey(DroolsSoftKeywords.DOUBLE)))||((helper.validateIdentifierKey(DroolsSoftKeywor [...]
@@ -3951,7 +3947,7 @@ public class DRL6Expressions extends DRLExpressions {
 
 			switch (alt57) {
 				case 1 :
-					// src/main/resources/org/drools/compiler/lang/DRL6Expressions.g:554:9: boolean_key
+					// src/main/resources/org/drools/drl/parser/DRL6Expressions.g:561:9: boolean_key
 					{
 					pushFollow(FOLLOW_boolean_key_in_primitiveType2826);
 					boolean_key();
@@ -3960,7 +3956,7 @@ public class DRL6Expressions extends DRLExpressions {
 					}
 					break;
 				case 2 :
-					// src/main/resources/org/drools/compiler/lang/DRL6Expressions.g:555:7: char_key
+					// src/main/resources/org/drools/drl/parser/DRL6Expressions.g:562:7: char_key
 					{
 					pushFollow(FOLLOW_char_key_in_primitiveType2834);
 					char_key();
@@ -3969,7 +3965,7 @@ public class DRL6Expressions extends DRLExpressions {
 					}
 					break;
 				case 3 :
-					// src/main/resources/org/drools/compiler/lang/DRL6Expressions.g:556:7: byte_key
+					// src/main/resources/org/drools/drl/parser/DRL6Expressions.g:563:7: byte_key
 					{
 					pushFollow(FOLLOW_byte_key_in_primitiveType2842);
 					byte_key();
@@ -3978,7 +3974,7 @@ public class DRL6Expressions extends DRLExpressions {
 					}
 					break;
 				case 4 :
-					// src/main/resources/org/drools/compiler/lang/DRL6Expressions.g:557:7: short_key
+					// src/main/resources/org/drools/drl/parser/DRL6Expressions.g:564:7: short_key
 					{
 					pushFollow(FOLLOW_short_key_in_primitiveType2850);
 					short_key();
@@ -3987,7 +3983,7 @@ public class DRL6Expressions extends DRLExpressions {
 					}
 					break;
 				case 5 :
-					// src/main/resources/org/drools/compiler/lang/DRL6Expressions.g:558:7: int_key
+					// src/main/resources/org/drools/drl/parser/DRL6Expressions.g:565:7: int_key
 					{
 					pushFollow(FOLLOW_int_key_in_primitiveType2858);
 					int_key();
@@ -3996,7 +3992,7 @@ public class DRL6Expressions extends DRLExpressions {
 					}
 					break;
 				case 6 :
-					// src/main/resources/org/drools/compiler/lang/DRL6Expressions.g:559:7: long_key
+					// src/main/resources/org/drools/drl/parser/DRL6Expressions.g:566:7: long_key
 					{
 					pushFollow(FOLLOW_long_key_in_primitiveType2866);
 					long_key();
@@ -4005,7 +4001,7 @@ public class DRL6Expressions extends DRLExpressions {
 					}
 					break;
 				case 7 :
-					// src/main/resources/org/drools/compiler/lang/DRL6Expressions.g:560:7: float_key
+					// src/main/resources/org/drools/drl/parser/DRL6Expressions.g:567:7: float_key
 					{
 					pushFollow(FOLLOW_float_key_in_primitiveType2874);
 					float_key();
@@ -4014,7 +4010,7 @@ public class DRL6Expressions extends DRLExpressions {
 					}
 					break;
 				case 8 :
-					// src/main/resources/org/drools/compiler/lang/DRL6Expressions.g:561:7: double_key
+					// src/main/resources/org/drools/drl/parser/DRL6Expressions.g:568:7: double_key
 					{
 					pushFollow(FOLLOW_double_key_in_primitiveType2882);
 					double_key();
@@ -4039,11 +4035,11 @@ public class DRL6Expressions extends DRLExpressions {
 
 
 	// $ANTLR start "xpathSeparator"
-	// src/main/resources/org/drools/compiler/lang/DRL6Expressions.g:564:1: xpathSeparator : ( DIV | QUESTION_DIV );
+	// src/main/resources/org/drools/drl/parser/DRL6Expressions.g:571:1: xpathSeparator : ( DIV | QUESTION_DIV );
 	public final void xpathSeparator() throws RecognitionException {
 		try {
-			// src/main/resources/org/drools/compiler/lang/DRL6Expressions.g:565:5: ( DIV | QUESTION_DIV )
-			// src/main/resources/org/drools/compiler/lang/DRL6Expressions.g:
+			// src/main/resources/org/drools/drl/parser/DRL6Expressions.g:572:5: ( DIV | QUESTION_DIV )
+			// src/main/resources/org/drools/drl/parser/DRL6Expressions.g:
 			{
 			if ( input.LA(1)==DIV||input.LA(1)==QUESTION_DIV ) {
 				input.consume();
@@ -4072,17 +4068,20 @@ public class DRL6Expressions extends DRLExpressions {
 
 
 	// $ANTLR start "xpathPrimary"
-	// src/main/resources/org/drools/compiler/lang/DRL6Expressions.g:569:1: xpathPrimary returns [BaseDescr result] : ( xpathChunk )+ ;
+	// src/main/resources/org/drools/drl/parser/DRL6Expressions.g:576:1: xpathPrimary returns [BaseDescr result] : xpathChunk ({...}? xpathChunk )* ;
 	public final BaseDescr xpathPrimary() throws RecognitionException {
 		BaseDescr result = null;
 
 
 		try {
-			// src/main/resources/org/drools/compiler/lang/DRL6Expressions.g:570:5: ( ( xpathChunk )+ )
-			// src/main/resources/org/drools/compiler/lang/DRL6Expressions.g:570:7: ( xpathChunk )+
+			// src/main/resources/org/drools/drl/parser/DRL6Expressions.g:577:5: ( xpathChunk ({...}? xpathChunk )* )
+			// src/main/resources/org/drools/drl/parser/DRL6Expressions.g:577:7: xpathChunk ({...}? xpathChunk )*
 			{
-			// src/main/resources/org/drools/compiler/lang/DRL6Expressions.g:570:7: ( xpathChunk )+
-			int cnt58=0;
+			pushFollow(FOLLOW_xpathChunk_in_xpathPrimary2930);
+			xpathChunk();
+			state._fsp--;
+			if (state.failed) return result;
+			// src/main/resources/org/drools/drl/parser/DRL6Expressions.g:577:18: ({...}? xpathChunk )*
 			loop58:
 			while (true) {
 				int alt58=2;
@@ -4090,7 +4089,11 @@ public class DRL6Expressions extends DRLExpressions {
 				if ( (LA58_0==DIV) ) {
 					int LA58_2 = input.LA(2);
 					if ( (LA58_2==ID) ) {
-						alt58=1;
+						int LA58_4 = input.LA(3);
+						if ( ((notStartWithNewline())) ) {
+							alt58=1;
+						}
+
 					}
 
 				}
@@ -4100,9 +4103,13 @@ public class DRL6Expressions extends DRLExpressions {
 
 				switch (alt58) {
 				case 1 :
-					// src/main/resources/org/drools/compiler/lang/DRL6Expressions.g:570:7: xpathChunk
+					// src/main/resources/org/drools/drl/parser/DRL6Expressions.g:577:19: {...}? xpathChunk
 					{
-					pushFollow(FOLLOW_xpathChunk_in_xpathPrimary2930);
+					if ( !((notStartWithNewline())) ) {
+						if (state.backtracking>0) {state.failed=true; return result;}
+						throw new FailedPredicateException(input, "xpathPrimary", "notStartWithNewline()");
+					}
+					pushFollow(FOLLOW_xpathChunk_in_xpathPrimary2935);
 					xpathChunk();
 					state._fsp--;
 					if (state.failed) return result;
@@ -4110,12 +4117,8 @@ public class DRL6Expressions extends DRLExpressions {
 					break;
 
 				default :
-					if ( cnt58 >= 1 ) break loop58;
-					if (state.backtracking>0) {state.failed=true; return result;}
-					EarlyExitException eee = new EarlyExitException(58, input);
-					throw eee;
+					break loop58;
 				}
-				cnt58++;
 			}
 
 			}
@@ -4136,21 +4139,21 @@ public class DRL6Expressions extends DRLExpressions {
 
 
 	// $ANTLR start "xpathChunk"
-	// src/main/resources/org/drools/compiler/lang/DRL6Expressions.g:573:1: xpathChunk returns [BaseDescr result] : ( xpathSeparator ID )=> xpathSeparator ID ( DOT ID )* ( HASH ID )? ( LEFT_SQUARE xpathExpressionList RIGHT_SQUARE )? ;
+	// src/main/resources/org/drools/drl/parser/DRL6Expressions.g:580:1: xpathChunk returns [BaseDescr result] : ( xpathSeparator ID )=> xpathSeparator ID ( DOT ID )* ( HASH ID )? ( LEFT_SQUARE xpathExpressionList RIGHT_SQUARE )? ;
 	public final BaseDescr xpathChunk() throws RecognitionException {
 		BaseDescr result = null;
 
 
 		try {
-			// src/main/resources/org/drools/compiler/lang/DRL6Expressions.g:574:5: ( ( xpathSeparator ID )=> xpathSeparator ID ( DOT ID )* ( HASH ID )? ( LEFT_SQUARE xpathExpressionList RIGHT_SQUARE )? )
-			// src/main/resources/org/drools/compiler/lang/DRL6Expressions.g:574:7: ( xpathSeparator ID )=> xpathSeparator ID ( DOT ID )* ( HASH ID )? ( LEFT_SQUARE xpathExpressionList RIGHT_SQUARE )?
+			// src/main/resources/org/drools/drl/parser/DRL6Expressions.g:581:5: ( ( xpathSeparator ID )=> xpathSeparator ID ( DOT ID )* ( HASH ID )? ( LEFT_SQUARE xpathExpressionList RIGHT_SQUARE )? )
+			// src/main/resources/org/drools/drl/parser/DRL6Expressions.g:581:7: ( xpathSeparator ID )=> xpathSeparator ID ( DOT ID )* ( HASH ID )? ( LEFT_SQUARE xpathExpressionList RIGHT_SQUARE )?
 			{
-			pushFollow(FOLLOW_xpathSeparator_in_xpathChunk2959);
+			pushFollow(FOLLOW_xpathSeparator_in_xpathChunk2965);
 			xpathSeparator();
 			state._fsp--;
 			if (state.failed) return result;
-			match(input,ID,FOLLOW_ID_in_xpathChunk2961); if (state.failed) return result;
-			// src/main/resources/org/drools/compiler/lang/DRL6Expressions.g:574:47: ( DOT ID )*
+			match(input,ID,FOLLOW_ID_in_xpathChunk2967); if (state.failed) return result;
+			// src/main/resources/org/drools/drl/parser/DRL6Expressions.g:581:47: ( DOT ID )*
 			loop59:
 			while (true) {
 				int alt59=2;
@@ -4165,10 +4168,10 @@ public class DRL6Expressions extends DRLExpressions {
 
 				switch (alt59) {
 				case 1 :
-					// src/main/resources/org/drools/compiler/lang/DRL6Expressions.g:574:48: DOT ID
+					// src/main/resources/org/drools/drl/parser/DRL6Expressions.g:581:48: DOT ID
 					{
-					match(input,DOT,FOLLOW_DOT_in_xpathChunk2964); if (state.failed) return result;
-					match(input,ID,FOLLOW_ID_in_xpathChunk2966); if (state.failed) return result;
+					match(input,DOT,FOLLOW_DOT_in_xpathChunk2970); if (state.failed) return result;
+					match(input,ID,FOLLOW_ID_in_xpathChunk2972); if (state.failed) return result;
 					}
 					break;
 
@@ -4177,7 +4180,7 @@ public class DRL6Expressions extends DRLExpressions {
 				}
 			}
 
-			// src/main/resources/org/drools/compiler/lang/DRL6Expressions.g:574:57: ( HASH ID )?
+			// src/main/resources/org/drools/drl/parser/DRL6Expressions.g:581:57: ( HASH ID )?
 			int alt60=2;
 			int LA60_0 = input.LA(1);
 			if ( (LA60_0==HASH) ) {
@@ -4185,16 +4188,16 @@ public class DRL6Expressions extends DRLExpressions {
 			}
 			switch (alt60) {
 				case 1 :
-					// src/main/resources/org/drools/compiler/lang/DRL6Expressions.g:574:58: HASH ID
+					// src/main/resources/org/drools/drl/parser/DRL6Expressions.g:581:58: HASH ID
 					{
-					match(input,HASH,FOLLOW_HASH_in_xpathChunk2971); if (state.failed) return result;
-					match(input,ID,FOLLOW_ID_in_xpathChunk2973); if (state.failed) return result;
+					match(input,HASH,FOLLOW_HASH_in_xpathChunk2977); if (state.failed) return result;
+					match(input,ID,FOLLOW_ID_in_xpathChunk2979); if (state.failed) return result;
 					}
 					break;
 
 			}
 
-			// src/main/resources/org/drools/compiler/lang/DRL6Expressions.g:574:68: ( LEFT_SQUARE xpathExpressionList RIGHT_SQUARE )?
+			// src/main/resources/org/drools/drl/parser/DRL6Expressions.g:581:68: ( LEFT_SQUARE xpathExpressionList RIGHT_SQUARE )?
 			int alt61=2;
 			int LA61_0 = input.LA(1);
 			if ( (LA61_0==LEFT_SQUARE) ) {
@@ -4202,14 +4205,14 @@ public class DRL6Expressions extends DRLExpressions {
 			}
 			switch (alt61) {
 				case 1 :
-					// src/main/resources/org/drools/compiler/lang/DRL6Expressions.g:574:69: LEFT_SQUARE xpathExpressionList RIGHT_SQUARE
+					// src/main/resources/org/drools/drl/parser/DRL6Expressions.g:581:69: LEFT_SQUARE xpathExpressionList RIGHT_SQUARE
 					{
-					match(input,LEFT_SQUARE,FOLLOW_LEFT_SQUARE_in_xpathChunk2978); if (state.failed) return result;
-					pushFollow(FOLLOW_xpathExpressionList_in_xpathChunk2980);
+					match(input,LEFT_SQUARE,FOLLOW_LEFT_SQUARE_in_xpathChunk2984); if (state.failed) return result;
+					pushFollow(FOLLOW_xpathExpressionList_in_xpathChunk2986);
 					xpathExpressionList();
 					state._fsp--;
 					if (state.failed) return result;
-					match(input,RIGHT_SQUARE,FOLLOW_RIGHT_SQUARE_in_xpathChunk2982); if (state.failed) return result;
+					match(input,RIGHT_SQUARE,FOLLOW_RIGHT_SQUARE_in_xpathChunk2988); if (state.failed) return result;
 					}
 					break;
 
@@ -4233,7 +4236,7 @@ public class DRL6Expressions extends DRLExpressions {
 
 
 	// $ANTLR start "xpathExpressionList"
-	// src/main/resources/org/drools/compiler/lang/DRL6Expressions.g:577:1: xpathExpressionList returns [java.util.List<String> exprs] : f= expression ( COMMA s= expression )* ;
+	// src/main/resources/org/drools/drl/parser/DRL6Expressions.g:584:1: xpathExpressionList returns [java.util.List<String> exprs] : f= expression ( COMMA s= expression )* ;
 	public final java.util.List<String> xpathExpressionList() throws RecognitionException {
 		java.util.List<String> exprs = null;
 
@@ -4243,15 +4246,15 @@ public class DRL6Expressions extends DRLExpressions {
 
 		 exprs = new java.util.ArrayList<String>();
 		try {
-			// src/main/resources/org/drools/compiler/lang/DRL6Expressions.g:579:3: (f= expression ( COMMA s= expression )* )
-			// src/main/resources/org/drools/compiler/lang/DRL6Expressions.g:579:7: f= expression ( COMMA s= expression )*
+			// src/main/resources/org/drools/drl/parser/DRL6Expressions.g:586:3: (f= expression ( COMMA s= expression )* )
+			// src/main/resources/org/drools/drl/parser/DRL6Expressions.g:586:7: f= expression ( COMMA s= expression )*
 			{
-			pushFollow(FOLLOW_expression_in_xpathExpressionList3012);
+			pushFollow(FOLLOW_expression_in_xpathExpressionList3018);
 			f=expression();
 			state._fsp--;
 			if (state.failed) return exprs;
 			if ( state.backtracking==0 ) { exprs.add( (f!=null?input.toString(f.start,f.stop):null) ); }
-			// src/main/resources/org/drools/compiler/lang/DRL6Expressions.g:580:7: ( COMMA s= expression )*
+			// src/main/resources/org/drools/drl/parser/DRL6Expressions.g:587:7: ( COMMA s= expression )*
 			loop62:
 			while (true) {
 				int alt62=2;
@@ -4262,10 +4265,10 @@ public class DRL6Expressions extends DRLExpressions {
 
 				switch (alt62) {
 				case 1 :
-					// src/main/resources/org/drools/compiler/lang/DRL6Expressions.g:580:8: COMMA s= expression
+					// src/main/resources/org/drools/drl/parser/DRL6Expressions.g:587:8: COMMA s= expression
 					{
-					match(input,COMMA,FOLLOW_COMMA_in_xpathExpressionList3023); if (state.failed) return exprs;
-					pushFollow(FOLLOW_expression_in_xpathExpressionList3027);
+					match(input,COMMA,FOLLOW_COMMA_in_xpathExpressionList3029); if (state.failed) return exprs;
+					pushFollow(FOLLOW_expression_in_xpathExpressionList3033);
 					s=expression();
 					state._fsp--;
 					if (state.failed) return exprs;
@@ -4296,7 +4299,7 @@ public class DRL6Expressions extends DRLExpressions {
 
 
 	// $ANTLR start "primary"
-	// src/main/resources/org/drools/compiler/lang/DRL6Expressions.g:583:1: primary returns [BaseDescr result] : ( ( LEFT_PAREN )=>expr= parExpression | ( nonWildcardTypeArguments )=> nonWildcardTypeArguments ( explicitGenericInvocationSuffix | this_key arguments ) | ( literal )=> literal | ( super_key )=> super_key superSuffix | ( new_key )=> new_key creator | ( primitiveType )=> primitiveType ( LEFT_SQUARE RIGHT_SQUARE )* DOT class_key | ( inlineMapExpression )=> inlineMapExpression | ( i [...]
+	// src/main/resources/org/drools/drl/parser/DRL6Expressions.g:590:1: primary returns [BaseDescr result] : ( ( LEFT_PAREN )=>expr= parExpression | ( nonWildcardTypeArguments )=> nonWildcardTypeArguments ( explicitGenericInvocationSuffix | this_key arguments ) | ( literal )=> literal | ( super_key )=> super_key superSuffix | ( new_key )=> new_key creator | ( primitiveType )=> primitiveType ( LEFT_SQUARE RIGHT_SQUARE )* DOT class_key | ( inlineMapExpression )=> inlineMapExpression | ( inli [...]
 	public final BaseDescr primary() throws RecognitionException {
 		BaseDescr result = null;
 
@@ -4313,7 +4316,7 @@ public class DRL6Expressions extends DRLExpressions {
 		ParserRuleReturnScope literal11 =null;
 
 		try {
-			// src/main/resources/org/drools/compiler/lang/DRL6Expressions.g:584:5: ( ( LEFT_PAREN )=>expr= parExpression | ( nonWildcardTypeArguments )=> nonWildcardTypeArguments ( explicitGenericInvocationSuffix | this_key arguments ) | ( literal )=> literal | ( super_key )=> super_key superSuffix | ( new_key )=> new_key creator | ( primitiveType )=> primitiveType ( LEFT_SQUARE RIGHT_SQUARE )* DOT class_key | ( inlineMapExpression )=> inlineMapExpression | ( inlineListExpression )=> inlineListE [...]
+			// src/main/resources/org/drools/drl/parser/DRL6Expressions.g:591:5: ( ( LEFT_PAREN )=>expr= parExpression | ( nonWildcardTypeArguments )=> nonWildcardTypeArguments ( explicitGenericInvocationSuffix | this_key arguments ) | ( literal )=> literal | ( super_key )=> super_key superSuffix | ( new_key )=> new_key creator | ( primitiveType )=> primitiveType ( LEFT_SQUARE RIGHT_SQUARE )* DOT class_key | ( inlineMapExpression )=> inlineMapExpression | ( inlineListExpression )=> inlineListExpr [...]
 			int alt68=9;
 			int LA68_0 = input.LA(1);
 			if ( (LA68_0==LEFT_PAREN) && (synpred24_DRL6Expressions())) {
@@ -4408,9 +4411,9 @@ public class DRL6Expressions extends DRLExpressions {
 
 			switch (alt68) {
 				case 1 :
-					// src/main/resources/org/drools/compiler/lang/DRL6Expressions.g:584:7: ( LEFT_PAREN )=>expr= parExpression
+					// src/main/resources/org/drools/drl/parser/DRL6Expressions.g:591:7: ( LEFT_PAREN )=>expr= parExpression
 					{
-					pushFollow(FOLLOW_parExpression_in_primary3057);
+					pushFollow(FOLLOW_parExpression_in_primary3063);
 					expr=parExpression();
 					state._fsp--;
 					if (state.failed) return result;
@@ -4418,13 +4421,13 @@ public class DRL6Expressions extends DRLExpressions {
 					}
 					break;
 				case 2 :
-					// src/main/resources/org/drools/compiler/lang/DRL6Expressions.g:585:9: ( nonWildcardTypeArguments )=> nonWildcardTypeArguments ( explicitGenericInvocationSuffix | this_key arguments )
+					// src/main/resources/org/drools/drl/parser/DRL6Expressions.g:592:9: ( nonWildcardTypeArguments )=> nonWildcardTypeArguments ( explicitGenericInvocationSuffix | this_key arguments )
 					{
-					pushFollow(FOLLOW_nonWildcardTypeArguments_in_primary3074);
+					pushFollow(FOLLOW_nonWildcardTypeArguments_in_primary3080);
 					nonWildcardTypeArguments();
 					state._fsp--;
 					if (state.failed) return result;
-					// src/main/resources/org/drools/compiler/lang/DRL6Expressions.g:585:63: ( explicitGenericInvocationSuffix | this_key arguments )
+					// src/main/resources/org/drools/drl/parser/DRL6Expressions.g:592:63: ( explicitGenericInvocationSuffix | this_key arguments )
 					int alt63=2;
 					int LA63_0 = input.LA(1);
 					if ( (LA63_0==ID) ) {
@@ -4460,22 +4463,22 @@ public class DRL6Expressions extends DRLExpressions {
 
 					switch (alt63) {
 						case 1 :
-							// src/main/resources/org/drools/compiler/lang/DRL6Expressions.g:585:64: explicitGenericInvocationSuffix
+							// src/main/resources/org/drools/drl/parser/DRL6Expressions.g:592:64: explicitGenericInvocationSuffix
 							{
-							pushFollow(FOLLOW_explicitGenericInvocationSuffix_in_primary3077);
+							pushFollow(FOLLOW_explicitGenericInvocationSuffix_in_primary3083);
 							explicitGenericInvocationSuffix();
 							state._fsp--;
 							if (state.failed) return result;
 							}
 							break;
 						case 2 :
-							// src/main/resources/org/drools/compiler/lang/DRL6Expressions.g:585:98: this_key arguments
+							// src/main/resources/org/drools/drl/parser/DRL6Expressions.g:592:98: this_key arguments
 							{
-							pushFollow(FOLLOW_this_key_in_primary3081);
+							pushFollow(FOLLOW_this_key_in_primary3087);
 							this_key();
 							state._fsp--;
 							if (state.failed) return result;
-							pushFollow(FOLLOW_arguments_in_primary3083);
+							pushFollow(FOLLOW_arguments_in_primary3089);
 							arguments();
 							state._fsp--;
 							if (state.failed) return result;
@@ -4487,9 +4490,9 @@ public class DRL6Expressions extends DRLExpressions {
 					}
 					break;
 				case 3 :
-					// src/main/resources/org/drools/compiler/lang/DRL6Expressions.g:586:9: ( literal )=> literal
+					// src/main/resources/org/drools/drl/parser/DRL6Expressions.g:593:9: ( literal )=> literal
 					{
-					pushFollow(FOLLOW_literal_in_primary3099);
+					pushFollow(FOLLOW_literal_in_primary3105);
 					literal11=literal();
 					state._fsp--;
 					if (state.failed) return result;
@@ -4497,39 +4500,39 @@ public class DRL6Expressions extends DRLExpressions {
 					}
 					break;
 				case 4 :
-					// src/main/resources/org/drools/compiler/lang/DRL6Expressions.g:588:9: ( super_key )=> super_key superSuffix
+					// src/main/resources/org/drools/drl/parser/DRL6Expressions.g:595:9: ( super_key )=> super_key superSuffix
 					{
-					pushFollow(FOLLOW_super_key_in_primary3121);
+					pushFollow(FOLLOW_super_key_in_primary3127);
 					super_key();
 					state._fsp--;
 					if (state.failed) return result;
-					pushFollow(FOLLOW_superSuffix_in_primary3123);
+					pushFollow(FOLLOW_superSuffix_in_primary3129);
 					superSuffix();
 					state._fsp--;
 					if (state.failed) return result;
 					}
 					break;
 				case 5 :
-					// src/main/resources/org/drools/compiler/lang/DRL6Expressions.g:589:9: ( new_key )=> new_key creator
+					// src/main/resources/org/drools/drl/parser/DRL6Expressions.g:596:9: ( new_key )=> new_key creator
 					{
-					pushFollow(FOLLOW_new_key_in_primary3138);
+					pushFollow(FOLLOW_new_key_in_primary3144);
 					new_key();
 					state._fsp--;
 					if (state.failed) return result;
-					pushFollow(FOLLOW_creator_in_primary3140);
+					pushFollow(FOLLOW_creator_in_primary3146);
 					creator();
 					state._fsp--;
 					if (state.failed) return result;
 					}
 					break;
 				case 6 :
-					// src/main/resources/org/drools/compiler/lang/DRL6Expressions.g:590:9: ( primitiveType )=> primitiveType ( LEFT_SQUARE RIGHT_SQUARE )* DOT class_key
+					// src/main/resources/org/drools/drl/parser/DRL6Expressions.g:597:9: ( primitiveType )=> primitiveType ( LEFT_SQUARE RIGHT_SQUARE )* DOT class_key
 					{
-					pushFollow(FOLLOW_primitiveType_in_primary3155);
+					pushFollow(FOLLOW_primitiveType_in_primary3161);
 					primitiveType();
 					state._fsp--;
 					if (state.failed) return result;
-					// src/main/resources/org/drools/compiler/lang/DRL6Expressions.g:590:41: ( LEFT_SQUARE RIGHT_SQUARE )*
+					// src/main/resources/org/drools/drl/parser/DRL6Expressions.g:597:41: ( LEFT_SQUARE RIGHT_SQUARE )*
 					loop64:
 					while (true) {
 						int alt64=2;
@@ -4540,10 +4543,10 @@ public class DRL6Expressions extends DRLExpressions {
 
 						switch (alt64) {
 						case 1 :
-							// src/main/resources/org/drools/compiler/lang/DRL6Expressions.g:590:42: LEFT_SQUARE RIGHT_SQUARE
+							// src/main/resources/org/drools/drl/parser/DRL6Expressions.g:597:42: LEFT_SQUARE RIGHT_SQUARE
 							{
-							match(input,LEFT_SQUARE,FOLLOW_LEFT_SQUARE_in_primary3158); if (state.failed) return result;
-							match(input,RIGHT_SQUARE,FOLLOW_RIGHT_SQUARE_in_primary3160); if (state.failed) return result;
+							match(input,LEFT_SQUARE,FOLLOW_LEFT_SQUARE_in_primary3164); if (state.failed) return result;
+							match(input,RIGHT_SQUARE,FOLLOW_RIGHT_SQUARE_in_primary3166); if (state.failed) return result;
 							}
 							break;
 
@@ -4552,37 +4555,37 @@ public class DRL6Expressions extends DRLExpressions {
 						}
 					}
 
-					match(input,DOT,FOLLOW_DOT_in_primary3164); if (state.failed) return result;
-					pushFollow(FOLLOW_class_key_in_primary3166);
+					match(input,DOT,FOLLOW_DOT_in_primary3170); if (state.failed) return result;
+					pushFollow(FOLLOW_class_key_in_primary3172);
 					class_key();
 					state._fsp--;
 					if (state.failed) return result;
 					}
 					break;
 				case 7 :
-					// src/main/resources/org/drools/compiler/lang/DRL6Expressions.g:592:9: ( inlineMapExpression )=> inlineMapExpression
+					// src/main/resources/org/drools/drl/parser/DRL6Expressions.g:599:9: ( inlineMapExpression )=> inlineMapExpression
 					{
-					pushFollow(FOLLOW_inlineMapExpression_in_primary3186);
+					pushFollow(FOLLOW_inlineMapExpression_in_primary3192);
 					inlineMapExpression();
 					state._fsp--;
 					if (state.failed) return result;
 					}
 					break;
 				case 8 :
-					// src/main/resources/org/drools/compiler/lang/DRL6Expressions.g:593:9: ( inlineListExpression )=> inlineListExpression
+					// src/main/resources/org/drools/drl/parser/DRL6Expressions.g:600:9: ( inlineListExpression )=> inlineListExpression
 					{
-					pushFollow(FOLLOW_inlineListExpression_in_primary3201);
+					pushFollow(FOLLOW_inlineListExpression_in_primary3207);
 					inlineListExpression();
 					state._fsp--;
 					if (state.failed) return result;
 					}
 					break;
 				case 9 :
-					// src/main/resources/org/drools/compiler/lang/DRL6Expressions.g:594:9: ( ID )=>i1= ID ( ( ( DOT ID )=>d= DOT i2= ID ) | ( ( ( DOT | NULL_SAFE_DOT ) LEFT_PAREN )=>d= ( DOT | NULL_SAFE_DOT ) LEFT_PAREN expression ( COMMA expression )* RIGHT_PAREN ) | ( ( HASH ID )=>h= HASH i2= ID ) | ( ( NULL_SAFE_DOT ID )=>n= NULL_SAFE_DOT i2= ID ) )* ( ( identifierSuffix )=> identifierSuffix )?
+					// src/main/resources/org/drools/drl/parser/DRL6Expressions.g:601:9: ( ID )=>i1= ID ( ( ( DOT ID )=>d= DOT i2= ID ) | ( ( ( DOT | NULL_SAFE_DOT ) LEFT_PAREN )=>d= ( DOT | NULL_SAFE_DOT ) LEFT_PAREN expression ( COMMA expression )* RIGHT_PAREN ) | ( ( HASH ID )=>h= HASH i2= ID ) | ( ( NULL_SAFE_DOT ID )=>n= NULL_SAFE_DOT i2= ID ) )* ( ( identifierSuffix )=> identifierSuffix )?
 					{
-					i1=(Token)match(input,ID,FOLLOW_ID_in_primary3217); if (state.failed) return result;
+					i1=(Token)match(input,ID,FOLLOW_ID_in_primary3223); if (state.failed) return result;
 					if ( state.backtracking==0 ) { helper.emit(i1, DroolsEditorType.IDENTIFIER); }
-					// src/main/resources/org/drools/compiler/lang/DRL6Expressions.g:595:9: ( ( ( DOT ID )=>d= DOT i2= ID ) | ( ( ( DOT | NULL_SAFE_DOT ) LEFT_PAREN )=>d= ( DOT | NULL_SAFE_DOT ) LEFT_PAREN expression ( COMMA expression )* RIGHT_PAREN ) | ( ( HASH ID )=>h= HASH i2= ID ) | ( ( NULL_SAFE_DOT ID )=>n= NULL_SAFE_DOT i2= ID ) )*
+					// src/main/resources/org/drools/drl/parser/DRL6Expressions.g:602:9: ( ( ( DOT ID )=>d= DOT i2= ID ) | ( ( ( DOT | NULL_SAFE_DOT ) LEFT_PAREN )=>d= ( DOT | NULL_SAFE_DOT ) LEFT_PAREN expression ( COMMA expression )* RIGHT_PAREN ) | ( ( HASH ID )=>h= HASH i2= ID ) | ( ( NULL_SAFE_DOT ID )=>n= NULL_SAFE_DOT i2= ID ) )*
 					loop66:
 					while (true) {
 						int alt66=5;
@@ -4621,23 +4624,23 @@ public class DRL6Expressions extends DRLExpressions {
 
 						switch (alt66) {
 						case 1 :
-							// src/main/resources/org/drools/compiler/lang/DRL6Expressions.g:596:13: ( ( DOT ID )=>d= DOT i2= ID )
+							// src/main/resources/org/drools/drl/parser/DRL6Expressions.g:603:13: ( ( DOT ID )=>d= DOT i2= ID )
 							{
-							// src/main/resources/org/drools/compiler/lang/DRL6Expressions.g:596:13: ( ( DOT ID )=>d= DOT i2= ID )
-							// src/main/resources/org/drools/compiler/lang/DRL6Expressions.g:596:15: ( DOT ID )=>d= DOT i2= ID
+							// src/main/resources/org/drools/drl/parser/DRL6Expressions.g:603:13: ( ( DOT ID )=>d= DOT i2= ID )
+							// src/main/resources/org/drools/drl/parser/DRL6Expressions.g:603:15: ( DOT ID )=>d= DOT i2= ID
 							{
-							d=(Token)match(input,DOT,FOLLOW_DOT_in_primary3253); if (state.failed) return result;
-							i2=(Token)match(input,ID,FOLLOW_ID_in_primary3257); if (state.failed) return result;
+							d=(Token)match(input,DOT,FOLLOW_DOT_in_primary3259); if (state.failed) return result;
+							i2=(Token)match(input,ID,FOLLOW_ID_in_primary3263); if (state.failed) return result;
 							if ( state.backtracking==0 ) { helper.emit(d, DroolsEditorType.SYMBOL); helper.emit(i2, DroolsEditorType.IDENTIFIER); }
 							}
 
 							}
 							break;
 						case 2 :
-							// src/main/resources/org/drools/compiler/lang/DRL6Expressions.g:598:13: ( ( ( DOT | NULL_SAFE_DOT ) LEFT_PAREN )=>d= ( DOT | NULL_SAFE_DOT ) LEFT_PAREN expression ( COMMA expression )* RIGHT_PAREN )
+							// src/main/resources/org/drools/drl/parser/DRL6Expressions.g:605:13: ( ( ( DOT | NULL_SAFE_DOT ) LEFT_PAREN )=>d= ( DOT | NULL_SAFE_DOT ) LEFT_PAREN expression ( COMMA expression )* RIGHT_PAREN )
 							{
-							// src/main/resources/org/drools/compiler/lang/DRL6Expressions.g:598:13: ( ( ( DOT | NULL_SAFE_DOT ) LEFT_PAREN )=>d= ( DOT | NULL_SAFE_DOT ) LEFT_PAREN expression ( COMMA expression )* RIGHT_PAREN )
-							// src/main/resources/org/drools/compiler/lang/DRL6Expressions.g:598:15: ( ( DOT | NULL_SAFE_DOT ) LEFT_PAREN )=>d= ( DOT | NULL_SAFE_DOT ) LEFT_PAREN expression ( COMMA expression )* RIGHT_PAREN
+							// src/main/resources/org/drools/drl/parser/DRL6Expressions.g:605:13: ( ( ( DOT | NULL_SAFE_DOT ) LEFT_PAREN )=>d= ( DOT | NULL_SAFE_DOT ) LEFT_PAREN expression ( COMMA expression )* RIGHT_PAREN )
+							// src/main/resources/org/drools/drl/parser/DRL6Expressions.g:605:15: ( ( DOT | NULL_SAFE_DOT ) LEFT_PAREN )=>d= ( DOT | NULL_SAFE_DOT ) LEFT_PAREN expression ( COMMA expression )* RIGHT_PAREN
 							{
 							d=input.LT(1);
 							if ( input.LA(1)==DOT||input.LA(1)==NULL_SAFE_DOT ) {
@@ -4650,13 +4653,13 @@ public class DRL6Expressions extends DRLExpressions {
 								MismatchedSetException mse = new MismatchedSetException(null,input);
 								throw mse;
 							}
-							LEFT_PAREN12=(Token)match(input,LEFT_PAREN,FOLLOW_LEFT_PAREN_in_primary3309); if (state.failed) return result;
+							LEFT_PAREN12=(Token)match(input,LEFT_PAREN,FOLLOW_LEFT_PAREN_in_primary3315); if (state.failed) return result;
 							if ( state.backtracking==0 ) { helper.emit(d, DroolsEditorType.SYMBOL); helper.emit(LEFT_PAREN12, DroolsEditorType.SYMBOL); }
-							pushFollow(FOLLOW_expression_in_primary3349);
+							pushFollow(FOLLOW_expression_in_primary3355);
 							expression();
 							state._fsp--;
 							if (state.failed) return result;
-							// src/main/resources/org/drools/compiler/lang/DRL6Expressions.g:599:48: ( COMMA expression )*
+							// src/main/resources/org/drools/drl/parser/DRL6Expressions.g:606:48: ( COMMA expression )*
 							loop65:
 							while (true) {
 								int alt65=2;
@@ -4667,11 +4670,11 @@ public class DRL6Expressions extends DRLExpressions {
 
 								switch (alt65) {
 								case 1 :
-									// src/main/resources/org/drools/compiler/lang/DRL6Expressions.g:599:49: COMMA expression
+									// src/main/resources/org/drools/drl/parser/DRL6Expressions.g:606:49: COMMA expression
 									{
-									COMMA13=(Token)match(input,COMMA,FOLLOW_COMMA_in_primary3352); if (state.failed) return result;
+									COMMA13=(Token)match(input,COMMA,FOLLOW_COMMA_in_primary3358); if (state.failed) return result;
 									if ( state.backtracking==0 ) { helper.emit(COMMA13, DroolsEditorType.SYMBOL); }
-									pushFollow(FOLLOW_expression_in_primary3356);
+									pushFollow(FOLLOW_expression_in_primary3362);
 									expression();
 									state._fsp--;
 									if (state.failed) return result;
@@ -4683,33 +4686,33 @@ public class DRL6Expressions extends DRLExpressions {
 								}
 							}
 
-							RIGHT_PAREN14=(Token)match(input,RIGHT_PAREN,FOLLOW_RIGHT_PAREN_in_primary3396); if (state.failed) return result;
+							RIGHT_PAREN14=(Token)match(input,RIGHT_PAREN,FOLLOW_RIGHT_PAREN_in_primary3402); if (state.failed) return result;
 							if ( state.backtracking==0 ) { helper.emit(RIGHT_PAREN14, DroolsEditorType.SYMBOL); }
 							}
 
 							}
 							break;
 						case 3 :
-							// src/main/resources/org/drools/compiler/lang/DRL6Expressions.g:603:13: ( ( HASH ID )=>h= HASH i2= ID )
+							// src/main/resources/org/drools/drl/parser/DRL6Expressions.g:610:13: ( ( HASH ID )=>h= HASH i2= ID )
 							{
-							// src/main/resources/org/drools/compiler/lang/DRL6Expressions.g:603:13: ( ( HASH ID )=>h= HASH i2= ID )
-							// src/main/resources/org/drools/compiler/lang/DRL6Expressions.g:603:15: ( HASH ID )=>h= HASH i2= ID
+							// src/main/resources/org/drools/drl/parser/DRL6Expressions.g:610:13: ( ( HASH ID )=>h= HASH i2= ID )
+							// src/main/resources/org/drools/drl/parser/DRL6Expressions.g:610:15: ( HASH ID )=>h= HASH i2= ID
 							{
-							h=(Token)match(input,HASH,FOLLOW_HASH_in_primary3450); if (state.failed) return result;
-							i2=(Token)match(input,ID,FOLLOW_ID_in_primary3454); if (state.failed) return result;
+							h=(Token)match(input,HASH,FOLLOW_HASH_in_primary3456); if (state.failed) return result;
+							i2=(Token)match(input,ID,FOLLOW_ID_in_primary3460); if (state.failed) return result;
 							if ( state.backtracking==0 ) { helper.emit(h, DroolsEditorType.SYMBOL); helper.emit(i2, DroolsEditorType.IDENTIFIER); }
 							}
 
 							}
 							break;
 						case 4 :
-							// src/main/resources/org/drools/compiler/lang/DRL6Expressions.g:605:13: ( ( NULL_SAFE_DOT ID )=>n= NULL_SAFE_DOT i2= ID )
+							// src/main/resources/org/drools/drl/parser/DRL6Expressions.g:612:13: ( ( NULL_SAFE_DOT ID )=>n= NULL_SAFE_DOT i2= ID )
 							{
-							// src/main/resources/org/drools/compiler/lang/DRL6Expressions.g:605:13: ( ( NULL_SAFE_DOT ID )=>n= NULL_SAFE_DOT i2= ID )
-							// src/main/resources/org/drools/compiler/lang/DRL6Expressions.g:605:15: ( NULL_SAFE_DOT ID )=>n= NULL_SAFE_DOT i2= ID
+							// src/main/resources/org/drools/drl/parser/DRL6Expressions.g:612:13: ( ( NULL_SAFE_DOT ID )=>n= NULL_SAFE_DOT i2= ID )
+							// src/main/resources/org/drools/drl/parser/DRL6Expressions.g:612:15: ( NULL_SAFE_DOT ID )=>n= NULL_SAFE_DOT i2= ID
 							{
-							n=(Token)match(input,NULL_SAFE_DOT,FOLLOW_NULL_SAFE_DOT_in_primary3496); if (state.failed) return result;
-							i2=(Token)match(input,ID,FOLLOW_ID_in_primary3500); if (state.failed) return result;
+							n=(Token)match(input,NULL_SAFE_DOT,FOLLOW_NULL_SAFE_DOT_in_primary3502); if (state.failed) return result;
+							i2=(Token)match(input,ID,FOLLOW_ID_in_primary3506); if (state.failed) return result;
 							if ( state.backtracking==0 ) { helper.emit(n, DroolsEditorType.SYMBOL); helper.emit(i2, DroolsEditorType.IDENTIFIER); }
 							}
 
@@ -4721,7 +4724,7 @@ public class DRL6Expressions extends DRLExpressions {
 						}
 					}
 
-					// src/main/resources/org/drools/compiler/lang/DRL6Expressions.g:606:12: ( ( identifierSuffix )=> identifierSuffix )?
+					// src/main/resources/org/drools/drl/parser/DRL6Expressions.g:613:12: ( ( identifierSuffix )=> identifierSuffix )?
 					int alt67=2;
 					int LA67_0 = input.LA(1);
 					if ( (LA67_0==LEFT_SQUARE) ) {
@@ -4738,9 +4741,9 @@ public class DRL6Expressions extends DRLExpressions {
 					}
 					switch (alt67) {
 						case 1 :
-							// src/main/resources/org/drools/compiler/lang/DRL6Expressions.g:606:13: ( identifierSuffix )=> identifierSuffix
+							// src/main/resources/org/drools/drl/parser/DRL6Expressions.g:613:13: ( identifierSuffix )=> identifierSuffix
 							{
-							pushFollow(FOLLOW_identifierSuffix_in_primary3522);
+							pushFollow(FOLLOW_identifierSuffix_in_primary3528);
 							identifierSuffix();
 							state._fsp--;
 							if (state.failed) return result;
@@ -4769,14 +4772,14 @@ public class DRL6Expressions extends DRLExpressions {
 
 
 	// $ANTLR start "inlineListExpression"
-	// src/main/resources/org/drools/compiler/lang/DRL6Expressions.g:609:1: inlineListExpression : LEFT_SQUARE ( expressionList )? RIGHT_SQUARE ;
+	// src/main/resources/org/drools/drl/parser/DRL6Expressions.g:616:1: inlineListExpression : LEFT_SQUARE ( expressionList )? RIGHT_SQUARE ;
 	public final void inlineListExpression() throws RecognitionException {
 		try {
-			// src/main/resources/org/drools/compiler/lang/DRL6Expressions.g:610:5: ( LEFT_SQUARE ( expressionList )? RIGHT_SQUARE )
-			// src/main/resources/org/drools/compiler/lang/DRL6Expressions.g:610:9: LEFT_SQUARE ( expressionList )? RIGHT_SQUARE
+			// src/main/resources/org/drools/drl/parser/DRL6Expressions.g:617:5: ( LEFT_SQUARE ( expressionList )? RIGHT_SQUARE )
+			// src/main/resources/org/drools/drl/parser/DRL6Expressions.g:617:9: LEFT_SQUARE ( expressionList )? RIGHT_SQUARE
 			{
-			match(input,LEFT_SQUARE,FOLLOW_LEFT_SQUARE_in_inlineListExpression3543); if (state.failed) return;
-			// src/main/resources/org/drools/compiler/lang/DRL6Expressions.g:610:21: ( expressionList )?
+			match(input,LEFT_SQUARE,FOLLOW_LEFT_SQUARE_in_inlineListExpression3549); if (state.failed) return;
+			// src/main/resources/org/drools/drl/parser/DRL6Expressions.g:617:21: ( expressionList )?
 			int alt69=2;
 			int LA69_0 = input.LA(1);
 			if ( (LA69_0==BOOL||(LA69_0 >= DECIMAL && LA69_0 <= DIV)||LA69_0==DOT||LA69_0==FLOAT||LA69_0==HEX||(LA69_0 >= ID && LA69_0 <= INCR)||(LA69_0 >= LEFT_PAREN && LA69_0 <= LESS)||LA69_0==MINUS||LA69_0==NEGATION||LA69_0==NULL||LA69_0==PLUS||LA69_0==QUESTION_DIV||(LA69_0 >= STAR && LA69_0 <= TIME_INTERVAL)) ) {
@@ -4784,9 +4787,9 @@ public class DRL6Expressions extends DRLExpressions {
 			}
 			switch (alt69) {
 				case 1 :
-					// src/main/resources/org/drools/compiler/lang/DRL6Expressions.g:610:21: expressionList
+					// src/main/resources/org/drools/drl/parser/DRL6Expressions.g:617:21: expressionList
 					{
-					pushFollow(FOLLOW_expressionList_in_inlineListExpression3545);
+					pushFollow(FOLLOW_expressionList_in_inlineListExpression3551);
 					expressionList();
 					state._fsp--;
 					if (state.failed) return;
@@ -4795,7 +4798,7 @@ public class DRL6Expressions extends DRLExpressions {
 
 			}
 
-			match(input,RIGHT_SQUARE,FOLLOW_RIGHT_SQUARE_in_inlineListExpression3548); if (state.failed) return;
+			match(input,RIGHT_SQUARE,FOLLOW_RIGHT_SQUARE_in_inlineListExpression3554); if (state.failed) return;
 			}
 
 		}
@@ -4813,19 +4816,19 @@ public class DRL6Expressions extends DRLExpressions {
 
 
 	// $ANTLR start "inlineMapExpression"
-	// src/main/resources/org/drools/compiler/lang/DRL6Expressions.g:613:1: inlineMapExpression : LEFT_SQUARE mapExpressionList RIGHT_SQUARE ;
+	// src/main/resources/org/drools/drl/parser/DRL6Expressions.g:620:1: inlineMapExpression : LEFT_SQUARE mapExpressionList RIGHT_SQUARE ;
 	public final void inlineMapExpression() throws RecognitionException {
 		 inMap++; 
 		try {
-			// src/main/resources/org/drools/compiler/lang/DRL6Expressions.g:615:5: ( LEFT_SQUARE mapExpressionList RIGHT_SQUARE )
-			// src/main/resources/org/drools/compiler/lang/DRL6Expressions.g:615:7: LEFT_SQUARE mapExpressionList RIGHT_SQUARE
+			// src/main/resources/org/drools/drl/parser/DRL6Expressions.g:622:5: ( LEFT_SQUARE mapExpressionList RIGHT_SQUARE )
+			// src/main/resources/org/drools/drl/parser/DRL6Expressions.g:622:7: LEFT_SQUARE mapExpressionList RIGHT_SQUARE
 			{
-			match(input,LEFT_SQUARE,FOLLOW_LEFT_SQUARE_in_inlineMapExpression3569); if (state.failed) return;
-			pushFollow(FOLLOW_mapExpressionList_in_inlineMapExpression3571);
+			match(input,LEFT_SQUARE,FOLLOW_LEFT_SQUARE_in_inlineMapExpression3575); if (state.failed) return;
+			pushFollow(FOLLOW_mapExpressionList_in_inlineMapExpression3577);
 			mapExpressionList();
 			state._fsp--;
 			if (state.failed) return;
-			match(input,RIGHT_SQUARE,FOLLOW_RIGHT_SQUARE_in_inlineMapExpression3573); if (state.failed) return;
+			match(input,RIGHT_SQUARE,FOLLOW_RIGHT_SQUARE_in_inlineMapExpression3579); if (state.failed) return;
 			}
 
 		}
@@ -4844,17 +4847,17 @@ public class DRL6Expressions extends DRLExpressions {
 
 
 	// $ANTLR start "mapExpressionList"
-	// src/main/resources/org/drools/compiler/lang/DRL6Expressions.g:619:1: mapExpressionList : mapEntry ( COMMA mapEntry )* ;
+	// src/main/resources/org/drools/drl/parser/DRL6Expressions.g:626:1: mapExpressionList : mapEntry ( COMMA mapEntry )* ;
 	public final void mapExpressionList() throws RecognitionException {
 		try {
-			// src/main/resources/org/drools/compiler/lang/DRL6Expressions.g:620:5: ( mapEntry ( COMMA mapEntry )* )
-			// src/main/resources/org/drools/compiler/lang/DRL6Expressions.g:620:7: mapEntry ( COMMA mapEntry )*
+			// src/main/resources/org/drools/drl/parser/DRL6Expressions.g:627:5: ( mapEntry ( COMMA mapEntry )* )
+			// src/main/resources/org/drools/drl/parser/DRL6Expressions.g:627:7: mapEntry ( COMMA mapEntry )*
 			{
-			pushFollow(FOLLOW_mapEntry_in_mapExpressionList3594);
+			pushFollow(FOLLOW_mapEntry_in_mapExpressionList3600);
 			mapEntry();
 			state._fsp--;
 			if (state.failed) return;
-			// src/main/resources/org/drools/compiler/lang/DRL6Expressions.g:620:16: ( COMMA mapEntry )*
+			// src/main/resources/org/drools/drl/parser/DRL6Expressions.g:627:16: ( COMMA mapEntry )*
 			loop70:
 			while (true) {
 				int alt70=2;
@@ -4865,10 +4868,10 @@ public class DRL6Expressions extends DRLExpressions {
 
 				switch (alt70) {
 				case 1 :
-					// src/main/resources/org/drools/compiler/lang/DRL6Expressions.g:620:17: COMMA mapEntry
+					// src/main/resources/org/drools/drl/parser/DRL6Expressions.g:627:17: COMMA mapEntry
 					{
-					match(input,COMMA,FOLLOW_COMMA_in_mapExpressionList3597); if (state.failed) return;
-					pushFollow(FOLLOW_mapEntry_in_mapExpressionList3599);
+					match(input,COMMA,FOLLOW_COMMA_in_mapExpressionList3603); if (state.failed) return;
+					pushFollow(FOLLOW_mapEntry_in_mapExpressionList3605);
 					mapEntry();
 					state._fsp--;
 					if (state.failed) return;
@@ -4897,18 +4900,18 @@ public class DRL6Expressions extends DRLExpressions {
 
 
 	// $ANTLR start "mapEntry"
-	// src/main/resources/org/drools/compiler/lang/DRL6Expressions.g:623:1: mapEntry : expression COLON expression ;
+	// src/main/resources/org/drools/drl/parser/DRL6Expressions.g:630:1: mapEntry : expression COLON expression ;
 	public final void mapEntry() throws RecognitionException {
 		try {
-			// src/main/resources/org/drools/compiler/lang/DRL6Expressions.g:624:5: ( expression COLON expression )
-			// src/main/resources/org/drools/compiler/lang/DRL6Expressions.g:624:7: expression COLON expression
+			// src/main/resources/org/drools/drl/parser/DRL6Expressions.g:631:5: ( expression COLON expression )
+			// src/main/resources/org/drools/drl/parser/DRL6Expressions.g:631:7: expression COLON expression
 			{
-			pushFollow(FOLLOW_expression_in_mapEntry3618);
+			pushFollow(FOLLOW_expression_in_mapEntry3624);
 			expression();
 			state._fsp--;
 			if (state.failed) return;
-			match(input,COLON,FOLLOW_COLON_in_mapEntry3620); if (state.failed) return;
-			pushFollow(FOLLOW_expression_in_mapEntry3622);
+			match(input,COLON,FOLLOW_COLON_in_mapEntry3626); if (state.failed) return;
+			pushFollow(FOLLOW_expression_in_mapEntry3628);
 			expression();
 			state._fsp--;
 			if (state.failed) return;
@@ -4929,7 +4932,7 @@ public class DRL6Expressions extends DRLExpressions {
 
 
 	// $ANTLR start "parExpression"
-	// src/main/resources/org/drools/compiler/lang/DRL6Expressions.g:627:1: parExpression returns [BaseDescr result] : LEFT_PAREN expr= expression RIGHT_PAREN ;
+	// src/main/resources/org/drools/drl/parser/DRL6Expressions.g:634:1: parExpression returns [BaseDescr result] : LEFT_PAREN expr= expression RIGHT_PAREN ;
 	public final BaseDescr parExpression() throws RecognitionException {
 		BaseDescr result = null;
 
@@ -4937,15 +4940,15 @@ public class DRL6Expressions extends DRLExpressions {
 		ParserRuleReturnScope expr =null;
 
 		try {
-			// src/main/resources/org/drools/compiler/lang/DRL6Expressions.g:628:5: ( LEFT_PAREN expr= expression RIGHT_PAREN )
-			// src/main/resources/org/drools/compiler/lang/DRL6Expressions.g:628:7: LEFT_PAREN expr= expression RIGHT_PAREN
+			// src/main/resources/org/drools/drl/parser/DRL6Expressions.g:635:5: ( LEFT_PAREN expr= expression RIGHT_PAREN )
+			// src/main/resources/org/drools/drl/parser/DRL6Expressions.g:635:7: LEFT_PAREN expr= expression RIGHT_PAREN
 			{
-			match(input,LEFT_PAREN,FOLLOW_LEFT_PAREN_in_parExpression3643); if (state.failed) return result;
-			pushFollow(FOLLOW_expression_in_parExpression3647);
+			match(input,LEFT_PAREN,FOLLOW_LEFT_PAREN_in_parExpression3649); if (state.failed) return result;
+			pushFollow(FOLLOW_expression_in_parExpression3653);
 			expr=expression();
 			state._fsp--;
 			if (state.failed) return result;
-			match(input,RIGHT_PAREN,FOLLOW_RIGHT_PAREN_in_parExpression3649); if (state.failed) return result;
+			match(input,RIGHT_PAREN,FOLLOW_RIGHT_PAREN_in_parExpression3655); if (state.failed) return result;
 			if ( state.backtracking==0 ) {  if( buildDescr  ) {
 			               result = (expr!=null?((DRL6Expressions.expression_return)expr).result:null);
 			               if( result instanceof AtomicExprDescr ) {
@@ -4971,7 +4974,7 @@ public class DRL6Expressions extends DRLExpressions {
 
 
 	// $ANTLR start "identifierSuffix"
-	// src/main/resources/org/drools/compiler/lang/DRL6Expressions.g:638:1: identifierSuffix : ( ( LEFT_SQUARE RIGHT_SQUARE )=> ( LEFT_SQUARE RIGHT_SQUARE )+ DOT class_key | ( ( LEFT_SQUARE )=> LEFT_SQUARE expression RIGHT_SQUARE )+ | arguments );
+	// src/main/resources/org/drools/drl/parser/DRL6Expressions.g:645:1: identifierSuffix : ( ( LEFT_SQUARE RIGHT_SQUARE )=> ( LEFT_SQUARE RIGHT_SQUARE )+ DOT class_key | ( ( LEFT_SQUARE )=> LEFT_SQUARE expression RIGHT_SQUARE )+ | arguments );
 	public final void identifierSuffix() throws RecognitionException {
 		Token LEFT_SQUARE15=null;
 		Token RIGHT_SQUARE16=null;
@@ -4980,7 +4983,7 @@ public class DRL6Expressions extends DRLExpressions {
 		Token RIGHT_SQUARE19=null;
 
 		try {
-			// src/main/resources/org/drools/compiler/lang/DRL6Expressions.g:639:5: ( ( LEFT_SQUARE RIGHT_SQUARE )=> ( LEFT_SQUARE RIGHT_SQUARE )+ DOT class_key | ( ( LEFT_SQUARE )=> LEFT_SQUARE expression RIGHT_SQUARE )+ | arguments )
+			// src/main/resources/org/drools/drl/parser/DRL6Expressions.g:646:5: ( ( LEFT_SQUARE RIGHT_SQUARE )=> ( LEFT_SQUARE RIGHT_SQUARE )+ DOT class_key | ( ( LEFT_SQUARE )=> LEFT_SQUARE expression RIGHT_SQUARE )+ | arguments )
 			int alt73=3;
 			int LA73_0 = input.LA(1);
 			if ( (LA73_0==LEFT_SQUARE) ) {
@@ -5019,9 +5022,9 @@ public class DRL6Expressions extends DRLExpressions {
 
 			switch (alt73) {
 				case 1 :
-					// src/main/resources/org/drools/compiler/lang/DRL6Expressions.g:639:7: ( LEFT_SQUARE RIGHT_SQUARE )=> ( LEFT_SQUARE RIGHT_SQUARE )+ DOT class_key
+					// src/main/resources/org/drools/drl/parser/DRL6Expressions.g:646:7: ( LEFT_SQUARE RIGHT_SQUARE )=> ( LEFT_SQUARE RIGHT_SQUARE )+ DOT class_key
 					{
-					// src/main/resources/org/drools/compiler/lang/DRL6Expressions.g:639:35: ( LEFT_SQUARE RIGHT_SQUARE )+
+					// src/main/resources/org/drools/drl/parser/DRL6Expressions.g:646:35: ( LEFT_SQUARE RIGHT_SQUARE )+
 					int cnt71=0;
 					loop71:
 					while (true) {
@@ -5033,11 +5036,11 @@ public class DRL6Expressions extends DRLExpressions {
 
 						switch (alt71) {
 						case 1 :
-							// src/main/resources/org/drools/compiler/lang/DRL6Expressions.g:639:36: LEFT_SQUARE RIGHT_SQUARE
+							// src/main/resources/org/drools/drl/parser/DRL6Expressions.g:646:36: LEFT_SQUARE RIGHT_SQUARE
 							{
-							LEFT_SQUARE15=(Token)match(input,LEFT_SQUARE,FOLLOW_LEFT_SQUARE_in_identifierSuffix3683); if (state.failed) return;
+							LEFT_SQUARE15=(Token)match(input,LEFT_SQUARE,FOLLOW_LEFT_SQUARE_in_identifierSuffix3689); if (state.failed) return;
 							if ( state.backtracking==0 ) { helper.emit(LEFT_SQUARE15, DroolsEditorType.SYMBOL); }
-							RIGHT_SQUARE16=(Token)match(input,RIGHT_SQUARE,FOLLOW_RIGHT_SQUARE_in_identifierSuffix3724); if (state.failed) return;
+							RIGHT_SQUARE16=(Token)match(input,RIGHT_SQUARE,FOLLOW_RIGHT_SQUARE_in_identifierSuffix3730); if (state.failed) return;
 							if ( state.backtracking==0 ) { helper.emit(RIGHT_SQUARE16, DroolsEditorType.SYMBOL); }
 							}
 							break;
@@ -5051,18 +5054,18 @@ public class DRL6Expressions extends DRLExpressions {
 						cnt71++;
 					}
 
-					DOT17=(Token)match(input,DOT,FOLLOW_DOT_in_identifierSuffix3768); if (state.failed) return;
+					DOT17=(Token)match(input,DOT,FOLLOW_DOT_in_identifierSuffix3774); if (state.failed) return;
 					if ( state.backtracking==0 ) { helper.emit(DOT17, DroolsEditorType.SYMBOL); }
-					pushFollow(FOLLOW_class_key_in_identifierSuffix3772);
+					pushFollow(FOLLOW_class_key_in_identifierSuffix3778);
 					class_key();
 					state._fsp--;
 					if (state.failed) return;
 					}
 					break;
 				case 2 :
-					// src/main/resources/org/drools/compiler/lang/DRL6Expressions.g:642:7: ( ( LEFT_SQUARE )=> LEFT_SQUARE expression RIGHT_SQUARE )+
+					// src/main/resources/org/drools/drl/parser/DRL6Expressions.g:649:7: ( ( LEFT_SQUARE )=> LEFT_SQUARE expression RIGHT_SQUARE )+
 					{
-					// src/main/resources/org/drools/compiler/lang/DRL6Expressions.g:642:7: ( ( LEFT_SQUARE )=> LEFT_SQUARE expression RIGHT_SQUARE )+
+					// src/main/resources/org/drools/drl/parser/DRL6Expressions.g:649:7: ( ( LEFT_SQUARE )=> LEFT_SQUARE expression RIGHT_SQUARE )+
 					int cnt72=0;
 					loop72:
 					while (true) {
@@ -5078,15 +5081,15 @@ public class DRL6Expressions extends DRLExpressions {
 
 						switch (alt72) {
 						case 1 :
-							// src/main/resources/org/drools/compiler/lang/DRL6Expressions.g:642:8: ( LEFT_SQUARE )=> LEFT_SQUARE expression RIGHT_SQUARE
+							// src/main/resources/org/drools/drl/parser/DRL6Expressions.g:649:8: ( LEFT_SQUARE )=> LEFT_SQUARE expression RIGHT_SQUARE
 							{
-							LEFT_SQUARE18=(Token)match(input,LEFT_SQUARE,FOLLOW_LEFT_SQUARE_in_identifierSuffix3787); if (state.failed) return;
+							LEFT_SQUARE18=(Token)match(input,LEFT_SQUARE,FOLLOW_LEFT_SQUARE_in_identifierSuffix3793); if (state.failed) return;
 							if ( state.backtracking==0 ) { helper.emit(LEFT_SQUARE18, DroolsEditorType.SYMBOL); }
-							pushFollow(FOLLOW_expression_in_identifierSuffix3817);
+							pushFollow(FOLLOW_expression_in_identifierSuffix3823);
 							expression();
 							state._fsp--;
 							if (state.failed) return;
-							RIGHT_SQUARE19=(Token)match(input,RIGHT_SQUARE,FOLLOW_RIGHT_SQUARE_in_identifierSuffix3845); if (state.failed) return;
+							RIGHT_SQUARE19=(Token)match(input,RIGHT_SQUARE,FOLLOW_RIGHT_SQUARE_in_identifierSuffix3851); if (state.failed) return;
 							if ( state.backtracking==0 ) { helper.emit(RIGHT_SQUARE19, DroolsEditorType.SYMBOL); }
 							}
 							break;
@@ -5103,9 +5106,9 @@ public class DRL6Expressions extends DRLExpressions {
 					}
 					break;
 				case 3 :
-					// src/main/resources/org/drools/compiler/lang/DRL6Expressions.g:645:9: arguments
+					// src/main/resources/org/drools/drl/parser/DRL6Expressions.g:652:9: arguments
 					{
-					pushFollow(FOLLOW_arguments_in_identifierSuffix3861);
+					pushFollow(FOLLOW_arguments_in_identifierSuffix3867);
 					arguments();
 					state._fsp--;
 					if (state.failed) return;
@@ -5128,13 +5131,13 @@ public class DRL6Expressions extends DRLExpressions {
 
 
 	// $ANTLR start "creator"
-	// src/main/resources/org/drools/compiler/lang/DRL6Expressions.g:653:1: creator : ( nonWildcardTypeArguments )? createdName ( arrayCreatorRest | classCreatorRest ) ;
+	// src/main/resources/org/drools/drl/parser/DRL6Expressions.g:660:1: creator : ( nonWildcardTypeArguments )? createdName ( arrayCreatorRest | classCreatorRest ) ;
 	public final void creator() throws RecognitionException {
 		try {
-			// src/main/resources/org/drools/compiler/lang/DRL6Expressions.g:654:5: ( ( nonWildcardTypeArguments )? createdName ( arrayCreatorRest | classCreatorRest ) )
-			// src/main/resources/org/drools/compiler/lang/DRL6Expressions.g:654:7: ( nonWildcardTypeArguments )? createdName ( arrayCreatorRest | classCreatorRest )
+			// src/main/resources/org/drools/drl/parser/DRL6Expressions.g:661:5: ( ( nonWildcardTypeArguments )? createdName ( arrayCreatorRest | classCreatorRest ) )
+			// src/main/resources/org/drools/drl/parser/DRL6Expressions.g:661:7: ( nonWildcardTypeArguments )? createdName ( arrayCreatorRest | classCreatorRest )
 			{
-			// src/main/resources/org/drools/compiler/lang/DRL6Expressions.g:654:7: ( nonWildcardTypeArguments )?
+			// src/main/resources/org/drools/drl/parser/DRL6Expressions.g:661:7: ( nonWildcardTypeArguments )?
 			int alt74=2;
 			int LA74_0 = input.LA(1);
 			if ( (LA74_0==LESS) ) {
@@ -5142,9 +5145,9 @@ public class DRL6Expressions extends DRLExpressions {
 			}
 			switch (alt74) {
 				case 1 :
-					// src/main/resources/org/drools/compiler/lang/DRL6Expressions.g:654:7: nonWildcardTypeArguments
+					// src/main/resources/org/drools/drl/parser/DRL6Expressions.g:661:7: nonWildcardTypeArguments
 					{
-					pushFollow(FOLLOW_nonWildcardTypeArguments_in_creator3883);
+					pushFollow(FOLLOW_nonWildcardTypeArguments_in_creator3889);
 					nonWildcardTypeArguments();
 					state._fsp--;
 					if (state.failed) return;
@@ -5153,11 +5156,11 @@ public class DRL6Expressions extends DRLExpressions {
 
 			}
 
-			pushFollow(FOLLOW_createdName_in_creator3886);
+			pushFollow(FOLLOW_createdName_in_creator3892);
 			createdName();
 			state._fsp--;
 			if (state.failed) return;
-			// src/main/resources/org/drools/compiler/lang/DRL6Expressions.g:655:9: ( arrayCreatorRest | classCreatorRest )
+			// src/main/resources/org/drools/drl/parser/DRL6Expressions.g:662:9: ( arrayCreatorRest | classCreatorRest )
 			int alt75=2;
 			int LA75_0 = input.LA(1);
 			if ( (LA75_0==LEFT_SQUARE) ) {
@@ -5176,18 +5179,18 @@ public class DRL6Expressions extends DRLExpressions {
 
 			switch (alt75) {
 				case 1 :
-					// src/main/resources/org/drools/compiler/lang/DRL6Expressions.g:655:10: arrayCreatorRest
+					// src/main/resources/org/drools/drl/parser/DRL6Expressions.g:662:10: arrayCreatorRest
 					{
-					pushFollow(FOLLOW_arrayCreatorRest_in_creator3897);
+					pushFollow(FOLLOW_arrayCreatorRest_in_creator3903);
 					arrayCreatorRest();
 					state._fsp--;
 					if (state.failed) return;
 					}
 					break;
 				case 2 :
-					// src/main/resources/org/drools/compiler/lang/DRL6Expressions.g:655:29: classCreatorRest
+					// src/main/resources/org/drools/drl/parser/DRL6Expressions.g:662:29: classCreatorRest
 					{
-					pushFollow(FOLLOW_classCreatorRest_in_creator3901);
+					pushFollow(FOLLOW_classCreatorRest_in_creator3907);
 					classCreatorRest();
 					state._fsp--;
 					if (state.failed) return;
@@ -5213,10 +5216,10 @@ public class DRL6Expressions extends DRLExpressions {
 
 
 	// $ANTLR start "createdName"
-	// src/main/resources/org/drools/compiler/lang/DRL6Expressions.g:658:1: createdName : ( ID ( typeArguments )? ( DOT ID ( typeArguments )? )* | primitiveType );
+	// src/main/resources/org/drools/drl/parser/DRL6Expressions.g:665:1: createdName : ( ID ( typeArguments )? ( DOT ID ( typeArguments )? )* | primitiveType );
 	public final void createdName() throws RecognitionException {
 		try {
-			// src/main/resources/org/drools/compiler/lang/DRL6Expressions.g:659:5: ( ID ( typeArguments )? ( DOT ID ( typeArguments )? )* | primitiveType )
+			// src/main/resources/org/drools/drl/parser/DRL6Expressions.g:666:5: ( ID ( typeArguments )? ( DOT ID ( typeArguments )? )* | primitiveType )
 			int alt79=2;
 			int LA79_0 = input.LA(1);
 			if ( (LA79_0==ID) ) {
@@ -5252,10 +5255,10 @@ public class DRL6Expressions extends DRLExpressions {
 
 			switch (alt79) {
 				case 1 :
-					// src/main/resources/org/drools/compiler/lang/DRL6Expressions.g:659:7: ID ( typeArguments )? ( DOT ID ( typeArguments )? )*
+					// src/main/resources/org/drools/drl/parser/DRL6Expressions.g:666:7: ID ( typeArguments )? ( DOT ID ( typeArguments )? )*
 					{
-					match(input,ID,FOLLOW_ID_in_createdName3919); if (state.failed) return;
-					// src/main/resources/org/drools/compiler/lang/DRL6Expressions.g:659:10: ( typeArguments )?
+					match(input,ID,FOLLOW_ID_in_createdName3925); if (state.failed) return;
+					// src/main/resources/org/drools/drl/parser/DRL6Expressions.g:666:10: ( typeArguments )?
 					int alt76=2;
 					int LA76_0 = input.LA(1);
 					if ( (LA76_0==LESS) ) {
@@ -5263,9 +5266,9 @@ public class DRL6Expressions extends DRLExpressions {
 					}
 					switch (alt76) {
 						case 1 :
-							// src/main/resources/org/drools/compiler/lang/DRL6Expressions.g:659:10: typeArguments
+							// src/main/resources/org/drools/drl/parser/DRL6Expressions.g:666:10: typeArguments
 							{
-							pushFollow(FOLLOW_typeArguments_in_createdName3921);
+							pushFollow(FOLLOW_typeArguments_in_createdName3927);
 							typeArguments();
 							state._fsp--;
 							if (state.failed) return;
@@ -5274,7 +5277,7 @@ public class DRL6Expressions extends DRLExpressions {
 
 					}
 
-					// src/main/resources/org/drools/compiler/lang/DRL6Expressions.g:660:9: ( DOT ID ( typeArguments )? )*
+					// src/main/resources/org/drools/drl/parser/DRL6Expressions.g:667:9: ( DOT ID ( typeArguments )? )*
 					loop78:
 					while (true) {
 						int alt78=2;
@@ -5285,11 +5288,11 @@ public class DRL6Expressions extends DRLExpressions {
 
 						switch (alt78) {
 						case 1 :
-							// src/main/resources/org/drools/compiler/lang/DRL6Expressions.g:660:11: DOT ID ( typeArguments )?
+							// src/main/resources/org/drools/drl/parser/DRL6Expressions.g:667:11: DOT ID ( typeArguments )?
 							{
-							match(input,DOT,FOLLOW_DOT_in_createdName3934); if (state.failed) return;
-							match(input,ID,FOLLOW_ID_in_createdName3936); if (state.failed) return;
-							// src/main/resources/org/drools/compiler/lang/DRL6Expressions.g:660:18: ( typeArguments )?
+							match(input,DOT,FOLLOW_DOT_in_createdName3940); if (state.failed) return;
+							match(input,ID,FOLLOW_ID_in_createdName3942); if (state.failed) return;
+							// src/main/resources/org/drools/drl/parser/DRL6Expressions.g:667:18: ( typeArguments )?
 							int alt77=2;
 							int LA77_0 = input.LA(1);
 							if ( (LA77_0==LESS) ) {
@@ -5297,9 +5300,9 @@ public class DRL6Expressions extends DRLExpressions {
 							}
 							switch (alt77) {
 								case 1 :
-									// src/main/resources/org/drools/compiler/lang/DRL6Expressions.g:660:18: typeArguments
+									// src/main/resources/org/drools/drl/parser/DRL6Expressions.g:667:18: typeArguments
 									{
-									pushFollow(FOLLOW_typeArguments_in_createdName3938);
+									pushFollow(FOLLOW_typeArguments_in_createdName3944);
 									typeArguments();
 									state._fsp--;
 									if (state.failed) return;
@@ -5319,9 +5322,9 @@ public class DRL6Expressions extends DRLExpressions {
 					}
 					break;
 				case 2 :
-					// src/main/resources/org/drools/compiler/lang/DRL6Expressions.g:661:11: primitiveType
+					// src/main/resources/org/drools/drl/parser/DRL6Expressions.g:668:11: primitiveType
 					{
-					pushFollow(FOLLOW_primitiveType_in_createdName3953);
+					pushFollow(FOLLOW_primitiveType_in_createdName3959);
 					primitiveType();
 					state._fsp--;
 					if (state.failed) return;
@@ -5344,18 +5347,18 @@ public class DRL6Expressions extends DRLExpressions {
 
 
 	// $ANTLR start "innerCreator"
-	// src/main/resources/org/drools/compiler/lang/DRL6Expressions.g:664:1: innerCreator :{...}? => ID classCreatorRest ;
+	// src/main/resources/org/drools/drl/parser/DRL6Expressions.g:671:1: innerCreator :{...}? => ID classCreatorRest ;
 	public final void innerCreator() throws RecognitionException {
 		try {
-			// src/main/resources/org/drools/compiler/lang/DRL6Expressions.g:665:5: ({...}? => ID classCreatorRest )
-			// src/main/resources/org/drools/compiler/lang/DRL6Expressions.g:665:7: {...}? => ID classCreatorRest
+			// src/main/resources/org/drools/drl/parser/DRL6Expressions.g:672:5: ({...}? => ID classCreatorRest )
+			// src/main/resources/org/drools/drl/parser/DRL6Expressions.g:672:7: {...}? => ID classCreatorRest
 			{
 			if ( !((!(helper.validateIdentifierKey(DroolsSoftKeywords.INSTANCEOF)))) ) {
 				if (state.backtracking>0) {state.failed=true; return;}
 				throw new FailedPredicateException(input, "innerCreator", "!(helper.validateIdentifierKey(DroolsSoftKeywords.INSTANCEOF))");
 			}
-			match(input,ID,FOLLOW_ID_in_innerCreator3973); if (state.failed) return;
-			pushFollow(FOLLOW_classCreatorRest_in_innerCreator3975);
+			match(input,ID,FOLLOW_ID_in_innerCreator3979); if (state.failed) return;
+			pushFollow(FOLLOW_classCreatorRest_in_innerCreator3981);
 			classCreatorRest();
 			state._fsp--;
 			if (state.failed) return;
@@ -5376,14 +5379,14 @@ public class DRL6Expressions extends DRLExpressions {
 
 
 	// $ANTLR start "arrayCreatorRest"
-	// src/main/resources/org/drools/compiler/lang/DRL6Expressions.g:668:1: arrayCreatorRest : LEFT_SQUARE ( RIGHT_SQUARE ( LEFT_SQUARE RIGHT_SQUARE )* arrayInitializer | expression RIGHT_SQUARE ({...}? => LEFT_SQUARE expression RIGHT_SQUARE )* ( ( LEFT_SQUARE RIGHT_SQUARE )=> LEFT_SQUARE RIGHT_SQUARE )* ) ;
+	// src/main/resources/org/drools/drl/parser/DRL6Expressions.g:675:1: arrayCreatorRest : LEFT_SQUARE ( RIGHT_SQUARE ( LEFT_SQUARE RIGHT_SQUARE )* arrayInitializer | expression RIGHT_SQUARE ({...}? => LEFT_SQUARE expression RIGHT_SQUARE )* ( ( LEFT_SQUARE RIGHT_SQUARE )=> LEFT_SQUARE RIGHT_SQUARE )* ) ;
 	public final void arrayCreatorRest() throws RecognitionException {
 		try {
-			// src/main/resources/org/drools/compiler/lang/DRL6Expressions.g:669:5: ( LEFT_SQUARE ( RIGHT_SQUARE ( LEFT_SQUARE RIGHT_SQUARE )* arrayInitializer | expression RIGHT_SQUARE ({...}? => LEFT_SQUARE expression RIGHT_SQUARE )* ( ( LEFT_SQUARE RIGHT_SQUARE )=> LEFT_SQUARE RIGHT_SQUARE )* ) )
-			// src/main/resources/org/drools/compiler/lang/DRL6Expressions.g:669:9: LEFT_SQUARE ( RIGHT_SQUARE ( LEFT_SQUARE RIGHT_SQUARE )* arrayInitializer | expression RIGHT_SQUARE ({...}? => LEFT_SQUARE expression RIGHT_SQUARE )* ( ( LEFT_SQUARE RIGHT_SQUARE )=> LEFT_SQUARE RIGHT_SQUARE )* )
+			// src/main/resources/org/drools/drl/parser/DRL6Expressions.g:676:5: ( LEFT_SQUARE ( RIGHT_SQUARE ( LEFT_SQUARE RIGHT_SQUARE )* arrayInitializer | expression RIGHT_SQUARE ({...}? => LEFT_SQUARE expression RIGHT_SQUARE )* ( ( LEFT_SQUARE RIGHT_SQUARE )=> LEFT_SQUARE RIGHT_SQUARE )* ) )
+			// src/main/resources/org/drools/drl/parser/DRL6Expressions.g:676:9: LEFT_SQUARE ( RIGHT_SQUARE ( LEFT_SQUARE RIGHT_SQUARE )* arrayInitializer | expression RIGHT_SQUARE ({...}? => LEFT_SQUARE expression RIGHT_SQUARE )* ( ( LEFT_SQUARE RIGHT_SQUARE )=> LEFT_SQUARE RIGHT_SQUARE )* )
 			{
-			match(input,LEFT_SQUARE,FOLLOW_LEFT_SQUARE_in_arrayCreatorRest3994); if (state.failed) return;
-			// src/main/resources/org/drools/compiler/lang/DRL6Expressions.g:670:5: ( RIGHT_SQUARE ( LEFT_SQUARE RIGHT_SQUARE )* arrayInitializer | expression RIGHT_SQUARE ({...}? => LEFT_SQUARE expression RIGHT_SQUARE )* ( ( LEFT_SQUARE RIGHT_SQUARE )=> LEFT_SQUARE RIGHT_SQUARE )* )
+			match(input,LEFT_SQUARE,FOLLOW_LEFT_SQUARE_in_arrayCreatorRest4000); if (state.failed) return;
+			// src/main/resources/org/drools/drl/parser/DRL6Expressions.g:677:5: ( RIGHT_SQUARE ( LEFT_SQUARE RIGHT_SQUARE )* arrayInitializer | expression RIGHT_SQUARE ({...}? => LEFT_SQUARE expression RIGHT_SQUARE )* ( ( LEFT_SQUARE RIGHT_SQUARE )=> LEFT_SQUARE RIGHT_SQUARE )* )
 			int alt83=2;
 			int LA83_0 = input.LA(1);
 			if ( (LA83_0==RIGHT_SQUARE) ) {
@@ -5402,10 +5405,10 @@ public class DRL6Expressions extends DRLExpressions {
 
 			switch (alt83) {
 				case 1 :
-					// src/main/resources/org/drools/compiler/lang/DRL6Expressions.g:670:9: RIGHT_SQUARE ( LEFT_SQUARE RIGHT_SQUARE )* arrayInitializer
+					// src/main/resources/org/drools/drl/parser/DRL6Expressions.g:677:9: RIGHT_SQUARE ( LEFT_SQUARE RIGHT_SQUARE )* arrayInitializer
 					{
-					match(input,RIGHT_SQUARE,FOLLOW_RIGHT_SQUARE_in_arrayCreatorRest4004); if (state.failed) return;
-					// src/main/resources/org/drools/compiler/lang/DRL6Expressions.g:670:22: ( LEFT_SQUARE RIGHT_SQUARE )*
+					match(input,RIGHT_SQUARE,FOLLOW_RIGHT_SQUARE_in_arrayCreatorRest4010); if (state.failed) return;
+					// src/main/resources/org/drools/drl/parser/DRL6Expressions.g:677:22: ( LEFT_SQUARE RIGHT_SQUARE )*
 					loop80:
 					while (true) {
 						int alt80=2;
@@ -5416,10 +5419,10 @@ public class DRL6Expressions extends DRLExpressions {
 
 						switch (alt80) {
 						case 1 :
-							// src/main/resources/org/drools/compiler/lang/DRL6Expressions.g:670:23: LEFT_SQUARE RIGHT_SQUARE
+							// src/main/resources/org/drools/drl/parser/DRL6Expressions.g:677:23: LEFT_SQUARE RIGHT_SQUARE
 							{
-							match(input,LEFT_SQUARE,FOLLOW_LEFT_SQUARE_in_arrayCreatorRest4007); if (state.failed) return;
-							match(input,RIGHT_SQUARE,FOLLOW_RIGHT_SQUARE_in_arrayCreatorRest4009); if (state.failed) return;
+							match(input,LEFT_SQUARE,FOLLOW_LEFT_SQUARE_in_arrayCreatorRest4013); if (state.failed) return;
+							match(input,RIGHT_SQUARE,FOLLOW_RIGHT_SQUARE_in_arrayCreatorRest4015); if (state.failed) return;
 							}
 							break;
 
@@ -5428,21 +5431,21 @@ public class DRL6Expressions extends DRLExpressions {
 						}
 					}
 
-					pushFollow(FOLLOW_arrayInitializer_in_arrayCreatorRest4013);
+					pushFollow(FOLLOW_arrayInitializer_in_arrayCreatorRest4019);
 					arrayInitializer();
 					state._fsp--;
 					if (state.failed) return;
 					}
 					break;
 				case 2 :
-					// src/main/resources/org/drools/compiler/lang/DRL6Expressions.g:671:13: expression RIGHT_SQUARE ({...}? => LEFT_SQUARE expression RIGHT_SQUARE )* ( ( LEFT_SQUARE RIGHT_SQUARE )=> LEFT_SQUARE RIGHT_SQUARE )*
+					// src/main/resources/org/drools/drl/parser/DRL6Expressions.g:678:13: expression RIGHT_SQUARE ({...}? => LEFT_SQUARE expression RIGHT_SQUARE )* ( ( LEFT_SQUARE RIGHT_SQUARE )=> LEFT_SQUARE RIGHT_SQUARE )*
 					{
-					pushFollow(FOLLOW_expression_in_arrayCreatorRest4027);
+					pushFollow(FOLLOW_expression_in_arrayCreatorRest4033);
 					expression();
 					state._fsp--;
 					if (state.failed) return;
-					match(input,RIGHT_SQUARE,FOLLOW_RIGHT_SQUARE_in_arrayCreatorRest4029); if (state.failed) return;
-					// src/main/resources/org/drools/compiler/lang/DRL6Expressions.g:671:37: ({...}? => LEFT_SQUARE expression RIGHT_SQUARE )*
+					match(input,RIGHT_SQUARE,FOLLOW_RIGHT_SQUARE_in_arrayCreatorRest4035); if (state.failed) return;
+					// src/main/resources/org/drools/drl/parser/DRL6Expressions.g:678:37: ({...}? => LEFT_SQUARE expression RIGHT_SQUARE )*
 					loop81:
 					while (true) {
 						int alt81=2;
@@ -5457,18 +5460,18 @@ public class DRL6Expressions extends DRLExpressions {
 
 						switch (alt81) {
 						case 1 :
-							// src/main/resources/org/drools/compiler/lang/DRL6Expressions.g:671:38: {...}? => LEFT_SQUARE expression RIGHT_SQUARE
+							// src/main/resources/org/drools/drl/parser/DRL6Expressions.g:678:38: {...}? => LEFT_SQUARE expression RIGHT_SQUARE
 							{
 							if ( !((!helper.validateLT(2,"]"))) ) {
 								if (state.backtracking>0) {state.failed=true; return;}
 								throw new FailedPredicateException(input, "arrayCreatorRest", "!helper.validateLT(2,\"]\")");
 							}
-							match(input,LEFT_SQUARE,FOLLOW_LEFT_SQUARE_in_arrayCreatorRest4034); if (state.failed) return;
-							pushFollow(FOLLOW_expression_in_arrayCreatorRest4036);
+							match(input,LEFT_SQUARE,FOLLOW_LEFT_SQUARE_in_arrayCreatorRest4040); if (state.failed) return;
+							pushFollow(FOLLOW_expression_in_arrayCreatorRest4042);
 							expression();
 							state._fsp--;
 							if (state.failed) return;
-							match(input,RIGHT_SQUARE,FOLLOW_RIGHT_SQUARE_in_arrayCreatorRest4038); if (state.failed) return;
+							match(input,RIGHT_SQUARE,FOLLOW_RIGHT_SQUARE_in_arrayCreatorRest4044); if (state.failed) return;
 							}
 							break;
 
@@ -5477,7 +5480,7 @@ public class DRL6Expressions extends DRLExpressions {
 						}
 					}
 
-					// src/main/resources/org/drools/compiler/lang/DRL6Expressions.g:671:106: ( ( LEFT_SQUARE RIGHT_SQUARE )=> LEFT_SQUARE RIGHT_SQUARE )*
+					// src/main/resources/org/drools/drl/parser/DRL6Expressions.g:678:106: ( ( LEFT_SQUARE RIGHT_SQUARE )=> LEFT_SQUARE RIGHT_SQUARE )*
 					loop82:
 					while (true) {
 						int alt82=2;
@@ -5492,10 +5495,10 @@ public class DRL6Expressions extends DRLExpressions {
 
 						switch (alt82) {
 						case 1 :
-							// src/main/resources/org/drools/compiler/lang/DRL6Expressions.g:671:107: ( LEFT_SQUARE RIGHT_SQUARE )=> LEFT_SQUARE RIGHT_SQUARE
+							// src/main/resources/org/drools/drl/parser/DRL6Expressions.g:678:107: ( LEFT_SQUARE RIGHT_SQUARE )=> LEFT_SQUARE RIGHT_SQUARE
 							{
-							match(input,LEFT_SQUARE,FOLLOW_LEFT_SQUARE_in_arrayCreatorRest4050); if (state.failed) return;
-							match(input,RIGHT_SQUARE,FOLLOW_RIGHT_SQUARE_in_arrayCreatorRest4052); if (state.failed) return;
+							match(input,LEFT_SQUARE,FOLLOW_LEFT_SQUARE_in_arrayCreatorRest4056); if (state.failed) return;
+							match(input,RIGHT_SQUARE,FOLLOW_RIGHT_SQUARE_in_arrayCreatorRest4058); if (state.failed) return;
 							}
 							break;
 
@@ -5526,10 +5529,10 @@ public class DRL6Expressions extends DRLExpressions {
 
 
 	// $ANTLR start "variableInitializer"
-	// src/main/resources/org/drools/compiler/lang/DRL6Expressions.g:675:1: variableInitializer : ( arrayInitializer | expression );
+	// src/main/resources/org/drools/drl/parser/DRL6Expressions.g:682:1: variableInitializer : ( arrayInitializer | expression );
 	public final void variableInitializer() throws RecognitionException {
 		try {
-			// src/main/resources/org/drools/compiler/lang/DRL6Expressions.g:676:5: ( arrayInitializer | expression )
+			// src/main/resources/org/drools/drl/parser/DRL6Expressions.g:683:5: ( arrayInitializer | expression )
 			int alt84=2;
 			int LA84_0 = input.LA(1);
 			if ( (LA84_0==LEFT_CURLY) ) {
@@ -5548,18 +5551,18 @@ public class DRL6Expressions extends DRLExpressions {
 
 			switch (alt84) {
 				case 1 :
-					// src/main/resources/org/drools/compiler/lang/DRL6Expressions.g:676:7: arrayInitializer
+					// src/main/resources/org/drools/drl/parser/DRL6Expressions.g:683:7: arrayInitializer
 					{
-					pushFollow(FOLLOW_arrayInitializer_in_variableInitializer4081);
+					pushFollow(FOLLOW_arrayInitializer_in_variableInitializer4087);
 					arrayInitializer();
 					state._fsp--;
 					if (state.failed) return;
 					}
 					break;
 				case 2 :
-					// src/main/resources/org/drools/compiler/lang/DRL6Expressions.g:677:13: expression
+					// src/main/resources/org/drools/drl/parser/DRL6Expressions.g:684:13: expression
 					{
-					pushFollow(FOLLOW_expression_in_variableInitializer4095);
+					pushFollow(FOLLOW_expression_in_variableInitializer4101);
 					expression();
 					state._fsp--;
 					if (state.failed) return;
@@ -5582,14 +5585,14 @@ public class DRL6Expressions extends DRLExpressions {
 
 
 	// $ANTLR start "arrayInitializer"
-	// src/main/resources/org/drools/compiler/lang/DRL6Expressions.g:680:1: arrayInitializer : LEFT_CURLY ( variableInitializer ( COMMA variableInitializer )* ( COMMA )? )? RIGHT_CURLY ;
+	// src/main/resources/org/drools/drl/parser/DRL6Expressions.g:687:1: arrayInitializer : LEFT_CURLY ( variableInitializer ( COMMA variableInitializer )* ( COMMA )? )? RIGHT_CURLY ;
 	public final void arrayInitializer() throws RecognitionException {
 		try {
-			// src/main/resources/org/drools/compiler/lang/DRL6Expressions.g:681:5: ( LEFT_CURLY ( variableInitializer ( COMMA variableInitializer )* ( COMMA )? )? RIGHT_CURLY )
-			// src/main/resources/org/drools/compiler/lang/DRL6Expressions.g:681:7: LEFT_CURLY ( variableInitializer ( COMMA variableInitializer )* ( COMMA )? )? RIGHT_CURLY
+			// src/main/resources/org/drools/drl/parser/DRL6Expressions.g:688:5: ( LEFT_CURLY ( variableInitializer ( COMMA variableInitializer )* ( COMMA )? )? RIGHT_CURLY )
+			// src/main/resources/org/drools/drl/parser/DRL6Expressions.g:688:7: LEFT_CURLY ( variableInitializer ( COMMA variableInitializer )* ( COMMA )? )? RIGHT_CURLY
 			{
-			match(input,LEFT_CURLY,FOLLOW_LEFT_CURLY_in_arrayInitializer4112); if (state.failed) return;
-			// src/main/resources/org/drools/compiler/lang/DRL6Expressions.g:681:18: ( variableInitializer ( COMMA variableInitializer )* ( COMMA )? )?
+			match(input,LEFT_CURLY,FOLLOW_LEFT_CURLY_in_arrayInitializer4118); if (state.failed) return;
+			// src/main/resources/org/drools/drl/parser/DRL6Expressions.g:688:18: ( variableInitializer ( COMMA variableInitializer )* ( COMMA )? )?
 			int alt87=2;
 			int LA87_0 = input.LA(1);
 			if ( (LA87_0==BOOL||(LA87_0 >= DECIMAL && LA87_0 <= DIV)||LA87_0==DOT||LA87_0==FLOAT||LA87_0==HEX||(LA87_0 >= ID && LA87_0 <= INCR)||(LA87_0 >= LEFT_CURLY && LA87_0 <= LESS)||LA87_0==MINUS||LA87_0==NEGATION||LA87_0==NULL||LA87_0==PLUS||LA87_0==QUESTION_DIV||(LA87_0 >= STAR && LA87_0 <= TIME_INTERVAL)) ) {
@@ -5597,13 +5600,13 @@ public class DRL6Expressions extends DRLExpressions {
 			}
 			switch (alt87) {
 				case 1 :
-					// src/main/resources/org/drools/compiler/lang/DRL6Expressions.g:681:19: variableInitializer ( COMMA variableInitializer )* ( COMMA )?
+					// src/main/resources/org/drools/drl/parser/DRL6Expressions.g:688:19: variableInitializer ( COMMA variableInitializer )* ( COMMA )?
 					{
-					pushFollow(FOLLOW_variableInitializer_in_arrayInitializer4115);
+					pushFollow(FOLLOW_variableInitializer_in_arrayInitializer4121);
 					variableInitializer();
 					state._fsp--;
 					if (state.failed) return;
-					// src/main/resources/org/drools/compiler/lang/DRL6Expressions.g:681:39: ( COMMA variableInitializer )*
+					// src/main/resources/org/drools/drl/parser/DRL6Expressions.g:688:39: ( COMMA variableInitializer )*
 					loop85:
 					while (true) {
 						int alt85=2;
@@ -5618,10 +5621,10 @@ public class DRL6Expressions extends DRLExpressions {
 
 						switch (alt85) {
 						case 1 :
-							// src/main/resources/org/drools/compiler/lang/DRL6Expressions.g:681:40: COMMA variableInitializer
+							// src/main/resources/org/drools/drl/parser/DRL6Expressions.g:688:40: COMMA variableInitializer
 							{
-							match(input,COMMA,FOLLOW_COMMA_in_arrayInitializer4118); if (state.failed) return;
-							pushFollow(FOLLOW_variableInitializer_in_arrayInitializer4120);
+							match(input,COMMA,FOLLOW_COMMA_in_arrayInitializer4124); if (state.failed) return;
+							pushFollow(FOLLOW_variableInitializer_in_arrayInitializer4126);
 							variableInitializer();
 							state._fsp--;
 							if (state.failed) return;
@@ -5633,7 +5636,7 @@ public class DRL6Expressions extends DRLExpressions {
 						}
 					}
 
-					// src/main/resources/org/drools/compiler/lang/DRL6Expressions.g:681:68: ( COMMA )?
+					// src/main/resources/org/drools/drl/parser/DRL6Expressions.g:688:68: ( COMMA )?
 					int alt86=2;
 					int LA86_0 = input.LA(1);
 					if ( (LA86_0==COMMA) ) {
@@ -5641,9 +5644,9 @@ public class DRL6Expressions extends DRLExpressions {
 					}
 					switch (alt86) {
 						case 1 :
-							// src/main/resources/org/drools/compiler/lang/DRL6Expressions.g:681:69: COMMA
+							// src/main/resources/org/drools/drl/parser/DRL6Expressions.g:688:69: COMMA
 							{
-							match(input,COMMA,FOLLOW_COMMA_in_arrayInitializer4125); if (state.failed) return;
+							match(input,COMMA,FOLLOW_COMMA_in_arrayInitializer4131); if (state.failed) return;
 							}
 							break;
 
@@ -5654,7 +5657,7 @@ public class DRL6Expressions extends DRLExpressions {
 
 			}
 
-			match(input,RIGHT_CURLY,FOLLOW_RIGHT_CURLY_in_arrayInitializer4132); if (state.failed) return;
+			match(input,RIGHT_CURLY,FOLLOW_RIGHT_CURLY_in_arrayInitializer4138); if (state.failed) return;
 			}
 
 		}
@@ -5672,13 +5675,13 @@ public class DRL6Expressions extends DRLExpressions {
 
 
 	// $ANTLR start "classCreatorRest"
-	// src/main/resources/org/drools/compiler/lang/DRL6Expressions.g:684:1: classCreatorRest : arguments ;
+	// src/main/resources/org/drools/drl/parser/DRL6Expressions.g:691:1: classCreatorRest : arguments ;
 	public final void classCreatorRest() throws RecognitionException {
 		try {
-			// src/main/resources/org/drools/compiler/lang/DRL6Expressions.g:685:5: ( arguments )
-			// src/main/resources/org/drools/compiler/lang/DRL6Expressions.g:685:7: arguments
+			// src/main/resources/org/drools/drl/parser/DRL6Expressions.g:692:5: ( arguments )
+			// src/main/resources/org/drools/drl/parser/DRL6Expressions.g:692:7: arguments
 			{
-			pushFollow(FOLLOW_arguments_in_classCreatorRest4149);
+			pushFollow(FOLLOW_arguments_in_classCreatorRest4155);
 			arguments();
 			state._fsp--;
 			if (state.failed) return;
@@ -5699,17 +5702,17 @@ public class DRL6Expressions extends DRLExpressions {
 
 
 	// $ANTLR start "explicitGenericInvocation"
-	// src/main/resources/org/drools/compiler/lang/DRL6Expressions.g:688:1: explicitGenericInvocation : nonWildcardTypeArguments arguments ;
+	// src/main/resources/org/drools/drl/parser/DRL6Expressions.g:695:1: explicitGenericInvocation : nonWildcardTypeArguments arguments ;
 	public final void explicitGenericInvocation() throws RecognitionException {
 		try {
-			// src/main/resources/org/drools/compiler/lang/DRL6Expressions.g:689:5: ( nonWildcardTypeArguments arguments )
-			// src/main/resources/org/drools/compiler/lang/DRL6Expressions.g:689:7: nonWildcardTypeArguments arguments
+			// src/main/resources/org/drools/drl/parser/DRL6Expressions.g:696:5: ( nonWildcardTypeArguments arguments )
+			// src/main/resources/org/drools/drl/parser/DRL6Expressions.g:696:7: nonWildcardTypeArguments arguments
 			{
-			pushFollow(FOLLOW_nonWildcardTypeArguments_in_explicitGenericInvocation4167);
+			pushFollow(FOLLOW_nonWildcardTypeArguments_in_explicitGenericInvocation4173);
 			nonWildcardTypeArguments();
 			state._fsp--;
 			if (state.failed) return;
-			pushFollow(FOLLOW_arguments_in_explicitGenericInvocation4169);
+			pushFollow(FOLLOW_arguments_in_explicitGenericInvocation4175);
 			arguments();
 			state._fsp--;
 			if (state.failed) return;
@@ -5730,18 +5733,18 @@ public class DRL6Expressions extends DRLExpressions {
 
 
 	// $ANTLR start "nonWildcardTypeArguments"
-	// src/main/resources/org/drools/compiler/lang/DRL6Expressions.g:692:1: nonWildcardTypeArguments : LESS typeList GREATER ;
+	// src/main/resources/org/drools/drl/parser/DRL6Expressions.g:699:1: nonWildcardTypeArguments : LESS typeList GREATER ;
 	public final void nonWildcardTypeArguments() throws RecognitionException {
 		try {
-			// src/main/resources/org/drools/compiler/lang/DRL6Expressions.g:693:5: ( LESS typeList GREATER )
-			// src/main/resources/org/drools/compiler/lang/DRL6Expressions.g:693:7: LESS typeList GREATER
+			// src/main/resources/org/drools/drl/parser/DRL6Expressions.g:700:5: ( LESS typeList GREATER )
+			// src/main/resources/org/drools/drl/parser/DRL6Expressions.g:700:7: LESS typeList GREATER
 			{
-			match(input,LESS,FOLLOW_LESS_in_nonWildcardTypeArguments4186); if (state.failed) return;
-			pushFollow(FOLLOW_typeList_in_nonWildcardTypeArguments4188);
+			match(input,LESS,FOLLOW_LESS_in_nonWildcardTypeArguments4192); if (state.failed) return;
+			pushFollow(FOLLOW_typeList_in_nonWildcardTypeArguments4194);
 			typeList();
 			state._fsp--;
 			if (state.failed) return;
-			match(input,GREATER,FOLLOW_GREATER_in_nonWildcardTypeArguments4190); if (state.failed) return;
+			match(input,GREATER,FOLLOW_GREATER_in_nonWildcardTypeArguments4196); if (state.failed) return;
 			}
 
 		}
@@ -5759,10 +5762,10 @@ public class DRL6Expressions extends DRLExpressions {
 
 
 	// $ANTLR start "explicitGenericInvocationSuffix"
-	// src/main/resources/org/drools/compiler/lang/DRL6Expressions.g:696:1: explicitGenericInvocationSuffix : ( super_key superSuffix | ID arguments );
+	// src/main/resources/org/drools/drl/parser/DRL6Expressions.g:703:1: explicitGenericInvocationSuffix : ( super_key superSuffix | ID arguments );
 	public final void explicitGenericInvocationSuffix() throws RecognitionException {
 		try {
-			// src/main/resources/org/drools/compiler/lang/DRL6Expressions.g:697:5: ( super_key superSuffix | ID arguments )
+			// src/main/resources/org/drools/drl/parser/DRL6Expressions.g:704:5: ( super_key superSuffix | ID arguments )
 			int alt88=2;
 			int LA88_0 = input.LA(1);
 			if ( (LA88_0==ID) ) {
@@ -5785,23 +5788,23 @@ public class DRL6Expressions extends DRLExpressions {
 
 			switch (alt88) {
 				case 1 :
-					// src/main/resources/org/drools/compiler/lang/DRL6Expressions.g:697:7: super_key superSuffix
+					// src/main/resources/org/drools/drl/parser/DRL6Expressions.g:704:7: super_key superSuffix
 					{
-					pushFollow(FOLLOW_super_key_in_explicitGenericInvocationSuffix4207);
+					pushFollow(FOLLOW_super_key_in_explicitGenericInvocationSuffix4213);
 					super_key();
 					state._fsp--;
 					if (state.failed) return;
-					pushFollow(FOLLOW_superSuffix_in_explicitGenericInvocationSuffix4209);
+					pushFollow(FOLLOW_superSuffix_in_explicitGenericInvocationSuffix4215);
 					superSuffix();
 					state._fsp--;
 					if (state.failed) return;
 					}
 					break;
 				case 2 :
-					// src/main/resources/org/drools/compiler/lang/DRL6Expressions.g:698:10: ID arguments
+					// src/main/resources/org/drools/drl/parser/DRL6Expressions.g:705:10: ID arguments
 					{
-					match(input,ID,FOLLOW_ID_in_explicitGenericInvocationSuffix4220); if (state.failed) return;
-					pushFollow(FOLLOW_arguments_in_explicitGenericInvocationSuffix4222);
+					match(input,ID,FOLLOW_ID_in_explicitGenericInvocationSuffix4226); if (state.failed) return;
+					pushFollow(FOLLOW_arguments_in_explicitGenericInvocationSuffix4228);
 					arguments();
 					state._fsp--;
 					if (state.failed) return;
@@ -5824,7 +5827,7 @@ public class DRL6Expressions extends DRLExpressions {
 
 
 	// $ANTLR start "selector"
-	// src/main/resources/org/drools/compiler/lang/DRL6Expressions.g:701:1: selector : ( ( DOT super_key )=> DOT super_key superSuffix | ( DOT new_key )=> DOT new_key ( nonWildcardTypeArguments )? innerCreator | ( DOT ID )=> DOT ID ( ( LEFT_PAREN )=> arguments )? | ( NULL_SAFE_DOT ID )=> NULL_SAFE_DOT ID ( ( LEFT_PAREN )=> arguments )? | ( LEFT_SQUARE )=> LEFT_SQUARE expression RIGHT_SQUARE );
+	// src/main/resources/org/drools/drl/parser/DRL6Expressions.g:708:1: selector : ( ( DOT super_key )=> DOT super_key superSuffix | ( DOT new_key )=> DOT new_key ( nonWildcardTypeArguments )? innerCreator | ( DOT ID )=> DOT ID ( ( LEFT_PAREN )=> arguments )? | ( NULL_SAFE_DOT ID )=> NULL_SAFE_DOT ID ( ( LEFT_PAREN )=> arguments )? | ( LEFT_SQUARE )=> LEFT_SQUARE expression RIGHT_SQUARE );
 	public final void selector() throws RecognitionException {
 		Token DOT20=null;
 		Token DOT21=null;
@@ -5836,7 +5839,7 @@ public class DRL6Expressions extends DRLExpressions {
 		Token RIGHT_SQUARE27=null;
 
 		try {
-			// src/main/resources/org/drools/compiler/lang/DRL6Expressions.g:702:5: ( ( DOT super_key )=> DOT super_key superSuffix | ( DOT new_key )=> DOT new_key ( nonWildcardTypeArguments )? innerCreator | ( DOT ID )=> DOT ID ( ( LEFT_PAREN )=> arguments )? | ( NULL_SAFE_DOT ID )=> NULL_SAFE_DOT ID ( ( LEFT_PAREN )=> arguments )? | ( LEFT_SQUARE )=> LEFT_SQUARE expression RIGHT_SQUARE )
+			// src/main/resources/org/drools/drl/parser/DRL6Expressions.g:709:5: ( ( DOT super_key )=> DOT super_key superSuffix | ( DOT new_key )=> DOT new_key ( nonWildcardTypeArguments )? innerCreator | ( DOT ID )=> DOT ID ( ( LEFT_PAREN )=> arguments )? | ( NULL_SAFE_DOT ID )=> NULL_SAFE_DOT ID ( ( LEFT_PAREN )=> arguments )? | ( LEFT_SQUARE )=> LEFT_SQUARE expression RIGHT_SQUARE )
 			int alt92=5;
 			int LA92_0 = input.LA(1);
 			if ( (LA92_0==DOT) ) {
@@ -5874,30 +5877,30 @@ public class DRL6Expressions extends DRLExpressions {
 
 			switch (alt92) {
 				case 1 :
-					// src/main/resources/org/drools/compiler/lang/DRL6Expressions.g:702:9: ( DOT super_key )=> DOT super_key superSuffix
+					// src/main/resources/org/drools/drl/parser/DRL6Expressions.g:709:9: ( DOT super_key )=> DOT super_key superSuffix
 					{
-					DOT20=(Token)match(input,DOT,FOLLOW_DOT_in_selector4247); if (state.failed) return;
+					DOT20=(Token)match(input,DOT,FOLLOW_DOT_in_selector4253); if (state.failed) return;
 					if ( state.backtracking==0 ) { helper.emit(DOT20, DroolsEditorType.SYMBOL); }
-					pushFollow(FOLLOW_super_key_in_selector4251);
+					pushFollow(FOLLOW_super_key_in_selector4257);
 					super_key();
 					state._fsp--;
 					if (state.failed) return;
-					pushFollow(FOLLOW_superSuffix_in_selector4253);
+					pushFollow(FOLLOW_superSuffix_in_selector4259);
 					superSuffix();
 					state._fsp--;
 					if (state.failed) return;
 					}
 					break;
 				case 2 :
-					// src/main/resources/org/drools/compiler/lang/DRL6Expressions.g:703:9: ( DOT new_key )=> DOT new_key ( nonWildcardTypeArguments )? innerCreator
+					// src/main/resources/org/drools/drl/parser/DRL6Expressions.g:710:9: ( DOT new_key )=> DOT new_key ( nonWildcardTypeArguments )? innerCreator
 					{
-					DOT21=(Token)match(input,DOT,FOLLOW_DOT_in_selector4269); if (state.failed) return;
+					DOT21=(Token)match(input,DOT,FOLLOW_DOT_in_selector4275); if (state.failed) return;
 					if ( state.backtracking==0 ) { helper.emit(DOT21, DroolsEditorType.SYMBOL); }
-					pushFollow(FOLLOW_new_key_in_selector4273);
+					pushFollow(FOLLOW_new_key_in_selector4279);
 					new_key();
 					state._fsp--;
 					if (state.failed) return;
-					// src/main/resources/org/drools/compiler/lang/DRL6Expressions.g:703:84: ( nonWildcardTypeArguments )?
+					// src/main/resources/org/drools/drl/parser/DRL6Expressions.g:710:84: ( nonWildcardTypeArguments )?
 					int alt89=2;
 					int LA89_0 = input.LA(1);
 					if ( (LA89_0==LESS) ) {
@@ -5905,9 +5908,9 @@ public class DRL6Expressions extends DRLExpressions {
 					}
 					switch (alt89) {
 						case 1 :
-							// src/main/resources/org/drools/compiler/lang/DRL6Expressions.g:703:85: nonWildcardTypeArguments
+							// src/main/resources/org/drools/drl/parser/DRL6Expressions.g:710:85: nonWildcardTypeArguments
 							{
-							pushFollow(FOLLOW_nonWildcardTypeArguments_in_selector4276);
+							pushFollow(FOLLOW_nonWildcardTypeArguments_in_selector4282);
 							nonWildcardTypeArguments();
 							state._fsp--;
 							if (state.failed) return;
@@ -5916,20 +5919,20 @@ public class DRL6Expressions extends DRLExpressions {
 
 					}
 
-					pushFollow(FOLLOW_innerCreator_in_selector4280);
+					pushFollow(FOLLOW_innerCreator_in_selector4286);
 					innerCreator();
 					state._fsp--;
 					if (state.failed) return;
 					}
 					break;
 				case 3 :
-					// src/main/resources/org/drools/compiler/lang/DRL6Expressions.g:704:9: ( DOT ID )=> DOT ID ( ( LEFT_PAREN )=> arguments )?
+					// src/main/resources/org/drools/drl/parser/DRL6Expressions.g:711:9: ( DOT ID )=> DOT ID ( ( LEFT_PAREN )=> arguments )?
 					{
-					DOT22=(Token)match(input,DOT,FOLLOW_DOT_in_selector4296); if (state.failed) return;
+					DOT22=(Token)match(input,DOT,FOLLOW_DOT_in_selector4302); if (state.failed) return;
 					if ( state.backtracking==0 ) { helper.emit(DOT22, DroolsEditorType.SYMBOL); }
-					ID23=(Token)match(input,ID,FOLLOW_ID_in_selector4318); if (state.failed) return;
+					ID23=(Token)match(input,ID,FOLLOW_ID_in_selector4324); if (state.failed) return;
 					if ( state.backtracking==0 ) { helper.emit(ID23, DroolsEditorType.IDENTIFIER); }
-					// src/main/resources/org/drools/compiler/lang/DRL6Expressions.g:706:19: ( ( LEFT_PAREN )=> arguments )?
+					// src/main/resources/org/drools/drl/parser/DRL6Expressions.g:713:19: ( ( LEFT_PAREN )=> arguments )?
 					int alt90=2;
 					int LA90_0 = input.LA(1);
 					if ( (LA90_0==LEFT_PAREN) ) {
@@ -5940,9 +5943,9 @@ public class DRL6Expressions extends DRLExpressions {
 					}
 					switch (alt90) {
 						case 1 :
-							// src/main/resources/org/drools/compiler/lang/DRL6Expressions.g:706:20: ( LEFT_PAREN )=> arguments
+							// src/main/resources/org/drools/drl/parser/DRL6Expressions.g:713:20: ( LEFT_PAREN )=> arguments
 							{
-							pushFollow(FOLLOW_arguments_in_selector4347);
+							pushFollow(FOLLOW_arguments_in_selector4353);
 							arguments();
 							state._fsp--;
 							if (state.failed) return;
@@ -5954,13 +5957,13 @@ public class DRL6Expressions extends DRLExpressions {
 					}
 					break;
 				case 4 :
-					// src/main/resources/org/drools/compiler/lang/DRL6Expressions.g:707:9: ( NULL_SAFE_DOT ID )=> NULL_SAFE_DOT ID ( ( LEFT_PAREN )=> arguments )?
+					// src/main/resources/org/drools/drl/parser/DRL6Expressions.g:714:9: ( NULL_SAFE_DOT ID )=> NULL_SAFE_DOT ID ( ( LEFT_PAREN )=> arguments )?
 					{
-					NULL_SAFE_DOT24=(Token)match(input,NULL_SAFE_DOT,FOLLOW_NULL_SAFE_DOT_in_selector4365); if (state.failed) return;
+					NULL_SAFE_DOT24=(Token)match(input,NULL_SAFE_DOT,FOLLOW_NULL_SAFE_DOT_in_selector4371); if (state.failed) return;
 					if ( state.backtracking==0 ) { helper.emit(NULL_SAFE_DOT24, DroolsEditorType.SYMBOL); }
-					ID25=(Token)match(input,ID,FOLLOW_ID_in_selector4387); if (state.failed) return;
+					ID25=(Token)match(input,ID,FOLLOW_ID_in_selector4393); if (state.failed) return;
 					if ( state.backtracking==0 ) { helper.emit(ID25, DroolsEditorType.IDENTIFIER); }
-					// src/main/resources/org/drools/compiler/lang/DRL6Expressions.g:709:19: ( ( LEFT_PAREN )=> arguments )?
+					// src/main/resources/org/drools/drl/parser/DRL6Expressions.g:716:19: ( ( LEFT_PAREN )=> arguments )?
 					int alt91=2;
 					int LA91_0 = input.LA(1);
 					if ( (LA91_0==LEFT_PAREN) ) {
@@ -5971,9 +5974,9 @@ public class DRL6Expressions extends DRLExpressions {
 					}
 					switch (alt91) {
 						case 1 :
-							// src/main/resources/org/drools/compiler/lang/DRL6Expressions.g:709:20: ( LEFT_PAREN )=> arguments
+							// src/main/resources/org/drools/drl/parser/DRL6Expressions.g:716:20: ( LEFT_PAREN )=> arguments
 							{
-							pushFollow(FOLLOW_arguments_in_selector4416);
+							pushFollow(FOLLOW_arguments_in_selector4422);
 							arguments();
 							state._fsp--;
 							if (state.failed) return;
@@ -5985,15 +5988,15 @@ public class DRL6Expressions extends DRLExpressions {
 					}
 					break;
 				case 5 :
-					// src/main/resources/org/drools/compiler/lang/DRL6Expressions.g:711:9: ( LEFT_SQUARE )=> LEFT_SQUARE expression RIGHT_SQUARE
+					// src/main/resources/org/drools/drl/parser/DRL6Expressions.g:718:9: ( LEFT_SQUARE )=> LEFT_SQUARE expression RIGHT_SQUARE
 					{
-					LEFT_SQUARE26=(Token)match(input,LEFT_SQUARE,FOLLOW_LEFT_SQUARE_in_selector4437); if (state.failed) return;
+					LEFT_SQUARE26=(Token)match(input,LEFT_SQUARE,FOLLOW_LEFT_SQUARE_in_selector4443); if (state.failed) return;
 					if ( state.backtracking==0 ) { helper.emit(LEFT_SQUARE26, DroolsEditorType.SYMBOL); }
-					pushFollow(FOLLOW_expression_in_selector4464);
+					pushFollow(FOLLOW_expression_in_selector4470);
 					expression();
 					state._fsp--;
 					if (state.failed) return;
-					RIGHT_SQUARE27=(Token)match(input,RIGHT_SQUARE,FOLLOW_RIGHT_SQUARE_in_selector4489); if (state.failed) return;
+					RIGHT_SQUARE27=(Token)match(input,RIGHT_SQUARE,FOLLOW_RIGHT_SQUARE_in_selector4495); if (state.failed) return;
 					if ( state.backtracking==0 ) { helper.emit(RIGHT_SQUARE27, DroolsEditorType.SYMBOL); }
 					}
 					break;
@@ -6014,10 +6017,10 @@ public class DRL6Expressions extends DRLExpressions {
 
 
 	// $ANTLR start "superSuffix"
-	// src/main/resources/org/drools/compiler/lang/DRL6Expressions.g:716:1: superSuffix : ( arguments | DOT ID ( ( LEFT_PAREN )=> arguments )? );
+	// src/main/resources/org/drools/drl/parser/DRL6Expressions.g:723:1: superSuffix : ( arguments | DOT ID ( ( LEFT_PAREN )=> arguments )? );
 	public final void superSuffix() throws RecognitionException {
 		try {
-			// src/main/resources/org/drools/compiler/lang/DRL6Expressions.g:717:5: ( arguments | DOT ID ( ( LEFT_PAREN )=> arguments )? )
+			// src/main/resources/org/drools/drl/parser/DRL6Expressions.g:724:5: ( arguments | DOT ID ( ( LEFT_PAREN )=> arguments )? )
 			int alt94=2;
 			int LA94_0 = input.LA(1);
 			if ( (LA94_0==LEFT_PAREN) ) {
@@ -6036,20 +6039,20 @@ public class DRL6Expressions extends DRLExpressions {
 
 			switch (alt94) {
 				case 1 :
-					// src/main/resources/org/drools/compiler/lang/DRL6Expressions.g:717:7: arguments
+					// src/main/resources/org/drools/drl/parser/DRL6Expressions.g:724:7: arguments
 					{
-					pushFollow(FOLLOW_arguments_in_superSuffix4508);
+					pushFollow(FOLLOW_arguments_in_superSuffix4514);
 					arguments();
 					state._fsp--;
 					if (state.failed) return;
 					}
 					break;
 				case 2 :
-					// src/main/resources/org/drools/compiler/lang/DRL6Expressions.g:718:10: DOT ID ( ( LEFT_PAREN )=> arguments )?
+					// src/main/resources/org/drools/drl/parser/DRL6Expressions.g:725:10: DOT ID ( ( LEFT_PAREN )=> arguments )?
 					{
-					match(input,DOT,FOLLOW_DOT_in_superSuffix4519); if (state.failed) return;
-					match(input,ID,FOLLOW_ID_in_superSuffix4521); if (state.failed) return;
-					// src/main/resources/org/drools/compiler/lang/DRL6Expressions.g:718:17: ( ( LEFT_PAREN )=> arguments )?
+					match(input,DOT,FOLLOW_DOT_in_superSuffix4525); if (state.failed) return;
+					match(input,ID,FOLLOW_ID_in_superSuffix4527); if (state.failed) return;
+					// src/main/resources/org/drools/drl/parser/DRL6Expressions.g:725:17: ( ( LEFT_PAREN )=> arguments )?
 					int alt93=2;
 					int LA93_0 = input.LA(1);
 					if ( (LA93_0==LEFT_PAREN) ) {
@@ -6060,9 +6063,9 @@ public class DRL6Expressions extends DRLExpressions {
 					}
 					switch (alt93) {
 						case 1 :
-							// src/main/resources/org/drools/compiler/lang/DRL6Expressions.g:718:18: ( LEFT_PAREN )=> arguments
+							// src/main/resources/org/drools/drl/parser/DRL6Expressions.g:725:18: ( LEFT_PAREN )=> arguments
 							{
-							pushFollow(FOLLOW_arguments_in_superSuffix4530);
+							pushFollow(FOLLOW_arguments_in_superSuffix4536);
 							arguments();
 							state._fsp--;
 							if (state.failed) return;
@@ -6090,7 +6093,7 @@ public class DRL6Expressions extends DRLExpressions {
 
 
 	// $ANTLR start "squareArguments"
-	// src/main/resources/org/drools/compiler/lang/DRL6Expressions.g:721:1: squareArguments returns [java.util.List<String> args] : LEFT_SQUARE (el= expressionList )? RIGHT_SQUARE ;
+	// src/main/resources/org/drools/drl/parser/DRL6Expressions.g:728:1: squareArguments returns [java.util.List<String> args] : LEFT_SQUARE (el= expressionList )? RIGHT_SQUARE ;
 	public final java.util.List<String> squareArguments() throws RecognitionException {
 		java.util.List<String> args = null;
 
@@ -6098,11 +6101,11 @@ public class DRL6Expressions extends DRLExpressions {
 		java.util.List<String> el =null;
 
 		try {
-			// src/main/resources/org/drools/compiler/lang/DRL6Expressions.g:722:5: ( LEFT_SQUARE (el= expressionList )? RIGHT_SQUARE )
-			// src/main/resources/org/drools/compiler/lang/DRL6Expressions.g:722:7: LEFT_SQUARE (el= expressionList )? RIGHT_SQUARE
+			// src/main/resources/org/drools/drl/parser/DRL6Expressions.g:729:5: ( LEFT_SQUARE (el= expressionList )? RIGHT_SQUARE )
+			// src/main/resources/org/drools/drl/parser/DRL6Expressions.g:729:7: LEFT_SQUARE (el= expressionList )? RIGHT_SQUARE
 			{
-			match(input,LEFT_SQUARE,FOLLOW_LEFT_SQUARE_in_squareArguments4553); if (state.failed) return args;
-			// src/main/resources/org/drools/compiler/lang/DRL6Expressions.g:722:19: (el= expressionList )?
+			match(input,LEFT_SQUARE,FOLLOW_LEFT_SQUARE_in_squareArguments4559); if (state.failed) return args;
+			// src/main/resources/org/drools/drl/parser/DRL6Expressions.g:729:19: (el= expressionList )?
 			int alt95=2;
 			int LA95_0 = input.LA(1);
 			if ( (LA95_0==BOOL||(LA95_0 >= DECIMAL && LA95_0 <= DIV)||LA95_0==DOT||LA95_0==FLOAT||LA95_0==HEX||(LA95_0 >= ID && LA95_0 <= INCR)||(LA95_0 >= LEFT_PAREN && LA95_0 <= LESS)||LA95_0==MINUS||LA95_0==NEGATION||LA95_0==NULL||LA95_0==PLUS||LA95_0==QUESTION_DIV||(LA95_0 >= STAR && LA95_0 <= TIME_INTERVAL)) ) {
@@ -6110,9 +6113,9 @@ public class DRL6Expressions extends DRLExpressions {
 			}
 			switch (alt95) {
 				case 1 :
-					// src/main/resources/org/drools/compiler/lang/DRL6Expressions.g:722:20: el= expressionList
+					// src/main/resources/org/drools/drl/parser/DRL6Expressions.g:729:20: el= expressionList
 					{
-					pushFollow(FOLLOW_expressionList_in_squareArguments4558);
+					pushFollow(FOLLOW_expressionList_in_squareArguments4564);
 					el=expressionList();
 					state._fsp--;
 					if (state.failed) return args;
@@ -6122,7 +6125,7 @@ public class DRL6Expressions extends DRLExpressions {
 
 			}
 
-			match(input,RIGHT_SQUARE,FOLLOW_RIGHT_SQUARE_in_squareArguments4564); if (state.failed) return args;
+			match(input,RIGHT_SQUARE,FOLLOW_RIGHT_SQUARE_in_squareArguments4570); if (state.failed) return args;
 			}
 
 		}
@@ -6141,18 +6144,18 @@ public class DRL6Expressions extends DRLExpressions {
 
 
 	// $ANTLR start "arguments"
-	// src/main/resources/org/drools/compiler/lang/DRL6Expressions.g:725:1: arguments : LEFT_PAREN ( expressionList )? RIGHT_PAREN ;
+	// src/main/resources/org/drools/drl/parser/DRL6Expressions.g:732:1: arguments : LEFT_PAREN ( expressionList )? RIGHT_PAREN ;
 	public final void arguments() throws RecognitionException {
 		Token LEFT_PAREN28=null;
 		Token RIGHT_PAREN29=null;
 
 		try {
-			// src/main/resources/org/drools/compiler/lang/DRL6Expressions.g:726:5: ( LEFT_PAREN ( expressionList )? RIGHT_PAREN )
-			// src/main/resources/org/drools/compiler/lang/DRL6Expressions.g:726:7: LEFT_PAREN ( expressionList )? RIGHT_PAREN
+			// src/main/resources/org/drools/drl/parser/DRL6Expressions.g:733:5: ( LEFT_PAREN ( expressionList )? RIGHT_PAREN )
+			// src/main/resources/org/drools/drl/parser/DRL6Expressions.g:733:7: LEFT_PAREN ( expressionList )? RIGHT_PAREN
 			{
-			LEFT_PAREN28=(Token)match(input,LEFT_PAREN,FOLLOW_LEFT_PAREN_in_arguments4581); if (state.failed) return;
+			LEFT_PAREN28=(Token)match(input,LEFT_PAREN,FOLLOW_LEFT_PAREN_in_arguments4587); if (state.failed) return;
 			if ( state.backtracking==0 ) { helper.emit(LEFT_PAREN28, DroolsEditorType.SYMBOL); }
-			// src/main/resources/org/drools/compiler/lang/DRL6Expressions.g:727:9: ( expressionList )?
+			// src/main/resources/org/drools/drl/parser/DRL6Expressions.g:734:9: ( expressionList )?
 			int alt96=2;
 			int LA96_0 = input.LA(1);
 			if ( (LA96_0==BOOL||(LA96_0 >= DECIMAL && LA96_0 <= DIV)||LA96_0==DOT||LA96_0==FLOAT||LA96_0==HEX||(LA96_0 >= ID && LA96_0 <= INCR)||(LA96_0 >= LEFT_PAREN && LA96_0 <= LESS)||LA96_0==MINUS||LA96_0==NEGATION||LA96_0==NULL||LA96_0==PLUS||LA96_0==QUESTION_DIV||(LA96_0 >= STAR && LA96_0 <= TIME_INTERVAL)) ) {
@@ -6160,9 +6163,9 @@ public class DRL6Expressions extends DRLExpressions {
 			}
 			switch (alt96) {
 				case 1 :
-					// src/main/resources/org/drools/compiler/lang/DRL6Expressions.g:727:9: expressionList
+					// src/main/resources/org/drools/drl/parser/DRL6Expressions.g:734:9: expressionList
 					{
-					pushFollow(FOLLOW_expressionList_in_arguments4593);
+					pushFollow(FOLLOW_expressionList_in_arguments4599);
 					expressionList();
 					state._fsp--;
 					if (state.failed) return;
@@ -6171,7 +6174,7 @@ public class DRL6Expressions extends DRLExpressions {
 
 			}
 
-			RIGHT_PAREN29=(Token)match(input,RIGHT_PAREN,FOLLOW_RIGHT_PAREN_in_arguments4604); if (state.failed) return;
+			RIGHT_PAREN29=(Token)match(input,RIGHT_PAREN,FOLLOW_RIGHT_PAREN_in_arguments4610); if (state.failed) return;
 			if ( state.backtracking==0 ) { helper.emit(RIGHT_PAREN29, DroolsEditorType.SYMBOL); }
 			}
 
@@ -6190,7 +6193,7 @@ public class DRL6Expressions extends DRLExpressions {
 
 
 	// $ANTLR start "expressionList"
-	// src/main/resources/org/drools/compiler/lang/DRL6Expressions.g:731:1: expressionList returns [java.util.List<String> exprs] : f= expression ( COMMA s= expression )* ;
+	// src/main/resources/org/drools/drl/parser/DRL6Expressions.g:738:1: expressionList returns [java.util.List<String> exprs] : f= expression ( COMMA s= expression )* ;
 	public final java.util.List<String> expressionList() throws RecognitionException {
 		java.util.List<String> exprs = null;
 
@@ -6200,15 +6203,15 @@ public class DRL6Expressions extends DRLExpressions {
 
 		 exprs = new java.util.ArrayList<String>();
 		try {
-			// src/main/resources/org/drools/compiler/lang/DRL6Expressions.g:733:3: (f= expression ( COMMA s= expression )* )
-			// src/main/resources/org/drools/compiler/lang/DRL6Expressions.g:733:7: f= expression ( COMMA s= expression )*
+			// src/main/resources/org/drools/drl/parser/DRL6Expressions.g:740:3: (f= expression ( COMMA s= expression )* )
+			// src/main/resources/org/drools/drl/parser/DRL6Expressions.g:740:7: f= expression ( COMMA s= expression )*
 			{
-			pushFollow(FOLLOW_expression_in_expressionList4634);
+			pushFollow(FOLLOW_expression_in_expressionList4640);
 			f=expression();
 			state._fsp--;
 			if (state.failed) return exprs;
 			if ( state.backtracking==0 ) { exprs.add( (f!=null?input.toString(f.start,f.stop):null) ); }
-			// src/main/resources/org/drools/compiler/lang/DRL6Expressions.g:734:7: ( COMMA s= expression )*
+			// src/main/resources/org/drools/drl/parser/DRL6Expressions.g:741:7: ( COMMA s= expression )*
 			loop97:
 			while (true) {
 				int alt97=2;
@@ -6219,10 +6222,10 @@ public class DRL6Expressions extends DRLExpressions {
 
 				switch (alt97) {
 				case 1 :
-					// src/main/resources/org/drools/compiler/lang/DRL6Expressions.g:734:8: COMMA s= expression
+					// src/main/resources/org/drools/drl/parser/DRL6Expressions.g:741:8: COMMA s= expression
 					{
-					match(input,COMMA,FOLLOW_COMMA_in_expressionList4645); if (state.failed) return exprs;
-					pushFollow(FOLLOW_expression_in_expressionList4649);
+					match(input,COMMA,FOLLOW_COMMA_in_expressionList4651); if (state.failed) return exprs;
+					pushFollow(FOLLOW_expression_in_expressionList4655);
 					s=expression();
 					state._fsp--;
 					if (state.failed) return exprs;
@@ -6253,10 +6256,10 @@ public class DRL6Expressions extends DRLExpressions {
 
 
 	// $ANTLR start "assignmentOperator"
-	// src/main/resources/org/drools/compiler/lang/DRL6Expressions.g:737:1: assignmentOperator : ( EQUALS_ASSIGN | PLUS_ASSIGN | MINUS_ASSIGN | MULT_ASSIGN | DIV_ASSIGN | AND_ASSIGN | OR_ASSIGN | XOR_ASSIGN | MOD_ASSIGN | LESS LESS EQUALS_ASSIGN | ( GREATER GREATER GREATER )=> GREATER GREATER GREATER EQUALS_ASSIGN | ( GREATER GREATER )=> GREATER GREATER EQUALS_ASSIGN );
+	// src/main/resources/org/drools/drl/parser/DRL6Expressions.g:744:1: assignmentOperator : ( EQUALS_ASSIGN | PLUS_ASSIGN | MINUS_ASSIGN | MULT_ASSIGN | DIV_ASSIGN | AND_ASSIGN | OR_ASSIGN | XOR_ASSIGN | MOD_ASSIGN | LESS LESS EQUALS_ASSIGN | ( GREATER GREATER GREATER )=> GREATER GREATER GREATER EQUALS_ASSIGN | ( GREATER GREATER )=> GREATER GREATER EQUALS_ASSIGN );
 	public final void assignmentOperator() throws RecognitionException {
 		try {
-			// src/main/resources/org/drools/compiler/lang/DRL6Expressions.g:738:5: ( EQUALS_ASSIGN | PLUS_ASSIGN | MINUS_ASSIGN | MULT_ASSIGN | DIV_ASSIGN | AND_ASSIGN | OR_ASSIGN | XOR_ASSIGN | MOD_ASSIGN | LESS LESS EQUALS_ASSIGN | ( GREATER GREATER GREATER )=> GREATER GREATER GREATER EQUALS_ASSIGN | ( GREATER GREATER )=> GREATER GREATER EQUALS_ASSIGN )
+			// src/main/resources/org/drools/drl/parser/DRL6Expressions.g:745:5: ( EQUALS_ASSIGN | PLUS_ASSIGN | MINUS_ASSIGN | MULT_ASSIGN | DIV_ASSIGN | AND_ASSIGN | OR_ASSIGN | XOR_ASSIGN | MOD_ASSIGN | LESS LESS EQUALS_ASSIGN | ( GREATER GREATER GREATER )=> GREATER GREATER GREATER EQUALS_ASSIGN | ( GREATER GREATER )=> GREATER GREATER EQUALS_ASSIGN )
 			int alt98=12;
 			switch ( input.LA(1) ) {
 			case EQUALS_ASSIGN:
@@ -6346,82 +6349,82 @@ public class DRL6Expressions extends DRLExpressions {
 			}
 			switch (alt98) {
 				case 1 :
-					// src/main/resources/org/drools/compiler/lang/DRL6Expressions.g:738:9: EQUALS_ASSIGN
+					// src/main/resources/org/drools/drl/parser/DRL6Expressions.g:745:9: EQUALS_ASSIGN
 					{
-					match(input,EQUALS_ASSIGN,FOLLOW_EQUALS_ASSIGN_in_assignmentOperator4670); if (state.failed) return;
+					match(input,EQUALS_ASSIGN,FOLLOW_EQUALS_ASSIGN_in_assignmentOperator4676); if (state.failed) return;
 					}
 					break;
 				case 2 :
-					// src/main/resources/org/drools/compiler/lang/DRL6Expressions.g:739:7: PLUS_ASSIGN
+					// src/main/resources/org/drools/drl/parser/DRL6Expressions.g:746:7: PLUS_ASSIGN
 					{
-					match(input,PLUS_ASSIGN,FOLLOW_PLUS_ASSIGN_in_assignmentOperator4678); if (state.failed) return;
+					match(input,PLUS_ASSIGN,FOLLOW_PLUS_ASSIGN_in_assignmentOperator4684); if (state.failed) return;
 					}
 					break;
 				case 3 :
-					// src/main/resources/org/drools/compiler/lang/DRL6Expressions.g:740:7: MINUS_ASSIGN
+					// src/main/resources/org/drools/drl/parser/DRL6Expressions.g:747:7: MINUS_ASSIGN
 					{
-					match(input,MINUS_ASSIGN,FOLLOW_MINUS_ASSIGN_in_assignmentOperator4686); if (state.failed) return;
+					match(input,MINUS_ASSIGN,FOLLOW_MINUS_ASSIGN_in_assignmentOperator4692); if (state.failed) return;
 					}
 					break;
 				case 4 :
-					// src/main/resources/org/drools/compiler/lang/DRL6Expressions.g:741:7: MULT_ASSIGN
+					// src/main/resources/org/drools/drl/parser/DRL6Expressions.g:748:7: MULT_ASSIGN
 					{
-					match(input,MULT_ASSIGN,FOLLOW_MULT_ASSIGN_in_assignmentOperator4694); if (state.failed) return;
+					match(input,MULT_ASSIGN,FOLLOW_MULT_ASSIGN_in_assignmentOperator4700); if (state.failed) return;
 					}
 					break;
 				case 5 :
-					// src/main/resources/org/drools/compiler/lang/DRL6Expressions.g:742:7: DIV_ASSIGN
+					// src/main/resources/org/drools/drl/parser/DRL6Expressions.g:749:7: DIV_ASSIGN
 					{
-					match(input,DIV_ASSIGN,FOLLOW_DIV_ASSIGN_in_assignmentOperator4702); if (state.failed) return;
+					match(input,DIV_ASSIGN,FOLLOW_DIV_ASSIGN_in_assignmentOperator4708); if (state.failed) return;
 					}
 					break;
 				case 6 :
-					// src/main/resources/org/drools/compiler/lang/DRL6Expressions.g:743:7: AND_ASSIGN
+					// src/main/resources/org/drools/drl/parser/DRL6Expressions.g:750:7: AND_ASSIGN
 					{
-					match(input,AND_ASSIGN,FOLLOW_AND_ASSIGN_in_assignmentOperator4710); if (state.failed) return;
+					match(input,AND_ASSIGN,FOLLOW_AND_ASSIGN_in_assignmentOperator4716); if (state.failed) return;
 					}
 					break;
 				case 7 :
-					// src/main/resources/org/drools/compiler/lang/DRL6Expressions.g:744:7: OR_ASSIGN
+					// src/main/resources/org/drools/drl/parser/DRL6Expressions.g:751:7: OR_ASSIGN
 					{
-					match(input,OR_ASSIGN,FOLLOW_OR_ASSIGN_in_assignmentOperator4718); if (state.failed) return;
+					match(input,OR_ASSIGN,FOLLOW_OR_ASSIGN_in_assignmentOperator4724); if (state.failed) return;
 					}
 					break;
 				case 8 :
-					// src/main/resources/org/drools/compiler/lang/DRL6Expressions.g:745:7: XOR_ASSIGN
+					// src/main/resources/org/drools/drl/parser/DRL6Expressions.g:752:7: XOR_ASSIGN
 					{
-					match(input,XOR_ASSIGN,FOLLOW_XOR_ASSIGN_in_assignmentOperator4726); if (state.failed) return;
+					match(input,XOR_ASSIGN,FOLLOW_XOR_ASSIGN_in_assignmentOperator4732); if (state.failed) return;
 					}
 					break;
 				case 9 :
-					// src/main/resources/org/drools/compiler/lang/DRL6Expressions.g:746:7: MOD_ASSIGN
+					// src/main/resources/org/drools/drl/parser/DRL6Expressions.g:753:7: MOD_ASSIGN
 					{
-					match(input,MOD_ASSIGN,FOLLOW_MOD_ASSIGN_in_assignmentOperator4734); if (state.failed) return;
+					match(input,MOD_ASSIGN,FOLLOW_MOD_ASSIGN_in_assignmentOperator4740); if (state.failed) return;
 					}
 					break;
 				case 10 :
-					// src/main/resources/org/drools/compiler/lang/DRL6Expressions.g:747:7: LESS LESS EQUALS_ASSIGN
+					// src/main/resources/org/drools/drl/parser/DRL6Expressions.g:754:7: LESS LESS EQUALS_ASSIGN
 					{
-					match(input,LESS,FOLLOW_LESS_in_assignmentOperator4742); if (state.failed) return;
-					match(input,LESS,FOLLOW_LESS_in_assignmentOperator4744); if (state.failed) return;
-					match(input,EQUALS_ASSIGN,FOLLOW_EQUALS_ASSIGN_in_assignmentOperator4746); if (state.failed) return;
+					match(input,LESS,FOLLOW_LESS_in_assignmentOperator4748); if (state.failed) return;
+					match(input,LESS,FOLLOW_LESS_in_assignmentOperator4750); if (state.failed) return;
+					match(input,EQUALS_ASSIGN,FOLLOW_EQUALS_ASSIGN_in_assignmentOperator4752); if (state.failed) return;
 					}
 					break;
 				case 11 :
-					// src/main/resources/org/drools/compiler/lang/DRL6Expressions.g:748:7: ( GREATER GREATER GREATER )=> GREATER GREATER GREATER EQUALS_ASSIGN
+					// src/main/resources/org/drools/drl/parser/DRL6Expressions.g:755:7: ( GREATER GREATER GREATER )=> GREATER GREATER GREATER EQUALS_ASSIGN
 					{
-					match(input,GREATER,FOLLOW_GREATER_in_assignmentOperator4763); if (state.failed) return;
-					match(input,GREATER,FOLLOW_GREATER_in_assignmentOperator4765); if (state.failed) return;
-					match(input,GREATER,FOLLOW_GREATER_in_assignmentOperator4767); if (state.failed) return;
-					match(input,EQUALS_ASSIGN,FOLLOW_EQUALS_ASSIGN_in_assignmentOperator4769); if (state.failed) return;
+					match(input,GREATER,FOLLOW_GREATER_in_assignmentOperator4769); if (state.failed) return;
+					match(input,GREATER,FOLLOW_GREATER_in_assignmentOperator4771); if (state.failed) return;
+					match(input,GREATER,FOLLOW_GREATER_in_assignmentOperator4773); if (state.failed) return;
+					match(input,EQUALS_ASSIGN,FOLLOW_EQUALS_ASSIGN_in_assignmentOperator4775); if (state.failed) return;
 					}
 					break;
 				case 12 :
-					// src/main/resources/org/drools/compiler/lang/DRL6Expressions.g:749:7: ( GREATER GREATER )=> GREATER GREATER EQUALS_ASSIGN
+					// src/main/resources/org/drools/drl/parser/DRL6Expressions.g:756:7: ( GREATER GREATER )=> GREATER GREATER EQUALS_ASSIGN
 					{
-					match(input,GREATER,FOLLOW_GREATER_in_assignmentOperator4784); if (state.failed) return;
-					match(input,GREATER,FOLLOW_GREATER_in_assignmentOperator4786); if (state.failed) return;
-					match(input,EQUALS_ASSIGN,FOLLOW_EQUALS_ASSIGN_in_assignmentOperator4788); if (state.failed) return;
+					match(input,GREATER,FOLLOW_GREATER_in_assignmentOperator4790); if (state.failed) return;
+					match(input,GREATER,FOLLOW_GREATER_in_assignmentOperator4792); if (state.failed) return;
+					match(input,EQUALS_ASSIGN,FOLLOW_EQUALS_ASSIGN_in_assignmentOperator4794); if (state.failed) return;
 					}
 					break;
 
@@ -6441,19 +6444,19 @@ public class DRL6Expressions extends DRLExpressions {
 
 
 	// $ANTLR start "extends_key"
-	// src/main/resources/org/drools/compiler/lang/DRL6Expressions.g:755:1: extends_key :{...}? =>id= ID ;
+	// src/main/resources/org/drools/drl/parser/DRL6Expressions.g:762:1: extends_key :{...}? =>id= ID ;
 	public final void extends_key() throws RecognitionException {
 		Token id=null;
 
 		try {
-			// src/main/resources/org/drools/compiler/lang/DRL6Expressions.g:756:5: ({...}? =>id= ID )
-			// src/main/resources/org/drools/compiler/lang/DRL6Expressions.g:756:12: {...}? =>id= ID
+			// src/main/resources/org/drools/drl/parser/DRL6Expressions.g:763:5: ({...}? =>id= ID )
+			// src/main/resources/org/drools/drl/parser/DRL6Expressions.g:763:12: {...}? =>id= ID
 			{
 			if ( !(((helper.validateIdentifierKey(DroolsSoftKeywords.EXTENDS)))) ) {
 				if (state.backtracking>0) {state.failed=true; return;}
 				throw new FailedPredicateException(input, "extends_key", "(helper.validateIdentifierKey(DroolsSoftKeywords.EXTENDS))");
 			}
-			id=(Token)match(input,ID,FOLLOW_ID_in_extends_key4818); if (state.failed) return;
+			id=(Token)match(input,ID,FOLLOW_ID_in_extends_key4824); if (state.failed) return;
 			if ( state.backtracking==0 ) { helper.emit(id, DroolsEditorType.KEYWORD); }
 			}
 
@@ -6472,19 +6475,19 @@ public class DRL6Expressions extends DRLExpressions {
 
 
 	// $ANTLR start "super_key"
-	// src/main/resources/org/drools/compiler/lang/DRL6Expressions.g:759:1: super_key :{...}? =>id= ID ;
+	// src/main/resources/org/drools/drl/parser/DRL6Expressions.g:766:1: super_key :{...}? =>id= ID ;
 	public final void super_key() throws RecognitionException {
 		Token id=null;
 
 		try {
-			// src/main/resources/org/drools/compiler/lang/DRL6Expressions.g:760:5: ({...}? =>id= ID )
-			// src/main/resources/org/drools/compiler/lang/DRL6Expressions.g:760:12: {...}? =>id= ID
+			// src/main/resources/org/drools/drl/parser/DRL6Expressions.g:767:5: ({...}? =>id= ID )
+			// src/main/resources/org/drools/drl/parser/DRL6Expressions.g:767:12: {...}? =>id= ID
 			{
 			if ( !(((helper.validateIdentifierKey(DroolsSoftKeywords.SUPER)))) ) {
 				if (state.backtracking>0) {state.failed=true; return;}
 				throw new FailedPredicateException(input, "super_key", "(helper.validateIdentifierKey(DroolsSoftKeywords.SUPER))");
 			}
-			id=(Token)match(input,ID,FOLLOW_ID_in_super_key4847); if (state.failed) return;
+			id=(Token)match(input,ID,FOLLOW_ID_in_super_key4853); if (state.failed) return;
 			if ( state.backtracking==0 ) { helper.emit(id, DroolsEditorType.KEYWORD); }
 			}
 
@@ -6506,7 +6509,7 @@ public class DRL6Expressions extends DRLExpressions {
 
 
 	// $ANTLR start "instanceof_key"
-	// src/main/resources/org/drools/compiler/lang/DRL6Expressions.g:763:1: instanceof_key :{...}? =>id= ID ;
+	// src/main/resources/org/drools/drl/parser/DRL6Expressions.g:770:1: instanceof_key :{...}? =>id= ID ;
 	public final DRL6Expressions.instanceof_key_return instanceof_key() throws RecognitionException {
 		DRL6Expressions.instanceof_key_return retval = new DRL6Expressions.instanceof_key_return();
 		retval.start = input.LT(1);
@@ -6514,14 +6517,14 @@ public class DRL6Expressions extends DRLExpressions {
 		Token id=null;
 
 		try {
-			// src/main/resources/org/drools/compiler/lang/DRL6Expressions.g:764:5: ({...}? =>id= ID )
-			// src/main/resources/org/drools/compiler/lang/DRL6Expressions.g:764:12: {...}? =>id= ID
+			// src/main/resources/org/drools/drl/parser/DRL6Expressions.g:771:5: ({...}? =>id= ID )
+			// src/main/resources/org/drools/drl/parser/DRL6Expressions.g:771:12: {...}? =>id= ID
 			{
 			if ( !(((helper.validateIdentifierKey(DroolsSoftKeywords.INSTANCEOF)))) ) {
 				if (state.backtracking>0) {state.failed=true; return retval;}
 				throw new FailedPredicateException(input, "instanceof_key", "(helper.validateIdentifierKey(DroolsSoftKeywords.INSTANCEOF))");
 			}
-			id=(Token)match(input,ID,FOLLOW_ID_in_instanceof_key4876); if (state.failed) return retval;
+			id=(Token)match(input,ID,FOLLOW_ID_in_instanceof_key4882); if (state.failed) return retval;
 			if ( state.backtracking==0 ) { helper.emit(id, DroolsEditorType.KEYWORD); }
 			}
 
@@ -6543,19 +6546,19 @@ public class DRL6Expressions extends DRLExpressions {
 
 
 	// $ANTLR start "boolean_key"
-	// src/main/resources/org/drools/compiler/lang/DRL6Expressions.g:767:1: boolean_key :{...}? =>id= ID ;
+	// src/main/resources/org/drools/drl/parser/DRL6Expressions.g:774:1: boolean_key :{...}? =>id= ID ;
 	public final void boolean_key() throws RecognitionException {
 		Token id=null;
 
 		try {
-			// src/main/resources/org/drools/compiler/lang/DRL6Expressions.g:768:5: ({...}? =>id= ID )
-			// src/main/resources/org/drools/compiler/lang/DRL6Expressions.g:768:12: {...}? =>id= ID
+			// src/main/resources/org/drools/drl/parser/DRL6Expressions.g:775:5: ({...}? =>id= ID )
+			// src/main/resources/org/drools/drl/parser/DRL6Expressions.g:775:12: {...}? =>id= ID
 			{
 			if ( !(((helper.validateIdentifierKey(DroolsSoftKeywords.BOOLEAN)))) ) {
 				if (state.backtracking>0) {state.failed=true; return;}
 				throw new FailedPredicateException(input, "boolean_key", "(helper.validateIdentifierKey(DroolsSoftKeywords.BOOLEAN))");
 			}
-			id=(Token)match(input,ID,FOLLOW_ID_in_boolean_key4905); if (state.failed) return;
+			id=(Token)match(input,ID,FOLLOW_ID_in_boolean_key4911); if (state.failed) return;
 			if ( state.backtracking==0 ) { helper.emit(id, DroolsEditorType.KEYWORD); }
 			}
 
@@ -6574,19 +6577,19 @@ public class DRL6Expressions extends DRLExpressions {
 
 
 	// $ANTLR start "char_key"
-	// src/main/resources/org/drools/compiler/lang/DRL6Expressions.g:771:1: char_key :{...}? =>id= ID ;
+	// src/main/resources/org/drools/drl/parser/DRL6Expressions.g:778:1: char_key :{...}? =>id= ID ;
 	public final void char_key() throws RecognitionException {
 		Token id=null;
 
 		try {
-			// src/main/resources/org/drools/compiler/lang/DRL6Expressions.g:772:5: ({...}? =>id= ID )
-			// src/main/resources/org/drools/compiler/lang/DRL6Expressions.g:772:12: {...}? =>id= ID
+			// src/main/resources/org/drools/drl/parser/DRL6Expressions.g:779:5: ({...}? =>id= ID )
+			// src/main/resources/org/drools/drl/parser/DRL6Expressions.g:779:12: {...}? =>id= ID
 			{
 			if ( !(((helper.validateIdentifierKey(DroolsSoftKeywords.CHAR)))) ) {
 				if (state.backtracking>0) {state.failed=true; return;}
 				throw new FailedPredicateException(input, "char_key", "(helper.validateIdentifierKey(DroolsSoftKeywords.CHAR))");
 			}
-			id=(Token)match(input,ID,FOLLOW_ID_in_char_key4934); if (state.failed) return;
+			id=(Token)match(input,ID,FOLLOW_ID_in_char_key4940); if (state.failed) return;
 			if ( state.backtracking==0 ) { helper.emit(id, DroolsEditorType.KEYWORD); }
 			}
 
@@ -6605,19 +6608,19 @@ public class DRL6Expressions extends DRLExpressions {
 
 
 	// $ANTLR start "byte_key"
-	// src/main/resources/org/drools/compiler/lang/DRL6Expressions.g:775:1: byte_key :{...}? =>id= ID ;
+	// src/main/resources/org/drools/drl/parser/DRL6Expressions.g:782:1: byte_key :{...}? =>id= ID ;
 	public final void byte_key() throws RecognitionException {
 		Token id=null;
 
 		try {
-			// src/main/resources/org/drools/compiler/lang/DRL6Expressions.g:776:5: ({...}? =>id= ID )
-			// src/main/resources/org/drools/compiler/lang/DRL6Expressions.g:776:12: {...}? =>id= ID
+			// src/main/resources/org/drools/drl/parser/DRL6Expressions.g:783:5: ({...}? =>id= ID )
+			// src/main/resources/org/drools/drl/parser/DRL6Expressions.g:783:12: {...}? =>id= ID
 			{
 			if ( !(((helper.validateIdentifierKey(DroolsSoftKeywords.BYTE)))) ) {
 				if (state.backtracking>0) {state.failed=true; return;}
 				throw new FailedPredicateException(input, "byte_key", "(helper.validateIdentifierKey(DroolsSoftKeywords.BYTE))");
 			}
-			id=(Token)match(input,ID,FOLLOW_ID_in_byte_key4963); if (state.failed) return;
+			id=(Token)match(input,ID,FOLLOW_ID_in_byte_key4969); if (state.failed) return;
 			if ( state.backtracking==0 ) { helper.emit(id, DroolsEditorType.KEYWORD); }
 			}
 
@@ -6636,19 +6639,19 @@ public class DRL6Expressions extends DRLExpressions {
 
 
 	// $ANTLR start "short_key"
-	// src/main/resources/org/drools/compiler/lang/DRL6Expressions.g:779:1: short_key :{...}? =>id= ID ;
+	// src/main/resources/org/drools/drl/parser/DRL6Expressions.g:786:1: short_key :{...}? =>id= ID ;
 	public final void short_key() throws RecognitionException {
 		Token id=null;
 
 		try {
-			// src/main/resources/org/drools/compiler/lang/DRL6Expressions.g:780:5: ({...}? =>id= ID )
-			// src/main/resources/org/drools/compiler/lang/DRL6Expressions.g:780:12: {...}? =>id= ID
+			// src/main/resources/org/drools/drl/parser/DRL6Expressions.g:787:5: ({...}? =>id= ID )
+			// src/main/resources/org/drools/drl/parser/DRL6Expressions.g:787:12: {...}? =>id= ID
 			{
 			if ( !(((helper.validateIdentifierKey(DroolsSoftKeywords.SHORT)))) ) {
 				if (state.backtracking>0) {state.failed=true; return;}
 				throw new FailedPredicateException(input, "short_key", "(helper.validateIdentifierKey(DroolsSoftKeywords.SHORT))");
 			}
-			id=(Token)match(input,ID,FOLLOW_ID_in_short_key4992); if (state.failed) return;
+			id=(Token)match(input,ID,FOLLOW_ID_in_short_key4998); if (state.failed) return;
 			if ( state.backtracking==0 ) { helper.emit(id, DroolsEditorType.KEYWORD); }
 			}
 
@@ -6667,19 +6670,19 @@ public class DRL6Expressions extends DRLExpressions {
 
 
 	// $ANTLR start "int_key"
-	// src/main/resources/org/drools/compiler/lang/DRL6Expressions.g:783:1: int_key :{...}? =>id= ID ;
+	// src/main/resources/org/drools/drl/parser/DRL6Expressions.g:790:1: int_key :{...}? =>id= ID ;
 	public final void int_key() throws RecognitionException {
 		Token id=null;
 
 		try {
-			// src/main/resources/org/drools/compiler/lang/DRL6Expressions.g:784:5: ({...}? =>id= ID )
-			// src/main/resources/org/drools/compiler/lang/DRL6Expressions.g:784:12: {...}? =>id= ID
+			// src/main/resources/org/drools/drl/parser/DRL6Expressions.g:791:5: ({...}? =>id= ID )
+			// src/main/resources/org/drools/drl/parser/DRL6Expressions.g:791:12: {...}? =>id= ID
 			{
 			if ( !(((helper.validateIdentifierKey(DroolsSoftKeywords.INT)))) ) {
 				if (state.backtracking>0) {state.failed=true; return;}
 				throw new FailedPredicateException(input, "int_key", "(helper.validateIdentifierKey(DroolsSoftKeywords.INT))");
 			}
-			id=(Token)match(input,ID,FOLLOW_ID_in_int_key5021); if (state.failed) return;
+			id=(Token)match(input,ID,FOLLOW_ID_in_int_key5027); if (state.failed) return;
 			if ( state.backtracking==0 ) { helper.emit(id, DroolsEditorType.KEYWORD); }
 			}
 
@@ -6698,19 +6701,19 @@ public class DRL6Expressions extends DRLExpressions {
 
 
 	// $ANTLR start "float_key"
-	// src/main/resources/org/drools/compiler/lang/DRL6Expressions.g:787:1: float_key :{...}? =>id= ID ;
+	// src/main/resources/org/drools/drl/parser/DRL6Expressions.g:794:1: float_key :{...}? =>id= ID ;
 	public final void float_key() throws RecognitionException {
 		Token id=null;
 
 		try {
-			// src/main/resources/org/drools/compiler/lang/DRL6Expressions.g:788:5: ({...}? =>id= ID )
-			// src/main/resources/org/drools/compiler/lang/DRL6Expressions.g:788:12: {...}? =>id= ID
+			// src/main/resources/org/drools/drl/parser/DRL6Expressions.g:795:5: ({...}? =>id= ID )
+			// src/main/resources/org/drools/drl/parser/DRL6Expressions.g:795:12: {...}? =>id= ID
 			{
 			if ( !(((helper.validateIdentifierKey(DroolsSoftKeywords.FLOAT)))) ) {
 				if (state.backtracking>0) {state.failed=true; return;}
 				throw new FailedPredicateException(input, "float_key", "(helper.validateIdentifierKey(DroolsSoftKeywords.FLOAT))");
 			}
-			id=(Token)match(input,ID,FOLLOW_ID_in_float_key5050); if (state.failed) return;
+			id=(Token)match(input,ID,FOLLOW_ID_in_float_key5056); if (state.failed) return;
 			if ( state.backtracking==0 ) { helper.emit(id, DroolsEditorType.KEYWORD); }
 			}
 
@@ -6729,19 +6732,19 @@ public class DRL6Expressions extends DRLExpressions {
 
 
 	// $ANTLR start "long_key"
-	// src/main/resources/org/drools/compiler/lang/DRL6Expressions.g:791:1: long_key :{...}? =>id= ID ;
+	// src/main/resources/org/drools/drl/parser/DRL6Expressions.g:798:1: long_key :{...}? =>id= ID ;
 	public final void long_key() throws RecognitionException {
 		Token id=null;
 
 		try {
-			// src/main/resources/org/drools/compiler/lang/DRL6Expressions.g:792:5: ({...}? =>id= ID )
-			// src/main/resources/org/drools/compiler/lang/DRL6Expressions.g:792:12: {...}? =>id= ID
+			// src/main/resources/org/drools/drl/parser/DRL6Expressions.g:799:5: ({...}? =>id= ID )
+			// src/main/resources/org/drools/drl/parser/DRL6Expressions.g:799:12: {...}? =>id= ID
 			{
 			if ( !(((helper.validateIdentifierKey(DroolsSoftKeywords.LONG)))) ) {
 				if (state.backtracking>0) {state.failed=true; return;}
 				throw new FailedPredicateException(input, "long_key", "(helper.validateIdentifierKey(DroolsSoftKeywords.LONG))");
 			}
-			id=(Token)match(input,ID,FOLLOW_ID_in_long_key5079); if (state.failed) return;
+			id=(Token)match(input,ID,FOLLOW_ID_in_long_key5085); if (state.failed) return;
 			if ( state.backtracking==0 ) { helper.emit(id, DroolsEditorType.KEYWORD); }
 			}
 
@@ -6760,19 +6763,19 @@ public class DRL6Expressions extends DRLExpressions {
 
 
 	// $ANTLR start "double_key"
-	// src/main/resources/org/drools/compiler/lang/DRL6Expressions.g:795:1: double_key :{...}? =>id= ID ;
+	// src/main/resources/org/drools/drl/parser/DRL6Expressions.g:802:1: double_key :{...}? =>id= ID ;
 	public final void double_key() throws RecognitionException {
 		Token id=null;
 
 		try {
-			// src/main/resources/org/drools/compiler/lang/DRL6Expressions.g:796:5: ({...}? =>id= ID )
-			// src/main/resources/org/drools/compiler/lang/DRL6Expressions.g:796:12: {...}? =>id= ID
+			// src/main/resources/org/drools/drl/parser/DRL6Expressions.g:803:5: ({...}? =>id= ID )
+			// src/main/resources/org/drools/drl/parser/DRL6Expressions.g:803:12: {...}? =>id= ID
 			{
 			if ( !(((helper.validateIdentifierKey(DroolsSoftKeywords.DOUBLE)))) ) {
 				if (state.backtracking>0) {state.failed=true; return;}
 				throw new FailedPredicateException(input, "double_key", "(helper.validateIdentifierKey(DroolsSoftKeywords.DOUBLE))");
 			}
-			id=(Token)match(input,ID,FOLLOW_ID_in_double_key5108); if (state.failed) return;
+			id=(Token)match(input,ID,FOLLOW_ID_in_double_key5114); if (state.failed) return;
 			if ( state.backtracking==0 ) { helper.emit(id, DroolsEditorType.KEYWORD); }
 			}
 
@@ -6791,19 +6794,19 @@ public class DRL6Expressions extends DRLExpressions {
 
 
 	// $ANTLR start "void_key"
-	// src/main/resources/org/drools/compiler/lang/DRL6Expressions.g:799:1: void_key :{...}? =>id= ID ;
+	// src/main/resources/org/drools/drl/parser/DRL6Expressions.g:806:1: void_key :{...}? =>id= ID ;
 	public final void void_key() throws RecognitionException {
 		Token id=null;
 
 		try {
-			// src/main/resources/org/drools/compiler/lang/DRL6Expressions.g:800:5: ({...}? =>id= ID )
-			// src/main/resources/org/drools/compiler/lang/DRL6Expressions.g:800:12: {...}? =>id= ID
+			// src/main/resources/org/drools/drl/parser/DRL6Expressions.g:807:5: ({...}? =>id= ID )
+			// src/main/resources/org/drools/drl/parser/DRL6Expressions.g:807:12: {...}? =>id= ID
 			{
 			if ( !(((helper.validateIdentifierKey(DroolsSoftKeywords.VOID)))) ) {
 				if (state.backtracking>0) {state.failed=true; return;}
 				throw new FailedPredicateException(input, "void_key", "(helper.validateIdentifierKey(DroolsSoftKeywords.VOID))");
 			}
-			id=(Token)match(input,ID,FOLLOW_ID_in_void_key5137); if (state.failed) return;
+			id=(Token)match(input,ID,FOLLOW_ID_in_void_key5143); if (state.failed) return;
 			if ( state.backtracking==0 ) { helper.emit(id, DroolsEditorType.KEYWORD); }
 			}
 
@@ -6822,19 +6825,19 @@ public class DRL6Expressions extends DRLExpressions {
 
 
 	// $ANTLR start "this_key"
-	// src/main/resources/org/drools/compiler/lang/DRL6Expressions.g:803:1: this_key :{...}? =>id= ID ;
+	// src/main/resources/org/drools/drl/parser/DRL6Expressions.g:810:1: this_key :{...}? =>id= ID ;
 	public final void this_key() throws RecognitionException {
 		Token id=null;
 
 		try {
-			// src/main/resources/org/drools/compiler/lang/DRL6Expressions.g:804:5: ({...}? =>id= ID )
-			// src/main/resources/org/drools/compiler/lang/DRL6Expressions.g:804:12: {...}? =>id= ID
+			// src/main/resources/org/drools/drl/parser/DRL6Expressions.g:811:5: ({...}? =>id= ID )
+			// src/main/resources/org/drools/drl/parser/DRL6Expressions.g:811:12: {...}? =>id= ID
 			{
 			if ( !(((helper.validateIdentifierKey(DroolsSoftKeywords.THIS)))) ) {
 				if (state.backtracking>0) {state.failed=true; return;}
 				throw new FailedPredicateException(input, "this_key", "(helper.validateIdentifierKey(DroolsSoftKeywords.THIS))");
 			}
-			id=(Token)match(input,ID,FOLLOW_ID_in_this_key5166); if (state.failed) return;
+			id=(Token)match(input,ID,FOLLOW_ID_in_this_key5172); if (state.failed) return;
 			if ( state.backtracking==0 ) { helper.emit(id, DroolsEditorType.KEYWORD); }
 			}
 
@@ -6853,19 +6856,19 @@ public class DRL6Expressions extends DRLExpressions {
 
 
 	// $ANTLR start "class_key"
-	// src/main/resources/org/drools/compiler/lang/DRL6Expressions.g:807:1: class_key :{...}? =>id= ID ;
+	// src/main/resources/org/drools/drl/parser/DRL6Expressions.g:814:1: class_key :{...}? =>id= ID ;
 	public final void class_key() throws RecognitionException {
 		Token id=null;
 
 		try {
-			// src/main/resources/org/drools/compiler/lang/DRL6Expressions.g:808:5: ({...}? =>id= ID )
-			// src/main/resources/org/drools/compiler/lang/DRL6Expressions.g:808:12: {...}? =>id= ID
+			// src/main/resources/org/drools/drl/parser/DRL6Expressions.g:815:5: ({...}? =>id= ID )
+			// src/main/resources/org/drools/drl/parser/DRL6Expressions.g:815:12: {...}? =>id= ID
 			{
 			if ( !(((helper.validateIdentifierKey(DroolsSoftKeywords.CLASS)))) ) {
 				if (state.backtracking>0) {state.failed=true; return;}
 				throw new FailedPredicateException(input, "class_key", "(helper.validateIdentifierKey(DroolsSoftKeywords.CLASS))");
 			}
-			id=(Token)match(input,ID,FOLLOW_ID_in_class_key5195); if (state.failed) return;
+			id=(Token)match(input,ID,FOLLOW_ID_in_class_key5201); if (state.failed) return;
 			if ( state.backtracking==0 ) { helper.emit(id, DroolsEditorType.KEYWORD); }
 			}
 
@@ -6884,19 +6887,19 @@ public class DRL6Expressions extends DRLExpressions {
 
 
 	// $ANTLR start "new_key"
-	// src/main/resources/org/drools/compiler/lang/DRL6Expressions.g:811:1: new_key :{...}? =>id= ID ;
+	// src/main/resources/org/drools/drl/parser/DRL6Expressions.g:818:1: new_key :{...}? =>id= ID ;
 	public final void new_key() throws RecognitionException {
 		Token id=null;
 
 		try {
-			// src/main/resources/org/drools/compiler/lang/DRL6Expressions.g:812:5: ({...}? =>id= ID )
-			// src/main/resources/org/drools/compiler/lang/DRL6Expressions.g:812:12: {...}? =>id= ID
+			// src/main/resources/org/drools/drl/parser/DRL6Expressions.g:819:5: ({...}? =>id= ID )
+			// src/main/resources/org/drools/drl/parser/DRL6Expressions.g:819:12: {...}? =>id= ID
 			{
 			if ( !(((helper.validateIdentifierKey(DroolsSoftKeywords.NEW)))) ) {
 				if (state.backtracking>0) {state.failed=true; return;}
 				throw new FailedPredicateException(input, "new_key", "(helper.validateIdentifierKey(DroolsSoftKeywords.NEW))");
 			}
-			id=(Token)match(input,ID,FOLLOW_ID_in_new_key5225); if (state.failed) return;
+			id=(Token)match(input,ID,FOLLOW_ID_in_new_key5231); if (state.failed) return;
 			if ( state.backtracking==0 ) { helper.emit(id, DroolsEditorType.KEYWORD); }
 			}
 
@@ -6915,19 +6918,19 @@ public class DRL6Expressions extends DRLExpressions {
 
 
 	// $ANTLR start "not_key"
-	// src/main/resources/org/drools/compiler/lang/DRL6Expressions.g:815:1: not_key :{...}? =>id= ID ;
+	// src/main/resources/org/drools/drl/parser/DRL6Expressions.g:822:1: not_key :{...}? =>id= ID ;
 	public final void not_key() throws RecognitionException {
 		Token id=null;
 
 		try {
-			// src/main/resources/org/drools/compiler/lang/DRL6Expressions.g:816:5: ({...}? =>id= ID )
-			// src/main/resources/org/drools/compiler/lang/DRL6Expressions.g:816:12: {...}? =>id= ID
+			// src/main/resources/org/drools/drl/parser/DRL6Expressions.g:823:5: ({...}? =>id= ID )
+			// src/main/resources/org/drools/drl/parser/DRL6Expressions.g:823:12: {...}? =>id= ID
 			{
 			if ( !(((helper.validateIdentifierKey(DroolsSoftKeywords.NOT)))) ) {
 				if (state.backtracking>0) {state.failed=true; return;}
 				throw new FailedPredicateException(input, "not_key", "(helper.validateIdentifierKey(DroolsSoftKeywords.NOT))");
 			}
-			id=(Token)match(input,ID,FOLLOW_ID_in_not_key5254); if (state.failed) return;
+			id=(Token)match(input,ID,FOLLOW_ID_in_not_key5260); if (state.failed) return;
 			if ( state.backtracking==0 ) { helper.emit(id, DroolsEditorType.KEYWORD); }
 			}
 
@@ -6946,19 +6949,19 @@ public class DRL6Expressions extends DRLExpressions {
 
 
 	// $ANTLR start "in_key"
-	// src/main/resources/org/drools/compiler/lang/DRL6Expressions.g:819:1: in_key :{...}? =>id= ID ;
+	// src/main/resources/org/drools/drl/parser/DRL6Expressions.g:826:1: in_key :{...}? =>id= ID ;
 	public final void in_key() throws RecognitionException {
 		Token id=null;
 
 		try {
-			// src/main/resources/org/drools/compiler/lang/DRL6Expressions.g:820:3: ({...}? =>id= ID )
-			// src/main/resources/org/drools/compiler/lang/DRL6Expressions.g:820:10: {...}? =>id= ID
+			// src/main/resources/org/drools/drl/parser/DRL6Expressions.g:827:3: ({...}? =>id= ID )
+			// src/main/resources/org/drools/drl/parser/DRL6Expressions.g:827:10: {...}? =>id= ID
 			{
 			if ( !(((helper.validateIdentifierKey(DroolsSoftKeywords.IN)))) ) {
 				if (state.backtracking>0) {state.failed=true; return;}
 				throw new FailedPredicateException(input, "in_key", "(helper.validateIdentifierKey(DroolsSoftKeywords.IN))");
 			}
-			id=(Token)match(input,ID,FOLLOW_ID_in_in_key5281); if (state.failed) return;
+			id=(Token)match(input,ID,FOLLOW_ID_in_in_key5287); if (state.failed) return;
 			if ( state.backtracking==0 ) { helper.emit(id, DroolsEditorType.KEYWORD); }
 			}
 
@@ -6980,7 +6983,7 @@ public class DRL6Expressions extends DRLExpressions {
 
 
 	// $ANTLR start "operator_key"
-	// src/main/resources/org/drools/compiler/lang/DRL6Expressions.g:823:1: operator_key :{...}? =>id= ID ;
+	// src/main/resources/org/drools/drl/parser/DRL6Expressions.g:830:1: operator_key :{...}? =>id= ID ;
 	public final DRL6Expressions.operator_key_return operator_key() throws RecognitionException {
 		DRL6Expressions.operator_key_return retval = new DRL6Expressions.operator_key_return();
 		retval.start = input.LT(1);
@@ -6988,14 +6991,14 @@ public class DRL6Expressions extends DRLExpressions {
 		Token id=null;
 
 		try {
-			// src/main/resources/org/drools/compiler/lang/DRL6Expressions.g:824:3: ({...}? =>id= ID )
-			// src/main/resources/org/drools/compiler/lang/DRL6Expressions.g:824:10: {...}? =>id= ID
+			// src/main/resources/org/drools/drl/parser/DRL6Expressions.g:831:3: ({...}? =>id= ID )
+			// src/main/resources/org/drools/drl/parser/DRL6Expressions.g:831:10: {...}? =>id= ID
 			{
 			if ( !(((helper.isPluggableEvaluator(false)))) ) {
 				if (state.backtracking>0) {state.failed=true; return retval;}
 				throw new FailedPredicateException(input, "operator_key", "(helper.isPluggableEvaluator(false))");
 			}
-			id=(Token)match(input,ID,FOLLOW_ID_in_operator_key5306); if (state.failed) return retval;
+			id=(Token)match(input,ID,FOLLOW_ID_in_operator_key5312); if (state.failed) return retval;
 			if ( state.backtracking==0 ) { helper.emit(id, DroolsEditorType.KEYWORD); }
 			}
 
@@ -7020,7 +7023,7 @@ public class DRL6Expressions extends DRLExpressions {
 
 
 	// $ANTLR start "neg_operator_key"
-	// src/main/resources/org/drools/compiler/lang/DRL6Expressions.g:827:1: neg_operator_key :{...}? =>id= ID ;
+	// src/main/resources/org/drools/drl/parser/DRL6Expressions.g:834:1: neg_operator_key :{...}? =>id= ID ;
 	public final DRL6Expressions.neg_operator_key_return neg_operator_key() throws RecognitionException {
 		DRL6Expressions.neg_operator_key_return retval = new DRL6Expressions.neg_operator_key_return();
 		retval.start = input.LT(1);
@@ -7028,14 +7031,14 @@ public class DRL6Expressions extends DRLExpressions {
 		Token id=null;
 
 		try {
-			// src/main/resources/org/drools/compiler/lang/DRL6Expressions.g:828:3: ({...}? =>id= ID )
-			// src/main/resources/org/drools/compiler/lang/DRL6Expressions.g:828:10: {...}? =>id= ID
+			// src/main/resources/org/drools/drl/parser/DRL6Expressions.g:835:3: ({...}? =>id= ID )
+			// src/main/resources/org/drools/drl/parser/DRL6Expressions.g:835:10: {...}? =>id= ID
 			{
 			if ( !(((helper.isPluggableEvaluator(true)))) ) {
 				if (state.backtracking>0) {state.failed=true; return retval;}
 				throw new FailedPredicateException(input, "neg_operator_key", "(helper.isPluggableEvaluator(true))");
 			}
-			id=(Token)match(input,ID,FOLLOW_ID_in_neg_operator_key5331); if (state.failed) return retval;
+			id=(Token)match(input,ID,FOLLOW_ID_in_neg_operator_key5337); if (state.failed) return retval;
 			if ( state.backtracking==0 ) { helper.emit(id, DroolsEditorType.KEYWORD); }
 			}
 
@@ -7056,8 +7059,8 @@ public class DRL6Expressions extends DRLExpressions {
 
 	// $ANTLR start synpred1_DRL6Expressions
 	public final void synpred1_DRL6Expressions_fragment() throws RecognitionException {
-		// src/main/resources/org/drools/compiler/lang/DRL6Expressions.g:138:8: ( primitiveType )
-		// src/main/resources/org/drools/compiler/lang/DRL6Expressions.g:138:9: primitiveType
+		// src/main/resources/org/drools/drl/parser/DRL6Expressions.g:145:8: ( primitiveType )
+		// src/main/resources/org/drools/drl/parser/DRL6Expressions.g:145:9: primitiveType
 		{
 		pushFollow(FOLLOW_primitiveType_in_synpred1_DRL6Expressions548);
 		primitiveType();
@@ -7070,8 +7073,8 @@ public class DRL6Expressions extends DRLExpressions {
 
 	// $ANTLR start synpred2_DRL6Expressions
 	public final void synpred2_DRL6Expressions_fragment() throws RecognitionException {
-		// src/main/resources/org/drools/compiler/lang/DRL6Expressions.g:138:44: ( LEFT_SQUARE RIGHT_SQUARE )
-		// src/main/resources/org/drools/compiler/lang/DRL6Expressions.g:138:45: LEFT_SQUARE RIGHT_SQUARE
+		// src/main/resources/org/drools/drl/parser/DRL6Expressions.g:145:44: ( LEFT_SQUARE RIGHT_SQUARE )
+		// src/main/resources/org/drools/drl/parser/DRL6Expressions.g:145:45: LEFT_SQUARE RIGHT_SQUARE
 		{
 		match(input,LEFT_SQUARE,FOLLOW_LEFT_SQUARE_in_synpred2_DRL6Expressions559); if (state.failed) return;
 		match(input,RIGHT_SQUARE,FOLLOW_RIGHT_SQUARE_in_synpred2_DRL6Expressions561); if (state.failed) return;
@@ -7082,8 +7085,8 @@ public class DRL6Expressions extends DRLExpressions {
 
 	// $ANTLR start synpred3_DRL6Expressions
 	public final void synpred3_DRL6Expressions_fragment() throws RecognitionException {
-		// src/main/resources/org/drools/compiler/lang/DRL6Expressions.g:139:13: ( typeArguments )
-		// src/main/resources/org/drools/compiler/lang/DRL6Expressions.g:139:14: typeArguments
+		// src/main/resources/org/drools/drl/parser/DRL6Expressions.g:146:13: ( typeArguments )
+		// src/main/resources/org/drools/drl/parser/DRL6Expressions.g:146:14: typeArguments
 		{
 		pushFollow(FOLLOW_typeArguments_in_synpred3_DRL6Expressions585);
 		typeArguments();
@@ -7096,8 +7099,8 @@ public class DRL6Expressions extends DRLExpressions {
 
 	// $ANTLR start synpred4_DRL6Expressions
 	public final void synpred4_DRL6Expressions_fragment() throws RecognitionException {
-		// src/main/resources/org/drools/compiler/lang/DRL6Expressions.g:139:55: ( typeArguments )
-		// src/main/resources/org/drools/compiler/lang/DRL6Expressions.g:139:56: typeArguments
+		// src/main/resources/org/drools/drl/parser/DRL6Expressions.g:146:55: ( typeArguments )
+		// src/main/resources/org/drools/drl/parser/DRL6Expressions.g:146:56: typeArguments
 		{
 		pushFollow(FOLLOW_typeArguments_in_synpred4_DRL6Expressions599);
 		typeArguments();
@@ -7110,8 +7113,8 @@ public class DRL6Expressions extends DRLExpressions {
 
 	// $ANTLR start synpred5_DRL6Expressions
 	public final void synpred5_DRL6Expressions_fragment() throws RecognitionException {
-		// src/main/resources/org/drools/compiler/lang/DRL6Expressions.g:139:92: ( LEFT_SQUARE RIGHT_SQUARE )
-		// src/main/resources/org/drools/compiler/lang/DRL6Expressions.g:139:93: LEFT_SQUARE RIGHT_SQUARE
+		// src/main/resources/org/drools/drl/parser/DRL6Expressions.g:146:92: ( LEFT_SQUARE RIGHT_SQUARE )
+		// src/main/resources/org/drools/drl/parser/DRL6Expressions.g:146:93: LEFT_SQUARE RIGHT_SQUARE
 		{
 		match(input,LEFT_SQUARE,FOLLOW_LEFT_SQUARE_in_synpred5_DRL6Expressions611); if (state.failed) return;
 		match(input,RIGHT_SQUARE,FOLLOW_RIGHT_SQUARE_in_synpred5_DRL6Expressions613); if (state.failed) return;
@@ -7122,8 +7125,8 @@ public class DRL6Expressions extends DRLExpressions {
 
 	// $ANTLR start synpred6_DRL6Expressions
 	public final void synpred6_DRL6Expressions_fragment() throws RecognitionException {
-		// src/main/resources/org/drools/compiler/lang/DRL6Expressions.g:165:10: ( assignmentOperator )
-		// src/main/resources/org/drools/compiler/lang/DRL6Expressions.g:165:11: assignmentOperator
+		// src/main/resources/org/drools/drl/parser/DRL6Expressions.g:172:10: ( assignmentOperator )
+		// src/main/resources/org/drools/drl/parser/DRL6Expressions.g:172:11: assignmentOperator
 		{
 		pushFollow(FOLLOW_assignmentOperator_in_synpred6_DRL6Expressions782);
 		assignmentOperator();
@@ -7136,8 +7139,8 @@ public class DRL6Expressions extends DRLExpressions {
 
 	// $ANTLR start synpred7_DRL6Expressions
 	public final void synpred7_DRL6Expressions_fragment() throws RecognitionException {
-		// src/main/resources/org/drools/compiler/lang/DRL6Expressions.g:199:8: ( ID EQUALS_ASSIGN )
-		// src/main/resources/org/drools/compiler/lang/DRL6Expressions.g:199:9: ID EQUALS_ASSIGN
+		// src/main/resources/org/drools/drl/parser/DRL6Expressions.g:206:8: ( ID EQUALS_ASSIGN )
+		// src/main/resources/org/drools/drl/parser/DRL6Expressions.g:206:9: ID EQUALS_ASSIGN
 		{
 		match(input,ID,FOLLOW_ID_in_synpred7_DRL6Expressions961); if (state.failed) return;
 		match(input,EQUALS_ASSIGN,FOLLOW_EQUALS_ASSIGN_in_synpred7_DRL6Expressions963); if (state.failed) return;
@@ -7148,8 +7151,8 @@ public class DRL6Expressions extends DRLExpressions {
 
 	// $ANTLR start synpred8_DRL6Expressions
 	public final void synpred8_DRL6Expressions_fragment() throws RecognitionException {
-		// src/main/resources/org/drools/compiler/lang/DRL6Expressions.g:337:6: ( not_key in_key )
-		// src/main/resources/org/drools/compiler/lang/DRL6Expressions.g:337:7: not_key in_key
+		// src/main/resources/org/drools/drl/parser/DRL6Expressions.g:344:6: ( not_key in_key )
+		// src/main/resources/org/drools/drl/parser/DRL6Expressions.g:344:7: not_key in_key
 		{
 		pushFollow(FOLLOW_not_key_in_synpred8_DRL6Expressions1629);
 		not_key();
@@ -7166,7 +7169,7 @@ public class DRL6Expressions extends DRLExpressions {
 
 	// $ANTLR start synpred9_DRL6Expressions
 	public final void synpred9_DRL6Expressions_fragment() throws RecognitionException {
-		// src/main/resources/org/drools/compiler/lang/DRL6Expressions.g:396:5: ( operator | LEFT_PAREN )
+		// src/main/resources/org/drools/drl/parser/DRL6Expressions.g:403:5: ( operator | LEFT_PAREN )
 		int alt99=2;
 		int LA99_0 = input.LA(1);
 		if ( (LA99_0==EQUALS||(LA99_0 >= GREATER && LA99_0 <= GREATER_EQUALS)||(LA99_0 >= LESS && LA99_0 <= LESS_EQUALS)||LA99_0==NOT_EQUALS||LA99_0==TILDE) ) {
@@ -7188,7 +7191,7 @@ public class DRL6Expressions extends DRLExpressions {
 
 		switch (alt99) {
 			case 1 :
-				// src/main/resources/org/drools/compiler/lang/DRL6Expressions.g:396:7: operator
+				// src/main/resources/org/drools/drl/parser/DRL6Expressions.g:403:7: operator
 				{
 				pushFollow(FOLLOW_operator_in_synpred9_DRL6Expressions1846);
 				operator();
@@ -7197,7 +7200,7 @@ public class DRL6Expressions extends DRLExpressions {
 				}
 				break;
 			case 2 :
-				// src/main/resources/org/drools/compiler/lang/DRL6Expressions.g:396:18: LEFT_PAREN
+				// src/main/resources/org/drools/drl/parser/DRL6Expressions.g:403:18: LEFT_PAREN
 				{
 				match(input,LEFT_PAREN,FOLLOW_LEFT_PAREN_in_synpred9_DRL6Expressions1850); if (state.failed) return;
 				}
@@ -7209,11 +7212,11 @@ public class DRL6Expressions extends DRLExpressions {
 
 	// $ANTLR start synpred10_DRL6Expressions
 	public final void synpred10_DRL6Expressions_fragment() throws RecognitionException {
-		// src/main/resources/org/drools/compiler/lang/DRL6Expressions.g:407:7: ( DOUBLE_PIPE ( fullAnnotation[null] )? andRestriction )
-		// src/main/resources/org/drools/compiler/lang/DRL6Expressions.g:407:8: DOUBLE_PIPE ( fullAnnotation[null] )? andRestriction
+		// src/main/resources/org/drools/drl/parser/DRL6Expressions.g:414:7: ( DOUBLE_PIPE ( fullAnnotation[null] )? andRestriction )
+		// src/main/resources/org/drools/drl/parser/DRL6Expressions.g:414:8: DOUBLE_PIPE ( fullAnnotation[null] )? andRestriction
 		{
 		match(input,DOUBLE_PIPE,FOLLOW_DOUBLE_PIPE_in_synpred10_DRL6Expressions1903); if (state.failed) return;
-		// src/main/resources/org/drools/compiler/lang/DRL6Expressions.g:407:20: ( fullAnnotation[null] )?
+		// src/main/resources/org/drools/drl/parser/DRL6Expressions.g:414:20: ( fullAnnotation[null] )?
 		int alt100=2;
 		int LA100_0 = input.LA(1);
 		if ( (LA100_0==AT) ) {
@@ -7221,7 +7224,7 @@ public class DRL6Expressions extends DRLExpressions {
 		}
 		switch (alt100) {
 			case 1 :
-				// src/main/resources/org/drools/compiler/lang/DRL6Expressions.g:407:20: fullAnnotation[null]
+				// src/main/resources/org/drools/drl/parser/DRL6Expressions.g:414:20: fullAnnotation[null]
 				{
 				pushFollow(FOLLOW_fullAnnotation_in_synpred10_DRL6Expressions1905);
 				fullAnnotation(null);
@@ -7243,11 +7246,11 @@ public class DRL6Expressions extends DRLExpressions {
 
 	// $ANTLR start synpred11_DRL6Expressions
 	public final void synpred11_DRL6Expressions_fragment() throws RecognitionException {
-		// src/main/resources/org/drools/compiler/lang/DRL6Expressions.g:421:5: ( DOUBLE_AMPER ( fullAnnotation[null] )? operator )
-		// src/main/resources/org/drools/compiler/lang/DRL6Expressions.g:421:6: DOUBLE_AMPER ( fullAnnotation[null] )? operator
+		// src/main/resources/org/drools/drl/parser/DRL6Expressions.g:428:5: ( DOUBLE_AMPER ( fullAnnotation[null] )? operator )
+		// src/main/resources/org/drools/drl/parser/DRL6Expressions.g:428:6: DOUBLE_AMPER ( fullAnnotation[null] )? operator
 		{
 		match(input,DOUBLE_AMPER,FOLLOW_DOUBLE_AMPER_in_synpred11_DRL6Expressions1972); if (state.failed) return;
-		// src/main/resources/org/drools/compiler/lang/DRL6Expressions.g:421:19: ( fullAnnotation[null] )?
+		// src/main/resources/org/drools/drl/parser/DRL6Expressions.g:428:19: ( fullAnnotation[null] )?
 		int alt101=2;
 		int LA101_0 = input.LA(1);
 		if ( (LA101_0==AT) ) {
@@ -7255,7 +7258,7 @@ public class DRL6Expressions extends DRLExpressions {
 		}
 		switch (alt101) {
 			case 1 :
-				// src/main/resources/org/drools/compiler/lang/DRL6Expressions.g:421:19: fullAnnotation[null]
+				// src/main/resources/org/drools/drl/parser/DRL6Expressions.g:428:19: fullAnnotation[null]
 				{
 				pushFollow(FOLLOW_fullAnnotation_in_synpred11_DRL6Expressions1974);
 				fullAnnotation(null);
@@ -7277,8 +7280,8 @@ public class DRL6Expressions extends DRLExpressions {
 
 	// $ANTLR start synpred12_DRL6Expressions
 	public final void synpred12_DRL6Expressions_fragment() throws RecognitionException {
-		// src/main/resources/org/drools/compiler/lang/DRL6Expressions.g:438:8: ( squareArguments shiftExpression )
-		// src/main/resources/org/drools/compiler/lang/DRL6Expressions.g:438:9: squareArguments shiftExpression
+		// src/main/resources/org/drools/drl/parser/DRL6Expressions.g:445:8: ( squareArguments shiftExpression )
+		// src/main/resources/org/drools/drl/parser/DRL6Expressions.g:445:9: squareArguments shiftExpression
 		{
 		pushFollow(FOLLOW_squareArguments_in_synpred12_DRL6Expressions2066);
 		squareArguments();
@@ -7295,8 +7298,8 @@ public class DRL6Expressions extends DRLExpressions {
 
 	// $ANTLR start synpred13_DRL6Expressions
 	public final void synpred13_DRL6Expressions_fragment() throws RecognitionException {
-		// src/main/resources/org/drools/compiler/lang/DRL6Expressions.g:461:7: ( shiftOp )
-		// src/main/resources/org/drools/compiler/lang/DRL6Expressions.g:461:8: shiftOp
+		// src/main/resources/org/drools/drl/parser/DRL6Expressions.g:468:7: ( shiftOp )
+		// src/main/resources/org/drools/drl/parser/DRL6Expressions.g:468:8: shiftOp
 		{
 		pushFollow(FOLLOW_shiftOp_in_synpred13_DRL6Expressions2157);
 		shiftOp();
@@ -7309,8 +7312,8 @@ public class DRL6Expressions extends DRLExpressions {
 
 	// $ANTLR start synpred14_DRL6Expressions
 	public final void synpred14_DRL6Expressions_fragment() throws RecognitionException {
-		// src/main/resources/org/drools/compiler/lang/DRL6Expressions.g:472:11: ( PLUS | MINUS )
-		// src/main/resources/org/drools/compiler/lang/DRL6Expressions.g:
+		// src/main/resources/org/drools/drl/parser/DRL6Expressions.g:479:11: ( PLUS | MINUS )
+		// src/main/resources/org/drools/drl/parser/DRL6Expressions.g:
 		{
 		if ( input.LA(1)==MINUS||input.LA(1)==PLUS ) {
 			input.consume();
@@ -7329,8 +7332,8 @@ public class DRL6Expressions extends DRLExpressions {
 
 	// $ANTLR start synpred15_DRL6Expressions
 	public final void synpred15_DRL6Expressions_fragment() throws RecognitionException {
-		// src/main/resources/org/drools/compiler/lang/DRL6Expressions.g:509:9: ( castExpression )
-		// src/main/resources/org/drools/compiler/lang/DRL6Expressions.g:509:10: castExpression
+		// src/main/resources/org/drools/drl/parser/DRL6Expressions.g:516:9: ( castExpression )
+		// src/main/resources/org/drools/drl/parser/DRL6Expressions.g:516:10: castExpression
 		{
 		pushFollow(FOLLOW_castExpression_in_synpred15_DRL6Expressions2489);
 		castExpression();
@@ -7343,8 +7346,8 @@ public class DRL6Expressions extends DRLExpressions {
 
 	// $ANTLR start synpred16_DRL6Expressions
 	public final void synpred16_DRL6Expressions_fragment() throws RecognitionException {
-		// src/main/resources/org/drools/compiler/lang/DRL6Expressions.g:510:9: ( backReferenceExpression )
-		// src/main/resources/org/drools/compiler/lang/DRL6Expressions.g:510:10: backReferenceExpression
+		// src/main/resources/org/drools/drl/parser/DRL6Expressions.g:517:9: ( backReferenceExpression )
+		// src/main/resources/org/drools/drl/parser/DRL6Expressions.g:517:10: backReferenceExpression
 		{
 		pushFollow(FOLLOW_backReferenceExpression_in_synpred16_DRL6Expressions2503);
 		backReferenceExpression();
@@ -7357,8 +7360,8 @@ public class DRL6Expressions extends DRLExpressions {
 
 	// $ANTLR start synpred17_DRL6Expressions
 	public final void synpred17_DRL6Expressions_fragment() throws RecognitionException {
-		// src/main/resources/org/drools/compiler/lang/DRL6Expressions.g:518:11: ( xpathSeparator ID )
-		// src/main/resources/org/drools/compiler/lang/DRL6Expressions.g:518:12: xpathSeparator ID
+		// src/main/resources/org/drools/drl/parser/DRL6Expressions.g:525:11: ( xpathSeparator ID )
+		// src/main/resources/org/drools/drl/parser/DRL6Expressions.g:525:12: xpathSeparator ID
 		{
 		pushFollow(FOLLOW_xpathSeparator_in_synpred17_DRL6Expressions2624);
 		xpathSeparator();
@@ -7372,8 +7375,8 @@ public class DRL6Expressions extends DRLExpressions {
 
 	// $ANTLR start synpred18_DRL6Expressions
 	public final void synpred18_DRL6Expressions_fragment() throws RecognitionException {
-		// src/main/resources/org/drools/compiler/lang/DRL6Expressions.g:522:10: ( selector )
-		// src/main/resources/org/drools/compiler/lang/DRL6Expressions.g:522:11: selector
+		// src/main/resources/org/drools/drl/parser/DRL6Expressions.g:529:10: ( selector )
+		// src/main/resources/org/drools/drl/parser/DRL6Expressions.g:529:11: selector
 		{
 		pushFollow(FOLLOW_selector_in_synpred18_DRL6Expressions2674);
 		selector();
@@ -7386,8 +7389,8 @@ public class DRL6Expressions extends DRLExpressions {
 
 	// $ANTLR start synpred19_DRL6Expressions
 	public final void synpred19_DRL6Expressions_fragment() throws RecognitionException {
-		// src/main/resources/org/drools/compiler/lang/DRL6Expressions.g:541:10: ( INCR | DECR )
-		// src/main/resources/org/drools/compiler/lang/DRL6Expressions.g:
+		// src/main/resources/org/drools/drl/parser/DRL6Expressions.g:548:10: ( INCR | DECR )
+		// src/main/resources/org/drools/drl/parser/DRL6Expressions.g:
 		{
 		if ( input.LA(1)==DECR||input.LA(1)==INCR ) {
 			input.consume();
@@ -7406,8 +7409,8 @@ public class DRL6Expressions extends DRLExpressions {
 
 	// $ANTLR start synpred20_DRL6Expressions
 	public final void synpred20_DRL6Expressions_fragment() throws RecognitionException {
-		// src/main/resources/org/drools/compiler/lang/DRL6Expressions.g:545:8: ( LEFT_PAREN primitiveType )
-		// src/main/resources/org/drools/compiler/lang/DRL6Expressions.g:545:9: LEFT_PAREN primitiveType
+		// src/main/resources/org/drools/drl/parser/DRL6Expressions.g:552:8: ( LEFT_PAREN primitiveType )
+		// src/main/resources/org/drools/drl/parser/DRL6Expressions.g:552:9: LEFT_PAREN primitiveType
 		{
 		match(input,LEFT_PAREN,FOLLOW_LEFT_PAREN_in_synpred20_DRL6Expressions2732); if (state.failed) return;
 		pushFollow(FOLLOW_primitiveType_in_synpred20_DRL6Expressions2734);
@@ -7421,8 +7424,8 @@ public class DRL6Expressions extends DRLExpressions {
 
 	// $ANTLR start synpred21_DRL6Expressions
 	public final void synpred21_DRL6Expressions_fragment() throws RecognitionException {
-		// src/main/resources/org/drools/compiler/lang/DRL6Expressions.g:546:8: ( LEFT_PAREN type )
-		// src/main/resources/org/drools/compiler/lang/DRL6Expressions.g:546:9: LEFT_PAREN type
+		// src/main/resources/org/drools/drl/parser/DRL6Expressions.g:553:8: ( LEFT_PAREN type )
+		// src/main/resources/org/drools/drl/parser/DRL6Expressions.g:553:9: LEFT_PAREN type
 		{
 		match(input,LEFT_PAREN,FOLLOW_LEFT_PAREN_in_synpred21_DRL6Expressions2757); if (state.failed) return;
 		pushFollow(FOLLOW_type_in_synpred21_DRL6Expressions2759);
@@ -7436,10 +7439,10 @@ public class DRL6Expressions extends DRLExpressions {
 
 	// $ANTLR start synpred24_DRL6Expressions
 	public final void synpred24_DRL6Expressions_fragment() throws RecognitionException {
-		// src/main/resources/org/drools/compiler/lang/DRL6Expressions.g:584:7: ( LEFT_PAREN )
-		// src/main/resources/org/drools/compiler/lang/DRL6Expressions.g:584:8: LEFT_PAREN
+		// src/main/resources/org/drools/drl/parser/DRL6Expressions.g:591:7: ( LEFT_PAREN )
+		// src/main/resources/org/drools/drl/parser/DRL6Expressions.g:591:8: LEFT_PAREN
 		{
-		match(input,LEFT_PAREN,FOLLOW_LEFT_PAREN_in_synpred24_DRL6Expressions3051); if (state.failed) return;
+		match(input,LEFT_PAREN,FOLLOW_LEFT_PAREN_in_synpred24_DRL6Expressions3057); if (state.failed) return;
 		}
 
 	}
@@ -7447,10 +7450,10 @@ public class DRL6Expressions extends DRLExpressions {
 
 	// $ANTLR start synpred25_DRL6Expressions
 	public final void synpred25_DRL6Expressions_fragment() throws RecognitionException {
-		// src/main/resources/org/drools/compiler/lang/DRL6Expressions.g:585:9: ( nonWildcardTypeArguments )
-		// src/main/resources/org/drools/compiler/lang/DRL6Expressions.g:585:10: nonWildcardTypeArguments
+		// src/main/resources/org/drools/drl/parser/DRL6Expressions.g:592:9: ( nonWildcardTypeArguments )
+		// src/main/resources/org/drools/drl/parser/DRL6Expressions.g:592:10: nonWildcardTypeArguments
 		{
-		pushFollow(FOLLOW_nonWildcardTypeArguments_in_synpred25_DRL6Expressions3070);
+		pushFollow(FOLLOW_nonWildcardTypeArguments_in_synpred25_DRL6Expressions3076);
 		nonWildcardTypeArguments();
 		state._fsp--;
 		if (state.failed) return;
@@ -7461,10 +7464,10 @@ public class DRL6Expressions extends DRLExpressions {
 
 	// $ANTLR start synpred26_DRL6Expressions
 	public final void synpred26_DRL6Expressions_fragment() throws RecognitionException {
-		// src/main/resources/org/drools/compiler/lang/DRL6Expressions.g:586:9: ( literal )
-		// src/main/resources/org/drools/compiler/lang/DRL6Expressions.g:586:10: literal
+		// src/main/resources/org/drools/drl/parser/DRL6Expressions.g:593:9: ( literal )
+		// src/main/resources/org/drools/drl/parser/DRL6Expressions.g:593:10: literal
 		{
-		pushFollow(FOLLOW_literal_in_synpred26_DRL6Expressions3095);
+		pushFollow(FOLLOW_literal_in_synpred26_DRL6Expressions3101);
 		literal();
 		state._fsp--;
 		if (state.failed) return;
@@ -7475,10 +7478,10 @@ public class DRL6Expressions extends DRLExpressions {
 
 	// $ANTLR start synpred27_DRL6Expressions
 	public final void synpred27_DRL6Expressions_fragment() throws RecognitionException {
-		// src/main/resources/org/drools/compiler/lang/DRL6Expressions.g:588:9: ( super_key )
-		// src/main/resources/org/drools/compiler/lang/DRL6Expressions.g:588:10: super_key
+		// src/main/resources/org/drools/drl/parser/DRL6Expressions.g:595:9: ( super_key )
+		// src/main/resources/org/drools/drl/parser/DRL6Expressions.g:595:10: super_key
 		{
-		pushFollow(FOLLOW_super_key_in_synpred27_DRL6Expressions3117);
+		pushFollow(FOLLOW_super_key_in_synpred27_DRL6Expressions3123);
 		super_key();
 		state._fsp--;
 		if (state.failed) return;
@@ -7489,10 +7492,10 @@ public class DRL6Expressions extends DRLExpressions {
 
 	// $ANTLR start synpred28_DRL6Expressions
 	public final void synpred28_DRL6Expressions_fragment() throws RecognitionException {
-		// src/main/resources/org/drools/compiler/lang/DRL6Expressions.g:589:9: ( new_key )
-		// src/main/resources/org/drools/compiler/lang/DRL6Expressions.g:589:10: new_key
+		// src/main/resources/org/drools/drl/parser/DRL6Expressions.g:596:9: ( new_key )
+		// src/main/resources/org/drools/drl/parser/DRL6Expressions.g:596:10: new_key
 		{
-		pushFollow(FOLLOW_new_key_in_synpred28_DRL6Expressions3134);
+		pushFollow(FOLLOW_new_key_in_synpred28_DRL6Expressions3140);
 		new_key();
 		state._fsp--;
 		if (state.failed) return;
@@ -7503,10 +7506,10 @@ public class DRL6Expressions extends DRLExpressions {
 
 	// $ANTLR start synpred29_DRL6Expressions
 	public final void synpred29_DRL6Expressions_fragment() throws RecognitionException {
-		// src/main/resources/org/drools/compiler/lang/DRL6Expressions.g:590:9: ( primitiveType )
-		// src/main/resources/org/drools/compiler/lang/DRL6Expressions.g:590:10: primitiveType
+		// src/main/resources/org/drools/drl/parser/DRL6Expressions.g:597:9: ( primitiveType )
+		// src/main/resources/org/drools/drl/parser/DRL6Expressions.g:597:10: primitiveType
 		{
-		pushFollow(FOLLOW_primitiveType_in_synpred29_DRL6Expressions3151);
+		pushFollow(FOLLOW_primitiveType_in_synpred29_DRL6Expressions3157);
 		primitiveType();
 		state._fsp--;
 		if (state.failed) return;
@@ -7517,10 +7520,10 @@ public class DRL6Expressions extends DRLExpressions {
 
 	// $ANTLR start synpred30_DRL6Expressions
 	public final void synpred30_DRL6Expressions_fragment() throws RecognitionException {
-		// src/main/resources/org/drools/compiler/lang/DRL6Expressions.g:592:9: ( inlineMapExpression )
-		// src/main/resources/org/drools/compiler/lang/DRL6Expressions.g:592:10: inlineMapExpression
+		// src/main/resources/org/drools/drl/parser/DRL6Expressions.g:599:9: ( inlineMapExpression )
+		// src/main/resources/org/drools/drl/parser/DRL6Expressions.g:599:10: inlineMapExpression
 		{
-		pushFollow(FOLLOW_inlineMapExpression_in_synpred30_DRL6Expressions3182);
+		pushFollow(FOLLOW_inlineMapExpression_in_synpred30_DRL6Expressions3188);
 		inlineMapExpression();
 		state._fsp--;
 		if (state.failed) return;
@@ -7531,10 +7534,10 @@ public class DRL6Expressions extends DRLExpressions {
 
 	// $ANTLR start synpred31_DRL6Expressions
 	public final void synpred31_DRL6Expressions_fragment() throws RecognitionException {
-		// src/main/resources/org/drools/compiler/lang/DRL6Expressions.g:593:9: ( inlineListExpression )
-		// src/main/resources/org/drools/compiler/lang/DRL6Expressions.g:593:10: inlineListExpression
+		// src/main/resources/org/drools/drl/parser/DRL6Expressions.g:600:9: ( inlineListExpression )
+		// src/main/resources/org/drools/drl/parser/DRL6Expressions.g:600:10: inlineListExpression
 		{
-		pushFollow(FOLLOW_inlineListExpression_in_synpred31_DRL6Expressions3197);
+		pushFollow(FOLLOW_inlineListExpression_in_synpred31_DRL6Expressions3203);
 		inlineListExpression();
 		state._fsp--;
 		if (state.failed) return;
@@ -7545,10 +7548,10 @@ public class DRL6Expressions extends DRLExpressions {
 
 	// $ANTLR start synpred32_DRL6Expressions
 	public final void synpred32_DRL6Expressions_fragment() throws RecognitionException {
-		// src/main/resources/org/drools/compiler/lang/DRL6Expressions.g:594:9: ( ID )
-		// src/main/resources/org/drools/compiler/lang/DRL6Expressions.g:594:10: ID
+		// src/main/resources/org/drools/drl/parser/DRL6Expressions.g:601:9: ( ID )
+		// src/main/resources/org/drools/drl/parser/DRL6Expressions.g:601:10: ID
 		{
-		match(input,ID,FOLLOW_ID_in_synpred32_DRL6Expressions3212); if (state.failed) return;
+		match(input,ID,FOLLOW_ID_in_synpred32_DRL6Expressions3218); if (state.failed) return;
 		}
 
 	}
@@ -7556,11 +7559,11 @@ public class DRL6Expressions extends DRLExpressions {
 
 	// $ANTLR start synpred33_DRL6Expressions
 	public final void synpred33_DRL6Expressions_fragment() throws RecognitionException {
-		// src/main/resources/org/drools/compiler/lang/DRL6Expressions.g:596:15: ( DOT ID )
-		// src/main/resources/org/drools/compiler/lang/DRL6Expressions.g:596:16: DOT ID
+		// src/main/resources/org/drools/drl/parser/DRL6Expressions.g:603:15: ( DOT ID )
+		// src/main/resources/org/drools/drl/parser/DRL6Expressions.g:603:16: DOT ID
 		{
-		match(input,DOT,FOLLOW_DOT_in_synpred33_DRL6Expressions3246); if (state.failed) return;
-		match(input,ID,FOLLOW_ID_in_synpred33_DRL6Expressions3248); if (state.failed) return;
+		match(input,DOT,FOLLOW_DOT_in_synpred33_DRL6Expressions3252); if (state.failed) return;
+		match(input,ID,FOLLOW_ID_in_synpred33_DRL6Expressions3254); if (state.failed) return;
 		}
 
 	}
@@ -7568,8 +7571,8 @@ public class DRL6Expressions extends DRLExpressions {
 
 	// $ANTLR start synpred34_DRL6Expressions
 	public final void synpred34_DRL6Expressions_fragment() throws RecognitionException {
-		// src/main/resources/org/drools/compiler/lang/DRL6Expressions.g:598:15: ( ( DOT | NULL_SAFE_DOT ) LEFT_PAREN )
-		// src/main/resources/org/drools/compiler/lang/DRL6Expressions.g:598:16: ( DOT | NULL_SAFE_DOT ) LEFT_PAREN
+		// src/main/resources/org/drools/drl/parser/DRL6Expressions.g:605:15: ( ( DOT | NULL_SAFE_DOT ) LEFT_PAREN )
+		// src/main/resources/org/drools/drl/parser/DRL6Expressions.g:605:16: ( DOT | NULL_SAFE_DOT ) LEFT_PAREN
 		{
 		if ( input.LA(1)==DOT||input.LA(1)==NULL_SAFE_DOT ) {
 			input.consume();
@@ -7581,7 +7584,7 @@ public class DRL6Expressions extends DRLExpressions {
 			MismatchedSetException mse = new MismatchedSetException(null,input);
 			throw mse;
 		}
-		match(input,LEFT_PAREN,FOLLOW_LEFT_PAREN_in_synpred34_DRL6Expressions3298); if (state.failed) return;
+		match(input,LEFT_PAREN,FOLLOW_LEFT_PAREN_in_synpred34_DRL6Expressions3304); if (state.failed) return;
 		}
 
 	}
@@ -7589,11 +7592,11 @@ public class DRL6Expressions extends DRLExpressions {
 
 	// $ANTLR start synpred35_DRL6Expressions
 	public final void synpred35_DRL6Expressions_fragment() throws RecognitionException {
-		// src/main/resources/org/drools/compiler/lang/DRL6Expressions.g:603:15: ( HASH ID )
-		// src/main/resources/org/drools/compiler/lang/DRL6Expressions.g:603:16: HASH ID
+		// src/main/resources/org/drools/drl/parser/DRL6Expressions.g:610:15: ( HASH ID )
+		// src/main/resources/org/drools/drl/parser/DRL6Expressions.g:610:16: HASH ID
 		{
-		match(input,HASH,FOLLOW_HASH_in_synpred35_DRL6Expressions3443); if (state.failed) return;
-		match(input,ID,FOLLOW_ID_in_synpred35_DRL6Expressions3445); if (state.failed) return;
+		match(input,HASH,FOLLOW_HASH_in_synpred35_DRL6Expressions3449); if (state.failed) return;
+		match(input,ID,FOLLOW_ID_in_synpred35_DRL6Expressions3451); if (state.failed) return;
 		}
 
 	}
@@ -7601,11 +7604,11 @@ public class DRL6Expressions extends DRLExpressions {
 
 	// $ANTLR start synpred36_DRL6Expressions
 	public final void synpred36_DRL6Expressions_fragment() throws RecognitionException {
-		// src/main/resources/org/drools/compiler/lang/DRL6Expressions.g:605:15: ( NULL_SAFE_DOT ID )
-		// src/main/resources/org/drools/compiler/lang/DRL6Expressions.g:605:16: NULL_SAFE_DOT ID
+		// src/main/resources/org/drools/drl/parser/DRL6Expressions.g:612:15: ( NULL_SAFE_DOT ID )
+		// src/main/resources/org/drools/drl/parser/DRL6Expressions.g:612:16: NULL_SAFE_DOT ID
 		{
-		match(input,NULL_SAFE_DOT,FOLLOW_NULL_SAFE_DOT_in_synpred36_DRL6Expressions3489); if (state.failed) return;
-		match(input,ID,FOLLOW_ID_in_synpred36_DRL6Expressions3491); if (state.failed) return;
+		match(input,NULL_SAFE_DOT,FOLLOW_NULL_SAFE_DOT_in_synpred36_DRL6Expressions3495); if (state.failed) return;
+		match(input,ID,FOLLOW_ID_in_synpred36_DRL6Expressions3497); if (state.failed) return;
 		}
 
 	}
@@ -7613,10 +7616,10 @@ public class DRL6Expressions extends DRLExpressions {
 
 	// $ANTLR start synpred37_DRL6Expressions
 	public final void synpred37_DRL6Expressions_fragment() throws RecognitionException {
-		// src/main/resources/org/drools/compiler/lang/DRL6Expressions.g:606:13: ( identifierSuffix )
-		// src/main/resources/org/drools/compiler/lang/DRL6Expressions.g:606:14: identifierSuffix
+		// src/main/resources/org/drools/drl/parser/DRL6Expressions.g:613:13: ( identifierSuffix )
+		// src/main/resources/org/drools/drl/parser/DRL6Expressions.g:613:14: identifierSuffix
 		{
-		pushFollow(FOLLOW_identifierSuffix_in_synpred37_DRL6Expressions3519);
+		pushFollow(FOLLOW_identifierSuffix_in_synpred37_DRL6Expressions3525);
 		identifierSuffix();
 		state._fsp--;
 		if (state.failed) return;
@@ -7627,11 +7630,11 @@ public class DRL6Expressions extends DRLExpressions {
 
 	// $ANTLR start synpred38_DRL6Expressions
 	public final void synpred38_DRL6Expressions_fragment() throws RecognitionException {
-		// src/main/resources/org/drools/compiler/lang/DRL6Expressions.g:639:7: ( LEFT_SQUARE RIGHT_SQUARE )
-		// src/main/resources/org/drools/compiler/lang/DRL6Expressions.g:639:8: LEFT_SQUARE RIGHT_SQUARE
+		// src/main/resources/org/drools/drl/parser/DRL6Expressions.g:646:7: ( LEFT_SQUARE RIGHT_SQUARE )
+		// src/main/resources/org/drools/drl/parser/DRL6Expressions.g:646:8: LEFT_SQUARE RIGHT_SQUARE
 		{
-		match(input,LEFT_SQUARE,FOLLOW_LEFT_SQUARE_in_synpred38_DRL6Expressions3677); if (state.failed) return;
-		match(input,RIGHT_SQUARE,FOLLOW_RIGHT_SQUARE_in_synpred38_DRL6Expressions3679); if (state.failed) return;
+		match(input,LEFT_SQUARE,FOLLOW_LEFT_SQUARE_in_synpred38_DRL6Expressions3683); if (state.failed) return;
+		match(input,RIGHT_SQUARE,FOLLOW_RIGHT_SQUARE_in_synpred38_DRL6Expressions3685); if (state.failed) return;
 		}
 
 	}
@@ -7639,10 +7642,10 @@ public class DRL6Expressions extends DRLExpressions {
 
 	// $ANTLR start synpred39_DRL6Expressions
 	public final void synpred39_DRL6Expressions_fragment() throws RecognitionException {
-		// src/main/resources/org/drools/compiler/lang/DRL6Expressions.g:642:8: ( LEFT_SQUARE )
-		// src/main/resources/org/drools/compiler/lang/DRL6Expressions.g:642:9: LEFT_SQUARE
+		// src/main/resources/org/drools/drl/parser/DRL6Expressions.g:649:8: ( LEFT_SQUARE )
+		// src/main/resources/org/drools/drl/parser/DRL6Expressions.g:649:9: LEFT_SQUARE
 		{
-		match(input,LEFT_SQUARE,FOLLOW_LEFT_SQUARE_in_synpred39_DRL6Expressions3782); if (state.failed) return;
+		match(input,LEFT_SQUARE,FOLLOW_LEFT_SQUARE_in_synpred39_DRL6Expressions3788); if (state.failed) return;
 		}
 
 	}
@@ -7650,11 +7653,11 @@ public class DRL6Expressions extends DRLExpressions {
 
 	// $ANTLR start synpred40_DRL6Expressions
 	public final void synpred40_DRL6Expressions_fragment() throws RecognitionException {
-		// src/main/resources/org/drools/compiler/lang/DRL6Expressions.g:671:107: ( LEFT_SQUARE RIGHT_SQUARE )
-		// src/main/resources/org/drools/compiler/lang/DRL6Expressions.g:671:108: LEFT_SQUARE RIGHT_SQUARE
+		// src/main/resources/org/drools/drl/parser/DRL6Expressions.g:678:107: ( LEFT_SQUARE RIGHT_SQUARE )
+		// src/main/resources/org/drools/drl/parser/DRL6Expressions.g:678:108: LEFT_SQUARE RIGHT_SQUARE
 		{
-		match(input,LEFT_SQUARE,FOLLOW_LEFT_SQUARE_in_synpred40_DRL6Expressions4044); if (state.failed) return;
-		match(input,RIGHT_SQUARE,FOLLOW_RIGHT_SQUARE_in_synpred40_DRL6Expressions4046); if (state.failed) return;
+		match(input,LEFT_SQUARE,FOLLOW_LEFT_SQUARE_in_synpred40_DRL6Expressions4050); if (state.failed) return;
+		match(input,RIGHT_SQUARE,FOLLOW_RIGHT_SQUARE_in_synpred40_DRL6Expressions4052); if (state.failed) return;
 		}
 
 	}
@@ -7662,11 +7665,11 @@ public class DRL6Expressions extends DRLExpressions {
 
 	// $ANTLR start synpred41_DRL6Expressions
 	public final void synpred41_DRL6Expressions_fragment() throws RecognitionException {
-		// src/main/resources/org/drools/compiler/lang/DRL6Expressions.g:702:9: ( DOT super_key )
-		// src/main/resources/org/drools/compiler/lang/DRL6Expressions.g:702:10: DOT super_key
+		// src/main/resources/org/drools/drl/parser/DRL6Expressions.g:709:9: ( DOT super_key )
+		// src/main/resources/org/drools/drl/parser/DRL6Expressions.g:709:10: DOT super_key
 		{
-		match(input,DOT,FOLLOW_DOT_in_synpred41_DRL6Expressions4242); if (state.failed) return;
-		pushFollow(FOLLOW_super_key_in_synpred41_DRL6Expressions4244);
+		match(input,DOT,FOLLOW_DOT_in_synpred41_DRL6Expressions4248); if (state.failed) return;
+		pushFollow(FOLLOW_super_key_in_synpred41_DRL6Expressions4250);
 		super_key();
 		state._fsp--;
 		if (state.failed) return;
@@ -7677,11 +7680,11 @@ public class DRL6Expressions extends DRLExpressions {
 
 	// $ANTLR start synpred42_DRL6Expressions
 	public final void synpred42_DRL6Expressions_fragment() throws RecognitionException {
-		// src/main/resources/org/drools/compiler/lang/DRL6Expressions.g:703:9: ( DOT new_key )
-		// src/main/resources/org/drools/compiler/lang/DRL6Expressions.g:703:10: DOT new_key
+		// src/main/resources/org/drools/drl/parser/DRL6Expressions.g:710:9: ( DOT new_key )
+		// src/main/resources/org/drools/drl/parser/DRL6Expressions.g:710:10: DOT new_key
 		{
-		match(input,DOT,FOLLOW_DOT_in_synpred42_DRL6Expressions4264); if (state.failed) return;
-		pushFollow(FOLLOW_new_key_in_synpred42_DRL6Expressions4266);
+		match(input,DOT,FOLLOW_DOT_in_synpred42_DRL6Expressions4270); if (state.failed) return;
+		pushFollow(FOLLOW_new_key_in_synpred42_DRL6Expressions4272);
 		new_key();
 		state._fsp--;
 		if (state.failed) return;
@@ -7692,11 +7695,11 @@ public class DRL6Expressions extends DRLExpressions {
 
 	// $ANTLR start synpred43_DRL6Expressions
 	public final void synpred43_DRL6Expressions_fragment() throws RecognitionException {
-		// src/main/resources/org/drools/compiler/lang/DRL6Expressions.g:704:9: ( DOT ID )
-		// src/main/resources/org/drools/compiler/lang/DRL6Expressions.g:704:10: DOT ID
+		// src/main/resources/org/drools/drl/parser/DRL6Expressions.g:711:9: ( DOT ID )
+		// src/main/resources/org/drools/drl/parser/DRL6Expressions.g:711:10: DOT ID
 		{
-		match(input,DOT,FOLLOW_DOT_in_synpred43_DRL6Expressions4291); if (state.failed) return;
-		match(input,ID,FOLLOW_ID_in_synpred43_DRL6Expressions4293); if (state.failed) return;
+		match(input,DOT,FOLLOW_DOT_in_synpred43_DRL6Expressions4297); if (state.failed) return;
+		match(input,ID,FOLLOW_ID_in_synpred43_DRL6Expressions4299); if (state.failed) return;
 		}
 
 	}
@@ -7704,10 +7707,10 @@ public class DRL6Expressions extends DRLExpressions {
 
 	// $ANTLR start synpred44_DRL6Expressions
 	public final void synpred44_DRL6Expressions_fragment() throws RecognitionException {
-		// src/main/resources/org/drools/compiler/lang/DRL6Expressions.g:706:20: ( LEFT_PAREN )
-		// src/main/resources/org/drools/compiler/lang/DRL6Expressions.g:706:21: LEFT_PAREN
+		// src/main/resources/org/drools/drl/parser/DRL6Expressions.g:713:20: ( LEFT_PAREN )
+		// src/main/resources/org/drools/drl/parser/DRL6Expressions.g:713:21: LEFT_PAREN
 		{
-		match(input,LEFT_PAREN,FOLLOW_LEFT_PAREN_in_synpred44_DRL6Expressions4342); if (state.failed) return;
+		match(input,LEFT_PAREN,FOLLOW_LEFT_PAREN_in_synpred44_DRL6Expressions4348); if (state.failed) return;
 		}
 
 	}
@@ -7715,11 +7718,11 @@ public class DRL6Expressions extends DRLExpressions {
 
 	// $ANTLR start synpred45_DRL6Expressions
 	public final void synpred45_DRL6Expressions_fragment() throws RecognitionException {
-		// src/main/resources/org/drools/compiler/lang/DRL6Expressions.g:707:9: ( NULL_SAFE_DOT ID )
-		// src/main/resources/org/drools/compiler/lang/DRL6Expressions.g:707:10: NULL_SAFE_DOT ID
+		// src/main/resources/org/drools/drl/parser/DRL6Expressions.g:714:9: ( NULL_SAFE_DOT ID )
+		// src/main/resources/org/drools/drl/parser/DRL6Expressions.g:714:10: NULL_SAFE_DOT ID
 		{
-		match(input,NULL_SAFE_DOT,FOLLOW_NULL_SAFE_DOT_in_synpred45_DRL6Expressions4360); if (state.failed) return;
-		match(input,ID,FOLLOW_ID_in_synpred45_DRL6Expressions4362); if (state.failed) return;
+		match(input,NULL_SAFE_DOT,FOLLOW_NULL_SAFE_DOT_in_synpred45_DRL6Expressions4366); if (state.failed) return;
+		match(input,ID,FOLLOW_ID_in_synpred45_DRL6Expressions4368); if (state.failed) return;
 		}
 
 	}
@@ -7727,10 +7730,10 @@ public class DRL6Expressions extends DRLExpressions {
 
 	// $ANTLR start synpred46_DRL6Expressions
 	public final void synpred46_DRL6Expressions_fragment() throws RecognitionException {
-		// src/main/resources/org/drools/compiler/lang/DRL6Expressions.g:709:20: ( LEFT_PAREN )
-		// src/main/resources/org/drools/compiler/lang/DRL6Expressions.g:709:21: LEFT_PAREN
+		// src/main/resources/org/drools/drl/parser/DRL6Expressions.g:716:20: ( LEFT_PAREN )
+		// src/main/resources/org/drools/drl/parser/DRL6Expressions.g:716:21: LEFT_PAREN
 		{
-		match(input,LEFT_PAREN,FOLLOW_LEFT_PAREN_in_synpred46_DRL6Expressions4411); if (state.failed) return;
+		match(input,LEFT_PAREN,FOLLOW_LEFT_PAREN_in_synpred46_DRL6Expressions4417); if (state.failed) return;
 		}
 
 	}
@@ -7738,10 +7741,10 @@ public class DRL6Expressions extends DRLExpressions {
 
 	// $ANTLR start synpred47_DRL6Expressions
 	public final void synpred47_DRL6Expressions_fragment() throws RecognitionException {
-		// src/main/resources/org/drools/compiler/lang/DRL6Expressions.g:711:9: ( LEFT_SQUARE )
-		// src/main/resources/org/drools/compiler/lang/DRL6Expressions.g:711:10: LEFT_SQUARE
+		// src/main/resources/org/drools/drl/parser/DRL6Expressions.g:718:9: ( LEFT_SQUARE )
+		// src/main/resources/org/drools/drl/parser/DRL6Expressions.g:718:10: LEFT_SQUARE
 		{
-		match(input,LEFT_SQUARE,FOLLOW_LEFT_SQUARE_in_synpred47_DRL6Expressions4434); if (state.failed) return;
+		match(input,LEFT_SQUARE,FOLLOW_LEFT_SQUARE_in_synpred47_DRL6Expressions4440); if (state.failed) return;
 		}
 
 	}
@@ -7749,10 +7752,10 @@ public class DRL6Expressions extends DRLExpressions {
 
 	// $ANTLR start synpred48_DRL6Expressions
 	public final void synpred48_DRL6Expressions_fragment() throws RecognitionException {
-		// src/main/resources/org/drools/compiler/lang/DRL6Expressions.g:718:18: ( LEFT_PAREN )
-		// src/main/resources/org/drools/compiler/lang/DRL6Expressions.g:718:19: LEFT_PAREN
+		// src/main/resources/org/drools/drl/parser/DRL6Expressions.g:725:18: ( LEFT_PAREN )
+		// src/main/resources/org/drools/drl/parser/DRL6Expressions.g:725:19: LEFT_PAREN
 		{
-		match(input,LEFT_PAREN,FOLLOW_LEFT_PAREN_in_synpred48_DRL6Expressions4525); if (state.failed) return;
+		match(input,LEFT_PAREN,FOLLOW_LEFT_PAREN_in_synpred48_DRL6Expressions4531); if (state.failed) return;
 		}
 
 	}
@@ -7760,12 +7763,12 @@ public class DRL6Expressions extends DRLExpressions {
 
 	// $ANTLR start synpred49_DRL6Expressions
 	public final void synpred49_DRL6Expressions_fragment() throws RecognitionException {
-		// src/main/resources/org/drools/compiler/lang/DRL6Expressions.g:748:7: ( GREATER GREATER GREATER )
-		// src/main/resources/org/drools/compiler/lang/DRL6Expressions.g:748:8: GREATER GREATER GREATER
+		// src/main/resources/org/drools/drl/parser/DRL6Expressions.g:755:7: ( GREATER GREATER GREATER )
+		// src/main/resources/org/drools/drl/parser/DRL6Expressions.g:755:8: GREATER GREATER GREATER
 		{
-		match(input,GREATER,FOLLOW_GREATER_in_synpred49_DRL6Expressions4755); if (state.failed) return;
-		match(input,GREATER,FOLLOW_GREATER_in_synpred49_DRL6Expressions4757); if (state.failed) return;
-		match(input,GREATER,FOLLOW_GREATER_in_synpred49_DRL6Expressions4759); if (state.failed) return;
+		match(input,GREATER,FOLLOW_GREATER_in_synpred49_DRL6Expressions4761); if (state.failed) return;
+		match(input,GREATER,FOLLOW_GREATER_in_synpred49_DRL6Expressions4763); if (state.failed) return;
+		match(input,GREATER,FOLLOW_GREATER_in_synpred49_DRL6Expressions4765); if (state.failed) return;
 		}
 
 	}
@@ -7773,11 +7776,11 @@ public class DRL6Expressions extends DRLExpressions {
 
 	// $ANTLR start synpred50_DRL6Expressions
 	public final void synpred50_DRL6Expressions_fragment() throws RecognitionException {
-		// src/main/resources/org/drools/compiler/lang/DRL6Expressions.g:749:7: ( GREATER GREATER )
-		// src/main/resources/org/drools/compiler/lang/DRL6Expressions.g:749:8: GREATER GREATER
+		// src/main/resources/org/drools/drl/parser/DRL6Expressions.g:756:7: ( GREATER GREATER )
+		// src/main/resources/org/drools/drl/parser/DRL6Expressions.g:756:8: GREATER GREATER
 		{
-		match(input,GREATER,FOLLOW_GREATER_in_synpred50_DRL6Expressions4778); if (state.failed) return;
-		match(input,GREATER,FOLLOW_GREATER_in_synpred50_DRL6Expressions4780); if (state.failed) return;
+		match(input,GREATER,FOLLOW_GREATER_in_synpred50_DRL6Expressions4784); if (state.failed) return;
+		match(input,GREATER,FOLLOW_GREATER_in_synpred50_DRL6Expressions4786); if (state.failed) return;
 		}
 
 	}
@@ -8658,181 +8661,182 @@ public class DRL6Expressions extends DRLExpressions {
 	public static final BitSet FOLLOW_float_key_in_primitiveType2874 = new BitSet(new long[]{0x0000000000000002L});
 	public static final BitSet FOLLOW_double_key_in_primitiveType2882 = new BitSet(new long[]{0x0000000000000002L});
 	public static final BitSet FOLLOW_xpathChunk_in_xpathPrimary2930 = new BitSet(new long[]{0x0400000000004002L});
-	public static final BitSet FOLLOW_xpathSeparator_in_xpathChunk2959 = new BitSet(new long[]{0x0000000080000000L});
-	public static final BitSet FOLLOW_ID_in_xpathChunk2961 = new BitSet(new long[]{0x0000004010010002L});
-	public static final BitSet FOLLOW_DOT_in_xpathChunk2964 = new BitSet(new long[]{0x0000000080000000L});
-	public static final BitSet FOLLOW_ID_in_xpathChunk2966 = new BitSet(new long[]{0x0000004010010002L});
-	public static final BitSet FOLLOW_HASH_in_xpathChunk2971 = new BitSet(new long[]{0x0000000080000000L});
-	public static final BitSet FOLLOW_ID_in_xpathChunk2973 = new BitSet(new long[]{0x0000004000000002L});
-	public static final BitSet FOLLOW_LEFT_SQUARE_in_xpathChunk2978 = new BitSet(new long[]{0x048502E1A1017100L,0x000000000000000FL});
-	public static final BitSet FOLLOW_xpathExpressionList_in_xpathChunk2980 = new BitSet(new long[]{0x2000000000000000L});
-	public static final BitSet FOLLOW_RIGHT_SQUARE_in_xpathChunk2982 = new BitSet(new long[]{0x0000000000000002L});
-	public static final BitSet FOLLOW_expression_in_xpathExpressionList3012 = new BitSet(new long[]{0x0000000000000402L});
-	public static final BitSet FOLLOW_COMMA_in_xpathExpressionList3023 = new BitSet(new long[]{0x048502E1A1017100L,0x000000000000000FL});
-	public static final BitSet FOLLOW_expression_in_xpathExpressionList3027 = new BitSet(new long[]{0x0000000000000402L});
-	public static final BitSet FOLLOW_parExpression_in_primary3057 = new BitSet(new long[]{0x0000000000000002L});
-	public static final BitSet FOLLOW_nonWildcardTypeArguments_in_primary3074 = new BitSet(new long[]{0x0000000080000000L});
-	public static final BitSet FOLLOW_explicitGenericInvocationSuffix_in_primary3077 = new BitSet(new long[]{0x0000000000000002L});
-	public static final BitSet FOLLOW_this_key_in_primary3081 = new BitSet(new long[]{0x0000002000000000L});
-	public static final BitSet FOLLOW_arguments_in_primary3083 = new BitSet(new long[]{0x0000000000000002L});
-	public static final BitSet FOLLOW_literal_in_primary3099 = new BitSet(new long[]{0x0000000000000002L});
-	public static final BitSet FOLLOW_super_key_in_primary3121 = new BitSet(new long[]{0x0000002000010000L});
-	public static final BitSet FOLLOW_superSuffix_in_primary3123 = new BitSet(new long[]{0x0000000000000002L});
-	public static final BitSet FOLLOW_new_key_in_primary3138 = new BitSet(new long[]{0x0000008080000000L});
-	public static final BitSet FOLLOW_creator_in_primary3140 = new BitSet(new long[]{0x0000000000000002L});
-	public static final BitSet FOLLOW_primitiveType_in_primary3155 = new BitSet(new long[]{0x0000004000010000L});
-	public static final BitSet FOLLOW_LEFT_SQUARE_in_primary3158 = new BitSet(new long[]{0x2000000000000000L});
-	public static final BitSet FOLLOW_RIGHT_SQUARE_in_primary3160 = new BitSet(new long[]{0x0000004000010000L});
-	public static final BitSet FOLLOW_DOT_in_primary3164 = new BitSet(new long[]{0x0000000080000000L});
-	public static final BitSet FOLLOW_class_key_in_primary3166 = new BitSet(new long[]{0x0000000000000002L});
-	public static final BitSet FOLLOW_inlineMapExpression_in_primary3186 = new BitSet(new long[]{0x0000000000000002L});
-	public static final BitSet FOLLOW_inlineListExpression_in_primary3201 = new BitSet(new long[]{0x0000000000000002L});
-	public static final BitSet FOLLOW_ID_in_primary3217 = new BitSet(new long[]{0x0008006010010002L});
-	public static final BitSet FOLLOW_DOT_in_primary3253 = new BitSet(new long[]{0x0000000080000000L});
-	public static final BitSet FOLLOW_ID_in_primary3257 = new BitSet(new long[]{0x0008006010010002L});
-	public static final BitSet FOLLOW_set_in_primary3303 = new BitSet(new long[]{0x0000002000000000L});
-	public static final BitSet FOLLOW_LEFT_PAREN_in_primary3309 = new BitSet(new long[]{0x048502E1A1017100L,0x000000000000000FL});
-	public static final BitSet FOLLOW_expression_in_primary3349 = new BitSet(new long[]{0x1000000000000400L});
-	public static final BitSet FOLLOW_COMMA_in_primary3352 = new BitSet(new long[]{0x048502E1A1017100L,0x000000000000000FL});
-	public static final BitSet FOLLOW_expression_in_primary3356 = new BitSet(new long[]{0x1000000000000400L});
-	public static final BitSet FOLLOW_RIGHT_PAREN_in_primary3396 = new BitSet(new long[]{0x0008006010010002L});
-	public static final BitSet FOLLOW_HASH_in_primary3450 = new BitSet(new long[]{0x0000000080000000L});
-	public static final BitSet FOLLOW_ID_in_primary3454 = new BitSet(new long[]{0x0008006010010002L});
-	public static final BitSet FOLLOW_NULL_SAFE_DOT_in_primary3496 = new BitSet(new long[]{0x0000000080000000L});
-	public static final BitSet FOLLOW_ID_in_primary3500 = new BitSet(new long[]{0x0008006010010002L});
-	public static final BitSet FOLLOW_identifierSuffix_in_primary3522 = new BitSet(new long[]{0x0000000000000002L});
-	public static final BitSet FOLLOW_LEFT_SQUARE_in_inlineListExpression3543 = new BitSet(new long[]{0x248502E1A1017100L,0x000000000000000FL});
-	public static final BitSet FOLLOW_expressionList_in_inlineListExpression3545 = new BitSet(new long[]{0x2000000000000000L});
-	public static final BitSet FOLLOW_RIGHT_SQUARE_in_inlineListExpression3548 = new BitSet(new long[]{0x0000000000000002L});
-	public static final BitSet FOLLOW_LEFT_SQUARE_in_inlineMapExpression3569 = new BitSet(new long[]{0x048502E1A1017100L,0x000000000000000FL});
-	public static final BitSet FOLLOW_mapExpressionList_in_inlineMapExpression3571 = new BitSet(new long[]{0x2000000000000000L});
-	public static final BitSet FOLLOW_RIGHT_SQUARE_in_inlineMapExpression3573 = new BitSet(new long[]{0x0000000000000002L});
-	public static final BitSet FOLLOW_mapEntry_in_mapExpressionList3594 = new BitSet(new long[]{0x0000000000000402L});
-	public static final BitSet FOLLOW_COMMA_in_mapExpressionList3597 = new BitSet(new long[]{0x048502E1A1017100L,0x000000000000000FL});
-	public static final BitSet FOLLOW_mapEntry_in_mapExpressionList3599 = new BitSet(new long[]{0x0000000000000402L});
-	public static final BitSet FOLLOW_expression_in_mapEntry3618 = new BitSet(new long[]{0x0000000000000200L});
-	public static final BitSet FOLLOW_COLON_in_mapEntry3620 = new BitSet(new long[]{0x048502E1A1017100L,0x000000000000000FL});
-	public static final BitSet FOLLOW_expression_in_mapEntry3622 = new BitSet(new long[]{0x0000000000000002L});
-	public static final BitSet FOLLOW_LEFT_PAREN_in_parExpression3643 = new BitSet(new long[]{0x048502E1A1017100L,0x000000000000000FL});
-	public static final BitSet FOLLOW_expression_in_parExpression3647 = new BitSet(new long[]{0x1000000000000000L});
-	public static final BitSet FOLLOW_RIGHT_PAREN_in_parExpression3649 = new BitSet(new long[]{0x0000000000000002L});
-	public static final BitSet FOLLOW_LEFT_SQUARE_in_identifierSuffix3683 = new BitSet(new long[]{0x2000000000000000L});
-	public static final BitSet FOLLOW_RIGHT_SQUARE_in_identifierSuffix3724 = new BitSet(new long[]{0x0000004000010000L});
-	public static final BitSet FOLLOW_DOT_in_identifierSuffix3768 = new BitSet(new long[]{0x0000000080000000L});
-	public static final BitSet FOLLOW_class_key_in_identifierSuffix3772 = new BitSet(new long[]{0x0000000000000002L});
-	public static final BitSet FOLLOW_LEFT_SQUARE_in_identifierSuffix3787 = new BitSet(new long[]{0x048502E1A1017100L,0x000000000000000FL});
-	public static final BitSet FOLLOW_expression_in_identifierSuffix3817 = new BitSet(new long[]{0x2000000000000000L});
-	public static final BitSet FOLLOW_RIGHT_SQUARE_in_identifierSuffix3845 = new BitSet(new long[]{0x0000004000000002L});
-	public static final BitSet FOLLOW_arguments_in_identifierSuffix3861 = new BitSet(new long[]{0x0000000000000002L});
-	public static final BitSet FOLLOW_nonWildcardTypeArguments_in_creator3883 = new BitSet(new long[]{0x0000000080000000L});
-	public static final BitSet FOLLOW_createdName_in_creator3886 = new BitSet(new long[]{0x0000006000000000L});
-	public static final BitSet FOLLOW_arrayCreatorRest_in_creator3897 = new BitSet(new long[]{0x0000000000000002L});
-	public static final BitSet FOLLOW_classCreatorRest_in_creator3901 = new BitSet(new long[]{0x0000000000000002L});
-	public static final BitSet FOLLOW_ID_in_createdName3919 = new BitSet(new long[]{0x0000008000010002L});
-	public static final BitSet FOLLOW_typeArguments_in_createdName3921 = new BitSet(new long[]{0x0000000000010002L});
-	public static final BitSet FOLLOW_DOT_in_createdName3934 = new BitSet(new long[]{0x0000000080000000L});
-	public static final BitSet FOLLOW_ID_in_createdName3936 = new BitSet(new long[]{0x0000008000010002L});
-	public static final BitSet FOLLOW_typeArguments_in_createdName3938 = new BitSet(new long[]{0x0000000000010002L});
-	public static final BitSet FOLLOW_primitiveType_in_createdName3953 = new BitSet(new long[]{0x0000000000000002L});
-	public static final BitSet FOLLOW_ID_in_innerCreator3973 = new BitSet(new long[]{0x0000002000000000L});
-	public static final BitSet FOLLOW_classCreatorRest_in_innerCreator3975 = new BitSet(new long[]{0x0000000000000002L});
-	public static final BitSet FOLLOW_LEFT_SQUARE_in_arrayCreatorRest3994 = new BitSet(new long[]{0x248502E1A1017100L,0x000000000000000FL});
-	public static final BitSet FOLLOW_RIGHT_SQUARE_in_arrayCreatorRest4004 = new BitSet(new long[]{0x0000005000000000L});
-	public static final BitSet FOLLOW_LEFT_SQUARE_in_arrayCreatorRest4007 = new BitSet(new long[]{0x2000000000000000L});
-	public static final BitSet FOLLOW_RIGHT_SQUARE_in_arrayCreatorRest4009 = new BitSet(new long[]{0x0000005000000000L});
-	public static final BitSet FOLLOW_arrayInitializer_in_arrayCreatorRest4013 = new BitSet(new long[]{0x0000000000000002L});
-	public static final BitSet FOLLOW_expression_in_arrayCreatorRest4027 = new BitSet(new long[]{0x2000000000000000L});
-	public static final BitSet FOLLOW_RIGHT_SQUARE_in_arrayCreatorRest4029 = new BitSet(new long[]{0x0000004000000002L});
-	public static final BitSet FOLLOW_LEFT_SQUARE_in_arrayCreatorRest4034 = new BitSet(new long[]{0x048502E1A1017100L,0x000000000000000FL});
-	public static final BitSet FOLLOW_expression_in_arrayCreatorRest4036 = new BitSet(new long[]{0x2000000000000000L});
-	public static final BitSet FOLLOW_RIGHT_SQUARE_in_arrayCreatorRest4038 = new BitSet(new long[]{0x0000004000000002L});
-	public static final BitSet FOLLOW_LEFT_SQUARE_in_arrayCreatorRest4050 = new BitSet(new long[]{0x2000000000000000L});
-	public static final BitSet FOLLOW_RIGHT_SQUARE_in_arrayCreatorRest4052 = new BitSet(new long[]{0x0000004000000002L});
-	public static final BitSet FOLLOW_arrayInitializer_in_variableInitializer4081 = new BitSet(new long[]{0x0000000000000002L});
-	public static final BitSet FOLLOW_expression_in_variableInitializer4095 = new BitSet(new long[]{0x0000000000000002L});
-	public static final BitSet FOLLOW_LEFT_CURLY_in_arrayInitializer4112 = new BitSet(new long[]{0x0C8502F1A1017100L,0x000000000000000FL});
-	public static final BitSet FOLLOW_variableInitializer_in_arrayInitializer4115 = new BitSet(new long[]{0x0800000000000400L});
-	public static final BitSet FOLLOW_COMMA_in_arrayInitializer4118 = new BitSet(new long[]{0x048502F1A1017100L,0x000000000000000FL});
-	public static final BitSet FOLLOW_variableInitializer_in_arrayInitializer4120 = new BitSet(new long[]{0x0800000000000400L});
-	public static final BitSet FOLLOW_COMMA_in_arrayInitializer4125 = new BitSet(new long[]{0x0800000000000000L});
-	public static final BitSet FOLLOW_RIGHT_CURLY_in_arrayInitializer4132 = new BitSet(new long[]{0x0000000000000002L});
-	public static final BitSet FOLLOW_arguments_in_classCreatorRest4149 = new BitSet(new long[]{0x0000000000000002L});
-	public static final BitSet FOLLOW_nonWildcardTypeArguments_in_explicitGenericInvocation4167 = new BitSet(new long[]{0x0000002000000000L});
-	public static final BitSet FOLLOW_arguments_in_explicitGenericInvocation4169 = new BitSet(new long[]{0x0000000000000002L});
-	public static final BitSet FOLLOW_LESS_in_nonWildcardTypeArguments4186 = new BitSet(new long[]{0x0000000080000000L});
-	public static final BitSet FOLLOW_typeList_in_nonWildcardTypeArguments4188 = new BitSet(new long[]{0x0000000004000000L});
-	public static final BitSet FOLLOW_GREATER_in_nonWildcardTypeArguments4190 = new BitSet(new long[]{0x0000000000000002L});
-	public static final BitSet FOLLOW_super_key_in_explicitGenericInvocationSuffix4207 = new BitSet(new long[]{0x0000002000010000L});
-	public static final BitSet FOLLOW_superSuffix_in_explicitGenericInvocationSuffix4209 = new BitSet(new long[]{0x0000000000000002L});
-	public static final BitSet FOLLOW_ID_in_explicitGenericInvocationSuffix4220 = new BitSet(new long[]{0x0000002000000000L});
-	public static final BitSet FOLLOW_arguments_in_explicitGenericInvocationSuffix4222 = new BitSet(new long[]{0x0000000000000002L});
-	public static final BitSet FOLLOW_DOT_in_selector4247 = new BitSet(new long[]{0x0000000080000000L});
-	public static final BitSet FOLLOW_super_key_in_selector4251 = new BitSet(new long[]{0x0000002000010000L});
-	public static final BitSet FOLLOW_superSuffix_in_selector4253 = new BitSet(new long[]{0x0000000000000002L});
-	public static final BitSet FOLLOW_DOT_in_selector4269 = new BitSet(new long[]{0x0000000080000000L});
-	public static final BitSet FOLLOW_new_key_in_selector4273 = new BitSet(new long[]{0x0000008080000000L});
-	public static final BitSet FOLLOW_nonWildcardTypeArguments_in_selector4276 = new BitSet(new long[]{0x0000000080000000L});
-	public static final BitSet FOLLOW_innerCreator_in_selector4280 = new BitSet(new long[]{0x0000000000000002L});
-	public static final BitSet FOLLOW_DOT_in_selector4296 = new BitSet(new long[]{0x0000000080000000L});
-	public static final BitSet FOLLOW_ID_in_selector4318 = new BitSet(new long[]{0x0000002000000002L});
-	public static final BitSet FOLLOW_arguments_in_selector4347 = new BitSet(new long[]{0x0000000000000002L});
-	public static final BitSet FOLLOW_NULL_SAFE_DOT_in_selector4365 = new BitSet(new long[]{0x0000000080000000L});
-	public static final BitSet FOLLOW_ID_in_selector4387 = new BitSet(new long[]{0x0000002000000002L});
-	public static final BitSet FOLLOW_arguments_in_selector4416 = new BitSet(new long[]{0x0000000000000002L});
-	public static final BitSet FOLLOW_LEFT_SQUARE_in_selector4437 = new BitSet(new long[]{0x048502E1A1017100L,0x000000000000000FL});
-	public static final BitSet FOLLOW_expression_in_selector4464 = new BitSet(new long[]{0x2000000000000000L});
-	public static final BitSet FOLLOW_RIGHT_SQUARE_in_selector4489 = new BitSet(new long[]{0x0000000000000002L});
-	public static final BitSet FOLLOW_arguments_in_superSuffix4508 = new BitSet(new long[]{0x0000000000000002L});
-	public static final BitSet FOLLOW_DOT_in_superSuffix4519 = new BitSet(new long[]{0x0000000080000000L});
-	public static final BitSet FOLLOW_ID_in_superSuffix4521 = new BitSet(new long[]{0x0000002000000002L});
-	public static final BitSet FOLLOW_arguments_in_superSuffix4530 = new BitSet(new long[]{0x0000000000000002L});
-	public static final BitSet FOLLOW_LEFT_SQUARE_in_squareArguments4553 = new BitSet(new long[]{0x248502E1A1017100L,0x000000000000000FL});
-	public static final BitSet FOLLOW_expressionList_in_squareArguments4558 = new BitSet(new long[]{0x2000000000000000L});
-	public static final BitSet FOLLOW_RIGHT_SQUARE_in_squareArguments4564 = new BitSet(new long[]{0x0000000000000002L});
-	public static final BitSet FOLLOW_LEFT_PAREN_in_arguments4581 = new BitSet(new long[]{0x148502E1A1017100L,0x000000000000000FL});
-	public static final BitSet FOLLOW_expressionList_in_arguments4593 = new BitSet(new long[]{0x1000000000000000L});
-	public static final BitSet FOLLOW_RIGHT_PAREN_in_arguments4604 = new BitSet(new long[]{0x0000000000000002L});
-	public static final BitSet FOLLOW_expression_in_expressionList4634 = new BitSet(new long[]{0x0000000000000402L});
-	public static final BitSet FOLLOW_COMMA_in_expressionList4645 = new BitSet(new long[]{0x048502E1A1017100L,0x000000000000000FL});
-	public static final BitSet FOLLOW_expression_in_expressionList4649 = new BitSet(new long[]{0x0000000000000402L});
-	public static final BitSet FOLLOW_EQUALS_ASSIGN_in_assignmentOperator4670 = new BitSet(new long[]{0x0000000000000002L});
-	public static final BitSet FOLLOW_PLUS_ASSIGN_in_assignmentOperator4678 = new BitSet(new long[]{0x0000000000000002L});
-	public static final BitSet FOLLOW_MINUS_ASSIGN_in_assignmentOperator4686 = new BitSet(new long[]{0x0000000000000002L});
-	public static final BitSet FOLLOW_MULT_ASSIGN_in_assignmentOperator4694 = new BitSet(new long[]{0x0000000000000002L});
-	public static final BitSet FOLLOW_DIV_ASSIGN_in_assignmentOperator4702 = new BitSet(new long[]{0x0000000000000002L});
-	public static final BitSet FOLLOW_AND_ASSIGN_in_assignmentOperator4710 = new BitSet(new long[]{0x0000000000000002L});
-	public static final BitSet FOLLOW_OR_ASSIGN_in_assignmentOperator4718 = new BitSet(new long[]{0x0000000000000002L});
-	public static final BitSet FOLLOW_XOR_ASSIGN_in_assignmentOperator4726 = new BitSet(new long[]{0x0000000000000002L});
-	public static final BitSet FOLLOW_MOD_ASSIGN_in_assignmentOperator4734 = new BitSet(new long[]{0x0000000000000002L});
-	public static final BitSet FOLLOW_LESS_in_assignmentOperator4742 = new BitSet(new long[]{0x0000008000000000L});
-	public static final BitSet FOLLOW_LESS_in_assignmentOperator4744 = new BitSet(new long[]{0x0000000000200000L});
-	public static final BitSet FOLLOW_EQUALS_ASSIGN_in_assignmentOperator4746 = new BitSet(new long[]{0x0000000000000002L});
-	public static final BitSet FOLLOW_GREATER_in_assignmentOperator4763 = new BitSet(new long[]{0x0000000004000000L});
-	public static final BitSet FOLLOW_GREATER_in_assignmentOperator4765 = new BitSet(new long[]{0x0000000004000000L});
-	public static final BitSet FOLLOW_GREATER_in_assignmentOperator4767 = new BitSet(new long[]{0x0000000000200000L});
-	public static final BitSet FOLLOW_EQUALS_ASSIGN_in_assignmentOperator4769 = new BitSet(new long[]{0x0000000000000002L});
-	public static final BitSet FOLLOW_GREATER_in_assignmentOperator4784 = new BitSet(new long[]{0x0000000004000000L});
-	public static final BitSet FOLLOW_GREATER_in_assignmentOperator4786 = new BitSet(new long[]{0x0000000000200000L});
-	public static final BitSet FOLLOW_EQUALS_ASSIGN_in_assignmentOperator4788 = new BitSet(new long[]{0x0000000000000002L});
-	public static final BitSet FOLLOW_ID_in_extends_key4818 = new BitSet(new long[]{0x0000000000000002L});
-	public static final BitSet FOLLOW_ID_in_super_key4847 = new BitSet(new long[]{0x0000000000000002L});
-	public static final BitSet FOLLOW_ID_in_instanceof_key4876 = new BitSet(new long[]{0x0000000000000002L});
-	public static final BitSet FOLLOW_ID_in_boolean_key4905 = new BitSet(new long[]{0x0000000000000002L});
-	public static final BitSet FOLLOW_ID_in_char_key4934 = new BitSet(new long[]{0x0000000000000002L});
-	public static final BitSet FOLLOW_ID_in_byte_key4963 = new BitSet(new long[]{0x0000000000000002L});
-	public static final BitSet FOLLOW_ID_in_short_key4992 = new BitSet(new long[]{0x0000000000000002L});
-	public static final BitSet FOLLOW_ID_in_int_key5021 = new BitSet(new long[]{0x0000000000000002L});
-	public static final BitSet FOLLOW_ID_in_float_key5050 = new BitSet(new long[]{0x0000000000000002L});
-	public static final BitSet FOLLOW_ID_in_long_key5079 = new BitSet(new long[]{0x0000000000000002L});
-	public static final BitSet FOLLOW_ID_in_double_key5108 = new BitSet(new long[]{0x0000000000000002L});
-	public static final BitSet FOLLOW_ID_in_void_key5137 = new BitSet(new long[]{0x0000000000000002L});
-	public static final BitSet FOLLOW_ID_in_this_key5166 = new BitSet(new long[]{0x0000000000000002L});
-	public static final BitSet FOLLOW_ID_in_class_key5195 = new BitSet(new long[]{0x0000000000000002L});
-	public static final BitSet FOLLOW_ID_in_new_key5225 = new BitSet(new long[]{0x0000000000000002L});
-	public static final BitSet FOLLOW_ID_in_not_key5254 = new BitSet(new long[]{0x0000000000000002L});
-	public static final BitSet FOLLOW_ID_in_in_key5281 = new BitSet(new long[]{0x0000000000000002L});
-	public static final BitSet FOLLOW_ID_in_operator_key5306 = new BitSet(new long[]{0x0000000000000002L});
-	public static final BitSet FOLLOW_ID_in_neg_operator_key5331 = new BitSet(new long[]{0x0000000000000002L});
+	public static final BitSet FOLLOW_xpathChunk_in_xpathPrimary2935 = new BitSet(new long[]{0x0400000000004002L});
+	public static final BitSet FOLLOW_xpathSeparator_in_xpathChunk2965 = new BitSet(new long[]{0x0000000080000000L});
+	public static final BitSet FOLLOW_ID_in_xpathChunk2967 = new BitSet(new long[]{0x0000004010010002L});
+	public static final BitSet FOLLOW_DOT_in_xpathChunk2970 = new BitSet(new long[]{0x0000000080000000L});
+	public static final BitSet FOLLOW_ID_in_xpathChunk2972 = new BitSet(new long[]{0x0000004010010002L});
+	public static final BitSet FOLLOW_HASH_in_xpathChunk2977 = new BitSet(new long[]{0x0000000080000000L});
+	public static final BitSet FOLLOW_ID_in_xpathChunk2979 = new BitSet(new long[]{0x0000004000000002L});
+	public static final BitSet FOLLOW_LEFT_SQUARE_in_xpathChunk2984 = new BitSet(new long[]{0x048502E1A1017100L,0x000000000000000FL});
+	public static final BitSet FOLLOW_xpathExpressionList_in_xpathChunk2986 = new BitSet(new long[]{0x2000000000000000L});
+	public static final BitSet FOLLOW_RIGHT_SQUARE_in_xpathChunk2988 = new BitSet(new long[]{0x0000000000000002L});
+	public static final BitSet FOLLOW_expression_in_xpathExpressionList3018 = new BitSet(new long[]{0x0000000000000402L});
+	public static final BitSet FOLLOW_COMMA_in_xpathExpressionList3029 = new BitSet(new long[]{0x048502E1A1017100L,0x000000000000000FL});
+	public static final BitSet FOLLOW_expression_in_xpathExpressionList3033 = new BitSet(new long[]{0x0000000000000402L});
+	public static final BitSet FOLLOW_parExpression_in_primary3063 = new BitSet(new long[]{0x0000000000000002L});
+	public static final BitSet FOLLOW_nonWildcardTypeArguments_in_primary3080 = new BitSet(new long[]{0x0000000080000000L});
+	public static final BitSet FOLLOW_explicitGenericInvocationSuffix_in_primary3083 = new BitSet(new long[]{0x0000000000000002L});
+	public static final BitSet FOLLOW_this_key_in_primary3087 = new BitSet(new long[]{0x0000002000000000L});
+	public static final BitSet FOLLOW_arguments_in_primary3089 = new BitSet(new long[]{0x0000000000000002L});
+	public static final BitSet FOLLOW_literal_in_primary3105 = new BitSet(new long[]{0x0000000000000002L});
+	public static final BitSet FOLLOW_super_key_in_primary3127 = new BitSet(new long[]{0x0000002000010000L});
+	public static final BitSet FOLLOW_superSuffix_in_primary3129 = new BitSet(new long[]{0x0000000000000002L});
+	public static final BitSet FOLLOW_new_key_in_primary3144 = new BitSet(new long[]{0x0000008080000000L});
+	public static final BitSet FOLLOW_creator_in_primary3146 = new BitSet(new long[]{0x0000000000000002L});
+	public static final BitSet FOLLOW_primitiveType_in_primary3161 = new BitSet(new long[]{0x0000004000010000L});
+	public static final BitSet FOLLOW_LEFT_SQUARE_in_primary3164 = new BitSet(new long[]{0x2000000000000000L});
+	public static final BitSet FOLLOW_RIGHT_SQUARE_in_primary3166 = new BitSet(new long[]{0x0000004000010000L});
+	public static final BitSet FOLLOW_DOT_in_primary3170 = new BitSet(new long[]{0x0000000080000000L});
+	public static final BitSet FOLLOW_class_key_in_primary3172 = new BitSet(new long[]{0x0000000000000002L});
+	public static final BitSet FOLLOW_inlineMapExpression_in_primary3192 = new BitSet(new long[]{0x0000000000000002L});
+	public static final BitSet FOLLOW_inlineListExpression_in_primary3207 = new BitSet(new long[]{0x0000000000000002L});
+	public static final BitSet FOLLOW_ID_in_primary3223 = new BitSet(new long[]{0x0008006010010002L});
+	public static final BitSet FOLLOW_DOT_in_primary3259 = new BitSet(new long[]{0x0000000080000000L});
+	public static final BitSet FOLLOW_ID_in_primary3263 = new BitSet(new long[]{0x0008006010010002L});
+	public static final BitSet FOLLOW_set_in_primary3309 = new BitSet(new long[]{0x0000002000000000L});
+	public static final BitSet FOLLOW_LEFT_PAREN_in_primary3315 = new BitSet(new long[]{0x048502E1A1017100L,0x000000000000000FL});
+	public static final BitSet FOLLOW_expression_in_primary3355 = new BitSet(new long[]{0x1000000000000400L});
+	public static final BitSet FOLLOW_COMMA_in_primary3358 = new BitSet(new long[]{0x048502E1A1017100L,0x000000000000000FL});
+	public static final BitSet FOLLOW_expression_in_primary3362 = new BitSet(new long[]{0x1000000000000400L});
+	public static final BitSet FOLLOW_RIGHT_PAREN_in_primary3402 = new BitSet(new long[]{0x0008006010010002L});
+	public static final BitSet FOLLOW_HASH_in_primary3456 = new BitSet(new long[]{0x0000000080000000L});
+	public static final BitSet FOLLOW_ID_in_primary3460 = new BitSet(new long[]{0x0008006010010002L});
+	public static final BitSet FOLLOW_NULL_SAFE_DOT_in_primary3502 = new BitSet(new long[]{0x0000000080000000L});
+	public static final BitSet FOLLOW_ID_in_primary3506 = new BitSet(new long[]{0x0008006010010002L});
+	public static final BitSet FOLLOW_identifierSuffix_in_primary3528 = new BitSet(new long[]{0x0000000000000002L});
+	public static final BitSet FOLLOW_LEFT_SQUARE_in_inlineListExpression3549 = new BitSet(new long[]{0x248502E1A1017100L,0x000000000000000FL});
+	public static final BitSet FOLLOW_expressionList_in_inlineListExpression3551 = new BitSet(new long[]{0x2000000000000000L});
+	public static final BitSet FOLLOW_RIGHT_SQUARE_in_inlineListExpression3554 = new BitSet(new long[]{0x0000000000000002L});
+	public static final BitSet FOLLOW_LEFT_SQUARE_in_inlineMapExpression3575 = new BitSet(new long[]{0x048502E1A1017100L,0x000000000000000FL});
+	public static final BitSet FOLLOW_mapExpressionList_in_inlineMapExpression3577 = new BitSet(new long[]{0x2000000000000000L});
+	public static final BitSet FOLLOW_RIGHT_SQUARE_in_inlineMapExpression3579 = new BitSet(new long[]{0x0000000000000002L});
+	public static final BitSet FOLLOW_mapEntry_in_mapExpressionList3600 = new BitSet(new long[]{0x0000000000000402L});
+	public static final BitSet FOLLOW_COMMA_in_mapExpressionList3603 = new BitSet(new long[]{0x048502E1A1017100L,0x000000000000000FL});
+	public static final BitSet FOLLOW_mapEntry_in_mapExpressionList3605 = new BitSet(new long[]{0x0000000000000402L});
+	public static final BitSet FOLLOW_expression_in_mapEntry3624 = new BitSet(new long[]{0x0000000000000200L});
+	public static final BitSet FOLLOW_COLON_in_mapEntry3626 = new BitSet(new long[]{0x048502E1A1017100L,0x000000000000000FL});
+	public static final BitSet FOLLOW_expression_in_mapEntry3628 = new BitSet(new long[]{0x0000000000000002L});
+	public static final BitSet FOLLOW_LEFT_PAREN_in_parExpression3649 = new BitSet(new long[]{0x048502E1A1017100L,0x000000000000000FL});
+	public static final BitSet FOLLOW_expression_in_parExpression3653 = new BitSet(new long[]{0x1000000000000000L});
+	public static final BitSet FOLLOW_RIGHT_PAREN_in_parExpression3655 = new BitSet(new long[]{0x0000000000000002L});
+	public static final BitSet FOLLOW_LEFT_SQUARE_in_identifierSuffix3689 = new BitSet(new long[]{0x2000000000000000L});
+	public static final BitSet FOLLOW_RIGHT_SQUARE_in_identifierSuffix3730 = new BitSet(new long[]{0x0000004000010000L});
+	public static final BitSet FOLLOW_DOT_in_identifierSuffix3774 = new BitSet(new long[]{0x0000000080000000L});
+	public static final BitSet FOLLOW_class_key_in_identifierSuffix3778 = new BitSet(new long[]{0x0000000000000002L});
+	public static final BitSet FOLLOW_LEFT_SQUARE_in_identifierSuffix3793 = new BitSet(new long[]{0x048502E1A1017100L,0x000000000000000FL});
+	public static final BitSet FOLLOW_expression_in_identifierSuffix3823 = new BitSet(new long[]{0x2000000000000000L});
+	public static final BitSet FOLLOW_RIGHT_SQUARE_in_identifierSuffix3851 = new BitSet(new long[]{0x0000004000000002L});
+	public static final BitSet FOLLOW_arguments_in_identifierSuffix3867 = new BitSet(new long[]{0x0000000000000002L});
+	public static final BitSet FOLLOW_nonWildcardTypeArguments_in_creator3889 = new BitSet(new long[]{0x0000000080000000L});
+	public static final BitSet FOLLOW_createdName_in_creator3892 = new BitSet(new long[]{0x0000006000000000L});
+	public static final BitSet FOLLOW_arrayCreatorRest_in_creator3903 = new BitSet(new long[]{0x0000000000000002L});
+	public static final BitSet FOLLOW_classCreatorRest_in_creator3907 = new BitSet(new long[]{0x0000000000000002L});
+	public static final BitSet FOLLOW_ID_in_createdName3925 = new BitSet(new long[]{0x0000008000010002L});
+	public static final BitSet FOLLOW_typeArguments_in_createdName3927 = new BitSet(new long[]{0x0000000000010002L});
+	public static final BitSet FOLLOW_DOT_in_createdName3940 = new BitSet(new long[]{0x0000000080000000L});
+	public static final BitSet FOLLOW_ID_in_createdName3942 = new BitSet(new long[]{0x0000008000010002L});
+	public static final BitSet FOLLOW_typeArguments_in_createdName3944 = new BitSet(new long[]{0x0000000000010002L});
+	public static final BitSet FOLLOW_primitiveType_in_createdName3959 = new BitSet(new long[]{0x0000000000000002L});
+	public static final BitSet FOLLOW_ID_in_innerCreator3979 = new BitSet(new long[]{0x0000002000000000L});
+	public static final BitSet FOLLOW_classCreatorRest_in_innerCreator3981 = new BitSet(new long[]{0x0000000000000002L});
+	public static final BitSet FOLLOW_LEFT_SQUARE_in_arrayCreatorRest4000 = new BitSet(new long[]{0x248502E1A1017100L,0x000000000000000FL});
+	public static final BitSet FOLLOW_RIGHT_SQUARE_in_arrayCreatorRest4010 = new BitSet(new long[]{0x0000005000000000L});
+	public static final BitSet FOLLOW_LEFT_SQUARE_in_arrayCreatorRest4013 = new BitSet(new long[]{0x2000000000000000L});
+	public static final BitSet FOLLOW_RIGHT_SQUARE_in_arrayCreatorRest4015 = new BitSet(new long[]{0x0000005000000000L});
+	public static final BitSet FOLLOW_arrayInitializer_in_arrayCreatorRest4019 = new BitSet(new long[]{0x0000000000000002L});
+	public static final BitSet FOLLOW_expression_in_arrayCreatorRest4033 = new BitSet(new long[]{0x2000000000000000L});
+	public static final BitSet FOLLOW_RIGHT_SQUARE_in_arrayCreatorRest4035 = new BitSet(new long[]{0x0000004000000002L});
+	public static final BitSet FOLLOW_LEFT_SQUARE_in_arrayCreatorRest4040 = new BitSet(new long[]{0x048502E1A1017100L,0x000000000000000FL});
+	public static final BitSet FOLLOW_expression_in_arrayCreatorRest4042 = new BitSet(new long[]{0x2000000000000000L});
+	public static final BitSet FOLLOW_RIGHT_SQUARE_in_arrayCreatorRest4044 = new BitSet(new long[]{0x0000004000000002L});
+	public static final BitSet FOLLOW_LEFT_SQUARE_in_arrayCreatorRest4056 = new BitSet(new long[]{0x2000000000000000L});
+	public static final BitSet FOLLOW_RIGHT_SQUARE_in_arrayCreatorRest4058 = new BitSet(new long[]{0x0000004000000002L});
+	public static final BitSet FOLLOW_arrayInitializer_in_variableInitializer4087 = new BitSet(new long[]{0x0000000000000002L});
+	public static final BitSet FOLLOW_expression_in_variableInitializer4101 = new BitSet(new long[]{0x0000000000000002L});
+	public static final BitSet FOLLOW_LEFT_CURLY_in_arrayInitializer4118 = new BitSet(new long[]{0x0C8502F1A1017100L,0x000000000000000FL});
+	public static final BitSet FOLLOW_variableInitializer_in_arrayInitializer4121 = new BitSet(new long[]{0x0800000000000400L});
+	public static final BitSet FOLLOW_COMMA_in_arrayInitializer4124 = new BitSet(new long[]{0x048502F1A1017100L,0x000000000000000FL});
+	public static final BitSet FOLLOW_variableInitializer_in_arrayInitializer4126 = new BitSet(new long[]{0x0800000000000400L});
+	public static final BitSet FOLLOW_COMMA_in_arrayInitializer4131 = new BitSet(new long[]{0x0800000000000000L});
+	public static final BitSet FOLLOW_RIGHT_CURLY_in_arrayInitializer4138 = new BitSet(new long[]{0x0000000000000002L});
+	public static final BitSet FOLLOW_arguments_in_classCreatorRest4155 = new BitSet(new long[]{0x0000000000000002L});
+	public static final BitSet FOLLOW_nonWildcardTypeArguments_in_explicitGenericInvocation4173 = new BitSet(new long[]{0x0000002000000000L});
+	public static final BitSet FOLLOW_arguments_in_explicitGenericInvocation4175 = new BitSet(new long[]{0x0000000000000002L});
+	public static final BitSet FOLLOW_LESS_in_nonWildcardTypeArguments4192 = new BitSet(new long[]{0x0000000080000000L});
+	public static final BitSet FOLLOW_typeList_in_nonWildcardTypeArguments4194 = new BitSet(new long[]{0x0000000004000000L});
+	public static final BitSet FOLLOW_GREATER_in_nonWildcardTypeArguments4196 = new BitSet(new long[]{0x0000000000000002L});
+	public static final BitSet FOLLOW_super_key_in_explicitGenericInvocationSuffix4213 = new BitSet(new long[]{0x0000002000010000L});
+	public static final BitSet FOLLOW_superSuffix_in_explicitGenericInvocationSuffix4215 = new BitSet(new long[]{0x0000000000000002L});
+	public static final BitSet FOLLOW_ID_in_explicitGenericInvocationSuffix4226 = new BitSet(new long[]{0x0000002000000000L});
+	public static final BitSet FOLLOW_arguments_in_explicitGenericInvocationSuffix4228 = new BitSet(new long[]{0x0000000000000002L});
+	public static final BitSet FOLLOW_DOT_in_selector4253 = new BitSet(new long[]{0x0000000080000000L});
+	public static final BitSet FOLLOW_super_key_in_selector4257 = new BitSet(new long[]{0x0000002000010000L});
+	public static final BitSet FOLLOW_superSuffix_in_selector4259 = new BitSet(new long[]{0x0000000000000002L});
+	public static final BitSet FOLLOW_DOT_in_selector4275 = new BitSet(new long[]{0x0000000080000000L});
+	public static final BitSet FOLLOW_new_key_in_selector4279 = new BitSet(new long[]{0x0000008080000000L});
+	public static final BitSet FOLLOW_nonWildcardTypeArguments_in_selector4282 = new BitSet(new long[]{0x0000000080000000L});
+	public static final BitSet FOLLOW_innerCreator_in_selector4286 = new BitSet(new long[]{0x0000000000000002L});
+	public static final BitSet FOLLOW_DOT_in_selector4302 = new BitSet(new long[]{0x0000000080000000L});
+	public static final BitSet FOLLOW_ID_in_selector4324 = new BitSet(new long[]{0x0000002000000002L});
+	public static final BitSet FOLLOW_arguments_in_selector4353 = new BitSet(new long[]{0x0000000000000002L});
+	public static final BitSet FOLLOW_NULL_SAFE_DOT_in_selector4371 = new BitSet(new long[]{0x0000000080000000L});
+	public static final BitSet FOLLOW_ID_in_selector4393 = new BitSet(new long[]{0x0000002000000002L});
+	public static final BitSet FOLLOW_arguments_in_selector4422 = new BitSet(new long[]{0x0000000000000002L});
+	public static final BitSet FOLLOW_LEFT_SQUARE_in_selector4443 = new BitSet(new long[]{0x048502E1A1017100L,0x000000000000000FL});
+	public static final BitSet FOLLOW_expression_in_selector4470 = new BitSet(new long[]{0x2000000000000000L});
+	public static final BitSet FOLLOW_RIGHT_SQUARE_in_selector4495 = new BitSet(new long[]{0x0000000000000002L});
+	public static final BitSet FOLLOW_arguments_in_superSuffix4514 = new BitSet(new long[]{0x0000000000000002L});
+	public static final BitSet FOLLOW_DOT_in_superSuffix4525 = new BitSet(new long[]{0x0000000080000000L});
+	public static final BitSet FOLLOW_ID_in_superSuffix4527 = new BitSet(new long[]{0x0000002000000002L});
+	public static final BitSet FOLLOW_arguments_in_superSuffix4536 = new BitSet(new long[]{0x0000000000000002L});
+	public static final BitSet FOLLOW_LEFT_SQUARE_in_squareArguments4559 = new BitSet(new long[]{0x248502E1A1017100L,0x000000000000000FL});
+	public static final BitSet FOLLOW_expressionList_in_squareArguments4564 = new BitSet(new long[]{0x2000000000000000L});
+	public static final BitSet FOLLOW_RIGHT_SQUARE_in_squareArguments4570 = new BitSet(new long[]{0x0000000000000002L});
+	public static final BitSet FOLLOW_LEFT_PAREN_in_arguments4587 = new BitSet(new long[]{0x148502E1A1017100L,0x000000000000000FL});
+	public static final BitSet FOLLOW_expressionList_in_arguments4599 = new BitSet(new long[]{0x1000000000000000L});
+	public static final BitSet FOLLOW_RIGHT_PAREN_in_arguments4610 = new BitSet(new long[]{0x0000000000000002L});
+	public static final BitSet FOLLOW_expression_in_expressionList4640 = new BitSet(new long[]{0x0000000000000402L});
+	public static final BitSet FOLLOW_COMMA_in_expressionList4651 = new BitSet(new long[]{0x048502E1A1017100L,0x000000000000000FL});
+	public static final BitSet FOLLOW_expression_in_expressionList4655 = new BitSet(new long[]{0x0000000000000402L});
+	public static final BitSet FOLLOW_EQUALS_ASSIGN_in_assignmentOperator4676 = new BitSet(new long[]{0x0000000000000002L});
+	public static final BitSet FOLLOW_PLUS_ASSIGN_in_assignmentOperator4684 = new BitSet(new long[]{0x0000000000000002L});
+	public static final BitSet FOLLOW_MINUS_ASSIGN_in_assignmentOperator4692 = new BitSet(new long[]{0x0000000000000002L});
+	public static final BitSet FOLLOW_MULT_ASSIGN_in_assignmentOperator4700 = new BitSet(new long[]{0x0000000000000002L});
+	public static final BitSet FOLLOW_DIV_ASSIGN_in_assignmentOperator4708 = new BitSet(new long[]{0x0000000000000002L});
+	public static final BitSet FOLLOW_AND_ASSIGN_in_assignmentOperator4716 = new BitSet(new long[]{0x0000000000000002L});
+	public static final BitSet FOLLOW_OR_ASSIGN_in_assignmentOperator4724 = new BitSet(new long[]{0x0000000000000002L});
+	public static final BitSet FOLLOW_XOR_ASSIGN_in_assignmentOperator4732 = new BitSet(new long[]{0x0000000000000002L});
+	public static final BitSet FOLLOW_MOD_ASSIGN_in_assignmentOperator4740 = new BitSet(new long[]{0x0000000000000002L});
+	public static final BitSet FOLLOW_LESS_in_assignmentOperator4748 = new BitSet(new long[]{0x0000008000000000L});
+	public static final BitSet FOLLOW_LESS_in_assignmentOperator4750 = new BitSet(new long[]{0x0000000000200000L});
+	public static final BitSet FOLLOW_EQUALS_ASSIGN_in_assignmentOperator4752 = new BitSet(new long[]{0x0000000000000002L});
+	public static final BitSet FOLLOW_GREATER_in_assignmentOperator4769 = new BitSet(new long[]{0x0000000004000000L});
+	public static final BitSet FOLLOW_GREATER_in_assignmentOperator4771 = new BitSet(new long[]{0x0000000004000000L});
+	public static final BitSet FOLLOW_GREATER_in_assignmentOperator4773 = new BitSet(new long[]{0x0000000000200000L});
+	public static final BitSet FOLLOW_EQUALS_ASSIGN_in_assignmentOperator4775 = new BitSet(new long[]{0x0000000000000002L});
+	public static final BitSet FOLLOW_GREATER_in_assignmentOperator4790 = new BitSet(new long[]{0x0000000004000000L});
+	public static final BitSet FOLLOW_GREATER_in_assignmentOperator4792 = new BitSet(new long[]{0x0000000000200000L});
+	public static final BitSet FOLLOW_EQUALS_ASSIGN_in_assignmentOperator4794 = new BitSet(new long[]{0x0000000000000002L});
+	public static final BitSet FOLLOW_ID_in_extends_key4824 = new BitSet(new long[]{0x0000000000000002L});
+	public static final BitSet FOLLOW_ID_in_super_key4853 = new BitSet(new long[]{0x0000000000000002L});
+	public static final BitSet FOLLOW_ID_in_instanceof_key4882 = new BitSet(new long[]{0x0000000000000002L});
+	public static final BitSet FOLLOW_ID_in_boolean_key4911 = new BitSet(new long[]{0x0000000000000002L});
+	public static final BitSet FOLLOW_ID_in_char_key4940 = new BitSet(new long[]{0x0000000000000002L});
+	public static final BitSet FOLLOW_ID_in_byte_key4969 = new BitSet(new long[]{0x0000000000000002L});
+	public static final BitSet FOLLOW_ID_in_short_key4998 = new BitSet(new long[]{0x0000000000000002L});
+	public static final BitSet FOLLOW_ID_in_int_key5027 = new BitSet(new long[]{0x0000000000000002L});
+	public static final BitSet FOLLOW_ID_in_float_key5056 = new BitSet(new long[]{0x0000000000000002L});
+	public static final BitSet FOLLOW_ID_in_long_key5085 = new BitSet(new long[]{0x0000000000000002L});
+	public static final BitSet FOLLOW_ID_in_double_key5114 = new BitSet(new long[]{0x0000000000000002L});
+	public static final BitSet FOLLOW_ID_in_void_key5143 = new BitSet(new long[]{0x0000000000000002L});
+	public static final BitSet FOLLOW_ID_in_this_key5172 = new BitSet(new long[]{0x0000000000000002L});
+	public static final BitSet FOLLOW_ID_in_class_key5201 = new BitSet(new long[]{0x0000000000000002L});
+	public static final BitSet FOLLOW_ID_in_new_key5231 = new BitSet(new long[]{0x0000000000000002L});
+	public static final BitSet FOLLOW_ID_in_not_key5260 = new BitSet(new long[]{0x0000000000000002L});
+	public static final BitSet FOLLOW_ID_in_in_key5287 = new BitSet(new long[]{0x0000000000000002L});
+	public static final BitSet FOLLOW_ID_in_operator_key5312 = new BitSet(new long[]{0x0000000000000002L});
+	public static final BitSet FOLLOW_ID_in_neg_operator_key5337 = new BitSet(new long[]{0x0000000000000002L});
 	public static final BitSet FOLLOW_primitiveType_in_synpred1_DRL6Expressions548 = new BitSet(new long[]{0x0000000000000002L});
 	public static final BitSet FOLLOW_LEFT_SQUARE_in_synpred2_DRL6Expressions559 = new BitSet(new long[]{0x2000000000000000L});
 	public static final BitSet FOLLOW_RIGHT_SQUARE_in_synpred2_DRL6Expressions561 = new BitSet(new long[]{0x0000000000000002L});
@@ -8865,44 +8869,44 @@ public class DRL6Expressions extends DRLExpressions {
 	public static final BitSet FOLLOW_primitiveType_in_synpred20_DRL6Expressions2734 = new BitSet(new long[]{0x0000000000000002L});
 	public static final BitSet FOLLOW_LEFT_PAREN_in_synpred21_DRL6Expressions2757 = new BitSet(new long[]{0x0000000080000000L});
 	public static final BitSet FOLLOW_type_in_synpred21_DRL6Expressions2759 = new BitSet(new long[]{0x0000000000000002L});
-	public static final BitSet FOLLOW_LEFT_PAREN_in_synpred24_DRL6Expressions3051 = new BitSet(new long[]{0x0000000000000002L});
-	public static final BitSet FOLLOW_nonWildcardTypeArguments_in_synpred25_DRL6Expressions3070 = new BitSet(new long[]{0x0000000000000002L});
-	public static final BitSet FOLLOW_literal_in_synpred26_DRL6Expressions3095 = new BitSet(new long[]{0x0000000000000002L});
-	public static final BitSet FOLLOW_super_key_in_synpred27_DRL6Expressions3117 = new BitSet(new long[]{0x0000000000000002L});
-	public static final BitSet FOLLOW_new_key_in_synpred28_DRL6Expressions3134 = new BitSet(new long[]{0x0000000000000002L});
-	public static final BitSet FOLLOW_primitiveType_in_synpred29_DRL6Expressions3151 = new BitSet(new long[]{0x0000000000000002L});
-	public static final BitSet FOLLOW_inlineMapExpression_in_synpred30_DRL6Expressions3182 = new BitSet(new long[]{0x0000000000000002L});
-	public static final BitSet FOLLOW_inlineListExpression_in_synpred31_DRL6Expressions3197 = new BitSet(new long[]{0x0000000000000002L});
-	public static final BitSet FOLLOW_ID_in_synpred32_DRL6Expressions3212 = new BitSet(new long[]{0x0000000000000002L});
-	public static final BitSet FOLLOW_DOT_in_synpred33_DRL6Expressions3246 = new BitSet(new long[]{0x0000000080000000L});
-	public static final BitSet FOLLOW_ID_in_synpred33_DRL6Expressions3248 = new BitSet(new long[]{0x0000000000000002L});
-	public static final BitSet FOLLOW_set_in_synpred34_DRL6Expressions3292 = new BitSet(new long[]{0x0000002000000000L});
-	public static final BitSet FOLLOW_LEFT_PAREN_in_synpred34_DRL6Expressions3298 = new BitSet(new long[]{0x0000000000000002L});
-	public static final BitSet FOLLOW_HASH_in_synpred35_DRL6Expressions3443 = new BitSet(new long[]{0x0000000080000000L});
-	public static final BitSet FOLLOW_ID_in_synpred35_DRL6Expressions3445 = new BitSet(new long[]{0x0000000000000002L});
-	public static final BitSet FOLLOW_NULL_SAFE_DOT_in_synpred36_DRL6Expressions3489 = new BitSet(new long[]{0x0000000080000000L});
-	public static final BitSet FOLLOW_ID_in_synpred36_DRL6Expressions3491 = new BitSet(new long[]{0x0000000000000002L});
-	public static final BitSet FOLLOW_identifierSuffix_in_synpred37_DRL6Expressions3519 = new BitSet(new long[]{0x0000000000000002L});
-	public static final BitSet FOLLOW_LEFT_SQUARE_in_synpred38_DRL6Expressions3677 = new BitSet(new long[]{0x2000000000000000L});
-	public static final BitSet FOLLOW_RIGHT_SQUARE_in_synpred38_DRL6Expressions3679 = new BitSet(new long[]{0x0000000000000002L});
-	public static final BitSet FOLLOW_LEFT_SQUARE_in_synpred39_DRL6Expressions3782 = new BitSet(new long[]{0x0000000000000002L});
-	public static final BitSet FOLLOW_LEFT_SQUARE_in_synpred40_DRL6Expressions4044 = new BitSet(new long[]{0x2000000000000000L});
-	public static final BitSet FOLLOW_RIGHT_SQUARE_in_synpred40_DRL6Expressions4046 = new BitSet(new long[]{0x0000000000000002L});
-	public static final BitSet FOLLOW_DOT_in_synpred41_DRL6Expressions4242 = new BitSet(new long[]{0x0000000080000000L});
-	public static final BitSet FOLLOW_super_key_in_synpred41_DRL6Expressions4244 = new BitSet(new long[]{0x0000000000000002L});
-	public static final BitSet FOLLOW_DOT_in_synpred42_DRL6Expressions4264 = new BitSet(new long[]{0x0000000080000000L});
-	public static final BitSet FOLLOW_new_key_in_synpred42_DRL6Expressions4266 = new BitSet(new long[]{0x0000000000000002L});
-	public static final BitSet FOLLOW_DOT_in_synpred43_DRL6Expressions4291 = new BitSet(new long[]{0x0000000080000000L});
-	public static final BitSet FOLLOW_ID_in_synpred43_DRL6Expressions4293 = new BitSet(new long[]{0x0000000000000002L});
-	public static final BitSet FOLLOW_LEFT_PAREN_in_synpred44_DRL6Expressions4342 = new BitSet(new long[]{0x0000000000000002L});
-	public static final BitSet FOLLOW_NULL_SAFE_DOT_in_synpred45_DRL6Expressions4360 = new BitSet(new long[]{0x0000000080000000L});
-	public static final BitSet FOLLOW_ID_in_synpred45_DRL6Expressions4362 = new BitSet(new long[]{0x0000000000000002L});
-	public static final BitSet FOLLOW_LEFT_PAREN_in_synpred46_DRL6Expressions4411 = new BitSet(new long[]{0x0000000000000002L});
-	public static final BitSet FOLLOW_LEFT_SQUARE_in_synpred47_DRL6Expressions4434 = new BitSet(new long[]{0x0000000000000002L});
-	public static final BitSet FOLLOW_LEFT_PAREN_in_synpred48_DRL6Expressions4525 = new BitSet(new long[]{0x0000000000000002L});
-	public static final BitSet FOLLOW_GREATER_in_synpred49_DRL6Expressions4755 = new BitSet(new long[]{0x0000000004000000L});
-	public static final BitSet FOLLOW_GREATER_in_synpred49_DRL6Expressions4757 = new BitSet(new long[]{0x0000000004000000L});
-	public static final BitSet FOLLOW_GREATER_in_synpred49_DRL6Expressions4759 = new BitSet(new long[]{0x0000000000000002L});
-	public static final BitSet FOLLOW_GREATER_in_synpred50_DRL6Expressions4778 = new BitSet(new long[]{0x0000000004000000L});
-	public static final BitSet FOLLOW_GREATER_in_synpred50_DRL6Expressions4780 = new BitSet(new long[]{0x0000000000000002L});
+	public static final BitSet FOLLOW_LEFT_PAREN_in_synpred24_DRL6Expressions3057 = new BitSet(new long[]{0x0000000000000002L});
+	public static final BitSet FOLLOW_nonWildcardTypeArguments_in_synpred25_DRL6Expressions3076 = new BitSet(new long[]{0x0000000000000002L});
+	public static final BitSet FOLLOW_literal_in_synpred26_DRL6Expressions3101 = new BitSet(new long[]{0x0000000000000002L});
+	public static final BitSet FOLLOW_super_key_in_synpred27_DRL6Expressions3123 = new BitSet(new long[]{0x0000000000000002L});
+	public static final BitSet FOLLOW_new_key_in_synpred28_DRL6Expressions3140 = new BitSet(new long[]{0x0000000000000002L});
+	public static final BitSet FOLLOW_primitiveType_in_synpred29_DRL6Expressions3157 = new BitSet(new long[]{0x0000000000000002L});
+	public static final BitSet FOLLOW_inlineMapExpression_in_synpred30_DRL6Expressions3188 = new BitSet(new long[]{0x0000000000000002L});
+	public static final BitSet FOLLOW_inlineListExpression_in_synpred31_DRL6Expressions3203 = new BitSet(new long[]{0x0000000000000002L});
+	public static final BitSet FOLLOW_ID_in_synpred32_DRL6Expressions3218 = new BitSet(new long[]{0x0000000000000002L});
+	public static final BitSet FOLLOW_DOT_in_synpred33_DRL6Expressions3252 = new BitSet(new long[]{0x0000000080000000L});
+	public static final BitSet FOLLOW_ID_in_synpred33_DRL6Expressions3254 = new BitSet(new long[]{0x0000000000000002L});
+	public static final BitSet FOLLOW_set_in_synpred34_DRL6Expressions3298 = new BitSet(new long[]{0x0000002000000000L});
+	public static final BitSet FOLLOW_LEFT_PAREN_in_synpred34_DRL6Expressions3304 = new BitSet(new long[]{0x0000000000000002L});
+	public static final BitSet FOLLOW_HASH_in_synpred35_DRL6Expressions3449 = new BitSet(new long[]{0x0000000080000000L});
+	public static final BitSet FOLLOW_ID_in_synpred35_DRL6Expressions3451 = new BitSet(new long[]{0x0000000000000002L});
+	public static final BitSet FOLLOW_NULL_SAFE_DOT_in_synpred36_DRL6Expressions3495 = new BitSet(new long[]{0x0000000080000000L});
+	public static final BitSet FOLLOW_ID_in_synpred36_DRL6Expressions3497 = new BitSet(new long[]{0x0000000000000002L});
+	public static final BitSet FOLLOW_identifierSuffix_in_synpred37_DRL6Expressions3525 = new BitSet(new long[]{0x0000000000000002L});
+	public static final BitSet FOLLOW_LEFT_SQUARE_in_synpred38_DRL6Expressions3683 = new BitSet(new long[]{0x2000000000000000L});
+	public static final BitSet FOLLOW_RIGHT_SQUARE_in_synpred38_DRL6Expressions3685 = new BitSet(new long[]{0x0000000000000002L});
+	public static final BitSet FOLLOW_LEFT_SQUARE_in_synpred39_DRL6Expressions3788 = new BitSet(new long[]{0x0000000000000002L});
+	public static final BitSet FOLLOW_LEFT_SQUARE_in_synpred40_DRL6Expressions4050 = new BitSet(new long[]{0x2000000000000000L});
+	public static final BitSet FOLLOW_RIGHT_SQUARE_in_synpred40_DRL6Expressions4052 = new BitSet(new long[]{0x0000000000000002L});
+	public static final BitSet FOLLOW_DOT_in_synpred41_DRL6Expressions4248 = new BitSet(new long[]{0x0000000080000000L});
+	public static final BitSet FOLLOW_super_key_in_synpred41_DRL6Expressions4250 = new BitSet(new long[]{0x0000000000000002L});
+	public static final BitSet FOLLOW_DOT_in_synpred42_DRL6Expressions4270 = new BitSet(new long[]{0x0000000080000000L});
+	public static final BitSet FOLLOW_new_key_in_synpred42_DRL6Expressions4272 = new BitSet(new long[]{0x0000000000000002L});
+	public static final BitSet FOLLOW_DOT_in_synpred43_DRL6Expressions4297 = new BitSet(new long[]{0x0000000080000000L});
+	public static final BitSet FOLLOW_ID_in_synpred43_DRL6Expressions4299 = new BitSet(new long[]{0x0000000000000002L});
+	public static final BitSet FOLLOW_LEFT_PAREN_in_synpred44_DRL6Expressions4348 = new BitSet(new long[]{0x0000000000000002L});
+	public static final BitSet FOLLOW_NULL_SAFE_DOT_in_synpred45_DRL6Expressions4366 = new BitSet(new long[]{0x0000000080000000L});
+	public static final BitSet FOLLOW_ID_in_synpred45_DRL6Expressions4368 = new BitSet(new long[]{0x0000000000000002L});
+	public static final BitSet FOLLOW_LEFT_PAREN_in_synpred46_DRL6Expressions4417 = new BitSet(new long[]{0x0000000000000002L});
+	public static final BitSet FOLLOW_LEFT_SQUARE_in_synpred47_DRL6Expressions4440 = new BitSet(new long[]{0x0000000000000002L});
+	public static final BitSet FOLLOW_LEFT_PAREN_in_synpred48_DRL6Expressions4531 = new BitSet(new long[]{0x0000000000000002L});
+	public static final BitSet FOLLOW_GREATER_in_synpred49_DRL6Expressions4761 = new BitSet(new long[]{0x0000000004000000L});
+	public static final BitSet FOLLOW_GREATER_in_synpred49_DRL6Expressions4763 = new BitSet(new long[]{0x0000000004000000L});
+	public static final BitSet FOLLOW_GREATER_in_synpred49_DRL6Expressions4765 = new BitSet(new long[]{0x0000000000000002L});
+	public static final BitSet FOLLOW_GREATER_in_synpred50_DRL6Expressions4784 = new BitSet(new long[]{0x0000000004000000L});
+	public static final BitSet FOLLOW_GREATER_in_synpred50_DRL6Expressions4786 = new BitSet(new long[]{0x0000000000000002L});
 }
diff --git a/drools-drl/drools-drl-parser/src/main/java/org/drools/drl/parser/lang/DRL6Lexer.java b/drools-drl/drools-drl-parser/src/main/java/org/drools/drl/parser/lang/DRL6Lexer.java
index 9d55b0afd9..00d1241b68 100644
--- a/drools-drl/drools-drl-parser/src/main/java/org/drools/drl/parser/lang/DRL6Lexer.java
+++ b/drools-drl/drools-drl-parser/src/main/java/org/drools/drl/parser/lang/DRL6Lexer.java
@@ -1,33 +1,18 @@
-/**
- * Licensed to the Apache Software Foundation (ASF) under one
- * or more contributor license agreements.  See the NOTICE file
- * distributed with this work for additional information
- * regarding copyright ownership.  The ASF licenses this file
- * to you under the Apache License, Version 2.0 (the
- * "License"); you may not use this file except in compliance
- * with the License.  You may obtain a copy of the License at
- *
- *   http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing,
- * software distributed under the License is distributed on an
- * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
- * KIND, either express or implied.  See the License for the
- * specific language governing permissions and limitations
- * under the License.
- */
-// $ANTLR 3.5 src/main/resources/org/drools/compiler/lang/DRL6Lexer.g 2017-05-16 10:26:27
+// $ANTLR 3.5.2 src/main/resources/org/drools/drl/parser/DRL6Lexer.g 2024-01-03 11:41:50
 
     package org.drools.drl.parser.lang;
 
     import org.kie.internal.builder.conf.LanguageLevelOption;
     import org.drools.drl.parser.DroolsParserException;
+    import org.drools.util.StringUtils;
 
 
-    import org.antlr.runtime.*;
-
-    import java.util.List;
+import org.antlr.runtime.*;
+import java.util.Stack;
+import java.util.List;
 import java.util.ArrayList;
+import java.util.Map;
+import java.util.HashMap;
 
 @SuppressWarnings("all")
 public class DRL6Lexer extends AbstractDRLLexer {
@@ -134,7 +119,7 @@ public class DRL6Lexer extends AbstractDRLLexer {
 	    }
 	    
 	    public String normalizeString( String input ) {
-			if( input != null && (input.length() == 2 || input.length() >= 4) ) {
+	        if( input != null && (input.length() == 2 || input.length() >= 4) ) {
 	            input = input.substring( 1, input.length() - 1 ); 
 	            input = input.replaceAll( "\'", "'" );
 	            input = input.replaceAll( "\"", "\\\"" );
@@ -165,17 +150,17 @@ public class DRL6Lexer extends AbstractDRLLexer {
 	public DRL6Lexer(CharStream input, RecognizerSharedState state) {
 		super(input,state);
 	}
-	@Override public String getGrammarFileName() { return "src/main/resources/org/drools/compiler/lang/DRL6Lexer.g"; }
+	@Override public String getGrammarFileName() { return "src/main/resources/org/drools/drl/parser/DRL6Lexer.g"; }
 
 	// $ANTLR start "WS"
 	public final void mWS() throws RecognitionException {
 		try {
 			int _type = WS;
 			int _channel = DEFAULT_TOKEN_CHANNEL;
-			// src/main/resources/org/drools/compiler/lang/DRL6Lexer.g:71:9: ( ( ' ' | '\\t' | '\\f' | EOL )+ )
-			// src/main/resources/org/drools/compiler/lang/DRL6Lexer.g:71:17: ( ' ' | '\\t' | '\\f' | EOL )+
+			// src/main/resources/org/drools/drl/parser/DRL6Lexer.g:71:9: ( ( ' ' | '\\t' | '\\f' | EOL )+ )
+			// src/main/resources/org/drools/drl/parser/DRL6Lexer.g:71:17: ( ' ' | '\\t' | '\\f' | EOL )+
 			{
-			// src/main/resources/org/drools/compiler/lang/DRL6Lexer.g:71:17: ( ' ' | '\\t' | '\\f' | EOL )+
+			// src/main/resources/org/drools/drl/parser/DRL6Lexer.g:71:17: ( ' ' | '\\t' | '\\f' | EOL )+
 			int cnt1=0;
 			loop1:
 			while (true) {
@@ -205,25 +190,25 @@ public class DRL6Lexer extends AbstractDRLLexer {
 				}
 				switch (alt1) {
 				case 1 :
-					// src/main/resources/org/drools/compiler/lang/DRL6Lexer.g:71:19: ' '
+					// src/main/resources/org/drools/drl/parser/DRL6Lexer.g:71:19: ' '
 					{
 					match(' '); if (state.failed) return;
 					}
 					break;
 				case 2 :
-					// src/main/resources/org/drools/compiler/lang/DRL6Lexer.g:72:19: '\\t'
+					// src/main/resources/org/drools/drl/parser/DRL6Lexer.g:72:19: '\\t'
 					{
 					match('\t'); if (state.failed) return;
 					}
 					break;
 				case 3 :
-					// src/main/resources/org/drools/compiler/lang/DRL6Lexer.g:73:19: '\\f'
+					// src/main/resources/org/drools/drl/parser/DRL6Lexer.g:73:19: '\\f'
 					{
 					match('\f'); if (state.failed) return;
 					}
 					break;
 				case 4 :
-					// src/main/resources/org/drools/compiler/lang/DRL6Lexer.g:74:19: EOL
+					// src/main/resources/org/drools/drl/parser/DRL6Lexer.g:74:19: EOL
 					{
 					mEOL(); if (state.failed) return;
 
@@ -254,10 +239,10 @@ public class DRL6Lexer extends AbstractDRLLexer {
 	// $ANTLR start "EOL"
 	public final void mEOL() throws RecognitionException {
 		try {
-			// src/main/resources/org/drools/compiler/lang/DRL6Lexer.g:80:6: ( ( ( '\\r\\n' )=> '\\r\\n' | '\\r' | '\\n' ) )
-			// src/main/resources/org/drools/compiler/lang/DRL6Lexer.g:81:12: ( ( '\\r\\n' )=> '\\r\\n' | '\\r' | '\\n' )
+			// src/main/resources/org/drools/drl/parser/DRL6Lexer.g:80:6: ( ( ( '\\r\\n' )=> '\\r\\n' | '\\r' | '\\n' ) )
+			// src/main/resources/org/drools/drl/parser/DRL6Lexer.g:81:12: ( ( '\\r\\n' )=> '\\r\\n' | '\\r' | '\\n' )
 			{
-			// src/main/resources/org/drools/compiler/lang/DRL6Lexer.g:81:12: ( ( '\\r\\n' )=> '\\r\\n' | '\\r' | '\\n' )
+			// src/main/resources/org/drools/drl/parser/DRL6Lexer.g:81:12: ( ( '\\r\\n' )=> '\\r\\n' | '\\r' | '\\n' )
 			int alt2=3;
 			int LA2_0 = input.LA(1);
 			if ( (LA2_0=='\r') ) {
@@ -280,20 +265,20 @@ public class DRL6Lexer extends AbstractDRLLexer {
 
 			switch (alt2) {
 				case 1 :
-					// src/main/resources/org/drools/compiler/lang/DRL6Lexer.g:81:20: ( '\\r\\n' )=> '\\r\\n'
+					// src/main/resources/org/drools/drl/parser/DRL6Lexer.g:81:20: ( '\\r\\n' )=> '\\r\\n'
 					{
 					match("\r\n"); if (state.failed) return;
 
 					}
 					break;
 				case 2 :
-					// src/main/resources/org/drools/compiler/lang/DRL6Lexer.g:82:25: '\\r'
+					// src/main/resources/org/drools/drl/parser/DRL6Lexer.g:82:25: '\\r'
 					{
 					match('\r'); if (state.failed) return;
 					}
 					break;
 				case 3 :
-					// src/main/resources/org/drools/compiler/lang/DRL6Lexer.g:83:25: '\\n'
+					// src/main/resources/org/drools/drl/parser/DRL6Lexer.g:83:25: '\\n'
 					{
 					match('\n'); if (state.failed) return;
 					}
@@ -315,14 +300,14 @@ public class DRL6Lexer extends AbstractDRLLexer {
 		try {
 			int _type = FLOAT;
 			int _channel = DEFAULT_TOKEN_CHANNEL;
-			// src/main/resources/org/drools/compiler/lang/DRL6Lexer.g:88:5: ( ( '0' .. '9' )+ '.' ( '0' .. '9' )* ( Exponent )? ( FloatTypeSuffix )? | '.' ( '0' .. '9' )+ ( Exponent )? ( FloatTypeSuffix )? | ( '0' .. '9' )+ Exponent ( FloatTypeSuffix )? | ( '0' .. '9' )+ FloatTypeSuffix )
+			// src/main/resources/org/drools/drl/parser/DRL6Lexer.g:88:5: ( ( '0' .. '9' )+ '.' ( '0' .. '9' )* ( Exponent )? ( FloatTypeSuffix )? | '.' ( '0' .. '9' )+ ( Exponent )? ( FloatTypeSuffix )? | ( '0' .. '9' )+ Exponent ( FloatTypeSuffix )? | ( '0' .. '9' )+ FloatTypeSuffix )
 			int alt13=4;
 			alt13 = dfa13.predict(input);
 			switch (alt13) {
 				case 1 :
-					// src/main/resources/org/drools/compiler/lang/DRL6Lexer.g:88:9: ( '0' .. '9' )+ '.' ( '0' .. '9' )* ( Exponent )? ( FloatTypeSuffix )?
+					// src/main/resources/org/drools/drl/parser/DRL6Lexer.g:88:9: ( '0' .. '9' )+ '.' ( '0' .. '9' )* ( Exponent )? ( FloatTypeSuffix )?
 					{
-					// src/main/resources/org/drools/compiler/lang/DRL6Lexer.g:88:9: ( '0' .. '9' )+
+					// src/main/resources/org/drools/drl/parser/DRL6Lexer.g:88:9: ( '0' .. '9' )+
 					int cnt3=0;
 					loop3:
 					while (true) {
@@ -334,7 +319,7 @@ public class DRL6Lexer extends AbstractDRLLexer {
 
 						switch (alt3) {
 						case 1 :
-							// src/main/resources/org/drools/compiler/lang/DRL6Lexer.g:
+							// src/main/resources/org/drools/drl/parser/DRL6Lexer.g:
 							{
 							if ( (input.LA(1) >= '0' && input.LA(1) <= '9') ) {
 								input.consume();
@@ -359,7 +344,7 @@ public class DRL6Lexer extends AbstractDRLLexer {
 					}
 
 					match('.'); if (state.failed) return;
-					// src/main/resources/org/drools/compiler/lang/DRL6Lexer.g:88:25: ( '0' .. '9' )*
+					// src/main/resources/org/drools/drl/parser/DRL6Lexer.g:88:25: ( '0' .. '9' )*
 					loop4:
 					while (true) {
 						int alt4=2;
@@ -370,7 +355,7 @@ public class DRL6Lexer extends AbstractDRLLexer {
 
 						switch (alt4) {
 						case 1 :
-							// src/main/resources/org/drools/compiler/lang/DRL6Lexer.g:
+							// src/main/resources/org/drools/drl/parser/DRL6Lexer.g:
 							{
 							if ( (input.LA(1) >= '0' && input.LA(1) <= '9') ) {
 								input.consume();
@@ -390,7 +375,7 @@ public class DRL6Lexer extends AbstractDRLLexer {
 						}
 					}
 
-					// src/main/resources/org/drools/compiler/lang/DRL6Lexer.g:88:37: ( Exponent )?
+					// src/main/resources/org/drools/drl/parser/DRL6Lexer.g:88:37: ( Exponent )?
 					int alt5=2;
 					int LA5_0 = input.LA(1);
 					if ( (LA5_0=='E'||LA5_0=='e') ) {
@@ -398,7 +383,7 @@ public class DRL6Lexer extends AbstractDRLLexer {
 					}
 					switch (alt5) {
 						case 1 :
-							// src/main/resources/org/drools/compiler/lang/DRL6Lexer.g:88:37: Exponent
+							// src/main/resources/org/drools/drl/parser/DRL6Lexer.g:88:37: Exponent
 							{
 							mExponent(); if (state.failed) return;
 
@@ -407,7 +392,7 @@ public class DRL6Lexer extends AbstractDRLLexer {
 
 					}
 
-					// src/main/resources/org/drools/compiler/lang/DRL6Lexer.g:88:47: ( FloatTypeSuffix )?
+					// src/main/resources/org/drools/drl/parser/DRL6Lexer.g:88:47: ( FloatTypeSuffix )?
 					int alt6=2;
 					int LA6_0 = input.LA(1);
 					if ( (LA6_0=='B'||LA6_0=='D'||LA6_0=='F'||LA6_0=='d'||LA6_0=='f') ) {
@@ -415,7 +400,7 @@ public class DRL6Lexer extends AbstractDRLLexer {
 					}
 					switch (alt6) {
 						case 1 :
-							// src/main/resources/org/drools/compiler/lang/DRL6Lexer.g:
+							// src/main/resources/org/drools/drl/parser/DRL6Lexer.g:
 							{
 							if ( input.LA(1)=='B'||input.LA(1)=='D'||input.LA(1)=='F'||input.LA(1)=='d'||input.LA(1)=='f' ) {
 								input.consume();
@@ -435,10 +420,10 @@ public class DRL6Lexer extends AbstractDRLLexer {
 					}
 					break;
 				case 2 :
-					// src/main/resources/org/drools/compiler/lang/DRL6Lexer.g:89:9: '.' ( '0' .. '9' )+ ( Exponent )? ( FloatTypeSuffix )?
+					// src/main/resources/org/drools/drl/parser/DRL6Lexer.g:89:9: '.' ( '0' .. '9' )+ ( Exponent )? ( FloatTypeSuffix )?
 					{
 					match('.'); if (state.failed) return;
-					// src/main/resources/org/drools/compiler/lang/DRL6Lexer.g:89:13: ( '0' .. '9' )+
+					// src/main/resources/org/drools/drl/parser/DRL6Lexer.g:89:13: ( '0' .. '9' )+
 					int cnt7=0;
 					loop7:
 					while (true) {
@@ -450,7 +435,7 @@ public class DRL6Lexer extends AbstractDRLLexer {
 
 						switch (alt7) {
 						case 1 :
-							// src/main/resources/org/drools/compiler/lang/DRL6Lexer.g:
+							// src/main/resources/org/drools/drl/parser/DRL6Lexer.g:
 							{
 							if ( (input.LA(1) >= '0' && input.LA(1) <= '9') ) {
 								input.consume();
@@ -474,7 +459,7 @@ public class DRL6Lexer extends AbstractDRLLexer {
 						cnt7++;
 					}
 
-					// src/main/resources/org/drools/compiler/lang/DRL6Lexer.g:89:25: ( Exponent )?
+					// src/main/resources/org/drools/drl/parser/DRL6Lexer.g:89:25: ( Exponent )?
 					int alt8=2;
 					int LA8_0 = input.LA(1);
 					if ( (LA8_0=='E'||LA8_0=='e') ) {
@@ -482,7 +467,7 @@ public class DRL6Lexer extends AbstractDRLLexer {
 					}
 					switch (alt8) {
 						case 1 :
-							// src/main/resources/org/drools/compiler/lang/DRL6Lexer.g:89:25: Exponent
+							// src/main/resources/org/drools/drl/parser/DRL6Lexer.g:89:25: Exponent
 							{
 							mExponent(); if (state.failed) return;
 
@@ -491,7 +476,7 @@ public class DRL6Lexer extends AbstractDRLLexer {
 
 					}
 
-					// src/main/resources/org/drools/compiler/lang/DRL6Lexer.g:89:35: ( FloatTypeSuffix )?
+					// src/main/resources/org/drools/drl/parser/DRL6Lexer.g:89:35: ( FloatTypeSuffix )?
 					int alt9=2;
 					int LA9_0 = input.LA(1);
 					if ( (LA9_0=='B'||LA9_0=='D'||LA9_0=='F'||LA9_0=='d'||LA9_0=='f') ) {
@@ -499,7 +484,7 @@ public class DRL6Lexer extends AbstractDRLLexer {
 					}
 					switch (alt9) {
 						case 1 :
-							// src/main/resources/org/drools/compiler/lang/DRL6Lexer.g:
+							// src/main/resources/org/drools/drl/parser/DRL6Lexer.g:
 							{
 							if ( input.LA(1)=='B'||input.LA(1)=='D'||input.LA(1)=='F'||input.LA(1)=='d'||input.LA(1)=='f' ) {
 								input.consume();
@@ -519,9 +504,9 @@ public class DRL6Lexer extends AbstractDRLLexer {
 					}
 					break;
 				case 3 :
-					// src/main/resources/org/drools/compiler/lang/DRL6Lexer.g:90:9: ( '0' .. '9' )+ Exponent ( FloatTypeSuffix )?
+					// src/main/resources/org/drools/drl/parser/DRL6Lexer.g:90:9: ( '0' .. '9' )+ Exponent ( FloatTypeSuffix )?
 					{
-					// src/main/resources/org/drools/compiler/lang/DRL6Lexer.g:90:9: ( '0' .. '9' )+
+					// src/main/resources/org/drools/drl/parser/DRL6Lexer.g:90:9: ( '0' .. '9' )+
 					int cnt10=0;
 					loop10:
 					while (true) {
@@ -533,7 +518,7 @@ public class DRL6Lexer extends AbstractDRLLexer {
 
 						switch (alt10) {
 						case 1 :
-							// src/main/resources/org/drools/compiler/lang/DRL6Lexer.g:
+							// src/main/resources/org/drools/drl/parser/DRL6Lexer.g:
 							{
 							if ( (input.LA(1) >= '0' && input.LA(1) <= '9') ) {
 								input.consume();
@@ -559,7 +544,7 @@ public class DRL6Lexer extends AbstractDRLLexer {
 
 					mExponent(); if (state.failed) return;
 
-					// src/main/resources/org/drools/compiler/lang/DRL6Lexer.g:90:30: ( FloatTypeSuffix )?
+					// src/main/resources/org/drools/drl/parser/DRL6Lexer.g:90:30: ( FloatTypeSuffix )?
 					int alt11=2;
 					int LA11_0 = input.LA(1);
 					if ( (LA11_0=='B'||LA11_0=='D'||LA11_0=='F'||LA11_0=='d'||LA11_0=='f') ) {
@@ -567,7 +552,7 @@ public class DRL6Lexer extends AbstractDRLLexer {
 					}
 					switch (alt11) {
 						case 1 :
-							// src/main/resources/org/drools/compiler/lang/DRL6Lexer.g:
+							// src/main/resources/org/drools/drl/parser/DRL6Lexer.g:
 							{
 							if ( input.LA(1)=='B'||input.LA(1)=='D'||input.LA(1)=='F'||input.LA(1)=='d'||input.LA(1)=='f' ) {
 								input.consume();
@@ -587,9 +572,9 @@ public class DRL6Lexer extends AbstractDRLLexer {
 					}
 					break;
 				case 4 :
-					// src/main/resources/org/drools/compiler/lang/DRL6Lexer.g:91:9: ( '0' .. '9' )+ FloatTypeSuffix
+					// src/main/resources/org/drools/drl/parser/DRL6Lexer.g:91:9: ( '0' .. '9' )+ FloatTypeSuffix
 					{
-					// src/main/resources/org/drools/compiler/lang/DRL6Lexer.g:91:9: ( '0' .. '9' )+
+					// src/main/resources/org/drools/drl/parser/DRL6Lexer.g:91:9: ( '0' .. '9' )+
 					int cnt12=0;
 					loop12:
 					while (true) {
@@ -601,7 +586,7 @@ public class DRL6Lexer extends AbstractDRLLexer {
 
 						switch (alt12) {
 						case 1 :
-							// src/main/resources/org/drools/compiler/lang/DRL6Lexer.g:
+							// src/main/resources/org/drools/drl/parser/DRL6Lexer.g:
 							{
 							if ( (input.LA(1) >= '0' && input.LA(1) <= '9') ) {
 								input.consume();
@@ -643,8 +628,8 @@ public class DRL6Lexer extends AbstractDRLLexer {
 	// $ANTLR start "Exponent"
 	public final void mExponent() throws RecognitionException {
 		try {
-			// src/main/resources/org/drools/compiler/lang/DRL6Lexer.g:95:10: ( ( 'e' | 'E' ) ( '+' | '-' )? ( '0' .. '9' )+ )
-			// src/main/resources/org/drools/compiler/lang/DRL6Lexer.g:95:12: ( 'e' | 'E' ) ( '+' | '-' )? ( '0' .. '9' )+
+			// src/main/resources/org/drools/drl/parser/DRL6Lexer.g:95:10: ( ( 'e' | 'E' ) ( '+' | '-' )? ( '0' .. '9' )+ )
+			// src/main/resources/org/drools/drl/parser/DRL6Lexer.g:95:12: ( 'e' | 'E' ) ( '+' | '-' )? ( '0' .. '9' )+
 			{
 			if ( input.LA(1)=='E'||input.LA(1)=='e' ) {
 				input.consume();
@@ -656,7 +641,7 @@ public class DRL6Lexer extends AbstractDRLLexer {
 				recover(mse);
 				throw mse;
 			}
-			// src/main/resources/org/drools/compiler/lang/DRL6Lexer.g:95:22: ( '+' | '-' )?
+			// src/main/resources/org/drools/drl/parser/DRL6Lexer.g:95:22: ( '+' | '-' )?
 			int alt14=2;
 			int LA14_0 = input.LA(1);
 			if ( (LA14_0=='+'||LA14_0=='-') ) {
@@ -664,7 +649,7 @@ public class DRL6Lexer extends AbstractDRLLexer {
 			}
 			switch (alt14) {
 				case 1 :
-					// src/main/resources/org/drools/compiler/lang/DRL6Lexer.g:
+					// src/main/resources/org/drools/drl/parser/DRL6Lexer.g:
 					{
 					if ( input.LA(1)=='+'||input.LA(1)=='-' ) {
 						input.consume();
@@ -681,7 +666,7 @@ public class DRL6Lexer extends AbstractDRLLexer {
 
 			}
 
-			// src/main/resources/org/drools/compiler/lang/DRL6Lexer.g:95:33: ( '0' .. '9' )+
+			// src/main/resources/org/drools/drl/parser/DRL6Lexer.g:95:33: ( '0' .. '9' )+
 			int cnt15=0;
 			loop15:
 			while (true) {
@@ -693,7 +678,7 @@ public class DRL6Lexer extends AbstractDRLLexer {
 
 				switch (alt15) {
 				case 1 :
-					// src/main/resources/org/drools/compiler/lang/DRL6Lexer.g:
+					// src/main/resources/org/drools/drl/parser/DRL6Lexer.g:
 					{
 					if ( (input.LA(1) >= '0' && input.LA(1) <= '9') ) {
 						input.consume();
@@ -729,8 +714,8 @@ public class DRL6Lexer extends AbstractDRLLexer {
 	// $ANTLR start "FloatTypeSuffix"
 	public final void mFloatTypeSuffix() throws RecognitionException {
 		try {
-			// src/main/resources/org/drools/compiler/lang/DRL6Lexer.g:98:17: ( ( 'f' | 'F' | 'd' | 'D' | 'B' ) )
-			// src/main/resources/org/drools/compiler/lang/DRL6Lexer.g:
+			// src/main/resources/org/drools/drl/parser/DRL6Lexer.g:98:17: ( ( 'f' | 'F' | 'd' | 'D' | 'B' ) )
+			// src/main/resources/org/drools/drl/parser/DRL6Lexer.g:
 			{
 			if ( input.LA(1)=='B'||input.LA(1)=='D'||input.LA(1)=='F'||input.LA(1)=='d'||input.LA(1)=='f' ) {
 				input.consume();
@@ -756,8 +741,8 @@ public class DRL6Lexer extends AbstractDRLLexer {
 		try {
 			int _type = HEX;
 			int _channel = DEFAULT_TOKEN_CHANNEL;
-			// src/main/resources/org/drools/compiler/lang/DRL6Lexer.g:100:6: ( '0' ( 'x' | 'X' ) ( HexDigit )+ ( IntegerTypeSuffix )? )
-			// src/main/resources/org/drools/compiler/lang/DRL6Lexer.g:100:8: '0' ( 'x' | 'X' ) ( HexDigit )+ ( IntegerTypeSuffix )?
+			// src/main/resources/org/drools/drl/parser/DRL6Lexer.g:100:6: ( '0' ( 'x' | 'X' ) ( HexDigit )+ ( IntegerTypeSuffix )? )
+			// src/main/resources/org/drools/drl/parser/DRL6Lexer.g:100:8: '0' ( 'x' | 'X' ) ( HexDigit )+ ( IntegerTypeSuffix )?
 			{
 			match('0'); if (state.failed) return;
 			if ( input.LA(1)=='X'||input.LA(1)=='x' ) {
@@ -770,7 +755,7 @@ public class DRL6Lexer extends AbstractDRLLexer {
 				recover(mse);
 				throw mse;
 			}
-			// src/main/resources/org/drools/compiler/lang/DRL6Lexer.g:100:22: ( HexDigit )+
+			// src/main/resources/org/drools/drl/parser/DRL6Lexer.g:100:22: ( HexDigit )+
 			int cnt16=0;
 			loop16:
 			while (true) {
@@ -782,7 +767,7 @@ public class DRL6Lexer extends AbstractDRLLexer {
 
 				switch (alt16) {
 				case 1 :
-					// src/main/resources/org/drools/compiler/lang/DRL6Lexer.g:
+					// src/main/resources/org/drools/drl/parser/DRL6Lexer.g:
 					{
 					if ( (input.LA(1) >= '0' && input.LA(1) <= '9')||(input.LA(1) >= 'A' && input.LA(1) <= 'F')||(input.LA(1) >= 'a' && input.LA(1) <= 'f') ) {
 						input.consume();
@@ -806,7 +791,7 @@ public class DRL6Lexer extends AbstractDRLLexer {
 				cnt16++;
 			}
 
-			// src/main/resources/org/drools/compiler/lang/DRL6Lexer.g:100:32: ( IntegerTypeSuffix )?
+			// src/main/resources/org/drools/drl/parser/DRL6Lexer.g:100:32: ( IntegerTypeSuffix )?
 			int alt17=2;
 			int LA17_0 = input.LA(1);
 			if ( (LA17_0=='I'||LA17_0=='L'||LA17_0=='l') ) {
@@ -814,7 +799,7 @@ public class DRL6Lexer extends AbstractDRLLexer {
 			}
 			switch (alt17) {
 				case 1 :
-					// src/main/resources/org/drools/compiler/lang/DRL6Lexer.g:
+					// src/main/resources/org/drools/drl/parser/DRL6Lexer.g:
 					{
 					if ( input.LA(1)=='I'||input.LA(1)=='L'||input.LA(1)=='l' ) {
 						input.consume();
@@ -847,10 +832,10 @@ public class DRL6Lexer extends AbstractDRLLexer {
 		try {
 			int _type = DECIMAL;
 			int _channel = DEFAULT_TOKEN_CHANNEL;
-			// src/main/resources/org/drools/compiler/lang/DRL6Lexer.g:102:9: ( ( '0' .. '9' )+ ( IntegerTypeSuffix )? )
-			// src/main/resources/org/drools/compiler/lang/DRL6Lexer.g:102:11: ( '0' .. '9' )+ ( IntegerTypeSuffix )?
+			// src/main/resources/org/drools/drl/parser/DRL6Lexer.g:102:9: ( ( '0' .. '9' )+ ( IntegerTypeSuffix )? )
+			// src/main/resources/org/drools/drl/parser/DRL6Lexer.g:102:11: ( '0' .. '9' )+ ( IntegerTypeSuffix )?
 			{
-			// src/main/resources/org/drools/compiler/lang/DRL6Lexer.g:102:11: ( '0' .. '9' )+
+			// src/main/resources/org/drools/drl/parser/DRL6Lexer.g:102:11: ( '0' .. '9' )+
 			int cnt18=0;
 			loop18:
 			while (true) {
@@ -862,7 +847,7 @@ public class DRL6Lexer extends AbstractDRLLexer {
 
 				switch (alt18) {
 				case 1 :
-					// src/main/resources/org/drools/compiler/lang/DRL6Lexer.g:
+					// src/main/resources/org/drools/drl/parser/DRL6Lexer.g:
 					{
 					if ( (input.LA(1) >= '0' && input.LA(1) <= '9') ) {
 						input.consume();
@@ -886,7 +871,7 @@ public class DRL6Lexer extends AbstractDRLLexer {
 				cnt18++;
 			}
 
-			// src/main/resources/org/drools/compiler/lang/DRL6Lexer.g:102:23: ( IntegerTypeSuffix )?
+			// src/main/resources/org/drools/drl/parser/DRL6Lexer.g:102:23: ( IntegerTypeSuffix )?
 			int alt19=2;
 			int LA19_0 = input.LA(1);
 			if ( (LA19_0=='I'||LA19_0=='L'||LA19_0=='l') ) {
@@ -894,7 +879,7 @@ public class DRL6Lexer extends AbstractDRLLexer {
 			}
 			switch (alt19) {
 				case 1 :
-					// src/main/resources/org/drools/compiler/lang/DRL6Lexer.g:
+					// src/main/resources/org/drools/drl/parser/DRL6Lexer.g:
 					{
 					if ( input.LA(1)=='I'||input.LA(1)=='L'||input.LA(1)=='l' ) {
 						input.consume();
@@ -925,8 +910,8 @@ public class DRL6Lexer extends AbstractDRLLexer {
 	// $ANTLR start "IntegerTypeSuffix"
 	public final void mIntegerTypeSuffix() throws RecognitionException {
 		try {
-			// src/main/resources/org/drools/compiler/lang/DRL6Lexer.g:105:19: ( ( 'l' | 'L' | 'I' ) )
-			// src/main/resources/org/drools/compiler/lang/DRL6Lexer.g:
+			// src/main/resources/org/drools/drl/parser/DRL6Lexer.g:105:19: ( ( 'l' | 'L' | 'I' ) )
+			// src/main/resources/org/drools/drl/parser/DRL6Lexer.g:
 			{
 			if ( input.LA(1)=='I'||input.LA(1)=='L'||input.LA(1)=='l' ) {
 				input.consume();
@@ -952,7 +937,7 @@ public class DRL6Lexer extends AbstractDRLLexer {
 		try {
 			int _type = STRING;
 			int _channel = DEFAULT_TOKEN_CHANNEL;
-			// src/main/resources/org/drools/compiler/lang/DRL6Lexer.g:108:5: ( ( '\"' ( EscapeSequence |~ ( '\\\\' | '\"' ) )* '\"' ) | ( '\\'' ( EscapeSequence |~ ( '\\\\' | '\\'' ) )* '\\'' ) )
+			// src/main/resources/org/drools/drl/parser/DRL6Lexer.g:108:5: ( ( '\"' ( EscapeSequence |~ ( '\\\\' | '\"' ) )* '\"' ) | ( '\\'' ( EscapeSequence |~ ( '\\\\' | '\\'' ) )* '\\'' ) )
 			int alt22=2;
 			int LA22_0 = input.LA(1);
 			if ( (LA22_0=='\"') ) {
@@ -971,13 +956,13 @@ public class DRL6Lexer extends AbstractDRLLexer {
 
 			switch (alt22) {
 				case 1 :
-					// src/main/resources/org/drools/compiler/lang/DRL6Lexer.g:108:8: ( '\"' ( EscapeSequence |~ ( '\\\\' | '\"' ) )* '\"' )
+					// src/main/resources/org/drools/drl/parser/DRL6Lexer.g:108:8: ( '\"' ( EscapeSequence |~ ( '\\\\' | '\"' ) )* '\"' )
 					{
-					// src/main/resources/org/drools/compiler/lang/DRL6Lexer.g:108:8: ( '\"' ( EscapeSequence |~ ( '\\\\' | '\"' ) )* '\"' )
-					// src/main/resources/org/drools/compiler/lang/DRL6Lexer.g:108:9: '\"' ( EscapeSequence |~ ( '\\\\' | '\"' ) )* '\"'
+					// src/main/resources/org/drools/drl/parser/DRL6Lexer.g:108:8: ( '\"' ( EscapeSequence |~ ( '\\\\' | '\"' ) )* '\"' )
+					// src/main/resources/org/drools/drl/parser/DRL6Lexer.g:108:9: '\"' ( EscapeSequence |~ ( '\\\\' | '\"' ) )* '\"'
 					{
 					match('\"'); if (state.failed) return;
-					// src/main/resources/org/drools/compiler/lang/DRL6Lexer.g:108:13: ( EscapeSequence |~ ( '\\\\' | '\"' ) )*
+					// src/main/resources/org/drools/drl/parser/DRL6Lexer.g:108:13: ( EscapeSequence |~ ( '\\\\' | '\"' ) )*
 					loop20:
 					while (true) {
 						int alt20=3;
@@ -991,14 +976,14 @@ public class DRL6Lexer extends AbstractDRLLexer {
 
 						switch (alt20) {
 						case 1 :
-							// src/main/resources/org/drools/compiler/lang/DRL6Lexer.g:108:15: EscapeSequence
+							// src/main/resources/org/drools/drl/parser/DRL6Lexer.g:108:15: EscapeSequence
 							{
 							mEscapeSequence(); if (state.failed) return;
 
 							}
 							break;
 						case 2 :
-							// src/main/resources/org/drools/compiler/lang/DRL6Lexer.g:108:32: ~ ( '\\\\' | '\"' )
+							// src/main/resources/org/drools/drl/parser/DRL6Lexer.g:108:32: ~ ( '\\\\' | '\"' )
 							{
 							if ( (input.LA(1) >= '\u0000' && input.LA(1) <= '!')||(input.LA(1) >= '#' && input.LA(1) <= '[')||(input.LA(1) >= ']' && input.LA(1) <= '\uFFFF') ) {
 								input.consume();
@@ -1024,13 +1009,13 @@ public class DRL6Lexer extends AbstractDRLLexer {
 					}
 					break;
 				case 2 :
-					// src/main/resources/org/drools/compiler/lang/DRL6Lexer.g:109:8: ( '\\'' ( EscapeSequence |~ ( '\\\\' | '\\'' ) )* '\\'' )
+					// src/main/resources/org/drools/drl/parser/DRL6Lexer.g:109:8: ( '\\'' ( EscapeSequence |~ ( '\\\\' | '\\'' ) )* '\\'' )
 					{
-					// src/main/resources/org/drools/compiler/lang/DRL6Lexer.g:109:8: ( '\\'' ( EscapeSequence |~ ( '\\\\' | '\\'' ) )* '\\'' )
-					// src/main/resources/org/drools/compiler/lang/DRL6Lexer.g:109:9: '\\'' ( EscapeSequence |~ ( '\\\\' | '\\'' ) )* '\\''
+					// src/main/resources/org/drools/drl/parser/DRL6Lexer.g:109:8: ( '\\'' ( EscapeSequence |~ ( '\\\\' | '\\'' ) )* '\\'' )
+					// src/main/resources/org/drools/drl/parser/DRL6Lexer.g:109:9: '\\'' ( EscapeSequence |~ ( '\\\\' | '\\'' ) )* '\\''
 					{
 					match('\''); if (state.failed) return;
-					// src/main/resources/org/drools/compiler/lang/DRL6Lexer.g:109:14: ( EscapeSequence |~ ( '\\\\' | '\\'' ) )*
+					// src/main/resources/org/drools/drl/parser/DRL6Lexer.g:109:14: ( EscapeSequence |~ ( '\\\\' | '\\'' ) )*
 					loop21:
 					while (true) {
 						int alt21=3;
@@ -1044,14 +1029,14 @@ public class DRL6Lexer extends AbstractDRLLexer {
 
 						switch (alt21) {
 						case 1 :
-							// src/main/resources/org/drools/compiler/lang/DRL6Lexer.g:109:16: EscapeSequence
+							// src/main/resources/org/drools/drl/parser/DRL6Lexer.g:109:16: EscapeSequence
 							{
 							mEscapeSequence(); if (state.failed) return;
 
 							}
 							break;
 						case 2 :
-							// src/main/resources/org/drools/compiler/lang/DRL6Lexer.g:109:33: ~ ( '\\\\' | '\\'' )
+							// src/main/resources/org/drools/drl/parser/DRL6Lexer.g:109:33: ~ ( '\\\\' | '\\'' )
 							{
 							if ( (input.LA(1) >= '\u0000' && input.LA(1) <= '&')||(input.LA(1) >= '(' && input.LA(1) <= '[')||(input.LA(1) >= ']' && input.LA(1) <= '\uFFFF') ) {
 								input.consume();
@@ -1093,17 +1078,17 @@ public class DRL6Lexer extends AbstractDRLLexer {
 		try {
 			int _type = TIME_INTERVAL;
 			int _channel = DEFAULT_TOKEN_CHANNEL;
-			// src/main/resources/org/drools/compiler/lang/DRL6Lexer.g:114:5: ( ( ( '0' .. '9' )+ 'd' ) ( ( '0' .. '9' )+ 'h' )? ( ( '0' .. '9' )+ 'm' )? ( ( '0' .. '9' )+ 's' )? ( ( '0' .. '9' )+ ( 'ms' )? )? | ( ( '0' .. '9' )+ 'h' ) ( ( '0' .. '9' )+ 'm' )? ( ( '0' .. '9' )+ 's' )? ( ( '0' .. '9' )+ ( 'ms' )? )? | ( ( '0' .. '9' )+ 'm' ) ( ( '0' .. '9' )+ 's' )? ( ( '0' .. '9' )+ ( 'ms' )? )? | ( ( '0' .. '9' )+ 's' ) ( ( '0' .. '9' )+ ( 'ms' )? )? | ( ( '0' .. '9' )+ ( 'ms' )? ) )
+			// src/main/resources/org/drools/drl/parser/DRL6Lexer.g:114:5: ( ( ( '0' .. '9' )+ 'd' ) ( ( '0' .. '9' )+ 'h' )? ( ( '0' .. '9' )+ 'm' )? ( ( '0' .. '9' )+ 's' )? ( ( '0' .. '9' )+ ( 'ms' )? )? | ( ( '0' .. '9' )+ 'h' ) ( ( '0' .. '9' )+ 'm' )? ( ( '0' .. '9' )+ 's' )? ( ( '0' .. '9' )+ ( 'ms' )? )? | ( ( '0' .. '9' )+ 'm' ) ( ( '0' .. '9' )+ 's' )? ( ( '0' .. '9' )+ ( 'ms' )? )? | ( ( '0' .. '9' )+ 's' ) ( ( '0' .. '9' )+ ( 'ms' )? )? | ( ( '0' .. '9' )+ ( 'ms' )? ) )
 			int alt53=5;
 			alt53 = dfa53.predict(input);
 			switch (alt53) {
 				case 1 :
-					// src/main/resources/org/drools/compiler/lang/DRL6Lexer.g:114:7: ( ( '0' .. '9' )+ 'd' ) ( ( '0' .. '9' )+ 'h' )? ( ( '0' .. '9' )+ 'm' )? ( ( '0' .. '9' )+ 's' )? ( ( '0' .. '9' )+ ( 'ms' )? )?
+					// src/main/resources/org/drools/drl/parser/DRL6Lexer.g:114:7: ( ( '0' .. '9' )+ 'd' ) ( ( '0' .. '9' )+ 'h' )? ( ( '0' .. '9' )+ 'm' )? ( ( '0' .. '9' )+ 's' )? ( ( '0' .. '9' )+ ( 'ms' )? )?
 					{
-					// src/main/resources/org/drools/compiler/lang/DRL6Lexer.g:114:7: ( ( '0' .. '9' )+ 'd' )
-					// src/main/resources/org/drools/compiler/lang/DRL6Lexer.g:114:8: ( '0' .. '9' )+ 'd'
+					// src/main/resources/org/drools/drl/parser/DRL6Lexer.g:114:7: ( ( '0' .. '9' )+ 'd' )
+					// src/main/resources/org/drools/drl/parser/DRL6Lexer.g:114:8: ( '0' .. '9' )+ 'd'
 					{
-					// src/main/resources/org/drools/compiler/lang/DRL6Lexer.g:114:8: ( '0' .. '9' )+
+					// src/main/resources/org/drools/drl/parser/DRL6Lexer.g:114:8: ( '0' .. '9' )+
 					int cnt23=0;
 					loop23:
 					while (true) {
@@ -1115,7 +1100,7 @@ public class DRL6Lexer extends AbstractDRLLexer {
 
 						switch (alt23) {
 						case 1 :
-							// src/main/resources/org/drools/compiler/lang/DRL6Lexer.g:
+							// src/main/resources/org/drools/drl/parser/DRL6Lexer.g:
 							{
 							if ( (input.LA(1) >= '0' && input.LA(1) <= '9') ) {
 								input.consume();
@@ -1142,14 +1127,14 @@ public class DRL6Lexer extends AbstractDRLLexer {
 					match('d'); if (state.failed) return;
 					}
 
-					// src/main/resources/org/drools/compiler/lang/DRL6Lexer.g:114:25: ( ( '0' .. '9' )+ 'h' )?
+					// src/main/resources/org/drools/drl/parser/DRL6Lexer.g:114:25: ( ( '0' .. '9' )+ 'h' )?
 					int alt25=2;
 					alt25 = dfa25.predict(input);
 					switch (alt25) {
 						case 1 :
-							// src/main/resources/org/drools/compiler/lang/DRL6Lexer.g:114:26: ( '0' .. '9' )+ 'h'
+							// src/main/resources/org/drools/drl/parser/DRL6Lexer.g:114:26: ( '0' .. '9' )+ 'h'
 							{
-							// src/main/resources/org/drools/compiler/lang/DRL6Lexer.g:114:26: ( '0' .. '9' )+
+							// src/main/resources/org/drools/drl/parser/DRL6Lexer.g:114:26: ( '0' .. '9' )+
 							int cnt24=0;
 							loop24:
 							while (true) {
@@ -1161,7 +1146,7 @@ public class DRL6Lexer extends AbstractDRLLexer {
 
 								switch (alt24) {
 								case 1 :
-									// src/main/resources/org/drools/compiler/lang/DRL6Lexer.g:
+									// src/main/resources/org/drools/drl/parser/DRL6Lexer.g:
 									{
 									if ( (input.LA(1) >= '0' && input.LA(1) <= '9') ) {
 										input.consume();
@@ -1191,14 +1176,14 @@ public class DRL6Lexer extends AbstractDRLLexer {
 
 					}
 
-					// src/main/resources/org/drools/compiler/lang/DRL6Lexer.g:114:43: ( ( '0' .. '9' )+ 'm' )?
+					// src/main/resources/org/drools/drl/parser/DRL6Lexer.g:114:43: ( ( '0' .. '9' )+ 'm' )?
 					int alt27=2;
 					alt27 = dfa27.predict(input);
 					switch (alt27) {
 						case 1 :
-							// src/main/resources/org/drools/compiler/lang/DRL6Lexer.g:114:44: ( '0' .. '9' )+ 'm'
+							// src/main/resources/org/drools/drl/parser/DRL6Lexer.g:114:44: ( '0' .. '9' )+ 'm'
 							{
-							// src/main/resources/org/drools/compiler/lang/DRL6Lexer.g:114:44: ( '0' .. '9' )+
+							// src/main/resources/org/drools/drl/parser/DRL6Lexer.g:114:44: ( '0' .. '9' )+
 							int cnt26=0;
 							loop26:
 							while (true) {
@@ -1210,7 +1195,7 @@ public class DRL6Lexer extends AbstractDRLLexer {
 
 								switch (alt26) {
 								case 1 :
-									// src/main/resources/org/drools/compiler/lang/DRL6Lexer.g:
+									// src/main/resources/org/drools/drl/parser/DRL6Lexer.g:
 									{
 									if ( (input.LA(1) >= '0' && input.LA(1) <= '9') ) {
 										input.consume();
@@ -1240,14 +1225,14 @@ public class DRL6Lexer extends AbstractDRLLexer {
 
 					}
 
-					// src/main/resources/org/drools/compiler/lang/DRL6Lexer.g:114:61: ( ( '0' .. '9' )+ 's' )?
+					// src/main/resources/org/drools/drl/parser/DRL6Lexer.g:114:61: ( ( '0' .. '9' )+ 's' )?
 					int alt29=2;
 					alt29 = dfa29.predict(input);
 					switch (alt29) {
 						case 1 :
-							// src/main/resources/org/drools/compiler/lang/DRL6Lexer.g:114:62: ( '0' .. '9' )+ 's'
+							// src/main/resources/org/drools/drl/parser/DRL6Lexer.g:114:62: ( '0' .. '9' )+ 's'
 							{
-							// src/main/resources/org/drools/compiler/lang/DRL6Lexer.g:114:62: ( '0' .. '9' )+
+							// src/main/resources/org/drools/drl/parser/DRL6Lexer.g:114:62: ( '0' .. '9' )+
 							int cnt28=0;
 							loop28:
 							while (true) {
@@ -1259,7 +1244,7 @@ public class DRL6Lexer extends AbstractDRLLexer {
 
 								switch (alt28) {
 								case 1 :
-									// src/main/resources/org/drools/compiler/lang/DRL6Lexer.g:
+									// src/main/resources/org/drools/drl/parser/DRL6Lexer.g:
 									{
 									if ( (input.LA(1) >= '0' && input.LA(1) <= '9') ) {
 										input.consume();
@@ -1289,7 +1274,7 @@ public class DRL6Lexer extends AbstractDRLLexer {
 
 					}
 
-					// src/main/resources/org/drools/compiler/lang/DRL6Lexer.g:114:79: ( ( '0' .. '9' )+ ( 'ms' )? )?
+					// src/main/resources/org/drools/drl/parser/DRL6Lexer.g:114:79: ( ( '0' .. '9' )+ ( 'ms' )? )?
 					int alt32=2;
 					int LA32_0 = input.LA(1);
 					if ( ((LA32_0 >= '0' && LA32_0 <= '9')) ) {
@@ -1297,9 +1282,9 @@ public class DRL6Lexer extends AbstractDRLLexer {
 					}
 					switch (alt32) {
 						case 1 :
-							// src/main/resources/org/drools/compiler/lang/DRL6Lexer.g:114:80: ( '0' .. '9' )+ ( 'ms' )?
+							// src/main/resources/org/drools/drl/parser/DRL6Lexer.g:114:80: ( '0' .. '9' )+ ( 'ms' )?
 							{
-							// src/main/resources/org/drools/compiler/lang/DRL6Lexer.g:114:80: ( '0' .. '9' )+
+							// src/main/resources/org/drools/drl/parser/DRL6Lexer.g:114:80: ( '0' .. '9' )+
 							int cnt30=0;
 							loop30:
 							while (true) {
@@ -1311,7 +1296,7 @@ public class DRL6Lexer extends AbstractDRLLexer {
 
 								switch (alt30) {
 								case 1 :
-									// src/main/resources/org/drools/compiler/lang/DRL6Lexer.g:
+									// src/main/resources/org/drools/drl/parser/DRL6Lexer.g:
 									{
 									if ( (input.LA(1) >= '0' && input.LA(1) <= '9') ) {
 										input.consume();
@@ -1335,7 +1320,7 @@ public class DRL6Lexer extends AbstractDRLLexer {
 								cnt30++;
 							}
 
-							// src/main/resources/org/drools/compiler/lang/DRL6Lexer.g:114:92: ( 'ms' )?
+							// src/main/resources/org/drools/drl/parser/DRL6Lexer.g:114:92: ( 'ms' )?
 							int alt31=2;
 							int LA31_0 = input.LA(1);
 							if ( (LA31_0=='m') ) {
@@ -1343,7 +1328,7 @@ public class DRL6Lexer extends AbstractDRLLexer {
 							}
 							switch (alt31) {
 								case 1 :
-									// src/main/resources/org/drools/compiler/lang/DRL6Lexer.g:114:92: 'ms'
+									// src/main/resources/org/drools/drl/parser/DRL6Lexer.g:114:92: 'ms'
 									{
 									match("ms"); if (state.failed) return;
 
@@ -1360,12 +1345,12 @@ public class DRL6Lexer extends AbstractDRLLexer {
 					}
 					break;
 				case 2 :
-					// src/main/resources/org/drools/compiler/lang/DRL6Lexer.g:115:7: ( ( '0' .. '9' )+ 'h' ) ( ( '0' .. '9' )+ 'm' )? ( ( '0' .. '9' )+ 's' )? ( ( '0' .. '9' )+ ( 'ms' )? )?
+					// src/main/resources/org/drools/drl/parser/DRL6Lexer.g:115:7: ( ( '0' .. '9' )+ 'h' ) ( ( '0' .. '9' )+ 'm' )? ( ( '0' .. '9' )+ 's' )? ( ( '0' .. '9' )+ ( 'ms' )? )?
 					{
-					// src/main/resources/org/drools/compiler/lang/DRL6Lexer.g:115:7: ( ( '0' .. '9' )+ 'h' )
-					// src/main/resources/org/drools/compiler/lang/DRL6Lexer.g:115:8: ( '0' .. '9' )+ 'h'
+					// src/main/resources/org/drools/drl/parser/DRL6Lexer.g:115:7: ( ( '0' .. '9' )+ 'h' )
+					// src/main/resources/org/drools/drl/parser/DRL6Lexer.g:115:8: ( '0' .. '9' )+ 'h'
 					{
-					// src/main/resources/org/drools/compiler/lang/DRL6Lexer.g:115:8: ( '0' .. '9' )+
+					// src/main/resources/org/drools/drl/parser/DRL6Lexer.g:115:8: ( '0' .. '9' )+
 					int cnt33=0;
 					loop33:
 					while (true) {
@@ -1377,7 +1362,7 @@ public class DRL6Lexer extends AbstractDRLLexer {
 
 						switch (alt33) {
 						case 1 :
-							// src/main/resources/org/drools/compiler/lang/DRL6Lexer.g:
+							// src/main/resources/org/drools/drl/parser/DRL6Lexer.g:
 							{
 							if ( (input.LA(1) >= '0' && input.LA(1) <= '9') ) {
 								input.consume();
@@ -1404,14 +1389,14 @@ public class DRL6Lexer extends AbstractDRLLexer {
 					match('h'); if (state.failed) return;
 					}
 
-					// src/main/resources/org/drools/compiler/lang/DRL6Lexer.g:115:25: ( ( '0' .. '9' )+ 'm' )?
+					// src/main/resources/org/drools/drl/parser/DRL6Lexer.g:115:25: ( ( '0' .. '9' )+ 'm' )?
 					int alt35=2;
 					alt35 = dfa35.predict(input);
 					switch (alt35) {
 						case 1 :
-							// src/main/resources/org/drools/compiler/lang/DRL6Lexer.g:115:26: ( '0' .. '9' )+ 'm'
+							// src/main/resources/org/drools/drl/parser/DRL6Lexer.g:115:26: ( '0' .. '9' )+ 'm'
 							{
-							// src/main/resources/org/drools/compiler/lang/DRL6Lexer.g:115:26: ( '0' .. '9' )+
+							// src/main/resources/org/drools/drl/parser/DRL6Lexer.g:115:26: ( '0' .. '9' )+
 							int cnt34=0;
 							loop34:
 							while (true) {
@@ -1423,7 +1408,7 @@ public class DRL6Lexer extends AbstractDRLLexer {
 
 								switch (alt34) {
 								case 1 :
-									// src/main/resources/org/drools/compiler/lang/DRL6Lexer.g:
+									// src/main/resources/org/drools/drl/parser/DRL6Lexer.g:
 									{
 									if ( (input.LA(1) >= '0' && input.LA(1) <= '9') ) {
 										input.consume();
@@ -1453,14 +1438,14 @@ public class DRL6Lexer extends AbstractDRLLexer {
 
 					}
 
-					// src/main/resources/org/drools/compiler/lang/DRL6Lexer.g:115:43: ( ( '0' .. '9' )+ 's' )?
+					// src/main/resources/org/drools/drl/parser/DRL6Lexer.g:115:43: ( ( '0' .. '9' )+ 's' )?
 					int alt37=2;
 					alt37 = dfa37.predict(input);
 					switch (alt37) {
 						case 1 :
-							// src/main/resources/org/drools/compiler/lang/DRL6Lexer.g:115:44: ( '0' .. '9' )+ 's'
+							// src/main/resources/org/drools/drl/parser/DRL6Lexer.g:115:44: ( '0' .. '9' )+ 's'
 							{
-							// src/main/resources/org/drools/compiler/lang/DRL6Lexer.g:115:44: ( '0' .. '9' )+
+							// src/main/resources/org/drools/drl/parser/DRL6Lexer.g:115:44: ( '0' .. '9' )+
 							int cnt36=0;
 							loop36:
 							while (true) {
@@ -1472,7 +1457,7 @@ public class DRL6Lexer extends AbstractDRLLexer {
 
 								switch (alt36) {
 								case 1 :
-									// src/main/resources/org/drools/compiler/lang/DRL6Lexer.g:
+									// src/main/resources/org/drools/drl/parser/DRL6Lexer.g:
 									{
 									if ( (input.LA(1) >= '0' && input.LA(1) <= '9') ) {
 										input.consume();
@@ -1502,7 +1487,7 @@ public class DRL6Lexer extends AbstractDRLLexer {
 
 					}
 
-					// src/main/resources/org/drools/compiler/lang/DRL6Lexer.g:115:61: ( ( '0' .. '9' )+ ( 'ms' )? )?
+					// src/main/resources/org/drools/drl/parser/DRL6Lexer.g:115:61: ( ( '0' .. '9' )+ ( 'ms' )? )?
 					int alt40=2;
 					int LA40_0 = input.LA(1);
 					if ( ((LA40_0 >= '0' && LA40_0 <= '9')) ) {
@@ -1510,9 +1495,9 @@ public class DRL6Lexer extends AbstractDRLLexer {
 					}
 					switch (alt40) {
 						case 1 :
-							// src/main/resources/org/drools/compiler/lang/DRL6Lexer.g:115:62: ( '0' .. '9' )+ ( 'ms' )?
+							// src/main/resources/org/drools/drl/parser/DRL6Lexer.g:115:62: ( '0' .. '9' )+ ( 'ms' )?
 							{
-							// src/main/resources/org/drools/compiler/lang/DRL6Lexer.g:115:62: ( '0' .. '9' )+
+							// src/main/resources/org/drools/drl/parser/DRL6Lexer.g:115:62: ( '0' .. '9' )+
 							int cnt38=0;
 							loop38:
 							while (true) {
@@ -1524,7 +1509,7 @@ public class DRL6Lexer extends AbstractDRLLexer {
 
 								switch (alt38) {
 								case 1 :
-									// src/main/resources/org/drools/compiler/lang/DRL6Lexer.g:
+									// src/main/resources/org/drools/drl/parser/DRL6Lexer.g:
 									{
 									if ( (input.LA(1) >= '0' && input.LA(1) <= '9') ) {
 										input.consume();
@@ -1548,7 +1533,7 @@ public class DRL6Lexer extends AbstractDRLLexer {
 								cnt38++;
 							}
 
-							// src/main/resources/org/drools/compiler/lang/DRL6Lexer.g:115:74: ( 'ms' )?
+							// src/main/resources/org/drools/drl/parser/DRL6Lexer.g:115:74: ( 'ms' )?
 							int alt39=2;
 							int LA39_0 = input.LA(1);
 							if ( (LA39_0=='m') ) {
@@ -1556,7 +1541,7 @@ public class DRL6Lexer extends AbstractDRLLexer {
 							}
 							switch (alt39) {
 								case 1 :
-									// src/main/resources/org/drools/compiler/lang/DRL6Lexer.g:115:74: 'ms'
+									// src/main/resources/org/drools/drl/parser/DRL6Lexer.g:115:74: 'ms'
 									{
 									match("ms"); if (state.failed) return;
 
@@ -1573,12 +1558,12 @@ public class DRL6Lexer extends AbstractDRLLexer {
 					}
 					break;
 				case 3 :
-					// src/main/resources/org/drools/compiler/lang/DRL6Lexer.g:116:7: ( ( '0' .. '9' )+ 'm' ) ( ( '0' .. '9' )+ 's' )? ( ( '0' .. '9' )+ ( 'ms' )? )?
+					// src/main/resources/org/drools/drl/parser/DRL6Lexer.g:116:7: ( ( '0' .. '9' )+ 'm' ) ( ( '0' .. '9' )+ 's' )? ( ( '0' .. '9' )+ ( 'ms' )? )?
 					{
-					// src/main/resources/org/drools/compiler/lang/DRL6Lexer.g:116:7: ( ( '0' .. '9' )+ 'm' )
-					// src/main/resources/org/drools/compiler/lang/DRL6Lexer.g:116:8: ( '0' .. '9' )+ 'm'
+					// src/main/resources/org/drools/drl/parser/DRL6Lexer.g:116:7: ( ( '0' .. '9' )+ 'm' )
+					// src/main/resources/org/drools/drl/parser/DRL6Lexer.g:116:8: ( '0' .. '9' )+ 'm'
 					{
-					// src/main/resources/org/drools/compiler/lang/DRL6Lexer.g:116:8: ( '0' .. '9' )+
+					// src/main/resources/org/drools/drl/parser/DRL6Lexer.g:116:8: ( '0' .. '9' )+
 					int cnt41=0;
 					loop41:
 					while (true) {
@@ -1590,7 +1575,7 @@ public class DRL6Lexer extends AbstractDRLLexer {
 
 						switch (alt41) {
 						case 1 :
-							// src/main/resources/org/drools/compiler/lang/DRL6Lexer.g:
+							// src/main/resources/org/drools/drl/parser/DRL6Lexer.g:
 							{
 							if ( (input.LA(1) >= '0' && input.LA(1) <= '9') ) {
 								input.consume();
@@ -1617,14 +1602,14 @@ public class DRL6Lexer extends AbstractDRLLexer {
 					match('m'); if (state.failed) return;
 					}
 
-					// src/main/resources/org/drools/compiler/lang/DRL6Lexer.g:116:25: ( ( '0' .. '9' )+ 's' )?
+					// src/main/resources/org/drools/drl/parser/DRL6Lexer.g:116:25: ( ( '0' .. '9' )+ 's' )?
 					int alt43=2;
 					alt43 = dfa43.predict(input);
 					switch (alt43) {
 						case 1 :
-							// src/main/resources/org/drools/compiler/lang/DRL6Lexer.g:116:26: ( '0' .. '9' )+ 's'
+							// src/main/resources/org/drools/drl/parser/DRL6Lexer.g:116:26: ( '0' .. '9' )+ 's'
 							{
-							// src/main/resources/org/drools/compiler/lang/DRL6Lexer.g:116:26: ( '0' .. '9' )+
+							// src/main/resources/org/drools/drl/parser/DRL6Lexer.g:116:26: ( '0' .. '9' )+
 							int cnt42=0;
 							loop42:
 							while (true) {
@@ -1636,7 +1621,7 @@ public class DRL6Lexer extends AbstractDRLLexer {
 
 								switch (alt42) {
 								case 1 :
-									// src/main/resources/org/drools/compiler/lang/DRL6Lexer.g:
+									// src/main/resources/org/drools/drl/parser/DRL6Lexer.g:
 									{
 									if ( (input.LA(1) >= '0' && input.LA(1) <= '9') ) {
 										input.consume();
@@ -1666,7 +1651,7 @@ public class DRL6Lexer extends AbstractDRLLexer {
 
 					}
 
-					// src/main/resources/org/drools/compiler/lang/DRL6Lexer.g:116:43: ( ( '0' .. '9' )+ ( 'ms' )? )?
+					// src/main/resources/org/drools/drl/parser/DRL6Lexer.g:116:43: ( ( '0' .. '9' )+ ( 'ms' )? )?
 					int alt46=2;
 					int LA46_0 = input.LA(1);
 					if ( ((LA46_0 >= '0' && LA46_0 <= '9')) ) {
@@ -1674,9 +1659,9 @@ public class DRL6Lexer extends AbstractDRLLexer {
 					}
 					switch (alt46) {
 						case 1 :
-							// src/main/resources/org/drools/compiler/lang/DRL6Lexer.g:116:44: ( '0' .. '9' )+ ( 'ms' )?
+							// src/main/resources/org/drools/drl/parser/DRL6Lexer.g:116:44: ( '0' .. '9' )+ ( 'ms' )?
 							{
-							// src/main/resources/org/drools/compiler/lang/DRL6Lexer.g:116:44: ( '0' .. '9' )+
+							// src/main/resources/org/drools/drl/parser/DRL6Lexer.g:116:44: ( '0' .. '9' )+
 							int cnt44=0;
 							loop44:
 							while (true) {
@@ -1688,7 +1673,7 @@ public class DRL6Lexer extends AbstractDRLLexer {
 
 								switch (alt44) {
 								case 1 :
-									// src/main/resources/org/drools/compiler/lang/DRL6Lexer.g:
+									// src/main/resources/org/drools/drl/parser/DRL6Lexer.g:
 									{
 									if ( (input.LA(1) >= '0' && input.LA(1) <= '9') ) {
 										input.consume();
@@ -1712,7 +1697,7 @@ public class DRL6Lexer extends AbstractDRLLexer {
 								cnt44++;
 							}
 
-							// src/main/resources/org/drools/compiler/lang/DRL6Lexer.g:116:56: ( 'ms' )?
+							// src/main/resources/org/drools/drl/parser/DRL6Lexer.g:116:56: ( 'ms' )?
 							int alt45=2;
 							int LA45_0 = input.LA(1);
 							if ( (LA45_0=='m') ) {
@@ -1720,7 +1705,7 @@ public class DRL6Lexer extends AbstractDRLLexer {
 							}
 							switch (alt45) {
 								case 1 :
-									// src/main/resources/org/drools/compiler/lang/DRL6Lexer.g:116:56: 'ms'
+									// src/main/resources/org/drools/drl/parser/DRL6Lexer.g:116:56: 'ms'
 									{
 									match("ms"); if (state.failed) return;
 
@@ -1737,12 +1722,12 @@ public class DRL6Lexer extends AbstractDRLLexer {
 					}
 					break;
 				case 4 :
-					// src/main/resources/org/drools/compiler/lang/DRL6Lexer.g:117:7: ( ( '0' .. '9' )+ 's' ) ( ( '0' .. '9' )+ ( 'ms' )? )?
+					// src/main/resources/org/drools/drl/parser/DRL6Lexer.g:117:7: ( ( '0' .. '9' )+ 's' ) ( ( '0' .. '9' )+ ( 'ms' )? )?
 					{
-					// src/main/resources/org/drools/compiler/lang/DRL6Lexer.g:117:7: ( ( '0' .. '9' )+ 's' )
-					// src/main/resources/org/drools/compiler/lang/DRL6Lexer.g:117:8: ( '0' .. '9' )+ 's'
+					// src/main/resources/org/drools/drl/parser/DRL6Lexer.g:117:7: ( ( '0' .. '9' )+ 's' )
+					// src/main/resources/org/drools/drl/parser/DRL6Lexer.g:117:8: ( '0' .. '9' )+ 's'
 					{
-					// src/main/resources/org/drools/compiler/lang/DRL6Lexer.g:117:8: ( '0' .. '9' )+
+					// src/main/resources/org/drools/drl/parser/DRL6Lexer.g:117:8: ( '0' .. '9' )+
 					int cnt47=0;
 					loop47:
 					while (true) {
@@ -1754,7 +1739,7 @@ public class DRL6Lexer extends AbstractDRLLexer {
 
 						switch (alt47) {
 						case 1 :
-							// src/main/resources/org/drools/compiler/lang/DRL6Lexer.g:
+							// src/main/resources/org/drools/drl/parser/DRL6Lexer.g:
 							{
 							if ( (input.LA(1) >= '0' && input.LA(1) <= '9') ) {
 								input.consume();
@@ -1781,7 +1766,7 @@ public class DRL6Lexer extends AbstractDRLLexer {
 					match('s'); if (state.failed) return;
 					}
 
-					// src/main/resources/org/drools/compiler/lang/DRL6Lexer.g:117:25: ( ( '0' .. '9' )+ ( 'ms' )? )?
+					// src/main/resources/org/drools/drl/parser/DRL6Lexer.g:117:25: ( ( '0' .. '9' )+ ( 'ms' )? )?
 					int alt50=2;
 					int LA50_0 = input.LA(1);
 					if ( ((LA50_0 >= '0' && LA50_0 <= '9')) ) {
@@ -1789,9 +1774,9 @@ public class DRL6Lexer extends AbstractDRLLexer {
 					}
 					switch (alt50) {
 						case 1 :
-							// src/main/resources/org/drools/compiler/lang/DRL6Lexer.g:117:26: ( '0' .. '9' )+ ( 'ms' )?
+							// src/main/resources/org/drools/drl/parser/DRL6Lexer.g:117:26: ( '0' .. '9' )+ ( 'ms' )?
 							{
-							// src/main/resources/org/drools/compiler/lang/DRL6Lexer.g:117:26: ( '0' .. '9' )+
+							// src/main/resources/org/drools/drl/parser/DRL6Lexer.g:117:26: ( '0' .. '9' )+
 							int cnt48=0;
 							loop48:
 							while (true) {
@@ -1803,7 +1788,7 @@ public class DRL6Lexer extends AbstractDRLLexer {
 
 								switch (alt48) {
 								case 1 :
-									// src/main/resources/org/drools/compiler/lang/DRL6Lexer.g:
+									// src/main/resources/org/drools/drl/parser/DRL6Lexer.g:
 									{
 									if ( (input.LA(1) >= '0' && input.LA(1) <= '9') ) {
 										input.consume();
@@ -1827,7 +1812,7 @@ public class DRL6Lexer extends AbstractDRLLexer {
 								cnt48++;
 							}
 
-							// src/main/resources/org/drools/compiler/lang/DRL6Lexer.g:117:38: ( 'ms' )?
+							// src/main/resources/org/drools/drl/parser/DRL6Lexer.g:117:38: ( 'ms' )?
 							int alt49=2;
 							int LA49_0 = input.LA(1);
 							if ( (LA49_0=='m') ) {
@@ -1835,7 +1820,7 @@ public class DRL6Lexer extends AbstractDRLLexer {
 							}
 							switch (alt49) {
 								case 1 :
-									// src/main/resources/org/drools/compiler/lang/DRL6Lexer.g:117:38: 'ms'
+									// src/main/resources/org/drools/drl/parser/DRL6Lexer.g:117:38: 'ms'
 									{
 									match("ms"); if (state.failed) return;
 
@@ -1852,12 +1837,12 @@ public class DRL6Lexer extends AbstractDRLLexer {
 					}
 					break;
 				case 5 :
-					// src/main/resources/org/drools/compiler/lang/DRL6Lexer.g:118:7: ( ( '0' .. '9' )+ ( 'ms' )? )
+					// src/main/resources/org/drools/drl/parser/DRL6Lexer.g:118:7: ( ( '0' .. '9' )+ ( 'ms' )? )
 					{
-					// src/main/resources/org/drools/compiler/lang/DRL6Lexer.g:118:7: ( ( '0' .. '9' )+ ( 'ms' )? )
-					// src/main/resources/org/drools/compiler/lang/DRL6Lexer.g:118:8: ( '0' .. '9' )+ ( 'ms' )?
+					// src/main/resources/org/drools/drl/parser/DRL6Lexer.g:118:7: ( ( '0' .. '9' )+ ( 'ms' )? )
+					// src/main/resources/org/drools/drl/parser/DRL6Lexer.g:118:8: ( '0' .. '9' )+ ( 'ms' )?
 					{
-					// src/main/resources/org/drools/compiler/lang/DRL6Lexer.g:118:8: ( '0' .. '9' )+
+					// src/main/resources/org/drools/drl/parser/DRL6Lexer.g:118:8: ( '0' .. '9' )+
 					int cnt51=0;
 					loop51:
 					while (true) {
@@ -1869,7 +1854,7 @@ public class DRL6Lexer extends AbstractDRLLexer {
 
 						switch (alt51) {
 						case 1 :
-							// src/main/resources/org/drools/compiler/lang/DRL6Lexer.g:
+							// src/main/resources/org/drools/drl/parser/DRL6Lexer.g:
 							{
 							if ( (input.LA(1) >= '0' && input.LA(1) <= '9') ) {
 								input.consume();
@@ -1893,7 +1878,7 @@ public class DRL6Lexer extends AbstractDRLLexer {
 						cnt51++;
 					}
 
-					// src/main/resources/org/drools/compiler/lang/DRL6Lexer.g:118:20: ( 'ms' )?
+					// src/main/resources/org/drools/drl/parser/DRL6Lexer.g:118:20: ( 'ms' )?
 					int alt52=2;
 					int LA52_0 = input.LA(1);
 					if ( (LA52_0=='m') ) {
@@ -1901,7 +1886,7 @@ public class DRL6Lexer extends AbstractDRLLexer {
 					}
 					switch (alt52) {
 						case 1 :
-							// src/main/resources/org/drools/compiler/lang/DRL6Lexer.g:118:20: 'ms'
+							// src/main/resources/org/drools/drl/parser/DRL6Lexer.g:118:20: 'ms'
 							{
 							match("ms"); if (state.failed) return;
 
@@ -1928,8 +1913,8 @@ public class DRL6Lexer extends AbstractDRLLexer {
 	// $ANTLR start "HexDigit"
 	public final void mHexDigit() throws RecognitionException {
 		try {
-			// src/main/resources/org/drools/compiler/lang/DRL6Lexer.g:122:10: ( ( '0' .. '9' | 'a' .. 'f' | 'A' .. 'F' ) )
-			// src/main/resources/org/drools/compiler/lang/DRL6Lexer.g:
+			// src/main/resources/org/drools/drl/parser/DRL6Lexer.g:122:10: ( ( '0' .. '9' | 'a' .. 'f' | 'A' .. 'F' ) )
+			// src/main/resources/org/drools/drl/parser/DRL6Lexer.g:
 			{
 			if ( (input.LA(1) >= '0' && input.LA(1) <= '9')||(input.LA(1) >= 'A' && input.LA(1) <= 'F')||(input.LA(1) >= 'a' && input.LA(1) <= 'f') ) {
 				input.consume();
@@ -1953,7 +1938,7 @@ public class DRL6Lexer extends AbstractDRLLexer {
 	// $ANTLR start "EscapeSequence"
 	public final void mEscapeSequence() throws RecognitionException {
 		try {
-			// src/main/resources/org/drools/compiler/lang/DRL6Lexer.g:126:5: ( '\\\\' ( 'b' | 'B' | 't' | 'n' | 'f' | 'r' | '\\\"' | '\\'' | '\\\\' | '.' | 'o' | 'x' | 'a' | 'e' | 'c' | 'd' | 'D' | 's' | 'S' | 'w' | 'W' | 'p' | 'A' | 'G' | 'Z' | 'z' | 'Q' | 'E' | '*' | '[' | ']' | '(' | ')' | '$' | '^' | '{' | '}' | '?' | '+' | '-' | '&' | '|' ) | UnicodeEscape | OctalEscape )
+			// src/main/resources/org/drools/drl/parser/DRL6Lexer.g:126:5: ( '\\\\' ( 'b' | 'B' | 't' | 'n' | 'f' | 'r' | '\\\"' | '\\'' | '\\\\' | '.' | 'o' | 'x' | 'a' | 'e' | 'c' | 'd' | 'D' | 's' | 'S' | 'w' | 'W' | 'p' | 'A' | 'G' | 'Z' | 'z' | 'Q' | 'E' | '*' | '[' | ']' | '(' | ')' | '$' | '^' | '{' | '}' | '?' | '+' | '-' | '&' | '|' ) | UnicodeEscape | OctalEscape )
 			int alt54=3;
 			int LA54_0 = input.LA(1);
 			if ( (LA54_0=='\\') ) {
@@ -2044,7 +2029,7 @@ public class DRL6Lexer extends AbstractDRLLexer {
 
 			switch (alt54) {
 				case 1 :
-					// src/main/resources/org/drools/compiler/lang/DRL6Lexer.g:126:9: '\\\\' ( 'b' | 'B' | 't' | 'n' | 'f' | 'r' | '\\\"' | '\\'' | '\\\\' | '.' | 'o' | 'x' | 'a' | 'e' | 'c' | 'd' | 'D' | 's' | 'S' | 'w' | 'W' | 'p' | 'A' | 'G' | 'Z' | 'z' | 'Q' | 'E' | '*' | '[' | ']' | '(' | ')' | '$' | '^' | '{' | '}' | '?' | '+' | '-' | '&' | '|' )
+					// src/main/resources/org/drools/drl/parser/DRL6Lexer.g:126:9: '\\\\' ( 'b' | 'B' | 't' | 'n' | 'f' | 'r' | '\\\"' | '\\'' | '\\\\' | '.' | 'o' | 'x' | 'a' | 'e' | 'c' | 'd' | 'D' | 's' | 'S' | 'w' | 'W' | 'p' | 'A' | 'G' | 'Z' | 'z' | 'Q' | 'E' | '*' | '[' | ']' | '(' | ')' | '$' | '^' | '{' | '}' | '?' | '+' | '-' | '&' | '|' )
 					{
 					match('\\'); if (state.failed) return;
 					if ( input.LA(1)=='\"'||input.LA(1)=='$'||(input.LA(1) >= '&' && input.LA(1) <= '+')||(input.LA(1) >= '-' && input.LA(1) <= '.')||input.LA(1)=='?'||(input.LA(1) >= 'A' && input.LA(1) <= 'B')||(input.LA(1) >= 'D' && input.LA(1) <= 'E')||input.LA(1)=='G'||input.LA(1)=='Q'||input.LA(1)=='S'||input.LA(1)=='W'||(input.LA(1) >= 'Z' && input.LA(1) <= '^')||(input.LA(1) >= 'a' && input.LA(1) <= 'f')||(input.LA(1) >= 'n' && input.LA(1) <= 'p')||(input.LA(1) >= 'r' && input.LA(1) <= 't')||(in [...]
@@ -2060,14 +2045,14 @@ public class DRL6Lexer extends AbstractDRLLexer {
 					}
 					break;
 				case 2 :
-					// src/main/resources/org/drools/compiler/lang/DRL6Lexer.g:130:9: UnicodeEscape
+					// src/main/resources/org/drools/drl/parser/DRL6Lexer.g:130:9: UnicodeEscape
 					{
 					mUnicodeEscape(); if (state.failed) return;
 
 					}
 					break;
 				case 3 :
-					// src/main/resources/org/drools/compiler/lang/DRL6Lexer.g:131:9: OctalEscape
+					// src/main/resources/org/drools/drl/parser/DRL6Lexer.g:131:9: OctalEscape
 					{
 					mOctalEscape(); if (state.failed) return;
 
@@ -2085,7 +2070,7 @@ public class DRL6Lexer extends AbstractDRLLexer {
 	// $ANTLR start "OctalEscape"
 	public final void mOctalEscape() throws RecognitionException {
 		try {
-			// src/main/resources/org/drools/compiler/lang/DRL6Lexer.g:136:5: ( '\\\\' ( '0' .. '3' ) ( '0' .. '7' ) ( '0' .. '7' ) | '\\\\' ( '0' .. '7' ) ( '0' .. '7' ) | '\\\\' ( '0' .. '7' ) )
+			// src/main/resources/org/drools/drl/parser/DRL6Lexer.g:136:5: ( '\\\\' ( '0' .. '3' ) ( '0' .. '7' ) ( '0' .. '7' ) | '\\\\' ( '0' .. '7' ) ( '0' .. '7' ) | '\\\\' ( '0' .. '7' ) )
 			int alt55=3;
 			int LA55_0 = input.LA(1);
 			if ( (LA55_0=='\\') ) {
@@ -2145,7 +2130,7 @@ public class DRL6Lexer extends AbstractDRLLexer {
 
 			switch (alt55) {
 				case 1 :
-					// src/main/resources/org/drools/compiler/lang/DRL6Lexer.g:136:9: '\\\\' ( '0' .. '3' ) ( '0' .. '7' ) ( '0' .. '7' )
+					// src/main/resources/org/drools/drl/parser/DRL6Lexer.g:136:9: '\\\\' ( '0' .. '3' ) ( '0' .. '7' ) ( '0' .. '7' )
 					{
 					match('\\'); if (state.failed) return;
 					if ( (input.LA(1) >= '0' && input.LA(1) <= '3') ) {
@@ -2181,7 +2166,7 @@ public class DRL6Lexer extends AbstractDRLLexer {
 					}
 					break;
 				case 2 :
-					// src/main/resources/org/drools/compiler/lang/DRL6Lexer.g:137:9: '\\\\' ( '0' .. '7' ) ( '0' .. '7' )
+					// src/main/resources/org/drools/drl/parser/DRL6Lexer.g:137:9: '\\\\' ( '0' .. '7' ) ( '0' .. '7' )
 					{
 					match('\\'); if (state.failed) return;
 					if ( (input.LA(1) >= '0' && input.LA(1) <= '7') ) {
@@ -2207,7 +2192,7 @@ public class DRL6Lexer extends AbstractDRLLexer {
 					}
 					break;
 				case 3 :
-					// src/main/resources/org/drools/compiler/lang/DRL6Lexer.g:138:9: '\\\\' ( '0' .. '7' )
+					// src/main/resources/org/drools/drl/parser/DRL6Lexer.g:138:9: '\\\\' ( '0' .. '7' )
 					{
 					match('\\'); if (state.failed) return;
 					if ( (input.LA(1) >= '0' && input.LA(1) <= '7') ) {
@@ -2234,8 +2219,8 @@ public class DRL6Lexer extends AbstractDRLLexer {
 	// $ANTLR start "UnicodeEscape"
 	public final void mUnicodeEscape() throws RecognitionException {
 		try {
-			// src/main/resources/org/drools/compiler/lang/DRL6Lexer.g:143:5: ( '\\\\' 'u' HexDigit HexDigit HexDigit HexDigit )
-			// src/main/resources/org/drools/compiler/lang/DRL6Lexer.g:143:9: '\\\\' 'u' HexDigit HexDigit HexDigit HexDigit
+			// src/main/resources/org/drools/drl/parser/DRL6Lexer.g:143:5: ( '\\\\' 'u' HexDigit HexDigit HexDigit HexDigit )
+			// src/main/resources/org/drools/drl/parser/DRL6Lexer.g:143:9: '\\\\' 'u' HexDigit HexDigit HexDigit HexDigit
 			{
 			match('\\'); if (state.failed) return;
 			match('u'); if (state.failed) return;
@@ -2261,10 +2246,10 @@ public class DRL6Lexer extends AbstractDRLLexer {
 		try {
 			int _type = BOOL;
 			int _channel = DEFAULT_TOKEN_CHANNEL;
-			// src/main/resources/org/drools/compiler/lang/DRL6Lexer.g:146:6: ( ( 'true' | 'false' ) )
-			// src/main/resources/org/drools/compiler/lang/DRL6Lexer.g:146:8: ( 'true' | 'false' )
+			// src/main/resources/org/drools/drl/parser/DRL6Lexer.g:146:6: ( ( 'true' | 'false' ) )
+			// src/main/resources/org/drools/drl/parser/DRL6Lexer.g:146:8: ( 'true' | 'false' )
 			{
-			// src/main/resources/org/drools/compiler/lang/DRL6Lexer.g:146:8: ( 'true' | 'false' )
+			// src/main/resources/org/drools/drl/parser/DRL6Lexer.g:146:8: ( 'true' | 'false' )
 			int alt56=2;
 			int LA56_0 = input.LA(1);
 			if ( (LA56_0=='t') ) {
@@ -2283,14 +2268,14 @@ public class DRL6Lexer extends AbstractDRLLexer {
 
 			switch (alt56) {
 				case 1 :
-					// src/main/resources/org/drools/compiler/lang/DRL6Lexer.g:146:9: 'true'
+					// src/main/resources/org/drools/drl/parser/DRL6Lexer.g:146:9: 'true'
 					{
 					match("true"); if (state.failed) return;
 
 					}
 					break;
 				case 2 :
-					// src/main/resources/org/drools/compiler/lang/DRL6Lexer.g:146:16: 'false'
+					// src/main/resources/org/drools/drl/parser/DRL6Lexer.g:146:16: 'false'
 					{
 					match("false"); if (state.failed) return;
 
@@ -2315,8 +2300,8 @@ public class DRL6Lexer extends AbstractDRLLexer {
 		try {
 			int _type = NULL;
 			int _channel = DEFAULT_TOKEN_CHANNEL;
-			// src/main/resources/org/drools/compiler/lang/DRL6Lexer.g:149:6: ( 'null' )
-			// src/main/resources/org/drools/compiler/lang/DRL6Lexer.g:149:8: 'null'
+			// src/main/resources/org/drools/drl/parser/DRL6Lexer.g:149:6: ( 'null' )
+			// src/main/resources/org/drools/drl/parser/DRL6Lexer.g:149:8: 'null'
 			{
 			match("null"); if (state.failed) return;
 
@@ -2336,8 +2321,8 @@ public class DRL6Lexer extends AbstractDRLLexer {
 		try {
 			int _type = AT;
 			int _channel = DEFAULT_TOKEN_CHANNEL;
-			// src/main/resources/org/drools/compiler/lang/DRL6Lexer.g:152:4: ( '@' )
-			// src/main/resources/org/drools/compiler/lang/DRL6Lexer.g:152:6: '@'
+			// src/main/resources/org/drools/drl/parser/DRL6Lexer.g:152:4: ( '@' )
+			// src/main/resources/org/drools/drl/parser/DRL6Lexer.g:152:6: '@'
 			{
 			match('@'); if (state.failed) return;
 			}
@@ -2356,8 +2341,8 @@ public class DRL6Lexer extends AbstractDRLLexer {
 		try {
 			int _type = PLUS_ASSIGN;
 			int _channel = DEFAULT_TOKEN_CHANNEL;
-			// src/main/resources/org/drools/compiler/lang/DRL6Lexer.g:156:5: ( '+=' )
-			// src/main/resources/org/drools/compiler/lang/DRL6Lexer.g:156:7: '+='
+			// src/main/resources/org/drools/drl/parser/DRL6Lexer.g:156:5: ( '+=' )
+			// src/main/resources/org/drools/drl/parser/DRL6Lexer.g:156:7: '+='
 			{
 			match("+="); if (state.failed) return;
 
@@ -2377,8 +2362,8 @@ public class DRL6Lexer extends AbstractDRLLexer {
 		try {
 			int _type = MINUS_ASSIGN;
 			int _channel = DEFAULT_TOKEN_CHANNEL;
-			// src/main/resources/org/drools/compiler/lang/DRL6Lexer.g:160:5: ( '-=' )
-			// src/main/resources/org/drools/compiler/lang/DRL6Lexer.g:160:7: '-='
+			// src/main/resources/org/drools/drl/parser/DRL6Lexer.g:160:5: ( '-=' )
+			// src/main/resources/org/drools/drl/parser/DRL6Lexer.g:160:7: '-='
 			{
 			match("-="); if (state.failed) return;
 
@@ -2398,8 +2383,8 @@ public class DRL6Lexer extends AbstractDRLLexer {
 		try {
 			int _type = MULT_ASSIGN;
 			int _channel = DEFAULT_TOKEN_CHANNEL;
-			// src/main/resources/org/drools/compiler/lang/DRL6Lexer.g:164:5: ( '*=' )
-			// src/main/resources/org/drools/compiler/lang/DRL6Lexer.g:164:7: '*='
+			// src/main/resources/org/drools/drl/parser/DRL6Lexer.g:164:5: ( '*=' )
+			// src/main/resources/org/drools/drl/parser/DRL6Lexer.g:164:7: '*='
 			{
 			match("*="); if (state.failed) return;
 
@@ -2419,8 +2404,8 @@ public class DRL6Lexer extends AbstractDRLLexer {
 		try {
 			int _type = DIV_ASSIGN;
 			int _channel = DEFAULT_TOKEN_CHANNEL;
-			// src/main/resources/org/drools/compiler/lang/DRL6Lexer.g:168:5: ( '/=' )
-			// src/main/resources/org/drools/compiler/lang/DRL6Lexer.g:168:7: '/='
+			// src/main/resources/org/drools/drl/parser/DRL6Lexer.g:168:5: ( '/=' )
+			// src/main/resources/org/drools/drl/parser/DRL6Lexer.g:168:7: '/='
 			{
 			match("/="); if (state.failed) return;
 
@@ -2440,8 +2425,8 @@ public class DRL6Lexer extends AbstractDRLLexer {
 		try {
 			int _type = AND_ASSIGN;
 			int _channel = DEFAULT_TOKEN_CHANNEL;
-			// src/main/resources/org/drools/compiler/lang/DRL6Lexer.g:172:5: ( '&=' )
-			// src/main/resources/org/drools/compiler/lang/DRL6Lexer.g:172:7: '&='
+			// src/main/resources/org/drools/drl/parser/DRL6Lexer.g:172:5: ( '&=' )
+			// src/main/resources/org/drools/drl/parser/DRL6Lexer.g:172:7: '&='
 			{
 			match("&="); if (state.failed) return;
 
@@ -2461,8 +2446,8 @@ public class DRL6Lexer extends AbstractDRLLexer {
 		try {
 			int _type = OR_ASSIGN;
 			int _channel = DEFAULT_TOKEN_CHANNEL;
-			// src/main/resources/org/drools/compiler/lang/DRL6Lexer.g:176:5: ( '|=' )
-			// src/main/resources/org/drools/compiler/lang/DRL6Lexer.g:176:7: '|='
+			// src/main/resources/org/drools/drl/parser/DRL6Lexer.g:176:5: ( '|=' )
+			// src/main/resources/org/drools/drl/parser/DRL6Lexer.g:176:7: '|='
 			{
 			match("|="); if (state.failed) return;
 
@@ -2482,8 +2467,8 @@ public class DRL6Lexer extends AbstractDRLLexer {
 		try {
 			int _type = XOR_ASSIGN;
 			int _channel = DEFAULT_TOKEN_CHANNEL;
-			// src/main/resources/org/drools/compiler/lang/DRL6Lexer.g:180:5: ( '^=' )
-			// src/main/resources/org/drools/compiler/lang/DRL6Lexer.g:180:7: '^='
+			// src/main/resources/org/drools/drl/parser/DRL6Lexer.g:180:5: ( '^=' )
+			// src/main/resources/org/drools/drl/parser/DRL6Lexer.g:180:7: '^='
 			{
 			match("^="); if (state.failed) return;
 
@@ -2503,8 +2488,8 @@ public class DRL6Lexer extends AbstractDRLLexer {
 		try {
 			int _type = MOD_ASSIGN;
 			int _channel = DEFAULT_TOKEN_CHANNEL;
-			// src/main/resources/org/drools/compiler/lang/DRL6Lexer.g:184:5: ( '%=' )
-			// src/main/resources/org/drools/compiler/lang/DRL6Lexer.g:184:7: '%='
+			// src/main/resources/org/drools/drl/parser/DRL6Lexer.g:184:5: ( '%=' )
+			// src/main/resources/org/drools/drl/parser/DRL6Lexer.g:184:7: '%='
 			{
 			match("%="); if (state.failed) return;
 
@@ -2524,8 +2509,8 @@ public class DRL6Lexer extends AbstractDRLLexer {
 		try {
 			int _type = UNIFY;
 			int _channel = DEFAULT_TOKEN_CHANNEL;
-			// src/main/resources/org/drools/compiler/lang/DRL6Lexer.g:188:5: ( ':=' )
-			// src/main/resources/org/drools/compiler/lang/DRL6Lexer.g:188:7: ':='
+			// src/main/resources/org/drools/drl/parser/DRL6Lexer.g:188:5: ( ':=' )
+			// src/main/resources/org/drools/drl/parser/DRL6Lexer.g:188:7: ':='
 			{
 			match(":="); if (state.failed) return;
 
@@ -2545,8 +2530,8 @@ public class DRL6Lexer extends AbstractDRLLexer {
 		try {
 			int _type = DECR;
 			int _channel = DEFAULT_TOKEN_CHANNEL;
-			// src/main/resources/org/drools/compiler/lang/DRL6Lexer.g:191:6: ( '--' )
-			// src/main/resources/org/drools/compiler/lang/DRL6Lexer.g:191:8: '--'
+			// src/main/resources/org/drools/drl/parser/DRL6Lexer.g:191:6: ( '--' )
+			// src/main/resources/org/drools/drl/parser/DRL6Lexer.g:191:8: '--'
 			{
 			match("--"); if (state.failed) return;
 
@@ -2566,8 +2551,8 @@ public class DRL6Lexer extends AbstractDRLLexer {
 		try {
 			int _type = INCR;
 			int _channel = DEFAULT_TOKEN_CHANNEL;
-			// src/main/resources/org/drools/compiler/lang/DRL6Lexer.g:194:6: ( '++' )
-			// src/main/resources/org/drools/compiler/lang/DRL6Lexer.g:194:8: '++'
+			// src/main/resources/org/drools/drl/parser/DRL6Lexer.g:194:6: ( '++' )
+			// src/main/resources/org/drools/drl/parser/DRL6Lexer.g:194:8: '++'
 			{
 			match("++"); if (state.failed) return;
 
@@ -2587,8 +2572,8 @@ public class DRL6Lexer extends AbstractDRLLexer {
 		try {
 			int _type = ARROW;
 			int _channel = DEFAULT_TOKEN_CHANNEL;
-			// src/main/resources/org/drools/compiler/lang/DRL6Lexer.g:198:5: ( '->' )
-			// src/main/resources/org/drools/compiler/lang/DRL6Lexer.g:198:7: '->'
+			// src/main/resources/org/drools/drl/parser/DRL6Lexer.g:198:5: ( '->' )
+			// src/main/resources/org/drools/drl/parser/DRL6Lexer.g:198:7: '->'
 			{
 			match("->"); if (state.failed) return;
 
@@ -2608,8 +2593,8 @@ public class DRL6Lexer extends AbstractDRLLexer {
 		try {
 			int _type = SEMICOLON;
 			int _channel = DEFAULT_TOKEN_CHANNEL;
-			// src/main/resources/org/drools/compiler/lang/DRL6Lexer.g:202:5: ( ';' )
-			// src/main/resources/org/drools/compiler/lang/DRL6Lexer.g:202:7: ';'
+			// src/main/resources/org/drools/drl/parser/DRL6Lexer.g:202:5: ( ';' )
+			// src/main/resources/org/drools/drl/parser/DRL6Lexer.g:202:7: ';'
 			{
 			match(';'); if (state.failed) return;
 			}
@@ -2628,8 +2613,8 @@ public class DRL6Lexer extends AbstractDRLLexer {
 		try {
 			int _type = COLON;
 			int _channel = DEFAULT_TOKEN_CHANNEL;
-			// src/main/resources/org/drools/compiler/lang/DRL6Lexer.g:206:5: ( ':' )
-			// src/main/resources/org/drools/compiler/lang/DRL6Lexer.g:206:7: ':'
+			// src/main/resources/org/drools/drl/parser/DRL6Lexer.g:206:5: ( ':' )
+			// src/main/resources/org/drools/drl/parser/DRL6Lexer.g:206:7: ':'
 			{
 			match(':'); if (state.failed) return;
 			}
@@ -2648,8 +2633,8 @@ public class DRL6Lexer extends AbstractDRLLexer {
 		try {
 			int _type = EQUALS;
 			int _channel = DEFAULT_TOKEN_CHANNEL;
-			// src/main/resources/org/drools/compiler/lang/DRL6Lexer.g:210:5: ( '==' )
-			// src/main/resources/org/drools/compiler/lang/DRL6Lexer.g:210:7: '=='
+			// src/main/resources/org/drools/drl/parser/DRL6Lexer.g:210:5: ( '==' )
+			// src/main/resources/org/drools/drl/parser/DRL6Lexer.g:210:7: '=='
 			{
 			match("=="); if (state.failed) return;
 
@@ -2669,8 +2654,8 @@ public class DRL6Lexer extends AbstractDRLLexer {
 		try {
 			int _type = NOT_EQUALS;
 			int _channel = DEFAULT_TOKEN_CHANNEL;
-			// src/main/resources/org/drools/compiler/lang/DRL6Lexer.g:214:5: ( '!=' )
-			// src/main/resources/org/drools/compiler/lang/DRL6Lexer.g:214:7: '!='
+			// src/main/resources/org/drools/drl/parser/DRL6Lexer.g:214:5: ( '!=' )
+			// src/main/resources/org/drools/drl/parser/DRL6Lexer.g:214:7: '!='
 			{
 			match("!="); if (state.failed) return;
 
@@ -2690,8 +2675,8 @@ public class DRL6Lexer extends AbstractDRLLexer {
 		try {
 			int _type = GREATER_EQUALS;
 			int _channel = DEFAULT_TOKEN_CHANNEL;
-			// src/main/resources/org/drools/compiler/lang/DRL6Lexer.g:218:5: ( '>=' )
-			// src/main/resources/org/drools/compiler/lang/DRL6Lexer.g:218:7: '>='
+			// src/main/resources/org/drools/drl/parser/DRL6Lexer.g:218:5: ( '>=' )
+			// src/main/resources/org/drools/drl/parser/DRL6Lexer.g:218:7: '>='
 			{
 			match(">="); if (state.failed) return;
 
@@ -2711,8 +2696,8 @@ public class DRL6Lexer extends AbstractDRLLexer {
 		try {
 			int _type = LESS_EQUALS;
 			int _channel = DEFAULT_TOKEN_CHANNEL;
-			// src/main/resources/org/drools/compiler/lang/DRL6Lexer.g:222:5: ( '<=' )
-			// src/main/resources/org/drools/compiler/lang/DRL6Lexer.g:222:7: '<='
+			// src/main/resources/org/drools/drl/parser/DRL6Lexer.g:222:5: ( '<=' )
+			// src/main/resources/org/drools/drl/parser/DRL6Lexer.g:222:7: '<='
 			{
 			match("<="); if (state.failed) return;
 
@@ -2732,8 +2717,8 @@ public class DRL6Lexer extends AbstractDRLLexer {
 		try {
 			int _type = GREATER;
 			int _channel = DEFAULT_TOKEN_CHANNEL;
-			// src/main/resources/org/drools/compiler/lang/DRL6Lexer.g:226:5: ( '>' )
-			// src/main/resources/org/drools/compiler/lang/DRL6Lexer.g:226:7: '>'
+			// src/main/resources/org/drools/drl/parser/DRL6Lexer.g:226:5: ( '>' )
+			// src/main/resources/org/drools/drl/parser/DRL6Lexer.g:226:7: '>'
 			{
 			match('>'); if (state.failed) return;
 			}
@@ -2752,8 +2737,8 @@ public class DRL6Lexer extends AbstractDRLLexer {
 		try {
 			int _type = LESS;
 			int _channel = DEFAULT_TOKEN_CHANNEL;
-			// src/main/resources/org/drools/compiler/lang/DRL6Lexer.g:230:5: ( '<' )
-			// src/main/resources/org/drools/compiler/lang/DRL6Lexer.g:230:7: '<'
+			// src/main/resources/org/drools/drl/parser/DRL6Lexer.g:230:5: ( '<' )
+			// src/main/resources/org/drools/drl/parser/DRL6Lexer.g:230:7: '<'
 			{
 			match('<'); if (state.failed) return;
 			}
@@ -2772,8 +2757,8 @@ public class DRL6Lexer extends AbstractDRLLexer {
 		try {
 			int _type = EQUALS_ASSIGN;
 			int _channel = DEFAULT_TOKEN_CHANNEL;
-			// src/main/resources/org/drools/compiler/lang/DRL6Lexer.g:234:5: ( '=' )
-			// src/main/resources/org/drools/compiler/lang/DRL6Lexer.g:234:7: '='
+			// src/main/resources/org/drools/drl/parser/DRL6Lexer.g:234:5: ( '=' )
+			// src/main/resources/org/drools/drl/parser/DRL6Lexer.g:234:7: '='
 			{
 			match('='); if (state.failed) return;
 			}
@@ -2792,8 +2777,8 @@ public class DRL6Lexer extends AbstractDRLLexer {
 		try {
 			int _type = LEFT_PAREN;
 			int _channel = DEFAULT_TOKEN_CHANNEL;
-			// src/main/resources/org/drools/compiler/lang/DRL6Lexer.g:238:9: ( '(' )
-			// src/main/resources/org/drools/compiler/lang/DRL6Lexer.g:238:11: '('
+			// src/main/resources/org/drools/drl/parser/DRL6Lexer.g:238:9: ( '(' )
+			// src/main/resources/org/drools/drl/parser/DRL6Lexer.g:238:11: '('
 			{
 			match('('); if (state.failed) return;
 			}
@@ -2812,8 +2797,8 @@ public class DRL6Lexer extends AbstractDRLLexer {
 		try {
 			int _type = RIGHT_PAREN;
 			int _channel = DEFAULT_TOKEN_CHANNEL;
-			// src/main/resources/org/drools/compiler/lang/DRL6Lexer.g:242:9: ( ')' )
-			// src/main/resources/org/drools/compiler/lang/DRL6Lexer.g:242:11: ')'
+			// src/main/resources/org/drools/drl/parser/DRL6Lexer.g:242:9: ( ')' )
+			// src/main/resources/org/drools/drl/parser/DRL6Lexer.g:242:11: ')'
 			{
 			match(')'); if (state.failed) return;
 			}
@@ -2832,8 +2817,8 @@ public class DRL6Lexer extends AbstractDRLLexer {
 		try {
 			int _type = LEFT_SQUARE;
 			int _channel = DEFAULT_TOKEN_CHANNEL;
-			// src/main/resources/org/drools/compiler/lang/DRL6Lexer.g:246:9: ( '[' )
-			// src/main/resources/org/drools/compiler/lang/DRL6Lexer.g:246:11: '['
+			// src/main/resources/org/drools/drl/parser/DRL6Lexer.g:246:9: ( '[' )
+			// src/main/resources/org/drools/drl/parser/DRL6Lexer.g:246:11: '['
 			{
 			match('['); if (state.failed) return;
 			}
@@ -2852,8 +2837,8 @@ public class DRL6Lexer extends AbstractDRLLexer {
 		try {
 			int _type = RIGHT_SQUARE;
 			int _channel = DEFAULT_TOKEN_CHANNEL;
-			// src/main/resources/org/drools/compiler/lang/DRL6Lexer.g:250:9: ( ']' )
-			// src/main/resources/org/drools/compiler/lang/DRL6Lexer.g:250:11: ']'
+			// src/main/resources/org/drools/drl/parser/DRL6Lexer.g:250:9: ( ']' )
+			// src/main/resources/org/drools/drl/parser/DRL6Lexer.g:250:11: ']'
 			{
 			match(']'); if (state.failed) return;
 			}
@@ -2872,8 +2857,8 @@ public class DRL6Lexer extends AbstractDRLLexer {
 		try {
 			int _type = LEFT_CURLY;
 			int _channel = DEFAULT_TOKEN_CHANNEL;
-			// src/main/resources/org/drools/compiler/lang/DRL6Lexer.g:254:9: ( '{' )
-			// src/main/resources/org/drools/compiler/lang/DRL6Lexer.g:254:11: '{'
+			// src/main/resources/org/drools/drl/parser/DRL6Lexer.g:254:9: ( '{' )
+			// src/main/resources/org/drools/drl/parser/DRL6Lexer.g:254:11: '{'
 			{
 			match('{'); if (state.failed) return;
 			}
@@ -2892,8 +2877,8 @@ public class DRL6Lexer extends AbstractDRLLexer {
 		try {
 			int _type = RIGHT_CURLY;
 			int _channel = DEFAULT_TOKEN_CHANNEL;
-			// src/main/resources/org/drools/compiler/lang/DRL6Lexer.g:258:9: ( '}' )
-			// src/main/resources/org/drools/compiler/lang/DRL6Lexer.g:258:11: '}'
+			// src/main/resources/org/drools/drl/parser/DRL6Lexer.g:258:9: ( '}' )
+			// src/main/resources/org/drools/drl/parser/DRL6Lexer.g:258:11: '}'
 			{
 			match('}'); if (state.failed) return;
 			}
@@ -2912,8 +2897,8 @@ public class DRL6Lexer extends AbstractDRLLexer {
 		try {
 			int _type = COMMA;
 			int _channel = DEFAULT_TOKEN_CHANNEL;
-			// src/main/resources/org/drools/compiler/lang/DRL6Lexer.g:261:7: ( ',' )
-			// src/main/resources/org/drools/compiler/lang/DRL6Lexer.g:261:9: ','
+			// src/main/resources/org/drools/drl/parser/DRL6Lexer.g:261:7: ( ',' )
+			// src/main/resources/org/drools/drl/parser/DRL6Lexer.g:261:9: ','
 			{
 			match(','); if (state.failed) return;
 			}
@@ -2932,8 +2917,8 @@ public class DRL6Lexer extends AbstractDRLLexer {
 		try {
 			int _type = DOT;
 			int _channel = DEFAULT_TOKEN_CHANNEL;
-			// src/main/resources/org/drools/compiler/lang/DRL6Lexer.g:264:5: ( '.' )
-			// src/main/resources/org/drools/compiler/lang/DRL6Lexer.g:264:7: '.'
+			// src/main/resources/org/drools/drl/parser/DRL6Lexer.g:264:5: ( '.' )
+			// src/main/resources/org/drools/drl/parser/DRL6Lexer.g:264:7: '.'
 			{
 			match('.'); if (state.failed) return;
 			}
@@ -2952,8 +2937,8 @@ public class DRL6Lexer extends AbstractDRLLexer {
 		try {
 			int _type = NULL_SAFE_DOT;
 			int _channel = DEFAULT_TOKEN_CHANNEL;
-			// src/main/resources/org/drools/compiler/lang/DRL6Lexer.g:267:15: ( '!.' )
-			// src/main/resources/org/drools/compiler/lang/DRL6Lexer.g:267:17: '!.'
+			// src/main/resources/org/drools/drl/parser/DRL6Lexer.g:267:15: ( '!.' )
+			// src/main/resources/org/drools/drl/parser/DRL6Lexer.g:267:17: '!.'
 			{
 			match("!."); if (state.failed) return;
 
@@ -2973,8 +2958,8 @@ public class DRL6Lexer extends AbstractDRLLexer {
 		try {
 			int _type = DOUBLE_AMPER;
 			int _channel = DEFAULT_TOKEN_CHANNEL;
-			// src/main/resources/org/drools/compiler/lang/DRL6Lexer.g:271:5: ( '&&' )
-			// src/main/resources/org/drools/compiler/lang/DRL6Lexer.g:271:7: '&&'
+			// src/main/resources/org/drools/drl/parser/DRL6Lexer.g:271:5: ( '&&' )
+			// src/main/resources/org/drools/drl/parser/DRL6Lexer.g:271:7: '&&'
 			{
 			match("&&"); if (state.failed) return;
 
@@ -2994,8 +2979,8 @@ public class DRL6Lexer extends AbstractDRLLexer {
 		try {
 			int _type = DOUBLE_PIPE;
 			int _channel = DEFAULT_TOKEN_CHANNEL;
-			// src/main/resources/org/drools/compiler/lang/DRL6Lexer.g:275:5: ( '||' )
-			// src/main/resources/org/drools/compiler/lang/DRL6Lexer.g:275:7: '||'
+			// src/main/resources/org/drools/drl/parser/DRL6Lexer.g:275:5: ( '||' )
+			// src/main/resources/org/drools/drl/parser/DRL6Lexer.g:275:7: '||'
 			{
 			match("||"); if (state.failed) return;
 
@@ -3015,8 +3000,8 @@ public class DRL6Lexer extends AbstractDRLLexer {
 		try {
 			int _type = QUESTION;
 			int _channel = DEFAULT_TOKEN_CHANNEL;
-			// src/main/resources/org/drools/compiler/lang/DRL6Lexer.g:279:5: ( '?' )
-			// src/main/resources/org/drools/compiler/lang/DRL6Lexer.g:279:7: '?'
+			// src/main/resources/org/drools/drl/parser/DRL6Lexer.g:279:5: ( '?' )
+			// src/main/resources/org/drools/drl/parser/DRL6Lexer.g:279:7: '?'
 			{
 			match('?'); if (state.failed) return;
 			}
@@ -3035,8 +3020,8 @@ public class DRL6Lexer extends AbstractDRLLexer {
 		try {
 			int _type = NEGATION;
 			int _channel = DEFAULT_TOKEN_CHANNEL;
-			// src/main/resources/org/drools/compiler/lang/DRL6Lexer.g:283:5: ( '!' )
-			// src/main/resources/org/drools/compiler/lang/DRL6Lexer.g:283:7: '!'
+			// src/main/resources/org/drools/drl/parser/DRL6Lexer.g:283:5: ( '!' )
+			// src/main/resources/org/drools/drl/parser/DRL6Lexer.g:283:7: '!'
 			{
 			match('!'); if (state.failed) return;
 			}
@@ -3055,8 +3040,8 @@ public class DRL6Lexer extends AbstractDRLLexer {
 		try {
 			int _type = TILDE;
 			int _channel = DEFAULT_TOKEN_CHANNEL;
-			// src/main/resources/org/drools/compiler/lang/DRL6Lexer.g:287:5: ( '~' )
-			// src/main/resources/org/drools/compiler/lang/DRL6Lexer.g:287:7: '~'
+			// src/main/resources/org/drools/drl/parser/DRL6Lexer.g:287:5: ( '~' )
+			// src/main/resources/org/drools/drl/parser/DRL6Lexer.g:287:7: '~'
 			{
 			match('~'); if (state.failed) return;
 			}
@@ -3075,8 +3060,8 @@ public class DRL6Lexer extends AbstractDRLLexer {
 		try {
 			int _type = PIPE;
 			int _channel = DEFAULT_TOKEN_CHANNEL;
-			// src/main/resources/org/drools/compiler/lang/DRL6Lexer.g:291:5: ( '|' )
-			// src/main/resources/org/drools/compiler/lang/DRL6Lexer.g:291:7: '|'
+			// src/main/resources/org/drools/drl/parser/DRL6Lexer.g:291:5: ( '|' )
+			// src/main/resources/org/drools/drl/parser/DRL6Lexer.g:291:7: '|'
 			{
 			match('|'); if (state.failed) return;
 			}
@@ -3095,8 +3080,8 @@ public class DRL6Lexer extends AbstractDRLLexer {
 		try {
 			int _type = AMPER;
 			int _channel = DEFAULT_TOKEN_CHANNEL;
-			// src/main/resources/org/drools/compiler/lang/DRL6Lexer.g:295:5: ( '&' )
-			// src/main/resources/org/drools/compiler/lang/DRL6Lexer.g:295:7: '&'
+			// src/main/resources/org/drools/drl/parser/DRL6Lexer.g:295:5: ( '&' )
+			// src/main/resources/org/drools/drl/parser/DRL6Lexer.g:295:7: '&'
 			{
 			match('&'); if (state.failed) return;
 			}
@@ -3115,8 +3100,8 @@ public class DRL6Lexer extends AbstractDRLLexer {
 		try {
 			int _type = XOR;
 			int _channel = DEFAULT_TOKEN_CHANNEL;
-			// src/main/resources/org/drools/compiler/lang/DRL6Lexer.g:299:5: ( '^' )
-			// src/main/resources/org/drools/compiler/lang/DRL6Lexer.g:299:7: '^'
+			// src/main/resources/org/drools/drl/parser/DRL6Lexer.g:299:5: ( '^' )
+			// src/main/resources/org/drools/drl/parser/DRL6Lexer.g:299:7: '^'
 			{
 			match('^'); if (state.failed) return;
 			}
@@ -3135,8 +3120,8 @@ public class DRL6Lexer extends AbstractDRLLexer {
 		try {
 			int _type = MOD;
 			int _channel = DEFAULT_TOKEN_CHANNEL;
-			// src/main/resources/org/drools/compiler/lang/DRL6Lexer.g:303:5: ( '%' )
-			// src/main/resources/org/drools/compiler/lang/DRL6Lexer.g:303:7: '%'
+			// src/main/resources/org/drools/drl/parser/DRL6Lexer.g:303:5: ( '%' )
+			// src/main/resources/org/drools/drl/parser/DRL6Lexer.g:303:7: '%'
 			{
 			match('%'); if (state.failed) return;
 			}
@@ -3155,8 +3140,8 @@ public class DRL6Lexer extends AbstractDRLLexer {
 		try {
 			int _type = STAR;
 			int _channel = DEFAULT_TOKEN_CHANNEL;
-			// src/main/resources/org/drools/compiler/lang/DRL6Lexer.g:306:6: ( '*' )
-			// src/main/resources/org/drools/compiler/lang/DRL6Lexer.g:306:8: '*'
+			// src/main/resources/org/drools/drl/parser/DRL6Lexer.g:306:6: ( '*' )
+			// src/main/resources/org/drools/drl/parser/DRL6Lexer.g:306:8: '*'
 			{
 			match('*'); if (state.failed) return;
 			}
@@ -3175,8 +3160,8 @@ public class DRL6Lexer extends AbstractDRLLexer {
 		try {
 			int _type = MINUS;
 			int _channel = DEFAULT_TOKEN_CHANNEL;
-			// src/main/resources/org/drools/compiler/lang/DRL6Lexer.g:309:7: ( '-' )
-			// src/main/resources/org/drools/compiler/lang/DRL6Lexer.g:309:9: '-'
+			// src/main/resources/org/drools/drl/parser/DRL6Lexer.g:309:7: ( '-' )
+			// src/main/resources/org/drools/drl/parser/DRL6Lexer.g:309:9: '-'
 			{
 			match('-'); if (state.failed) return;
 			}
@@ -3195,8 +3180,8 @@ public class DRL6Lexer extends AbstractDRLLexer {
 		try {
 			int _type = PLUS;
 			int _channel = DEFAULT_TOKEN_CHANNEL;
-			// src/main/resources/org/drools/compiler/lang/DRL6Lexer.g:312:6: ( '+' )
-			// src/main/resources/org/drools/compiler/lang/DRL6Lexer.g:312:8: '+'
+			// src/main/resources/org/drools/drl/parser/DRL6Lexer.g:312:6: ( '+' )
+			// src/main/resources/org/drools/drl/parser/DRL6Lexer.g:312:8: '+'
 			{
 			match('+'); if (state.failed) return;
 			}
@@ -3215,8 +3200,8 @@ public class DRL6Lexer extends AbstractDRLLexer {
 		try {
 			int _type = HASH;
 			int _channel = DEFAULT_TOKEN_CHANNEL;
-			// src/main/resources/org/drools/compiler/lang/DRL6Lexer.g:315:9: ( '#' )
-			// src/main/resources/org/drools/compiler/lang/DRL6Lexer.g:315:13: '#'
+			// src/main/resources/org/drools/drl/parser/DRL6Lexer.g:315:9: ( '#' )
+			// src/main/resources/org/drools/drl/parser/DRL6Lexer.g:315:13: '#'
 			{
 			match('#'); if (state.failed) return;
 			}
@@ -3235,12 +3220,12 @@ public class DRL6Lexer extends AbstractDRLLexer {
 		try {
 			int _type = C_STYLE_SINGLE_LINE_COMMENT;
 			int _channel = DEFAULT_TOKEN_CHANNEL;
-			// src/main/resources/org/drools/compiler/lang/DRL6Lexer.g:319:5: ( '//' (~ ( '\\r' | '\\n' ) )* ( EOL | EOF ) )
-			// src/main/resources/org/drools/compiler/lang/DRL6Lexer.g:319:7: '//' (~ ( '\\r' | '\\n' ) )* ( EOL | EOF )
+			// src/main/resources/org/drools/drl/parser/DRL6Lexer.g:319:5: ( '//' (~ ( '\\r' | '\\n' ) )* ( EOL | EOF ) )
+			// src/main/resources/org/drools/drl/parser/DRL6Lexer.g:319:7: '//' (~ ( '\\r' | '\\n' ) )* ( EOL | EOF )
 			{
 			match("//"); if (state.failed) return;
 
-			// src/main/resources/org/drools/compiler/lang/DRL6Lexer.g:319:12: (~ ( '\\r' | '\\n' ) )*
+			// src/main/resources/org/drools/drl/parser/DRL6Lexer.g:319:12: (~ ( '\\r' | '\\n' ) )*
 			loop57:
 			while (true) {
 				int alt57=2;
@@ -3251,7 +3236,7 @@ public class DRL6Lexer extends AbstractDRLLexer {
 
 				switch (alt57) {
 				case 1 :
-					// src/main/resources/org/drools/compiler/lang/DRL6Lexer.g:
+					// src/main/resources/org/drools/drl/parser/DRL6Lexer.g:
 					{
 					if ( (input.LA(1) >= '\u0000' && input.LA(1) <= '\t')||(input.LA(1) >= '\u000B' && input.LA(1) <= '\f')||(input.LA(1) >= '\u000E' && input.LA(1) <= '\uFFFF') ) {
 						input.consume();
@@ -3271,7 +3256,7 @@ public class DRL6Lexer extends AbstractDRLLexer {
 				}
 			}
 
-			// src/main/resources/org/drools/compiler/lang/DRL6Lexer.g:319:28: ( EOL | EOF )
+			// src/main/resources/org/drools/drl/parser/DRL6Lexer.g:319:28: ( EOL | EOF )
 			int alt58=2;
 			int LA58_0 = input.LA(1);
 			if ( (LA58_0=='\n'||LA58_0=='\r') ) {
@@ -3284,14 +3269,14 @@ public class DRL6Lexer extends AbstractDRLLexer {
 
 			switch (alt58) {
 				case 1 :
-					// src/main/resources/org/drools/compiler/lang/DRL6Lexer.g:319:29: EOL
+					// src/main/resources/org/drools/drl/parser/DRL6Lexer.g:319:29: EOL
 					{
 					mEOL(); if (state.failed) return;
 
 					}
 					break;
 				case 2 :
-					// src/main/resources/org/drools/compiler/lang/DRL6Lexer.g:319:33: EOF
+					// src/main/resources/org/drools/drl/parser/DRL6Lexer.g:319:33: EOF
 					{
 					match(EOF); if (state.failed) return;
 
@@ -3317,12 +3302,12 @@ public class DRL6Lexer extends AbstractDRLLexer {
 		try {
 			int _type = MULTI_LINE_COMMENT;
 			int _channel = DEFAULT_TOKEN_CHANNEL;
-			// src/main/resources/org/drools/compiler/lang/DRL6Lexer.g:324:5: ( '/*' ( options {greedy=false; } : . )* '*/' )
-			// src/main/resources/org/drools/compiler/lang/DRL6Lexer.g:324:7: '/*' ( options {greedy=false; } : . )* '*/'
+			// src/main/resources/org/drools/drl/parser/DRL6Lexer.g:324:5: ( '/*' ( options {greedy=false; } : . )* '*/' )
+			// src/main/resources/org/drools/drl/parser/DRL6Lexer.g:324:7: '/*' ( options {greedy=false; } : . )* '*/'
 			{
 			match("/*"); if (state.failed) return;
 
-			// src/main/resources/org/drools/compiler/lang/DRL6Lexer.g:324:12: ( options {greedy=false; } : . )*
+			// src/main/resources/org/drools/drl/parser/DRL6Lexer.g:324:12: ( options {greedy=false; } : . )*
 			loop59:
 			while (true) {
 				int alt59=2;
@@ -3343,7 +3328,7 @@ public class DRL6Lexer extends AbstractDRLLexer {
 
 				switch (alt59) {
 				case 1 :
-					// src/main/resources/org/drools/compiler/lang/DRL6Lexer.g:324:38: .
+					// src/main/resources/org/drools/drl/parser/DRL6Lexer.g:324:38: .
 					{
 					matchAny(); if (state.failed) return;
 					}
@@ -3373,7 +3358,7 @@ public class DRL6Lexer extends AbstractDRLLexer {
 		try {
 			int _type = ID;
 			int _channel = DEFAULT_TOKEN_CHANNEL;
-			// src/main/resources/org/drools/compiler/lang/DRL6Lexer.g:329:5: ( IdentifierStart ( IdentifierPart )* | '`' IdentifierStart ( IdentifierPart )* '`' )
+			// src/main/resources/org/drools/drl/parser/DRL6Lexer.g:329:5: ( IdentifierStart ( IdentifierPart )* | '`' IdentifierStart ( IdentifierPart )* '`' )
 			int alt62=2;
 			int LA62_0 = input.LA(1);
 			if ( (LA62_0=='$'||(LA62_0 >= 'A' && LA62_0 <= 'Z')||LA62_0=='_'||(LA62_0 >= 'a' && LA62_0 <= 'z')||(LA62_0 >= '\u00A2' && LA62_0 <= '\u00A5')||LA62_0=='\u00AA'||LA62_0=='\u00B5'||LA62_0=='\u00BA'||(LA62_0 >= '\u00C0' && LA62_0 <= '\u00D6')||(LA62_0 >= '\u00D8' && LA62_0 <= '\u00F6')||(LA62_0 >= '\u00F8' && LA62_0 <= '\u0236')||(LA62_0 >= '\u0250' && LA62_0 <= '\u02C1')||(LA62_0 >= '\u02C6' && LA62_0 <= '\u02D1')||(LA62_0 >= '\u02E0' && LA62_0 <= '\u02E4')||LA62_0=='\u02EE'||LA62_0==' [...]
@@ -3392,11 +3377,11 @@ public class DRL6Lexer extends AbstractDRLLexer {
 
 			switch (alt62) {
 				case 1 :
-					// src/main/resources/org/drools/compiler/lang/DRL6Lexer.g:329:7: IdentifierStart ( IdentifierPart )*
+					// src/main/resources/org/drools/drl/parser/DRL6Lexer.g:329:7: IdentifierStart ( IdentifierPart )*
 					{
 					mIdentifierStart(); if (state.failed) return;
 
-					// src/main/resources/org/drools/compiler/lang/DRL6Lexer.g:329:23: ( IdentifierPart )*
+					// src/main/resources/org/drools/drl/parser/DRL6Lexer.g:329:23: ( IdentifierPart )*
 					loop60:
 					while (true) {
 						int alt60=2;
@@ -3407,7 +3392,7 @@ public class DRL6Lexer extends AbstractDRLLexer {
 
 						switch (alt60) {
 						case 1 :
-							// src/main/resources/org/drools/compiler/lang/DRL6Lexer.g:
+							// src/main/resources/org/drools/drl/parser/DRL6Lexer.g:
 							{
 							if ( (input.LA(1) >= '\u0000' && input.LA(1) <= '\b')||(input.LA(1) >= '\u000E' && input.LA(1) <= '\u001B')||input.LA(1)=='$'||(input.LA(1) >= '0' && input.LA(1) <= '9')||(input.LA(1) >= 'A' && input.LA(1) <= 'Z')||input.LA(1)=='_'||(input.LA(1) >= 'a' && input.LA(1) <= 'z')||(input.LA(1) >= '\u007F' && input.LA(1) <= '\u009F')||(input.LA(1) >= '\u00A2' && input.LA(1) <= '\u00A5')||input.LA(1)=='\u00AA'||input.LA(1)=='\u00AD'||input.LA(1)=='\u00B5'||input.LA(1)=='\u00BA'||(input.L [...]
 								input.consume();
@@ -3430,12 +3415,12 @@ public class DRL6Lexer extends AbstractDRLLexer {
 					}
 					break;
 				case 2 :
-					// src/main/resources/org/drools/compiler/lang/DRL6Lexer.g:330:7: '`' IdentifierStart ( IdentifierPart )* '`'
+					// src/main/resources/org/drools/drl/parser/DRL6Lexer.g:330:7: '`' IdentifierStart ( IdentifierPart )* '`'
 					{
 					match('`'); if (state.failed) return;
 					mIdentifierStart(); if (state.failed) return;
 
-					// src/main/resources/org/drools/compiler/lang/DRL6Lexer.g:330:27: ( IdentifierPart )*
+					// src/main/resources/org/drools/drl/parser/DRL6Lexer.g:330:27: ( IdentifierPart )*
 					loop61:
 					while (true) {
 						int alt61=2;
@@ -3446,7 +3431,7 @@ public class DRL6Lexer extends AbstractDRLLexer {
 
 						switch (alt61) {
 						case 1 :
-							// src/main/resources/org/drools/compiler/lang/DRL6Lexer.g:
+							// src/main/resources/org/drools/drl/parser/DRL6Lexer.g:
 							{
 							if ( (input.LA(1) >= '\u0000' && input.LA(1) <= '\b')||(input.LA(1) >= '\u000E' && input.LA(1) <= '\u001B')||input.LA(1)=='$'||(input.LA(1) >= '0' && input.LA(1) <= '9')||(input.LA(1) >= 'A' && input.LA(1) <= 'Z')||input.LA(1)=='_'||(input.LA(1) >= 'a' && input.LA(1) <= 'z')||(input.LA(1) >= '\u007F' && input.LA(1) <= '\u009F')||(input.LA(1) >= '\u00A2' && input.LA(1) <= '\u00A5')||input.LA(1)=='\u00AA'||input.LA(1)=='\u00AD'||input.LA(1)=='\u00B5'||input.LA(1)=='\u00BA'||(input.L [...]
 								input.consume();
@@ -3486,8 +3471,8 @@ public class DRL6Lexer extends AbstractDRLLexer {
 		try {
 			int _type = DIV;
 			int _channel = DEFAULT_TOKEN_CHANNEL;
-			// src/main/resources/org/drools/compiler/lang/DRL6Lexer.g:335:5: ( '/' )
-			// src/main/resources/org/drools/compiler/lang/DRL6Lexer.g:335:7: '/'
+			// src/main/resources/org/drools/drl/parser/DRL6Lexer.g:335:5: ( '/' )
+			// src/main/resources/org/drools/drl/parser/DRL6Lexer.g:335:7: '/'
 			{
 			match('/'); if (state.failed) return;
 			}
@@ -3506,8 +3491,8 @@ public class DRL6Lexer extends AbstractDRLLexer {
 		try {
 			int _type = QUESTION_DIV;
 			int _channel = DEFAULT_TOKEN_CHANNEL;
-			// src/main/resources/org/drools/compiler/lang/DRL6Lexer.g:339:5: ( '?/' )
-			// src/main/resources/org/drools/compiler/lang/DRL6Lexer.g:339:7: '?/'
+			// src/main/resources/org/drools/drl/parser/DRL6Lexer.g:339:5: ( '?/' )
+			// src/main/resources/org/drools/drl/parser/DRL6Lexer.g:339:7: '?/'
 			{
 			match("?/"); if (state.failed) return;
 
@@ -3527,8 +3512,8 @@ public class DRL6Lexer extends AbstractDRLLexer {
 		try {
 			int _type = MISC;
 			int _channel = DEFAULT_TOKEN_CHANNEL;
-			// src/main/resources/org/drools/compiler/lang/DRL6Lexer.g:342:7: ( '\\'' | '\\\\' | '$' )
-			// src/main/resources/org/drools/compiler/lang/DRL6Lexer.g:
+			// src/main/resources/org/drools/drl/parser/DRL6Lexer.g:342:7: ( '\\'' | '\\\\' | '$' )
+			// src/main/resources/org/drools/drl/parser/DRL6Lexer.g:
 			{
 			if ( input.LA(1)=='$'||input.LA(1)=='\''||input.LA(1)=='\\' ) {
 				input.consume();
@@ -3554,8 +3539,8 @@ public class DRL6Lexer extends AbstractDRLLexer {
 	// $ANTLR start "IdentifierStart"
 	public final void mIdentifierStart() throws RecognitionException {
 		try {
-			// src/main/resources/org/drools/compiler/lang/DRL6Lexer.g:348:5: ( '\\u0024' | '\\u0041' .. '\\u005a' | '\\u005f' | '\\u0061' .. '\\u007a' | '\\u00a2' .. '\\u00a5' | '\\u00aa' | '\\u00b5' | '\\u00ba' | '\\u00c0' .. '\\u00d6' | '\\u00d8' .. '\\u00f6' | '\\u00f8' .. '\\u0236' | '\\u0250' .. '\\u02c1' | '\\u02c6' .. '\\u02d1' | '\\u02e0' .. '\\u02e4' | '\\u02ee' | '\\u037a' | '\\u0386' | '\\u0388' .. '\\u038a' | '\\u038c' | '\\u038e' .. '\\u03a1' | '\\u03a3' .. '\\u03ce' | '\\u03d0' ..  [...]
-			// src/main/resources/org/drools/compiler/lang/DRL6Lexer.g:
+			// src/main/resources/org/drools/drl/parser/DRL6Lexer.g:348:5: ( '\\u0024' | '\\u0041' .. '\\u005a' | '\\u005f' | '\\u0061' .. '\\u007a' | '\\u00a2' .. '\\u00a5' | '\\u00aa' | '\\u00b5' | '\\u00ba' | '\\u00c0' .. '\\u00d6' | '\\u00d8' .. '\\u00f6' | '\\u00f8' .. '\\u0236' | '\\u0250' .. '\\u02c1' | '\\u02c6' .. '\\u02d1' | '\\u02e0' .. '\\u02e4' | '\\u02ee' | '\\u037a' | '\\u0386' | '\\u0388' .. '\\u038a' | '\\u038c' | '\\u038e' .. '\\u03a1' | '\\u03a3' .. '\\u03ce' | '\\u03d0' .. '\\ [...]
+			// src/main/resources/org/drools/drl/parser/DRL6Lexer.g:
 			{
 			if ( input.LA(1)=='$'||(input.LA(1) >= 'A' && input.LA(1) <= 'Z')||input.LA(1)=='_'||(input.LA(1) >= 'a' && input.LA(1) <= 'z')||(input.LA(1) >= '\u00A2' && input.LA(1) <= '\u00A5')||input.LA(1)=='\u00AA'||input.LA(1)=='\u00B5'||input.LA(1)=='\u00BA'||(input.LA(1) >= '\u00C0' && input.LA(1) <= '\u00D6')||(input.LA(1) >= '\u00D8' && input.LA(1) <= '\u00F6')||(input.LA(1) >= '\u00F8' && input.LA(1) <= '\u0236')||(input.LA(1) >= '\u0250' && input.LA(1) <= '\u02C1')||(input.LA(1) >= '\u02 [...]
 				input.consume();
@@ -3579,8 +3564,8 @@ public class DRL6Lexer extends AbstractDRLLexer {
 	// $ANTLR start "IdentifierPart"
 	public final void mIdentifierPart() throws RecognitionException {
 		try {
-			// src/main/resources/org/drools/compiler/lang/DRL6Lexer.g:646:5: ( '\\u0000' .. '\\u0008' | '\\u000e' .. '\\u001b' | '\\u0024' | '\\u0030' .. '\\u0039' | '\\u0041' .. '\\u005a' | '\\u005f' | '\\u0061' .. '\\u007a' | '\\u007f' .. '\\u009f' | '\\u00a2' .. '\\u00a5' | '\\u00aa' | '\\u00ad' | '\\u00b5' | '\\u00ba' | '\\u00c0' .. '\\u00d6' | '\\u00d8' .. '\\u00f6' | '\\u00f8' .. '\\u0236' | '\\u0250' .. '\\u02c1' | '\\u02c6' .. '\\u02d1' | '\\u02e0' .. '\\u02e4' | '\\u02ee' | '\\u0300' .. [...]
-			// src/main/resources/org/drools/compiler/lang/DRL6Lexer.g:
+			// src/main/resources/org/drools/drl/parser/DRL6Lexer.g:646:5: ( '\\u0000' .. '\\u0008' | '\\u000e' .. '\\u001b' | '\\u0024' | '\\u0030' .. '\\u0039' | '\\u0041' .. '\\u005a' | '\\u005f' | '\\u0061' .. '\\u007a' | '\\u007f' .. '\\u009f' | '\\u00a2' .. '\\u00a5' | '\\u00aa' | '\\u00ad' | '\\u00b5' | '\\u00ba' | '\\u00c0' .. '\\u00d6' | '\\u00d8' .. '\\u00f6' | '\\u00f8' .. '\\u0236' | '\\u0250' .. '\\u02c1' | '\\u02c6' .. '\\u02d1' | '\\u02e0' .. '\\u02e4' | '\\u02ee' | '\\u0300' .. '\ [...]
+			// src/main/resources/org/drools/drl/parser/DRL6Lexer.g:
 			{
 			if ( (input.LA(1) >= '\u0000' && input.LA(1) <= '\b')||(input.LA(1) >= '\u000E' && input.LA(1) <= '\u001B')||input.LA(1)=='$'||(input.LA(1) >= '0' && input.LA(1) <= '9')||(input.LA(1) >= 'A' && input.LA(1) <= 'Z')||input.LA(1)=='_'||(input.LA(1) >= 'a' && input.LA(1) <= 'z')||(input.LA(1) >= '\u007F' && input.LA(1) <= '\u009F')||(input.LA(1) >= '\u00A2' && input.LA(1) <= '\u00A5')||input.LA(1)=='\u00AA'||input.LA(1)=='\u00AD'||input.LA(1)=='\u00B5'||input.LA(1)=='\u00BA'||(input.LA(1) [...]
 				input.consume();
@@ -3603,411 +3588,411 @@ public class DRL6Lexer extends AbstractDRLLexer {
 
 	@Override
 	public void mTokens() throws RecognitionException {
-		// src/main/resources/org/drools/compiler/lang/DRL6Lexer.g:1:8: ( WS | FLOAT | HEX | DECIMAL | STRING | TIME_INTERVAL | BOOL | NULL | AT | PLUS_ASSIGN | MINUS_ASSIGN | MULT_ASSIGN | DIV_ASSIGN | AND_ASSIGN | OR_ASSIGN | XOR_ASSIGN | MOD_ASSIGN | UNIFY | DECR | INCR | ARROW | SEMICOLON | COLON | EQUALS | NOT_EQUALS | GREATER_EQUALS | LESS_EQUALS | GREATER | LESS | EQUALS_ASSIGN | LEFT_PAREN | RIGHT_PAREN | LEFT_SQUARE | RIGHT_SQUARE | LEFT_CURLY | RIGHT_CURLY | COMMA | DOT | NULL_SAFE_D [...]
+		// src/main/resources/org/drools/drl/parser/DRL6Lexer.g:1:8: ( WS | FLOAT | HEX | DECIMAL | STRING | TIME_INTERVAL | BOOL | NULL | AT | PLUS_ASSIGN | MINUS_ASSIGN | MULT_ASSIGN | DIV_ASSIGN | AND_ASSIGN | OR_ASSIGN | XOR_ASSIGN | MOD_ASSIGN | UNIFY | DECR | INCR | ARROW | SEMICOLON | COLON | EQUALS | NOT_EQUALS | GREATER_EQUALS | LESS_EQUALS | GREATER | LESS | EQUALS_ASSIGN | LEFT_PAREN | RIGHT_PAREN | LEFT_SQUARE | RIGHT_SQUARE | LEFT_CURLY | RIGHT_CURLY | COMMA | DOT | NULL_SAFE_DOT  [...]
 		int alt63=58;
 		alt63 = dfa63.predict(input);
 		switch (alt63) {
 			case 1 :
-				// src/main/resources/org/drools/compiler/lang/DRL6Lexer.g:1:10: WS
+				// src/main/resources/org/drools/drl/parser/DRL6Lexer.g:1:10: WS
 				{
 				mWS(); if (state.failed) return;
 
 				}
 				break;
 			case 2 :
-				// src/main/resources/org/drools/compiler/lang/DRL6Lexer.g:1:13: FLOAT
+				// src/main/resources/org/drools/drl/parser/DRL6Lexer.g:1:13: FLOAT
 				{
 				mFLOAT(); if (state.failed) return;
 
 				}
 				break;
 			case 3 :
-				// src/main/resources/org/drools/compiler/lang/DRL6Lexer.g:1:19: HEX
+				// src/main/resources/org/drools/drl/parser/DRL6Lexer.g:1:19: HEX
 				{
 				mHEX(); if (state.failed) return;
 
 				}
 				break;
 			case 4 :
-				// src/main/resources/org/drools/compiler/lang/DRL6Lexer.g:1:23: DECIMAL
+				// src/main/resources/org/drools/drl/parser/DRL6Lexer.g:1:23: DECIMAL
 				{
 				mDECIMAL(); if (state.failed) return;
 
 				}
 				break;
 			case 5 :
-				// src/main/resources/org/drools/compiler/lang/DRL6Lexer.g:1:31: STRING
+				// src/main/resources/org/drools/drl/parser/DRL6Lexer.g:1:31: STRING
 				{
 				mSTRING(); if (state.failed) return;
 
 				}
 				break;
 			case 6 :
-				// src/main/resources/org/drools/compiler/lang/DRL6Lexer.g:1:38: TIME_INTERVAL
+				// src/main/resources/org/drools/drl/parser/DRL6Lexer.g:1:38: TIME_INTERVAL
 				{
 				mTIME_INTERVAL(); if (state.failed) return;
 
 				}
 				break;
 			case 7 :
-				// src/main/resources/org/drools/compiler/lang/DRL6Lexer.g:1:52: BOOL
+				// src/main/resources/org/drools/drl/parser/DRL6Lexer.g:1:52: BOOL
 				{
 				mBOOL(); if (state.failed) return;
 
 				}
 				break;
 			case 8 :
-				// src/main/resources/org/drools/compiler/lang/DRL6Lexer.g:1:57: NULL
+				// src/main/resources/org/drools/drl/parser/DRL6Lexer.g:1:57: NULL
 				{
 				mNULL(); if (state.failed) return;
 
 				}
 				break;
 			case 9 :
-				// src/main/resources/org/drools/compiler/lang/DRL6Lexer.g:1:62: AT
+				// src/main/resources/org/drools/drl/parser/DRL6Lexer.g:1:62: AT
 				{
 				mAT(); if (state.failed) return;
 
 				}
 				break;
 			case 10 :
-				// src/main/resources/org/drools/compiler/lang/DRL6Lexer.g:1:65: PLUS_ASSIGN
+				// src/main/resources/org/drools/drl/parser/DRL6Lexer.g:1:65: PLUS_ASSIGN
 				{
 				mPLUS_ASSIGN(); if (state.failed) return;
 
 				}
 				break;
 			case 11 :
-				// src/main/resources/org/drools/compiler/lang/DRL6Lexer.g:1:77: MINUS_ASSIGN
+				// src/main/resources/org/drools/drl/parser/DRL6Lexer.g:1:77: MINUS_ASSIGN
 				{
 				mMINUS_ASSIGN(); if (state.failed) return;
 
 				}
 				break;
 			case 12 :
-				// src/main/resources/org/drools/compiler/lang/DRL6Lexer.g:1:90: MULT_ASSIGN
+				// src/main/resources/org/drools/drl/parser/DRL6Lexer.g:1:90: MULT_ASSIGN
 				{
 				mMULT_ASSIGN(); if (state.failed) return;
 
 				}
 				break;
 			case 13 :
-				// src/main/resources/org/drools/compiler/lang/DRL6Lexer.g:1:102: DIV_ASSIGN
+				// src/main/resources/org/drools/drl/parser/DRL6Lexer.g:1:102: DIV_ASSIGN
 				{
 				mDIV_ASSIGN(); if (state.failed) return;
 
 				}
 				break;
 			case 14 :
-				// src/main/resources/org/drools/compiler/lang/DRL6Lexer.g:1:113: AND_ASSIGN
+				// src/main/resources/org/drools/drl/parser/DRL6Lexer.g:1:113: AND_ASSIGN
 				{
 				mAND_ASSIGN(); if (state.failed) return;
 
 				}
 				break;
 			case 15 :
-				// src/main/resources/org/drools/compiler/lang/DRL6Lexer.g:1:124: OR_ASSIGN
+				// src/main/resources/org/drools/drl/parser/DRL6Lexer.g:1:124: OR_ASSIGN
 				{
 				mOR_ASSIGN(); if (state.failed) return;
 
 				}
 				break;
 			case 16 :
-				// src/main/resources/org/drools/compiler/lang/DRL6Lexer.g:1:134: XOR_ASSIGN
+				// src/main/resources/org/drools/drl/parser/DRL6Lexer.g:1:134: XOR_ASSIGN
 				{
 				mXOR_ASSIGN(); if (state.failed) return;
 
 				}
 				break;
 			case 17 :
-				// src/main/resources/org/drools/compiler/lang/DRL6Lexer.g:1:145: MOD_ASSIGN
+				// src/main/resources/org/drools/drl/parser/DRL6Lexer.g:1:145: MOD_ASSIGN
 				{
 				mMOD_ASSIGN(); if (state.failed) return;
 
 				}
 				break;
 			case 18 :
-				// src/main/resources/org/drools/compiler/lang/DRL6Lexer.g:1:156: UNIFY
+				// src/main/resources/org/drools/drl/parser/DRL6Lexer.g:1:156: UNIFY
 				{
 				mUNIFY(); if (state.failed) return;
 
 				}
 				break;
 			case 19 :
-				// src/main/resources/org/drools/compiler/lang/DRL6Lexer.g:1:162: DECR
+				// src/main/resources/org/drools/drl/parser/DRL6Lexer.g:1:162: DECR
 				{
 				mDECR(); if (state.failed) return;
 
 				}
 				break;
 			case 20 :
-				// src/main/resources/org/drools/compiler/lang/DRL6Lexer.g:1:167: INCR
+				// src/main/resources/org/drools/drl/parser/DRL6Lexer.g:1:167: INCR
 				{
 				mINCR(); if (state.failed) return;
 
 				}
 				break;
 			case 21 :
-				// src/main/resources/org/drools/compiler/lang/DRL6Lexer.g:1:172: ARROW
+				// src/main/resources/org/drools/drl/parser/DRL6Lexer.g:1:172: ARROW
 				{
 				mARROW(); if (state.failed) return;
 
 				}
 				break;
 			case 22 :
-				// src/main/resources/org/drools/compiler/lang/DRL6Lexer.g:1:178: SEMICOLON
+				// src/main/resources/org/drools/drl/parser/DRL6Lexer.g:1:178: SEMICOLON
 				{
 				mSEMICOLON(); if (state.failed) return;
 
 				}
 				break;
 			case 23 :
-				// src/main/resources/org/drools/compiler/lang/DRL6Lexer.g:1:188: COLON
+				// src/main/resources/org/drools/drl/parser/DRL6Lexer.g:1:188: COLON
 				{
 				mCOLON(); if (state.failed) return;
 
 				}
 				break;
 			case 24 :
-				// src/main/resources/org/drools/compiler/lang/DRL6Lexer.g:1:194: EQUALS
+				// src/main/resources/org/drools/drl/parser/DRL6Lexer.g:1:194: EQUALS
 				{
 				mEQUALS(); if (state.failed) return;
 
 				}
 				break;
 			case 25 :
-				// src/main/resources/org/drools/compiler/lang/DRL6Lexer.g:1:201: NOT_EQUALS
+				// src/main/resources/org/drools/drl/parser/DRL6Lexer.g:1:201: NOT_EQUALS
 				{
 				mNOT_EQUALS(); if (state.failed) return;
 
 				}
 				break;
 			case 26 :
-				// src/main/resources/org/drools/compiler/lang/DRL6Lexer.g:1:212: GREATER_EQUALS
+				// src/main/resources/org/drools/drl/parser/DRL6Lexer.g:1:212: GREATER_EQUALS
 				{
 				mGREATER_EQUALS(); if (state.failed) return;
 
 				}
 				break;
 			case 27 :
-				// src/main/resources/org/drools/compiler/lang/DRL6Lexer.g:1:227: LESS_EQUALS
+				// src/main/resources/org/drools/drl/parser/DRL6Lexer.g:1:227: LESS_EQUALS
 				{
 				mLESS_EQUALS(); if (state.failed) return;
 
 				}
 				break;
 			case 28 :
-				// src/main/resources/org/drools/compiler/lang/DRL6Lexer.g:1:239: GREATER
+				// src/main/resources/org/drools/drl/parser/DRL6Lexer.g:1:239: GREATER
 				{
 				mGREATER(); if (state.failed) return;
 
 				}
 				break;
 			case 29 :
-				// src/main/resources/org/drools/compiler/lang/DRL6Lexer.g:1:247: LESS
+				// src/main/resources/org/drools/drl/parser/DRL6Lexer.g:1:247: LESS
 				{
 				mLESS(); if (state.failed) return;
 
 				}
 				break;
 			case 30 :
-				// src/main/resources/org/drools/compiler/lang/DRL6Lexer.g:1:252: EQUALS_ASSIGN
+				// src/main/resources/org/drools/drl/parser/DRL6Lexer.g:1:252: EQUALS_ASSIGN
 				{
 				mEQUALS_ASSIGN(); if (state.failed) return;
 
 				}
 				break;
 			case 31 :
-				// src/main/resources/org/drools/compiler/lang/DRL6Lexer.g:1:266: LEFT_PAREN
+				// src/main/resources/org/drools/drl/parser/DRL6Lexer.g:1:266: LEFT_PAREN
 				{
 				mLEFT_PAREN(); if (state.failed) return;
 
 				}
 				break;
 			case 32 :
-				// src/main/resources/org/drools/compiler/lang/DRL6Lexer.g:1:277: RIGHT_PAREN
+				// src/main/resources/org/drools/drl/parser/DRL6Lexer.g:1:277: RIGHT_PAREN
 				{
 				mRIGHT_PAREN(); if (state.failed) return;
 
 				}
 				break;
 			case 33 :
-				// src/main/resources/org/drools/compiler/lang/DRL6Lexer.g:1:289: LEFT_SQUARE
+				// src/main/resources/org/drools/drl/parser/DRL6Lexer.g:1:289: LEFT_SQUARE
 				{
 				mLEFT_SQUARE(); if (state.failed) return;
 
 				}
 				break;
 			case 34 :
-				// src/main/resources/org/drools/compiler/lang/DRL6Lexer.g:1:301: RIGHT_SQUARE
+				// src/main/resources/org/drools/drl/parser/DRL6Lexer.g:1:301: RIGHT_SQUARE
 				{
 				mRIGHT_SQUARE(); if (state.failed) return;
 
 				}
 				break;
 			case 35 :
-				// src/main/resources/org/drools/compiler/lang/DRL6Lexer.g:1:314: LEFT_CURLY
+				// src/main/resources/org/drools/drl/parser/DRL6Lexer.g:1:314: LEFT_CURLY
 				{
 				mLEFT_CURLY(); if (state.failed) return;
 
 				}
 				break;
 			case 36 :
-				// src/main/resources/org/drools/compiler/lang/DRL6Lexer.g:1:325: RIGHT_CURLY
+				// src/main/resources/org/drools/drl/parser/DRL6Lexer.g:1:325: RIGHT_CURLY
 				{
 				mRIGHT_CURLY(); if (state.failed) return;
 
 				}
 				break;
 			case 37 :
-				// src/main/resources/org/drools/compiler/lang/DRL6Lexer.g:1:337: COMMA
+				// src/main/resources/org/drools/drl/parser/DRL6Lexer.g:1:337: COMMA
 				{
 				mCOMMA(); if (state.failed) return;
 
 				}
 				break;
 			case 38 :
-				// src/main/resources/org/drools/compiler/lang/DRL6Lexer.g:1:343: DOT
+				// src/main/resources/org/drools/drl/parser/DRL6Lexer.g:1:343: DOT
 				{
 				mDOT(); if (state.failed) return;
 
 				}
 				break;
 			case 39 :
-				// src/main/resources/org/drools/compiler/lang/DRL6Lexer.g:1:347: NULL_SAFE_DOT
+				// src/main/resources/org/drools/drl/parser/DRL6Lexer.g:1:347: NULL_SAFE_DOT
 				{
 				mNULL_SAFE_DOT(); if (state.failed) return;
 
 				}
 				break;
 			case 40 :
-				// src/main/resources/org/drools/compiler/lang/DRL6Lexer.g:1:361: DOUBLE_AMPER
+				// src/main/resources/org/drools/drl/parser/DRL6Lexer.g:1:361: DOUBLE_AMPER
 				{
 				mDOUBLE_AMPER(); if (state.failed) return;
 
 				}
 				break;
 			case 41 :
-				// src/main/resources/org/drools/compiler/lang/DRL6Lexer.g:1:374: DOUBLE_PIPE
+				// src/main/resources/org/drools/drl/parser/DRL6Lexer.g:1:374: DOUBLE_PIPE
 				{
 				mDOUBLE_PIPE(); if (state.failed) return;
 
 				}
 				break;
 			case 42 :
-				// src/main/resources/org/drools/compiler/lang/DRL6Lexer.g:1:386: QUESTION
+				// src/main/resources/org/drools/drl/parser/DRL6Lexer.g:1:386: QUESTION
 				{
 				mQUESTION(); if (state.failed) return;
 
 				}
 				break;
 			case 43 :
-				// src/main/resources/org/drools/compiler/lang/DRL6Lexer.g:1:395: NEGATION
+				// src/main/resources/org/drools/drl/parser/DRL6Lexer.g:1:395: NEGATION
 				{
 				mNEGATION(); if (state.failed) return;
 
 				}
 				break;
 			case 44 :
-				// src/main/resources/org/drools/compiler/lang/DRL6Lexer.g:1:404: TILDE
+				// src/main/resources/org/drools/drl/parser/DRL6Lexer.g:1:404: TILDE
 				{
 				mTILDE(); if (state.failed) return;
 
 				}
 				break;
 			case 45 :
-				// src/main/resources/org/drools/compiler/lang/DRL6Lexer.g:1:410: PIPE
+				// src/main/resources/org/drools/drl/parser/DRL6Lexer.g:1:410: PIPE
 				{
 				mPIPE(); if (state.failed) return;
 
 				}
 				break;
 			case 46 :
-				// src/main/resources/org/drools/compiler/lang/DRL6Lexer.g:1:415: AMPER
+				// src/main/resources/org/drools/drl/parser/DRL6Lexer.g:1:415: AMPER
 				{
 				mAMPER(); if (state.failed) return;
 
 				}
 				break;
 			case 47 :
-				// src/main/resources/org/drools/compiler/lang/DRL6Lexer.g:1:421: XOR
+				// src/main/resources/org/drools/drl/parser/DRL6Lexer.g:1:421: XOR
 				{
 				mXOR(); if (state.failed) return;
 
 				}
 				break;
 			case 48 :
-				// src/main/resources/org/drools/compiler/lang/DRL6Lexer.g:1:425: MOD
+				// src/main/resources/org/drools/drl/parser/DRL6Lexer.g:1:425: MOD
 				{
 				mMOD(); if (state.failed) return;
 
 				}
 				break;
 			case 49 :
-				// src/main/resources/org/drools/compiler/lang/DRL6Lexer.g:1:429: STAR
+				// src/main/resources/org/drools/drl/parser/DRL6Lexer.g:1:429: STAR
 				{
 				mSTAR(); if (state.failed) return;
 
 				}
 				break;
 			case 50 :
-				// src/main/resources/org/drools/compiler/lang/DRL6Lexer.g:1:434: MINUS
+				// src/main/resources/org/drools/drl/parser/DRL6Lexer.g:1:434: MINUS
 				{
 				mMINUS(); if (state.failed) return;
 
 				}
 				break;
 			case 51 :
-				// src/main/resources/org/drools/compiler/lang/DRL6Lexer.g:1:440: PLUS
+				// src/main/resources/org/drools/drl/parser/DRL6Lexer.g:1:440: PLUS
 				{
 				mPLUS(); if (state.failed) return;
 
 				}
 				break;
 			case 52 :
-				// src/main/resources/org/drools/compiler/lang/DRL6Lexer.g:1:445: HASH
+				// src/main/resources/org/drools/drl/parser/DRL6Lexer.g:1:445: HASH
 				{
 				mHASH(); if (state.failed) return;
 
 				}
 				break;
 			case 53 :
-				// src/main/resources/org/drools/compiler/lang/DRL6Lexer.g:1:450: C_STYLE_SINGLE_LINE_COMMENT
+				// src/main/resources/org/drools/drl/parser/DRL6Lexer.g:1:450: C_STYLE_SINGLE_LINE_COMMENT
 				{
 				mC_STYLE_SINGLE_LINE_COMMENT(); if (state.failed) return;
 
 				}
 				break;
 			case 54 :
-				// src/main/resources/org/drools/compiler/lang/DRL6Lexer.g:1:478: MULTI_LINE_COMMENT
+				// src/main/resources/org/drools/drl/parser/DRL6Lexer.g:1:478: MULTI_LINE_COMMENT
 				{
 				mMULTI_LINE_COMMENT(); if (state.failed) return;
 
 				}
 				break;
 			case 55 :
-				// src/main/resources/org/drools/compiler/lang/DRL6Lexer.g:1:497: ID
+				// src/main/resources/org/drools/drl/parser/DRL6Lexer.g:1:497: ID
 				{
 				mID(); if (state.failed) return;
 
 				}
 				break;
 			case 56 :
-				// src/main/resources/org/drools/compiler/lang/DRL6Lexer.g:1:500: DIV
+				// src/main/resources/org/drools/drl/parser/DRL6Lexer.g:1:500: DIV
 				{
 				mDIV(); if (state.failed) return;
 
 				}
 				break;
 			case 57 :
-				// src/main/resources/org/drools/compiler/lang/DRL6Lexer.g:1:504: QUESTION_DIV
+				// src/main/resources/org/drools/drl/parser/DRL6Lexer.g:1:504: QUESTION_DIV
 				{
 				mQUESTION_DIV(); if (state.failed) return;
 
 				}
 				break;
 			case 58 :
-				// src/main/resources/org/drools/compiler/lang/DRL6Lexer.g:1:517: MISC
+				// src/main/resources/org/drools/drl/parser/DRL6Lexer.g:1:517: MISC
 				{
 				mMISC(); if (state.failed) return;
 
@@ -4019,8 +4004,8 @@ public class DRL6Lexer extends AbstractDRLLexer {
 
 	// $ANTLR start synpred1_DRL6Lexer
 	public final void synpred1_DRL6Lexer_fragment() throws RecognitionException {
-		// src/main/resources/org/drools/compiler/lang/DRL6Lexer.g:81:20: ( '\\r\\n' )
-		// src/main/resources/org/drools/compiler/lang/DRL6Lexer.g:81:22: '\\r\\n'
+		// src/main/resources/org/drools/drl/parser/DRL6Lexer.g:81:20: ( '\\r\\n' )
+		// src/main/resources/org/drools/drl/parser/DRL6Lexer.g:81:22: '\\r\\n'
 		{
 		match("\r\n"); if (state.failed) return;
 
diff --git a/drools-drl/drools-drl-parser/src/main/resources/org/drools/drl/parser/DRL6Expressions.g b/drools-drl/drools-drl-parser/src/main/resources/org/drools/drl/parser/DRL6Expressions.g
index 67db73f428..b531c38fef 100644
--- a/drools-drl/drools-drl-parser/src/main/resources/org/drools/drl/parser/DRL6Expressions.g
+++ b/drools-drl/drools-drl-parser/src/main/resources/org/drools/drl/parser/DRL6Expressions.g
@@ -7,16 +7,16 @@ options {
 }
   
 @header {
-    package org.drools.compiler.lang;
+    package org.drools.drl.parser.lang;
 
     import java.util.LinkedList;
-    import org.drools.compiler.compiler.DroolsParserException;
-    import org.drools.compiler.lang.ParserHelper;
-    import org.drools.compiler.lang.DroolsParserExceptionFactory;
-    import org.drools.compiler.lang.Location;
+    import org.drools.drl.parser.DroolsParserException;
+    import org.drools.drl.parser.lang.ParserHelper;
+    import org.drools.drl.parser.lang.DroolsParserExceptionFactory;
+    import org.drools.drl.parser.lang.Location;
 
-    import org.drools.compiler.lang.api.AnnotatedDescrBuilder;
-    import org.drools.compiler.lang.api.AnnotationDescrBuilder;
+    import org.drools.drl.ast.dsl.AnnotatedDescrBuilder;
+    import org.drools.drl.ast.dsl.AnnotationDescrBuilder;
 
     import org.drools.drl.ast.descr.AtomicExprDescr;
     import org.drools.drl.ast.descr.AnnotatedBaseDescr;
@@ -73,6 +73,13 @@ options {
         }
         return input.get( input.index() ).getType() != DRL6Lexer.EOF;
     }
+
+    private boolean notStartWithNewline() {
+        int currentTokenIndex = input.index(); // current position in input stream
+        Token previousHiddenToken = input.get(currentTokenIndex - 1);
+        String previousHiddenTokenText = previousHiddenToken.getText();
+        return !previousHiddenTokenText.contains("\n");
+    }
 }
 
 // Alter code generation so catch-clauses get replace with
@@ -567,7 +574,7 @@ xpathSeparator
     ;
 
 xpathPrimary returns [BaseDescr result]
-    : xpathChunk+
+    : xpathChunk ({notStartWithNewline()}? xpathChunk)*
     ;
 
 xpathChunk returns [BaseDescr result]
diff --git a/drools-drl/drools-drl-parser/src/main/resources/org/drools/drl/parser/DRL6Lexer.g b/drools-drl/drools-drl-parser/src/main/resources/org/drools/drl/parser/DRL6Lexer.g
index 6329f34375..897a1dc0c3 100644
--- a/drools-drl/drools-drl-parser/src/main/resources/org/drools/drl/parser/DRL6Lexer.g
+++ b/drools-drl/drools-drl-parser/src/main/resources/org/drools/drl/parser/DRL6Lexer.g
@@ -10,10 +10,10 @@ tokens {
 }
 
 @header {
-    package org.drools.compiler.lang;
+    package org.drools.drl.parser.lang;
 
     import org.kie.internal.builder.conf.LanguageLevelOption;
-    import org.drools.compiler.compiler.DroolsParserException;
+    import org.drools.drl.parser.DroolsParserException;
     import org.drools.util.StringUtils;
 }
  
diff --git a/drools-ruleunits/drools-ruleunits-impl/src/test/java/org/drools/ruleunits/impl/MultipleDataSourceUnit.java b/drools-ruleunits/drools-ruleunits-impl/src/test/java/org/drools/ruleunits/impl/MultipleDataSourceUnit.java
new file mode 100644
index 0000000000..cc066a1af0
--- /dev/null
+++ b/drools-ruleunits/drools-ruleunits-impl/src/test/java/org/drools/ruleunits/impl/MultipleDataSourceUnit.java
@@ -0,0 +1,58 @@
+/**
+ * Licensed to the Apache Software Foundation (ASF) under one
+ * or more contributor license agreements.  See the NOTICE file
+ * distributed with this work for additional information
+ * regarding copyright ownership.  The ASF licenses this file
+ * to you under the Apache License, Version 2.0 (the
+ * "License"); you may not use this file except in compliance
+ * with the License.  You may obtain a copy of the License at
+ * <p>
+ * http://www.apache.org/licenses/LICENSE-2.0
+ * <p>
+ * Unless required by applicable law or agreed to in writing,
+ * software distributed under the License is distributed on an
+ * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+ * KIND, either express or implied.  See the License for the
+ * specific language governing permissions and limitations
+ * under the License.
+ */
+package org.drools.ruleunits.impl;
+
+import java.util.ArrayList;
+import java.util.HashSet;
+import java.util.List;
+import java.util.Set;
+
+import org.drools.ruleunits.api.DataSource;
+import org.drools.ruleunits.api.DataStore;
+import org.drools.ruleunits.api.RuleUnitData;
+import org.drools.ruleunits.impl.domain.Measurement;
+import org.drools.ruleunits.impl.domain.Sensor;
+
+public class MultipleDataSourceUnit implements RuleUnitData {
+
+    private final DataStore<Measurement> measurements;
+    private final DataStore<Sensor> sensors;
+    private final Set<String> controlSet = new HashSet<>();
+
+    public MultipleDataSourceUnit() {
+        this(DataSource.createStore(), DataSource.createStore());
+    }
+
+    public MultipleDataSourceUnit(DataStore<Measurement> measurements, DataStore<Sensor> sensors) {
+        this.measurements = measurements;
+        this.sensors = sensors;
+    }
+
+    public DataStore<Measurement> getMeasurements() {
+        return measurements;
+    }
+
+    public DataStore<Sensor> getSensors() {
+        return sensors;
+    }
+
+    public Set<String> getControlSet() {
+        return controlSet;
+    }
+}
diff --git a/drools-ruleunits/drools-ruleunits-impl/src/test/java/org/drools/ruleunits/impl/RuleUnitProviderImplTest.java b/drools-ruleunits/drools-ruleunits-impl/src/test/java/org/drools/ruleunits/impl/RuleUnitProviderImplTest.java
index 6bf4e5b8b6..822ab51fb3 100644
--- a/drools-ruleunits/drools-ruleunits-impl/src/test/java/org/drools/ruleunits/impl/RuleUnitProviderImplTest.java
+++ b/drools-ruleunits/drools-ruleunits-impl/src/test/java/org/drools/ruleunits/impl/RuleUnitProviderImplTest.java
@@ -27,7 +27,9 @@ import org.drools.ruleunits.api.DataHandle;
 import org.drools.ruleunits.api.RuleUnitInstance;
 import org.drools.ruleunits.api.RuleUnitProvider;
 import org.drools.ruleunits.api.conf.RuleConfig;
+import org.drools.ruleunits.impl.domain.Measurement;
 import org.drools.ruleunits.impl.domain.Person;
+import org.drools.ruleunits.impl.domain.Sensor;
 import org.drools.ruleunits.impl.listener.TestAgendaEventListener;
 import org.drools.ruleunits.impl.listener.TestRuleEventListener;
 import org.drools.ruleunits.impl.listener.TestRuleRuntimeEventListener;
@@ -223,4 +225,16 @@ public class RuleUnitProviderImplTest {
             assertThat(unit.getResults()).containsExactly("GoodByeWorld");
         }
     }
+
+    @Test
+    public void multipleOOPathLines() {
+        MultipleDataSourceUnit unit = new MultipleDataSourceUnit();
+        unit.getMeasurements().add(new Measurement("color", "red"));
+        unit.getSensors().add(new Sensor("color"));
+
+        try ( RuleUnitInstance<MultipleDataSourceUnit> unitInstance = RuleUnitProvider.get().createRuleUnitInstance(unit) ) {
+            assertThat(unitInstance.fire()).isEqualTo(1);
+            assertThat(unit.getControlSet()).containsExactly("red");
+        }
+    }
 }
diff --git a/drools-ruleunits/drools-ruleunits-impl/src/test/java/org/drools/ruleunits/impl/domain/Measurement.java b/drools-ruleunits/drools-ruleunits-impl/src/test/java/org/drools/ruleunits/impl/domain/Measurement.java
new file mode 100644
index 0000000000..9d0bf3df50
--- /dev/null
+++ b/drools-ruleunits/drools-ruleunits-impl/src/test/java/org/drools/ruleunits/impl/domain/Measurement.java
@@ -0,0 +1,53 @@
+/**
+ * Licensed to the Apache Software Foundation (ASF) under one
+ * or more contributor license agreements.  See the NOTICE file
+ * distributed with this work for additional information
+ * regarding copyright ownership.  The ASF licenses this file
+ * to you under the Apache License, Version 2.0 (the
+ * "License"); you may not use this file except in compliance
+ * with the License.  You may obtain a copy of the License at
+ *
+ *   http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing,
+ * software distributed under the License is distributed on an
+ * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+ * KIND, either express or implied.  See the License for the
+ * specific language governing permissions and limitations
+ * under the License.
+ */
+package org.drools.ruleunits.impl.domain;
+
+public class Measurement {
+
+    private String id;
+    private String val;
+
+    public Measurement(String id, String val) {
+        super();
+        this.id = id;
+        this.val = val;
+    }
+
+    public String getId() {
+        return id;
+    }
+
+    public String getVal() {
+        return val;
+    }
+
+    @Override
+    public String toString() {
+        StringBuilder builder = new StringBuilder();
+        builder.append("Measurement [");
+        if (id != null) {
+            builder.append("id=").append(id).append(", ");
+        }
+        if (val != null) {
+            builder.append("val=").append(val);
+        }
+        builder.append("]");
+        return builder.toString();
+    }
+}
\ No newline at end of file
diff --git a/drools-ruleunits/drools-ruleunits-impl/src/test/java/org/drools/ruleunits/impl/domain/Sensor.java b/drools-ruleunits/drools-ruleunits-impl/src/test/java/org/drools/ruleunits/impl/domain/Sensor.java
new file mode 100644
index 0000000000..b067b0351a
--- /dev/null
+++ b/drools-ruleunits/drools-ruleunits-impl/src/test/java/org/drools/ruleunits/impl/domain/Sensor.java
@@ -0,0 +1,37 @@
+/**
+ * Licensed to the Apache Software Foundation (ASF) under one
+ * or more contributor license agreements.  See the NOTICE file
+ * distributed with this work for additional information
+ * regarding copyright ownership.  The ASF licenses this file
+ * to you under the Apache License, Version 2.0 (the
+ * "License"); you may not use this file except in compliance
+ * with the License.  You may obtain a copy of the License at
+ *
+ *   http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing,
+ * software distributed under the License is distributed on an
+ * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+ * KIND, either express or implied.  See the License for the
+ * specific language governing permissions and limitations
+ * under the License.
+ */
+package org.drools.ruleunits.impl.domain;
+
+public class Sensor {
+
+    private String id;
+
+    public Sensor(String id) {
+        super();
+        this.id = id;
+    }
+
+    public String getId() {
+        return id;
+    }
+
+    public void setId(String id) {
+        this.id = id;
+    }
+}
diff --git a/drools-ruleunits/drools-ruleunits-impl/src/test/resources/org/drools/ruleunits/impl/MultipleDataSource.drl b/drools-ruleunits/drools-ruleunits-impl/src/test/resources/org/drools/ruleunits/impl/MultipleDataSource.drl
new file mode 100644
index 0000000000..33229b6844
--- /dev/null
+++ b/drools-ruleunits/drools-ruleunits-impl/src/test/resources/org/drools/ruleunits/impl/MultipleDataSource.drl
@@ -0,0 +1,28 @@
+/**
+ * Licensed to the Apache Software Foundation (ASF) under one
+ * or more contributor license agreements.  See the NOTICE file
+ * distributed with this work for additional information
+ * regarding copyright ownership.  The ASF licenses this file
+ * to you under the Apache License, Version 2.0 (the
+ * "License"); you may not use this file except in compliance
+ * with the License.  You may obtain a copy of the License at
+ * <p>
+ * http://www.apache.org/licenses/LICENSE-2.0
+ * <p>
+ * Unless required by applicable law or agreed to in writing,
+ * software distributed under the License is distributed on an
+ * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+ * KIND, either express or implied.  See the License for the
+ * specific language governing permissions and limitations
+ * under the License.
+ */
+package org.drools.ruleunits.impl;
+unit MultipleDataSourceUnit;
+
+rule "will execute per each Measurement having ID color"
+when
+	/measurements[ $id: id == "color", $colorVal : val ]
+	/sensors[ id == $id ]
+then
+	controlSet.add($colorVal);
+end


---------------------------------------------------------------------
To unsubscribe, e-mail: commits-unsubscribe@kie.apache.org
For additional commands, e-mail: commits-help@kie.apache.org