[jboss-svn-commits] JBL Code SVN: r19873 - in labs/jbossrules/trunk: drools-compiler/src/main/java/org/drools/lang and 19 other directories.

jboss-svn-commits at lists.jboss.org jboss-svn-commits at lists.jboss.org
Tue May 6 19:43:34 EDT 2008


Author: tirelli
Date: 2008-05-06 19:43:33 -0400 (Tue, 06 May 2008)
New Revision: 19873

Added:
   labs/jbossrules/trunk/drools-compiler/src/main/java/org/drools/lang/descr/BehaviorDescr.java
   labs/jbossrules/trunk/drools-compiler/src/main/java/org/drools/lang/descr/SlidingWindowDescr.java
   labs/jbossrules/trunk/drools-core/src/main/java/org/drools/rule/Behavior.java
   labs/jbossrules/trunk/drools-core/src/main/java/org/drools/rule/SlidingTimeWindow.java
Modified:
   labs/jbossrules/trunk/drools-compiler/src/main/java/org/drools/compiler/PackageBuilder.java
   labs/jbossrules/trunk/drools-compiler/src/main/java/org/drools/lang/DRLLexer.java
   labs/jbossrules/trunk/drools-compiler/src/main/java/org/drools/lang/DRLParser.java
   labs/jbossrules/trunk/drools-compiler/src/main/java/org/drools/lang/descr/ConditionalElementDescr.java
   labs/jbossrules/trunk/drools-compiler/src/main/java/org/drools/lang/descr/PatternDescr.java
   labs/jbossrules/trunk/drools-compiler/src/main/java/org/drools/process/builder/SplitNodeBuilder.java
   labs/jbossrules/trunk/drools-compiler/src/main/java/org/drools/rule/builder/PackageBuildContext.java
   labs/jbossrules/trunk/drools-compiler/src/main/java/org/drools/rule/builder/PatternBuilder.java
   labs/jbossrules/trunk/drools-compiler/src/main/java/org/drools/rule/builder/dialect/java/AbstractJavaRuleBuilder.java
   labs/jbossrules/trunk/drools-compiler/src/main/java/org/drools/xml/processes/TypeHandler.java
   labs/jbossrules/trunk/drools-compiler/src/main/resources/org/drools/lang/DRL.g
   labs/jbossrules/trunk/drools-compiler/src/test/java/org/drools/Cheesery.java
   labs/jbossrules/trunk/drools-compiler/src/test/java/org/drools/compiler/PackageBuilderTest.java
   labs/jbossrules/trunk/drools-compiler/src/test/java/org/drools/integrationtests/CepEspTest.java
   labs/jbossrules/trunk/drools-compiler/src/test/java/org/drools/integrationtests/LargeRuleBase.java
   labs/jbossrules/trunk/drools-compiler/src/test/java/org/drools/integrationtests/manners/MannersBenchmark.java
   labs/jbossrules/trunk/drools-compiler/src/test/java/org/drools/integrationtests/waltz/Waltz.java
   labs/jbossrules/trunk/drools-compiler/src/test/java/org/drools/lang/RuleParserTest.java
   labs/jbossrules/trunk/drools-compiler/src/test/java/org/drools/rule/builder/dialect/java/AccumulateTemplateTest.java
   labs/jbossrules/trunk/drools-compiler/src/test/java/org/drools/rule/builder/dialect/mvel/MVELPredicateBuilderTest.java
   labs/jbossrules/trunk/drools-compiler/src/test/resources/org/drools/integrationtests/test_CEP_SimpleTimeWindow.drl
   labs/jbossrules/trunk/drools-core/src/main/java/org/drools/reteoo/AccumulateNode.java
   labs/jbossrules/trunk/drools-core/src/main/java/org/drools/reteoo/BetaNode.java
   labs/jbossrules/trunk/drools-core/src/main/java/org/drools/reteoo/CollectNode.java
   labs/jbossrules/trunk/drools-core/src/main/java/org/drools/reteoo/ExistsNode.java
   labs/jbossrules/trunk/drools-core/src/main/java/org/drools/reteoo/JoinNode.java
   labs/jbossrules/trunk/drools-core/src/main/java/org/drools/reteoo/NotNode.java
   labs/jbossrules/trunk/drools-core/src/main/java/org/drools/reteoo/builder/AccumulateBuilder.java
   labs/jbossrules/trunk/drools-core/src/main/java/org/drools/reteoo/builder/CollectBuilder.java
   labs/jbossrules/trunk/drools-core/src/main/java/org/drools/reteoo/builder/GroupElementBuilder.java
   labs/jbossrules/trunk/drools-core/src/main/java/org/drools/rule/Pattern.java
   labs/jbossrules/trunk/drools-core/src/test/java/org/drools/reteoo/AccumulateNodeTest.java
   labs/jbossrules/trunk/drools-core/src/test/java/org/drools/reteoo/BetaNodeTest.java
   labs/jbossrules/trunk/drools-core/src/test/java/org/drools/reteoo/CollectNodeTest.java
   labs/jbossrules/trunk/drools-core/src/test/java/org/drools/reteoo/CompositeObjectSinkAdapterTest.java
   labs/jbossrules/trunk/drools-core/src/test/java/org/drools/reteoo/ExistsNodeTest.java
   labs/jbossrules/trunk/drools-core/src/test/java/org/drools/reteoo/JoinNodeTest.java
   labs/jbossrules/trunk/drools-core/src/test/java/org/drools/reteoo/NotNodeTest.java
   labs/jbossrules/trunk/drools-core/src/test/java/org/drools/reteoo/QueryTerminalNodeTest.java
Log:
JBRULES-1599: adding support to absolute time window declaration

Modified: labs/jbossrules/trunk/drools-compiler/src/main/java/org/drools/compiler/PackageBuilder.java
===================================================================
--- labs/jbossrules/trunk/drools-compiler/src/main/java/org/drools/compiler/PackageBuilder.java	2008-05-06 18:24:49 UTC (rev 19872)
+++ labs/jbossrules/trunk/drools-compiler/src/main/java/org/drools/compiler/PackageBuilder.java	2008-05-06 23:43:33 UTC (rev 19873)
@@ -24,7 +24,6 @@
 import java.util.List;
 import java.util.Set;
 
-import org.drools.base.ClassFieldExtractor;
 import org.drools.base.ClassFieldExtractorCache;
 import org.drools.base.ClassTypeResolver;
 import org.drools.base.TypeResolver;
@@ -47,6 +46,7 @@
 import org.drools.lang.descr.TypeDeclarationDescr;
 import org.drools.process.core.Process;
 import org.drools.rule.ImportDeclaration;
+import org.drools.rule.JavaDialectData;
 import org.drools.rule.Package;
 import org.drools.rule.Rule;
 import org.drools.rule.TypeDeclaration;

Modified: labs/jbossrules/trunk/drools-compiler/src/main/java/org/drools/lang/DRLLexer.java
===================================================================
--- labs/jbossrules/trunk/drools-compiler/src/main/java/org/drools/lang/DRLLexer.java	2008-05-06 18:24:49 UTC (rev 19872)
+++ labs/jbossrules/trunk/drools-compiler/src/main/java/org/drools/lang/DRLLexer.java	2008-05-06 23:43:33 UTC (rev 19873)
@@ -1,32 +1,35 @@
-// $ANTLR 3.0.1 /Users/michaelneale/project/jboss-rules/drools-compiler/src/main/resources/org/drools/lang/DRL.g 2008-04-28 16:17:00
+// $ANTLR 3.0.1 /home/etirelli/workspace/jboss/jbossrules/drools-compiler/src/main/resources/org/drools/lang/DRL.g 2008-04-28 17:25:39
 
 	package org.drools.lang;
 
 
-import org.antlr.runtime.*;
-import java.util.Stack;
-import java.util.List;
-import java.util.ArrayList;
-import java.util.Map;
 import java.util.HashMap;
+
+import org.antlr.runtime.BaseRecognizer;
+import org.antlr.runtime.CharStream;
+import org.antlr.runtime.DFA;
+import org.antlr.runtime.EarlyExitException;
+import org.antlr.runtime.Lexer;
+import org.antlr.runtime.MismatchedSetException;
+import org.antlr.runtime.NoViableAltException;
+import org.antlr.runtime.RecognitionException;
 public class DRLLexer extends Lexer {
+    public static final int EXISTS=45;
     public static final int COMMA=11;
-    public static final int EXISTS=43;
-    public static final int T79=79;
     public static final int AUTO_FOCUS=31;
     public static final int END=14;
-    public static final int HexDigit=72;
-    public static final int FORALL=46;
+    public static final int HexDigit=74;
+    public static final int FORALL=48;
     public static final int TEMPLATE=19;
-    public static final int MISC=78;
-    public static final int FLOAT=63;
+    public static final int MISC=80;
+    public static final int FLOAT=65;
     public static final int QUERY=18;
-    public static final int THEN=67;
+    public static final int THEN=69;
     public static final int RULE=20;
     public static final int T85=85;
-    public static final int INIT=48;
+    public static final int INIT=50;
     public static final int T83=83;
-    public static final int TILDE=61;
+    public static final int TILDE=63;
     public static final int IMPORT=5;
     public static final int PACKAGE=4;
     public static final int DATE_EFFECTIVE=23;
@@ -37,78 +40,81 @@
     public static final int T86=86;
     public static final int FUNCTION=6;
     public static final int GLOBAL=9;
-    public static final int EscapeSequence=71;
+    public static final int EscapeSequence=73;
     public static final int DIALECT=36;
     public static final int INT=29;
     public static final int LOCK_ON_ACTIVE=37;
     public static final int DATE_EXPIRES=25;
     public static final int T81=81;
-    public static final int LEFT_SQUARE=54;
-    public static final int CONTAINS=56;
-    public static final int SH_STYLE_SINGLE_LINE_COMMENT=75;
+    public static final int LEFT_SQUARE=56;
+    public static final int CONTAINS=58;
+    public static final int SH_STYLE_SINGLE_LINE_COMMENT=77;
     public static final int ATTRIBUTES=22;
-    public static final int EVENT=68;
+    public static final int EVENT=70;
     public static final int DECLARE=13;
-    public static final int LEFT_CURLY=65;
-    public static final int RESULT=51;
+    public static final int LEFT_CURLY=67;
+    public static final int RESULT=53;
     public static final int AT=15;
+    public static final int FROM=44;
     public static final int ID=7;
-    public static final int FROM=42;
     public static final int DOUBLE_AMPER=41;
     public static final int ACTIVATION_GROUP=32;
     public static final int LEFT_PAREN=10;
-    public static final int RIGHT_CURLY=66;
+    public static final int RIGHT_CURLY=68;
     public static final int BOOL=27;
-    public static final int EXCLUDES=57;
-    public static final int SOUNDSLIKE=59;
+    public static final int EXCLUDES=59;
+    public static final int SOUNDSLIKE=61;
     public static final int T84=84;
-    public static final int MEMBEROF=60;
+    public static final int MEMBEROF=62;
     public static final int WHEN=21;
     public static final int RULEFLOW_GROUP=33;
-    public static final int WS=70;
+    public static final int WS=72;
     public static final int STRING=24;
-    public static final int ACTION=49;
-    public static final int COLLECT=52;
+    public static final int ACTION=51;
+    public static final int T88=88;
+    public static final int WINDOW=43;
+    public static final int COLLECT=54;
+    public static final int WITH=42;
     public static final int T87=87;
-    public static final int REVERSE=50;
-    public static final int IN=62;
-    public static final int T80=80;
+    public static final int REVERSE=52;
+    public static final int IN=64;
     public static final int NO_LOOP=30;
     public static final int EQUALS=17;
-    public static final int ACCUMULATE=47;
-    public static final int UnicodeEscape=73;
+    public static final int ACCUMULATE=49;
+    public static final int UnicodeEscape=75;
     public static final int DURATION=35;
-    public static final int EVAL=45;
-    public static final int MATCHES=58;
+    public static final int EVAL=47;
+    public static final int MATCHES=60;
+    public static final int T89=89;
     public static final int EOF=-1;
     public static final int AGENDA_GROUP=34;
-    public static final int NULL=64;
-    public static final int EOL=69;
-    public static final int Tokens=88;
+    public static final int NULL=66;
+    public static final int EOL=71;
+    public static final int Tokens=90;
     public static final int COLON=16;
     public static final int T82=82;
     public static final int SALIENCE=28;
-    public static final int OctalEscape=74;
-    public static final int MULTI_LINE_COMMENT=77;
+    public static final int OctalEscape=76;
+    public static final int MULTI_LINE_COMMENT=79;
     public static final int RIGHT_PAREN=12;
-    public static final int NOT=44;
+    public static final int NOT=46;
     public static final int ENABLED=26;
-    public static final int RIGHT_SQUARE=55;
-    public static final int ENTRY_POINT=53;
-    public static final int C_STYLE_SINGLE_LINE_COMMENT=76;
+    public static final int RIGHT_SQUARE=57;
+    public static final int ENTRY_POINT=55;
+    public static final int C_STYLE_SINGLE_LINE_COMMENT=78;
     public DRLLexer() {;} 
     public DRLLexer(CharStream input) {
         super(input);
-        ruleMemo = new HashMap[86+1];
+        ruleMemo = new HashMap[88+1];
      }
-    public String getGrammarFileName() { return "/Users/michaelneale/project/jboss-rules/drools-compiler/src/main/resources/org/drools/lang/DRL.g"; }
+    public String getGrammarFileName() { return "/home/etirelli/workspace/jboss/jbossrules/drools-compiler/src/main/resources/org/drools/lang/DRL.g"; }
 
-    // $ANTLR start T79
-    public final void mT79() throws RecognitionException {
+    // $ANTLR start T81
+    public final void mT81() throws RecognitionException {
         try {
-            int _type = T79;
-            // /Users/michaelneale/project/jboss-rules/drools-compiler/src/main/resources/org/drools/lang/DRL.g:6:5: ( ';' )
-            // /Users/michaelneale/project/jboss-rules/drools-compiler/src/main/resources/org/drools/lang/DRL.g:6:7: ';'
+            int _type = T81;
+            // /home/etirelli/workspace/jboss/jbossrules/drools-compiler/src/main/resources/org/drools/lang/DRL.g:6:5: ( ';' )
+            // /home/etirelli/workspace/jboss/jbossrules/drools-compiler/src/main/resources/org/drools/lang/DRL.g:6:7: ';'
             {
             match(';'); if (failed) return ;
 
@@ -119,14 +125,14 @@
         finally {
         }
     }
-    // $ANTLR end T79
+    // $ANTLR end T81
 
-    // $ANTLR start T80
-    public final void mT80() throws RecognitionException {
+    // $ANTLR start T82
+    public final void mT82() throws RecognitionException {
         try {
-            int _type = T80;
-            // /Users/michaelneale/project/jboss-rules/drools-compiler/src/main/resources/org/drools/lang/DRL.g:7:5: ( '.*' )
-            // /Users/michaelneale/project/jboss-rules/drools-compiler/src/main/resources/org/drools/lang/DRL.g:7:7: '.*'
+            int _type = T82;
+            // /home/etirelli/workspace/jboss/jbossrules/drools-compiler/src/main/resources/org/drools/lang/DRL.g:7:5: ( '.*' )
+            // /home/etirelli/workspace/jboss/jbossrules/drools-compiler/src/main/resources/org/drools/lang/DRL.g:7:7: '.*'
             {
             match(".*"); if (failed) return ;
 
@@ -138,14 +144,14 @@
         finally {
         }
     }
-    // $ANTLR end T80
+    // $ANTLR end T82
 
-    // $ANTLR start T81
-    public final void mT81() throws RecognitionException {
+    // $ANTLR start T83
+    public final void mT83() throws RecognitionException {
         try {
-            int _type = T81;
-            // /Users/michaelneale/project/jboss-rules/drools-compiler/src/main/resources/org/drools/lang/DRL.g:8:5: ( '->' )
-            // /Users/michaelneale/project/jboss-rules/drools-compiler/src/main/resources/org/drools/lang/DRL.g:8:7: '->'
+            int _type = T83;
+            // /home/etirelli/workspace/jboss/jbossrules/drools-compiler/src/main/resources/org/drools/lang/DRL.g:8:5: ( '->' )
+            // /home/etirelli/workspace/jboss/jbossrules/drools-compiler/src/main/resources/org/drools/lang/DRL.g:8:7: '->'
             {
             match("->"); if (failed) return ;
 
@@ -157,14 +163,14 @@
         finally {
         }
     }
-    // $ANTLR end T81
+    // $ANTLR end T83
 
-    // $ANTLR start T82
-    public final void mT82() throws RecognitionException {
+    // $ANTLR start T84
+    public final void mT84() throws RecognitionException {
         try {
-            int _type = T82;
-            // /Users/michaelneale/project/jboss-rules/drools-compiler/src/main/resources/org/drools/lang/DRL.g:9:5: ( '==' )
-            // /Users/michaelneale/project/jboss-rules/drools-compiler/src/main/resources/org/drools/lang/DRL.g:9:7: '=='
+            int _type = T84;
+            // /home/etirelli/workspace/jboss/jbossrules/drools-compiler/src/main/resources/org/drools/lang/DRL.g:9:5: ( '==' )
+            // /home/etirelli/workspace/jboss/jbossrules/drools-compiler/src/main/resources/org/drools/lang/DRL.g:9:7: '=='
             {
             match("=="); if (failed) return ;
 
@@ -176,14 +182,14 @@
         finally {
         }
     }
-    // $ANTLR end T82
+    // $ANTLR end T84
 
-    // $ANTLR start T83
-    public final void mT83() throws RecognitionException {
+    // $ANTLR start T85
+    public final void mT85() throws RecognitionException {
         try {
-            int _type = T83;
-            // /Users/michaelneale/project/jboss-rules/drools-compiler/src/main/resources/org/drools/lang/DRL.g:10:5: ( '>' )
-            // /Users/michaelneale/project/jboss-rules/drools-compiler/src/main/resources/org/drools/lang/DRL.g:10:7: '>'
+            int _type = T85;
+            // /home/etirelli/workspace/jboss/jbossrules/drools-compiler/src/main/resources/org/drools/lang/DRL.g:10:5: ( '>' )
+            // /home/etirelli/workspace/jboss/jbossrules/drools-compiler/src/main/resources/org/drools/lang/DRL.g:10:7: '>'
             {
             match('>'); if (failed) return ;
 
@@ -194,14 +200,14 @@
         finally {
         }
     }
-    // $ANTLR end T83
+    // $ANTLR end T85
 
-    // $ANTLR start T84
-    public final void mT84() throws RecognitionException {
+    // $ANTLR start T86
+    public final void mT86() throws RecognitionException {
         try {
-            int _type = T84;
-            // /Users/michaelneale/project/jboss-rules/drools-compiler/src/main/resources/org/drools/lang/DRL.g:11:5: ( '>=' )
-            // /Users/michaelneale/project/jboss-rules/drools-compiler/src/main/resources/org/drools/lang/DRL.g:11:7: '>='
+            int _type = T86;
+            // /home/etirelli/workspace/jboss/jbossrules/drools-compiler/src/main/resources/org/drools/lang/DRL.g:11:5: ( '>=' )
+            // /home/etirelli/workspace/jboss/jbossrules/drools-compiler/src/main/resources/org/drools/lang/DRL.g:11:7: '>='
             {
             match(">="); if (failed) return ;
 
@@ -213,14 +219,14 @@
         finally {
         }
     }
-    // $ANTLR end T84
+    // $ANTLR end T86
 
-    // $ANTLR start T85
-    public final void mT85() throws RecognitionException {
+    // $ANTLR start T87
+    public final void mT87() throws RecognitionException {
         try {
-            int _type = T85;
-            // /Users/michaelneale/project/jboss-rules/drools-compiler/src/main/resources/org/drools/lang/DRL.g:12:5: ( '<' )
-            // /Users/michaelneale/project/jboss-rules/drools-compiler/src/main/resources/org/drools/lang/DRL.g:12:7: '<'
+            int _type = T87;
+            // /home/etirelli/workspace/jboss/jbossrules/drools-compiler/src/main/resources/org/drools/lang/DRL.g:12:5: ( '<' )
+            // /home/etirelli/workspace/jboss/jbossrules/drools-compiler/src/main/resources/org/drools/lang/DRL.g:12:7: '<'
             {
             match('<'); if (failed) return ;
 
@@ -231,14 +237,14 @@
         finally {
         }
     }
-    // $ANTLR end T85
+    // $ANTLR end T87
 
-    // $ANTLR start T86
-    public final void mT86() throws RecognitionException {
+    // $ANTLR start T88
+    public final void mT88() throws RecognitionException {
         try {
-            int _type = T86;
-            // /Users/michaelneale/project/jboss-rules/drools-compiler/src/main/resources/org/drools/lang/DRL.g:13:5: ( '<=' )
-            // /Users/michaelneale/project/jboss-rules/drools-compiler/src/main/resources/org/drools/lang/DRL.g:13:7: '<='
+            int _type = T88;
+            // /home/etirelli/workspace/jboss/jbossrules/drools-compiler/src/main/resources/org/drools/lang/DRL.g:13:5: ( '<=' )
+            // /home/etirelli/workspace/jboss/jbossrules/drools-compiler/src/main/resources/org/drools/lang/DRL.g:13:7: '<='
             {
             match("<="); if (failed) return ;
 
@@ -250,14 +256,14 @@
         finally {
         }
     }
-    // $ANTLR end T86
+    // $ANTLR end T88
 
-    // $ANTLR start T87
-    public final void mT87() throws RecognitionException {
+    // $ANTLR start T89
+    public final void mT89() throws RecognitionException {
         try {
-            int _type = T87;
-            // /Users/michaelneale/project/jboss-rules/drools-compiler/src/main/resources/org/drools/lang/DRL.g:14:5: ( '!=' )
-            // /Users/michaelneale/project/jboss-rules/drools-compiler/src/main/resources/org/drools/lang/DRL.g:14:7: '!='
+            int _type = T89;
+            // /home/etirelli/workspace/jboss/jbossrules/drools-compiler/src/main/resources/org/drools/lang/DRL.g:14:5: ( '!=' )
+            // /home/etirelli/workspace/jboss/jbossrules/drools-compiler/src/main/resources/org/drools/lang/DRL.g:14:7: '!='
             {
             match("!="); if (failed) return ;
 
@@ -269,16 +275,16 @@
         finally {
         }
     }
-    // $ANTLR end T87
+    // $ANTLR end T89
 
     // $ANTLR start WS
     public final void mWS() throws RecognitionException {
         try {
             int _type = WS;
-            // /Users/michaelneale/project/jboss-rules/drools-compiler/src/main/resources/org/drools/lang/DRL.g:1762:9: ( ( ' ' | '\\t' | '\\f' | EOL )+ )
-            // /Users/michaelneale/project/jboss-rules/drools-compiler/src/main/resources/org/drools/lang/DRL.g:1762:17: ( ' ' | '\\t' | '\\f' | EOL )+
+            // /home/etirelli/workspace/jboss/jbossrules/drools-compiler/src/main/resources/org/drools/lang/DRL.g:1770:9: ( ( ' ' | '\\t' | '\\f' | EOL )+ )
+            // /home/etirelli/workspace/jboss/jbossrules/drools-compiler/src/main/resources/org/drools/lang/DRL.g:1770:17: ( ' ' | '\\t' | '\\f' | EOL )+
             {
-            // /Users/michaelneale/project/jboss-rules/drools-compiler/src/main/resources/org/drools/lang/DRL.g:1762:17: ( ' ' | '\\t' | '\\f' | EOL )+
+            // /home/etirelli/workspace/jboss/jbossrules/drools-compiler/src/main/resources/org/drools/lang/DRL.g:1770:17: ( ' ' | '\\t' | '\\f' | EOL )+
             int cnt1=0;
             loop1:
             do {
@@ -310,28 +316,28 @@
 
                 switch (alt1) {
             	case 1 :
-            	    // /Users/michaelneale/project/jboss-rules/drools-compiler/src/main/resources/org/drools/lang/DRL.g:1762:19: ' '
+            	    // /home/etirelli/workspace/jboss/jbossrules/drools-compiler/src/main/resources/org/drools/lang/DRL.g:1770:19: ' '
             	    {
             	    match(' '); if (failed) return ;
 
             	    }
             	    break;
             	case 2 :
-            	    // /Users/michaelneale/project/jboss-rules/drools-compiler/src/main/resources/org/drools/lang/DRL.g:1763:19: '\\t'
+            	    // /home/etirelli/workspace/jboss/jbossrules/drools-compiler/src/main/resources/org/drools/lang/DRL.g:1771:19: '\\t'
             	    {
             	    match('\t'); if (failed) return ;
 
             	    }
             	    break;
             	case 3 :
-            	    // /Users/michaelneale/project/jboss-rules/drools-compiler/src/main/resources/org/drools/lang/DRL.g:1764:19: '\\f'
+            	    // /home/etirelli/workspace/jboss/jbossrules/drools-compiler/src/main/resources/org/drools/lang/DRL.g:1772:19: '\\f'
             	    {
             	    match('\f'); if (failed) return ;
 
             	    }
             	    break;
             	case 4 :
-            	    // /Users/michaelneale/project/jboss-rules/drools-compiler/src/main/resources/org/drools/lang/DRL.g:1765:19: EOL
+            	    // /home/etirelli/workspace/jboss/jbossrules/drools-compiler/src/main/resources/org/drools/lang/DRL.g:1773:19: EOL
             	    {
             	    mEOL(); if (failed) return ;
 
@@ -364,10 +370,10 @@
     // $ANTLR start EOL
     public final void mEOL() throws RecognitionException {
         try {
-            // /Users/michaelneale/project/jboss-rules/drools-compiler/src/main/resources/org/drools/lang/DRL.g:1771:6: ( ( ( '\\r\\n' )=> '\\r\\n' | '\\r' | '\\n' ) )
-            // /Users/michaelneale/project/jboss-rules/drools-compiler/src/main/resources/org/drools/lang/DRL.g:1772:6: ( ( '\\r\\n' )=> '\\r\\n' | '\\r' | '\\n' )
+            // /home/etirelli/workspace/jboss/jbossrules/drools-compiler/src/main/resources/org/drools/lang/DRL.g:1779:6: ( ( ( '\\r\\n' )=> '\\r\\n' | '\\r' | '\\n' ) )
+            // /home/etirelli/workspace/jboss/jbossrules/drools-compiler/src/main/resources/org/drools/lang/DRL.g:1780:6: ( ( '\\r\\n' )=> '\\r\\n' | '\\r' | '\\n' )
             {
-            // /Users/michaelneale/project/jboss-rules/drools-compiler/src/main/resources/org/drools/lang/DRL.g:1772:6: ( ( '\\r\\n' )=> '\\r\\n' | '\\r' | '\\n' )
+            // /home/etirelli/workspace/jboss/jbossrules/drools-compiler/src/main/resources/org/drools/lang/DRL.g:1780:6: ( ( '\\r\\n' )=> '\\r\\n' | '\\r' | '\\n' )
             int alt2=3;
             int LA2_0 = input.LA(1);
 
@@ -386,13 +392,13 @@
             else {
                 if (backtracking>0) {failed=true; return ;}
                 NoViableAltException nvae =
-                    new NoViableAltException("1772:6: ( ( '\\r\\n' )=> '\\r\\n' | '\\r' | '\\n' )", 2, 0, input);
+                    new NoViableAltException("1780:6: ( ( '\\r\\n' )=> '\\r\\n' | '\\r' | '\\n' )", 2, 0, input);
 
                 throw nvae;
             }
             switch (alt2) {
                 case 1 :
-                    // /Users/michaelneale/project/jboss-rules/drools-compiler/src/main/resources/org/drools/lang/DRL.g:1772:14: ( '\\r\\n' )=> '\\r\\n'
+                    // /home/etirelli/workspace/jboss/jbossrules/drools-compiler/src/main/resources/org/drools/lang/DRL.g:1780:14: ( '\\r\\n' )=> '\\r\\n'
                     {
                     match("\r\n"); if (failed) return ;
 
@@ -400,14 +406,14 @@
                     }
                     break;
                 case 2 :
-                    // /Users/michaelneale/project/jboss-rules/drools-compiler/src/main/resources/org/drools/lang/DRL.g:1773:25: '\\r'
+                    // /home/etirelli/workspace/jboss/jbossrules/drools-compiler/src/main/resources/org/drools/lang/DRL.g:1781:25: '\\r'
                     {
                     match('\r'); if (failed) return ;
 
                     }
                     break;
                 case 3 :
-                    // /Users/michaelneale/project/jboss-rules/drools-compiler/src/main/resources/org/drools/lang/DRL.g:1774:25: '\\n'
+                    // /home/etirelli/workspace/jboss/jbossrules/drools-compiler/src/main/resources/org/drools/lang/DRL.g:1782:25: '\\n'
                     {
                     match('\n'); if (failed) return ;
 
@@ -429,10 +435,10 @@
     public final void mINT() throws RecognitionException {
         try {
             int _type = INT;
-            // /Users/michaelneale/project/jboss-rules/drools-compiler/src/main/resources/org/drools/lang/DRL.g:1779:2: ( ( '-' )? ( '0' .. '9' )+ )
-            // /Users/michaelneale/project/jboss-rules/drools-compiler/src/main/resources/org/drools/lang/DRL.g:1779:4: ( '-' )? ( '0' .. '9' )+
+            // /home/etirelli/workspace/jboss/jbossrules/drools-compiler/src/main/resources/org/drools/lang/DRL.g:1787:2: ( ( '-' )? ( '0' .. '9' )+ )
+            // /home/etirelli/workspace/jboss/jbossrules/drools-compiler/src/main/resources/org/drools/lang/DRL.g:1787:4: ( '-' )? ( '0' .. '9' )+
             {
-            // /Users/michaelneale/project/jboss-rules/drools-compiler/src/main/resources/org/drools/lang/DRL.g:1779:4: ( '-' )?
+            // /home/etirelli/workspace/jboss/jbossrules/drools-compiler/src/main/resources/org/drools/lang/DRL.g:1787:4: ( '-' )?
             int alt3=2;
             int LA3_0 = input.LA(1);
 
@@ -441,7 +447,7 @@
             }
             switch (alt3) {
                 case 1 :
-                    // /Users/michaelneale/project/jboss-rules/drools-compiler/src/main/resources/org/drools/lang/DRL.g:1779:5: '-'
+                    // /home/etirelli/workspace/jboss/jbossrules/drools-compiler/src/main/resources/org/drools/lang/DRL.g:1787:5: '-'
                     {
                     match('-'); if (failed) return ;
 
@@ -450,7 +456,7 @@
 
             }
 
-            // /Users/michaelneale/project/jboss-rules/drools-compiler/src/main/resources/org/drools/lang/DRL.g:1779:10: ( '0' .. '9' )+
+            // /home/etirelli/workspace/jboss/jbossrules/drools-compiler/src/main/resources/org/drools/lang/DRL.g:1787:10: ( '0' .. '9' )+
             int cnt4=0;
             loop4:
             do {
@@ -464,7 +470,7 @@
 
                 switch (alt4) {
             	case 1 :
-            	    // /Users/michaelneale/project/jboss-rules/drools-compiler/src/main/resources/org/drools/lang/DRL.g:1779:11: '0' .. '9'
+            	    // /home/etirelli/workspace/jboss/jbossrules/drools-compiler/src/main/resources/org/drools/lang/DRL.g:1787:11: '0' .. '9'
             	    {
             	    matchRange('0','9'); if (failed) return ;
 
@@ -495,10 +501,10 @@
     public final void mFLOAT() throws RecognitionException {
         try {
             int _type = FLOAT;
-            // /Users/michaelneale/project/jboss-rules/drools-compiler/src/main/resources/org/drools/lang/DRL.g:1783:2: ( ( '-' )? ( '0' .. '9' )+ '.' ( '0' .. '9' )+ )
-            // /Users/michaelneale/project/jboss-rules/drools-compiler/src/main/resources/org/drools/lang/DRL.g:1783:4: ( '-' )? ( '0' .. '9' )+ '.' ( '0' .. '9' )+
+            // /home/etirelli/workspace/jboss/jbossrules/drools-compiler/src/main/resources/org/drools/lang/DRL.g:1791:2: ( ( '-' )? ( '0' .. '9' )+ '.' ( '0' .. '9' )+ )
+            // /home/etirelli/workspace/jboss/jbossrules/drools-compiler/src/main/resources/org/drools/lang/DRL.g:1791:4: ( '-' )? ( '0' .. '9' )+ '.' ( '0' .. '9' )+
             {
-            // /Users/michaelneale/project/jboss-rules/drools-compiler/src/main/resources/org/drools/lang/DRL.g:1783:4: ( '-' )?
+            // /home/etirelli/workspace/jboss/jbossrules/drools-compiler/src/main/resources/org/drools/lang/DRL.g:1791:4: ( '-' )?
             int alt5=2;
             int LA5_0 = input.LA(1);
 
@@ -507,7 +513,7 @@
             }
             switch (alt5) {
                 case 1 :
-                    // /Users/michaelneale/project/jboss-rules/drools-compiler/src/main/resources/org/drools/lang/DRL.g:1783:5: '-'
+                    // /home/etirelli/workspace/jboss/jbossrules/drools-compiler/src/main/resources/org/drools/lang/DRL.g:1791:5: '-'
                     {
                     match('-'); if (failed) return ;
 
@@ -516,7 +522,7 @@
 
             }
 
-            // /Users/michaelneale/project/jboss-rules/drools-compiler/src/main/resources/org/drools/lang/DRL.g:1783:10: ( '0' .. '9' )+
+            // /home/etirelli/workspace/jboss/jbossrules/drools-compiler/src/main/resources/org/drools/lang/DRL.g:1791:10: ( '0' .. '9' )+
             int cnt6=0;
             loop6:
             do {
@@ -530,7 +536,7 @@
 
                 switch (alt6) {
             	case 1 :
-            	    // /Users/michaelneale/project/jboss-rules/drools-compiler/src/main/resources/org/drools/lang/DRL.g:1783:11: '0' .. '9'
+            	    // /home/etirelli/workspace/jboss/jbossrules/drools-compiler/src/main/resources/org/drools/lang/DRL.g:1791:11: '0' .. '9'
             	    {
             	    matchRange('0','9'); if (failed) return ;
 
@@ -548,7 +554,7 @@
             } while (true);
 
             match('.'); if (failed) return ;
-            // /Users/michaelneale/project/jboss-rules/drools-compiler/src/main/resources/org/drools/lang/DRL.g:1783:26: ( '0' .. '9' )+
+            // /home/etirelli/workspace/jboss/jbossrules/drools-compiler/src/main/resources/org/drools/lang/DRL.g:1791:26: ( '0' .. '9' )+
             int cnt7=0;
             loop7:
             do {
@@ -562,7 +568,7 @@
 
                 switch (alt7) {
             	case 1 :
-            	    // /Users/michaelneale/project/jboss-rules/drools-compiler/src/main/resources/org/drools/lang/DRL.g:1783:27: '0' .. '9'
+            	    // /home/etirelli/workspace/jboss/jbossrules/drools-compiler/src/main/resources/org/drools/lang/DRL.g:1791:27: '0' .. '9'
             	    {
             	    matchRange('0','9'); if (failed) return ;
 
@@ -593,7 +599,7 @@
     public final void mSTRING() throws RecognitionException {
         try {
             int _type = STRING;
-            // /Users/michaelneale/project/jboss-rules/drools-compiler/src/main/resources/org/drools/lang/DRL.g:1787:5: ( ( '\"' ( EscapeSequence | ~ ( '\\\\' | '\"' ) )* '\"' ) | ( '\\'' ( EscapeSequence | ~ ( '\\\\' | '\\'' ) )* '\\'' ) )
+            // /home/etirelli/workspace/jboss/jbossrules/drools-compiler/src/main/resources/org/drools/lang/DRL.g:1795:5: ( ( '\"' ( EscapeSequence | ~ ( '\\\\' | '\"' ) )* '\"' ) | ( '\\'' ( EscapeSequence | ~ ( '\\\\' | '\\'' ) )* '\\'' ) )
             int alt10=2;
             int LA10_0 = input.LA(1);
 
@@ -606,19 +612,19 @@
             else {
                 if (backtracking>0) {failed=true; return ;}
                 NoViableAltException nvae =
-                    new NoViableAltException("1786:1: STRING : ( ( '\"' ( EscapeSequence | ~ ( '\\\\' | '\"' ) )* '\"' ) | ( '\\'' ( EscapeSequence | ~ ( '\\\\' | '\\'' ) )* '\\'' ) );", 10, 0, input);
+                    new NoViableAltException("1794:1: STRING : ( ( '\"' ( EscapeSequence | ~ ( '\\\\' | '\"' ) )* '\"' ) | ( '\\'' ( EscapeSequence | ~ ( '\\\\' | '\\'' ) )* '\\'' ) );", 10, 0, input);
 
                 throw nvae;
             }
             switch (alt10) {
                 case 1 :
-                    // /Users/michaelneale/project/jboss-rules/drools-compiler/src/main/resources/org/drools/lang/DRL.g:1787:8: ( '\"' ( EscapeSequence | ~ ( '\\\\' | '\"' ) )* '\"' )
+                    // /home/etirelli/workspace/jboss/jbossrules/drools-compiler/src/main/resources/org/drools/lang/DRL.g:1795:8: ( '\"' ( EscapeSequence | ~ ( '\\\\' | '\"' ) )* '\"' )
                     {
-                    // /Users/michaelneale/project/jboss-rules/drools-compiler/src/main/resources/org/drools/lang/DRL.g:1787:8: ( '\"' ( EscapeSequence | ~ ( '\\\\' | '\"' ) )* '\"' )
-                    // /Users/michaelneale/project/jboss-rules/drools-compiler/src/main/resources/org/drools/lang/DRL.g:1787:9: '\"' ( EscapeSequence | ~ ( '\\\\' | '\"' ) )* '\"'
+                    // /home/etirelli/workspace/jboss/jbossrules/drools-compiler/src/main/resources/org/drools/lang/DRL.g:1795:8: ( '\"' ( EscapeSequence | ~ ( '\\\\' | '\"' ) )* '\"' )
+                    // /home/etirelli/workspace/jboss/jbossrules/drools-compiler/src/main/resources/org/drools/lang/DRL.g:1795:9: '\"' ( EscapeSequence | ~ ( '\\\\' | '\"' ) )* '\"'
                     {
                     match('\"'); if (failed) return ;
-                    // /Users/michaelneale/project/jboss-rules/drools-compiler/src/main/resources/org/drools/lang/DRL.g:1787:13: ( EscapeSequence | ~ ( '\\\\' | '\"' ) )*
+                    // /home/etirelli/workspace/jboss/jbossrules/drools-compiler/src/main/resources/org/drools/lang/DRL.g:1795:13: ( EscapeSequence | ~ ( '\\\\' | '\"' ) )*
                     loop8:
                     do {
                         int alt8=3;
@@ -634,14 +640,14 @@
 
                         switch (alt8) {
                     	case 1 :
-                    	    // /Users/michaelneale/project/jboss-rules/drools-compiler/src/main/resources/org/drools/lang/DRL.g:1787:15: EscapeSequence
+                    	    // /home/etirelli/workspace/jboss/jbossrules/drools-compiler/src/main/resources/org/drools/lang/DRL.g:1795:15: EscapeSequence
                     	    {
                     	    mEscapeSequence(); if (failed) return ;
 
                     	    }
                     	    break;
                     	case 2 :
-                    	    // /Users/michaelneale/project/jboss-rules/drools-compiler/src/main/resources/org/drools/lang/DRL.g:1787:32: ~ ( '\\\\' | '\"' )
+                    	    // /home/etirelli/workspace/jboss/jbossrules/drools-compiler/src/main/resources/org/drools/lang/DRL.g:1795:32: ~ ( '\\\\' | '\"' )
                     	    {
                     	    if ( (input.LA(1)>='\u0000' && input.LA(1)<='!')||(input.LA(1)>='#' && input.LA(1)<='[')||(input.LA(1)>=']' && input.LA(1)<='\uFFFE') ) {
                     	        input.consume();
@@ -671,13 +677,13 @@
                     }
                     break;
                 case 2 :
-                    // /Users/michaelneale/project/jboss-rules/drools-compiler/src/main/resources/org/drools/lang/DRL.g:1788:8: ( '\\'' ( EscapeSequence | ~ ( '\\\\' | '\\'' ) )* '\\'' )
+                    // /home/etirelli/workspace/jboss/jbossrules/drools-compiler/src/main/resources/org/drools/lang/DRL.g:1796:8: ( '\\'' ( EscapeSequence | ~ ( '\\\\' | '\\'' ) )* '\\'' )
                     {
-                    // /Users/michaelneale/project/jboss-rules/drools-compiler/src/main/resources/org/drools/lang/DRL.g:1788:8: ( '\\'' ( EscapeSequence | ~ ( '\\\\' | '\\'' ) )* '\\'' )
-                    // /Users/michaelneale/project/jboss-rules/drools-compiler/src/main/resources/org/drools/lang/DRL.g:1788:9: '\\'' ( EscapeSequence | ~ ( '\\\\' | '\\'' ) )* '\\''
+                    // /home/etirelli/workspace/jboss/jbossrules/drools-compiler/src/main/resources/org/drools/lang/DRL.g:1796:8: ( '\\'' ( EscapeSequence | ~ ( '\\\\' | '\\'' ) )* '\\'' )
+                    // /home/etirelli/workspace/jboss/jbossrules/drools-compiler/src/main/resources/org/drools/lang/DRL.g:1796:9: '\\'' ( EscapeSequence | ~ ( '\\\\' | '\\'' ) )* '\\''
                     {
                     match('\''); if (failed) return ;
-                    // /Users/michaelneale/project/jboss-rules/drools-compiler/src/main/resources/org/drools/lang/DRL.g:1788:14: ( EscapeSequence | ~ ( '\\\\' | '\\'' ) )*
+                    // /home/etirelli/workspace/jboss/jbossrules/drools-compiler/src/main/resources/org/drools/lang/DRL.g:1796:14: ( EscapeSequence | ~ ( '\\\\' | '\\'' ) )*
                     loop9:
                     do {
                         int alt9=3;
@@ -693,14 +699,14 @@
 
                         switch (alt9) {
                     	case 1 :
-                    	    // /Users/michaelneale/project/jboss-rules/drools-compiler/src/main/resources/org/drools/lang/DRL.g:1788:16: EscapeSequence
+                    	    // /home/etirelli/workspace/jboss/jbossrules/drools-compiler/src/main/resources/org/drools/lang/DRL.g:1796:16: EscapeSequence
                     	    {
                     	    mEscapeSequence(); if (failed) return ;
 
                     	    }
                     	    break;
                     	case 2 :
-                    	    // /Users/michaelneale/project/jboss-rules/drools-compiler/src/main/resources/org/drools/lang/DRL.g:1788:33: ~ ( '\\\\' | '\\'' )
+                    	    // /home/etirelli/workspace/jboss/jbossrules/drools-compiler/src/main/resources/org/drools/lang/DRL.g:1796:33: ~ ( '\\\\' | '\\'' )
                     	    {
                     	    if ( (input.LA(1)>='\u0000' && input.LA(1)<='&')||(input.LA(1)>='(' && input.LA(1)<='[')||(input.LA(1)>=']' && input.LA(1)<='\uFFFE') ) {
                     	        input.consume();
@@ -741,8 +747,8 @@
     // $ANTLR start HexDigit
     public final void mHexDigit() throws RecognitionException {
         try {
-            // /Users/michaelneale/project/jboss-rules/drools-compiler/src/main/resources/org/drools/lang/DRL.g:1792:10: ( ( '0' .. '9' | 'a' .. 'f' | 'A' .. 'F' ) )
-            // /Users/michaelneale/project/jboss-rules/drools-compiler/src/main/resources/org/drools/lang/DRL.g:1792:12: ( '0' .. '9' | 'a' .. 'f' | 'A' .. 'F' )
+            // /home/etirelli/workspace/jboss/jbossrules/drools-compiler/src/main/resources/org/drools/lang/DRL.g:1800:10: ( ( '0' .. '9' | 'a' .. 'f' | 'A' .. 'F' ) )
+            // /home/etirelli/workspace/jboss/jbossrules/drools-compiler/src/main/resources/org/drools/lang/DRL.g:1800:12: ( '0' .. '9' | 'a' .. 'f' | 'A' .. 'F' )
             {
             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();
@@ -767,7 +773,7 @@
     // $ANTLR start EscapeSequence
     public final void mEscapeSequence() throws RecognitionException {
         try {
-            // /Users/michaelneale/project/jboss-rules/drools-compiler/src/main/resources/org/drools/lang/DRL.g:1796: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 )
+            // /home/etirelli/workspace/jboss/jbossrules/drools-compiler/src/main/resources/org/drools/lang/DRL.g:1804: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 alt11=3;
             int LA11_0 = input.LA(1);
 
@@ -839,7 +845,7 @@
                 default:
                     if (backtracking>0) {failed=true; return ;}
                     NoViableAltException nvae =
-                        new NoViableAltException("1794:1: fragment EscapeSequence : ( '\\\\' ( '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 );", 11, 1, input);
+                        new NoViableAltException("1802:1: fragment EscapeSequence : ( '\\\\' ( '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 );", 11, 1, input);
 
                     throw nvae;
                 }
@@ -848,13 +854,13 @@
             else {
                 if (backtracking>0) {failed=true; return ;}
                 NoViableAltException nvae =
-                    new NoViableAltException("1794:1: fragment EscapeSequence : ( '\\\\' ( '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 );", 11, 0, input);
+                    new NoViableAltException("1802:1: fragment EscapeSequence : ( '\\\\' ( '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 );", 11, 0, input);
 
                 throw nvae;
             }
             switch (alt11) {
                 case 1 :
-                    // /Users/michaelneale/project/jboss-rules/drools-compiler/src/main/resources/org/drools/lang/DRL.g:1796: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' | '*' | '[' | ']' | '(' | ')' | '$' | '^' | '{' | '}' | '?' | '+' | '-' | '&' | '|' )
+                    // /home/etirelli/workspace/jboss/jbossrules/drools-compiler/src/main/resources/org/drools/lang/DRL.g:1804: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 (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')||(input.LA(1)>='w' && input.LA(1)<='x')||(input.LA(1)>='z' && input.LA(1)<='}') ) {
@@ -872,14 +878,14 @@
                     }
                     break;
                 case 2 :
-                    // /Users/michaelneale/project/jboss-rules/drools-compiler/src/main/resources/org/drools/lang/DRL.g:1800:9: UnicodeEscape
+                    // /home/etirelli/workspace/jboss/jbossrules/drools-compiler/src/main/resources/org/drools/lang/DRL.g:1808:9: UnicodeEscape
                     {
                     mUnicodeEscape(); if (failed) return ;
 
                     }
                     break;
                 case 3 :
-                    // /Users/michaelneale/project/jboss-rules/drools-compiler/src/main/resources/org/drools/lang/DRL.g:1801:9: OctalEscape
+                    // /home/etirelli/workspace/jboss/jbossrules/drools-compiler/src/main/resources/org/drools/lang/DRL.g:1809:9: OctalEscape
                     {
                     mOctalEscape(); if (failed) return ;
 
@@ -896,7 +902,7 @@
     // $ANTLR start OctalEscape
     public final void mOctalEscape() throws RecognitionException {
         try {
-            // /Users/michaelneale/project/jboss-rules/drools-compiler/src/main/resources/org/drools/lang/DRL.g:1806:5: ( '\\\\' ( '0' .. '3' ) ( '0' .. '7' ) ( '0' .. '7' ) | '\\\\' ( '0' .. '7' ) ( '0' .. '7' ) | '\\\\' ( '0' .. '7' ) )
+            // /home/etirelli/workspace/jboss/jbossrules/drools-compiler/src/main/resources/org/drools/lang/DRL.g:1814:5: ( '\\\\' ( '0' .. '3' ) ( '0' .. '7' ) ( '0' .. '7' ) | '\\\\' ( '0' .. '7' ) ( '0' .. '7' ) | '\\\\' ( '0' .. '7' ) )
             int alt12=3;
             int LA12_0 = input.LA(1);
 
@@ -930,7 +936,7 @@
                 else {
                     if (backtracking>0) {failed=true; return ;}
                     NoViableAltException nvae =
-                        new NoViableAltException("1804:1: fragment OctalEscape : ( '\\\\' ( '0' .. '3' ) ( '0' .. '7' ) ( '0' .. '7' ) | '\\\\' ( '0' .. '7' ) ( '0' .. '7' ) | '\\\\' ( '0' .. '7' ) );", 12, 1, input);
+                        new NoViableAltException("1812:1: fragment OctalEscape : ( '\\\\' ( '0' .. '3' ) ( '0' .. '7' ) ( '0' .. '7' ) | '\\\\' ( '0' .. '7' ) ( '0' .. '7' ) | '\\\\' ( '0' .. '7' ) );", 12, 1, input);
 
                     throw nvae;
                 }
@@ -938,31 +944,31 @@
             else {
                 if (backtracking>0) {failed=true; return ;}
                 NoViableAltException nvae =
-                    new NoViableAltException("1804:1: fragment OctalEscape : ( '\\\\' ( '0' .. '3' ) ( '0' .. '7' ) ( '0' .. '7' ) | '\\\\' ( '0' .. '7' ) ( '0' .. '7' ) | '\\\\' ( '0' .. '7' ) );", 12, 0, input);
+                    new NoViableAltException("1812:1: fragment OctalEscape : ( '\\\\' ( '0' .. '3' ) ( '0' .. '7' ) ( '0' .. '7' ) | '\\\\' ( '0' .. '7' ) ( '0' .. '7' ) | '\\\\' ( '0' .. '7' ) );", 12, 0, input);
 
                 throw nvae;
             }
             switch (alt12) {
                 case 1 :
-                    // /Users/michaelneale/project/jboss-rules/drools-compiler/src/main/resources/org/drools/lang/DRL.g:1806:9: '\\\\' ( '0' .. '3' ) ( '0' .. '7' ) ( '0' .. '7' )
+                    // /home/etirelli/workspace/jboss/jbossrules/drools-compiler/src/main/resources/org/drools/lang/DRL.g:1814:9: '\\\\' ( '0' .. '3' ) ( '0' .. '7' ) ( '0' .. '7' )
                     {
                     match('\\'); if (failed) return ;
-                    // /Users/michaelneale/project/jboss-rules/drools-compiler/src/main/resources/org/drools/lang/DRL.g:1806:14: ( '0' .. '3' )
-                    // /Users/michaelneale/project/jboss-rules/drools-compiler/src/main/resources/org/drools/lang/DRL.g:1806:15: '0' .. '3'
+                    // /home/etirelli/workspace/jboss/jbossrules/drools-compiler/src/main/resources/org/drools/lang/DRL.g:1814:14: ( '0' .. '3' )
+                    // /home/etirelli/workspace/jboss/jbossrules/drools-compiler/src/main/resources/org/drools/lang/DRL.g:1814:15: '0' .. '3'
                     {
                     matchRange('0','3'); if (failed) return ;
 
                     }
 
-                    // /Users/michaelneale/project/jboss-rules/drools-compiler/src/main/resources/org/drools/lang/DRL.g:1806:25: ( '0' .. '7' )
-                    // /Users/michaelneale/project/jboss-rules/drools-compiler/src/main/resources/org/drools/lang/DRL.g:1806:26: '0' .. '7'
+                    // /home/etirelli/workspace/jboss/jbossrules/drools-compiler/src/main/resources/org/drools/lang/DRL.g:1814:25: ( '0' .. '7' )
+                    // /home/etirelli/workspace/jboss/jbossrules/drools-compiler/src/main/resources/org/drools/lang/DRL.g:1814:26: '0' .. '7'
                     {
                     matchRange('0','7'); if (failed) return ;
 
                     }
 
-                    // /Users/michaelneale/project/jboss-rules/drools-compiler/src/main/resources/org/drools/lang/DRL.g:1806:36: ( '0' .. '7' )
-                    // /Users/michaelneale/project/jboss-rules/drools-compiler/src/main/resources/org/drools/lang/DRL.g:1806:37: '0' .. '7'
+                    // /home/etirelli/workspace/jboss/jbossrules/drools-compiler/src/main/resources/org/drools/lang/DRL.g:1814:36: ( '0' .. '7' )
+                    // /home/etirelli/workspace/jboss/jbossrules/drools-compiler/src/main/resources/org/drools/lang/DRL.g:1814:37: '0' .. '7'
                     {
                     matchRange('0','7'); if (failed) return ;
 
@@ -972,18 +978,18 @@
                     }
                     break;
                 case 2 :
-                    // /Users/michaelneale/project/jboss-rules/drools-compiler/src/main/resources/org/drools/lang/DRL.g:1807:9: '\\\\' ( '0' .. '7' ) ( '0' .. '7' )
+                    // /home/etirelli/workspace/jboss/jbossrules/drools-compiler/src/main/resources/org/drools/lang/DRL.g:1815:9: '\\\\' ( '0' .. '7' ) ( '0' .. '7' )
                     {
                     match('\\'); if (failed) return ;
-                    // /Users/michaelneale/project/jboss-rules/drools-compiler/src/main/resources/org/drools/lang/DRL.g:1807:14: ( '0' .. '7' )
-                    // /Users/michaelneale/project/jboss-rules/drools-compiler/src/main/resources/org/drools/lang/DRL.g:1807:15: '0' .. '7'
+                    // /home/etirelli/workspace/jboss/jbossrules/drools-compiler/src/main/resources/org/drools/lang/DRL.g:1815:14: ( '0' .. '7' )
+                    // /home/etirelli/workspace/jboss/jbossrules/drools-compiler/src/main/resources/org/drools/lang/DRL.g:1815:15: '0' .. '7'
                     {
                     matchRange('0','7'); if (failed) return ;
 
                     }
 
-                    // /Users/michaelneale/project/jboss-rules/drools-compiler/src/main/resources/org/drools/lang/DRL.g:1807:25: ( '0' .. '7' )
-                    // /Users/michaelneale/project/jboss-rules/drools-compiler/src/main/resources/org/drools/lang/DRL.g:1807:26: '0' .. '7'
+                    // /home/etirelli/workspace/jboss/jbossrules/drools-compiler/src/main/resources/org/drools/lang/DRL.g:1815:25: ( '0' .. '7' )
+                    // /home/etirelli/workspace/jboss/jbossrules/drools-compiler/src/main/resources/org/drools/lang/DRL.g:1815:26: '0' .. '7'
                     {
                     matchRange('0','7'); if (failed) return ;
 
@@ -993,11 +999,11 @@
                     }
                     break;
                 case 3 :
-                    // /Users/michaelneale/project/jboss-rules/drools-compiler/src/main/resources/org/drools/lang/DRL.g:1808:9: '\\\\' ( '0' .. '7' )
+                    // /home/etirelli/workspace/jboss/jbossrules/drools-compiler/src/main/resources/org/drools/lang/DRL.g:1816:9: '\\\\' ( '0' .. '7' )
                     {
                     match('\\'); if (failed) return ;
-                    // /Users/michaelneale/project/jboss-rules/drools-compiler/src/main/resources/org/drools/lang/DRL.g:1808:14: ( '0' .. '7' )
-                    // /Users/michaelneale/project/jboss-rules/drools-compiler/src/main/resources/org/drools/lang/DRL.g:1808:15: '0' .. '7'
+                    // /home/etirelli/workspace/jboss/jbossrules/drools-compiler/src/main/resources/org/drools/lang/DRL.g:1816:14: ( '0' .. '7' )
+                    // /home/etirelli/workspace/jboss/jbossrules/drools-compiler/src/main/resources/org/drools/lang/DRL.g:1816:15: '0' .. '7'
                     {
                     matchRange('0','7'); if (failed) return ;
 
@@ -1017,8 +1023,8 @@
     // $ANTLR start UnicodeEscape
     public final void mUnicodeEscape() throws RecognitionException {
         try {
-            // /Users/michaelneale/project/jboss-rules/drools-compiler/src/main/resources/org/drools/lang/DRL.g:1813:5: ( '\\\\' 'u' HexDigit HexDigit HexDigit HexDigit )
-            // /Users/michaelneale/project/jboss-rules/drools-compiler/src/main/resources/org/drools/lang/DRL.g:1813:9: '\\\\' 'u' HexDigit HexDigit HexDigit HexDigit
+            // /home/etirelli/workspace/jboss/jbossrules/drools-compiler/src/main/resources/org/drools/lang/DRL.g:1821:5: ( '\\\\' 'u' HexDigit HexDigit HexDigit HexDigit )
+            // /home/etirelli/workspace/jboss/jbossrules/drools-compiler/src/main/resources/org/drools/lang/DRL.g:1821:9: '\\\\' 'u' HexDigit HexDigit HexDigit HexDigit
             {
             match('\\'); if (failed) return ;
             match('u'); if (failed) return ;
@@ -1039,10 +1045,10 @@
     public final void mBOOL() throws RecognitionException {
         try {
             int _type = BOOL;
-            // /Users/michaelneale/project/jboss-rules/drools-compiler/src/main/resources/org/drools/lang/DRL.g:1817:2: ( ( 'true' | 'false' ) )
-            // /Users/michaelneale/project/jboss-rules/drools-compiler/src/main/resources/org/drools/lang/DRL.g:1817:4: ( 'true' | 'false' )
+            // /home/etirelli/workspace/jboss/jbossrules/drools-compiler/src/main/resources/org/drools/lang/DRL.g:1825:2: ( ( 'true' | 'false' ) )
+            // /home/etirelli/workspace/jboss/jbossrules/drools-compiler/src/main/resources/org/drools/lang/DRL.g:1825:4: ( 'true' | 'false' )
             {
-            // /Users/michaelneale/project/jboss-rules/drools-compiler/src/main/resources/org/drools/lang/DRL.g:1817:4: ( 'true' | 'false' )
+            // /home/etirelli/workspace/jboss/jbossrules/drools-compiler/src/main/resources/org/drools/lang/DRL.g:1825:4: ( 'true' | 'false' )
             int alt13=2;
             int LA13_0 = input.LA(1);
 
@@ -1055,13 +1061,13 @@
             else {
                 if (backtracking>0) {failed=true; return ;}
                 NoViableAltException nvae =
-                    new NoViableAltException("1817:4: ( 'true' | 'false' )", 13, 0, input);
+                    new NoViableAltException("1825:4: ( 'true' | 'false' )", 13, 0, input);
 
                 throw nvae;
             }
             switch (alt13) {
                 case 1 :
-                    // /Users/michaelneale/project/jboss-rules/drools-compiler/src/main/resources/org/drools/lang/DRL.g:1817:5: 'true'
+                    // /home/etirelli/workspace/jboss/jbossrules/drools-compiler/src/main/resources/org/drools/lang/DRL.g:1825:5: 'true'
                     {
                     match("true"); if (failed) return ;
 
@@ -1069,7 +1075,7 @@
                     }
                     break;
                 case 2 :
-                    // /Users/michaelneale/project/jboss-rules/drools-compiler/src/main/resources/org/drools/lang/DRL.g:1817:12: 'false'
+                    // /home/etirelli/workspace/jboss/jbossrules/drools-compiler/src/main/resources/org/drools/lang/DRL.g:1825:12: 'false'
                     {
                     match("false"); if (failed) return ;
 
@@ -1093,8 +1099,8 @@
     public final void mPACKAGE() throws RecognitionException {
         try {
             int _type = PACKAGE;
-            // /Users/michaelneale/project/jboss-rules/drools-compiler/src/main/resources/org/drools/lang/DRL.g:1820:9: ( 'package' )
-            // /Users/michaelneale/project/jboss-rules/drools-compiler/src/main/resources/org/drools/lang/DRL.g:1820:11: 'package'
+            // /home/etirelli/workspace/jboss/jbossrules/drools-compiler/src/main/resources/org/drools/lang/DRL.g:1828:9: ( 'package' )
+            // /home/etirelli/workspace/jboss/jbossrules/drools-compiler/src/main/resources/org/drools/lang/DRL.g:1828:11: 'package'
             {
             match("package"); if (failed) return ;
 
@@ -1112,8 +1118,8 @@
     public final void mIMPORT() throws RecognitionException {
         try {
             int _type = IMPORT;
-            // /Users/michaelneale/project/jboss-rules/drools-compiler/src/main/resources/org/drools/lang/DRL.g:1822:8: ( 'import' )
-            // /Users/michaelneale/project/jboss-rules/drools-compiler/src/main/resources/org/drools/lang/DRL.g:1822:10: 'import'
+            // /home/etirelli/workspace/jboss/jbossrules/drools-compiler/src/main/resources/org/drools/lang/DRL.g:1830:8: ( 'import' )
+            // /home/etirelli/workspace/jboss/jbossrules/drools-compiler/src/main/resources/org/drools/lang/DRL.g:1830:10: 'import'
             {
             match("import"); if (failed) return ;
 
@@ -1131,8 +1137,8 @@
     public final void mFUNCTION() throws RecognitionException {
         try {
             int _type = FUNCTION;
-            // /Users/michaelneale/project/jboss-rules/drools-compiler/src/main/resources/org/drools/lang/DRL.g:1824:10: ( 'function' )
-            // /Users/michaelneale/project/jboss-rules/drools-compiler/src/main/resources/org/drools/lang/DRL.g:1824:12: 'function'
+            // /home/etirelli/workspace/jboss/jbossrules/drools-compiler/src/main/resources/org/drools/lang/DRL.g:1832:10: ( 'function' )
+            // /home/etirelli/workspace/jboss/jbossrules/drools-compiler/src/main/resources/org/drools/lang/DRL.g:1832:12: 'function'
             {
             match("function"); if (failed) return ;
 
@@ -1150,8 +1156,8 @@
     public final void mEVENT() throws RecognitionException {
         try {
             int _type = EVENT;
-            // /Users/michaelneale/project/jboss-rules/drools-compiler/src/main/resources/org/drools/lang/DRL.g:1826:7: ( 'event' )
-            // /Users/michaelneale/project/jboss-rules/drools-compiler/src/main/resources/org/drools/lang/DRL.g:1826:10: 'event'
+            // /home/etirelli/workspace/jboss/jbossrules/drools-compiler/src/main/resources/org/drools/lang/DRL.g:1834:7: ( 'event' )
+            // /home/etirelli/workspace/jboss/jbossrules/drools-compiler/src/main/resources/org/drools/lang/DRL.g:1834:10: 'event'
             {
             match("event"); if (failed) return ;
 
@@ -1169,8 +1175,8 @@
     public final void mGLOBAL() throws RecognitionException {
         try {
             int _type = GLOBAL;
-            // /Users/michaelneale/project/jboss-rules/drools-compiler/src/main/resources/org/drools/lang/DRL.g:1828:8: ( 'global' )
-            // /Users/michaelneale/project/jboss-rules/drools-compiler/src/main/resources/org/drools/lang/DRL.g:1828:10: 'global'
+            // /home/etirelli/workspace/jboss/jbossrules/drools-compiler/src/main/resources/org/drools/lang/DRL.g:1836:8: ( 'global' )
+            // /home/etirelli/workspace/jboss/jbossrules/drools-compiler/src/main/resources/org/drools/lang/DRL.g:1836:10: 'global'
             {
             match("global"); if (failed) return ;
 
@@ -1188,8 +1194,8 @@
     public final void mDECLARE() throws RecognitionException {
         try {
             int _type = DECLARE;
-            // /Users/michaelneale/project/jboss-rules/drools-compiler/src/main/resources/org/drools/lang/DRL.g:1830:9: ( 'declare' )
-            // /Users/michaelneale/project/jboss-rules/drools-compiler/src/main/resources/org/drools/lang/DRL.g:1830:11: 'declare'
+            // /home/etirelli/workspace/jboss/jbossrules/drools-compiler/src/main/resources/org/drools/lang/DRL.g:1838:9: ( 'declare' )
+            // /home/etirelli/workspace/jboss/jbossrules/drools-compiler/src/main/resources/org/drools/lang/DRL.g:1838:11: 'declare'
             {
             match("declare"); if (failed) return ;
 
@@ -1207,8 +1213,8 @@
     public final void mRULE() throws RecognitionException {
         try {
             int _type = RULE;
-            // /Users/michaelneale/project/jboss-rules/drools-compiler/src/main/resources/org/drools/lang/DRL.g:1832:9: ( 'rule' )
-            // /Users/michaelneale/project/jboss-rules/drools-compiler/src/main/resources/org/drools/lang/DRL.g:1832:11: 'rule'
+            // /home/etirelli/workspace/jboss/jbossrules/drools-compiler/src/main/resources/org/drools/lang/DRL.g:1840:9: ( 'rule' )
+            // /home/etirelli/workspace/jboss/jbossrules/drools-compiler/src/main/resources/org/drools/lang/DRL.g:1840:11: 'rule'
             {
             match("rule"); if (failed) return ;
 
@@ -1226,8 +1232,8 @@
     public final void mQUERY() throws RecognitionException {
         try {
             int _type = QUERY;
-            // /Users/michaelneale/project/jboss-rules/drools-compiler/src/main/resources/org/drools/lang/DRL.g:1834:7: ( 'query' )
-            // /Users/michaelneale/project/jboss-rules/drools-compiler/src/main/resources/org/drools/lang/DRL.g:1834:9: 'query'
+            // /home/etirelli/workspace/jboss/jbossrules/drools-compiler/src/main/resources/org/drools/lang/DRL.g:1842:7: ( 'query' )
+            // /home/etirelli/workspace/jboss/jbossrules/drools-compiler/src/main/resources/org/drools/lang/DRL.g:1842:9: 'query'
             {
             match("query"); if (failed) return ;
 
@@ -1245,8 +1251,8 @@
     public final void mTEMPLATE() throws RecognitionException {
         try {
             int _type = TEMPLATE;
-            // /Users/michaelneale/project/jboss-rules/drools-compiler/src/main/resources/org/drools/lang/DRL.g:1836:10: ( 'template' )
-            // /Users/michaelneale/project/jboss-rules/drools-compiler/src/main/resources/org/drools/lang/DRL.g:1836:12: 'template'
+            // /home/etirelli/workspace/jboss/jbossrules/drools-compiler/src/main/resources/org/drools/lang/DRL.g:1844:10: ( 'template' )
+            // /home/etirelli/workspace/jboss/jbossrules/drools-compiler/src/main/resources/org/drools/lang/DRL.g:1844:12: 'template'
             {
             match("template"); if (failed) return ;
 
@@ -1264,8 +1270,8 @@
     public final void mATTRIBUTES() throws RecognitionException {
         try {
             int _type = ATTRIBUTES;
-            // /Users/michaelneale/project/jboss-rules/drools-compiler/src/main/resources/org/drools/lang/DRL.g:1838:12: ( 'attributes' )
-            // /Users/michaelneale/project/jboss-rules/drools-compiler/src/main/resources/org/drools/lang/DRL.g:1838:14: 'attributes'
+            // /home/etirelli/workspace/jboss/jbossrules/drools-compiler/src/main/resources/org/drools/lang/DRL.g:1846:12: ( 'attributes' )
+            // /home/etirelli/workspace/jboss/jbossrules/drools-compiler/src/main/resources/org/drools/lang/DRL.g:1846:14: 'attributes'
             {
             match("attributes"); if (failed) return ;
 
@@ -1283,8 +1289,8 @@
     public final void mDATE_EFFECTIVE() throws RecognitionException {
         try {
             int _type = DATE_EFFECTIVE;
-            // /Users/michaelneale/project/jboss-rules/drools-compiler/src/main/resources/org/drools/lang/DRL.g:1841:2: ( 'date-effective' )
-            // /Users/michaelneale/project/jboss-rules/drools-compiler/src/main/resources/org/drools/lang/DRL.g:1841:4: 'date-effective'
+            // /home/etirelli/workspace/jboss/jbossrules/drools-compiler/src/main/resources/org/drools/lang/DRL.g:1849:2: ( 'date-effective' )
+            // /home/etirelli/workspace/jboss/jbossrules/drools-compiler/src/main/resources/org/drools/lang/DRL.g:1849:4: 'date-effective'
             {
             match("date-effective"); if (failed) return ;
 
@@ -1302,8 +1308,8 @@
     public final void mDATE_EXPIRES() throws RecognitionException {
         try {
             int _type = DATE_EXPIRES;
-            // /Users/michaelneale/project/jboss-rules/drools-compiler/src/main/resources/org/drools/lang/DRL.g:1844:2: ( 'date-expires' )
-            // /Users/michaelneale/project/jboss-rules/drools-compiler/src/main/resources/org/drools/lang/DRL.g:1844:4: 'date-expires'
+            // /home/etirelli/workspace/jboss/jbossrules/drools-compiler/src/main/resources/org/drools/lang/DRL.g:1852:2: ( 'date-expires' )
+            // /home/etirelli/workspace/jboss/jbossrules/drools-compiler/src/main/resources/org/drools/lang/DRL.g:1852:4: 'date-expires'
             {
             match("date-expires"); if (failed) return ;
 
@@ -1321,8 +1327,8 @@
     public final void mENABLED() throws RecognitionException {
         try {
             int _type = ENABLED;
-            // /Users/michaelneale/project/jboss-rules/drools-compiler/src/main/resources/org/drools/lang/DRL.g:1846:9: ( 'enabled' )
-            // /Users/michaelneale/project/jboss-rules/drools-compiler/src/main/resources/org/drools/lang/DRL.g:1846:11: 'enabled'
+            // /home/etirelli/workspace/jboss/jbossrules/drools-compiler/src/main/resources/org/drools/lang/DRL.g:1854:9: ( 'enabled' )
+            // /home/etirelli/workspace/jboss/jbossrules/drools-compiler/src/main/resources/org/drools/lang/DRL.g:1854:11: 'enabled'
             {
             match("enabled"); if (failed) return ;
 
@@ -1340,8 +1346,8 @@
     public final void mSALIENCE() throws RecognitionException {
         try {
             int _type = SALIENCE;
-            // /Users/michaelneale/project/jboss-rules/drools-compiler/src/main/resources/org/drools/lang/DRL.g:1849:2: ( 'salience' )
-            // /Users/michaelneale/project/jboss-rules/drools-compiler/src/main/resources/org/drools/lang/DRL.g:1849:4: 'salience'
+            // /home/etirelli/workspace/jboss/jbossrules/drools-compiler/src/main/resources/org/drools/lang/DRL.g:1857:2: ( 'salience' )
+            // /home/etirelli/workspace/jboss/jbossrules/drools-compiler/src/main/resources/org/drools/lang/DRL.g:1857:4: 'salience'
             {
             match("salience"); if (failed) return ;
 
@@ -1359,8 +1365,8 @@
     public final void mNO_LOOP() throws RecognitionException {
         try {
             int _type = NO_LOOP;
-            // /Users/michaelneale/project/jboss-rules/drools-compiler/src/main/resources/org/drools/lang/DRL.g:1851:9: ( 'no-loop' )
-            // /Users/michaelneale/project/jboss-rules/drools-compiler/src/main/resources/org/drools/lang/DRL.g:1851:11: 'no-loop'
+            // /home/etirelli/workspace/jboss/jbossrules/drools-compiler/src/main/resources/org/drools/lang/DRL.g:1859:9: ( 'no-loop' )
+            // /home/etirelli/workspace/jboss/jbossrules/drools-compiler/src/main/resources/org/drools/lang/DRL.g:1859:11: 'no-loop'
             {
             match("no-loop"); if (failed) return ;
 
@@ -1378,8 +1384,8 @@
     public final void mAUTO_FOCUS() throws RecognitionException {
         try {
             int _type = AUTO_FOCUS;
-            // /Users/michaelneale/project/jboss-rules/drools-compiler/src/main/resources/org/drools/lang/DRL.g:1854:2: ( 'auto-focus' )
-            // /Users/michaelneale/project/jboss-rules/drools-compiler/src/main/resources/org/drools/lang/DRL.g:1854:4: 'auto-focus'
+            // /home/etirelli/workspace/jboss/jbossrules/drools-compiler/src/main/resources/org/drools/lang/DRL.g:1862:2: ( 'auto-focus' )
+            // /home/etirelli/workspace/jboss/jbossrules/drools-compiler/src/main/resources/org/drools/lang/DRL.g:1862:4: 'auto-focus'
             {
             match("auto-focus"); if (failed) return ;
 
@@ -1397,8 +1403,8 @@
     public final void mACTIVATION_GROUP() throws RecognitionException {
         try {
             int _type = ACTIVATION_GROUP;
-            // /Users/michaelneale/project/jboss-rules/drools-compiler/src/main/resources/org/drools/lang/DRL.g:1857:2: ( 'activation-group' )
-            // /Users/michaelneale/project/jboss-rules/drools-compiler/src/main/resources/org/drools/lang/DRL.g:1857:4: 'activation-group'
+            // /home/etirelli/workspace/jboss/jbossrules/drools-compiler/src/main/resources/org/drools/lang/DRL.g:1865:2: ( 'activation-group' )
+            // /home/etirelli/workspace/jboss/jbossrules/drools-compiler/src/main/resources/org/drools/lang/DRL.g:1865:4: 'activation-group'
             {
             match("activation-group"); if (failed) return ;
 
@@ -1416,8 +1422,8 @@
     public final void mAGENDA_GROUP() throws RecognitionException {
         try {
             int _type = AGENDA_GROUP;
-            // /Users/michaelneale/project/jboss-rules/drools-compiler/src/main/resources/org/drools/lang/DRL.g:1860:2: ( 'agenda-group' )
-            // /Users/michaelneale/project/jboss-rules/drools-compiler/src/main/resources/org/drools/lang/DRL.g:1860:4: 'agenda-group'
+            // /home/etirelli/workspace/jboss/jbossrules/drools-compiler/src/main/resources/org/drools/lang/DRL.g:1868:2: ( 'agenda-group' )
+            // /home/etirelli/workspace/jboss/jbossrules/drools-compiler/src/main/resources/org/drools/lang/DRL.g:1868:4: 'agenda-group'
             {
             match("agenda-group"); if (failed) return ;
 
@@ -1435,8 +1441,8 @@
     public final void mDIALECT() throws RecognitionException {
         try {
             int _type = DIALECT;
-            // /Users/michaelneale/project/jboss-rules/drools-compiler/src/main/resources/org/drools/lang/DRL.g:1863:2: ( 'dialect' )
-            // /Users/michaelneale/project/jboss-rules/drools-compiler/src/main/resources/org/drools/lang/DRL.g:1863:4: 'dialect'
+            // /home/etirelli/workspace/jboss/jbossrules/drools-compiler/src/main/resources/org/drools/lang/DRL.g:1871:2: ( 'dialect' )
+            // /home/etirelli/workspace/jboss/jbossrules/drools-compiler/src/main/resources/org/drools/lang/DRL.g:1871:4: 'dialect'
             {
             match("dialect"); if (failed) return ;
 
@@ -1454,8 +1460,8 @@
     public final void mRULEFLOW_GROUP() throws RecognitionException {
         try {
             int _type = RULEFLOW_GROUP;
-            // /Users/michaelneale/project/jboss-rules/drools-compiler/src/main/resources/org/drools/lang/DRL.g:1866:2: ( 'ruleflow-group' )
-            // /Users/michaelneale/project/jboss-rules/drools-compiler/src/main/resources/org/drools/lang/DRL.g:1866:4: 'ruleflow-group'
+            // /home/etirelli/workspace/jboss/jbossrules/drools-compiler/src/main/resources/org/drools/lang/DRL.g:1874:2: ( 'ruleflow-group' )
+            // /home/etirelli/workspace/jboss/jbossrules/drools-compiler/src/main/resources/org/drools/lang/DRL.g:1874:4: 'ruleflow-group'
             {
             match("ruleflow-group"); if (failed) return ;
 
@@ -1473,8 +1479,8 @@
     public final void mDURATION() throws RecognitionException {
         try {
             int _type = DURATION;
-            // /Users/michaelneale/project/jboss-rules/drools-compiler/src/main/resources/org/drools/lang/DRL.g:1869:2: ( 'duration' )
-            // /Users/michaelneale/project/jboss-rules/drools-compiler/src/main/resources/org/drools/lang/DRL.g:1869:4: 'duration'
+            // /home/etirelli/workspace/jboss/jbossrules/drools-compiler/src/main/resources/org/drools/lang/DRL.g:1877:2: ( 'duration' )
+            // /home/etirelli/workspace/jboss/jbossrules/drools-compiler/src/main/resources/org/drools/lang/DRL.g:1877:4: 'duration'
             {
             match("duration"); if (failed) return ;
 
@@ -1492,8 +1498,8 @@
     public final void mLOCK_ON_ACTIVE() throws RecognitionException {
         try {
             int _type = LOCK_ON_ACTIVE;
-            // /Users/michaelneale/project/jboss-rules/drools-compiler/src/main/resources/org/drools/lang/DRL.g:1872:2: ( 'lock-on-active' )
-            // /Users/michaelneale/project/jboss-rules/drools-compiler/src/main/resources/org/drools/lang/DRL.g:1872:4: 'lock-on-active'
+            // /home/etirelli/workspace/jboss/jbossrules/drools-compiler/src/main/resources/org/drools/lang/DRL.g:1880:2: ( 'lock-on-active' )
+            // /home/etirelli/workspace/jboss/jbossrules/drools-compiler/src/main/resources/org/drools/lang/DRL.g:1880:4: 'lock-on-active'
             {
             match("lock-on-active"); if (failed) return ;
 
@@ -1511,8 +1517,8 @@
     public final void mFROM() throws RecognitionException {
         try {
             int _type = FROM;
-            // /Users/michaelneale/project/jboss-rules/drools-compiler/src/main/resources/org/drools/lang/DRL.g:1874:6: ( 'from' )
-            // /Users/michaelneale/project/jboss-rules/drools-compiler/src/main/resources/org/drools/lang/DRL.g:1874:8: 'from'
+            // /home/etirelli/workspace/jboss/jbossrules/drools-compiler/src/main/resources/org/drools/lang/DRL.g:1882:6: ( 'from' )
+            // /home/etirelli/workspace/jboss/jbossrules/drools-compiler/src/main/resources/org/drools/lang/DRL.g:1882:8: 'from'
             {
             match("from"); if (failed) return ;
 
@@ -1530,8 +1536,8 @@
     public final void mACCUMULATE() throws RecognitionException {
         try {
             int _type = ACCUMULATE;
-            // /Users/michaelneale/project/jboss-rules/drools-compiler/src/main/resources/org/drools/lang/DRL.g:1877:2: ( 'accumulate' )
-            // /Users/michaelneale/project/jboss-rules/drools-compiler/src/main/resources/org/drools/lang/DRL.g:1877:4: 'accumulate'
+            // /home/etirelli/workspace/jboss/jbossrules/drools-compiler/src/main/resources/org/drools/lang/DRL.g:1885:2: ( 'accumulate' )
+            // /home/etirelli/workspace/jboss/jbossrules/drools-compiler/src/main/resources/org/drools/lang/DRL.g:1885:4: 'accumulate'
             {
             match("accumulate"); if (failed) return ;
 
@@ -1549,8 +1555,8 @@
     public final void mINIT() throws RecognitionException {
         try {
             int _type = INIT;
-            // /Users/michaelneale/project/jboss-rules/drools-compiler/src/main/resources/org/drools/lang/DRL.g:1879:6: ( 'init' )
-            // /Users/michaelneale/project/jboss-rules/drools-compiler/src/main/resources/org/drools/lang/DRL.g:1879:8: 'init'
+            // /home/etirelli/workspace/jboss/jbossrules/drools-compiler/src/main/resources/org/drools/lang/DRL.g:1887:6: ( 'init' )
+            // /home/etirelli/workspace/jboss/jbossrules/drools-compiler/src/main/resources/org/drools/lang/DRL.g:1887:8: 'init'
             {
             match("init"); if (failed) return ;
 
@@ -1568,8 +1574,8 @@
     public final void mACTION() throws RecognitionException {
         try {
             int _type = ACTION;
-            // /Users/michaelneale/project/jboss-rules/drools-compiler/src/main/resources/org/drools/lang/DRL.g:1881:8: ( 'action' )
-            // /Users/michaelneale/project/jboss-rules/drools-compiler/src/main/resources/org/drools/lang/DRL.g:1881:10: 'action'
+            // /home/etirelli/workspace/jboss/jbossrules/drools-compiler/src/main/resources/org/drools/lang/DRL.g:1889:8: ( 'action' )
+            // /home/etirelli/workspace/jboss/jbossrules/drools-compiler/src/main/resources/org/drools/lang/DRL.g:1889:10: 'action'
             {
             match("action"); if (failed) return ;
 
@@ -1587,8 +1593,8 @@
     public final void mREVERSE() throws RecognitionException {
         try {
             int _type = REVERSE;
-            // /Users/michaelneale/project/jboss-rules/drools-compiler/src/main/resources/org/drools/lang/DRL.g:1883:9: ( 'reverse' )
-            // /Users/michaelneale/project/jboss-rules/drools-compiler/src/main/resources/org/drools/lang/DRL.g:1883:11: 'reverse'
+            // /home/etirelli/workspace/jboss/jbossrules/drools-compiler/src/main/resources/org/drools/lang/DRL.g:1891:9: ( 'reverse' )
+            // /home/etirelli/workspace/jboss/jbossrules/drools-compiler/src/main/resources/org/drools/lang/DRL.g:1891:11: 'reverse'
             {
             match("reverse"); if (failed) return ;
 
@@ -1606,8 +1612,8 @@
     public final void mRESULT() throws RecognitionException {
         try {
             int _type = RESULT;
-            // /Users/michaelneale/project/jboss-rules/drools-compiler/src/main/resources/org/drools/lang/DRL.g:1885:8: ( 'result' )
-            // /Users/michaelneale/project/jboss-rules/drools-compiler/src/main/resources/org/drools/lang/DRL.g:1885:10: 'result'
+            // /home/etirelli/workspace/jboss/jbossrules/drools-compiler/src/main/resources/org/drools/lang/DRL.g:1893:8: ( 'result' )
+            // /home/etirelli/workspace/jboss/jbossrules/drools-compiler/src/main/resources/org/drools/lang/DRL.g:1893:10: 'result'
             {
             match("result"); if (failed) return ;
 
@@ -1625,8 +1631,8 @@
     public final void mCOLLECT() throws RecognitionException {
         try {
             int _type = COLLECT;
-            // /Users/michaelneale/project/jboss-rules/drools-compiler/src/main/resources/org/drools/lang/DRL.g:1887:9: ( 'collect' )
-            // /Users/michaelneale/project/jboss-rules/drools-compiler/src/main/resources/org/drools/lang/DRL.g:1887:11: 'collect'
+            // /home/etirelli/workspace/jboss/jbossrules/drools-compiler/src/main/resources/org/drools/lang/DRL.g:1895:9: ( 'collect' )
+            // /home/etirelli/workspace/jboss/jbossrules/drools-compiler/src/main/resources/org/drools/lang/DRL.g:1895:11: 'collect'
             {
             match("collect"); if (failed) return ;
 
@@ -1644,8 +1650,8 @@
     public final void mENTRY_POINT() throws RecognitionException {
         try {
             int _type = ENTRY_POINT;
-            // /Users/michaelneale/project/jboss-rules/drools-compiler/src/main/resources/org/drools/lang/DRL.g:1889:13: ( 'entry-point' )
-            // /Users/michaelneale/project/jboss-rules/drools-compiler/src/main/resources/org/drools/lang/DRL.g:1889:15: 'entry-point'
+            // /home/etirelli/workspace/jboss/jbossrules/drools-compiler/src/main/resources/org/drools/lang/DRL.g:1897:13: ( 'entry-point' )
+            // /home/etirelli/workspace/jboss/jbossrules/drools-compiler/src/main/resources/org/drools/lang/DRL.g:1897:15: 'entry-point'
             {
             match("entry-point"); if (failed) return ;
 
@@ -1663,8 +1669,8 @@
     public final void mOR() throws RecognitionException {
         try {
             int _type = OR;
-            // /Users/michaelneale/project/jboss-rules/drools-compiler/src/main/resources/org/drools/lang/DRL.g:1891:4: ( 'or' )
-            // /Users/michaelneale/project/jboss-rules/drools-compiler/src/main/resources/org/drools/lang/DRL.g:1891:6: 'or'
+            // /home/etirelli/workspace/jboss/jbossrules/drools-compiler/src/main/resources/org/drools/lang/DRL.g:1899:4: ( 'or' )
+            // /home/etirelli/workspace/jboss/jbossrules/drools-compiler/src/main/resources/org/drools/lang/DRL.g:1899:6: 'or'
             {
             match("or"); if (failed) return ;
 
@@ -1682,8 +1688,8 @@
     public final void mAND() throws RecognitionException {
         try {
             int _type = AND;
-            // /Users/michaelneale/project/jboss-rules/drools-compiler/src/main/resources/org/drools/lang/DRL.g:1893:5: ( 'and' )
-            // /Users/michaelneale/project/jboss-rules/drools-compiler/src/main/resources/org/drools/lang/DRL.g:1893:7: 'and'
+            // /home/etirelli/workspace/jboss/jbossrules/drools-compiler/src/main/resources/org/drools/lang/DRL.g:1901:5: ( 'and' )
+            // /home/etirelli/workspace/jboss/jbossrules/drools-compiler/src/main/resources/org/drools/lang/DRL.g:1901:7: 'and'
             {
             match("and"); if (failed) return ;
 
@@ -1701,8 +1707,8 @@
     public final void mCONTAINS() throws RecognitionException {
         try {
             int _type = CONTAINS;
-            // /Users/michaelneale/project/jboss-rules/drools-compiler/src/main/resources/org/drools/lang/DRL.g:1896:8: ( 'contains' )
-            // /Users/michaelneale/project/jboss-rules/drools-compiler/src/main/resources/org/drools/lang/DRL.g:1896:16: 'contains'
+            // /home/etirelli/workspace/jboss/jbossrules/drools-compiler/src/main/resources/org/drools/lang/DRL.g:1904:8: ( 'contains' )
+            // /home/etirelli/workspace/jboss/jbossrules/drools-compiler/src/main/resources/org/drools/lang/DRL.g:1904:16: 'contains'
             {
             match("contains"); if (failed) return ;
 
@@ -1720,8 +1726,8 @@
     public final void mEXCLUDES() throws RecognitionException {
         try {
             int _type = EXCLUDES;
-            // /Users/michaelneale/project/jboss-rules/drools-compiler/src/main/resources/org/drools/lang/DRL.g:1899:8: ( 'excludes' )
-            // /Users/michaelneale/project/jboss-rules/drools-compiler/src/main/resources/org/drools/lang/DRL.g:1899:16: 'excludes'
+            // /home/etirelli/workspace/jboss/jbossrules/drools-compiler/src/main/resources/org/drools/lang/DRL.g:1907:8: ( 'excludes' )
+            // /home/etirelli/workspace/jboss/jbossrules/drools-compiler/src/main/resources/org/drools/lang/DRL.g:1907:16: 'excludes'
             {
             match("excludes"); if (failed) return ;
 
@@ -1739,8 +1745,8 @@
     public final void mMEMBEROF() throws RecognitionException {
         try {
             int _type = MEMBEROF;
-            // /Users/michaelneale/project/jboss-rules/drools-compiler/src/main/resources/org/drools/lang/DRL.g:1902:8: ( 'memberOf' )
-            // /Users/michaelneale/project/jboss-rules/drools-compiler/src/main/resources/org/drools/lang/DRL.g:1902:16: 'memberOf'
+            // /home/etirelli/workspace/jboss/jbossrules/drools-compiler/src/main/resources/org/drools/lang/DRL.g:1910:8: ( 'memberOf' )
+            // /home/etirelli/workspace/jboss/jbossrules/drools-compiler/src/main/resources/org/drools/lang/DRL.g:1910:16: 'memberOf'
             {
             match("memberOf"); if (failed) return ;
 
@@ -1758,8 +1764,8 @@
     public final void mMATCHES() throws RecognitionException {
         try {
             int _type = MATCHES;
-            // /Users/michaelneale/project/jboss-rules/drools-compiler/src/main/resources/org/drools/lang/DRL.g:1904:9: ( 'matches' )
-            // /Users/michaelneale/project/jboss-rules/drools-compiler/src/main/resources/org/drools/lang/DRL.g:1904:16: 'matches'
+            // /home/etirelli/workspace/jboss/jbossrules/drools-compiler/src/main/resources/org/drools/lang/DRL.g:1912:9: ( 'matches' )
+            // /home/etirelli/workspace/jboss/jbossrules/drools-compiler/src/main/resources/org/drools/lang/DRL.g:1912:16: 'matches'
             {
             match("matches"); if (failed) return ;
 
@@ -1777,8 +1783,8 @@
     public final void mSOUNDSLIKE() throws RecognitionException {
         try {
             int _type = SOUNDSLIKE;
-            // /Users/michaelneale/project/jboss-rules/drools-compiler/src/main/resources/org/drools/lang/DRL.g:1906:12: ( 'soundslike' )
-            // /Users/michaelneale/project/jboss-rules/drools-compiler/src/main/resources/org/drools/lang/DRL.g:1906:16: 'soundslike'
+            // /home/etirelli/workspace/jboss/jbossrules/drools-compiler/src/main/resources/org/drools/lang/DRL.g:1914:12: ( 'soundslike' )
+            // /home/etirelli/workspace/jboss/jbossrules/drools-compiler/src/main/resources/org/drools/lang/DRL.g:1914:16: 'soundslike'
             {
             match("soundslike"); if (failed) return ;
 
@@ -1796,8 +1802,8 @@
     public final void mIN() throws RecognitionException {
         try {
             int _type = IN;
-            // /Users/michaelneale/project/jboss-rules/drools-compiler/src/main/resources/org/drools/lang/DRL.g:1908:4: ( 'in' )
-            // /Users/michaelneale/project/jboss-rules/drools-compiler/src/main/resources/org/drools/lang/DRL.g:1908:6: 'in'
+            // /home/etirelli/workspace/jboss/jbossrules/drools-compiler/src/main/resources/org/drools/lang/DRL.g:1916:4: ( 'in' )
+            // /home/etirelli/workspace/jboss/jbossrules/drools-compiler/src/main/resources/org/drools/lang/DRL.g:1916:6: 'in'
             {
             match("in"); if (failed) return ;
 
@@ -1815,8 +1821,8 @@
     public final void mNULL() throws RecognitionException {
         try {
             int _type = NULL;
-            // /Users/michaelneale/project/jboss-rules/drools-compiler/src/main/resources/org/drools/lang/DRL.g:1910:6: ( 'null' )
-            // /Users/michaelneale/project/jboss-rules/drools-compiler/src/main/resources/org/drools/lang/DRL.g:1910:8: 'null'
+            // /home/etirelli/workspace/jboss/jbossrules/drools-compiler/src/main/resources/org/drools/lang/DRL.g:1918:6: ( 'null' )
+            // /home/etirelli/workspace/jboss/jbossrules/drools-compiler/src/main/resources/org/drools/lang/DRL.g:1918:8: 'null'
             {
             match("null"); if (failed) return ;
 
@@ -1834,8 +1840,8 @@
     public final void mEXISTS() throws RecognitionException {
         try {
             int _type = EXISTS;
-            // /Users/michaelneale/project/jboss-rules/drools-compiler/src/main/resources/org/drools/lang/DRL.g:1912:8: ( 'exists' )
-            // /Users/michaelneale/project/jboss-rules/drools-compiler/src/main/resources/org/drools/lang/DRL.g:1912:10: 'exists'
+            // /home/etirelli/workspace/jboss/jbossrules/drools-compiler/src/main/resources/org/drools/lang/DRL.g:1920:8: ( 'exists' )
+            // /home/etirelli/workspace/jboss/jbossrules/drools-compiler/src/main/resources/org/drools/lang/DRL.g:1920:10: 'exists'
             {
             match("exists"); if (failed) return ;
 
@@ -1853,8 +1859,8 @@
     public final void mNOT() throws RecognitionException {
         try {
             int _type = NOT;
-            // /Users/michaelneale/project/jboss-rules/drools-compiler/src/main/resources/org/drools/lang/DRL.g:1914:5: ( 'not' )
-            // /Users/michaelneale/project/jboss-rules/drools-compiler/src/main/resources/org/drools/lang/DRL.g:1914:7: 'not'
+            // /home/etirelli/workspace/jboss/jbossrules/drools-compiler/src/main/resources/org/drools/lang/DRL.g:1922:5: ( 'not' )
+            // /home/etirelli/workspace/jboss/jbossrules/drools-compiler/src/main/resources/org/drools/lang/DRL.g:1922:7: 'not'
             {
             match("not"); if (failed) return ;
 
@@ -1872,8 +1878,8 @@
     public final void mEVAL() throws RecognitionException {
         try {
             int _type = EVAL;
-            // /Users/michaelneale/project/jboss-rules/drools-compiler/src/main/resources/org/drools/lang/DRL.g:1916:6: ( 'eval' )
-            // /Users/michaelneale/project/jboss-rules/drools-compiler/src/main/resources/org/drools/lang/DRL.g:1916:8: 'eval'
+            // /home/etirelli/workspace/jboss/jbossrules/drools-compiler/src/main/resources/org/drools/lang/DRL.g:1924:6: ( 'eval' )
+            // /home/etirelli/workspace/jboss/jbossrules/drools-compiler/src/main/resources/org/drools/lang/DRL.g:1924:8: 'eval'
             {
             match("eval"); if (failed) return ;
 
@@ -1891,8 +1897,8 @@
     public final void mFORALL() throws RecognitionException {
         try {
             int _type = FORALL;
-            // /Users/michaelneale/project/jboss-rules/drools-compiler/src/main/resources/org/drools/lang/DRL.g:1918:8: ( 'forall' )
-            // /Users/michaelneale/project/jboss-rules/drools-compiler/src/main/resources/org/drools/lang/DRL.g:1918:10: 'forall'
+            // /home/etirelli/workspace/jboss/jbossrules/drools-compiler/src/main/resources/org/drools/lang/DRL.g:1926:8: ( 'forall' )
+            // /home/etirelli/workspace/jboss/jbossrules/drools-compiler/src/main/resources/org/drools/lang/DRL.g:1926:10: 'forall'
             {
             match("forall"); if (failed) return ;
 
@@ -1910,8 +1916,8 @@
     public final void mWHEN() throws RecognitionException {
         try {
             int _type = WHEN;
-            // /Users/michaelneale/project/jboss-rules/drools-compiler/src/main/resources/org/drools/lang/DRL.g:1920:9: ( 'when' )
-            // /Users/michaelneale/project/jboss-rules/drools-compiler/src/main/resources/org/drools/lang/DRL.g:1920:11: 'when'
+            // /home/etirelli/workspace/jboss/jbossrules/drools-compiler/src/main/resources/org/drools/lang/DRL.g:1928:9: ( 'when' )
+            // /home/etirelli/workspace/jboss/jbossrules/drools-compiler/src/main/resources/org/drools/lang/DRL.g:1928:11: 'when'
             {
             match("when"); if (failed) return ;
 
@@ -1929,8 +1935,8 @@
     public final void mTHEN() throws RecognitionException {
         try {
             int _type = THEN;
-            // /Users/michaelneale/project/jboss-rules/drools-compiler/src/main/resources/org/drools/lang/DRL.g:1922:6: ( 'then' )
-            // /Users/michaelneale/project/jboss-rules/drools-compiler/src/main/resources/org/drools/lang/DRL.g:1922:12: 'then'
+            // /home/etirelli/workspace/jboss/jbossrules/drools-compiler/src/main/resources/org/drools/lang/DRL.g:1930:6: ( 'then' )
+            // /home/etirelli/workspace/jboss/jbossrules/drools-compiler/src/main/resources/org/drools/lang/DRL.g:1930:12: 'then'
             {
             match("then"); if (failed) return ;
 
@@ -1948,8 +1954,8 @@
     public final void mEND() throws RecognitionException {
         try {
             int _type = END;
-            // /Users/michaelneale/project/jboss-rules/drools-compiler/src/main/resources/org/drools/lang/DRL.g:1924:9: ( 'end' )
-            // /Users/michaelneale/project/jboss-rules/drools-compiler/src/main/resources/org/drools/lang/DRL.g:1924:11: 'end'
+            // /home/etirelli/workspace/jboss/jbossrules/drools-compiler/src/main/resources/org/drools/lang/DRL.g:1932:9: ( 'end' )
+            // /home/etirelli/workspace/jboss/jbossrules/drools-compiler/src/main/resources/org/drools/lang/DRL.g:1932:11: 'end'
             {
             match("end"); if (failed) return ;
 
@@ -1963,12 +1969,50 @@
     }
     // $ANTLR end END
 
+    // $ANTLR start WITH
+    public final void mWITH() throws RecognitionException {
+        try {
+            int _type = WITH;
+            // /home/etirelli/workspace/jboss/jbossrules/drools-compiler/src/main/resources/org/drools/lang/DRL.g:1934:6: ( 'with' )
+            // /home/etirelli/workspace/jboss/jbossrules/drools-compiler/src/main/resources/org/drools/lang/DRL.g:1934:8: 'with'
+            {
+            match("with"); if (failed) return ;
+
+
+            }
+
+            this.type = _type;
+        }
+        finally {
+        }
+    }
+    // $ANTLR end WITH
+
+    // $ANTLR start WINDOW
+    public final void mWINDOW() throws RecognitionException {
+        try {
+            int _type = WINDOW;
+            // /home/etirelli/workspace/jboss/jbossrules/drools-compiler/src/main/resources/org/drools/lang/DRL.g:1936:8: ( 'window' )
+            // /home/etirelli/workspace/jboss/jbossrules/drools-compiler/src/main/resources/org/drools/lang/DRL.g:1936:10: 'window'
+            {
+            match("window"); if (failed) return ;
+
+
+            }
+
+            this.type = _type;
+        }
+        finally {
+        }
+    }
+    // $ANTLR end WINDOW
+
     // $ANTLR start ID
     public final void mID() throws RecognitionException {
         try {
             int _type = ID;
-            // /Users/michaelneale/project/jboss-rules/drools-compiler/src/main/resources/org/drools/lang/DRL.g:1927:2: ( ( 'a' .. 'z' | 'A' .. 'Z' | '_' | '$' | '\\u00c0' .. '\\u00ff' ) ( 'a' .. 'z' | 'A' .. 'Z' | '_' | '0' .. '9' | '\\u00c0' .. '\\u00ff' )* )
-            // /Users/michaelneale/project/jboss-rules/drools-compiler/src/main/resources/org/drools/lang/DRL.g:1927:4: ( 'a' .. 'z' | 'A' .. 'Z' | '_' | '$' | '\\u00c0' .. '\\u00ff' ) ( 'a' .. 'z' | 'A' .. 'Z' | '_' | '0' .. '9' | '\\u00c0' .. '\\u00ff' )*
+            // /home/etirelli/workspace/jboss/jbossrules/drools-compiler/src/main/resources/org/drools/lang/DRL.g:1939:2: ( ( 'a' .. 'z' | 'A' .. 'Z' | '_' | '$' | '\\u00c0' .. '\\u00ff' ) ( 'a' .. 'z' | 'A' .. 'Z' | '_' | '0' .. '9' | '\\u00c0' .. '\\u00ff' )* )
+            // /home/etirelli/workspace/jboss/jbossrules/drools-compiler/src/main/resources/org/drools/lang/DRL.g:1939:4: ( 'a' .. 'z' | 'A' .. 'Z' | '_' | '$' | '\\u00c0' .. '\\u00ff' ) ( 'a' .. 'z' | 'A' .. 'Z' | '_' | '0' .. '9' | '\\u00c0' .. '\\u00ff' )*
             {
             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)>='\u00C0' && input.LA(1)<='\u00FF') ) {
                 input.consume();
@@ -1981,7 +2025,7 @@
                 recover(mse);    throw mse;
             }
 
-            // /Users/michaelneale/project/jboss-rules/drools-compiler/src/main/resources/org/drools/lang/DRL.g:1927:50: ( 'a' .. 'z' | 'A' .. 'Z' | '_' | '0' .. '9' | '\\u00c0' .. '\\u00ff' )*
+            // /home/etirelli/workspace/jboss/jbossrules/drools-compiler/src/main/resources/org/drools/lang/DRL.g:1939:50: ( 'a' .. 'z' | 'A' .. 'Z' | '_' | '0' .. '9' | '\\u00c0' .. '\\u00ff' )*
             loop14:
             do {
                 int alt14=2;
@@ -1994,7 +2038,7 @@
 
                 switch (alt14) {
             	case 1 :
-            	    // /Users/michaelneale/project/jboss-rules/drools-compiler/src/main/resources/org/drools/lang/DRL.g:
+            	    // /home/etirelli/workspace/jboss/jbossrules/drools-compiler/src/main/resources/org/drools/lang/DRL.g:
             	    {
             	    if ( (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)>='\u00C0' && input.LA(1)<='\u00FF') ) {
             	        input.consume();
@@ -2030,8 +2074,8 @@
     public final void mLEFT_PAREN() throws RecognitionException {
         try {
             int _type = LEFT_PAREN;
-            // /Users/michaelneale/project/jboss-rules/drools-compiler/src/main/resources/org/drools/lang/DRL.g:1931:9: ( '(' )
-            // /Users/michaelneale/project/jboss-rules/drools-compiler/src/main/resources/org/drools/lang/DRL.g:1931:11: '('
+            // /home/etirelli/workspace/jboss/jbossrules/drools-compiler/src/main/resources/org/drools/lang/DRL.g:1943:9: ( '(' )
+            // /home/etirelli/workspace/jboss/jbossrules/drools-compiler/src/main/resources/org/drools/lang/DRL.g:1943:11: '('
             {
             match('('); if (failed) return ;
 
@@ -2048,8 +2092,8 @@
     public final void mRIGHT_PAREN() throws RecognitionException {
         try {
             int _type = RIGHT_PAREN;
-            // /Users/michaelneale/project/jboss-rules/drools-compiler/src/main/resources/org/drools/lang/DRL.g:1935:9: ( ')' )
-            // /Users/michaelneale/project/jboss-rules/drools-compiler/src/main/resources/org/drools/lang/DRL.g:1935:11: ')'
+            // /home/etirelli/workspace/jboss/jbossrules/drools-compiler/src/main/resources/org/drools/lang/DRL.g:1947:9: ( ')' )
+            // /home/etirelli/workspace/jboss/jbossrules/drools-compiler/src/main/resources/org/drools/lang/DRL.g:1947:11: ')'
             {
             match(')'); if (failed) return ;
 
@@ -2066,8 +2110,8 @@
     public final void mLEFT_SQUARE() throws RecognitionException {
         try {
             int _type = LEFT_SQUARE;
-            // /Users/michaelneale/project/jboss-rules/drools-compiler/src/main/resources/org/drools/lang/DRL.g:1939:9: ( '[' )
-            // /Users/michaelneale/project/jboss-rules/drools-compiler/src/main/resources/org/drools/lang/DRL.g:1939:11: '['
+            // /home/etirelli/workspace/jboss/jbossrules/drools-compiler/src/main/resources/org/drools/lang/DRL.g:1951:9: ( '[' )
+            // /home/etirelli/workspace/jboss/jbossrules/drools-compiler/src/main/resources/org/drools/lang/DRL.g:1951:11: '['
             {
             match('['); if (failed) return ;
 
@@ -2084,8 +2128,8 @@
     public final void mRIGHT_SQUARE() throws RecognitionException {
         try {
             int _type = RIGHT_SQUARE;
-            // /Users/michaelneale/project/jboss-rules/drools-compiler/src/main/resources/org/drools/lang/DRL.g:1943:9: ( ']' )
-            // /Users/michaelneale/project/jboss-rules/drools-compiler/src/main/resources/org/drools/lang/DRL.g:1943:11: ']'
+            // /home/etirelli/workspace/jboss/jbossrules/drools-compiler/src/main/resources/org/drools/lang/DRL.g:1955:9: ( ']' )
+            // /home/etirelli/workspace/jboss/jbossrules/drools-compiler/src/main/resources/org/drools/lang/DRL.g:1955:11: ']'
             {
             match(']'); if (failed) return ;
 
@@ -2102,8 +2146,8 @@
     public final void mLEFT_CURLY() throws RecognitionException {
         try {
             int _type = LEFT_CURLY;
-            // /Users/michaelneale/project/jboss-rules/drools-compiler/src/main/resources/org/drools/lang/DRL.g:1947:9: ( '{' )
-            // /Users/michaelneale/project/jboss-rules/drools-compiler/src/main/resources/org/drools/lang/DRL.g:1947:11: '{'
+            // /home/etirelli/workspace/jboss/jbossrules/drools-compiler/src/main/resources/org/drools/lang/DRL.g:1959:9: ( '{' )
+            // /home/etirelli/workspace/jboss/jbossrules/drools-compiler/src/main/resources/org/drools/lang/DRL.g:1959:11: '{'
             {
             match('{'); if (failed) return ;
 
@@ -2120,8 +2164,8 @@
     public final void mRIGHT_CURLY() throws RecognitionException {
         try {
             int _type = RIGHT_CURLY;
-            // /Users/michaelneale/project/jboss-rules/drools-compiler/src/main/resources/org/drools/lang/DRL.g:1951:9: ( '}' )
-            // /Users/michaelneale/project/jboss-rules/drools-compiler/src/main/resources/org/drools/lang/DRL.g:1951:11: '}'
+            // /home/etirelli/workspace/jboss/jbossrules/drools-compiler/src/main/resources/org/drools/lang/DRL.g:1963:9: ( '}' )
+            // /home/etirelli/workspace/jboss/jbossrules/drools-compiler/src/main/resources/org/drools/lang/DRL.g:1963:11: '}'
             {
             match('}'); if (failed) return ;
 
@@ -2138,8 +2182,8 @@
     public final void mCOMMA() throws RecognitionException {
         try {
             int _type = COMMA;
-            // /Users/michaelneale/project/jboss-rules/drools-compiler/src/main/resources/org/drools/lang/DRL.g:1954:7: ( ',' )
-            // /Users/michaelneale/project/jboss-rules/drools-compiler/src/main/resources/org/drools/lang/DRL.g:1954:9: ','
+            // /home/etirelli/workspace/jboss/jbossrules/drools-compiler/src/main/resources/org/drools/lang/DRL.g:1966:7: ( ',' )
+            // /home/etirelli/workspace/jboss/jbossrules/drools-compiler/src/main/resources/org/drools/lang/DRL.g:1966:9: ','
             {
             match(','); if (failed) return ;
 
@@ -2156,8 +2200,8 @@
     public final void mDOT() throws RecognitionException {
         try {
             int _type = DOT;
-            // /Users/michaelneale/project/jboss-rules/drools-compiler/src/main/resources/org/drools/lang/DRL.g:1957:5: ( '.' )
-            // /Users/michaelneale/project/jboss-rules/drools-compiler/src/main/resources/org/drools/lang/DRL.g:1957:7: '.'
+            // /home/etirelli/workspace/jboss/jbossrules/drools-compiler/src/main/resources/org/drools/lang/DRL.g:1969:5: ( '.' )
+            // /home/etirelli/workspace/jboss/jbossrules/drools-compiler/src/main/resources/org/drools/lang/DRL.g:1969:7: '.'
             {
             match('.'); if (failed) return ;
 
@@ -2174,8 +2218,8 @@
     public final void mDOUBLE_AMPER() throws RecognitionException {
         try {
             int _type = DOUBLE_AMPER;
-            // /Users/michaelneale/project/jboss-rules/drools-compiler/src/main/resources/org/drools/lang/DRL.g:1961:2: ( '&&' )
-            // /Users/michaelneale/project/jboss-rules/drools-compiler/src/main/resources/org/drools/lang/DRL.g:1961:4: '&&'
+            // /home/etirelli/workspace/jboss/jbossrules/drools-compiler/src/main/resources/org/drools/lang/DRL.g:1973:2: ( '&&' )
+            // /home/etirelli/workspace/jboss/jbossrules/drools-compiler/src/main/resources/org/drools/lang/DRL.g:1973:4: '&&'
             {
             match("&&"); if (failed) return ;
 
@@ -2193,8 +2237,8 @@
     public final void mDOUBLE_PIPE() throws RecognitionException {
         try {
             int _type = DOUBLE_PIPE;
-            // /Users/michaelneale/project/jboss-rules/drools-compiler/src/main/resources/org/drools/lang/DRL.g:1965:2: ( '||' )
-            // /Users/michaelneale/project/jboss-rules/drools-compiler/src/main/resources/org/drools/lang/DRL.g:1965:4: '||'
+            // /home/etirelli/workspace/jboss/jbossrules/drools-compiler/src/main/resources/org/drools/lang/DRL.g:1977:2: ( '||' )
+            // /home/etirelli/workspace/jboss/jbossrules/drools-compiler/src/main/resources/org/drools/lang/DRL.g:1977:4: '||'
             {
             match("||"); if (failed) return ;
 
@@ -2212,8 +2256,8 @@
     public final void mTILDE() throws RecognitionException {
         try {
             int _type = TILDE;
-            // /Users/michaelneale/project/jboss-rules/drools-compiler/src/main/resources/org/drools/lang/DRL.g:1968:7: ( '~' )
-            // /Users/michaelneale/project/jboss-rules/drools-compiler/src/main/resources/org/drools/lang/DRL.g:1968:9: '~'
+            // /home/etirelli/workspace/jboss/jbossrules/drools-compiler/src/main/resources/org/drools/lang/DRL.g:1980:7: ( '~' )
+            // /home/etirelli/workspace/jboss/jbossrules/drools-compiler/src/main/resources/org/drools/lang/DRL.g:1980:9: '~'
             {
             match('~'); if (failed) return ;
 
@@ -2230,8 +2274,8 @@
     public final void mAT() throws RecognitionException {
         try {
             int _type = AT;
-            // /Users/michaelneale/project/jboss-rules/drools-compiler/src/main/resources/org/drools/lang/DRL.g:1970:4: ( '@' )
-            // /Users/michaelneale/project/jboss-rules/drools-compiler/src/main/resources/org/drools/lang/DRL.g:1970:12: '@'
+            // /home/etirelli/workspace/jboss/jbossrules/drools-compiler/src/main/resources/org/drools/lang/DRL.g:1982:4: ( '@' )
+            // /home/etirelli/workspace/jboss/jbossrules/drools-compiler/src/main/resources/org/drools/lang/DRL.g:1982:12: '@'
             {
             match('@'); if (failed) return ;
 
@@ -2248,8 +2292,8 @@
     public final void mEQUALS() throws RecognitionException {
         try {
             int _type = EQUALS;
-            // /Users/michaelneale/project/jboss-rules/drools-compiler/src/main/resources/org/drools/lang/DRL.g:1972:9: ( '=' )
-            // /Users/michaelneale/project/jboss-rules/drools-compiler/src/main/resources/org/drools/lang/DRL.g:1972:11: '='
+            // /home/etirelli/workspace/jboss/jbossrules/drools-compiler/src/main/resources/org/drools/lang/DRL.g:1984:9: ( '=' )
+            // /home/etirelli/workspace/jboss/jbossrules/drools-compiler/src/main/resources/org/drools/lang/DRL.g:1984:11: '='
             {
             match('='); if (failed) return ;
 
@@ -2266,8 +2310,8 @@
     public final void mCOLON() throws RecognitionException {
         try {
             int _type = COLON;
-            // /Users/michaelneale/project/jboss-rules/drools-compiler/src/main/resources/org/drools/lang/DRL.g:1974:9: ( ':' )
-            // /Users/michaelneale/project/jboss-rules/drools-compiler/src/main/resources/org/drools/lang/DRL.g:1974:11: ':'
+            // /home/etirelli/workspace/jboss/jbossrules/drools-compiler/src/main/resources/org/drools/lang/DRL.g:1986:9: ( ':' )
+            // /home/etirelli/workspace/jboss/jbossrules/drools-compiler/src/main/resources/org/drools/lang/DRL.g:1986:11: ':'
             {
             match(':'); if (failed) return ;
 
@@ -2284,11 +2328,11 @@
     public final void mSH_STYLE_SINGLE_LINE_COMMENT() throws RecognitionException {
         try {
             int _type = SH_STYLE_SINGLE_LINE_COMMENT;
-            // /Users/michaelneale/project/jboss-rules/drools-compiler/src/main/resources/org/drools/lang/DRL.g:1977:2: ( '#' ( options {greedy=false; } : . )* EOL )
-            // /Users/michaelneale/project/jboss-rules/drools-compiler/src/main/resources/org/drools/lang/DRL.g:1977:4: '#' ( options {greedy=false; } : . )* EOL
+            // /home/etirelli/workspace/jboss/jbossrules/drools-compiler/src/main/resources/org/drools/lang/DRL.g:1989:2: ( '#' ( options {greedy=false; } : . )* EOL )
+            // /home/etirelli/workspace/jboss/jbossrules/drools-compiler/src/main/resources/org/drools/lang/DRL.g:1989:4: '#' ( options {greedy=false; } : . )* EOL
             {
             match('#'); if (failed) return ;
-            // /Users/michaelneale/project/jboss-rules/drools-compiler/src/main/resources/org/drools/lang/DRL.g:1977:8: ( options {greedy=false; } : . )*
+            // /home/etirelli/workspace/jboss/jbossrules/drools-compiler/src/main/resources/org/drools/lang/DRL.g:1989:8: ( options {greedy=false; } : . )*
             loop15:
             do {
                 int alt15=2;
@@ -2307,7 +2351,7 @@
 
                 switch (alt15) {
             	case 1 :
-            	    // /Users/michaelneale/project/jboss-rules/drools-compiler/src/main/resources/org/drools/lang/DRL.g:1977:35: .
+            	    // /home/etirelli/workspace/jboss/jbossrules/drools-compiler/src/main/resources/org/drools/lang/DRL.g:1989:35: .
             	    {
             	    matchAny(); if (failed) return ;
 
@@ -2337,12 +2381,12 @@
     public final void mC_STYLE_SINGLE_LINE_COMMENT() throws RecognitionException {
         try {
             int _type = C_STYLE_SINGLE_LINE_COMMENT;
-            // /Users/michaelneale/project/jboss-rules/drools-compiler/src/main/resources/org/drools/lang/DRL.g:1983:2: ( '//' ( options {greedy=false; } : . )* EOL )
-            // /Users/michaelneale/project/jboss-rules/drools-compiler/src/main/resources/org/drools/lang/DRL.g:1983:4: '//' ( options {greedy=false; } : . )* EOL
+            // /home/etirelli/workspace/jboss/jbossrules/drools-compiler/src/main/resources/org/drools/lang/DRL.g:1995:2: ( '//' ( options {greedy=false; } : . )* EOL )
+            // /home/etirelli/workspace/jboss/jbossrules/drools-compiler/src/main/resources/org/drools/lang/DRL.g:1995:4: '//' ( options {greedy=false; } : . )* EOL
             {
             match("//"); if (failed) return ;
 
-            // /Users/michaelneale/project/jboss-rules/drools-compiler/src/main/resources/org/drools/lang/DRL.g:1983:9: ( options {greedy=false; } : . )*
+            // /home/etirelli/workspace/jboss/jbossrules/drools-compiler/src/main/resources/org/drools/lang/DRL.g:1995:9: ( options {greedy=false; } : . )*
             loop16:
             do {
                 int alt16=2;
@@ -2361,7 +2405,7 @@
 
                 switch (alt16) {
             	case 1 :
-            	    // /Users/michaelneale/project/jboss-rules/drools-compiler/src/main/resources/org/drools/lang/DRL.g:1983:36: .
+            	    // /home/etirelli/workspace/jboss/jbossrules/drools-compiler/src/main/resources/org/drools/lang/DRL.g:1995:36: .
             	    {
             	    matchAny(); if (failed) return ;
 
@@ -2391,12 +2435,12 @@
     public final void mMULTI_LINE_COMMENT() throws RecognitionException {
         try {
             int _type = MULTI_LINE_COMMENT;
-            // /Users/michaelneale/project/jboss-rules/drools-compiler/src/main/resources/org/drools/lang/DRL.g:1988:2: ( '/*' ( options {greedy=false; } : . )* '*/' )
-            // /Users/michaelneale/project/jboss-rules/drools-compiler/src/main/resources/org/drools/lang/DRL.g:1988:4: '/*' ( options {greedy=false; } : . )* '*/'
+            // /home/etirelli/workspace/jboss/jbossrules/drools-compiler/src/main/resources/org/drools/lang/DRL.g:2000:2: ( '/*' ( options {greedy=false; } : . )* '*/' )
+            // /home/etirelli/workspace/jboss/jbossrules/drools-compiler/src/main/resources/org/drools/lang/DRL.g:2000:4: '/*' ( options {greedy=false; } : . )* '*/'
             {
             match("/*"); if (failed) return ;
 
-            // /Users/michaelneale/project/jboss-rules/drools-compiler/src/main/resources/org/drools/lang/DRL.g:1988:9: ( options {greedy=false; } : . )*
+            // /home/etirelli/workspace/jboss/jbossrules/drools-compiler/src/main/resources/org/drools/lang/DRL.g:2000:9: ( options {greedy=false; } : . )*
             loop17:
             do {
                 int alt17=2;
@@ -2421,7 +2465,7 @@
 
                 switch (alt17) {
             	case 1 :
-            	    // /Users/michaelneale/project/jboss-rules/drools-compiler/src/main/resources/org/drools/lang/DRL.g:1988:35: .
+            	    // /home/etirelli/workspace/jboss/jbossrules/drools-compiler/src/main/resources/org/drools/lang/DRL.g:2000:35: .
             	    {
             	    matchAny(); if (failed) return ;
 
@@ -2452,8 +2496,8 @@
     public final void mMISC() throws RecognitionException {
         try {
             int _type = MISC;
-            // /Users/michaelneale/project/jboss-rules/drools-compiler/src/main/resources/org/drools/lang/DRL.g:1992:7: ( '!' | '$' | '%' | '^' | '*' | '_' | '-' | '+' | '?' | '/' | '\\'' | '\\\\' | '|' | '&' )
-            // /Users/michaelneale/project/jboss-rules/drools-compiler/src/main/resources/org/drools/lang/DRL.g:
+            // /home/etirelli/workspace/jboss/jbossrules/drools-compiler/src/main/resources/org/drools/lang/DRL.g:2004:7: ( '!' | '$' | '%' | '^' | '*' | '_' | '-' | '+' | '?' | '/' | '\\'' | '\\\\' | '|' | '&' )
+            // /home/etirelli/workspace/jboss/jbossrules/drools-compiler/src/main/resources/org/drools/lang/DRL.g:
             {
             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)=='?'||input.LA(1)=='\\'||(input.LA(1)>='^' && input.LA(1)<='_')||input.LA(1)=='|' ) {
                 input.consume();
@@ -2477,559 +2521,573 @@
     // $ANTLR end MISC
 
     public void mTokens() throws RecognitionException {
-        // /Users/michaelneale/project/jboss-rules/drools-compiler/src/main/resources/org/drools/lang/DRL.g:1:8: ( T79 | T80 | T81 | T82 | T83 | T84 | T85 | T86 | T87 | WS | INT | FLOAT | STRING | BOOL | PACKAGE | IMPORT | FUNCTION | EVENT | GLOBAL | DECLARE | RULE | QUERY | TEMPLATE | ATTRIBUTES | DATE_EFFECTIVE | DATE_EXPIRES | ENABLED | SALIENCE | NO_LOOP | AUTO_FOCUS | ACTIVATION_GROUP | AGENDA_GROUP | DIALECT | RULEFLOW_GROUP | DURATION | LOCK_ON_ACTIVE | FROM | ACCUMULATE | INIT | ACTION | REVERSE | RESULT | COLLECT | ENTRY_POINT | OR | AND | CONTAINS | EXCLUDES | MEMBEROF | MATCHES | SOUNDSLIKE | IN | NULL | EXISTS | NOT | EVAL | FORALL | WHEN | THEN | END | ID | LEFT_PAREN | RIGHT_PAREN | LEFT_SQUARE | RIGHT_SQUARE | LEFT_CURLY | RIGHT_CURLY | COMMA | DOT | DOUBLE_AMPER | DOUBLE_PIPE | TILDE | AT | EQUALS | COLON | SH_STYLE_SINGLE_LINE_COMMENT | C_STYLE_SINGLE_LINE_COMMENT | MULTI_LINE_COMMENT | MISC )
-        int alt18=79;
+        // /home/etirelli/workspace/jboss/jbossrules/drools-compiler/src/main/resources/org/drools/lang/DRL.g:1:8: ( T81 | T82 | T83 | T84 | T85 | T86 | T87 | T88 | T89 | WS | INT | FLOAT | STRING | BOOL | PACKAGE | IMPORT | FUNCTION | EVENT | GLOBAL | DECLARE | RULE | QUERY | TEMPLATE | ATTRIBUTES | DATE_EFFECTIVE | DATE_EXPIRES | ENABLED | SALIENCE | NO_LOOP | AUTO_FOCUS | ACTIVATION_GROUP | AGENDA_GROUP | DIALECT | RULEFLOW_GROUP | DURATION | LOCK_ON_ACTIVE | FROM | ACCUMULATE | INIT | ACTION | REVERSE | RESULT | COLLECT | ENTRY_POINT | OR | AND | CONTAINS | EXCLUDES | MEMBEROF | MATCHES | SOUNDSLIKE | IN | NULL | EXISTS | NOT | EVAL | FORALL | WHEN | THEN | END | WITH | WINDOW | ID | LEFT_PAREN | RIGHT_PAREN | LEFT_SQUARE | RIGHT_SQUARE | LEFT_CURLY | RIGHT_CURLY | COMMA | DOT | DOUBLE_AMPER | DOUBLE_PIPE | TILDE | AT | EQUALS | COLON | SH_STYLE_SINGLE_LINE_COMMENT | C_STYLE_SINGLE_LINE_COMMENT | MULTI_LINE_COMMENT | MISC )
+        int alt18=81;
         alt18 = dfa18.predict(input);
         switch (alt18) {
             case 1 :
-                // /Users/michaelneale/project/jboss-rules/drools-compiler/src/main/resources/org/drools/lang/DRL.g:1:10: T79
+                // /home/etirelli/workspace/jboss/jbossrules/drools-compiler/src/main/resources/org/drools/lang/DRL.g:1:10: T81
                 {
-                mT79(); if (failed) return ;
+                mT81(); if (failed) return ;
 
                 }
                 break;
             case 2 :
-                // /Users/michaelneale/project/jboss-rules/drools-compiler/src/main/resources/org/drools/lang/DRL.g:1:14: T80
+                // /home/etirelli/workspace/jboss/jbossrules/drools-compiler/src/main/resources/org/drools/lang/DRL.g:1:14: T82
                 {
-                mT80(); if (failed) return ;
+                mT82(); if (failed) return ;
 
                 }
                 break;
             case 3 :
-                // /Users/michaelneale/project/jboss-rules/drools-compiler/src/main/resources/org/drools/lang/DRL.g:1:18: T81
+                // /home/etirelli/workspace/jboss/jbossrules/drools-compiler/src/main/resources/org/drools/lang/DRL.g:1:18: T83
                 {
-                mT81(); if (failed) return ;
+                mT83(); if (failed) return ;
 
                 }
                 break;
             case 4 :
-                // /Users/michaelneale/project/jboss-rules/drools-compiler/src/main/resources/org/drools/lang/DRL.g:1:22: T82
+                // /home/etirelli/workspace/jboss/jbossrules/drools-compiler/src/main/resources/org/drools/lang/DRL.g:1:22: T84
                 {
-                mT82(); if (failed) return ;
+                mT84(); if (failed) return ;
 
                 }
                 break;
             case 5 :
-                // /Users/michaelneale/project/jboss-rules/drools-compiler/src/main/resources/org/drools/lang/DRL.g:1:26: T83
+                // /home/etirelli/workspace/jboss/jbossrules/drools-compiler/src/main/resources/org/drools/lang/DRL.g:1:26: T85
                 {
-                mT83(); if (failed) return ;
+                mT85(); if (failed) return ;
 
                 }
                 break;
             case 6 :
-                // /Users/michaelneale/project/jboss-rules/drools-compiler/src/main/resources/org/drools/lang/DRL.g:1:30: T84
+                // /home/etirelli/workspace/jboss/jbossrules/drools-compiler/src/main/resources/org/drools/lang/DRL.g:1:30: T86
                 {
-                mT84(); if (failed) return ;
+                mT86(); if (failed) return ;
 
                 }
                 break;
             case 7 :
-                // /Users/michaelneale/project/jboss-rules/drools-compiler/src/main/resources/org/drools/lang/DRL.g:1:34: T85
+                // /home/etirelli/workspace/jboss/jbossrules/drools-compiler/src/main/resources/org/drools/lang/DRL.g:1:34: T87
                 {
-                mT85(); if (failed) return ;
+                mT87(); if (failed) return ;
 
                 }
                 break;
             case 8 :
-                // /Users/michaelneale/project/jboss-rules/drools-compiler/src/main/resources/org/drools/lang/DRL.g:1:38: T86
+                // /home/etirelli/workspace/jboss/jbossrules/drools-compiler/src/main/resources/org/drools/lang/DRL.g:1:38: T88
                 {
-                mT86(); if (failed) return ;
+                mT88(); if (failed) return ;
 
                 }
                 break;
             case 9 :
-                // /Users/michaelneale/project/jboss-rules/drools-compiler/src/main/resources/org/drools/lang/DRL.g:1:42: T87
+                // /home/etirelli/workspace/jboss/jbossrules/drools-compiler/src/main/resources/org/drools/lang/DRL.g:1:42: T89
                 {
-                mT87(); if (failed) return ;
+                mT89(); if (failed) return ;
 
                 }
                 break;
             case 10 :
-                // /Users/michaelneale/project/jboss-rules/drools-compiler/src/main/resources/org/drools/lang/DRL.g:1:46: WS
+                // /home/etirelli/workspace/jboss/jbossrules/drools-compiler/src/main/resources/org/drools/lang/DRL.g:1:46: WS
                 {
                 mWS(); if (failed) return ;
 
                 }
                 break;
             case 11 :
-                // /Users/michaelneale/project/jboss-rules/drools-compiler/src/main/resources/org/drools/lang/DRL.g:1:49: INT
+                // /home/etirelli/workspace/jboss/jbossrules/drools-compiler/src/main/resources/org/drools/lang/DRL.g:1:49: INT
                 {
                 mINT(); if (failed) return ;
 
                 }
                 break;
             case 12 :
-                // /Users/michaelneale/project/jboss-rules/drools-compiler/src/main/resources/org/drools/lang/DRL.g:1:53: FLOAT
+                // /home/etirelli/workspace/jboss/jbossrules/drools-compiler/src/main/resources/org/drools/lang/DRL.g:1:53: FLOAT
                 {
                 mFLOAT(); if (failed) return ;
 
                 }
                 break;
             case 13 :
-                // /Users/michaelneale/project/jboss-rules/drools-compiler/src/main/resources/org/drools/lang/DRL.g:1:59: STRING
+                // /home/etirelli/workspace/jboss/jbossrules/drools-compiler/src/main/resources/org/drools/lang/DRL.g:1:59: STRING
                 {
                 mSTRING(); if (failed) return ;
 
                 }
                 break;
             case 14 :
-                // /Users/michaelneale/project/jboss-rules/drools-compiler/src/main/resources/org/drools/lang/DRL.g:1:66: BOOL
+                // /home/etirelli/workspace/jboss/jbossrules/drools-compiler/src/main/resources/org/drools/lang/DRL.g:1:66: BOOL
                 {
                 mBOOL(); if (failed) return ;
 
                 }
                 break;
             case 15 :
-                // /Users/michaelneale/project/jboss-rules/drools-compiler/src/main/resources/org/drools/lang/DRL.g:1:71: PACKAGE
+                // /home/etirelli/workspace/jboss/jbossrules/drools-compiler/src/main/resources/org/drools/lang/DRL.g:1:71: PACKAGE
                 {
                 mPACKAGE(); if (failed) return ;
 
                 }
                 break;
             case 16 :
-                // /Users/michaelneale/project/jboss-rules/drools-compiler/src/main/resources/org/drools/lang/DRL.g:1:79: IMPORT
+                // /home/etirelli/workspace/jboss/jbossrules/drools-compiler/src/main/resources/org/drools/lang/DRL.g:1:79: IMPORT
                 {
                 mIMPORT(); if (failed) return ;
 
                 }
                 break;
             case 17 :
-                // /Users/michaelneale/project/jboss-rules/drools-compiler/src/main/resources/org/drools/lang/DRL.g:1:86: FUNCTION
+                // /home/etirelli/workspace/jboss/jbossrules/drools-compiler/src/main/resources/org/drools/lang/DRL.g:1:86: FUNCTION
                 {
                 mFUNCTION(); if (failed) return ;
 
                 }
                 break;
             case 18 :
-                // /Users/michaelneale/project/jboss-rules/drools-compiler/src/main/resources/org/drools/lang/DRL.g:1:95: EVENT
+                // /home/etirelli/workspace/jboss/jbossrules/drools-compiler/src/main/resources/org/drools/lang/DRL.g:1:95: EVENT
                 {
                 mEVENT(); if (failed) return ;
 
                 }
                 break;
             case 19 :
-                // /Users/michaelneale/project/jboss-rules/drools-compiler/src/main/resources/org/drools/lang/DRL.g:1:101: GLOBAL
+                // /home/etirelli/workspace/jboss/jbossrules/drools-compiler/src/main/resources/org/drools/lang/DRL.g:1:101: GLOBAL
                 {
                 mGLOBAL(); if (failed) return ;
 
                 }
                 break;
             case 20 :
-                // /Users/michaelneale/project/jboss-rules/drools-compiler/src/main/resources/org/drools/lang/DRL.g:1:108: DECLARE
+                // /home/etirelli/workspace/jboss/jbossrules/drools-compiler/src/main/resources/org/drools/lang/DRL.g:1:108: DECLARE
                 {
                 mDECLARE(); if (failed) return ;
 
                 }
                 break;
             case 21 :
-                // /Users/michaelneale/project/jboss-rules/drools-compiler/src/main/resources/org/drools/lang/DRL.g:1:116: RULE
+                // /home/etirelli/workspace/jboss/jbossrules/drools-compiler/src/main/resources/org/drools/lang/DRL.g:1:116: RULE
                 {
                 mRULE(); if (failed) return ;
 
                 }
                 break;
             case 22 :
-                // /Users/michaelneale/project/jboss-rules/drools-compiler/src/main/resources/org/drools/lang/DRL.g:1:121: QUERY
+                // /home/etirelli/workspace/jboss/jbossrules/drools-compiler/src/main/resources/org/drools/lang/DRL.g:1:121: QUERY
                 {
                 mQUERY(); if (failed) return ;
 
                 }
                 break;
             case 23 :
-                // /Users/michaelneale/project/jboss-rules/drools-compiler/src/main/resources/org/drools/lang/DRL.g:1:127: TEMPLATE
+                // /home/etirelli/workspace/jboss/jbossrules/drools-compiler/src/main/resources/org/drools/lang/DRL.g:1:127: TEMPLATE
                 {
                 mTEMPLATE(); if (failed) return ;
 
                 }
                 break;
             case 24 :
-                // /Users/michaelneale/project/jboss-rules/drools-compiler/src/main/resources/org/drools/lang/DRL.g:1:136: ATTRIBUTES
+                // /home/etirelli/workspace/jboss/jbossrules/drools-compiler/src/main/resources/org/drools/lang/DRL.g:1:136: ATTRIBUTES
                 {
                 mATTRIBUTES(); if (failed) return ;
 
                 }
                 break;
             case 25 :
-                // /Users/michaelneale/project/jboss-rules/drools-compiler/src/main/resources/org/drools/lang/DRL.g:1:147: DATE_EFFECTIVE
+                // /home/etirelli/workspace/jboss/jbossrules/drools-compiler/src/main/resources/org/drools/lang/DRL.g:1:147: DATE_EFFECTIVE
                 {
                 mDATE_EFFECTIVE(); if (failed) return ;
 
                 }
                 break;
             case 26 :
-                // /Users/michaelneale/project/jboss-rules/drools-compiler/src/main/resources/org/drools/lang/DRL.g:1:162: DATE_EXPIRES
+                // /home/etirelli/workspace/jboss/jbossrules/drools-compiler/src/main/resources/org/drools/lang/DRL.g:1:162: DATE_EXPIRES
                 {
                 mDATE_EXPIRES(); if (failed) return ;
 
                 }
                 break;
             case 27 :
-                // /Users/michaelneale/project/jboss-rules/drools-compiler/src/main/resources/org/drools/lang/DRL.g:1:175: ENABLED
+                // /home/etirelli/workspace/jboss/jbossrules/drools-compiler/src/main/resources/org/drools/lang/DRL.g:1:175: ENABLED
                 {
                 mENABLED(); if (failed) return ;
 
                 }
                 break;
             case 28 :
-                // /Users/michaelneale/project/jboss-rules/drools-compiler/src/main/resources/org/drools/lang/DRL.g:1:183: SALIENCE
+                // /home/etirelli/workspace/jboss/jbossrules/drools-compiler/src/main/resources/org/drools/lang/DRL.g:1:183: SALIENCE
                 {
                 mSALIENCE(); if (failed) return ;
 
                 }
                 break;
             case 29 :
-                // /Users/michaelneale/project/jboss-rules/drools-compiler/src/main/resources/org/drools/lang/DRL.g:1:192: NO_LOOP
+                // /home/etirelli/workspace/jboss/jbossrules/drools-compiler/src/main/resources/org/drools/lang/DRL.g:1:192: NO_LOOP
                 {
                 mNO_LOOP(); if (failed) return ;
 
                 }
                 break;
             case 30 :
-                // /Users/michaelneale/project/jboss-rules/drools-compiler/src/main/resources/org/drools/lang/DRL.g:1:200: AUTO_FOCUS
+                // /home/etirelli/workspace/jboss/jbossrules/drools-compiler/src/main/resources/org/drools/lang/DRL.g:1:200: AUTO_FOCUS
                 {
                 mAUTO_FOCUS(); if (failed) return ;
 
                 }
                 break;
             case 31 :
-                // /Users/michaelneale/project/jboss-rules/drools-compiler/src/main/resources/org/drools/lang/DRL.g:1:211: ACTIVATION_GROUP
+                // /home/etirelli/workspace/jboss/jbossrules/drools-compiler/src/main/resources/org/drools/lang/DRL.g:1:211: ACTIVATION_GROUP
                 {
                 mACTIVATION_GROUP(); if (failed) return ;
 
                 }
                 break;
             case 32 :
-                // /Users/michaelneale/project/jboss-rules/drools-compiler/src/main/resources/org/drools/lang/DRL.g:1:228: AGENDA_GROUP
+                // /home/etirelli/workspace/jboss/jbossrules/drools-compiler/src/main/resources/org/drools/lang/DRL.g:1:228: AGENDA_GROUP
                 {
                 mAGENDA_GROUP(); if (failed) return ;
 
                 }
                 break;
             case 33 :
-                // /Users/michaelneale/project/jboss-rules/drools-compiler/src/main/resources/org/drools/lang/DRL.g:1:241: DIALECT
+                // /home/etirelli/workspace/jboss/jbossrules/drools-compiler/src/main/resources/org/drools/lang/DRL.g:1:241: DIALECT
                 {
                 mDIALECT(); if (failed) return ;
 
                 }
                 break;
             case 34 :
-                // /Users/michaelneale/project/jboss-rules/drools-compiler/src/main/resources/org/drools/lang/DRL.g:1:249: RULEFLOW_GROUP
+                // /home/etirelli/workspace/jboss/jbossrules/drools-compiler/src/main/resources/org/drools/lang/DRL.g:1:249: RULEFLOW_GROUP
                 {
                 mRULEFLOW_GROUP(); if (failed) return ;
 
                 }
                 break;
             case 35 :
-                // /Users/michaelneale/project/jboss-rules/drools-compiler/src/main/resources/org/drools/lang/DRL.g:1:264: DURATION
+                // /home/etirelli/workspace/jboss/jbossrules/drools-compiler/src/main/resources/org/drools/lang/DRL.g:1:264: DURATION
                 {
                 mDURATION(); if (failed) return ;
 
                 }
                 break;
             case 36 :
-                // /Users/michaelneale/project/jboss-rules/drools-compiler/src/main/resources/org/drools/lang/DRL.g:1:273: LOCK_ON_ACTIVE
+                // /home/etirelli/workspace/jboss/jbossrules/drools-compiler/src/main/resources/org/drools/lang/DRL.g:1:273: LOCK_ON_ACTIVE
                 {
                 mLOCK_ON_ACTIVE(); if (failed) return ;
 
                 }
                 break;
             case 37 :
-                // /Users/michaelneale/project/jboss-rules/drools-compiler/src/main/resources/org/drools/lang/DRL.g:1:288: FROM
+                // /home/etirelli/workspace/jboss/jbossrules/drools-compiler/src/main/resources/org/drools/lang/DRL.g:1:288: FROM
                 {
                 mFROM(); if (failed) return ;
 
                 }
                 break;
             case 38 :
-                // /Users/michaelneale/project/jboss-rules/drools-compiler/src/main/resources/org/drools/lang/DRL.g:1:293: ACCUMULATE
+                // /home/etirelli/workspace/jboss/jbossrules/drools-compiler/src/main/resources/org/drools/lang/DRL.g:1:293: ACCUMULATE
                 {
                 mACCUMULATE(); if (failed) return ;
 
                 }
                 break;
             case 39 :
-                // /Users/michaelneale/project/jboss-rules/drools-compiler/src/main/resources/org/drools/lang/DRL.g:1:304: INIT
+                // /home/etirelli/workspace/jboss/jbossrules/drools-compiler/src/main/resources/org/drools/lang/DRL.g:1:304: INIT
                 {
                 mINIT(); if (failed) return ;
 
                 }
                 break;
             case 40 :
-                // /Users/michaelneale/project/jboss-rules/drools-compiler/src/main/resources/org/drools/lang/DRL.g:1:309: ACTION
+                // /home/etirelli/workspace/jboss/jbossrules/drools-compiler/src/main/resources/org/drools/lang/DRL.g:1:309: ACTION
                 {
                 mACTION(); if (failed) return ;
 
                 }
                 break;
             case 41 :
-                // /Users/michaelneale/project/jboss-rules/drools-compiler/src/main/resources/org/drools/lang/DRL.g:1:316: REVERSE
+                // /home/etirelli/workspace/jboss/jbossrules/drools-compiler/src/main/resources/org/drools/lang/DRL.g:1:316: REVERSE
                 {
                 mREVERSE(); if (failed) return ;
 
                 }
                 break;
             case 42 :
-                // /Users/michaelneale/project/jboss-rules/drools-compiler/src/main/resources/org/drools/lang/DRL.g:1:324: RESULT
+                // /home/etirelli/workspace/jboss/jbossrules/drools-compiler/src/main/resources/org/drools/lang/DRL.g:1:324: RESULT
                 {
                 mRESULT(); if (failed) return ;
 
                 }
                 break;
             case 43 :
-                // /Users/michaelneale/project/jboss-rules/drools-compiler/src/main/resources/org/drools/lang/DRL.g:1:331: COLLECT
+                // /home/etirelli/workspace/jboss/jbossrules/drools-compiler/src/main/resources/org/drools/lang/DRL.g:1:331: COLLECT
                 {
                 mCOLLECT(); if (failed) return ;
 
                 }
                 break;
             case 44 :
-                // /Users/michaelneale/project/jboss-rules/drools-compiler/src/main/resources/org/drools/lang/DRL.g:1:339: ENTRY_POINT
+                // /home/etirelli/workspace/jboss/jbossrules/drools-compiler/src/main/resources/org/drools/lang/DRL.g:1:339: ENTRY_POINT
                 {
                 mENTRY_POINT(); if (failed) return ;
 
                 }
                 break;
             case 45 :
-                // /Users/michaelneale/project/jboss-rules/drools-compiler/src/main/resources/org/drools/lang/DRL.g:1:351: OR
+                // /home/etirelli/workspace/jboss/jbossrules/drools-compiler/src/main/resources/org/drools/lang/DRL.g:1:351: OR
                 {
                 mOR(); if (failed) return ;
 
                 }
                 break;
             case 46 :
-                // /Users/michaelneale/project/jboss-rules/drools-compiler/src/main/resources/org/drools/lang/DRL.g:1:354: AND
+                // /home/etirelli/workspace/jboss/jbossrules/drools-compiler/src/main/resources/org/drools/lang/DRL.g:1:354: AND
                 {
                 mAND(); if (failed) return ;
 
                 }
                 break;
             case 47 :
-                // /Users/michaelneale/project/jboss-rules/drools-compiler/src/main/resources/org/drools/lang/DRL.g:1:358: CONTAINS
+                // /home/etirelli/workspace/jboss/jbossrules/drools-compiler/src/main/resources/org/drools/lang/DRL.g:1:358: CONTAINS
                 {
                 mCONTAINS(); if (failed) return ;
 
                 }
                 break;
             case 48 :
-                // /Users/michaelneale/project/jboss-rules/drools-compiler/src/main/resources/org/drools/lang/DRL.g:1:367: EXCLUDES
+                // /home/etirelli/workspace/jboss/jbossrules/drools-compiler/src/main/resources/org/drools/lang/DRL.g:1:367: EXCLUDES
                 {
                 mEXCLUDES(); if (failed) return ;
 
                 }
                 break;
             case 49 :
-                // /Users/michaelneale/project/jboss-rules/drools-compiler/src/main/resources/org/drools/lang/DRL.g:1:376: MEMBEROF
+                // /home/etirelli/workspace/jboss/jbossrules/drools-compiler/src/main/resources/org/drools/lang/DRL.g:1:376: MEMBEROF
                 {
                 mMEMBEROF(); if (failed) return ;
 
                 }
                 break;
             case 50 :
-                // /Users/michaelneale/project/jboss-rules/drools-compiler/src/main/resources/org/drools/lang/DRL.g:1:385: MATCHES
+                // /home/etirelli/workspace/jboss/jbossrules/drools-compiler/src/main/resources/org/drools/lang/DRL.g:1:385: MATCHES
                 {
                 mMATCHES(); if (failed) return ;
 
                 }
                 break;
             case 51 :
-                // /Users/michaelneale/project/jboss-rules/drools-compiler/src/main/resources/org/drools/lang/DRL.g:1:393: SOUNDSLIKE
+                // /home/etirelli/workspace/jboss/jbossrules/drools-compiler/src/main/resources/org/drools/lang/DRL.g:1:393: SOUNDSLIKE
                 {
                 mSOUNDSLIKE(); if (failed) return ;
 
                 }
                 break;
             case 52 :
-                // /Users/michaelneale/project/jboss-rules/drools-compiler/src/main/resources/org/drools/lang/DRL.g:1:404: IN
+                // /home/etirelli/workspace/jboss/jbossrules/drools-compiler/src/main/resources/org/drools/lang/DRL.g:1:404: IN
                 {
                 mIN(); if (failed) return ;
 
                 }
                 break;
             case 53 :
-                // /Users/michaelneale/project/jboss-rules/drools-compiler/src/main/resources/org/drools/lang/DRL.g:1:407: NULL
+                // /home/etirelli/workspace/jboss/jbossrules/drools-compiler/src/main/resources/org/drools/lang/DRL.g:1:407: NULL
                 {
                 mNULL(); if (failed) return ;
 
                 }
                 break;
             case 54 :
-                // /Users/michaelneale/project/jboss-rules/drools-compiler/src/main/resources/org/drools/lang/DRL.g:1:412: EXISTS
+                // /home/etirelli/workspace/jboss/jbossrules/drools-compiler/src/main/resources/org/drools/lang/DRL.g:1:412: EXISTS
                 {
                 mEXISTS(); if (failed) return ;
 
                 }
                 break;
             case 55 :
-                // /Users/michaelneale/project/jboss-rules/drools-compiler/src/main/resources/org/drools/lang/DRL.g:1:419: NOT
+                // /home/etirelli/workspace/jboss/jbossrules/drools-compiler/src/main/resources/org/drools/lang/DRL.g:1:419: NOT
                 {
                 mNOT(); if (failed) return ;
 
                 }
                 break;
             case 56 :
-                // /Users/michaelneale/project/jboss-rules/drools-compiler/src/main/resources/org/drools/lang/DRL.g:1:423: EVAL
+                // /home/etirelli/workspace/jboss/jbossrules/drools-compiler/src/main/resources/org/drools/lang/DRL.g:1:423: EVAL
                 {
                 mEVAL(); if (failed) return ;
 
                 }
                 break;
             case 57 :
-                // /Users/michaelneale/project/jboss-rules/drools-compiler/src/main/resources/org/drools/lang/DRL.g:1:428: FORALL
+                // /home/etirelli/workspace/jboss/jbossrules/drools-compiler/src/main/resources/org/drools/lang/DRL.g:1:428: FORALL
                 {
                 mFORALL(); if (failed) return ;
 
                 }
                 break;
             case 58 :
-                // /Users/michaelneale/project/jboss-rules/drools-compiler/src/main/resources/org/drools/lang/DRL.g:1:435: WHEN
+                // /home/etirelli/workspace/jboss/jbossrules/drools-compiler/src/main/resources/org/drools/lang/DRL.g:1:435: WHEN
                 {
                 mWHEN(); if (failed) return ;
 
                 }
                 break;
             case 59 :
-                // /Users/michaelneale/project/jboss-rules/drools-compiler/src/main/resources/org/drools/lang/DRL.g:1:440: THEN
+                // /home/etirelli/workspace/jboss/jbossrules/drools-compiler/src/main/resources/org/drools/lang/DRL.g:1:440: THEN
                 {
                 mTHEN(); if (failed) return ;
 
                 }
                 break;
             case 60 :
-                // /Users/michaelneale/project/jboss-rules/drools-compiler/src/main/resources/org/drools/lang/DRL.g:1:445: END
+                // /home/etirelli/workspace/jboss/jbossrules/drools-compiler/src/main/resources/org/drools/lang/DRL.g:1:445: END
                 {
                 mEND(); if (failed) return ;
 
                 }
                 break;
             case 61 :
-                // /Users/michaelneale/project/jboss-rules/drools-compiler/src/main/resources/org/drools/lang/DRL.g:1:449: ID
+                // /home/etirelli/workspace/jboss/jbossrules/drools-compiler/src/main/resources/org/drools/lang/DRL.g:1:449: WITH
                 {
-                mID(); if (failed) return ;
+                mWITH(); if (failed) return ;
 
                 }
                 break;
             case 62 :
-                // /Users/michaelneale/project/jboss-rules/drools-compiler/src/main/resources/org/drools/lang/DRL.g:1:452: LEFT_PAREN
+                // /home/etirelli/workspace/jboss/jbossrules/drools-compiler/src/main/resources/org/drools/lang/DRL.g:1:454: WINDOW
                 {
-                mLEFT_PAREN(); if (failed) return ;
+                mWINDOW(); if (failed) return ;
 
                 }
                 break;
             case 63 :
-                // /Users/michaelneale/project/jboss-rules/drools-compiler/src/main/resources/org/drools/lang/DRL.g:1:463: RIGHT_PAREN
+                // /home/etirelli/workspace/jboss/jbossrules/drools-compiler/src/main/resources/org/drools/lang/DRL.g:1:461: ID
                 {
-                mRIGHT_PAREN(); if (failed) return ;
+                mID(); if (failed) return ;
 
                 }
                 break;
             case 64 :
-                // /Users/michaelneale/project/jboss-rules/drools-compiler/src/main/resources/org/drools/lang/DRL.g:1:475: LEFT_SQUARE
+                // /home/etirelli/workspace/jboss/jbossrules/drools-compiler/src/main/resources/org/drools/lang/DRL.g:1:464: LEFT_PAREN
                 {
-                mLEFT_SQUARE(); if (failed) return ;
+                mLEFT_PAREN(); if (failed) return ;
 
                 }
                 break;
             case 65 :
-                // /Users/michaelneale/project/jboss-rules/drools-compiler/src/main/resources/org/drools/lang/DRL.g:1:487: RIGHT_SQUARE
+                // /home/etirelli/workspace/jboss/jbossrules/drools-compiler/src/main/resources/org/drools/lang/DRL.g:1:475: RIGHT_PAREN
                 {
-                mRIGHT_SQUARE(); if (failed) return ;
+                mRIGHT_PAREN(); if (failed) return ;
 
                 }
                 break;
             case 66 :
-                // /Users/michaelneale/project/jboss-rules/drools-compiler/src/main/resources/org/drools/lang/DRL.g:1:500: LEFT_CURLY
+                // /home/etirelli/workspace/jboss/jbossrules/drools-compiler/src/main/resources/org/drools/lang/DRL.g:1:487: LEFT_SQUARE
                 {
-                mLEFT_CURLY(); if (failed) return ;
+                mLEFT_SQUARE(); if (failed) return ;
 
                 }
                 break;
             case 67 :
-                // /Users/michaelneale/project/jboss-rules/drools-compiler/src/main/resources/org/drools/lang/DRL.g:1:511: RIGHT_CURLY
+                // /home/etirelli/workspace/jboss/jbossrules/drools-compiler/src/main/resources/org/drools/lang/DRL.g:1:499: RIGHT_SQUARE
                 {
-                mRIGHT_CURLY(); if (failed) return ;
+                mRIGHT_SQUARE(); if (failed) return ;
 
                 }
                 break;
             case 68 :
-                // /Users/michaelneale/project/jboss-rules/drools-compiler/src/main/resources/org/drools/lang/DRL.g:1:523: COMMA
+                // /home/etirelli/workspace/jboss/jbossrules/drools-compiler/src/main/resources/org/drools/lang/DRL.g:1:512: LEFT_CURLY
                 {
-                mCOMMA(); if (failed) return ;
+                mLEFT_CURLY(); if (failed) return ;
 
                 }
                 break;
             case 69 :
-                // /Users/michaelneale/project/jboss-rules/drools-compiler/src/main/resources/org/drools/lang/DRL.g:1:529: DOT
+                // /home/etirelli/workspace/jboss/jbossrules/drools-compiler/src/main/resources/org/drools/lang/DRL.g:1:523: RIGHT_CURLY
                 {
-                mDOT(); if (failed) return ;
+                mRIGHT_CURLY(); if (failed) return ;
 
                 }
                 break;
             case 70 :
-                // /Users/michaelneale/project/jboss-rules/drools-compiler/src/main/resources/org/drools/lang/DRL.g:1:533: DOUBLE_AMPER
+                // /home/etirelli/workspace/jboss/jbossrules/drools-compiler/src/main/resources/org/drools/lang/DRL.g:1:535: COMMA
                 {
-                mDOUBLE_AMPER(); if (failed) return ;
+                mCOMMA(); if (failed) return ;
 
                 }
                 break;
             case 71 :
-                // /Users/michaelneale/project/jboss-rules/drools-compiler/src/main/resources/org/drools/lang/DRL.g:1:546: DOUBLE_PIPE
+                // /home/etirelli/workspace/jboss/jbossrules/drools-compiler/src/main/resources/org/drools/lang/DRL.g:1:541: DOT
                 {
-                mDOUBLE_PIPE(); if (failed) return ;
+                mDOT(); if (failed) return ;
 
                 }
                 break;
             case 72 :
-                // /Users/michaelneale/project/jboss-rules/drools-compiler/src/main/resources/org/drools/lang/DRL.g:1:558: TILDE
+                // /home/etirelli/workspace/jboss/jbossrules/drools-compiler/src/main/resources/org/drools/lang/DRL.g:1:545: DOUBLE_AMPER
                 {
-                mTILDE(); if (failed) return ;
+                mDOUBLE_AMPER(); if (failed) return ;
 
                 }
                 break;
             case 73 :
-                // /Users/michaelneale/project/jboss-rules/drools-compiler/src/main/resources/org/drools/lang/DRL.g:1:564: AT
+                // /home/etirelli/workspace/jboss/jbossrules/drools-compiler/src/main/resources/org/drools/lang/DRL.g:1:558: DOUBLE_PIPE
                 {
-                mAT(); if (failed) return ;
+                mDOUBLE_PIPE(); if (failed) return ;
 
                 }
                 break;
             case 74 :
-                // /Users/michaelneale/project/jboss-rules/drools-compiler/src/main/resources/org/drools/lang/DRL.g:1:567: EQUALS
+                // /home/etirelli/workspace/jboss/jbossrules/drools-compiler/src/main/resources/org/drools/lang/DRL.g:1:570: TILDE
                 {
-                mEQUALS(); if (failed) return ;
+                mTILDE(); if (failed) return ;
 
                 }
                 break;
             case 75 :
-                // /Users/michaelneale/project/jboss-rules/drools-compiler/src/main/resources/org/drools/lang/DRL.g:1:574: COLON
+                // /home/etirelli/workspace/jboss/jbossrules/drools-compiler/src/main/resources/org/drools/lang/DRL.g:1:576: AT
                 {
-                mCOLON(); if (failed) return ;
+                mAT(); if (failed) return ;
 
                 }
                 break;
             case 76 :
-                // /Users/michaelneale/project/jboss-rules/drools-compiler/src/main/resources/org/drools/lang/DRL.g:1:580: SH_STYLE_SINGLE_LINE_COMMENT
+                // /home/etirelli/workspace/jboss/jbossrules/drools-compiler/src/main/resources/org/drools/lang/DRL.g:1:579: EQUALS
                 {
-                mSH_STYLE_SINGLE_LINE_COMMENT(); if (failed) return ;
+                mEQUALS(); if (failed) return ;
 
                 }
                 break;
             case 77 :
-                // /Users/michaelneale/project/jboss-rules/drools-compiler/src/main/resources/org/drools/lang/DRL.g:1:609: C_STYLE_SINGLE_LINE_COMMENT
+                // /home/etirelli/workspace/jboss/jbossrules/drools-compiler/src/main/resources/org/drools/lang/DRL.g:1:586: COLON
                 {
-                mC_STYLE_SINGLE_LINE_COMMENT(); if (failed) return ;
+                mCOLON(); if (failed) return ;
 
                 }
                 break;
             case 78 :
-                // /Users/michaelneale/project/jboss-rules/drools-compiler/src/main/resources/org/drools/lang/DRL.g:1:637: MULTI_LINE_COMMENT
+                // /home/etirelli/workspace/jboss/jbossrules/drools-compiler/src/main/resources/org/drools/lang/DRL.g:1:592: SH_STYLE_SINGLE_LINE_COMMENT
                 {
-                mMULTI_LINE_COMMENT(); if (failed) return ;
+                mSH_STYLE_SINGLE_LINE_COMMENT(); if (failed) return ;
 
                 }
                 break;
             case 79 :
-                // /Users/michaelneale/project/jboss-rules/drools-compiler/src/main/resources/org/drools/lang/DRL.g:1:656: MISC
+                // /home/etirelli/workspace/jboss/jbossrules/drools-compiler/src/main/resources/org/drools/lang/DRL.g:1:621: C_STYLE_SINGLE_LINE_COMMENT
                 {
+                mC_STYLE_SINGLE_LINE_COMMENT(); if (failed) return ;
+
+                }
+                break;
+            case 80 :
+                // /home/etirelli/workspace/jboss/jbossrules/drools-compiler/src/main/resources/org/drools/lang/DRL.g:1:649: MULTI_LINE_COMMENT
+                {
+                mMULTI_LINE_COMMENT(); if (failed) return ;
+
+                }
+                break;
+            case 81 :
+                // /home/etirelli/workspace/jboss/jbossrules/drools-compiler/src/main/resources/org/drools/lang/DRL.g:1:668: MISC
+                {
                 mMISC(); if (failed) return ;
 
                 }
@@ -3041,8 +3099,8 @@
 
     // $ANTLR start synpred1
     public final void synpred1_fragment() throws RecognitionException {   
-        // /Users/michaelneale/project/jboss-rules/drools-compiler/src/main/resources/org/drools/lang/DRL.g:1772:14: ( '\\r\\n' )
-        // /Users/michaelneale/project/jboss-rules/drools-compiler/src/main/resources/org/drools/lang/DRL.g:1772:16: '\\r\\n'
+        // /home/etirelli/workspace/jboss/jbossrules/drools-compiler/src/main/resources/org/drools/lang/DRL.g:1780:14: ( '\\r\\n' )
+        // /home/etirelli/workspace/jboss/jbossrules/drools-compiler/src/main/resources/org/drools/lang/DRL.g:1780:16: '\\r\\n'
         {
         match("\r\n"); if (failed) return ;
 
@@ -3070,92 +3128,92 @@
     protected DFA18 dfa18 = new DFA18(this);
     static final String DFA18_eotS =
         "\2\uffff\1\57\1\55\1\62\1\64\1\66\1\55\1\uffff\1\70\1\uffff\1\55"+
-        "\21\54\10\uffff\2\55\4\uffff\1\55\16\uffff\10\54\1\153\27\54\1\u008b"+
-        "\3\54\4\uffff\11\54\1\uffff\7\54\1\u009f\14\54\1\u00ac\4\54\1\u00b1"+
-        "\1\uffff\4\54\1\uffff\3\54\1\u00b9\1\54\1\u00bb\2\54\1\u00be\2\54"+
-        "\1\u00c1\2\54\1\u00c4\4\54\1\uffff\5\54\1\u00cf\6\54\1\uffff\4\54"+
-        "\1\uffff\1\u00db\5\54\1\u00e1\1\uffff\1\54\1\uffff\1\u00b9\1\54"+
-        "\1\uffff\2\54\1\uffff\1\54\1\u00e7\1\uffff\5\54\1\uffff\4\54\1\uffff"+
-        "\2\54\1\u00f4\4\54\1\uffff\3\54\2\uffff\4\54\1\uffff\1\54\1\u0101"+
-        "\2\54\1\u0104\1\uffff\1\u0105\1\54\1\uffff\1\54\1\u0108\1\uffff"+
-        "\5\54\1\u0110\1\uffff\1\54\1\u0112\12\54\1\uffff\1\54\1\u011e\2"+
-        "\uffff\1\54\1\u0120\3\uffff\1\54\1\u0122\1\u0123\1\54\1\u0125\1"+
-        "\uffff\1\54\1\uffff\1\54\1\uffff\4\54\1\u012c\1\54\1\u012e\1\u012f"+
-        "\1\u0130\1\uffff\1\u0131\1\uffff\1\u0132\2\uffff\1\54\1\uffff\3"+
-        "\54\1\u0137\1\54\1\u0139\1\uffff\1\u013a\6\uffff\3\54\1\uffff\1"+
-        "\54\2\uffff\1\54\1\u0140\1\u0141\1\u0142\4\uffff";
+        "\21\54\10\uffff\2\55\4\uffff\1\55\16\uffff\10\54\1\154\27\54\1\u008c"+
+        "\4\54\4\uffff\11\54\1\uffff\5\54\1\u00a0\13\54\1\u00ac\10\54\1\u00b5"+
+        "\1\uffff\3\54\1\uffff\5\54\1\u00be\1\u00bf\1\54\1\u00c1\4\54\1\u00c6"+
+        "\3\54\1\u00ca\1\54\1\uffff\11\54\1\u00d6\1\54\1\uffff\7\54\1\u00e0"+
+        "\1\uffff\6\54\1\u00e7\1\u00e8\2\uffff\1\54\1\uffff\1\u00bf\3\54"+
+        "\1\uffff\3\54\1\uffff\1\u00f0\3\54\1\uffff\6\54\1\uffff\1\u00fb"+
+        "\4\54\1\uffff\3\54\2\uffff\5\54\2\uffff\1\54\1\u0109\2\54\1\u010c"+
+        "\1\54\1\u010e\2\uffff\1\54\1\u0110\1\uffff\4\54\1\u0117\1\54\1\uffff"+
+        "\2\54\1\u011b\10\54\1\u0124\1\54\1\uffff\1\54\1\u0127\1\uffff\1"+
+        "\54\1\uffff\1\u0129\3\uffff\1\u012a\1\54\1\u012c\1\u012d\1\uffff"+
+        "\1\54\1\uffff\1\54\1\uffff\4\54\1\u0134\1\54\1\u0136\1\54\1\uffff"+
+        "\1\u0138\1\u0139\1\uffff\1\u013a\2\uffff\1\u013b\2\uffff\5\54\1"+
+        "\u0141\1\uffff\1\u0142\1\uffff\1\u0143\5\uffff\4\54\3\uffff\1\54"+
+        "\1\u0149\1\u014a\1\u014b\4\uffff";
     static final String DFA18_eofS =
-        "\u0143\uffff";
+        "\u014c\uffff";
     static final String DFA18_minS =
         "\1\11\1\uffff\1\52\1\60\4\75\1\uffff\1\56\1\uffff\1\0\1\145\2\141"+
         "\1\155\1\156\1\154\1\141\1\145\1\165\1\143\1\141\3\157\1\162\1\141"+
-        "\1\150\10\uffff\1\46\1\174\4\uffff\1\52\16\uffff\1\165\1\155\1\145"+
-        "\1\154\1\162\1\157\1\156\1\143\1\60\1\160\1\141\1\143\1\141\1\157"+
-        "\1\164\1\162\1\143\1\141\1\154\1\163\1\145\1\143\1\145\1\144\2\164"+
-        "\1\154\1\165\1\55\1\154\1\143\1\154\1\60\1\155\1\164\1\145\4\uffff"+
-        "\1\145\1\160\1\156\1\163\1\141\1\155\1\143\1\153\1\164\1\uffff\1"+
-        "\157\1\156\1\154\1\163\1\154\1\162\1\142\1\60\1\142\1\145\1\141"+
-        "\2\154\2\145\1\165\1\162\1\151\1\165\1\156\1\60\1\157\1\162\1\151"+
-        "\1\156\1\60\1\uffff\1\154\1\153\1\164\1\154\1\uffff\1\142\1\143"+
-        "\1\156\1\60\1\154\1\60\1\145\1\154\1\60\1\164\1\141\1\60\1\162\1"+
-        "\164\1\60\1\164\1\165\1\171\1\154\1\uffff\1\141\1\55\1\164\1\141"+
-        "\1\145\1\60\1\162\1\154\1\171\1\157\1\155\1\144\1\uffff\1\55\1\151"+
-        "\1\145\1\144\1\uffff\1\60\1\55\1\141\2\145\1\150\1\60\1\uffff\1"+
-        "\141\1\uffff\1\60\1\154\1\uffff\1\151\1\147\1\uffff\1\164\1\60\1"+
-        "\uffff\1\163\1\144\1\55\1\145\1\154\1\145\1\151\1\162\1\143\1\154"+
-        "\1\uffff\1\163\1\164\1\60\1\141\1\156\1\165\1\141\1\uffff\1\142"+
-        "\1\156\1\163\2\uffff\1\151\1\143\1\162\1\145\1\uffff\1\164\1\60"+
-        "\1\157\1\145\1\60\1\uffff\1\60\1\145\1\uffff\1\144\1\60\1\146\1"+
-        "\157\1\145\1\164\1\157\1\145\1\60\1\uffff\1\164\1\60\1\154\1\55"+
-        "\1\165\1\143\1\154\1\156\1\164\1\117\1\163\1\145\1\uffff\1\156\1"+
-        "\60\2\uffff\1\163\1\60\3\uffff\1\156\2\60\1\167\1\60\1\uffff\1\151"+
-        "\1\uffff\1\141\1\uffff\1\164\1\145\1\151\1\163\1\60\1\146\3\60\1"+
-        "\uffff\1\60\1\uffff\1\60\2\uffff\1\55\1\uffff\1\157\1\164\1\145"+
-        "\1\60\1\153\1\60\1\uffff\1\60\6\uffff\1\156\1\145\1\163\1\uffff"+
-        "\1\145\2\uffff\1\55\3\60\4\uffff";
+        "\1\150\10\uffff\1\46\1\174\4\uffff\1\52\16\uffff\1\145\1\165\1\155"+
+        "\1\157\1\154\1\162\1\156\1\143\1\60\1\160\1\143\2\141\1\157\1\164"+
+        "\1\143\1\162\1\141\1\163\1\154\1\145\1\144\1\145\1\143\2\164\1\165"+
+        "\2\154\1\55\1\143\1\154\1\60\1\164\1\155\1\156\1\145\4\uffff\1\156"+
+        "\1\145\1\160\1\155\1\163\1\141\1\143\1\153\1\164\1\uffff\1\157\1"+
+        "\154\1\163\1\154\1\156\1\60\1\162\2\142\1\145\1\154\1\141\1\154"+
+        "\1\145\1\165\1\145\1\162\1\60\1\156\1\151\1\165\1\157\1\162\1\156"+
+        "\1\151\1\154\1\60\1\uffff\1\153\1\154\1\164\1\uffff\1\143\1\142"+
+        "\1\144\1\150\1\156\2\60\1\154\1\60\1\145\1\154\1\164\1\141\1\60"+
+        "\1\162\1\165\1\164\1\60\1\164\1\uffff\1\171\1\154\1\141\1\55\1\141"+
+        "\1\164\1\145\1\162\1\154\1\60\1\171\1\uffff\1\144\1\157\1\155\1"+
+        "\55\1\151\1\144\1\145\1\60\1\uffff\1\55\1\145\1\141\1\150\1\145"+
+        "\1\157\2\60\2\uffff\1\141\1\uffff\1\60\1\154\1\151\1\147\1\uffff"+
+        "\1\164\1\144\1\163\1\uffff\1\60\1\55\1\145\1\154\1\145\1\162\1\151"+
+        "\1\143\1\163\1\164\1\154\1\uffff\1\60\2\141\1\156\1\165\1\uffff"+
+        "\1\142\1\163\1\156\2\uffff\1\143\1\151\1\145\1\162\1\167\2\uffff"+
+        "\1\164\1\60\1\157\1\145\1\60\1\145\1\60\2\uffff\1\144\1\60\1\146"+
+        "\1\145\1\157\1\164\1\145\1\60\1\157\1\uffff\1\55\1\164\1\60\1\154"+
+        "\1\165\1\154\1\143\1\164\1\156\1\163\1\117\1\60\1\145\1\uffff\1"+
+        "\156\1\60\1\uffff\1\163\1\uffff\1\60\3\uffff\1\60\1\156\2\60\1\uffff"+
+        "\1\167\1\uffff\1\151\1\uffff\1\141\1\164\1\151\1\145\1\60\1\163"+
+        "\1\60\1\146\1\uffff\2\60\1\uffff\1\60\2\uffff\1\60\2\uffff\1\55"+
+        "\1\157\1\164\1\145\1\153\1\60\1\uffff\1\60\1\uffff\1\60\5\uffff"+
+        "\1\156\1\145\1\163\1\145\3\uffff\1\55\3\60\4\uffff";
     static final String DFA18_maxS =
         "\1\u00ff\1\uffff\1\52\1\76\4\75\1\uffff\1\71\1\uffff\1\ufffe\1\162"+
         "\1\165\1\141\1\156\1\170\1\154\4\165\1\157\1\165\2\157\1\162\1\145"+
-        "\1\150\10\uffff\1\46\1\174\4\uffff\1\57\16\uffff\1\165\1\155\1\145"+
-        "\1\154\1\162\1\157\1\156\1\143\1\u00ff\1\160\1\145\1\151\1\164\1"+
-        "\157\1\164\1\162\1\143\1\141\1\154\1\166\1\145\1\164\1\145\1\144"+
-        "\2\164\1\154\1\165\1\164\1\154\1\143\1\156\1\u00ff\1\155\1\164\1"+
-        "\145\4\uffff\1\145\1\160\1\156\1\163\1\141\1\155\1\143\1\153\1\164"+
-        "\1\uffff\1\157\1\156\1\154\1\163\1\154\1\162\1\142\1\u00ff\1\142"+
-        "\1\145\1\141\2\154\2\145\1\165\1\162\1\151\1\165\1\156\1\u00ff\1"+
-        "\157\1\162\1\151\1\156\1\u00ff\1\uffff\1\154\1\153\1\164\1\154\1"+
-        "\uffff\1\142\1\143\1\156\1\u00ff\1\154\1\u00ff\1\145\1\154\1\u00ff"+
-        "\1\164\1\141\1\u00ff\1\162\1\164\1\u00ff\1\164\1\165\1\171\1\154"+
-        "\1\uffff\1\141\1\55\1\164\1\141\1\145\1\u00ff\1\162\1\154\1\171"+
-        "\1\166\1\155\1\144\1\uffff\1\55\1\151\1\145\1\144\1\uffff\1\u00ff"+
-        "\1\55\1\141\2\145\1\150\1\u00ff\1\uffff\1\141\1\uffff\1\u00ff\1"+
-        "\154\1\uffff\1\151\1\147\1\uffff\1\164\1\u00ff\1\uffff\1\163\1\144"+
-        "\1\55\1\145\1\154\1\145\1\151\1\162\1\143\1\154\1\uffff\1\163\1"+
-        "\164\1\u00ff\1\141\1\156\1\165\1\141\1\uffff\1\142\1\156\1\163\2"+
-        "\uffff\1\151\1\143\1\162\1\145\1\uffff\1\164\1\u00ff\1\157\1\145"+
-        "\1\u00ff\1\uffff\1\u00ff\1\145\1\uffff\1\144\1\u00ff\1\170\1\157"+
-        "\1\145\1\164\1\157\1\145\1\u00ff\1\uffff\1\164\1\u00ff\1\154\1\55"+
-        "\1\165\1\143\1\154\1\156\1\164\1\117\1\163\1\145\1\uffff\1\156\1"+
-        "\u00ff\2\uffff\1\163\1\u00ff\3\uffff\1\156\2\u00ff\1\167\1\u00ff"+
-        "\1\uffff\1\151\1\uffff\1\141\1\uffff\1\164\1\145\1\151\1\163\1\u00ff"+
-        "\1\146\3\u00ff\1\uffff\1\u00ff\1\uffff\1\u00ff\2\uffff\1\55\1\uffff"+
-        "\1\157\1\164\1\145\1\u00ff\1\153\1\u00ff\1\uffff\1\u00ff\6\uffff"+
-        "\1\156\1\145\1\163\1\uffff\1\145\2\uffff\1\55\3\u00ff\4\uffff";
+        "\1\151\10\uffff\1\46\1\174\4\uffff\1\57\16\uffff\1\145\1\165\1\155"+
+        "\1\157\1\154\1\162\1\156\1\143\1\u00ff\1\160\1\151\1\145\1\164\1"+
+        "\157\1\164\1\143\1\162\1\141\1\166\1\154\1\145\1\144\1\145\3\164"+
+        "\1\165\2\154\1\164\1\143\1\156\1\u00ff\1\164\1\155\1\164\1\145\4"+
+        "\uffff\1\156\1\145\1\160\1\155\1\163\1\141\1\143\1\153\1\164\1\uffff"+
+        "\1\157\1\154\1\163\1\154\1\156\1\u00ff\1\162\2\142\1\145\1\154\1"+
+        "\141\1\154\1\145\1\165\1\145\1\162\1\u00ff\1\156\1\151\1\165\1\157"+
+        "\1\162\1\156\1\151\1\154\1\u00ff\1\uffff\1\153\1\154\1\164\1\uffff"+
+        "\1\143\1\142\1\144\1\150\1\156\2\u00ff\1\154\1\u00ff\1\145\1\154"+
+        "\1\164\1\141\1\u00ff\1\162\1\165\1\164\1\u00ff\1\164\1\uffff\1\171"+
+        "\1\154\1\141\1\55\1\141\1\164\1\145\1\162\1\154\1\u00ff\1\171\1"+
+        "\uffff\1\144\1\166\1\155\1\55\1\151\1\144\1\145\1\u00ff\1\uffff"+
+        "\1\55\1\145\1\141\1\150\1\145\1\157\2\u00ff\2\uffff\1\141\1\uffff"+
+        "\1\u00ff\1\154\1\151\1\147\1\uffff\1\164\1\144\1\163\1\uffff\1\u00ff"+
+        "\1\55\1\145\1\154\1\145\1\162\1\151\1\143\1\163\1\164\1\154\1\uffff"+
+        "\1\u00ff\2\141\1\156\1\165\1\uffff\1\142\1\163\1\156\2\uffff\1\143"+
+        "\1\151\1\145\1\162\1\167\2\uffff\1\164\1\u00ff\1\157\1\145\1\u00ff"+
+        "\1\145\1\u00ff\2\uffff\1\144\1\u00ff\1\170\1\145\1\157\1\164\1\145"+
+        "\1\u00ff\1\157\1\uffff\1\55\1\164\1\u00ff\1\154\1\165\1\154\1\143"+
+        "\1\164\1\156\1\163\1\117\1\u00ff\1\145\1\uffff\1\156\1\u00ff\1\uffff"+
+        "\1\163\1\uffff\1\u00ff\3\uffff\1\u00ff\1\156\2\u00ff\1\uffff\1\167"+
+        "\1\uffff\1\151\1\uffff\1\141\1\164\1\151\1\145\1\u00ff\1\163\1\u00ff"+
+        "\1\146\1\uffff\2\u00ff\1\uffff\1\u00ff\2\uffff\1\u00ff\2\uffff\1"+
+        "\55\1\157\1\164\1\145\1\153\1\u00ff\1\uffff\1\u00ff\1\uffff\1\u00ff"+
+        "\5\uffff\1\156\1\145\1\163\1\145\3\uffff\1\55\3\u00ff\4\uffff";
     static final String DFA18_acceptS =
-        "\1\uffff\1\1\6\uffff\1\12\1\uffff\1\15\22\uffff\1\75\1\76\1\77\1"+
-        "\100\1\101\1\102\1\103\1\104\2\uffff\1\110\1\111\1\113\1\114\1\uffff"+
-        "\1\75\1\117\1\2\1\105\1\3\1\4\1\112\1\6\1\5\1\10\1\7\1\11\1\13\1"+
-        "\14\44\uffff\1\106\1\107\1\116\1\115\11\uffff\1\64\32\uffff\1\35"+
-        "\4\uffff\1\55\23\uffff\1\74\14\uffff\1\56\4\uffff\1\67\7\uffff\1"+
-        "\16\1\uffff\1\73\2\uffff\1\45\2\uffff\1\47\2\uffff\1\70\12\uffff"+
-        "\1\25\7\uffff\1\36\3\uffff\1\65\1\44\4\uffff\1\72\5\uffff\1\22\2"+
-        "\uffff\1\54\11\uffff\1\26\14\uffff\1\71\2\uffff\1\20\1\66\2\uffff"+
-        "\1\23\1\31\1\32\5\uffff\1\52\1\uffff\1\50\1\uffff\1\40\11\uffff"+
-        "\1\17\1\uffff\1\33\1\uffff\1\24\1\41\1\uffff\1\51\6\uffff\1\53\1"+
-        "\uffff\1\62\1\27\1\21\1\60\1\43\1\42\3\uffff\1\34\1\uffff\1\57\1"+
-        "\61\4\uffff\1\37\1\46\1\30\1\63";
+        "\1\uffff\1\1\6\uffff\1\12\1\uffff\1\15\22\uffff\1\77\1\100\1\101"+
+        "\1\102\1\103\1\104\1\105\1\106\2\uffff\1\112\1\113\1\115\1\116\1"+
+        "\uffff\1\77\1\121\1\2\1\107\1\3\1\4\1\114\1\6\1\5\1\10\1\7\1\11"+
+        "\1\13\1\14\45\uffff\1\110\1\111\1\117\1\120\11\uffff\1\64\33\uffff"+
+        "\1\35\3\uffff\1\55\23\uffff\1\74\13\uffff\1\56\10\uffff\1\67\10"+
+        "\uffff\1\73\1\16\1\uffff\1\45\4\uffff\1\47\3\uffff\1\70\13\uffff"+
+        "\1\25\5\uffff\1\36\3\uffff\1\65\1\44\5\uffff\1\75\1\72\7\uffff\1"+
+        "\22\1\54\11\uffff\1\26\15\uffff\1\71\2\uffff\1\20\1\uffff\1\66\1"+
+        "\uffff\1\23\1\31\1\32\4\uffff\1\52\1\uffff\1\40\1\uffff\1\50\10"+
+        "\uffff\1\76\2\uffff\1\17\1\uffff\1\33\1\24\1\uffff\1\41\1\51\6\uffff"+
+        "\1\53\1\uffff\1\62\1\uffff\1\27\1\21\1\60\1\43\1\42\4\uffff\1\34"+
+        "\1\57\1\61\4\uffff\1\37\1\46\1\30\1\63";
     static final String DFA18_specialS =
-        "\u0143\uffff}>";
+        "\u014c\uffff}>";
     static final String[] DFA18_transitionS = {
             "\2\10\1\uffff\2\10\22\uffff\1\10\1\7\1\12\1\52\1\35\1\55\1\45"+
             "\1\13\1\36\1\37\2\55\1\44\1\3\1\2\1\53\12\11\1\51\1\1\1\6\1"+
@@ -3174,23 +3232,23 @@
             "\1\71\1\uffff\12\11",
             "",
             "\uffff\12",
-            "\1\73\2\uffff\1\74\11\uffff\1\72",
-            "\1\75\15\uffff\1\76\2\uffff\1\77\2\uffff\1\100",
+            "\1\74\2\uffff\1\72\11\uffff\1\73",
+            "\1\76\15\uffff\1\77\2\uffff\1\75\2\uffff\1\100",
             "\1\101",
             "\1\103\1\102",
-            "\1\106\7\uffff\1\104\1\uffff\1\105",
+            "\1\106\7\uffff\1\105\1\uffff\1\104",
             "\1\107",
-            "\1\110\3\uffff\1\112\3\uffff\1\113\13\uffff\1\111",
-            "\1\115\17\uffff\1\114",
+            "\1\110\3\uffff\1\111\3\uffff\1\113\13\uffff\1\112",
+            "\1\114\17\uffff\1\115",
             "\1\116",
-            "\1\117\3\uffff\1\120\6\uffff\1\121\5\uffff\1\123\1\122",
-            "\1\124\15\uffff\1\125",
-            "\1\126\5\uffff\1\127",
+            "\1\121\3\uffff\1\120\6\uffff\1\117\5\uffff\1\123\1\122",
+            "\1\125\15\uffff\1\124",
+            "\1\127\5\uffff\1\126",
             "\1\130",
             "\1\131",
             "\1\132",
-            "\1\134\3\uffff\1\133",
-            "\1\135",
+            "\1\133\3\uffff\1\134",
+            "\1\136\1\135",
             "",
             "",
             "",
@@ -3199,13 +3257,13 @@
             "",
             "",
             "",
-            "\1\136",
             "\1\137",
+            "\1\140",
             "",
             "",
             "",
             "",
-            "\1\140\4\uffff\1\141",
+            "\1\142\4\uffff\1\141",
             "",
             "",
             "",
@@ -3220,7 +3278,6 @@
             "",
             "",
             "",
-            "\1\142",
             "\1\143",
             "\1\144",
             "\1\145",
@@ -3228,13 +3285,13 @@
             "\1\147",
             "\1\150",
             "\1\151",
-            "\12\54\7\uffff\32\54\4\uffff\1\54\1\uffff\10\54\1\152\21\54"+
+            "\1\152",
+            "\12\54\7\uffff\32\54\4\uffff\1\54\1\uffff\10\54\1\153\21\54"+
             "\105\uffff\100\54",
-            "\1\154",
-            "\1\156\3\uffff\1\155",
-            "\1\160\5\uffff\1\157",
-            "\1\162\2\uffff\1\163\17\uffff\1\161",
-            "\1\164",
+            "\1\155",
+            "\1\156\5\uffff\1\157",
+            "\1\160\3\uffff\1\161",
+            "\1\164\2\uffff\1\162\17\uffff\1\163",
             "\1\165",
             "\1\166",
             "\1\167",
@@ -3242,46 +3299,45 @@
             "\1\171",
             "\1\173\2\uffff\1\172",
             "\1\174",
-            "\1\176\20\uffff\1\175",
+            "\1\175",
+            "\1\176",
             "\1\177",
-            "\1\u0080",
-            "\1\u0081",
+            "\1\u0081\20\uffff\1\u0080",
             "\1\u0082",
             "\1\u0083",
             "\1\u0084",
-            "\1\u0086\106\uffff\1\u0085",
-            "\1\u0087",
-            "\1\u0088",
-            "\1\u008a\1\uffff\1\u0089",
+            "\1\u0085",
+            "\1\u0086",
+            "\1\u0088\106\uffff\1\u0087",
+            "\1\u0089",
+            "\1\u008a\1\uffff\1\u008b",
             "\12\54\7\uffff\32\54\4\uffff\1\54\1\uffff\32\54\105\uffff\100"+
             "\54",
-            "\1\u008c",
             "\1\u008d",
             "\1\u008e",
+            "\1\u008f\5\uffff\1\u0090",
+            "\1\u0091",
             "",
             "",
             "",
             "",
-            "\1\u008f",
-            "\1\u0090",
-            "\1\u0091",
             "\1\u0092",
             "\1\u0093",
             "\1\u0094",
             "\1\u0095",
             "\1\u0096",
             "\1\u0097",
-            "",
             "\1\u0098",
             "\1\u0099",
             "\1\u009a",
+            "",
             "\1\u009b",
             "\1\u009c",
             "\1\u009d",
             "\1\u009e",
+            "\1\u009f",
             "\12\54\7\uffff\32\54\4\uffff\1\54\1\uffff\32\54\105\uffff\100"+
             "\54",
-            "\1\u00a0",
             "\1\u00a1",
             "\1\u00a2",
             "\1\u00a3",
@@ -3299,182 +3355,195 @@
             "\1\u00ae",
             "\1\u00af",
             "\1\u00b0",
-            "\12\54\7\uffff\32\54\4\uffff\1\54\1\uffff\32\54\105\uffff\100"+
-            "\54",
-            "",
+            "\1\u00b1",
             "\1\u00b2",
             "\1\u00b3",
             "\1\u00b4",
-            "\1\u00b5",
+            "\12\54\7\uffff\32\54\4\uffff\1\54\1\uffff\32\54\105\uffff\100"+
+            "\54",
             "",
             "\1\u00b6",
             "\1\u00b7",
             "\1\u00b8",
-            "\12\54\7\uffff\32\54\4\uffff\1\54\1\uffff\32\54\105\uffff\100"+
-            "\54",
+            "",
+            "\1\u00b9",
             "\1\u00ba",
-            "\12\54\7\uffff\32\54\4\uffff\1\54\1\uffff\32\54\105\uffff\100"+
-            "\54",
+            "\1\u00bb",
             "\1\u00bc",
             "\1\u00bd",
             "\12\54\7\uffff\32\54\4\uffff\1\54\1\uffff\32\54\105\uffff\100"+
             "\54",
-            "\1\u00bf",
+            "\12\54\7\uffff\32\54\4\uffff\1\54\1\uffff\32\54\105\uffff\100"+
+            "\54",
             "\1\u00c0",
             "\12\54\7\uffff\32\54\4\uffff\1\54\1\uffff\32\54\105\uffff\100"+
             "\54",
             "\1\u00c2",
             "\1\u00c3",
+            "\1\u00c4",
+            "\1\u00c5",
             "\12\54\7\uffff\32\54\4\uffff\1\54\1\uffff\32\54\105\uffff\100"+
             "\54",
-            "\1\u00c5",
-            "\1\u00c6",
             "\1\u00c7",
             "\1\u00c8",
-            "",
             "\1\u00c9",
-            "\1\u00ca",
+            "\12\54\7\uffff\32\54\4\uffff\1\54\1\uffff\32\54\105\uffff\100"+
+            "\54",
             "\1\u00cb",
+            "",
             "\1\u00cc",
             "\1\u00cd",
-            "\12\54\7\uffff\32\54\4\uffff\1\54\1\uffff\5\54\1\u00ce\24\54"+
-            "\105\uffff\100\54",
+            "\1\u00ce",
+            "\1\u00cf",
             "\1\u00d0",
             "\1\u00d1",
             "\1\u00d2",
-            "\1\u00d4\6\uffff\1\u00d3",
-            "\1\u00d5",
-            "\1\u00d6",
+            "\1\u00d3",
+            "\1\u00d4",
+            "\12\54\7\uffff\32\54\4\uffff\1\54\1\uffff\5\54\1\u00d5\24\54"+
+            "\105\uffff\100\54",
+            "\1\u00d7",
             "",
-            "\1\u00d7",
             "\1\u00d8",
-            "\1\u00d9",
-            "\1\u00da",
-            "",
-            "\12\54\7\uffff\32\54\4\uffff\1\54\1\uffff\32\54\105\uffff\100"+
-            "\54",
+            "\1\u00da\6\uffff\1\u00d9",
+            "\1\u00db",
             "\1\u00dc",
             "\1\u00dd",
             "\1\u00de",
             "\1\u00df",
-            "\1\u00e0",
             "\12\54\7\uffff\32\54\4\uffff\1\54\1\uffff\32\54\105\uffff\100"+
             "\54",
             "",
+            "\1\u00e1",
             "\1\u00e2",
-            "",
-            "\12\54\7\uffff\32\54\4\uffff\1\54\1\uffff\32\54\105\uffff\100"+
-            "\54",
             "\1\u00e3",
-            "",
             "\1\u00e4",
             "\1\u00e5",
-            "",
             "\1\u00e6",
             "\12\54\7\uffff\32\54\4\uffff\1\54\1\uffff\32\54\105\uffff\100"+
             "\54",
+            "\12\54\7\uffff\32\54\4\uffff\1\54\1\uffff\32\54\105\uffff\100"+
+            "\54",
             "",
-            "\1\u00e8",
+            "",
             "\1\u00e9",
+            "",
+            "\12\54\7\uffff\32\54\4\uffff\1\54\1\uffff\32\54\105\uffff\100"+
+            "\54",
             "\1\u00ea",
             "\1\u00eb",
             "\1\u00ec",
+            "",
             "\1\u00ed",
             "\1\u00ee",
             "\1\u00ef",
-            "\1\u00f0",
+            "",
+            "\12\54\7\uffff\32\54\4\uffff\1\54\1\uffff\32\54\105\uffff\100"+
+            "\54",
             "\1\u00f1",
-            "",
             "\1\u00f2",
             "\1\u00f3",
-            "\12\54\7\uffff\32\54\4\uffff\1\54\1\uffff\32\54\105\uffff\100"+
-            "\54",
+            "\1\u00f4",
             "\1\u00f5",
             "\1\u00f6",
             "\1\u00f7",
             "\1\u00f8",
-            "",
             "\1\u00f9",
             "\1\u00fa",
-            "\1\u00fb",
             "",
-            "",
+            "\12\54\7\uffff\32\54\4\uffff\1\54\1\uffff\32\54\105\uffff\100"+
+            "\54",
             "\1\u00fc",
             "\1\u00fd",
             "\1\u00fe",
             "\1\u00ff",
             "",
             "\1\u0100",
-            "\12\54\7\uffff\32\54\4\uffff\1\54\1\uffff\32\54\105\uffff\100"+
-            "\54",
+            "\1\u0101",
             "\1\u0102",
+            "",
+            "",
             "\1\u0103",
-            "\12\54\7\uffff\32\54\4\uffff\1\54\1\uffff\32\54\105\uffff\100"+
-            "\54",
+            "\1\u0104",
+            "\1\u0105",
+            "\1\u0106",
+            "\1\u0107",
             "",
+            "",
+            "\1\u0108",
             "\12\54\7\uffff\32\54\4\uffff\1\54\1\uffff\32\54\105\uffff\100"+
             "\54",
-            "\1\u0106",
-            "",
-            "\1\u0107",
+            "\1\u010a",
+            "\1\u010b",
             "\12\54\7\uffff\32\54\4\uffff\1\54\1\uffff\32\54\105\uffff\100"+
             "\54",
-            "\1\u0109\21\uffff\1\u010a",
-            "\1\u010b",
-            "\1\u010c",
             "\1\u010d",
-            "\1\u010e",
-            "\1\u010f",
             "\12\54\7\uffff\32\54\4\uffff\1\54\1\uffff\32\54\105\uffff\100"+
             "\54",
             "",
-            "\1\u0111",
+            "",
+            "\1\u010f",
             "\12\54\7\uffff\32\54\4\uffff\1\54\1\uffff\32\54\105\uffff\100"+
             "\54",
+            "\1\u0111\21\uffff\1\u0112",
             "\1\u0113",
             "\1\u0114",
             "\1\u0115",
             "\1\u0116",
-            "\1\u0117",
+            "\12\54\7\uffff\32\54\4\uffff\1\54\1\uffff\32\54\105\uffff\100"+
+            "\54",
             "\1\u0118",
+            "",
             "\1\u0119",
             "\1\u011a",
-            "\1\u011b",
+            "\12\54\7\uffff\32\54\4\uffff\1\54\1\uffff\32\54\105\uffff\100"+
+            "\54",
             "\1\u011c",
-            "",
             "\1\u011d",
+            "\1\u011e",
+            "\1\u011f",
+            "\1\u0120",
+            "\1\u0121",
+            "\1\u0122",
+            "\1\u0123",
             "\12\54\7\uffff\32\54\4\uffff\1\54\1\uffff\32\54\105\uffff\100"+
             "\54",
+            "\1\u0125",
             "",
+            "\1\u0126",
+            "\12\54\7\uffff\32\54\4\uffff\1\54\1\uffff\32\54\105\uffff\100"+
+            "\54",
             "",
-            "\1\u011f",
+            "\1\u0128",
+            "",
             "\12\54\7\uffff\32\54\4\uffff\1\54\1\uffff\32\54\105\uffff\100"+
             "\54",
             "",
             "",
             "",
-            "\1\u0121",
             "\12\54\7\uffff\32\54\4\uffff\1\54\1\uffff\32\54\105\uffff\100"+
             "\54",
+            "\1\u012b",
             "\12\54\7\uffff\32\54\4\uffff\1\54\1\uffff\32\54\105\uffff\100"+
             "\54",
-            "\1\u0124",
             "\12\54\7\uffff\32\54\4\uffff\1\54\1\uffff\32\54\105\uffff\100"+
             "\54",
             "",
-            "\1\u0126",
+            "\1\u012e",
             "",
-            "\1\u0127",
+            "\1\u012f",
             "",
-            "\1\u0128",
-            "\1\u0129",
-            "\1\u012a",
-            "\1\u012b",
+            "\1\u0130",
+            "\1\u0131",
+            "\1\u0132",
+            "\1\u0133",
             "\12\54\7\uffff\32\54\4\uffff\1\54\1\uffff\32\54\105\uffff\100"+
             "\54",
-            "\1\u012d",
+            "\1\u0135",
             "\12\54\7\uffff\32\54\4\uffff\1\54\1\uffff\32\54\105\uffff\100"+
             "\54",
+            "\1\u0137",
+            "",
             "\12\54\7\uffff\32\54\4\uffff\1\54\1\uffff\32\54\105\uffff\100"+
             "\54",
             "\12\54\7\uffff\32\54\4\uffff\1\54\1\uffff\32\54\105\uffff\100"+
@@ -3483,18 +3552,19 @@
             "\12\54\7\uffff\32\54\4\uffff\1\54\1\uffff\32\54\105\uffff\100"+
             "\54",
             "",
+            "",
             "\12\54\7\uffff\32\54\4\uffff\1\54\1\uffff\32\54\105\uffff\100"+
             "\54",
             "",
             "",
-            "\1\u0133",
-            "",
-            "\1\u0134",
-            "\1\u0135",
-            "\1\u0136",
+            "\1\u013c",
+            "\1\u013d",
+            "\1\u013e",
+            "\1\u013f",
+            "\1\u0140",
             "\12\54\7\uffff\32\54\4\uffff\1\54\1\uffff\32\54\105\uffff\100"+
             "\54",
-            "\1\u0138",
+            "",
             "\12\54\7\uffff\32\54\4\uffff\1\54\1\uffff\32\54\105\uffff\100"+
             "\54",
             "",
@@ -3505,15 +3575,14 @@
             "",
             "",
             "",
+            "\1\u0144",
+            "\1\u0145",
+            "\1\u0146",
+            "\1\u0147",
             "",
-            "\1\u013b",
-            "\1\u013c",
-            "\1\u013d",
             "",
-            "\1\u013e",
             "",
-            "",
-            "\1\u013f",
+            "\1\u0148",
             "\12\54\7\uffff\32\54\4\uffff\1\54\1\uffff\32\54\105\uffff\100"+
             "\54",
             "\12\54\7\uffff\32\54\4\uffff\1\54\1\uffff\32\54\105\uffff\100"+
@@ -3556,7 +3625,7 @@
             this.transition = DFA18_transition;
         }
         public String getDescription() {
-            return "1:1: Tokens : ( T79 | T80 | T81 | T82 | T83 | T84 | T85 | T86 | T87 | WS | INT | FLOAT | STRING | BOOL | PACKAGE | IMPORT | FUNCTION | EVENT | GLOBAL | DECLARE | RULE | QUERY | TEMPLATE | ATTRIBUTES | DATE_EFFECTIVE | DATE_EXPIRES | ENABLED | SALIENCE | NO_LOOP | AUTO_FOCUS | ACTIVATION_GROUP | AGENDA_GROUP | DIALECT | RULEFLOW_GROUP | DURATION | LOCK_ON_ACTIVE | FROM | ACCUMULATE | INIT | ACTION | REVERSE | RESULT | COLLECT | ENTRY_POINT | OR | AND | CONTAINS | EXCLUDES | MEMBEROF | MATCHES | SOUNDSLIKE | IN | NULL | EXISTS | NOT | EVAL | FORALL | WHEN | THEN | END | ID | LEFT_PAREN | RIGHT_PAREN | LEFT_SQUARE | RIGHT_SQUARE | LEFT_CURLY | RIGHT_CURLY | COMMA | DOT | DOUBLE_AMPER | DOUBLE_PIPE | TILDE | AT | EQUALS | COLON | SH_STYLE_SINGLE_LINE_COMMENT | C_STYLE_SINGLE_LINE_COMMENT | MULTI_LINE_COMMENT | MISC );";
+            return "1:1: Tokens : ( T81 | T82 | T83 | T84 | T85 | T86 | T87 | T88 | T89 | WS | INT | FLOAT | STRING | BOOL | PACKAGE | IMPORT | FUNCTION | EVENT | GLOBAL | DECLARE | RULE | QUERY | TEMPLATE | ATTRIBUTES | DATE_EFFECTIVE | DATE_EXPIRES | ENABLED | SALIENCE | NO_LOOP | AUTO_FOCUS | ACTIVATION_GROUP | AGENDA_GROUP | DIALECT | RULEFLOW_GROUP | DURATION | LOCK_ON_ACTIVE | FROM | ACCUMULATE | INIT | ACTION | REVERSE | RESULT | COLLECT | ENTRY_POINT | OR | AND | CONTAINS | EXCLUDES | MEMBEROF | MATCHES | SOUNDSLIKE | IN | NULL | EXISTS | NOT | EVAL | FORALL | WHEN | THEN | END | WITH | WINDOW | ID | LEFT_PAREN | RIGHT_PAREN | LEFT_SQUARE | RIGHT_SQUARE | LEFT_CURLY | RIGHT_CURLY | COMMA | DOT | DOUBLE_AMPER | DOUBLE_PIPE | TILDE | AT | EQUALS | COLON | SH_STYLE_SINGLE_LINE_COMMENT | C_STYLE_SINGLE_LINE_COMMENT | MULTI_LINE_COMMENT | MISC );";
         }
     }
  

Modified: labs/jbossrules/trunk/drools-compiler/src/main/java/org/drools/lang/DRLParser.java
===================================================================
--- labs/jbossrules/trunk/drools-compiler/src/main/java/org/drools/lang/DRLParser.java	2008-05-06 18:24:49 UTC (rev 19872)
+++ labs/jbossrules/trunk/drools-compiler/src/main/java/org/drools/lang/DRLParser.java	2008-05-06 23:43:33 UTC (rev 19873)
@@ -1,38 +1,88 @@
-// $ANTLR 3.0.1 /Users/michaelneale/project/jboss-rules/drools-compiler/src/main/resources/org/drools/lang/DRL.g 2008-04-28 16:16:59
+// $ANTLR 3.0.1 /home/etirelli/workspace/jboss/jbossrules/drools-compiler/src/main/resources/org/drools/lang/DRL.g 2008-04-28 17:25:36
 
 	package org.drools.lang;
-	import java.util.List;
 	import java.util.ArrayList;
-	import java.util.Iterator;
-	import java.util.HashMap;	
-	import java.util.StringTokenizer;
-	import org.drools.lang.descr.*;
+import java.util.HashMap;
+import java.util.Iterator;
+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;
+import org.antlr.runtime.BaseRecognizer;
+import org.antlr.runtime.BitSet;
+import org.antlr.runtime.CommonToken;
+import org.antlr.runtime.DFA;
+import org.antlr.runtime.EarlyExitException;
+import org.antlr.runtime.FailedPredicateException;
+import org.antlr.runtime.IntStream;
+import org.antlr.runtime.MismatchedNotSetException;
+import org.antlr.runtime.MismatchedSetException;
+import org.antlr.runtime.MismatchedTokenException;
+import org.antlr.runtime.MismatchedTreeNodeException;
+import org.antlr.runtime.NoViableAltException;
+import org.antlr.runtime.Parser;
+import org.antlr.runtime.ParserRuleReturnScope;
+import org.antlr.runtime.RecognitionException;
+import org.antlr.runtime.Token;
+import org.antlr.runtime.TokenStream;
+import org.drools.lang.descr.AccessorDescr;
+import org.drools.lang.descr.AccumulateDescr;
+import org.drools.lang.descr.AndDescr;
+import org.drools.lang.descr.AttributeDescr;
+import org.drools.lang.descr.BaseDescr;
+import org.drools.lang.descr.CollectDescr;
+import org.drools.lang.descr.ConditionalElementDescr;
+import org.drools.lang.descr.DeclarativeInvokerDescr;
+import org.drools.lang.descr.DescrFactory;
+import org.drools.lang.descr.EntryPointDescr;
+import org.drools.lang.descr.EvalDescr;
+import org.drools.lang.descr.ExistsDescr;
+import org.drools.lang.descr.FactTemplateDescr;
+import org.drools.lang.descr.FieldAccessDescr;
+import org.drools.lang.descr.FieldBindingDescr;
+import org.drools.lang.descr.FieldConstraintDescr;
+import org.drools.lang.descr.FieldTemplateDescr;
+import org.drools.lang.descr.ForallDescr;
+import org.drools.lang.descr.FromDescr;
+import org.drools.lang.descr.FunctionCallDescr;
+import org.drools.lang.descr.FunctionDescr;
+import org.drools.lang.descr.FunctionImportDescr;
+import org.drools.lang.descr.GlobalDescr;
+import org.drools.lang.descr.ImportDescr;
+import org.drools.lang.descr.LiteralRestrictionDescr;
+import org.drools.lang.descr.MethodAccessDescr;
+import org.drools.lang.descr.NotDescr;
+import org.drools.lang.descr.OrDescr;
+import org.drools.lang.descr.PackageDescr;
+import org.drools.lang.descr.PatternDescr;
+import org.drools.lang.descr.PatternSourceDescr;
+import org.drools.lang.descr.PredicateDescr;
+import org.drools.lang.descr.QualifiedIdentifierRestrictionDescr;
+import org.drools.lang.descr.QueryDescr;
+import org.drools.lang.descr.RestrictionConnectiveDescr;
+import org.drools.lang.descr.RestrictionDescr;
+import org.drools.lang.descr.ReturnValueRestrictionDescr;
+import org.drools.lang.descr.RuleDescr;
+import org.drools.lang.descr.SlidingWindowDescr;
+import org.drools.lang.descr.TypeDeclarationDescr;
+import org.drools.lang.descr.TypeFieldDescr;
+import org.drools.lang.descr.VariableRestrictionDescr;
 public class DRLParser extends Parser {
     public static final String[] tokenNames = new String[] {
-        "<invalid>", "<EOR>", "<DOWN>", "<UP>", "PACKAGE", "IMPORT", "FUNCTION", "ID", "DOT", "GLOBAL", "LEFT_PAREN", "COMMA", "RIGHT_PAREN", "DECLARE", "END", "AT", "COLON", "EQUALS", "QUERY", "TEMPLATE", "RULE", "WHEN", "ATTRIBUTES", "DATE_EFFECTIVE", "STRING", "DATE_EXPIRES", "ENABLED", "BOOL", "SALIENCE", "INT", "NO_LOOP", "AUTO_FOCUS", "ACTIVATION_GROUP", "RULEFLOW_GROUP", "AGENDA_GROUP", "DURATION", "DIALECT", "LOCK_ON_ACTIVE", "OR", "DOUBLE_PIPE", "AND", "DOUBLE_AMPER", "FROM", "EXISTS", "NOT", "EVAL", "FORALL", "ACCUMULATE", "INIT", "ACTION", "REVERSE", "RESULT", "COLLECT", "ENTRY_POINT", "LEFT_SQUARE", "RIGHT_SQUARE", "CONTAINS", "EXCLUDES", "MATCHES", "SOUNDSLIKE", "MEMBEROF", "TILDE", "IN", "FLOAT", "NULL", "LEFT_CURLY", "RIGHT_CURLY", "THEN", "EVENT", "EOL", "WS", "EscapeSequence", "HexDigit", "UnicodeEscape", "OctalEscape", "SH_STYLE_SINGLE_LINE_COMMENT", "C_STYLE_SINGLE_LINE_COMMENT", "MULTI_LINE_COMMENT", "MISC", "';'", "'.*'", "'->'", "'=='", "'>'", "'>='", !
 "'<'", "'<='", "'!='"
+        "<invalid>", "<EOR>", "<DOWN>", "<UP>", "PACKAGE", "IMPORT", "FUNCTION", "ID", "DOT", "GLOBAL", "LEFT_PAREN", "COMMA", "RIGHT_PAREN", "DECLARE", "END", "AT", "COLON", "EQUALS", "QUERY", "TEMPLATE", "RULE", "WHEN", "ATTRIBUTES", "DATE_EFFECTIVE", "STRING", "DATE_EXPIRES", "ENABLED", "BOOL", "SALIENCE", "INT", "NO_LOOP", "AUTO_FOCUS", "ACTIVATION_GROUP", "RULEFLOW_GROUP", "AGENDA_GROUP", "DURATION", "DIALECT", "LOCK_ON_ACTIVE", "OR", "DOUBLE_PIPE", "AND", "DOUBLE_AMPER", "WITH", "WINDOW", "FROM", "EXISTS", "NOT", "EVAL", "FORALL", "ACCUMULATE", "INIT", "ACTION", "REVERSE", "RESULT", "COLLECT", "ENTRY_POINT", "LEFT_SQUARE", "RIGHT_SQUARE", "CONTAINS", "EXCLUDES", "MATCHES", "SOUNDSLIKE", "MEMBEROF", "TILDE", "IN", "FLOAT", "NULL", "LEFT_CURLY", "RIGHT_CURLY", "THEN", "EVENT", "EOL", "WS", "EscapeSequence", "HexDigit", "UnicodeEscape", "OctalEscape", "SH_STYLE_SINGLE_LINE_COMMENT", "C_STYLE_SINGLE_LINE_COMMENT", "MULTI_LINE_COMMENT", "MISC", "';'", "'.*'", "'->'", "'=='!
 ", "'>'", "'>='", "'<'", "'<='", "'!='"
     };
+    public static final int EXISTS=45;
     public static final int COMMA=11;
-    public static final int EXISTS=43;
     public static final int AUTO_FOCUS=31;
     public static final int END=14;
-    public static final int HexDigit=72;
-    public static final int FORALL=46;
+    public static final int HexDigit=74;
+    public static final int FORALL=48;
     public static final int TEMPLATE=19;
-    public static final int MISC=78;
-    public static final int FLOAT=63;
+    public static final int MISC=80;
+    public static final int FLOAT=65;
     public static final int QUERY=18;
-    public static final int THEN=67;
+    public static final int THEN=69;
     public static final int RULE=20;
-    public static final int INIT=48;
-    public static final int TILDE=61;
+    public static final int INIT=50;
+    public static final int TILDE=63;
     public static final int IMPORT=5;
     public static final int PACKAGE=4;
     public static final int DATE_EFFECTIVE=23;
@@ -42,59 +92,61 @@
     public static final int AND=40;
     public static final int FUNCTION=6;
     public static final int GLOBAL=9;
-    public static final int EscapeSequence=71;
+    public static final int EscapeSequence=73;
     public static final int DIALECT=36;
     public static final int INT=29;
     public static final int LOCK_ON_ACTIVE=37;
     public static final int DATE_EXPIRES=25;
-    public static final int LEFT_SQUARE=54;
-    public static final int CONTAINS=56;
-    public static final int SH_STYLE_SINGLE_LINE_COMMENT=75;
+    public static final int LEFT_SQUARE=56;
+    public static final int CONTAINS=58;
+    public static final int SH_STYLE_SINGLE_LINE_COMMENT=77;
     public static final int ATTRIBUTES=22;
-    public static final int EVENT=68;
+    public static final int EVENT=70;
     public static final int DECLARE=13;
-    public static final int LEFT_CURLY=65;
-    public static final int RESULT=51;
+    public static final int LEFT_CURLY=67;
+    public static final int RESULT=53;
     public static final int AT=15;
+    public static final int FROM=44;
     public static final int ID=7;
-    public static final int FROM=42;
     public static final int LEFT_PAREN=10;
     public static final int ACTIVATION_GROUP=32;
     public static final int DOUBLE_AMPER=41;
-    public static final int RIGHT_CURLY=66;
-    public static final int SOUNDSLIKE=59;
-    public static final int EXCLUDES=57;
+    public static final int RIGHT_CURLY=68;
+    public static final int SOUNDSLIKE=61;
+    public static final int EXCLUDES=59;
     public static final int BOOL=27;
-    public static final int MEMBEROF=60;
+    public static final int MEMBEROF=62;
     public static final int WHEN=21;
     public static final int RULEFLOW_GROUP=33;
-    public static final int WS=70;
+    public static final int WS=72;
     public static final int STRING=24;
-    public static final int ACTION=49;
-    public static final int COLLECT=52;
-    public static final int IN=62;
-    public static final int REVERSE=50;
-    public static final int ACCUMULATE=47;
+    public static final int ACTION=51;
+    public static final int WINDOW=43;
+    public static final int COLLECT=54;
+    public static final int WITH=42;
+    public static final int IN=64;
+    public static final int REVERSE=52;
+    public static final int ACCUMULATE=49;
     public static final int EQUALS=17;
     public static final int NO_LOOP=30;
-    public static final int UnicodeEscape=73;
+    public static final int UnicodeEscape=75;
     public static final int DURATION=35;
-    public static final int EVAL=45;
-    public static final int MATCHES=58;
+    public static final int EVAL=47;
+    public static final int MATCHES=60;
     public static final int EOF=-1;
-    public static final int EOL=69;
-    public static final int NULL=64;
+    public static final int EOL=71;
+    public static final int NULL=66;
     public static final int AGENDA_GROUP=34;
     public static final int COLON=16;
-    public static final int OctalEscape=74;
+    public static final int OctalEscape=76;
     public static final int SALIENCE=28;
-    public static final int MULTI_LINE_COMMENT=77;
-    public static final int NOT=44;
+    public static final int MULTI_LINE_COMMENT=79;
+    public static final int NOT=46;
     public static final int RIGHT_PAREN=12;
     public static final int ENABLED=26;
-    public static final int RIGHT_SQUARE=55;
-    public static final int C_STYLE_SINGLE_LINE_COMMENT=76;
-    public static final int ENTRY_POINT=53;
+    public static final int RIGHT_SQUARE=57;
+    public static final int C_STYLE_SINGLE_LINE_COMMENT=78;
+    public static final int ENTRY_POINT=55;
 
         public DRLParser(TokenStream input) {
             super(input);
@@ -103,7 +155,7 @@
         
 
     public String[] getTokenNames() { return tokenNames; }
-    public String getGrammarFileName() { return "/Users/michaelneale/project/jboss-rules/drools-compiler/src/main/resources/org/drools/lang/DRL.g"; }
+    public String getGrammarFileName() { return "/home/etirelli/workspace/jboss/jbossrules/drools-compiler/src/main/resources/org/drools/lang/DRL.g"; }
 
 
     	private PackageDescr packageDescr;
@@ -285,24 +337,24 @@
 
 
     // $ANTLR start opt_semicolon
-    // /Users/michaelneale/project/jboss-rules/drools-compiler/src/main/resources/org/drools/lang/DRL.g:195:1: opt_semicolon : ( ';' )? ;
+    // /home/etirelli/workspace/jboss/jbossrules/drools-compiler/src/main/resources/org/drools/lang/DRL.g:195:1: opt_semicolon : ( ';' )? ;
     public final void opt_semicolon() throws RecognitionException {
         try {
-            // /Users/michaelneale/project/jboss-rules/drools-compiler/src/main/resources/org/drools/lang/DRL.g:196:2: ( ( ';' )? )
-            // /Users/michaelneale/project/jboss-rules/drools-compiler/src/main/resources/org/drools/lang/DRL.g:196:4: ( ';' )?
+            // /home/etirelli/workspace/jboss/jbossrules/drools-compiler/src/main/resources/org/drools/lang/DRL.g:196:2: ( ( ';' )? )
+            // /home/etirelli/workspace/jboss/jbossrules/drools-compiler/src/main/resources/org/drools/lang/DRL.g:196:4: ( ';' )?
             {
-            // /Users/michaelneale/project/jboss-rules/drools-compiler/src/main/resources/org/drools/lang/DRL.g:196:4: ( ';' )?
+            // /home/etirelli/workspace/jboss/jbossrules/drools-compiler/src/main/resources/org/drools/lang/DRL.g:196:4: ( ';' )?
             int alt1=2;
             int LA1_0 = input.LA(1);
 
-            if ( (LA1_0==79) ) {
+            if ( (LA1_0==81) ) {
                 alt1=1;
             }
             switch (alt1) {
                 case 1 :
-                    // /Users/michaelneale/project/jboss-rules/drools-compiler/src/main/resources/org/drools/lang/DRL.g:196:4: ';'
+                    // /home/etirelli/workspace/jboss/jbossrules/drools-compiler/src/main/resources/org/drools/lang/DRL.g:196:4: ';'
                     {
-                    match(input,79,FOLLOW_79_in_opt_semicolon39); if (failed) return ;
+                    match(input,81,FOLLOW_81_in_opt_semicolon39); if (failed) return ;
 
                     }
                     break;
@@ -325,21 +377,21 @@
 
 
     // $ANTLR start compilation_unit
-    // /Users/michaelneale/project/jboss-rules/drools-compiler/src/main/resources/org/drools/lang/DRL.g:199:1: compilation_unit : prolog ( statement )* EOF ;
+    // /home/etirelli/workspace/jboss/jbossrules/drools-compiler/src/main/resources/org/drools/lang/DRL.g:199:1: compilation_unit : prolog ( statement )* EOF ;
     public final void compilation_unit() throws RecognitionException {
 
         		// reset Location information
         		this.location = new Location( Location.LOCATION_UNKNOWN );
         	
         try {
-            // /Users/michaelneale/project/jboss-rules/drools-compiler/src/main/resources/org/drools/lang/DRL.g:204:2: ( prolog ( statement )* EOF )
-            // /Users/michaelneale/project/jboss-rules/drools-compiler/src/main/resources/org/drools/lang/DRL.g:204:4: prolog ( statement )* EOF
+            // /home/etirelli/workspace/jboss/jbossrules/drools-compiler/src/main/resources/org/drools/lang/DRL.g:204:2: ( prolog ( statement )* EOF )
+            // /home/etirelli/workspace/jboss/jbossrules/drools-compiler/src/main/resources/org/drools/lang/DRL.g:204:4: prolog ( statement )* EOF
             {
             pushFollow(FOLLOW_prolog_in_compilation_unit57);
             prolog();
             _fsp--;
             if (failed) return ;
-            // /Users/michaelneale/project/jboss-rules/drools-compiler/src/main/resources/org/drools/lang/DRL.g:205:3: ( statement )*
+            // /home/etirelli/workspace/jboss/jbossrules/drools-compiler/src/main/resources/org/drools/lang/DRL.g:205:3: ( statement )*
             loop2:
             do {
                 int alt2=2;
@@ -352,7 +404,7 @@
 
                 switch (alt2) {
             	case 1 :
-            	    // /Users/michaelneale/project/jboss-rules/drools-compiler/src/main/resources/org/drools/lang/DRL.g:205:3: statement
+            	    // /home/etirelli/workspace/jboss/jbossrules/drools-compiler/src/main/resources/org/drools/lang/DRL.g:205:3: statement
             	    {
             	    pushFollow(FOLLOW_statement_in_compilation_unit62);
             	    statement();
@@ -385,7 +437,7 @@
 
 
     // $ANTLR start prolog
-    // /Users/michaelneale/project/jboss-rules/drools-compiler/src/main/resources/org/drools/lang/DRL.g:212:1: prolog : (pkgstmt= package_statement )? ;
+    // /home/etirelli/workspace/jboss/jbossrules/drools-compiler/src/main/resources/org/drools/lang/DRL.g:212:1: prolog : (pkgstmt= package_statement )? ;
     public final void prolog() throws RecognitionException {
         String pkgstmt = null;
 
@@ -394,10 +446,10 @@
         		String packageName = "";
         	
         try {
-            // /Users/michaelneale/project/jboss-rules/drools-compiler/src/main/resources/org/drools/lang/DRL.g:216:2: ( (pkgstmt= package_statement )? )
-            // /Users/michaelneale/project/jboss-rules/drools-compiler/src/main/resources/org/drools/lang/DRL.g:216:4: (pkgstmt= package_statement )?
+            // /home/etirelli/workspace/jboss/jbossrules/drools-compiler/src/main/resources/org/drools/lang/DRL.g:216:2: ( (pkgstmt= package_statement )? )
+            // /home/etirelli/workspace/jboss/jbossrules/drools-compiler/src/main/resources/org/drools/lang/DRL.g:216:4: (pkgstmt= package_statement )?
             {
-            // /Users/michaelneale/project/jboss-rules/drools-compiler/src/main/resources/org/drools/lang/DRL.g:216:4: (pkgstmt= package_statement )?
+            // /home/etirelli/workspace/jboss/jbossrules/drools-compiler/src/main/resources/org/drools/lang/DRL.g:216:4: (pkgstmt= package_statement )?
             int alt3=2;
             int LA3_0 = input.LA(1);
 
@@ -406,7 +458,7 @@
             }
             switch (alt3) {
                 case 1 :
-                    // /Users/michaelneale/project/jboss-rules/drools-compiler/src/main/resources/org/drools/lang/DRL.g:216:6: pkgstmt= package_statement
+                    // /home/etirelli/workspace/jboss/jbossrules/drools-compiler/src/main/resources/org/drools/lang/DRL.g:216:6: pkgstmt= package_statement
                     {
                     pushFollow(FOLLOW_package_statement_in_prolog96);
                     pkgstmt=package_statement();
@@ -442,7 +494,7 @@
 
 
     // $ANTLR start statement
-    // /Users/michaelneale/project/jboss-rules/drools-compiler/src/main/resources/org/drools/lang/DRL.g:223:1: statement : (a= rule_attribute | function_import_statement | import_statement | global | function | t= template | r= rule | q= query | d= type_declaration );
+    // /home/etirelli/workspace/jboss/jbossrules/drools-compiler/src/main/resources/org/drools/lang/DRL.g:223:1: statement : (a= rule_attribute | function_import_statement | import_statement | global | function | t= template | r= rule | q= query | d= type_declaration );
     public final void statement() throws RecognitionException {
         AttributeDescr a = null;
 
@@ -456,7 +508,7 @@
 
 
         try {
-            // /Users/michaelneale/project/jboss-rules/drools-compiler/src/main/resources/org/drools/lang/DRL.g:224:2: (a= rule_attribute | function_import_statement | import_statement | global | function | t= template | r= rule | q= query | d= type_declaration )
+            // /home/etirelli/workspace/jboss/jbossrules/drools-compiler/src/main/resources/org/drools/lang/DRL.g:224:2: (a= rule_attribute | function_import_statement | import_statement | global | function | t= template | r= rule | q= query | d= type_declaration )
             int alt4=9;
             switch ( input.LA(1) ) {
             case DATE_EFFECTIVE:
@@ -534,7 +586,7 @@
 
             switch (alt4) {
                 case 1 :
-                    // /Users/michaelneale/project/jboss-rules/drools-compiler/src/main/resources/org/drools/lang/DRL.g:224:4: a= rule_attribute
+                    // /home/etirelli/workspace/jboss/jbossrules/drools-compiler/src/main/resources/org/drools/lang/DRL.g:224:4: a= rule_attribute
                     {
                     pushFollow(FOLLOW_rule_attribute_in_statement121);
                     a=rule_attribute();
@@ -547,7 +599,7 @@
                     }
                     break;
                 case 2 :
-                    // /Users/michaelneale/project/jboss-rules/drools-compiler/src/main/resources/org/drools/lang/DRL.g:225:4: function_import_statement
+                    // /home/etirelli/workspace/jboss/jbossrules/drools-compiler/src/main/resources/org/drools/lang/DRL.g:225:4: function_import_statement
                     {
                     pushFollow(FOLLOW_function_import_statement_in_statement128);
                     function_import_statement();
@@ -557,7 +609,7 @@
                     }
                     break;
                 case 3 :
-                    // /Users/michaelneale/project/jboss-rules/drools-compiler/src/main/resources/org/drools/lang/DRL.g:226:4: import_statement
+                    // /home/etirelli/workspace/jboss/jbossrules/drools-compiler/src/main/resources/org/drools/lang/DRL.g:226:4: import_statement
                     {
                     pushFollow(FOLLOW_import_statement_in_statement134);
                     import_statement();
@@ -567,7 +619,7 @@
                     }
                     break;
                 case 4 :
-                    // /Users/michaelneale/project/jboss-rules/drools-compiler/src/main/resources/org/drools/lang/DRL.g:227:4: global
+                    // /home/etirelli/workspace/jboss/jbossrules/drools-compiler/src/main/resources/org/drools/lang/DRL.g:227:4: global
                     {
                     pushFollow(FOLLOW_global_in_statement140);
                     global();
@@ -577,7 +629,7 @@
                     }
                     break;
                 case 5 :
-                    // /Users/michaelneale/project/jboss-rules/drools-compiler/src/main/resources/org/drools/lang/DRL.g:228:4: function
+                    // /home/etirelli/workspace/jboss/jbossrules/drools-compiler/src/main/resources/org/drools/lang/DRL.g:228:4: function
                     {
                     pushFollow(FOLLOW_function_in_statement146);
                     function();
@@ -587,7 +639,7 @@
                     }
                     break;
                 case 6 :
-                    // /Users/michaelneale/project/jboss-rules/drools-compiler/src/main/resources/org/drools/lang/DRL.g:229:10: t= template
+                    // /home/etirelli/workspace/jboss/jbossrules/drools-compiler/src/main/resources/org/drools/lang/DRL.g:229:10: t= template
                     {
                     pushFollow(FOLLOW_template_in_statement160);
                     t=template();
@@ -600,7 +652,7 @@
                     }
                     break;
                 case 7 :
-                    // /Users/michaelneale/project/jboss-rules/drools-compiler/src/main/resources/org/drools/lang/DRL.g:230:4: r= rule
+                    // /home/etirelli/workspace/jboss/jbossrules/drools-compiler/src/main/resources/org/drools/lang/DRL.g:230:4: r= rule
                     {
                     pushFollow(FOLLOW_rule_in_statement169);
                     r=rule();
@@ -613,7 +665,7 @@
                     }
                     break;
                 case 8 :
-                    // /Users/michaelneale/project/jboss-rules/drools-compiler/src/main/resources/org/drools/lang/DRL.g:231:4: q= query
+                    // /home/etirelli/workspace/jboss/jbossrules/drools-compiler/src/main/resources/org/drools/lang/DRL.g:231:4: q= query
                     {
                     pushFollow(FOLLOW_query_in_statement181);
                     q=query();
@@ -626,7 +678,7 @@
                     }
                     break;
                 case 9 :
-                    // /Users/michaelneale/project/jboss-rules/drools-compiler/src/main/resources/org/drools/lang/DRL.g:232:10: d= type_declaration
+                    // /home/etirelli/workspace/jboss/jbossrules/drools-compiler/src/main/resources/org/drools/lang/DRL.g:232:10: d= type_declaration
                     {
                     pushFollow(FOLLOW_type_declaration_in_statement196);
                     d=type_declaration();
@@ -653,7 +705,7 @@
 
 
     // $ANTLR start package_statement
-    // /Users/michaelneale/project/jboss-rules/drools-compiler/src/main/resources/org/drools/lang/DRL.g:235:1: package_statement returns [String packageName] : PACKAGE n= dotted_name opt_semicolon ;
+    // /home/etirelli/workspace/jboss/jbossrules/drools-compiler/src/main/resources/org/drools/lang/DRL.g:235:1: package_statement returns [String packageName] : PACKAGE n= dotted_name opt_semicolon ;
     public final String package_statement() throws RecognitionException {
         String packageName = null;
 
@@ -664,8 +716,8 @@
         		packageName = null;
         	
         try {
-            // /Users/michaelneale/project/jboss-rules/drools-compiler/src/main/resources/org/drools/lang/DRL.g:239:2: ( PACKAGE n= dotted_name opt_semicolon )
-            // /Users/michaelneale/project/jboss-rules/drools-compiler/src/main/resources/org/drools/lang/DRL.g:240:3: PACKAGE n= dotted_name opt_semicolon
+            // /home/etirelli/workspace/jboss/jbossrules/drools-compiler/src/main/resources/org/drools/lang/DRL.g:239:2: ( PACKAGE n= dotted_name opt_semicolon )
+            // /home/etirelli/workspace/jboss/jbossrules/drools-compiler/src/main/resources/org/drools/lang/DRL.g:240:3: PACKAGE n= dotted_name opt_semicolon
             {
             match(input,PACKAGE,FOLLOW_PACKAGE_in_package_statement222); if (failed) return packageName;
             pushFollow(FOLLOW_dotted_name_in_package_statement226);
@@ -697,7 +749,7 @@
 
 
     // $ANTLR start import_statement
-    // /Users/michaelneale/project/jboss-rules/drools-compiler/src/main/resources/org/drools/lang/DRL.g:248:1: import_statement : IMPORT import_name[importDecl] opt_semicolon ;
+    // /home/etirelli/workspace/jboss/jbossrules/drools-compiler/src/main/resources/org/drools/lang/DRL.g:248:1: import_statement : IMPORT import_name[importDecl] opt_semicolon ;
     public final void import_statement() throws RecognitionException {
         Token IMPORT1=null;
 
@@ -705,8 +757,8 @@
                 	ImportDescr importDecl = null;
                 
         try {
-            // /Users/michaelneale/project/jboss-rules/drools-compiler/src/main/resources/org/drools/lang/DRL.g:252:2: ( IMPORT import_name[importDecl] opt_semicolon )
-            // /Users/michaelneale/project/jboss-rules/drools-compiler/src/main/resources/org/drools/lang/DRL.g:252:4: IMPORT import_name[importDecl] opt_semicolon
+            // /home/etirelli/workspace/jboss/jbossrules/drools-compiler/src/main/resources/org/drools/lang/DRL.g:252:2: ( IMPORT import_name[importDecl] opt_semicolon )
+            // /home/etirelli/workspace/jboss/jbossrules/drools-compiler/src/main/resources/org/drools/lang/DRL.g:252:4: IMPORT import_name[importDecl] opt_semicolon
             {
             IMPORT1=(Token)input.LT(1);
             match(input,IMPORT,FOLLOW_IMPORT_in_import_statement259); if (failed) return ;
@@ -743,7 +795,7 @@
 
 
     // $ANTLR start function_import_statement
-    // /Users/michaelneale/project/jboss-rules/drools-compiler/src/main/resources/org/drools/lang/DRL.g:263:1: function_import_statement : IMPORT FUNCTION import_name[importDecl] opt_semicolon ;
+    // /home/etirelli/workspace/jboss/jbossrules/drools-compiler/src/main/resources/org/drools/lang/DRL.g:263:1: function_import_statement : IMPORT FUNCTION import_name[importDecl] opt_semicolon ;
     public final void function_import_statement() throws RecognitionException {
         Token IMPORT2=null;
 
@@ -751,8 +803,8 @@
                 	FunctionImportDescr importDecl = null;
                 
         try {
-            // /Users/michaelneale/project/jboss-rules/drools-compiler/src/main/resources/org/drools/lang/DRL.g:267:2: ( IMPORT FUNCTION import_name[importDecl] opt_semicolon )
-            // /Users/michaelneale/project/jboss-rules/drools-compiler/src/main/resources/org/drools/lang/DRL.g:267:4: IMPORT FUNCTION import_name[importDecl] opt_semicolon
+            // /home/etirelli/workspace/jboss/jbossrules/drools-compiler/src/main/resources/org/drools/lang/DRL.g:267:2: ( IMPORT FUNCTION import_name[importDecl] opt_semicolon )
+            // /home/etirelli/workspace/jboss/jbossrules/drools-compiler/src/main/resources/org/drools/lang/DRL.g:267:4: IMPORT FUNCTION import_name[importDecl] opt_semicolon
             {
             IMPORT2=(Token)input.LT(1);
             match(input,IMPORT,FOLLOW_IMPORT_in_function_import_statement309); if (failed) return ;
@@ -790,7 +842,7 @@
 
 
     // $ANTLR start import_name
-    // /Users/michaelneale/project/jboss-rules/drools-compiler/src/main/resources/org/drools/lang/DRL.g:278:1: import_name[ImportDescr importDecl] returns [String name] : ID ( DOT id= identifier )* (star= '.*' )? ;
+    // /home/etirelli/workspace/jboss/jbossrules/drools-compiler/src/main/resources/org/drools/lang/DRL.g:278:1: import_name[ImportDescr importDecl] returns [String name] : ID ( DOT id= identifier )* (star= '.*' )? ;
     public final String import_name(ImportDescr importDecl) throws RecognitionException {
         String name = null;
 
@@ -804,8 +856,8 @@
         		name = null;
         	
         try {
-            // /Users/michaelneale/project/jboss-rules/drools-compiler/src/main/resources/org/drools/lang/DRL.g:282:2: ( ID ( DOT id= identifier )* (star= '.*' )? )
-            // /Users/michaelneale/project/jboss-rules/drools-compiler/src/main/resources/org/drools/lang/DRL.g:283:3: ID ( DOT id= identifier )* (star= '.*' )?
+            // /home/etirelli/workspace/jboss/jbossrules/drools-compiler/src/main/resources/org/drools/lang/DRL.g:282:2: ( ID ( DOT id= identifier )* (star= '.*' )? )
+            // /home/etirelli/workspace/jboss/jbossrules/drools-compiler/src/main/resources/org/drools/lang/DRL.g:283:3: ID ( DOT id= identifier )* (star= '.*' )?
             {
             ID3=(Token)input.LT(1);
             match(input,ID,FOLLOW_ID_in_import_name362); if (failed) return name;
@@ -816,7 +868,7 @@
               		    importDecl.setEndCharacter( ((CommonToken)ID3).getStopIndex() );
               		
             }
-            // /Users/michaelneale/project/jboss-rules/drools-compiler/src/main/resources/org/drools/lang/DRL.g:289:3: ( DOT id= identifier )*
+            // /home/etirelli/workspace/jboss/jbossrules/drools-compiler/src/main/resources/org/drools/lang/DRL.g:289:3: ( DOT id= identifier )*
             loop5:
             do {
                 int alt5=2;
@@ -829,7 +881,7 @@
 
                 switch (alt5) {
             	case 1 :
-            	    // /Users/michaelneale/project/jboss-rules/drools-compiler/src/main/resources/org/drools/lang/DRL.g:289:5: DOT id= identifier
+            	    // /home/etirelli/workspace/jboss/jbossrules/drools-compiler/src/main/resources/org/drools/lang/DRL.g:289:5: DOT id= identifier
             	    {
             	    DOT4=(Token)input.LT(1);
             	    match(input,DOT,FOLLOW_DOT_in_import_name374); if (failed) return name;
@@ -853,19 +905,19 @@
                 }
             } while (true);
 
-            // /Users/michaelneale/project/jboss-rules/drools-compiler/src/main/resources/org/drools/lang/DRL.g:296:3: (star= '.*' )?
+            // /home/etirelli/workspace/jboss/jbossrules/drools-compiler/src/main/resources/org/drools/lang/DRL.g:296:3: (star= '.*' )?
             int alt6=2;
             int LA6_0 = input.LA(1);
 
-            if ( (LA6_0==80) ) {
+            if ( (LA6_0==82) ) {
                 alt6=1;
             }
             switch (alt6) {
                 case 1 :
-                    // /Users/michaelneale/project/jboss-rules/drools-compiler/src/main/resources/org/drools/lang/DRL.g:296:5: star= '.*'
+                    // /home/etirelli/workspace/jboss/jbossrules/drools-compiler/src/main/resources/org/drools/lang/DRL.g:296:5: star= '.*'
                     {
                     star=(Token)input.LT(1);
-                    match(input,80,FOLLOW_80_in_import_name402); if (failed) return name;
+                    match(input,82,FOLLOW_82_in_import_name402); if (failed) return name;
                     if ( backtracking==0 ) {
                        
                       		        name = name + star.getText(); 
@@ -895,7 +947,7 @@
 
 
     // $ANTLR start global
-    // /Users/michaelneale/project/jboss-rules/drools-compiler/src/main/resources/org/drools/lang/DRL.g:306:1: global : GLOBAL type= dotted_name id= identifier opt_semicolon ;
+    // /home/etirelli/workspace/jboss/jbossrules/drools-compiler/src/main/resources/org/drools/lang/DRL.g:306:1: global : GLOBAL type= dotted_name id= identifier opt_semicolon ;
     public final void global() throws RecognitionException {
         Token GLOBAL5=null;
         String type = null;
@@ -907,8 +959,8 @@
         	    GlobalDescr global = null;
         	
         try {
-            // /Users/michaelneale/project/jboss-rules/drools-compiler/src/main/resources/org/drools/lang/DRL.g:310:2: ( GLOBAL type= dotted_name id= identifier opt_semicolon )
-            // /Users/michaelneale/project/jboss-rules/drools-compiler/src/main/resources/org/drools/lang/DRL.g:311:3: GLOBAL type= dotted_name id= identifier opt_semicolon
+            // /home/etirelli/workspace/jboss/jbossrules/drools-compiler/src/main/resources/org/drools/lang/DRL.g:310:2: ( GLOBAL type= dotted_name id= identifier opt_semicolon )
+            // /home/etirelli/workspace/jboss/jbossrules/drools-compiler/src/main/resources/org/drools/lang/DRL.g:311:3: GLOBAL type= dotted_name id= identifier opt_semicolon
             {
             GLOBAL5=(Token)input.LT(1);
             match(input,GLOBAL,FOLLOW_GLOBAL_in_global436); if (failed) return ;
@@ -958,7 +1010,7 @@
 
 
     // $ANTLR start function
-    // /Users/michaelneale/project/jboss-rules/drools-compiler/src/main/resources/org/drools/lang/DRL.g:329:1: function : FUNCTION (retType= dotted_name )? id= identifier LEFT_PAREN ( (paramType= dotted_name )? paramName= argument ( COMMA (paramType= dotted_name )? paramName= argument )* )? RIGHT_PAREN body= curly_chunk ;
+    // /home/etirelli/workspace/jboss/jbossrules/drools-compiler/src/main/resources/org/drools/lang/DRL.g:329:1: function : FUNCTION (retType= dotted_name )? id= identifier LEFT_PAREN ( (paramType= dotted_name )? paramName= argument ( COMMA (paramType= dotted_name )? paramName= argument )* )? RIGHT_PAREN body= curly_chunk ;
     public final void function() throws RecognitionException {
         Token FUNCTION6=null;
         String retType = null;
@@ -977,12 +1029,12 @@
         		String type = null;
         	
         try {
-            // /Users/michaelneale/project/jboss-rules/drools-compiler/src/main/resources/org/drools/lang/DRL.g:334:2: ( FUNCTION (retType= dotted_name )? id= identifier LEFT_PAREN ( (paramType= dotted_name )? paramName= argument ( COMMA (paramType= dotted_name )? paramName= argument )* )? RIGHT_PAREN body= curly_chunk )
-            // /Users/michaelneale/project/jboss-rules/drools-compiler/src/main/resources/org/drools/lang/DRL.g:335:3: FUNCTION (retType= dotted_name )? id= identifier LEFT_PAREN ( (paramType= dotted_name )? paramName= argument ( COMMA (paramType= dotted_name )? paramName= argument )* )? RIGHT_PAREN body= curly_chunk
+            // /home/etirelli/workspace/jboss/jbossrules/drools-compiler/src/main/resources/org/drools/lang/DRL.g:334:2: ( FUNCTION (retType= dotted_name )? id= identifier LEFT_PAREN ( (paramType= dotted_name )? paramName= argument ( COMMA (paramType= dotted_name )? paramName= argument )* )? RIGHT_PAREN body= curly_chunk )
+            // /home/etirelli/workspace/jboss/jbossrules/drools-compiler/src/main/resources/org/drools/lang/DRL.g:335:3: FUNCTION (retType= dotted_name )? id= identifier LEFT_PAREN ( (paramType= dotted_name )? paramName= argument ( COMMA (paramType= dotted_name )? paramName= argument )* )? RIGHT_PAREN body= curly_chunk
             {
             FUNCTION6=(Token)input.LT(1);
             match(input,FUNCTION,FOLLOW_FUNCTION_in_function485); if (failed) return ;
-            // /Users/michaelneale/project/jboss-rules/drools-compiler/src/main/resources/org/drools/lang/DRL.g:335:19: (retType= dotted_name )?
+            // /home/etirelli/workspace/jboss/jbossrules/drools-compiler/src/main/resources/org/drools/lang/DRL.g:335:19: (retType= dotted_name )?
             int alt7=2;
             int LA7_0 = input.LA(1);
 
@@ -995,7 +1047,7 @@
             }
             switch (alt7) {
                 case 1 :
-                    // /Users/michaelneale/project/jboss-rules/drools-compiler/src/main/resources/org/drools/lang/DRL.g:335:19: retType= dotted_name
+                    // /home/etirelli/workspace/jboss/jbossrules/drools-compiler/src/main/resources/org/drools/lang/DRL.g:335:19: retType= dotted_name
                     {
                     pushFollow(FOLLOW_dotted_name_in_function489);
                     retType=dotted_name();
@@ -1022,7 +1074,7 @@
               		
             }
             match(input,LEFT_PAREN,FOLLOW_LEFT_PAREN_in_function503); if (failed) return ;
-            // /Users/michaelneale/project/jboss-rules/drools-compiler/src/main/resources/org/drools/lang/DRL.g:345:4: ( (paramType= dotted_name )? paramName= argument ( COMMA (paramType= dotted_name )? paramName= argument )* )?
+            // /home/etirelli/workspace/jboss/jbossrules/drools-compiler/src/main/resources/org/drools/lang/DRL.g:345:4: ( (paramType= dotted_name )? paramName= argument ( COMMA (paramType= dotted_name )? paramName= argument )* )?
             int alt11=2;
             int LA11_0 = input.LA(1);
 
@@ -1031,14 +1083,14 @@
             }
             switch (alt11) {
                 case 1 :
-                    // /Users/michaelneale/project/jboss-rules/drools-compiler/src/main/resources/org/drools/lang/DRL.g:345:6: (paramType= dotted_name )? paramName= argument ( COMMA (paramType= dotted_name )? paramName= argument )*
+                    // /home/etirelli/workspace/jboss/jbossrules/drools-compiler/src/main/resources/org/drools/lang/DRL.g:345:6: (paramType= dotted_name )? paramName= argument ( COMMA (paramType= dotted_name )? paramName= argument )*
                     {
-                    // /Users/michaelneale/project/jboss-rules/drools-compiler/src/main/resources/org/drools/lang/DRL.g:345:15: (paramType= dotted_name )?
+                    // /home/etirelli/workspace/jboss/jbossrules/drools-compiler/src/main/resources/org/drools/lang/DRL.g:345:15: (paramType= dotted_name )?
                     int alt8=2;
                     alt8 = dfa8.predict(input);
                     switch (alt8) {
                         case 1 :
-                            // /Users/michaelneale/project/jboss-rules/drools-compiler/src/main/resources/org/drools/lang/DRL.g:345:15: paramType= dotted_name
+                            // /home/etirelli/workspace/jboss/jbossrules/drools-compiler/src/main/resources/org/drools/lang/DRL.g:345:15: paramType= dotted_name
                             {
                             pushFollow(FOLLOW_dotted_name_in_function512);
                             paramType=dotted_name();
@@ -1060,7 +1112,7 @@
                       					f.addParameter( type, paramName );
                       				
                     }
-                    // /Users/michaelneale/project/jboss-rules/drools-compiler/src/main/resources/org/drools/lang/DRL.g:350:5: ( COMMA (paramType= dotted_name )? paramName= argument )*
+                    // /home/etirelli/workspace/jboss/jbossrules/drools-compiler/src/main/resources/org/drools/lang/DRL.g:350:5: ( COMMA (paramType= dotted_name )? paramName= argument )*
                     loop10:
                     do {
                         int alt10=2;
@@ -1073,15 +1125,15 @@
 
                         switch (alt10) {
                     	case 1 :
-                    	    // /Users/michaelneale/project/jboss-rules/drools-compiler/src/main/resources/org/drools/lang/DRL.g:350:7: COMMA (paramType= dotted_name )? paramName= argument
+                    	    // /home/etirelli/workspace/jboss/jbossrules/drools-compiler/src/main/resources/org/drools/lang/DRL.g:350:7: COMMA (paramType= dotted_name )? paramName= argument
                     	    {
                     	    match(input,COMMA,FOLLOW_COMMA_in_function531); if (failed) return ;
-                    	    // /Users/michaelneale/project/jboss-rules/drools-compiler/src/main/resources/org/drools/lang/DRL.g:350:22: (paramType= dotted_name )?
+                    	    // /home/etirelli/workspace/jboss/jbossrules/drools-compiler/src/main/resources/org/drools/lang/DRL.g:350:22: (paramType= dotted_name )?
                     	    int alt9=2;
                     	    alt9 = dfa9.predict(input);
                     	    switch (alt9) {
                     	        case 1 :
-                    	            // /Users/michaelneale/project/jboss-rules/drools-compiler/src/main/resources/org/drools/lang/DRL.g:350:22: paramType= dotted_name
+                    	            // /home/etirelli/workspace/jboss/jbossrules/drools-compiler/src/main/resources/org/drools/lang/DRL.g:350:22: paramType= dotted_name
                     	            {
                     	            pushFollow(FOLLOW_dotted_name_in_function535);
                     	            paramType=dotted_name();
@@ -1147,7 +1199,7 @@
 
 
     // $ANTLR start argument
-    // /Users/michaelneale/project/jboss-rules/drools-compiler/src/main/resources/org/drools/lang/DRL.g:367:1: argument returns [String name] : id= identifier ( '[' ']' )* ;
+    // /home/etirelli/workspace/jboss/jbossrules/drools-compiler/src/main/resources/org/drools/lang/DRL.g:367:1: argument returns [String name] : id= identifier ( '[' ']' )* ;
     public final String argument() throws RecognitionException {
         String name = null;
 
@@ -1158,8 +1210,8 @@
         		name = null;
         	
         try {
-            // /Users/michaelneale/project/jboss-rules/drools-compiler/src/main/resources/org/drools/lang/DRL.g:371:2: (id= identifier ( '[' ']' )* )
-            // /Users/michaelneale/project/jboss-rules/drools-compiler/src/main/resources/org/drools/lang/DRL.g:371:4: id= identifier ( '[' ']' )*
+            // /home/etirelli/workspace/jboss/jbossrules/drools-compiler/src/main/resources/org/drools/lang/DRL.g:371:2: (id= identifier ( '[' ']' )* )
+            // /home/etirelli/workspace/jboss/jbossrules/drools-compiler/src/main/resources/org/drools/lang/DRL.g:371:4: id= identifier ( '[' ']' )*
             {
             pushFollow(FOLLOW_identifier_in_argument597);
             id=identifier();
@@ -1168,7 +1220,7 @@
             if ( backtracking==0 ) {
                name =input.toString(id.start,id.stop); 
             }
-            // /Users/michaelneale/project/jboss-rules/drools-compiler/src/main/resources/org/drools/lang/DRL.g:371:38: ( '[' ']' )*
+            // /home/etirelli/workspace/jboss/jbossrules/drools-compiler/src/main/resources/org/drools/lang/DRL.g:371:38: ( '[' ']' )*
             loop12:
             do {
                 int alt12=2;
@@ -1181,7 +1233,7 @@
 
                 switch (alt12) {
             	case 1 :
-            	    // /Users/michaelneale/project/jboss-rules/drools-compiler/src/main/resources/org/drools/lang/DRL.g:371:40: '[' ']'
+            	    // /home/etirelli/workspace/jboss/jbossrules/drools-compiler/src/main/resources/org/drools/lang/DRL.g:371:40: '[' ']'
             	    {
             	    match(input,LEFT_SQUARE,FOLLOW_LEFT_SQUARE_in_argument603); if (failed) return name;
             	    match(input,RIGHT_SQUARE,FOLLOW_RIGHT_SQUARE_in_argument605); if (failed) return name;
@@ -1213,7 +1265,7 @@
 
 
     // $ANTLR start type_declaration
-    // /Users/michaelneale/project/jboss-rules/drools-compiler/src/main/resources/org/drools/lang/DRL.g:374:1: type_declaration returns [TypeDeclarationDescr declaration] : DECLARE id= identifier ( decl_metadata[$declaration] )* ( decl_field[$declaration] )* END ;
+    // /home/etirelli/workspace/jboss/jbossrules/drools-compiler/src/main/resources/org/drools/lang/DRL.g:374:1: type_declaration returns [TypeDeclarationDescr declaration] : DECLARE id= identifier ( decl_metadata[$declaration] )* ( decl_field[$declaration] )* END ;
     public final TypeDeclarationDescr type_declaration() throws RecognitionException {
         TypeDeclarationDescr declaration = null;
 
@@ -1224,8 +1276,8 @@
                         declaration = factory.createTypeDeclaration();
                 
         try {
-            // /Users/michaelneale/project/jboss-rules/drools-compiler/src/main/resources/org/drools/lang/DRL.g:378:9: ( DECLARE id= identifier ( decl_metadata[$declaration] )* ( decl_field[$declaration] )* END )
-            // /Users/michaelneale/project/jboss-rules/drools-compiler/src/main/resources/org/drools/lang/DRL.g:378:11: DECLARE id= identifier ( decl_metadata[$declaration] )* ( decl_field[$declaration] )* END
+            // /home/etirelli/workspace/jboss/jbossrules/drools-compiler/src/main/resources/org/drools/lang/DRL.g:378:9: ( DECLARE id= identifier ( decl_metadata[$declaration] )* ( decl_field[$declaration] )* END )
+            // /home/etirelli/workspace/jboss/jbossrules/drools-compiler/src/main/resources/org/drools/lang/DRL.g:378:11: DECLARE id= identifier ( decl_metadata[$declaration] )* ( decl_field[$declaration] )* END
             {
             match(input,DECLARE,FOLLOW_DECLARE_in_type_declaration645); if (failed) return declaration;
             pushFollow(FOLLOW_identifier_in_type_declaration649);
@@ -1237,7 +1289,7 @@
                                           declaration.setTypeName( input.toString(id.start,id.stop) );
                                       
             }
-            // /Users/michaelneale/project/jboss-rules/drools-compiler/src/main/resources/org/drools/lang/DRL.g:382:25: ( decl_metadata[$declaration] )*
+            // /home/etirelli/workspace/jboss/jbossrules/drools-compiler/src/main/resources/org/drools/lang/DRL.g:382:25: ( decl_metadata[$declaration] )*
             loop13:
             do {
                 int alt13=2;
@@ -1250,7 +1302,7 @@
 
                 switch (alt13) {
             	case 1 :
-            	    // /Users/michaelneale/project/jboss-rules/drools-compiler/src/main/resources/org/drools/lang/DRL.g:382:25: decl_metadata[$declaration]
+            	    // /home/etirelli/workspace/jboss/jbossrules/drools-compiler/src/main/resources/org/drools/lang/DRL.g:382:25: decl_metadata[$declaration]
             	    {
             	    pushFollow(FOLLOW_decl_metadata_in_type_declaration702);
             	    decl_metadata(declaration);
@@ -1265,7 +1317,7 @@
                 }
             } while (true);
 
-            // /Users/michaelneale/project/jboss-rules/drools-compiler/src/main/resources/org/drools/lang/DRL.g:383:25: ( decl_field[$declaration] )*
+            // /home/etirelli/workspace/jboss/jbossrules/drools-compiler/src/main/resources/org/drools/lang/DRL.g:383:25: ( decl_field[$declaration] )*
             loop14:
             do {
                 int alt14=2;
@@ -1287,7 +1339,7 @@
 
                 switch (alt14) {
             	case 1 :
-            	    // /Users/michaelneale/project/jboss-rules/drools-compiler/src/main/resources/org/drools/lang/DRL.g:383:25: decl_field[$declaration]
+            	    // /home/etirelli/workspace/jboss/jbossrules/drools-compiler/src/main/resources/org/drools/lang/DRL.g:383:25: decl_field[$declaration]
             	    {
             	    pushFollow(FOLLOW_decl_field_in_type_declaration730);
             	    decl_field(declaration);
@@ -1319,7 +1371,7 @@
 
 
     // $ANTLR start decl_metadata
-    // /Users/michaelneale/project/jboss-rules/drools-compiler/src/main/resources/org/drools/lang/DRL.g:387:1: decl_metadata[BaseDescr declaration] : AT att= identifier val= paren_chunk ;
+    // /home/etirelli/workspace/jboss/jbossrules/drools-compiler/src/main/resources/org/drools/lang/DRL.g:387:1: decl_metadata[BaseDescr declaration] : AT att= identifier val= paren_chunk ;
     public final void decl_metadata(BaseDescr declaration) throws RecognitionException {
         identifier_return att = null;
 
@@ -1327,8 +1379,8 @@
 
 
         try {
-            // /Users/michaelneale/project/jboss-rules/drools-compiler/src/main/resources/org/drools/lang/DRL.g:388:9: ( AT att= identifier val= paren_chunk )
-            // /Users/michaelneale/project/jboss-rules/drools-compiler/src/main/resources/org/drools/lang/DRL.g:388:11: AT att= identifier val= paren_chunk
+            // /home/etirelli/workspace/jboss/jbossrules/drools-compiler/src/main/resources/org/drools/lang/DRL.g:388:9: ( AT att= identifier val= paren_chunk )
+            // /home/etirelli/workspace/jboss/jbossrules/drools-compiler/src/main/resources/org/drools/lang/DRL.g:388:11: AT att= identifier val= paren_chunk
             {
             match(input,AT,FOLLOW_AT_in_decl_metadata784); if (failed) return ;
             pushFollow(FOLLOW_identifier_in_decl_metadata788);
@@ -1363,7 +1415,7 @@
 
 
     // $ANTLR start decl_field
-    // /Users/michaelneale/project/jboss-rules/drools-compiler/src/main/resources/org/drools/lang/DRL.g:397:1: decl_field[TypeDeclarationDescr declaration] : id= identifier (init= initialization )? COLON type= qualified_id ( decl_metadata[field] )* ;
+    // /home/etirelli/workspace/jboss/jbossrules/drools-compiler/src/main/resources/org/drools/lang/DRL.g:397:1: decl_field[TypeDeclarationDescr declaration] : id= identifier (init= initialization )? COLON type= qualified_id ( decl_metadata[field] )* ;
     public final void decl_field(TypeDeclarationDescr declaration) throws RecognitionException {
         identifier_return id = null;
 
@@ -1376,14 +1428,14 @@
                 TypeFieldDescr field = null;
 
         try {
-            // /Users/michaelneale/project/jboss-rules/drools-compiler/src/main/resources/org/drools/lang/DRL.g:401:2: (id= identifier (init= initialization )? COLON type= qualified_id ( decl_metadata[field] )* )
-            // /Users/michaelneale/project/jboss-rules/drools-compiler/src/main/resources/org/drools/lang/DRL.g:401:9: id= identifier (init= initialization )? COLON type= qualified_id ( decl_metadata[field] )*
+            // /home/etirelli/workspace/jboss/jbossrules/drools-compiler/src/main/resources/org/drools/lang/DRL.g:401:2: (id= identifier (init= initialization )? COLON type= qualified_id ( decl_metadata[field] )* )
+            // /home/etirelli/workspace/jboss/jbossrules/drools-compiler/src/main/resources/org/drools/lang/DRL.g:401:9: id= identifier (init= initialization )? COLON type= qualified_id ( decl_metadata[field] )*
             {
             pushFollow(FOLLOW_identifier_in_decl_field853);
             id=identifier();
             _fsp--;
             if (failed) return ;
-            // /Users/michaelneale/project/jboss-rules/drools-compiler/src/main/resources/org/drools/lang/DRL.g:401:27: (init= initialization )?
+            // /home/etirelli/workspace/jboss/jbossrules/drools-compiler/src/main/resources/org/drools/lang/DRL.g:401:27: (init= initialization )?
             int alt15=2;
             int LA15_0 = input.LA(1);
 
@@ -1392,7 +1444,7 @@
             }
             switch (alt15) {
                 case 1 :
-                    // /Users/michaelneale/project/jboss-rules/drools-compiler/src/main/resources/org/drools/lang/DRL.g:401:27: init= initialization
+                    // /home/etirelli/workspace/jboss/jbossrules/drools-compiler/src/main/resources/org/drools/lang/DRL.g:401:27: init= initialization
                     {
                     pushFollow(FOLLOW_initialization_in_decl_field857);
                     init=initialization();
@@ -1418,7 +1470,7 @@
               		    declaration.addField( field );
               		
             }
-            // /Users/michaelneale/project/jboss-rules/drools-compiler/src/main/resources/org/drools/lang/DRL.g:409:3: ( decl_metadata[field] )*
+            // /home/etirelli/workspace/jboss/jbossrules/drools-compiler/src/main/resources/org/drools/lang/DRL.g:409:3: ( decl_metadata[field] )*
             loop16:
             do {
                 int alt16=2;
@@ -1431,7 +1483,7 @@
 
                 switch (alt16) {
             	case 1 :
-            	    // /Users/michaelneale/project/jboss-rules/drools-compiler/src/main/resources/org/drools/lang/DRL.g:409:3: decl_metadata[field]
+            	    // /home/etirelli/workspace/jboss/jbossrules/drools-compiler/src/main/resources/org/drools/lang/DRL.g:409:3: decl_metadata[field]
             	    {
             	    pushFollow(FOLLOW_decl_metadata_in_decl_field873);
             	    decl_metadata(field);
@@ -1462,7 +1514,7 @@
 
 
     // $ANTLR start initialization
-    // /Users/michaelneale/project/jboss-rules/drools-compiler/src/main/resources/org/drools/lang/DRL.g:412:1: initialization returns [String expr] : EQUALS val= paren_chunk ;
+    // /home/etirelli/workspace/jboss/jbossrules/drools-compiler/src/main/resources/org/drools/lang/DRL.g:412:1: initialization returns [String expr] : EQUALS val= paren_chunk ;
     public final String initialization() throws RecognitionException {
         String expr = null;
 
@@ -1470,8 +1522,8 @@
 
 
         try {
-            // /Users/michaelneale/project/jboss-rules/drools-compiler/src/main/resources/org/drools/lang/DRL.g:413:2: ( EQUALS val= paren_chunk )
-            // /Users/michaelneale/project/jboss-rules/drools-compiler/src/main/resources/org/drools/lang/DRL.g:413:9: EQUALS val= paren_chunk
+            // /home/etirelli/workspace/jboss/jbossrules/drools-compiler/src/main/resources/org/drools/lang/DRL.g:413:2: ( EQUALS val= paren_chunk )
+            // /home/etirelli/workspace/jboss/jbossrules/drools-compiler/src/main/resources/org/drools/lang/DRL.g:413:9: EQUALS val= paren_chunk
             {
             match(input,EQUALS,FOLLOW_EQUALS_in_initialization900); if (failed) return expr;
             pushFollow(FOLLOW_paren_chunk_in_initialization904);
@@ -1499,7 +1551,7 @@
 
 
     // $ANTLR start query
-    // /Users/michaelneale/project/jboss-rules/drools-compiler/src/main/resources/org/drools/lang/DRL.g:419:1: query returns [QueryDescr query] : QUERY queryName= name ( LEFT_PAREN ( ( (paramType= qualified_id )? paramName= ID ) ( COMMA (paramType= qualified_id )? paramName= ID )* )? RIGHT_PAREN )? normal_lhs_block[lhs] END opt_semicolon ;
+    // /home/etirelli/workspace/jboss/jbossrules/drools-compiler/src/main/resources/org/drools/lang/DRL.g:419:1: query returns [QueryDescr query] : QUERY queryName= name ( LEFT_PAREN ( ( (paramType= qualified_id )? paramName= ID ) ( COMMA (paramType= qualified_id )? paramName= ID )* )? RIGHT_PAREN )? normal_lhs_block[lhs] END opt_semicolon ;
     public final QueryDescr query() throws RecognitionException {
         QueryDescr query = null;
 
@@ -1519,8 +1571,8 @@
          
         	
         try {
-            // /Users/michaelneale/project/jboss-rules/drools-compiler/src/main/resources/org/drools/lang/DRL.g:427:2: ( QUERY queryName= name ( LEFT_PAREN ( ( (paramType= qualified_id )? paramName= ID ) ( COMMA (paramType= qualified_id )? paramName= ID )* )? RIGHT_PAREN )? normal_lhs_block[lhs] END opt_semicolon )
-            // /Users/michaelneale/project/jboss-rules/drools-compiler/src/main/resources/org/drools/lang/DRL.g:428:3: QUERY queryName= name ( LEFT_PAREN ( ( (paramType= qualified_id )? paramName= ID ) ( COMMA (paramType= qualified_id )? paramName= ID )* )? RIGHT_PAREN )? normal_lhs_block[lhs] END opt_semicolon
+            // /home/etirelli/workspace/jboss/jbossrules/drools-compiler/src/main/resources/org/drools/lang/DRL.g:427:2: ( QUERY queryName= name ( LEFT_PAREN ( ( (paramType= qualified_id )? paramName= ID ) ( COMMA (paramType= qualified_id )? paramName= ID )* )? RIGHT_PAREN )? normal_lhs_block[lhs] END opt_semicolon )
+            // /home/etirelli/workspace/jboss/jbossrules/drools-compiler/src/main/resources/org/drools/lang/DRL.g:428:3: QUERY queryName= name ( LEFT_PAREN ( ( (paramType= qualified_id )? paramName= ID ) ( COMMA (paramType= qualified_id )? paramName= ID )* )? RIGHT_PAREN )? normal_lhs_block[lhs] END opt_semicolon
             {
             QUERY7=(Token)input.LT(1);
             match(input,QUERY,FOLLOW_QUERY_in_query938); if (failed) return query;
@@ -1538,15 +1590,15 @@
                                       location.setType( Location.LOCATION_RULE_HEADER );
               		
             }
-            // /Users/michaelneale/project/jboss-rules/drools-compiler/src/main/resources/org/drools/lang/DRL.g:437:3: ( LEFT_PAREN ( ( (paramType= qualified_id )? paramName= ID ) ( COMMA (paramType= qualified_id )? paramName= ID )* )? RIGHT_PAREN )?
+            // /home/etirelli/workspace/jboss/jbossrules/drools-compiler/src/main/resources/org/drools/lang/DRL.g:437:3: ( LEFT_PAREN ( ( (paramType= qualified_id )? paramName= ID ) ( COMMA (paramType= qualified_id )? paramName= ID )* )? RIGHT_PAREN )?
             int alt21=2;
             alt21 = dfa21.predict(input);
             switch (alt21) {
                 case 1 :
-                    // /Users/michaelneale/project/jboss-rules/drools-compiler/src/main/resources/org/drools/lang/DRL.g:437:5: LEFT_PAREN ( ( (paramType= qualified_id )? paramName= ID ) ( COMMA (paramType= qualified_id )? paramName= ID )* )? RIGHT_PAREN
+                    // /home/etirelli/workspace/jboss/jbossrules/drools-compiler/src/main/resources/org/drools/lang/DRL.g:437:5: LEFT_PAREN ( ( (paramType= qualified_id )? paramName= ID ) ( COMMA (paramType= qualified_id )? paramName= ID )* )? RIGHT_PAREN
                     {
                     match(input,LEFT_PAREN,FOLLOW_LEFT_PAREN_in_query952); if (failed) return query;
-                    // /Users/michaelneale/project/jboss-rules/drools-compiler/src/main/resources/org/drools/lang/DRL.g:438:11: ( ( (paramType= qualified_id )? paramName= ID ) ( COMMA (paramType= qualified_id )? paramName= ID )* )?
+                    // /home/etirelli/workspace/jboss/jbossrules/drools-compiler/src/main/resources/org/drools/lang/DRL.g:438:11: ( ( (paramType= qualified_id )? paramName= ID ) ( COMMA (paramType= qualified_id )? paramName= ID )* )?
                     int alt20=2;
                     int LA20_0 = input.LA(1);
 
@@ -1555,15 +1607,15 @@
                     }
                     switch (alt20) {
                         case 1 :
-                            // /Users/michaelneale/project/jboss-rules/drools-compiler/src/main/resources/org/drools/lang/DRL.g:438:13: ( (paramType= qualified_id )? paramName= ID ) ( COMMA (paramType= qualified_id )? paramName= ID )*
+                            // /home/etirelli/workspace/jboss/jbossrules/drools-compiler/src/main/resources/org/drools/lang/DRL.g:438:13: ( (paramType= qualified_id )? paramName= ID ) ( COMMA (paramType= qualified_id )? paramName= ID )*
                             {
                             if ( backtracking==0 ) {
                                params = new ArrayList(); types = new ArrayList();
                             }
-                            // /Users/michaelneale/project/jboss-rules/drools-compiler/src/main/resources/org/drools/lang/DRL.g:440:15: ( (paramType= qualified_id )? paramName= ID )
-                            // /Users/michaelneale/project/jboss-rules/drools-compiler/src/main/resources/org/drools/lang/DRL.g:440:16: (paramType= qualified_id )? paramName= ID
+                            // /home/etirelli/workspace/jboss/jbossrules/drools-compiler/src/main/resources/org/drools/lang/DRL.g:440:15: ( (paramType= qualified_id )? paramName= ID )
+                            // /home/etirelli/workspace/jboss/jbossrules/drools-compiler/src/main/resources/org/drools/lang/DRL.g:440:16: (paramType= qualified_id )? paramName= ID
                             {
-                            // /Users/michaelneale/project/jboss-rules/drools-compiler/src/main/resources/org/drools/lang/DRL.g:440:25: (paramType= qualified_id )?
+                            // /home/etirelli/workspace/jboss/jbossrules/drools-compiler/src/main/resources/org/drools/lang/DRL.g:440:25: (paramType= qualified_id )?
                             int alt17=2;
                             int LA17_0 = input.LA(1);
 
@@ -1576,7 +1628,7 @@
                             }
                             switch (alt17) {
                                 case 1 :
-                                    // /Users/michaelneale/project/jboss-rules/drools-compiler/src/main/resources/org/drools/lang/DRL.g:440:25: paramType= qualified_id
+                                    // /home/etirelli/workspace/jboss/jbossrules/drools-compiler/src/main/resources/org/drools/lang/DRL.g:440:25: paramType= qualified_id
                                     {
                                     pushFollow(FOLLOW_qualified_id_in_query987);
                                     paramType=qualified_id();
@@ -1596,7 +1648,7 @@
 
                             }
 
-                            // /Users/michaelneale/project/jboss-rules/drools-compiler/src/main/resources/org/drools/lang/DRL.g:441:15: ( COMMA (paramType= qualified_id )? paramName= ID )*
+                            // /home/etirelli/workspace/jboss/jbossrules/drools-compiler/src/main/resources/org/drools/lang/DRL.g:441:15: ( COMMA (paramType= qualified_id )? paramName= ID )*
                             loop19:
                             do {
                                 int alt19=2;
@@ -1609,10 +1661,10 @@
 
                                 switch (alt19) {
                             	case 1 :
-                            	    // /Users/michaelneale/project/jboss-rules/drools-compiler/src/main/resources/org/drools/lang/DRL.g:441:16: COMMA (paramType= qualified_id )? paramName= ID
+                            	    // /home/etirelli/workspace/jboss/jbossrules/drools-compiler/src/main/resources/org/drools/lang/DRL.g:441:16: COMMA (paramType= qualified_id )? paramName= ID
                             	    {
                             	    match(input,COMMA,FOLLOW_COMMA_in_query1013); if (failed) return query;
-                            	    // /Users/michaelneale/project/jboss-rules/drools-compiler/src/main/resources/org/drools/lang/DRL.g:441:31: (paramType= qualified_id )?
+                            	    // /home/etirelli/workspace/jboss/jbossrules/drools-compiler/src/main/resources/org/drools/lang/DRL.g:441:31: (paramType= qualified_id )?
                             	    int alt18=2;
                             	    int LA18_0 = input.LA(1);
 
@@ -1625,7 +1677,7 @@
                             	    }
                             	    switch (alt18) {
                             	        case 1 :
-                            	            // /Users/michaelneale/project/jboss-rules/drools-compiler/src/main/resources/org/drools/lang/DRL.g:441:31: paramType= qualified_id
+                            	            // /home/etirelli/workspace/jboss/jbossrules/drools-compiler/src/main/resources/org/drools/lang/DRL.g:441:31: paramType= qualified_id
                             	            {
                             	            pushFollow(FOLLOW_qualified_id_in_query1017);
                             	            paramType=qualified_id();
@@ -1705,7 +1757,7 @@
 
 
     // $ANTLR start template
-    // /Users/michaelneale/project/jboss-rules/drools-compiler/src/main/resources/org/drools/lang/DRL.g:459:1: template returns [FactTemplateDescr template] : TEMPLATE templateName= name opt_semicolon (slot= template_slot )+ END opt_semicolon ;
+    // /home/etirelli/workspace/jboss/jbossrules/drools-compiler/src/main/resources/org/drools/lang/DRL.g:459:1: template returns [FactTemplateDescr template] : TEMPLATE templateName= name opt_semicolon (slot= template_slot )+ END opt_semicolon ;
     public final FactTemplateDescr template() throws RecognitionException {
         FactTemplateDescr template = null;
 
@@ -1720,8 +1772,8 @@
         		template = null;		
         	
         try {
-            // /Users/michaelneale/project/jboss-rules/drools-compiler/src/main/resources/org/drools/lang/DRL.g:463:2: ( TEMPLATE templateName= name opt_semicolon (slot= template_slot )+ END opt_semicolon )
-            // /Users/michaelneale/project/jboss-rules/drools-compiler/src/main/resources/org/drools/lang/DRL.g:464:3: TEMPLATE templateName= name opt_semicolon (slot= template_slot )+ END opt_semicolon
+            // /home/etirelli/workspace/jboss/jbossrules/drools-compiler/src/main/resources/org/drools/lang/DRL.g:463:2: ( TEMPLATE templateName= name opt_semicolon (slot= template_slot )+ END opt_semicolon )
+            // /home/etirelli/workspace/jboss/jbossrules/drools-compiler/src/main/resources/org/drools/lang/DRL.g:464:3: TEMPLATE templateName= name opt_semicolon (slot= template_slot )+ END opt_semicolon
             {
             TEMPLATE9=(Token)input.LT(1);
             match(input,TEMPLATE,FOLLOW_TEMPLATE_in_template1136); if (failed) return template;
@@ -1740,7 +1792,7 @@
               			template.setStartCharacter( ((CommonToken)TEMPLATE9).getStartIndex() );
               		
             }
-            // /Users/michaelneale/project/jboss-rules/drools-compiler/src/main/resources/org/drools/lang/DRL.g:470:3: (slot= template_slot )+
+            // /home/etirelli/workspace/jboss/jbossrules/drools-compiler/src/main/resources/org/drools/lang/DRL.g:470:3: (slot= template_slot )+
             int cnt22=0;
             loop22:
             do {
@@ -1754,7 +1806,7 @@
 
                 switch (alt22) {
             	case 1 :
-            	    // /Users/michaelneale/project/jboss-rules/drools-compiler/src/main/resources/org/drools/lang/DRL.g:471:4: slot= template_slot
+            	    // /home/etirelli/workspace/jboss/jbossrules/drools-compiler/src/main/resources/org/drools/lang/DRL.g:471:4: slot= template_slot
             	    {
             	    pushFollow(FOLLOW_template_slot_in_template1157);
             	    slot=template_slot();
@@ -1806,7 +1858,7 @@
 
 
     // $ANTLR start template_slot
-    // /Users/michaelneale/project/jboss-rules/drools-compiler/src/main/resources/org/drools/lang/DRL.g:482:1: template_slot returns [FieldTemplateDescr field] : fieldType= qualified_id id= identifier opt_semicolon ;
+    // /home/etirelli/workspace/jboss/jbossrules/drools-compiler/src/main/resources/org/drools/lang/DRL.g:482:1: template_slot returns [FieldTemplateDescr field] : fieldType= qualified_id id= identifier opt_semicolon ;
     public final FieldTemplateDescr template_slot() throws RecognitionException {
         FieldTemplateDescr field = null;
 
@@ -1819,8 +1871,8 @@
         		field = null;
         	
         try {
-            // /Users/michaelneale/project/jboss-rules/drools-compiler/src/main/resources/org/drools/lang/DRL.g:486:2: (fieldType= qualified_id id= identifier opt_semicolon )
-            // /Users/michaelneale/project/jboss-rules/drools-compiler/src/main/resources/org/drools/lang/DRL.g:487:11: fieldType= qualified_id id= identifier opt_semicolon
+            // /home/etirelli/workspace/jboss/jbossrules/drools-compiler/src/main/resources/org/drools/lang/DRL.g:486:2: (fieldType= qualified_id id= identifier opt_semicolon )
+            // /home/etirelli/workspace/jboss/jbossrules/drools-compiler/src/main/resources/org/drools/lang/DRL.g:487:11: fieldType= qualified_id id= identifier opt_semicolon
             {
             if ( backtracking==0 ) {
 
@@ -1869,7 +1921,7 @@
 
 
     // $ANTLR start rule
-    // /Users/michaelneale/project/jboss-rules/drools-compiler/src/main/resources/org/drools/lang/DRL.g:505:1: rule returns [RuleDescr rule] : RULE ruleName= name ( rule_attributes[$rule] )? ( WHEN ( COLON )? normal_lhs_block[lhs] )? rhs_chunk[$rule] ;
+    // /home/etirelli/workspace/jboss/jbossrules/drools-compiler/src/main/resources/org/drools/lang/DRL.g:505:1: rule returns [RuleDescr rule] : RULE ruleName= name ( rule_attributes[$rule] )? ( WHEN ( COLON )? normal_lhs_block[lhs] )? rhs_chunk[$rule] ;
     public final RuleDescr rule() throws RecognitionException {
         RuleDescr rule = null;
 
@@ -1883,8 +1935,8 @@
         		AndDescr lhs = null;
         	
         try {
-            // /Users/michaelneale/project/jboss-rules/drools-compiler/src/main/resources/org/drools/lang/DRL.g:510:2: ( RULE ruleName= name ( rule_attributes[$rule] )? ( WHEN ( COLON )? normal_lhs_block[lhs] )? rhs_chunk[$rule] )
-            // /Users/michaelneale/project/jboss-rules/drools-compiler/src/main/resources/org/drools/lang/DRL.g:511:3: RULE ruleName= name ( rule_attributes[$rule] )? ( WHEN ( COLON )? normal_lhs_block[lhs] )? rhs_chunk[$rule]
+            // /home/etirelli/workspace/jboss/jbossrules/drools-compiler/src/main/resources/org/drools/lang/DRL.g:510:2: ( RULE ruleName= name ( rule_attributes[$rule] )? ( WHEN ( COLON )? normal_lhs_block[lhs] )? rhs_chunk[$rule] )
+            // /home/etirelli/workspace/jboss/jbossrules/drools-compiler/src/main/resources/org/drools/lang/DRL.g:511:3: RULE ruleName= name ( rule_attributes[$rule] )? ( WHEN ( COLON )? normal_lhs_block[lhs] )? rhs_chunk[$rule]
             {
             RULE11=(Token)input.LT(1);
             match(input,RULE,FOLLOW_RULE_in_rule1269); if (failed) return rule;
@@ -1903,7 +1955,7 @@
               			rule.setLhs( lhs ); 
               		
             }
-            // /Users/michaelneale/project/jboss-rules/drools-compiler/src/main/resources/org/drools/lang/DRL.g:521:3: ( rule_attributes[$rule] )?
+            // /home/etirelli/workspace/jboss/jbossrules/drools-compiler/src/main/resources/org/drools/lang/DRL.g:521:3: ( rule_attributes[$rule] )?
             int alt23=2;
             int LA23_0 = input.LA(1);
 
@@ -1912,7 +1964,7 @@
             }
             switch (alt23) {
                 case 1 :
-                    // /Users/michaelneale/project/jboss-rules/drools-compiler/src/main/resources/org/drools/lang/DRL.g:521:3: rule_attributes[$rule]
+                    // /home/etirelli/workspace/jboss/jbossrules/drools-compiler/src/main/resources/org/drools/lang/DRL.g:521:3: rule_attributes[$rule]
                     {
                     pushFollow(FOLLOW_rule_attributes_in_rule1282);
                     rule_attributes(rule);
@@ -1924,7 +1976,7 @@
 
             }
 
-            // /Users/michaelneale/project/jboss-rules/drools-compiler/src/main/resources/org/drools/lang/DRL.g:522:3: ( WHEN ( COLON )? normal_lhs_block[lhs] )?
+            // /home/etirelli/workspace/jboss/jbossrules/drools-compiler/src/main/resources/org/drools/lang/DRL.g:522:3: ( WHEN ( COLON )? normal_lhs_block[lhs] )?
             int alt25=2;
             int LA25_0 = input.LA(1);
 
@@ -1933,11 +1985,11 @@
             }
             switch (alt25) {
                 case 1 :
-                    // /Users/michaelneale/project/jboss-rules/drools-compiler/src/main/resources/org/drools/lang/DRL.g:523:4: WHEN ( COLON )? normal_lhs_block[lhs]
+                    // /home/etirelli/workspace/jboss/jbossrules/drools-compiler/src/main/resources/org/drools/lang/DRL.g:523:4: WHEN ( COLON )? normal_lhs_block[lhs]
                     {
                     WHEN12=(Token)input.LT(1);
                     match(input,WHEN,FOLLOW_WHEN_in_rule1294); if (failed) return rule;
-                    // /Users/michaelneale/project/jboss-rules/drools-compiler/src/main/resources/org/drools/lang/DRL.g:523:9: ( COLON )?
+                    // /home/etirelli/workspace/jboss/jbossrules/drools-compiler/src/main/resources/org/drools/lang/DRL.g:523:9: ( COLON )?
                     int alt24=2;
                     int LA24_0 = input.LA(1);
 
@@ -1946,7 +1998,7 @@
                     }
                     switch (alt24) {
                         case 1 :
-                            // /Users/michaelneale/project/jboss-rules/drools-compiler/src/main/resources/org/drools/lang/DRL.g:523:9: COLON
+                            // /home/etirelli/workspace/jboss/jbossrules/drools-compiler/src/main/resources/org/drools/lang/DRL.g:523:9: COLON
                             {
                             match(input,COLON,FOLLOW_COLON_in_rule1296); if (failed) return rule;
 
@@ -1992,16 +2044,16 @@
 
 
     // $ANTLR start rule_attributes
-    // /Users/michaelneale/project/jboss-rules/drools-compiler/src/main/resources/org/drools/lang/DRL.g:536:1: rule_attributes[RuleDescr rule] : ( ATTRIBUTES COLON )? attr= rule_attribute ( ( ',' )? attr= rule_attribute )* ;
+    // /home/etirelli/workspace/jboss/jbossrules/drools-compiler/src/main/resources/org/drools/lang/DRL.g:536:1: rule_attributes[RuleDescr rule] : ( ATTRIBUTES COLON )? attr= rule_attribute ( ( ',' )? attr= rule_attribute )* ;
     public final void rule_attributes(RuleDescr rule) throws RecognitionException {
         AttributeDescr attr = null;
 
 
         try {
-            // /Users/michaelneale/project/jboss-rules/drools-compiler/src/main/resources/org/drools/lang/DRL.g:537:2: ( ( ATTRIBUTES COLON )? attr= rule_attribute ( ( ',' )? attr= rule_attribute )* )
-            // /Users/michaelneale/project/jboss-rules/drools-compiler/src/main/resources/org/drools/lang/DRL.g:538:2: ( ATTRIBUTES COLON )? attr= rule_attribute ( ( ',' )? attr= rule_attribute )*
+            // /home/etirelli/workspace/jboss/jbossrules/drools-compiler/src/main/resources/org/drools/lang/DRL.g:537:2: ( ( ATTRIBUTES COLON )? attr= rule_attribute ( ( ',' )? attr= rule_attribute )* )
+            // /home/etirelli/workspace/jboss/jbossrules/drools-compiler/src/main/resources/org/drools/lang/DRL.g:538:2: ( ATTRIBUTES COLON )? attr= rule_attribute ( ( ',' )? attr= rule_attribute )*
             {
-            // /Users/michaelneale/project/jboss-rules/drools-compiler/src/main/resources/org/drools/lang/DRL.g:538:2: ( ATTRIBUTES COLON )?
+            // /home/etirelli/workspace/jboss/jbossrules/drools-compiler/src/main/resources/org/drools/lang/DRL.g:538:2: ( ATTRIBUTES COLON )?
             int alt26=2;
             int LA26_0 = input.LA(1);
 
@@ -2010,7 +2062,7 @@
             }
             switch (alt26) {
                 case 1 :
-                    // /Users/michaelneale/project/jboss-rules/drools-compiler/src/main/resources/org/drools/lang/DRL.g:538:4: ATTRIBUTES COLON
+                    // /home/etirelli/workspace/jboss/jbossrules/drools-compiler/src/main/resources/org/drools/lang/DRL.g:538:4: ATTRIBUTES COLON
                     {
                     match(input,ATTRIBUTES,FOLLOW_ATTRIBUTES_in_rule_attributes1337); if (failed) return ;
                     match(input,COLON,FOLLOW_COLON_in_rule_attributes1339); if (failed) return ;
@@ -2027,7 +2079,7 @@
             if ( backtracking==0 ) {
                rule.addAttribute( attr ); 
             }
-            // /Users/michaelneale/project/jboss-rules/drools-compiler/src/main/resources/org/drools/lang/DRL.g:540:2: ( ( ',' )? attr= rule_attribute )*
+            // /home/etirelli/workspace/jboss/jbossrules/drools-compiler/src/main/resources/org/drools/lang/DRL.g:540:2: ( ( ',' )? attr= rule_attribute )*
             loop28:
             do {
                 int alt28=2;
@@ -2040,9 +2092,9 @@
 
                 switch (alt28) {
             	case 1 :
-            	    // /Users/michaelneale/project/jboss-rules/drools-compiler/src/main/resources/org/drools/lang/DRL.g:540:4: ( ',' )? attr= rule_attribute
+            	    // /home/etirelli/workspace/jboss/jbossrules/drools-compiler/src/main/resources/org/drools/lang/DRL.g:540:4: ( ',' )? attr= rule_attribute
             	    {
-            	    // /Users/michaelneale/project/jboss-rules/drools-compiler/src/main/resources/org/drools/lang/DRL.g:540:4: ( ',' )?
+            	    // /home/etirelli/workspace/jboss/jbossrules/drools-compiler/src/main/resources/org/drools/lang/DRL.g:540:4: ( ',' )?
             	    int alt27=2;
             	    int LA27_0 = input.LA(1);
 
@@ -2051,7 +2103,7 @@
             	    }
             	    switch (alt27) {
             	        case 1 :
-            	            // /Users/michaelneale/project/jboss-rules/drools-compiler/src/main/resources/org/drools/lang/DRL.g:540:4: ','
+            	            // /home/etirelli/workspace/jboss/jbossrules/drools-compiler/src/main/resources/org/drools/lang/DRL.g:540:4: ','
             	            {
             	            match(input,COMMA,FOLLOW_COMMA_in_rule_attributes1354); if (failed) return ;
 
@@ -2092,7 +2144,7 @@
 
 
     // $ANTLR start rule_attribute
-    // /Users/michaelneale/project/jboss-rules/drools-compiler/src/main/resources/org/drools/lang/DRL.g:545:1: rule_attribute returns [AttributeDescr attr] : (a= salience | a= no_loop | a= agenda_group | a= duration | a= activation_group | a= auto_focus | a= date_effective | a= date_expires | a= enabled | a= ruleflow_group | a= lock_on_active | a= dialect );
+    // /home/etirelli/workspace/jboss/jbossrules/drools-compiler/src/main/resources/org/drools/lang/DRL.g:545:1: rule_attribute returns [AttributeDescr attr] : (a= salience | a= no_loop | a= agenda_group | a= duration | a= activation_group | a= auto_focus | a= date_effective | a= date_expires | a= enabled | a= ruleflow_group | a= lock_on_active | a= dialect );
     public final AttributeDescr rule_attribute() throws RecognitionException {
         AttributeDescr attr = null;
 
@@ -2103,7 +2155,7 @@
         		attr = null;
         	
         try {
-            // /Users/michaelneale/project/jboss-rules/drools-compiler/src/main/resources/org/drools/lang/DRL.g:552:2: (a= salience | a= no_loop | a= agenda_group | a= duration | a= activation_group | a= auto_focus | a= date_effective | a= date_expires | a= enabled | a= ruleflow_group | a= lock_on_active | a= dialect )
+            // /home/etirelli/workspace/jboss/jbossrules/drools-compiler/src/main/resources/org/drools/lang/DRL.g:552:2: (a= salience | a= no_loop | a= agenda_group | a= duration | a= activation_group | a= auto_focus | a= date_effective | a= date_expires | a= enabled | a= ruleflow_group | a= lock_on_active | a= dialect )
             int alt29=12;
             switch ( input.LA(1) ) {
             case SALIENCE:
@@ -2176,7 +2228,7 @@
 
             switch (alt29) {
                 case 1 :
-                    // /Users/michaelneale/project/jboss-rules/drools-compiler/src/main/resources/org/drools/lang/DRL.g:552:4: a= salience
+                    // /home/etirelli/workspace/jboss/jbossrules/drools-compiler/src/main/resources/org/drools/lang/DRL.g:552:4: a= salience
                     {
                     pushFollow(FOLLOW_salience_in_rule_attribute1396);
                     a=salience();
@@ -2186,7 +2238,7 @@
                     }
                     break;
                 case 2 :
-                    // /Users/michaelneale/project/jboss-rules/drools-compiler/src/main/resources/org/drools/lang/DRL.g:553:4: a= no_loop
+                    // /home/etirelli/workspace/jboss/jbossrules/drools-compiler/src/main/resources/org/drools/lang/DRL.g:553:4: a= no_loop
                     {
                     pushFollow(FOLLOW_no_loop_in_rule_attribute1404);
                     a=no_loop();
@@ -2196,7 +2248,7 @@
                     }
                     break;
                 case 3 :
-                    // /Users/michaelneale/project/jboss-rules/drools-compiler/src/main/resources/org/drools/lang/DRL.g:554:4: a= agenda_group
+                    // /home/etirelli/workspace/jboss/jbossrules/drools-compiler/src/main/resources/org/drools/lang/DRL.g:554:4: a= agenda_group
                     {
                     pushFollow(FOLLOW_agenda_group_in_rule_attribute1413);
                     a=agenda_group();
@@ -2206,7 +2258,7 @@
                     }
                     break;
                 case 4 :
-                    // /Users/michaelneale/project/jboss-rules/drools-compiler/src/main/resources/org/drools/lang/DRL.g:555:4: a= duration
+                    // /home/etirelli/workspace/jboss/jbossrules/drools-compiler/src/main/resources/org/drools/lang/DRL.g:555:4: a= duration
                     {
                     pushFollow(FOLLOW_duration_in_rule_attribute1422);
                     a=duration();
@@ -2216,7 +2268,7 @@
                     }
                     break;
                 case 5 :
-                    // /Users/michaelneale/project/jboss-rules/drools-compiler/src/main/resources/org/drools/lang/DRL.g:556:4: a= activation_group
+                    // /home/etirelli/workspace/jboss/jbossrules/drools-compiler/src/main/resources/org/drools/lang/DRL.g:556:4: a= activation_group
                     {
                     pushFollow(FOLLOW_activation_group_in_rule_attribute1431);
                     a=activation_group();
@@ -2226,7 +2278,7 @@
                     }
                     break;
                 case 6 :
-                    // /Users/michaelneale/project/jboss-rules/drools-compiler/src/main/resources/org/drools/lang/DRL.g:557:4: a= auto_focus
+                    // /home/etirelli/workspace/jboss/jbossrules/drools-compiler/src/main/resources/org/drools/lang/DRL.g:557:4: a= auto_focus
                     {
                     pushFollow(FOLLOW_auto_focus_in_rule_attribute1439);
                     a=auto_focus();
@@ -2236,7 +2288,7 @@
                     }
                     break;
                 case 7 :
-                    // /Users/michaelneale/project/jboss-rules/drools-compiler/src/main/resources/org/drools/lang/DRL.g:558:4: a= date_effective
+                    // /home/etirelli/workspace/jboss/jbossrules/drools-compiler/src/main/resources/org/drools/lang/DRL.g:558:4: a= date_effective
                     {
                     pushFollow(FOLLOW_date_effective_in_rule_attribute1447);
                     a=date_effective();
@@ -2246,7 +2298,7 @@
                     }
                     break;
                 case 8 :
-                    // /Users/michaelneale/project/jboss-rules/drools-compiler/src/main/resources/org/drools/lang/DRL.g:559:4: a= date_expires
+                    // /home/etirelli/workspace/jboss/jbossrules/drools-compiler/src/main/resources/org/drools/lang/DRL.g:559:4: a= date_expires
                     {
                     pushFollow(FOLLOW_date_expires_in_rule_attribute1455);
                     a=date_expires();
@@ -2256,7 +2308,7 @@
                     }
                     break;
                 case 9 :
-                    // /Users/michaelneale/project/jboss-rules/drools-compiler/src/main/resources/org/drools/lang/DRL.g:560:4: a= enabled
+                    // /home/etirelli/workspace/jboss/jbossrules/drools-compiler/src/main/resources/org/drools/lang/DRL.g:560:4: a= enabled
                     {
                     pushFollow(FOLLOW_enabled_in_rule_attribute1463);
                     a=enabled();
@@ -2266,7 +2318,7 @@
                     }
                     break;
                 case 10 :
-                    // /Users/michaelneale/project/jboss-rules/drools-compiler/src/main/resources/org/drools/lang/DRL.g:561:4: a= ruleflow_group
+                    // /home/etirelli/workspace/jboss/jbossrules/drools-compiler/src/main/resources/org/drools/lang/DRL.g:561:4: a= ruleflow_group
                     {
                     pushFollow(FOLLOW_ruleflow_group_in_rule_attribute1471);
                     a=ruleflow_group();
@@ -2276,7 +2328,7 @@
                     }
                     break;
                 case 11 :
-                    // /Users/michaelneale/project/jboss-rules/drools-compiler/src/main/resources/org/drools/lang/DRL.g:562:4: a= lock_on_active
+                    // /home/etirelli/workspace/jboss/jbossrules/drools-compiler/src/main/resources/org/drools/lang/DRL.g:562:4: a= lock_on_active
                     {
                     pushFollow(FOLLOW_lock_on_active_in_rule_attribute1479);
                     a=lock_on_active();
@@ -2286,7 +2338,7 @@
                     }
                     break;
                 case 12 :
-                    // /Users/michaelneale/project/jboss-rules/drools-compiler/src/main/resources/org/drools/lang/DRL.g:563:4: a= dialect
+                    // /home/etirelli/workspace/jboss/jbossrules/drools-compiler/src/main/resources/org/drools/lang/DRL.g:563:4: a= dialect
                     {
                     pushFollow(FOLLOW_dialect_in_rule_attribute1486);
                     a=dialect();
@@ -2315,7 +2367,7 @@
 
 
     // $ANTLR start date_effective
-    // /Users/michaelneale/project/jboss-rules/drools-compiler/src/main/resources/org/drools/lang/DRL.g:566:1: date_effective returns [AttributeDescr descr] : DATE_EFFECTIVE STRING ;
+    // /home/etirelli/workspace/jboss/jbossrules/drools-compiler/src/main/resources/org/drools/lang/DRL.g:566:1: date_effective returns [AttributeDescr descr] : DATE_EFFECTIVE STRING ;
     public final AttributeDescr date_effective() throws RecognitionException {
         AttributeDescr descr = null;
 
@@ -2326,8 +2378,8 @@
         		descr = null;
         	
         try {
-            // /Users/michaelneale/project/jboss-rules/drools-compiler/src/main/resources/org/drools/lang/DRL.g:570:2: ( DATE_EFFECTIVE STRING )
-            // /Users/michaelneale/project/jboss-rules/drools-compiler/src/main/resources/org/drools/lang/DRL.g:571:3: DATE_EFFECTIVE STRING
+            // /home/etirelli/workspace/jboss/jbossrules/drools-compiler/src/main/resources/org/drools/lang/DRL.g:570:2: ( DATE_EFFECTIVE STRING )
+            // /home/etirelli/workspace/jboss/jbossrules/drools-compiler/src/main/resources/org/drools/lang/DRL.g:571:3: DATE_EFFECTIVE STRING
             {
             DATE_EFFECTIVE14=(Token)input.LT(1);
             match(input,DATE_EFFECTIVE,FOLLOW_DATE_EFFECTIVE_in_date_effective1512); if (failed) return descr;
@@ -2357,7 +2409,7 @@
 
 
     // $ANTLR start date_expires
-    // /Users/michaelneale/project/jboss-rules/drools-compiler/src/main/resources/org/drools/lang/DRL.g:581:1: date_expires returns [AttributeDescr descr] : DATE_EXPIRES STRING ;
+    // /home/etirelli/workspace/jboss/jbossrules/drools-compiler/src/main/resources/org/drools/lang/DRL.g:581:1: date_expires returns [AttributeDescr descr] : DATE_EXPIRES STRING ;
     public final AttributeDescr date_expires() throws RecognitionException {
         AttributeDescr descr = null;
 
@@ -2368,8 +2420,8 @@
         		descr = null;
         	
         try {
-            // /Users/michaelneale/project/jboss-rules/drools-compiler/src/main/resources/org/drools/lang/DRL.g:585:2: ( DATE_EXPIRES STRING )
-            // /Users/michaelneale/project/jboss-rules/drools-compiler/src/main/resources/org/drools/lang/DRL.g:585:4: DATE_EXPIRES STRING
+            // /home/etirelli/workspace/jboss/jbossrules/drools-compiler/src/main/resources/org/drools/lang/DRL.g:585:2: ( DATE_EXPIRES STRING )
+            // /home/etirelli/workspace/jboss/jbossrules/drools-compiler/src/main/resources/org/drools/lang/DRL.g:585:4: DATE_EXPIRES STRING
             {
             DATE_EXPIRES16=(Token)input.LT(1);
             match(input,DATE_EXPIRES,FOLLOW_DATE_EXPIRES_in_date_expires1543); if (failed) return descr;
@@ -2399,7 +2451,7 @@
 
 
     // $ANTLR start enabled
-    // /Users/michaelneale/project/jboss-rules/drools-compiler/src/main/resources/org/drools/lang/DRL.g:594:1: enabled returns [AttributeDescr descr] : ENABLED BOOL ;
+    // /home/etirelli/workspace/jboss/jbossrules/drools-compiler/src/main/resources/org/drools/lang/DRL.g:594:1: enabled returns [AttributeDescr descr] : ENABLED BOOL ;
     public final AttributeDescr enabled() throws RecognitionException {
         AttributeDescr descr = null;
 
@@ -2410,8 +2462,8 @@
         		descr = null;
         	
         try {
-            // /Users/michaelneale/project/jboss-rules/drools-compiler/src/main/resources/org/drools/lang/DRL.g:598:2: ( ENABLED BOOL )
-            // /Users/michaelneale/project/jboss-rules/drools-compiler/src/main/resources/org/drools/lang/DRL.g:598:5: ENABLED BOOL
+            // /home/etirelli/workspace/jboss/jbossrules/drools-compiler/src/main/resources/org/drools/lang/DRL.g:598:2: ( ENABLED BOOL )
+            // /home/etirelli/workspace/jboss/jbossrules/drools-compiler/src/main/resources/org/drools/lang/DRL.g:598:5: ENABLED BOOL
             {
             ENABLED18=(Token)input.LT(1);
             match(input,ENABLED,FOLLOW_ENABLED_in_enabled1574); if (failed) return descr;
@@ -2441,7 +2493,7 @@
 
 
     // $ANTLR start salience
-    // /Users/michaelneale/project/jboss-rules/drools-compiler/src/main/resources/org/drools/lang/DRL.g:607:1: salience returns [AttributeDescr descr] : SALIENCE ( INT | txt= paren_chunk ) ;
+    // /home/etirelli/workspace/jboss/jbossrules/drools-compiler/src/main/resources/org/drools/lang/DRL.g:607:1: salience returns [AttributeDescr descr] : SALIENCE ( INT | txt= paren_chunk ) ;
     public final AttributeDescr salience() throws RecognitionException {
         AttributeDescr descr = null;
 
@@ -2454,8 +2506,8 @@
         		descr = null;
         	
         try {
-            // /Users/michaelneale/project/jboss-rules/drools-compiler/src/main/resources/org/drools/lang/DRL.g:611:2: ( SALIENCE ( INT | txt= paren_chunk ) )
-            // /Users/michaelneale/project/jboss-rules/drools-compiler/src/main/resources/org/drools/lang/DRL.g:612:3: SALIENCE ( INT | txt= paren_chunk )
+            // /home/etirelli/workspace/jboss/jbossrules/drools-compiler/src/main/resources/org/drools/lang/DRL.g:611:2: ( SALIENCE ( INT | txt= paren_chunk ) )
+            // /home/etirelli/workspace/jboss/jbossrules/drools-compiler/src/main/resources/org/drools/lang/DRL.g:612:3: SALIENCE ( INT | txt= paren_chunk )
             {
             SALIENCE19=(Token)input.LT(1);
             match(input,SALIENCE,FOLLOW_SALIENCE_in_salience1609); if (failed) return descr;
@@ -2466,7 +2518,7 @@
               			descr.setStartCharacter( ((CommonToken)SALIENCE19).getStartIndex() );
               		
             }
-            // /Users/michaelneale/project/jboss-rules/drools-compiler/src/main/resources/org/drools/lang/DRL.g:618:3: ( INT | txt= paren_chunk )
+            // /home/etirelli/workspace/jboss/jbossrules/drools-compiler/src/main/resources/org/drools/lang/DRL.g:618:3: ( INT | txt= paren_chunk )
             int alt30=2;
             int LA30_0 = input.LA(1);
 
@@ -2485,7 +2537,7 @@
             }
             switch (alt30) {
                 case 1 :
-                    // /Users/michaelneale/project/jboss-rules/drools-compiler/src/main/resources/org/drools/lang/DRL.g:618:5: INT
+                    // /home/etirelli/workspace/jboss/jbossrules/drools-compiler/src/main/resources/org/drools/lang/DRL.g:618:5: INT
                     {
                     INT20=(Token)input.LT(1);
                     match(input,INT,FOLLOW_INT_in_salience1620); if (failed) return descr;
@@ -2499,7 +2551,7 @@
                     }
                     break;
                 case 2 :
-                    // /Users/michaelneale/project/jboss-rules/drools-compiler/src/main/resources/org/drools/lang/DRL.g:623:5: txt= paren_chunk
+                    // /home/etirelli/workspace/jboss/jbossrules/drools-compiler/src/main/resources/org/drools/lang/DRL.g:623:5: txt= paren_chunk
                     {
                     pushFollow(FOLLOW_paren_chunk_in_salience1635);
                     txt=paren_chunk();
@@ -2533,7 +2585,7 @@
 
 
     // $ANTLR start no_loop
-    // /Users/michaelneale/project/jboss-rules/drools-compiler/src/main/resources/org/drools/lang/DRL.g:631:1: no_loop returns [AttributeDescr descr] : NO_LOOP ( BOOL )? ;
+    // /home/etirelli/workspace/jboss/jbossrules/drools-compiler/src/main/resources/org/drools/lang/DRL.g:631:1: no_loop returns [AttributeDescr descr] : NO_LOOP ( BOOL )? ;
     public final AttributeDescr no_loop() throws RecognitionException {
         AttributeDescr descr = null;
 
@@ -2544,8 +2596,8 @@
         		descr = null;
         	
         try {
-            // /Users/michaelneale/project/jboss-rules/drools-compiler/src/main/resources/org/drools/lang/DRL.g:635:2: ( NO_LOOP ( BOOL )? )
-            // /Users/michaelneale/project/jboss-rules/drools-compiler/src/main/resources/org/drools/lang/DRL.g:635:4: NO_LOOP ( BOOL )?
+            // /home/etirelli/workspace/jboss/jbossrules/drools-compiler/src/main/resources/org/drools/lang/DRL.g:635:2: ( NO_LOOP ( BOOL )? )
+            // /home/etirelli/workspace/jboss/jbossrules/drools-compiler/src/main/resources/org/drools/lang/DRL.g:635:4: NO_LOOP ( BOOL )?
             {
             NO_LOOP21=(Token)input.LT(1);
             match(input,NO_LOOP,FOLLOW_NO_LOOP_in_no_loop1665); if (failed) return descr;
@@ -2557,7 +2609,7 @@
               			descr.setEndCharacter( ((CommonToken)NO_LOOP21).getStopIndex() );
               		
             }
-            // /Users/michaelneale/project/jboss-rules/drools-compiler/src/main/resources/org/drools/lang/DRL.g:642:3: ( BOOL )?
+            // /home/etirelli/workspace/jboss/jbossrules/drools-compiler/src/main/resources/org/drools/lang/DRL.g:642:3: ( BOOL )?
             int alt31=2;
             int LA31_0 = input.LA(1);
 
@@ -2566,7 +2618,7 @@
             }
             switch (alt31) {
                 case 1 :
-                    // /Users/michaelneale/project/jboss-rules/drools-compiler/src/main/resources/org/drools/lang/DRL.g:642:5: BOOL
+                    // /home/etirelli/workspace/jboss/jbossrules/drools-compiler/src/main/resources/org/drools/lang/DRL.g:642:5: BOOL
                     {
                     BOOL22=(Token)input.LT(1);
                     match(input,BOOL,FOLLOW_BOOL_in_no_loop1678); if (failed) return descr;
@@ -2598,7 +2650,7 @@
 
 
     // $ANTLR start auto_focus
-    // /Users/michaelneale/project/jboss-rules/drools-compiler/src/main/resources/org/drools/lang/DRL.g:650:1: auto_focus returns [AttributeDescr descr] : AUTO_FOCUS ( BOOL )? ;
+    // /home/etirelli/workspace/jboss/jbossrules/drools-compiler/src/main/resources/org/drools/lang/DRL.g:650:1: auto_focus returns [AttributeDescr descr] : AUTO_FOCUS ( BOOL )? ;
     public final AttributeDescr auto_focus() throws RecognitionException {
         AttributeDescr descr = null;
 
@@ -2609,8 +2661,8 @@
         		descr = null;
         	
         try {
-            // /Users/michaelneale/project/jboss-rules/drools-compiler/src/main/resources/org/drools/lang/DRL.g:654:2: ( AUTO_FOCUS ( BOOL )? )
-            // /Users/michaelneale/project/jboss-rules/drools-compiler/src/main/resources/org/drools/lang/DRL.g:654:4: AUTO_FOCUS ( BOOL )?
+            // /home/etirelli/workspace/jboss/jbossrules/drools-compiler/src/main/resources/org/drools/lang/DRL.g:654:2: ( AUTO_FOCUS ( BOOL )? )
+            // /home/etirelli/workspace/jboss/jbossrules/drools-compiler/src/main/resources/org/drools/lang/DRL.g:654:4: AUTO_FOCUS ( BOOL )?
             {
             AUTO_FOCUS23=(Token)input.LT(1);
             match(input,AUTO_FOCUS,FOLLOW_AUTO_FOCUS_in_auto_focus1713); if (failed) return descr;
@@ -2622,7 +2674,7 @@
               			descr.setEndCharacter( ((CommonToken)AUTO_FOCUS23).getStopIndex() );
               		
             }
-            // /Users/michaelneale/project/jboss-rules/drools-compiler/src/main/resources/org/drools/lang/DRL.g:661:3: ( BOOL )?
+            // /home/etirelli/workspace/jboss/jbossrules/drools-compiler/src/main/resources/org/drools/lang/DRL.g:661:3: ( BOOL )?
             int alt32=2;
             int LA32_0 = input.LA(1);
 
@@ -2631,7 +2683,7 @@
             }
             switch (alt32) {
                 case 1 :
-                    // /Users/michaelneale/project/jboss-rules/drools-compiler/src/main/resources/org/drools/lang/DRL.g:661:5: BOOL
+                    // /home/etirelli/workspace/jboss/jbossrules/drools-compiler/src/main/resources/org/drools/lang/DRL.g:661:5: BOOL
                     {
                     BOOL24=(Token)input.LT(1);
                     match(input,BOOL,FOLLOW_BOOL_in_auto_focus1726); if (failed) return descr;
@@ -2663,7 +2715,7 @@
 
 
     // $ANTLR start activation_group
-    // /Users/michaelneale/project/jboss-rules/drools-compiler/src/main/resources/org/drools/lang/DRL.g:669:1: activation_group returns [AttributeDescr descr] : ACTIVATION_GROUP STRING ;
+    // /home/etirelli/workspace/jboss/jbossrules/drools-compiler/src/main/resources/org/drools/lang/DRL.g:669:1: activation_group returns [AttributeDescr descr] : ACTIVATION_GROUP STRING ;
     public final AttributeDescr activation_group() throws RecognitionException {
         AttributeDescr descr = null;
 
@@ -2674,8 +2726,8 @@
         		descr = null;
         	
         try {
-            // /Users/michaelneale/project/jboss-rules/drools-compiler/src/main/resources/org/drools/lang/DRL.g:673:2: ( ACTIVATION_GROUP STRING )
-            // /Users/michaelneale/project/jboss-rules/drools-compiler/src/main/resources/org/drools/lang/DRL.g:673:4: ACTIVATION_GROUP STRING
+            // /home/etirelli/workspace/jboss/jbossrules/drools-compiler/src/main/resources/org/drools/lang/DRL.g:673:2: ( ACTIVATION_GROUP STRING )
+            // /home/etirelli/workspace/jboss/jbossrules/drools-compiler/src/main/resources/org/drools/lang/DRL.g:673:4: ACTIVATION_GROUP STRING
             {
             ACTIVATION_GROUP26=(Token)input.LT(1);
             match(input,ACTIVATION_GROUP,FOLLOW_ACTIVATION_GROUP_in_activation_group1762); if (failed) return descr;
@@ -2705,7 +2757,7 @@
 
 
     // $ANTLR start ruleflow_group
-    // /Users/michaelneale/project/jboss-rules/drools-compiler/src/main/resources/org/drools/lang/DRL.g:682:1: ruleflow_group returns [AttributeDescr descr] : RULEFLOW_GROUP STRING ;
+    // /home/etirelli/workspace/jboss/jbossrules/drools-compiler/src/main/resources/org/drools/lang/DRL.g:682:1: ruleflow_group returns [AttributeDescr descr] : RULEFLOW_GROUP STRING ;
     public final AttributeDescr ruleflow_group() throws RecognitionException {
         AttributeDescr descr = null;
 
@@ -2716,8 +2768,8 @@
         		descr = null;
         	
         try {
-            // /Users/michaelneale/project/jboss-rules/drools-compiler/src/main/resources/org/drools/lang/DRL.g:686:2: ( RULEFLOW_GROUP STRING )
-            // /Users/michaelneale/project/jboss-rules/drools-compiler/src/main/resources/org/drools/lang/DRL.g:686:4: RULEFLOW_GROUP STRING
+            // /home/etirelli/workspace/jboss/jbossrules/drools-compiler/src/main/resources/org/drools/lang/DRL.g:686:2: ( RULEFLOW_GROUP STRING )
+            // /home/etirelli/workspace/jboss/jbossrules/drools-compiler/src/main/resources/org/drools/lang/DRL.g:686:4: RULEFLOW_GROUP STRING
             {
             RULEFLOW_GROUP28=(Token)input.LT(1);
             match(input,RULEFLOW_GROUP,FOLLOW_RULEFLOW_GROUP_in_ruleflow_group1792); if (failed) return descr;
@@ -2747,7 +2799,7 @@
 
 
     // $ANTLR start agenda_group
-    // /Users/michaelneale/project/jboss-rules/drools-compiler/src/main/resources/org/drools/lang/DRL.g:695:1: agenda_group returns [AttributeDescr descr] : AGENDA_GROUP STRING ;
+    // /home/etirelli/workspace/jboss/jbossrules/drools-compiler/src/main/resources/org/drools/lang/DRL.g:695:1: agenda_group returns [AttributeDescr descr] : AGENDA_GROUP STRING ;
     public final AttributeDescr agenda_group() throws RecognitionException {
         AttributeDescr descr = null;
 
@@ -2758,8 +2810,8 @@
         		descr = null;
         	
         try {
-            // /Users/michaelneale/project/jboss-rules/drools-compiler/src/main/resources/org/drools/lang/DRL.g:699:2: ( AGENDA_GROUP STRING )
-            // /Users/michaelneale/project/jboss-rules/drools-compiler/src/main/resources/org/drools/lang/DRL.g:699:4: AGENDA_GROUP STRING
+            // /home/etirelli/workspace/jboss/jbossrules/drools-compiler/src/main/resources/org/drools/lang/DRL.g:699:2: ( AGENDA_GROUP STRING )
+            // /home/etirelli/workspace/jboss/jbossrules/drools-compiler/src/main/resources/org/drools/lang/DRL.g:699:4: AGENDA_GROUP STRING
             {
             AGENDA_GROUP30=(Token)input.LT(1);
             match(input,AGENDA_GROUP,FOLLOW_AGENDA_GROUP_in_agenda_group1822); if (failed) return descr;
@@ -2789,7 +2841,7 @@
 
 
     // $ANTLR start duration
-    // /Users/michaelneale/project/jboss-rules/drools-compiler/src/main/resources/org/drools/lang/DRL.g:708:1: duration returns [AttributeDescr descr] : DURATION INT ;
+    // /home/etirelli/workspace/jboss/jbossrules/drools-compiler/src/main/resources/org/drools/lang/DRL.g:708:1: duration returns [AttributeDescr descr] : DURATION INT ;
     public final AttributeDescr duration() throws RecognitionException {
         AttributeDescr descr = null;
 
@@ -2800,8 +2852,8 @@
         		descr = null;
         	
         try {
-            // /Users/michaelneale/project/jboss-rules/drools-compiler/src/main/resources/org/drools/lang/DRL.g:712:2: ( DURATION INT )
-            // /Users/michaelneale/project/jboss-rules/drools-compiler/src/main/resources/org/drools/lang/DRL.g:712:4: DURATION INT
+            // /home/etirelli/workspace/jboss/jbossrules/drools-compiler/src/main/resources/org/drools/lang/DRL.g:712:2: ( DURATION INT )
+            // /home/etirelli/workspace/jboss/jbossrules/drools-compiler/src/main/resources/org/drools/lang/DRL.g:712:4: DURATION INT
             {
             DURATION32=(Token)input.LT(1);
             match(input,DURATION,FOLLOW_DURATION_in_duration1852); if (failed) return descr;
@@ -2831,7 +2883,7 @@
 
 
     // $ANTLR start dialect
-    // /Users/michaelneale/project/jboss-rules/drools-compiler/src/main/resources/org/drools/lang/DRL.g:721:1: dialect returns [AttributeDescr descr] : DIALECT STRING ;
+    // /home/etirelli/workspace/jboss/jbossrules/drools-compiler/src/main/resources/org/drools/lang/DRL.g:721:1: dialect returns [AttributeDescr descr] : DIALECT STRING ;
     public final AttributeDescr dialect() throws RecognitionException {
         AttributeDescr descr = null;
 
@@ -2842,8 +2894,8 @@
         		descr = null;
         	
         try {
-            // /Users/michaelneale/project/jboss-rules/drools-compiler/src/main/resources/org/drools/lang/DRL.g:725:2: ( DIALECT STRING )
-            // /Users/michaelneale/project/jboss-rules/drools-compiler/src/main/resources/org/drools/lang/DRL.g:725:4: DIALECT STRING
+            // /home/etirelli/workspace/jboss/jbossrules/drools-compiler/src/main/resources/org/drools/lang/DRL.g:725:2: ( DIALECT STRING )
+            // /home/etirelli/workspace/jboss/jbossrules/drools-compiler/src/main/resources/org/drools/lang/DRL.g:725:4: DIALECT STRING
             {
             DIALECT34=(Token)input.LT(1);
             match(input,DIALECT,FOLLOW_DIALECT_in_dialect1882); if (failed) return descr;
@@ -2873,7 +2925,7 @@
 
 
     // $ANTLR start lock_on_active
-    // /Users/michaelneale/project/jboss-rules/drools-compiler/src/main/resources/org/drools/lang/DRL.g:734:1: lock_on_active returns [AttributeDescr descr] : LOCK_ON_ACTIVE ( BOOL )? ;
+    // /home/etirelli/workspace/jboss/jbossrules/drools-compiler/src/main/resources/org/drools/lang/DRL.g:734:1: lock_on_active returns [AttributeDescr descr] : LOCK_ON_ACTIVE ( BOOL )? ;
     public final AttributeDescr lock_on_active() throws RecognitionException {
         AttributeDescr descr = null;
 
@@ -2884,8 +2936,8 @@
         		descr = null;
         	
         try {
-            // /Users/michaelneale/project/jboss-rules/drools-compiler/src/main/resources/org/drools/lang/DRL.g:738:2: ( LOCK_ON_ACTIVE ( BOOL )? )
-            // /Users/michaelneale/project/jboss-rules/drools-compiler/src/main/resources/org/drools/lang/DRL.g:738:4: LOCK_ON_ACTIVE ( BOOL )?
+            // /home/etirelli/workspace/jboss/jbossrules/drools-compiler/src/main/resources/org/drools/lang/DRL.g:738:2: ( LOCK_ON_ACTIVE ( BOOL )? )
+            // /home/etirelli/workspace/jboss/jbossrules/drools-compiler/src/main/resources/org/drools/lang/DRL.g:738:4: LOCK_ON_ACTIVE ( BOOL )?
             {
             LOCK_ON_ACTIVE35=(Token)input.LT(1);
             match(input,LOCK_ON_ACTIVE,FOLLOW_LOCK_ON_ACTIVE_in_lock_on_active1916); if (failed) return descr;
@@ -2897,7 +2949,7 @@
               			descr.setEndCharacter( ((CommonToken)LOCK_ON_ACTIVE35).getStopIndex() );
               		
             }
-            // /Users/michaelneale/project/jboss-rules/drools-compiler/src/main/resources/org/drools/lang/DRL.g:745:3: ( BOOL )?
+            // /home/etirelli/workspace/jboss/jbossrules/drools-compiler/src/main/resources/org/drools/lang/DRL.g:745:3: ( BOOL )?
             int alt33=2;
             int LA33_0 = input.LA(1);
 
@@ -2906,7 +2958,7 @@
             }
             switch (alt33) {
                 case 1 :
-                    // /Users/michaelneale/project/jboss-rules/drools-compiler/src/main/resources/org/drools/lang/DRL.g:745:5: BOOL
+                    // /home/etirelli/workspace/jboss/jbossrules/drools-compiler/src/main/resources/org/drools/lang/DRL.g:745:5: BOOL
                     {
                     BOOL36=(Token)input.LT(1);
                     match(input,BOOL,FOLLOW_BOOL_in_lock_on_active1929); if (failed) return descr;
@@ -2938,7 +2990,7 @@
 
 
     // $ANTLR start normal_lhs_block
-    // /Users/michaelneale/project/jboss-rules/drools-compiler/src/main/resources/org/drools/lang/DRL.g:753:1: normal_lhs_block[AndDescr descr] : (d= lhs[$descr] )* ;
+    // /home/etirelli/workspace/jboss/jbossrules/drools-compiler/src/main/resources/org/drools/lang/DRL.g:753:1: normal_lhs_block[AndDescr descr] : (d= lhs[$descr] )* ;
     public final void normal_lhs_block(AndDescr descr) throws RecognitionException {
         BaseDescr d = null;
 
@@ -2947,10 +2999,10 @@
         		location.setType( Location.LOCATION_LHS_BEGIN_OF_CONDITION );
         	
         try {
-            // /Users/michaelneale/project/jboss-rules/drools-compiler/src/main/resources/org/drools/lang/DRL.g:757:2: ( (d= lhs[$descr] )* )
-            // /Users/michaelneale/project/jboss-rules/drools-compiler/src/main/resources/org/drools/lang/DRL.g:758:3: (d= lhs[$descr] )*
+            // /home/etirelli/workspace/jboss/jbossrules/drools-compiler/src/main/resources/org/drools/lang/DRL.g:757:2: ( (d= lhs[$descr] )* )
+            // /home/etirelli/workspace/jboss/jbossrules/drools-compiler/src/main/resources/org/drools/lang/DRL.g:758:3: (d= lhs[$descr] )*
             {
-            // /Users/michaelneale/project/jboss-rules/drools-compiler/src/main/resources/org/drools/lang/DRL.g:758:3: (d= lhs[$descr] )*
+            // /home/etirelli/workspace/jboss/jbossrules/drools-compiler/src/main/resources/org/drools/lang/DRL.g:758:3: (d= lhs[$descr] )*
             loop34:
             do {
                 int alt34=2;
@@ -2963,7 +3015,7 @@
 
                 switch (alt34) {
             	case 1 :
-            	    // /Users/michaelneale/project/jboss-rules/drools-compiler/src/main/resources/org/drools/lang/DRL.g:758:5: d= lhs[$descr]
+            	    // /home/etirelli/workspace/jboss/jbossrules/drools-compiler/src/main/resources/org/drools/lang/DRL.g:758:5: d= lhs[$descr]
             	    {
             	    pushFollow(FOLLOW_lhs_in_normal_lhs_block1968);
             	    d=lhs(descr);
@@ -2997,7 +3049,7 @@
 
 
     // $ANTLR start lhs
-    // /Users/michaelneale/project/jboss-rules/drools-compiler/src/main/resources/org/drools/lang/DRL.g:764:1: lhs[ConditionalElementDescr ce] returns [BaseDescr d] : l= lhs_or ;
+    // /home/etirelli/workspace/jboss/jbossrules/drools-compiler/src/main/resources/org/drools/lang/DRL.g:764:1: lhs[ConditionalElementDescr ce] returns [BaseDescr d] : l= lhs_or ;
     public final BaseDescr lhs(ConditionalElementDescr ce) throws RecognitionException {
         BaseDescr d = null;
 
@@ -3008,8 +3060,8 @@
         		d =null;
         	
         try {
-            // /Users/michaelneale/project/jboss-rules/drools-compiler/src/main/resources/org/drools/lang/DRL.g:768:2: (l= lhs_or )
-            // /Users/michaelneale/project/jboss-rules/drools-compiler/src/main/resources/org/drools/lang/DRL.g:768:4: l= lhs_or
+            // /home/etirelli/workspace/jboss/jbossrules/drools-compiler/src/main/resources/org/drools/lang/DRL.g:768:2: (l= lhs_or )
+            // /home/etirelli/workspace/jboss/jbossrules/drools-compiler/src/main/resources/org/drools/lang/DRL.g:768:4: l= lhs_or
             {
             pushFollow(FOLLOW_lhs_or_in_lhs2005);
             l=lhs_or();
@@ -3034,7 +3086,7 @@
 
 
     // $ANTLR start lhs_or
-    // /Users/michaelneale/project/jboss-rules/drools-compiler/src/main/resources/org/drools/lang/DRL.g:772:1: lhs_or returns [BaseDescr d] : ( LEFT_PAREN OR (lhsand= lhs_and )+ RIGHT_PAREN | left= lhs_and ( ( OR | DOUBLE_PIPE ) right= lhs_and )* );
+    // /home/etirelli/workspace/jboss/jbossrules/drools-compiler/src/main/resources/org/drools/lang/DRL.g:772:1: lhs_or returns [BaseDescr d] : ( LEFT_PAREN OR (lhsand= lhs_and )+ RIGHT_PAREN | left= lhs_and ( ( OR | DOUBLE_PIPE ) right= lhs_and )* );
     public final BaseDescr lhs_or() throws RecognitionException {
         BaseDescr d = null;
 
@@ -3050,7 +3102,7 @@
         		OrDescr or = null;
         	
         try {
-            // /Users/michaelneale/project/jboss-rules/drools-compiler/src/main/resources/org/drools/lang/DRL.g:777:2: ( LEFT_PAREN OR (lhsand= lhs_and )+ RIGHT_PAREN | left= lhs_and ( ( OR | DOUBLE_PIPE ) right= lhs_and )* )
+            // /home/etirelli/workspace/jboss/jbossrules/drools-compiler/src/main/resources/org/drools/lang/DRL.g:777:2: ( LEFT_PAREN OR (lhsand= lhs_and )+ RIGHT_PAREN | left= lhs_and ( ( OR | DOUBLE_PIPE ) right= lhs_and )* )
             int alt37=2;
             int LA37_0 = input.LA(1);
 
@@ -3083,7 +3135,7 @@
             }
             switch (alt37) {
                 case 1 :
-                    // /Users/michaelneale/project/jboss-rules/drools-compiler/src/main/resources/org/drools/lang/DRL.g:777:4: LEFT_PAREN OR (lhsand= lhs_and )+ RIGHT_PAREN
+                    // /home/etirelli/workspace/jboss/jbossrules/drools-compiler/src/main/resources/org/drools/lang/DRL.g:777:4: LEFT_PAREN OR (lhsand= lhs_and )+ RIGHT_PAREN
                     {
                     match(input,LEFT_PAREN,FOLLOW_LEFT_PAREN_in_lhs_or2030); if (failed) return d;
                     match(input,OR,FOLLOW_OR_in_lhs_or2032); if (failed) return d;
@@ -3094,7 +3146,7 @@
                       			location.setType( Location.LOCATION_LHS_BEGIN_OF_CONDITION_AND_OR );
                       		
                     }
-                    // /Users/michaelneale/project/jboss-rules/drools-compiler/src/main/resources/org/drools/lang/DRL.g:783:3: (lhsand= lhs_and )+
+                    // /home/etirelli/workspace/jboss/jbossrules/drools-compiler/src/main/resources/org/drools/lang/DRL.g:783:3: (lhsand= lhs_and )+
                     int cnt35=0;
                     loop35:
                     do {
@@ -3108,7 +3160,7 @@
 
                         switch (alt35) {
                     	case 1 :
-                    	    // /Users/michaelneale/project/jboss-rules/drools-compiler/src/main/resources/org/drools/lang/DRL.g:783:5: lhsand= lhs_and
+                    	    // /home/etirelli/workspace/jboss/jbossrules/drools-compiler/src/main/resources/org/drools/lang/DRL.g:783:5: lhsand= lhs_and
                     	    {
                     	    pushFollow(FOLLOW_lhs_and_in_lhs_or2045);
                     	    lhsand=lhs_and();
@@ -3138,7 +3190,7 @@
                     }
                     break;
                 case 2 :
-                    // /Users/michaelneale/project/jboss-rules/drools-compiler/src/main/resources/org/drools/lang/DRL.g:789:10: left= lhs_and ( ( OR | DOUBLE_PIPE ) right= lhs_and )*
+                    // /home/etirelli/workspace/jboss/jbossrules/drools-compiler/src/main/resources/org/drools/lang/DRL.g:789:10: left= lhs_and ( ( OR | DOUBLE_PIPE ) right= lhs_and )*
                     {
                     pushFollow(FOLLOW_lhs_and_in_lhs_or2074);
                     left=lhs_and();
@@ -3147,7 +3199,7 @@
                     if ( backtracking==0 ) {
                        d = left; 
                     }
-                    // /Users/michaelneale/project/jboss-rules/drools-compiler/src/main/resources/org/drools/lang/DRL.g:790:3: ( ( OR | DOUBLE_PIPE ) right= lhs_and )*
+                    // /home/etirelli/workspace/jboss/jbossrules/drools-compiler/src/main/resources/org/drools/lang/DRL.g:790:3: ( ( OR | DOUBLE_PIPE ) right= lhs_and )*
                     loop36:
                     do {
                         int alt36=2;
@@ -3160,7 +3212,7 @@
 
                         switch (alt36) {
                     	case 1 :
-                    	    // /Users/michaelneale/project/jboss-rules/drools-compiler/src/main/resources/org/drools/lang/DRL.g:790:5: ( OR | DOUBLE_PIPE ) right= lhs_and
+                    	    // /home/etirelli/workspace/jboss/jbossrules/drools-compiler/src/main/resources/org/drools/lang/DRL.g:790:5: ( OR | DOUBLE_PIPE ) right= lhs_and
                     	    {
                     	    if ( (input.LA(1)>=OR && input.LA(1)<=DOUBLE_PIPE) ) {
                     	        input.consume();
@@ -3220,7 +3272,7 @@
 
 
     // $ANTLR start lhs_and
-    // /Users/michaelneale/project/jboss-rules/drools-compiler/src/main/resources/org/drools/lang/DRL.g:807:1: lhs_and returns [BaseDescr d] : ( LEFT_PAREN AND (lhsunary= lhs_unary )+ RIGHT_PAREN | left= lhs_unary ( ( AND | DOUBLE_AMPER ) right= lhs_unary )* );
+    // /home/etirelli/workspace/jboss/jbossrules/drools-compiler/src/main/resources/org/drools/lang/DRL.g:807:1: lhs_and returns [BaseDescr d] : ( LEFT_PAREN AND (lhsunary= lhs_unary )+ RIGHT_PAREN | left= lhs_unary ( ( AND | DOUBLE_AMPER ) right= lhs_unary )* );
     public final BaseDescr lhs_and() throws RecognitionException {
         BaseDescr d = null;
 
@@ -3236,7 +3288,7 @@
         		AndDescr and = null;
         	
         try {
-            // /Users/michaelneale/project/jboss-rules/drools-compiler/src/main/resources/org/drools/lang/DRL.g:812:2: ( LEFT_PAREN AND (lhsunary= lhs_unary )+ RIGHT_PAREN | left= lhs_unary ( ( AND | DOUBLE_AMPER ) right= lhs_unary )* )
+            // /home/etirelli/workspace/jboss/jbossrules/drools-compiler/src/main/resources/org/drools/lang/DRL.g:812:2: ( LEFT_PAREN AND (lhsunary= lhs_unary )+ RIGHT_PAREN | left= lhs_unary ( ( AND | DOUBLE_AMPER ) right= lhs_unary )* )
             int alt40=2;
             int LA40_0 = input.LA(1);
 
@@ -3269,7 +3321,7 @@
             }
             switch (alt40) {
                 case 1 :
-                    // /Users/michaelneale/project/jboss-rules/drools-compiler/src/main/resources/org/drools/lang/DRL.g:812:4: LEFT_PAREN AND (lhsunary= lhs_unary )+ RIGHT_PAREN
+                    // /home/etirelli/workspace/jboss/jbossrules/drools-compiler/src/main/resources/org/drools/lang/DRL.g:812:4: LEFT_PAREN AND (lhsunary= lhs_unary )+ RIGHT_PAREN
                     {
                     match(input,LEFT_PAREN,FOLLOW_LEFT_PAREN_in_lhs_and2129); if (failed) return d;
                     match(input,AND,FOLLOW_AND_in_lhs_and2131); if (failed) return d;
@@ -3280,7 +3332,7 @@
                       			location.setType( Location.LOCATION_LHS_BEGIN_OF_CONDITION_AND_OR );
                       		
                     }
-                    // /Users/michaelneale/project/jboss-rules/drools-compiler/src/main/resources/org/drools/lang/DRL.g:818:3: (lhsunary= lhs_unary )+
+                    // /home/etirelli/workspace/jboss/jbossrules/drools-compiler/src/main/resources/org/drools/lang/DRL.g:818:3: (lhsunary= lhs_unary )+
                     int cnt38=0;
                     loop38:
                     do {
@@ -3294,7 +3346,7 @@
 
                         switch (alt38) {
                     	case 1 :
-                    	    // /Users/michaelneale/project/jboss-rules/drools-compiler/src/main/resources/org/drools/lang/DRL.g:818:4: lhsunary= lhs_unary
+                    	    // /home/etirelli/workspace/jboss/jbossrules/drools-compiler/src/main/resources/org/drools/lang/DRL.g:818:4: lhsunary= lhs_unary
                     	    {
                     	    pushFollow(FOLLOW_lhs_unary_in_lhs_and2143);
                     	    lhsunary=lhs_unary();
@@ -3324,7 +3376,7 @@
                     }
                     break;
                 case 2 :
-                    // /Users/michaelneale/project/jboss-rules/drools-compiler/src/main/resources/org/drools/lang/DRL.g:824:10: left= lhs_unary ( ( AND | DOUBLE_AMPER ) right= lhs_unary )*
+                    // /home/etirelli/workspace/jboss/jbossrules/drools-compiler/src/main/resources/org/drools/lang/DRL.g:824:10: left= lhs_unary ( ( AND | DOUBLE_AMPER ) right= lhs_unary )*
                     {
                     pushFollow(FOLLOW_lhs_unary_in_lhs_and2171);
                     left=lhs_unary();
@@ -3333,7 +3385,7 @@
                     if ( backtracking==0 ) {
                        d = left; 
                     }
-                    // /Users/michaelneale/project/jboss-rules/drools-compiler/src/main/resources/org/drools/lang/DRL.g:825:3: ( ( AND | DOUBLE_AMPER ) right= lhs_unary )*
+                    // /home/etirelli/workspace/jboss/jbossrules/drools-compiler/src/main/resources/org/drools/lang/DRL.g:825:3: ( ( AND | DOUBLE_AMPER ) right= lhs_unary )*
                     loop39:
                     do {
                         int alt39=2;
@@ -3346,7 +3398,7 @@
 
                         switch (alt39) {
                     	case 1 :
-                    	    // /Users/michaelneale/project/jboss-rules/drools-compiler/src/main/resources/org/drools/lang/DRL.g:825:5: ( AND | DOUBLE_AMPER ) right= lhs_unary
+                    	    // /home/etirelli/workspace/jboss/jbossrules/drools-compiler/src/main/resources/org/drools/lang/DRL.g:825:5: ( AND | DOUBLE_AMPER ) right= lhs_unary
                     	    {
                     	    if ( (input.LA(1)>=AND && input.LA(1)<=DOUBLE_AMPER) ) {
                     	        input.consume();
@@ -3406,7 +3458,7 @@
 
 
     // $ANTLR start lhs_unary
-    // /Users/michaelneale/project/jboss-rules/drools-compiler/src/main/resources/org/drools/lang/DRL.g:842:1: lhs_unary returns [BaseDescr d] : ( ( EXISTS )=>u= lhs_exist | ( NOT )=>u= lhs_not | ( EVAL )=>u= lhs_eval | ( FORALL )=>u= lhs_forall | ( LEFT_PAREN )=> LEFT_PAREN u= lhs_or RIGHT_PAREN | ps= pattern_source ) opt_semicolon ;
+    // /home/etirelli/workspace/jboss/jbossrules/drools-compiler/src/main/resources/org/drools/lang/DRL.g:842:1: lhs_unary returns [BaseDescr d] : ( ( EXISTS )=>u= lhs_exist | ( NOT )=>u= lhs_not | ( EVAL )=>u= lhs_eval | ( FORALL )=>u= lhs_forall | ( LEFT_PAREN )=> LEFT_PAREN u= lhs_or RIGHT_PAREN | ps= pattern_source ) opt_semicolon ;
     public final BaseDescr lhs_unary() throws RecognitionException {
         BaseDescr d = null;
 
@@ -3419,10 +3471,10 @@
         		d = null;
         	
         try {
-            // /Users/michaelneale/project/jboss-rules/drools-compiler/src/main/resources/org/drools/lang/DRL.g:846:2: ( ( ( EXISTS )=>u= lhs_exist | ( NOT )=>u= lhs_not | ( EVAL )=>u= lhs_eval | ( FORALL )=>u= lhs_forall | ( LEFT_PAREN )=> LEFT_PAREN u= lhs_or RIGHT_PAREN | ps= pattern_source ) opt_semicolon )
-            // /Users/michaelneale/project/jboss-rules/drools-compiler/src/main/resources/org/drools/lang/DRL.g:846:4: ( ( EXISTS )=>u= lhs_exist | ( NOT )=>u= lhs_not | ( EVAL )=>u= lhs_eval | ( FORALL )=>u= lhs_forall | ( LEFT_PAREN )=> LEFT_PAREN u= lhs_or RIGHT_PAREN | ps= pattern_source ) opt_semicolon
+            // /home/etirelli/workspace/jboss/jbossrules/drools-compiler/src/main/resources/org/drools/lang/DRL.g:846:2: ( ( ( EXISTS )=>u= lhs_exist | ( NOT )=>u= lhs_not | ( EVAL )=>u= lhs_eval | ( FORALL )=>u= lhs_forall | ( LEFT_PAREN )=> LEFT_PAREN u= lhs_or RIGHT_PAREN | ps= pattern_source ) opt_semicolon )
+            // /home/etirelli/workspace/jboss/jbossrules/drools-compiler/src/main/resources/org/drools/lang/DRL.g:846:4: ( ( EXISTS )=>u= lhs_exist | ( NOT )=>u= lhs_not | ( EVAL )=>u= lhs_eval | ( FORALL )=>u= lhs_forall | ( LEFT_PAREN )=> LEFT_PAREN u= lhs_or RIGHT_PAREN | ps= pattern_source ) opt_semicolon
             {
-            // /Users/michaelneale/project/jboss-rules/drools-compiler/src/main/resources/org/drools/lang/DRL.g:846:4: ( ( EXISTS )=>u= lhs_exist | ( NOT )=>u= lhs_not | ( EVAL )=>u= lhs_eval | ( FORALL )=>u= lhs_forall | ( LEFT_PAREN )=> LEFT_PAREN u= lhs_or RIGHT_PAREN | ps= pattern_source )
+            // /home/etirelli/workspace/jboss/jbossrules/drools-compiler/src/main/resources/org/drools/lang/DRL.g:846:4: ( ( EXISTS )=>u= lhs_exist | ( NOT )=>u= lhs_not | ( EVAL )=>u= lhs_eval | ( FORALL )=>u= lhs_forall | ( LEFT_PAREN )=> LEFT_PAREN u= lhs_or RIGHT_PAREN | ps= pattern_source )
             int alt41=6;
             int LA41_0 = input.LA(1);
 
@@ -3453,7 +3505,7 @@
             }
             switch (alt41) {
                 case 1 :
-                    // /Users/michaelneale/project/jboss-rules/drools-compiler/src/main/resources/org/drools/lang/DRL.g:846:6: ( EXISTS )=>u= lhs_exist
+                    // /home/etirelli/workspace/jboss/jbossrules/drools-compiler/src/main/resources/org/drools/lang/DRL.g:846:6: ( EXISTS )=>u= lhs_exist
                     {
                     pushFollow(FOLLOW_lhs_exist_in_lhs_unary2240);
                     u=lhs_exist();
@@ -3466,7 +3518,7 @@
                     }
                     break;
                 case 2 :
-                    // /Users/michaelneale/project/jboss-rules/drools-compiler/src/main/resources/org/drools/lang/DRL.g:847:5: ( NOT )=>u= lhs_not
+                    // /home/etirelli/workspace/jboss/jbossrules/drools-compiler/src/main/resources/org/drools/lang/DRL.g:847:5: ( NOT )=>u= lhs_not
                     {
                     pushFollow(FOLLOW_lhs_not_in_lhs_unary2258);
                     u=lhs_not();
@@ -3479,7 +3531,7 @@
                     }
                     break;
                 case 3 :
-                    // /Users/michaelneale/project/jboss-rules/drools-compiler/src/main/resources/org/drools/lang/DRL.g:848:5: ( EVAL )=>u= lhs_eval
+                    // /home/etirelli/workspace/jboss/jbossrules/drools-compiler/src/main/resources/org/drools/lang/DRL.g:848:5: ( EVAL )=>u= lhs_eval
                     {
                     pushFollow(FOLLOW_lhs_eval_in_lhs_unary2277);
                     u=lhs_eval();
@@ -3492,7 +3544,7 @@
                     }
                     break;
                 case 4 :
-                    // /Users/michaelneale/project/jboss-rules/drools-compiler/src/main/resources/org/drools/lang/DRL.g:849:5: ( FORALL )=>u= lhs_forall
+                    // /home/etirelli/workspace/jboss/jbossrules/drools-compiler/src/main/resources/org/drools/lang/DRL.g:849:5: ( FORALL )=>u= lhs_forall
                     {
                     pushFollow(FOLLOW_lhs_forall_in_lhs_unary2296);
                     u=lhs_forall();
@@ -3505,7 +3557,7 @@
                     }
                     break;
                 case 5 :
-                    // /Users/michaelneale/project/jboss-rules/drools-compiler/src/main/resources/org/drools/lang/DRL.g:850:5: ( LEFT_PAREN )=> LEFT_PAREN u= lhs_or RIGHT_PAREN
+                    // /home/etirelli/workspace/jboss/jbossrules/drools-compiler/src/main/resources/org/drools/lang/DRL.g:850:5: ( LEFT_PAREN )=> LEFT_PAREN u= lhs_or RIGHT_PAREN
                     {
                     match(input,LEFT_PAREN,FOLLOW_LEFT_PAREN_in_lhs_unary2313); if (failed) return d;
                     pushFollow(FOLLOW_lhs_or_in_lhs_unary2317);
@@ -3520,7 +3572,7 @@
                     }
                     break;
                 case 6 :
-                    // /Users/michaelneale/project/jboss-rules/drools-compiler/src/main/resources/org/drools/lang/DRL.g:851:5: ps= pattern_source
+                    // /home/etirelli/workspace/jboss/jbossrules/drools-compiler/src/main/resources/org/drools/lang/DRL.g:851:5: ps= pattern_source
                     {
                     pushFollow(FOLLOW_pattern_source_in_lhs_unary2330);
                     ps=pattern_source();
@@ -3555,12 +3607,16 @@
 
 
     // $ANTLR start pattern_source
-    // /Users/michaelneale/project/jboss-rules/drools-compiler/src/main/resources/org/drools/lang/DRL.g:856:1: pattern_source returns [BaseDescr d] : u= lhs_pattern ( ( ( FROM ENTRY_POINT )=> FROM ep= entrypoint_statement ) | FROM ( options {k=1; backtrack=true; } : (ac= accumulate_statement ) | (cs= collect_statement ) | (fm= from_statement ) ) )? ;
+    // /home/etirelli/workspace/jboss/jbossrules/drools-compiler/src/main/resources/org/drools/lang/DRL.g:856:1: pattern_source returns [BaseDescr d] : u= lhs_pattern ( WITH ( WINDOW COLON type= identifier param= paren_chunk )+ )? ( ( ( FROM ENTRY_POINT )=> FROM ep= entrypoint_statement ) | FROM ( options {k=1; backtrack=true; } : (ac= accumulate_statement ) | (cs= collect_statement ) | (fm= from_statement ) ) )? ;
     public final BaseDescr pattern_source() throws RecognitionException {
         BaseDescr d = null;
 
         BaseDescr u = null;
 
+        identifier_return type = null;
+
+        paren_chunk_return param = null;
+
         EntryPointDescr ep = null;
 
         AccumulateDescr ac = null;
@@ -3574,8 +3630,8 @@
         		d = null;
         	
         try {
-            // /Users/michaelneale/project/jboss-rules/drools-compiler/src/main/resources/org/drools/lang/DRL.g:860:2: (u= lhs_pattern ( ( ( FROM ENTRY_POINT )=> FROM ep= entrypoint_statement ) | FROM ( options {k=1; backtrack=true; } : (ac= accumulate_statement ) | (cs= collect_statement ) | (fm= from_statement ) ) )? )
-            // /Users/michaelneale/project/jboss-rules/drools-compiler/src/main/resources/org/drools/lang/DRL.g:861:3: u= lhs_pattern ( ( ( FROM ENTRY_POINT )=> FROM ep= entrypoint_statement ) | FROM ( options {k=1; backtrack=true; } : (ac= accumulate_statement ) | (cs= collect_statement ) | (fm= from_statement ) ) )?
+            // /home/etirelli/workspace/jboss/jbossrules/drools-compiler/src/main/resources/org/drools/lang/DRL.g:860:2: (u= lhs_pattern ( WITH ( WINDOW COLON type= identifier param= paren_chunk )+ )? ( ( ( FROM ENTRY_POINT )=> FROM ep= entrypoint_statement ) | FROM ( options {k=1; backtrack=true; } : (ac= accumulate_statement ) | (cs= collect_statement ) | (fm= from_statement ) ) )? )
+            // /home/etirelli/workspace/jboss/jbossrules/drools-compiler/src/main/resources/org/drools/lang/DRL.g:861:3: u= lhs_pattern ( WITH ( WINDOW COLON type= identifier param= paren_chunk )+ )? ( ( ( FROM ENTRY_POINT )=> FROM ep= entrypoint_statement ) | FROM ( options {k=1; backtrack=true; } : (ac= accumulate_statement ) | (cs= collect_statement ) | (fm= from_statement ) ) )?
             {
             pushFollow(FOLLOW_lhs_pattern_in_pattern_source2369);
             u=lhs_pattern();
@@ -3584,29 +3640,93 @@
             if ( backtracking==0 ) {
                d = u; 
             }
-            // /Users/michaelneale/project/jboss-rules/drools-compiler/src/main/resources/org/drools/lang/DRL.g:862:3: ( ( ( FROM ENTRY_POINT )=> FROM ep= entrypoint_statement ) | FROM ( options {k=1; backtrack=true; } : (ac= accumulate_statement ) | (cs= collect_statement ) | (fm= from_statement ) ) )?
-            int alt43=3;
+            // /home/etirelli/workspace/jboss/jbossrules/drools-compiler/src/main/resources/org/drools/lang/DRL.g:862:3: ( WITH ( WINDOW COLON type= identifier param= paren_chunk )+ )?
+            int alt43=2;
             int LA43_0 = input.LA(1);
 
-            if ( (LA43_0==FROM) ) {
-                int LA43_1 = input.LA(2);
+            if ( (LA43_0==WITH) ) {
+                alt43=1;
+            }
+            switch (alt43) {
+                case 1 :
+                    // /home/etirelli/workspace/jboss/jbossrules/drools-compiler/src/main/resources/org/drools/lang/DRL.g:862:11: WITH ( WINDOW COLON type= identifier param= paren_chunk )+
+                    {
+                    match(input,WITH,FOLLOW_WITH_in_pattern_source2384); if (failed) return d;
+                    // /home/etirelli/workspace/jboss/jbossrules/drools-compiler/src/main/resources/org/drools/lang/DRL.g:863:3: ( WINDOW COLON type= identifier param= paren_chunk )+
+                    int cnt42=0;
+                    loop42:
+                    do {
+                        int alt42=2;
+                        int LA42_0 = input.LA(1);
 
-                if ( ((LA43_1>=PACKAGE && LA43_1<=ID)||LA43_1==GLOBAL||LA43_1==END||(LA43_1>=QUERY && LA43_1<=ATTRIBUTES)||LA43_1==ENABLED||LA43_1==SALIENCE||(LA43_1>=DURATION && LA43_1<=DIALECT)||LA43_1==FROM||(LA43_1>=ACCUMULATE && LA43_1<=COLLECT)||LA43_1==IN||(LA43_1>=THEN && LA43_1<=EVENT)) ) {
-                    alt43=2;
+                        if ( (LA42_0==WINDOW) ) {
+                            alt42=1;
+                        }
+
+
+                        switch (alt42) {
+                    	case 1 :
+                    	    // /home/etirelli/workspace/jboss/jbossrules/drools-compiler/src/main/resources/org/drools/lang/DRL.g:863:4: WINDOW COLON type= identifier param= paren_chunk
+                    	    {
+                    	    match(input,WINDOW,FOLLOW_WINDOW_in_pattern_source2390); if (failed) return d;
+                    	    match(input,COLON,FOLLOW_COLON_in_pattern_source2392); if (failed) return d;
+                    	    pushFollow(FOLLOW_identifier_in_pattern_source2396);
+                    	    type=identifier();
+                    	    _fsp--;
+                    	    if (failed) return d;
+                    	    pushFollow(FOLLOW_paren_chunk_in_pattern_source2400);
+                    	    param=paren_chunk();
+                    	    _fsp--;
+                    	    if (failed) return d;
+                    	    if ( backtracking==0 ) {
+
+                    	      		                SlidingWindowDescr window = new SlidingWindowDescr( input.toString(type.start,type.stop), getString( input.toString(param.start,param.stop) ).trim() );
+                    	      		                ((PatternDescr)d).addBehavior( window );
+                    	      		        
+                    	    }
+
+                    	    }
+                    	    break;
+
+                    	default :
+                    	    if ( cnt42 >= 1 ) break loop42;
+                    	    if (backtracking>0) {failed=true; return d;}
+                                EarlyExitException eee =
+                                    new EarlyExitException(42, input);
+                                throw eee;
+                        }
+                        cnt42++;
+                    } while (true);
+
+
+                    }
+                    break;
+
+            }
+
+            // /home/etirelli/workspace/jboss/jbossrules/drools-compiler/src/main/resources/org/drools/lang/DRL.g:870:3: ( ( ( FROM ENTRY_POINT )=> FROM ep= entrypoint_statement ) | FROM ( options {k=1; backtrack=true; } : (ac= accumulate_statement ) | (cs= collect_statement ) | (fm= from_statement ) ) )?
+            int alt45=3;
+            int LA45_0 = input.LA(1);
+
+            if ( (LA45_0==FROM) ) {
+                int LA45_1 = input.LA(2);
+
+                if ( (LA45_1==ENTRY_POINT) && (synpred6())) {
+                    alt45=1;
                 }
-                else if ( (LA43_1==ENTRY_POINT) && (synpred6())) {
-                    alt43=1;
+                else if ( ((LA45_1>=PACKAGE && LA45_1<=ID)||LA45_1==GLOBAL||LA45_1==END||(LA45_1>=QUERY && LA45_1<=ATTRIBUTES)||LA45_1==ENABLED||LA45_1==SALIENCE||(LA45_1>=DURATION && LA45_1<=DIALECT)||LA45_1==FROM||(LA45_1>=ACCUMULATE && LA45_1<=COLLECT)||LA45_1==IN||(LA45_1>=THEN && LA45_1<=EVENT)) ) {
+                    alt45=2;
                 }
             }
-            switch (alt43) {
+            switch (alt45) {
                 case 1 :
-                    // /Users/michaelneale/project/jboss-rules/drools-compiler/src/main/resources/org/drools/lang/DRL.g:865:11: ( ( FROM ENTRY_POINT )=> FROM ep= entrypoint_statement )
+                    // /home/etirelli/workspace/jboss/jbossrules/drools-compiler/src/main/resources/org/drools/lang/DRL.g:873:11: ( ( FROM ENTRY_POINT )=> FROM ep= entrypoint_statement )
                     {
-                    // /Users/michaelneale/project/jboss-rules/drools-compiler/src/main/resources/org/drools/lang/DRL.g:865:11: ( ( FROM ENTRY_POINT )=> FROM ep= entrypoint_statement )
-                    // /Users/michaelneale/project/jboss-rules/drools-compiler/src/main/resources/org/drools/lang/DRL.g:865:13: ( FROM ENTRY_POINT )=> FROM ep= entrypoint_statement
+                    // /home/etirelli/workspace/jboss/jbossrules/drools-compiler/src/main/resources/org/drools/lang/DRL.g:873:11: ( ( FROM ENTRY_POINT )=> FROM ep= entrypoint_statement )
+                    // /home/etirelli/workspace/jboss/jbossrules/drools-compiler/src/main/resources/org/drools/lang/DRL.g:873:13: ( FROM ENTRY_POINT )=> FROM ep= entrypoint_statement
                     {
-                    match(input,FROM,FOLLOW_FROM_in_pattern_source2420); if (failed) return d;
-                    pushFollow(FOLLOW_entrypoint_statement_in_pattern_source2424);
+                    match(input,FROM,FOLLOW_FROM_in_pattern_source2471); if (failed) return d;
+                    pushFollow(FOLLOW_entrypoint_statement_in_pattern_source2475);
                     ep=entrypoint_statement();
                     _fsp--;
                     if (failed) return d;
@@ -3620,26 +3740,26 @@
                     }
                     break;
                 case 2 :
-                    // /Users/michaelneale/project/jboss-rules/drools-compiler/src/main/resources/org/drools/lang/DRL.g:867:4: FROM ( options {k=1; backtrack=true; } : (ac= accumulate_statement ) | (cs= collect_statement ) | (fm= from_statement ) )
+                    // /home/etirelli/workspace/jboss/jbossrules/drools-compiler/src/main/resources/org/drools/lang/DRL.g:875:4: FROM ( options {k=1; backtrack=true; } : (ac= accumulate_statement ) | (cs= collect_statement ) | (fm= from_statement ) )
                     {
-                    match(input,FROM,FOLLOW_FROM_in_pattern_source2444); if (failed) return d;
+                    match(input,FROM,FOLLOW_FROM_in_pattern_source2495); if (failed) return d;
                     if ( backtracking==0 ) {
 
                       				location.setType(Location.LOCATION_LHS_FROM);
                       				location.setProperty(Location.LOCATION_FROM_CONTENT, "");
                       		        
                     }
-                    // /Users/michaelneale/project/jboss-rules/drools-compiler/src/main/resources/org/drools/lang/DRL.g:872:11: ( options {k=1; backtrack=true; } : (ac= accumulate_statement ) | (cs= collect_statement ) | (fm= from_statement ) )
-                    int alt42=3;
+                    // /home/etirelli/workspace/jboss/jbossrules/drools-compiler/src/main/resources/org/drools/lang/DRL.g:880:11: ( options {k=1; backtrack=true; } : (ac= accumulate_statement ) | (cs= collect_statement ) | (fm= from_statement ) )
+                    int alt44=3;
                     switch ( input.LA(1) ) {
                     case ACCUMULATE:
                         {
-                        alt42=1;
+                        alt44=1;
                         }
                         break;
                     case COLLECT:
                         {
-                        alt42=2;
+                        alt44=2;
                         }
                         break;
                     case PACKAGE:
@@ -3666,25 +3786,25 @@
                     case THEN:
                     case EVENT:
                         {
-                        alt42=3;
+                        alt44=3;
                         }
                         break;
                     default:
                         if (backtracking>0) {failed=true; return d;}
                         NoViableAltException nvae =
-                            new NoViableAltException("872:11: ( options {k=1; backtrack=true; } : (ac= accumulate_statement ) | (cs= collect_statement ) | (fm= from_statement ) )", 42, 0, input);
+                            new NoViableAltException("880:11: ( options {k=1; backtrack=true; } : (ac= accumulate_statement ) | (cs= collect_statement ) | (fm= from_statement ) )", 44, 0, input);
 
                         throw nvae;
                     }
 
-                    switch (alt42) {
+                    switch (alt44) {
                         case 1 :
-                            // /Users/michaelneale/project/jboss-rules/drools-compiler/src/main/resources/org/drools/lang/DRL.g:873:13: (ac= accumulate_statement )
+                            // /home/etirelli/workspace/jboss/jbossrules/drools-compiler/src/main/resources/org/drools/lang/DRL.g:881:13: (ac= accumulate_statement )
                             {
-                            // /Users/michaelneale/project/jboss-rules/drools-compiler/src/main/resources/org/drools/lang/DRL.g:873:13: (ac= accumulate_statement )
-                            // /Users/michaelneale/project/jboss-rules/drools-compiler/src/main/resources/org/drools/lang/DRL.g:873:15: ac= accumulate_statement
+                            // /home/etirelli/workspace/jboss/jbossrules/drools-compiler/src/main/resources/org/drools/lang/DRL.g:881:13: (ac= accumulate_statement )
+                            // /home/etirelli/workspace/jboss/jbossrules/drools-compiler/src/main/resources/org/drools/lang/DRL.g:881:15: ac= accumulate_statement
                             {
-                            pushFollow(FOLLOW_accumulate_statement_in_pattern_source2502);
+                            pushFollow(FOLLOW_accumulate_statement_in_pattern_source2553);
                             ac=accumulate_statement();
                             _fsp--;
                             if (failed) return d;
@@ -3698,12 +3818,12 @@
                             }
                             break;
                         case 2 :
-                            // /Users/michaelneale/project/jboss-rules/drools-compiler/src/main/resources/org/drools/lang/DRL.g:874:15: (cs= collect_statement )
+                            // /home/etirelli/workspace/jboss/jbossrules/drools-compiler/src/main/resources/org/drools/lang/DRL.g:882:15: (cs= collect_statement )
                             {
-                            // /Users/michaelneale/project/jboss-rules/drools-compiler/src/main/resources/org/drools/lang/DRL.g:874:15: (cs= collect_statement )
-                            // /Users/michaelneale/project/jboss-rules/drools-compiler/src/main/resources/org/drools/lang/DRL.g:874:17: cs= collect_statement
+                            // /home/etirelli/workspace/jboss/jbossrules/drools-compiler/src/main/resources/org/drools/lang/DRL.g:882:15: (cs= collect_statement )
+                            // /home/etirelli/workspace/jboss/jbossrules/drools-compiler/src/main/resources/org/drools/lang/DRL.g:882:17: cs= collect_statement
                             {
-                            pushFollow(FOLLOW_collect_statement_in_pattern_source2525);
+                            pushFollow(FOLLOW_collect_statement_in_pattern_source2576);
                             cs=collect_statement();
                             _fsp--;
                             if (failed) return d;
@@ -3717,12 +3837,12 @@
                             }
                             break;
                         case 3 :
-                            // /Users/michaelneale/project/jboss-rules/drools-compiler/src/main/resources/org/drools/lang/DRL.g:876:15: (fm= from_statement )
+                            // /home/etirelli/workspace/jboss/jbossrules/drools-compiler/src/main/resources/org/drools/lang/DRL.g:884:15: (fm= from_statement )
                             {
-                            // /Users/michaelneale/project/jboss-rules/drools-compiler/src/main/resources/org/drools/lang/DRL.g:876:15: (fm= from_statement )
-                            // /Users/michaelneale/project/jboss-rules/drools-compiler/src/main/resources/org/drools/lang/DRL.g:876:17: fm= from_statement
+                            // /home/etirelli/workspace/jboss/jbossrules/drools-compiler/src/main/resources/org/drools/lang/DRL.g:884:15: (fm= from_statement )
+                            // /home/etirelli/workspace/jboss/jbossrules/drools-compiler/src/main/resources/org/drools/lang/DRL.g:884:17: fm= from_statement
                             {
-                            pushFollow(FOLLOW_from_statement_in_pattern_source2562);
+                            pushFollow(FOLLOW_from_statement_in_pattern_source2613);
                             fm=from_statement();
                             _fsp--;
                             if (failed) return d;
@@ -3760,7 +3880,7 @@
 
 
     // $ANTLR start lhs_exist
-    // /Users/michaelneale/project/jboss-rules/drools-compiler/src/main/resources/org/drools/lang/DRL.g:881:1: lhs_exist returns [BaseDescr d] : EXISTS ( ( LEFT_PAREN or= lhs_or RIGHT_PAREN ) | pattern= lhs_pattern ) ;
+    // /home/etirelli/workspace/jboss/jbossrules/drools-compiler/src/main/resources/org/drools/lang/DRL.g:889:1: lhs_exist returns [BaseDescr d] : EXISTS ( ( LEFT_PAREN or= lhs_or RIGHT_PAREN ) | pattern= lhs_pattern ) ;
     public final BaseDescr lhs_exist() throws RecognitionException {
         BaseDescr d = null;
 
@@ -3775,11 +3895,11 @@
         		d = null;
         	
         try {
-            // /Users/michaelneale/project/jboss-rules/drools-compiler/src/main/resources/org/drools/lang/DRL.g:885:2: ( EXISTS ( ( LEFT_PAREN or= lhs_or RIGHT_PAREN ) | pattern= lhs_pattern ) )
-            // /Users/michaelneale/project/jboss-rules/drools-compiler/src/main/resources/org/drools/lang/DRL.g:885:4: EXISTS ( ( LEFT_PAREN or= lhs_or RIGHT_PAREN ) | pattern= lhs_pattern )
+            // /home/etirelli/workspace/jboss/jbossrules/drools-compiler/src/main/resources/org/drools/lang/DRL.g:893:2: ( EXISTS ( ( LEFT_PAREN or= lhs_or RIGHT_PAREN ) | pattern= lhs_pattern ) )
+            // /home/etirelli/workspace/jboss/jbossrules/drools-compiler/src/main/resources/org/drools/lang/DRL.g:893:4: EXISTS ( ( LEFT_PAREN or= lhs_or RIGHT_PAREN ) | pattern= lhs_pattern )
             {
             EXISTS37=(Token)input.LT(1);
-            match(input,EXISTS,FOLLOW_EXISTS_in_lhs_exist2605); if (failed) return d;
+            match(input,EXISTS,FOLLOW_EXISTS_in_lhs_exist2656); if (failed) return d;
             if ( backtracking==0 ) {
 
               			d = new ExistsDescr( ); 
@@ -3788,32 +3908,32 @@
               			location.setType( Location.LOCATION_LHS_BEGIN_OF_CONDITION_EXISTS );
               		
             }
-            // /Users/michaelneale/project/jboss-rules/drools-compiler/src/main/resources/org/drools/lang/DRL.g:892:10: ( ( LEFT_PAREN or= lhs_or RIGHT_PAREN ) | pattern= lhs_pattern )
-            int alt44=2;
-            int LA44_0 = input.LA(1);
+            // /home/etirelli/workspace/jboss/jbossrules/drools-compiler/src/main/resources/org/drools/lang/DRL.g:900:10: ( ( LEFT_PAREN or= lhs_or RIGHT_PAREN ) | pattern= lhs_pattern )
+            int alt46=2;
+            int LA46_0 = input.LA(1);
 
-            if ( (LA44_0==LEFT_PAREN) ) {
-                alt44=1;
+            if ( (LA46_0==LEFT_PAREN) ) {
+                alt46=1;
             }
-            else if ( (LA44_0==ID) ) {
-                alt44=2;
+            else if ( (LA46_0==ID) ) {
+                alt46=2;
             }
             else {
                 if (backtracking>0) {failed=true; return d;}
                 NoViableAltException nvae =
-                    new NoViableAltException("892:10: ( ( LEFT_PAREN or= lhs_or RIGHT_PAREN ) | pattern= lhs_pattern )", 44, 0, input);
+                    new NoViableAltException("900:10: ( ( LEFT_PAREN or= lhs_or RIGHT_PAREN ) | pattern= lhs_pattern )", 46, 0, input);
 
                 throw nvae;
             }
-            switch (alt44) {
+            switch (alt46) {
                 case 1 :
-                    // /Users/michaelneale/project/jboss-rules/drools-compiler/src/main/resources/org/drools/lang/DRL.g:892:12: ( LEFT_PAREN or= lhs_or RIGHT_PAREN )
+                    // /home/etirelli/workspace/jboss/jbossrules/drools-compiler/src/main/resources/org/drools/lang/DRL.g:900:12: ( LEFT_PAREN or= lhs_or RIGHT_PAREN )
                     {
-                    // /Users/michaelneale/project/jboss-rules/drools-compiler/src/main/resources/org/drools/lang/DRL.g:892:12: ( LEFT_PAREN or= lhs_or RIGHT_PAREN )
-                    // /Users/michaelneale/project/jboss-rules/drools-compiler/src/main/resources/org/drools/lang/DRL.g:892:14: LEFT_PAREN or= lhs_or RIGHT_PAREN
+                    // /home/etirelli/workspace/jboss/jbossrules/drools-compiler/src/main/resources/org/drools/lang/DRL.g:900:12: ( LEFT_PAREN or= lhs_or RIGHT_PAREN )
+                    // /home/etirelli/workspace/jboss/jbossrules/drools-compiler/src/main/resources/org/drools/lang/DRL.g:900:14: LEFT_PAREN or= lhs_or RIGHT_PAREN
                     {
-                    match(input,LEFT_PAREN,FOLLOW_LEFT_PAREN_in_lhs_exist2625); if (failed) return d;
-                    pushFollow(FOLLOW_lhs_or_in_lhs_exist2629);
+                    match(input,LEFT_PAREN,FOLLOW_LEFT_PAREN_in_lhs_exist2676); if (failed) return d;
+                    pushFollow(FOLLOW_lhs_or_in_lhs_exist2680);
                     or=lhs_or();
                     _fsp--;
                     if (failed) return d;
@@ -3821,7 +3941,7 @@
                        if ( or != null ) ((ExistsDescr)d).addDescr( or ); 
                     }
                     RIGHT_PAREN38=(Token)input.LT(1);
-                    match(input,RIGHT_PAREN,FOLLOW_RIGHT_PAREN_in_lhs_exist2659); if (failed) return d;
+                    match(input,RIGHT_PAREN,FOLLOW_RIGHT_PAREN_in_lhs_exist2710); if (failed) return d;
                     if ( backtracking==0 ) {
                        d.setEndCharacter( ((CommonToken)RIGHT_PAREN38).getStopIndex() ); 
                     }
@@ -3832,9 +3952,9 @@
                     }
                     break;
                 case 2 :
-                    // /Users/michaelneale/project/jboss-rules/drools-compiler/src/main/resources/org/drools/lang/DRL.g:897:12: pattern= lhs_pattern
+                    // /home/etirelli/workspace/jboss/jbossrules/drools-compiler/src/main/resources/org/drools/lang/DRL.g:905:12: pattern= lhs_pattern
                     {
-                    pushFollow(FOLLOW_lhs_pattern_in_lhs_exist2709);
+                    pushFollow(FOLLOW_lhs_pattern_in_lhs_exist2760);
                     pattern=lhs_pattern();
                     _fsp--;
                     if (failed) return d;
@@ -3868,7 +3988,7 @@
 
 
     // $ANTLR start lhs_not
-    // /Users/michaelneale/project/jboss-rules/drools-compiler/src/main/resources/org/drools/lang/DRL.g:907:1: lhs_not returns [NotDescr d] : NOT ( ( LEFT_PAREN or= lhs_or RIGHT_PAREN ) | pattern= lhs_pattern ) ;
+    // /home/etirelli/workspace/jboss/jbossrules/drools-compiler/src/main/resources/org/drools/lang/DRL.g:915:1: lhs_not returns [NotDescr d] : NOT ( ( LEFT_PAREN or= lhs_or RIGHT_PAREN ) | pattern= lhs_pattern ) ;
     public final NotDescr lhs_not() throws RecognitionException {
         NotDescr d = null;
 
@@ -3883,11 +4003,11 @@
         		d = null;
         	
         try {
-            // /Users/michaelneale/project/jboss-rules/drools-compiler/src/main/resources/org/drools/lang/DRL.g:911:2: ( NOT ( ( LEFT_PAREN or= lhs_or RIGHT_PAREN ) | pattern= lhs_pattern ) )
-            // /Users/michaelneale/project/jboss-rules/drools-compiler/src/main/resources/org/drools/lang/DRL.g:911:4: NOT ( ( LEFT_PAREN or= lhs_or RIGHT_PAREN ) | pattern= lhs_pattern )
+            // /home/etirelli/workspace/jboss/jbossrules/drools-compiler/src/main/resources/org/drools/lang/DRL.g:919:2: ( NOT ( ( LEFT_PAREN or= lhs_or RIGHT_PAREN ) | pattern= lhs_pattern ) )
+            // /home/etirelli/workspace/jboss/jbossrules/drools-compiler/src/main/resources/org/drools/lang/DRL.g:919:4: NOT ( ( LEFT_PAREN or= lhs_or RIGHT_PAREN ) | pattern= lhs_pattern )
             {
             NOT39=(Token)input.LT(1);
-            match(input,NOT,FOLLOW_NOT_in_lhs_not2761); if (failed) return d;
+            match(input,NOT,FOLLOW_NOT_in_lhs_not2812); if (failed) return d;
             if ( backtracking==0 ) {
 
               			d = new NotDescr( ); 
@@ -3896,32 +4016,32 @@
               			location.setType( Location.LOCATION_LHS_BEGIN_OF_CONDITION_NOT );
               		
             }
-            // /Users/michaelneale/project/jboss-rules/drools-compiler/src/main/resources/org/drools/lang/DRL.g:918:3: ( ( LEFT_PAREN or= lhs_or RIGHT_PAREN ) | pattern= lhs_pattern )
-            int alt45=2;
-            int LA45_0 = input.LA(1);
+            // /home/etirelli/workspace/jboss/jbossrules/drools-compiler/src/main/resources/org/drools/lang/DRL.g:926:3: ( ( LEFT_PAREN or= lhs_or RIGHT_PAREN ) | pattern= lhs_pattern )
+            int alt47=2;
+            int LA47_0 = input.LA(1);
 
-            if ( (LA45_0==LEFT_PAREN) ) {
-                alt45=1;
+            if ( (LA47_0==LEFT_PAREN) ) {
+                alt47=1;
             }
-            else if ( (LA45_0==ID) ) {
-                alt45=2;
+            else if ( (LA47_0==ID) ) {
+                alt47=2;
             }
             else {
                 if (backtracking>0) {failed=true; return d;}
                 NoViableAltException nvae =
-                    new NoViableAltException("918:3: ( ( LEFT_PAREN or= lhs_or RIGHT_PAREN ) | pattern= lhs_pattern )", 45, 0, input);
+                    new NoViableAltException("926:3: ( ( LEFT_PAREN or= lhs_or RIGHT_PAREN ) | pattern= lhs_pattern )", 47, 0, input);
 
                 throw nvae;
             }
-            switch (alt45) {
+            switch (alt47) {
                 case 1 :
-                    // /Users/michaelneale/project/jboss-rules/drools-compiler/src/main/resources/org/drools/lang/DRL.g:918:5: ( LEFT_PAREN or= lhs_or RIGHT_PAREN )
+                    // /home/etirelli/workspace/jboss/jbossrules/drools-compiler/src/main/resources/org/drools/lang/DRL.g:926:5: ( LEFT_PAREN or= lhs_or RIGHT_PAREN )
                     {
-                    // /Users/michaelneale/project/jboss-rules/drools-compiler/src/main/resources/org/drools/lang/DRL.g:918:5: ( LEFT_PAREN or= lhs_or RIGHT_PAREN )
-                    // /Users/michaelneale/project/jboss-rules/drools-compiler/src/main/resources/org/drools/lang/DRL.g:918:7: LEFT_PAREN or= lhs_or RIGHT_PAREN
+                    // /home/etirelli/workspace/jboss/jbossrules/drools-compiler/src/main/resources/org/drools/lang/DRL.g:926:5: ( LEFT_PAREN or= lhs_or RIGHT_PAREN )
+                    // /home/etirelli/workspace/jboss/jbossrules/drools-compiler/src/main/resources/org/drools/lang/DRL.g:926:7: LEFT_PAREN or= lhs_or RIGHT_PAREN
                     {
-                    match(input,LEFT_PAREN,FOLLOW_LEFT_PAREN_in_lhs_not2774); if (failed) return d;
-                    pushFollow(FOLLOW_lhs_or_in_lhs_not2778);
+                    match(input,LEFT_PAREN,FOLLOW_LEFT_PAREN_in_lhs_not2825); if (failed) return d;
+                    pushFollow(FOLLOW_lhs_or_in_lhs_not2829);
                     or=lhs_or();
                     _fsp--;
                     if (failed) return d;
@@ -3929,7 +4049,7 @@
                        if ( or != null ) d.addDescr( or ); 
                     }
                     RIGHT_PAREN40=(Token)input.LT(1);
-                    match(input,RIGHT_PAREN,FOLLOW_RIGHT_PAREN_in_lhs_not2809); if (failed) return d;
+                    match(input,RIGHT_PAREN,FOLLOW_RIGHT_PAREN_in_lhs_not2860); if (failed) return d;
                     if ( backtracking==0 ) {
                        d.setEndCharacter( ((CommonToken)RIGHT_PAREN40).getStopIndex() ); 
                     }
@@ -3940,9 +4060,9 @@
                     }
                     break;
                 case 2 :
-                    // /Users/michaelneale/project/jboss-rules/drools-compiler/src/main/resources/org/drools/lang/DRL.g:924:3: pattern= lhs_pattern
+                    // /home/etirelli/workspace/jboss/jbossrules/drools-compiler/src/main/resources/org/drools/lang/DRL.g:932:3: pattern= lhs_pattern
                     {
-                    pushFollow(FOLLOW_lhs_pattern_in_lhs_not2846);
+                    pushFollow(FOLLOW_lhs_pattern_in_lhs_not2897);
                     pattern=lhs_pattern();
                     _fsp--;
                     if (failed) return d;
@@ -3976,7 +4096,7 @@
 
 
     // $ANTLR start lhs_eval
-    // /Users/michaelneale/project/jboss-rules/drools-compiler/src/main/resources/org/drools/lang/DRL.g:934:1: lhs_eval returns [BaseDescr d] : EVAL c= paren_chunk ;
+    // /home/etirelli/workspace/jboss/jbossrules/drools-compiler/src/main/resources/org/drools/lang/DRL.g:942:1: lhs_eval returns [BaseDescr d] : EVAL c= paren_chunk ;
     public final BaseDescr lhs_eval() throws RecognitionException {
         BaseDescr d = null;
 
@@ -3988,17 +4108,17 @@
         		d = new EvalDescr( );
         	
         try {
-            // /Users/michaelneale/project/jboss-rules/drools-compiler/src/main/resources/org/drools/lang/DRL.g:938:2: ( EVAL c= paren_chunk )
-            // /Users/michaelneale/project/jboss-rules/drools-compiler/src/main/resources/org/drools/lang/DRL.g:939:3: EVAL c= paren_chunk
+            // /home/etirelli/workspace/jboss/jbossrules/drools-compiler/src/main/resources/org/drools/lang/DRL.g:946:2: ( EVAL c= paren_chunk )
+            // /home/etirelli/workspace/jboss/jbossrules/drools-compiler/src/main/resources/org/drools/lang/DRL.g:947:3: EVAL c= paren_chunk
             {
             EVAL41=(Token)input.LT(1);
-            match(input,EVAL,FOLLOW_EVAL_in_lhs_eval2892); if (failed) return d;
+            match(input,EVAL,FOLLOW_EVAL_in_lhs_eval2943); if (failed) return d;
             if ( backtracking==0 ) {
 
               			location.setType( Location.LOCATION_LHS_INSIDE_EVAL );
               		
             }
-            pushFollow(FOLLOW_paren_chunk_in_lhs_eval2903);
+            pushFollow(FOLLOW_paren_chunk_in_lhs_eval2954);
             c=paren_chunk();
             _fsp--;
             if (failed) return d;
@@ -4033,7 +4153,7 @@
 
 
     // $ANTLR start lhs_forall
-    // /Users/michaelneale/project/jboss-rules/drools-compiler/src/main/resources/org/drools/lang/DRL.g:959:1: lhs_forall returns [ForallDescr d] : FORALL LEFT_PAREN base= lhs_pattern (pattern= lhs_pattern )* RIGHT_PAREN ;
+    // /home/etirelli/workspace/jboss/jbossrules/drools-compiler/src/main/resources/org/drools/lang/DRL.g:967:1: lhs_forall returns [ForallDescr d] : FORALL LEFT_PAREN base= lhs_pattern (pattern= lhs_pattern )* RIGHT_PAREN ;
     public final ForallDescr lhs_forall() throws RecognitionException {
         ForallDescr d = null;
 
@@ -4048,13 +4168,13 @@
         		d = factory.createForall();
         	
         try {
-            // /Users/michaelneale/project/jboss-rules/drools-compiler/src/main/resources/org/drools/lang/DRL.g:963:2: ( FORALL LEFT_PAREN base= lhs_pattern (pattern= lhs_pattern )* RIGHT_PAREN )
-            // /Users/michaelneale/project/jboss-rules/drools-compiler/src/main/resources/org/drools/lang/DRL.g:963:4: FORALL LEFT_PAREN base= lhs_pattern (pattern= lhs_pattern )* RIGHT_PAREN
+            // /home/etirelli/workspace/jboss/jbossrules/drools-compiler/src/main/resources/org/drools/lang/DRL.g:971:2: ( FORALL LEFT_PAREN base= lhs_pattern (pattern= lhs_pattern )* RIGHT_PAREN )
+            // /home/etirelli/workspace/jboss/jbossrules/drools-compiler/src/main/resources/org/drools/lang/DRL.g:971:4: FORALL LEFT_PAREN base= lhs_pattern (pattern= lhs_pattern )* RIGHT_PAREN
             {
             FORALL42=(Token)input.LT(1);
-            match(input,FORALL,FOLLOW_FORALL_in_lhs_forall2929); if (failed) return d;
-            match(input,LEFT_PAREN,FOLLOW_LEFT_PAREN_in_lhs_forall2931); if (failed) return d;
-            pushFollow(FOLLOW_lhs_pattern_in_lhs_forall2935);
+            match(input,FORALL,FOLLOW_FORALL_in_lhs_forall2980); if (failed) return d;
+            match(input,LEFT_PAREN,FOLLOW_LEFT_PAREN_in_lhs_forall2982); if (failed) return d;
+            pushFollow(FOLLOW_lhs_pattern_in_lhs_forall2986);
             base=lhs_pattern();
             _fsp--;
             if (failed) return d;
@@ -4066,22 +4186,22 @@
               			d.setLocation( offset(FORALL42.getLine()), FORALL42.getCharPositionInLine() );
               		
             }
-            // /Users/michaelneale/project/jboss-rules/drools-compiler/src/main/resources/org/drools/lang/DRL.g:970:3: (pattern= lhs_pattern )*
-            loop46:
+            // /home/etirelli/workspace/jboss/jbossrules/drools-compiler/src/main/resources/org/drools/lang/DRL.g:978:3: (pattern= lhs_pattern )*
+            loop48:
             do {
-                int alt46=2;
-                int LA46_0 = input.LA(1);
+                int alt48=2;
+                int LA48_0 = input.LA(1);
 
-                if ( (LA46_0==ID) ) {
-                    alt46=1;
+                if ( (LA48_0==ID) ) {
+                    alt48=1;
                 }
 
 
-                switch (alt46) {
+                switch (alt48) {
             	case 1 :
-            	    // /Users/michaelneale/project/jboss-rules/drools-compiler/src/main/resources/org/drools/lang/DRL.g:970:5: pattern= lhs_pattern
+            	    // /home/etirelli/workspace/jboss/jbossrules/drools-compiler/src/main/resources/org/drools/lang/DRL.g:978:5: pattern= lhs_pattern
             	    {
-            	    pushFollow(FOLLOW_lhs_pattern_in_lhs_forall2950);
+            	    pushFollow(FOLLOW_lhs_pattern_in_lhs_forall3001);
             	    pattern=lhs_pattern();
             	    _fsp--;
             	    if (failed) return d;
@@ -4096,12 +4216,12 @@
             	    break;
 
             	default :
-            	    break loop46;
+            	    break loop48;
                 }
             } while (true);
 
             RIGHT_PAREN43=(Token)input.LT(1);
-            match(input,RIGHT_PAREN,FOLLOW_RIGHT_PAREN_in_lhs_forall2966); if (failed) return d;
+            match(input,RIGHT_PAREN,FOLLOW_RIGHT_PAREN_in_lhs_forall3017); if (failed) return d;
             if ( backtracking==0 ) {
 
               		        d.setEndCharacter( ((CommonToken)RIGHT_PAREN43).getStopIndex() );
@@ -4123,7 +4243,7 @@
 
 
     // $ANTLR start lhs_pattern
-    // /Users/michaelneale/project/jboss-rules/drools-compiler/src/main/resources/org/drools/lang/DRL.g:982:1: lhs_pattern returns [BaseDescr d] : (f= fact_binding | f= fact[null] );
+    // /home/etirelli/workspace/jboss/jbossrules/drools-compiler/src/main/resources/org/drools/lang/DRL.g:990:1: lhs_pattern returns [BaseDescr d] : (f= fact_binding | f= fact[null] );
     public final BaseDescr lhs_pattern() throws RecognitionException {
         BaseDescr d = null;
 
@@ -4134,23 +4254,23 @@
         		d =null;
         	
         try {
-            // /Users/michaelneale/project/jboss-rules/drools-compiler/src/main/resources/org/drools/lang/DRL.g:989:2: (f= fact_binding | f= fact[null] )
-            int alt47=2;
-            int LA47_0 = input.LA(1);
+            // /home/etirelli/workspace/jboss/jbossrules/drools-compiler/src/main/resources/org/drools/lang/DRL.g:997:2: (f= fact_binding | f= fact[null] )
+            int alt49=2;
+            int LA49_0 = input.LA(1);
 
-            if ( (LA47_0==ID) ) {
-                int LA47_1 = input.LA(2);
+            if ( (LA49_0==ID) ) {
+                int LA49_1 = input.LA(2);
 
-                if ( (LA47_1==COLON) ) {
-                    alt47=1;
+                if ( (LA49_1==COLON) ) {
+                    alt49=1;
                 }
-                else if ( (LA47_1==DOT||LA47_1==LEFT_PAREN||LA47_1==LEFT_SQUARE) ) {
-                    alt47=2;
+                else if ( (LA49_1==DOT||LA49_1==LEFT_PAREN||LA49_1==LEFT_SQUARE) ) {
+                    alt49=2;
                 }
                 else {
                     if (backtracking>0) {failed=true; return d;}
                     NoViableAltException nvae =
-                        new NoViableAltException("982:1: lhs_pattern returns [BaseDescr d] : (f= fact_binding | f= fact[null] );", 47, 1, input);
+                        new NoViableAltException("990:1: lhs_pattern returns [BaseDescr d] : (f= fact_binding | f= fact[null] );", 49, 1, input);
 
                     throw nvae;
                 }
@@ -4158,15 +4278,15 @@
             else {
                 if (backtracking>0) {failed=true; return d;}
                 NoViableAltException nvae =
-                    new NoViableAltException("982:1: lhs_pattern returns [BaseDescr d] : (f= fact_binding | f= fact[null] );", 47, 0, input);
+                    new NoViableAltException("990:1: lhs_pattern returns [BaseDescr d] : (f= fact_binding | f= fact[null] );", 49, 0, input);
 
                 throw nvae;
             }
-            switch (alt47) {
+            switch (alt49) {
                 case 1 :
-                    // /Users/michaelneale/project/jboss-rules/drools-compiler/src/main/resources/org/drools/lang/DRL.g:989:4: f= fact_binding
+                    // /home/etirelli/workspace/jboss/jbossrules/drools-compiler/src/main/resources/org/drools/lang/DRL.g:997:4: f= fact_binding
                     {
-                    pushFollow(FOLLOW_fact_binding_in_lhs_pattern2999);
+                    pushFollow(FOLLOW_fact_binding_in_lhs_pattern3050);
                     f=fact_binding();
                     _fsp--;
                     if (failed) return d;
@@ -4174,9 +4294,9 @@
                     }
                     break;
                 case 2 :
-                    // /Users/michaelneale/project/jboss-rules/drools-compiler/src/main/resources/org/drools/lang/DRL.g:990:4: f= fact[null]
+                    // /home/etirelli/workspace/jboss/jbossrules/drools-compiler/src/main/resources/org/drools/lang/DRL.g:998:4: f= fact[null]
                     {
-                    pushFollow(FOLLOW_fact_in_lhs_pattern3007);
+                    pushFollow(FOLLOW_fact_in_lhs_pattern3058);
                     f=fact(null);
                     _fsp--;
                     if (failed) return d;
@@ -4203,7 +4323,7 @@
 
 
     // $ANTLR start from_statement
-    // /Users/michaelneale/project/jboss-rules/drools-compiler/src/main/resources/org/drools/lang/DRL.g:993:1: from_statement returns [FromDescr d] : ds= from_source[$d] ;
+    // /home/etirelli/workspace/jboss/jbossrules/drools-compiler/src/main/resources/org/drools/lang/DRL.g:1001:1: from_statement returns [FromDescr d] : ds= from_source[$d] ;
     public final FromDescr from_statement() throws RecognitionException {
         FromDescr d = null;
 
@@ -4214,10 +4334,10 @@
         		d =factory.createFrom();
         	
         try {
-            // /Users/michaelneale/project/jboss-rules/drools-compiler/src/main/resources/org/drools/lang/DRL.g:997:2: (ds= from_source[$d] )
-            // /Users/michaelneale/project/jboss-rules/drools-compiler/src/main/resources/org/drools/lang/DRL.g:998:2: ds= from_source[$d]
+            // /home/etirelli/workspace/jboss/jbossrules/drools-compiler/src/main/resources/org/drools/lang/DRL.g:1005:2: (ds= from_source[$d] )
+            // /home/etirelli/workspace/jboss/jbossrules/drools-compiler/src/main/resources/org/drools/lang/DRL.g:1006:2: ds= from_source[$d]
             {
-            pushFollow(FOLLOW_from_source_in_from_statement3034);
+            pushFollow(FOLLOW_from_source_in_from_statement3085);
             ds=from_source(d);
             _fsp--;
             if (failed) return d;
@@ -4242,7 +4362,7 @@
 
 
     // $ANTLR start accumulate_statement
-    // /Users/michaelneale/project/jboss-rules/drools-compiler/src/main/resources/org/drools/lang/DRL.g:1005:1: accumulate_statement returns [AccumulateDescr d] : ACCUMULATE LEFT_PAREN inputCE= lhs_or ( COMMA )? ( ( INIT text= paren_chunk ( COMMA )? ACTION text= paren_chunk ( COMMA )? ( REVERSE text= paren_chunk ( COMMA )? )? RESULT text= paren_chunk ) | (id= ID text= paren_chunk ) ) RIGHT_PAREN ;
+    // /home/etirelli/workspace/jboss/jbossrules/drools-compiler/src/main/resources/org/drools/lang/DRL.g:1013:1: accumulate_statement returns [AccumulateDescr d] : ACCUMULATE LEFT_PAREN inputCE= lhs_or ( COMMA )? ( ( INIT text= paren_chunk ( COMMA )? ACTION text= paren_chunk ( COMMA )? ( REVERSE text= paren_chunk ( COMMA )? )? RESULT text= paren_chunk ) | (id= ID text= paren_chunk ) ) RIGHT_PAREN ;
     public final AccumulateDescr accumulate_statement() throws RecognitionException {
         AccumulateDescr d = null;
 
@@ -4258,11 +4378,11 @@
         		d = factory.createAccumulate();
         	
         try {
-            // /Users/michaelneale/project/jboss-rules/drools-compiler/src/main/resources/org/drools/lang/DRL.g:1009:2: ( ACCUMULATE LEFT_PAREN inputCE= lhs_or ( COMMA )? ( ( INIT text= paren_chunk ( COMMA )? ACTION text= paren_chunk ( COMMA )? ( REVERSE text= paren_chunk ( COMMA )? )? RESULT text= paren_chunk ) | (id= ID text= paren_chunk ) ) RIGHT_PAREN )
-            // /Users/michaelneale/project/jboss-rules/drools-compiler/src/main/resources/org/drools/lang/DRL.g:1010:10: ACCUMULATE LEFT_PAREN inputCE= lhs_or ( COMMA )? ( ( INIT text= paren_chunk ( COMMA )? ACTION text= paren_chunk ( COMMA )? ( REVERSE text= paren_chunk ( COMMA )? )? RESULT text= paren_chunk ) | (id= ID text= paren_chunk ) ) RIGHT_PAREN
+            // /home/etirelli/workspace/jboss/jbossrules/drools-compiler/src/main/resources/org/drools/lang/DRL.g:1017:2: ( ACCUMULATE LEFT_PAREN inputCE= lhs_or ( COMMA )? ( ( INIT text= paren_chunk ( COMMA )? ACTION text= paren_chunk ( COMMA )? ( REVERSE text= paren_chunk ( COMMA )? )? RESULT text= paren_chunk ) | (id= ID text= paren_chunk ) ) RIGHT_PAREN )
+            // /home/etirelli/workspace/jboss/jbossrules/drools-compiler/src/main/resources/org/drools/lang/DRL.g:1018:10: ACCUMULATE LEFT_PAREN inputCE= lhs_or ( COMMA )? ( ( INIT text= paren_chunk ( COMMA )? ACTION text= paren_chunk ( COMMA )? ( REVERSE text= paren_chunk ( COMMA )? )? RESULT text= paren_chunk ) | (id= ID text= paren_chunk ) ) RIGHT_PAREN
             {
             ACCUMULATE44=(Token)input.LT(1);
-            match(input,ACCUMULATE,FOLLOW_ACCUMULATE_in_accumulate_statement3071); if (failed) return d;
+            match(input,ACCUMULATE,FOLLOW_ACCUMULATE_in_accumulate_statement3122); if (failed) return d;
             if ( backtracking==0 ) {
                
               			d.setLocation( offset(ACCUMULATE44.getLine()), ACCUMULATE44.getCharPositionInLine() );
@@ -4270,23 +4390,23 @@
               			location.setType( Location.LOCATION_LHS_FROM_ACCUMULATE );
               		
             }
-            match(input,LEFT_PAREN,FOLLOW_LEFT_PAREN_in_accumulate_statement3081); if (failed) return d;
-            pushFollow(FOLLOW_lhs_or_in_accumulate_statement3085);
+            match(input,LEFT_PAREN,FOLLOW_LEFT_PAREN_in_accumulate_statement3132); if (failed) return d;
+            pushFollow(FOLLOW_lhs_or_in_accumulate_statement3136);
             inputCE=lhs_or();
             _fsp--;
             if (failed) return d;
-            // /Users/michaelneale/project/jboss-rules/drools-compiler/src/main/resources/org/drools/lang/DRL.g:1016:29: ( COMMA )?
-            int alt48=2;
-            int LA48_0 = input.LA(1);
+            // /home/etirelli/workspace/jboss/jbossrules/drools-compiler/src/main/resources/org/drools/lang/DRL.g:1024:29: ( COMMA )?
+            int alt50=2;
+            int LA50_0 = input.LA(1);
 
-            if ( (LA48_0==COMMA) ) {
-                alt48=1;
+            if ( (LA50_0==COMMA) ) {
+                alt50=1;
             }
-            switch (alt48) {
+            switch (alt50) {
                 case 1 :
-                    // /Users/michaelneale/project/jboss-rules/drools-compiler/src/main/resources/org/drools/lang/DRL.g:1016:29: COMMA
+                    // /home/etirelli/workspace/jboss/jbossrules/drools-compiler/src/main/resources/org/drools/lang/DRL.g:1024:29: COMMA
                     {
-                    match(input,COMMA,FOLLOW_COMMA_in_accumulate_statement3087); if (failed) return d;
+                    match(input,COMMA,FOLLOW_COMMA_in_accumulate_statement3138); if (failed) return d;
 
                     }
                     break;
@@ -4298,52 +4418,52 @@
               		        d.setInput( inputCE );
               		
             }
-            // /Users/michaelneale/project/jboss-rules/drools-compiler/src/main/resources/org/drools/lang/DRL.g:1020:3: ( ( INIT text= paren_chunk ( COMMA )? ACTION text= paren_chunk ( COMMA )? ( REVERSE text= paren_chunk ( COMMA )? )? RESULT text= paren_chunk ) | (id= ID text= paren_chunk ) )
-            int alt53=2;
-            int LA53_0 = input.LA(1);
+            // /home/etirelli/workspace/jboss/jbossrules/drools-compiler/src/main/resources/org/drools/lang/DRL.g:1028:3: ( ( INIT text= paren_chunk ( COMMA )? ACTION text= paren_chunk ( COMMA )? ( REVERSE text= paren_chunk ( COMMA )? )? RESULT text= paren_chunk ) | (id= ID text= paren_chunk ) )
+            int alt55=2;
+            int LA55_0 = input.LA(1);
 
-            if ( (LA53_0==INIT) ) {
-                alt53=1;
+            if ( (LA55_0==INIT) ) {
+                alt55=1;
             }
-            else if ( (LA53_0==ID) ) {
-                alt53=2;
+            else if ( (LA55_0==ID) ) {
+                alt55=2;
             }
             else {
                 if (backtracking>0) {failed=true; return d;}
                 NoViableAltException nvae =
-                    new NoViableAltException("1020:3: ( ( INIT text= paren_chunk ( COMMA )? ACTION text= paren_chunk ( COMMA )? ( REVERSE text= paren_chunk ( COMMA )? )? RESULT text= paren_chunk ) | (id= ID text= paren_chunk ) )", 53, 0, input);
+                    new NoViableAltException("1028:3: ( ( INIT text= paren_chunk ( COMMA )? ACTION text= paren_chunk ( COMMA )? ( REVERSE text= paren_chunk ( COMMA )? )? RESULT text= paren_chunk ) | (id= ID text= paren_chunk ) )", 55, 0, input);
 
                 throw nvae;
             }
-            switch (alt53) {
+            switch (alt55) {
                 case 1 :
-                    // /Users/michaelneale/project/jboss-rules/drools-compiler/src/main/resources/org/drools/lang/DRL.g:1020:5: ( INIT text= paren_chunk ( COMMA )? ACTION text= paren_chunk ( COMMA )? ( REVERSE text= paren_chunk ( COMMA )? )? RESULT text= paren_chunk )
+                    // /home/etirelli/workspace/jboss/jbossrules/drools-compiler/src/main/resources/org/drools/lang/DRL.g:1028:5: ( INIT text= paren_chunk ( COMMA )? ACTION text= paren_chunk ( COMMA )? ( REVERSE text= paren_chunk ( COMMA )? )? RESULT text= paren_chunk )
                     {
-                    // /Users/michaelneale/project/jboss-rules/drools-compiler/src/main/resources/org/drools/lang/DRL.g:1020:5: ( INIT text= paren_chunk ( COMMA )? ACTION text= paren_chunk ( COMMA )? ( REVERSE text= paren_chunk ( COMMA )? )? RESULT text= paren_chunk )
-                    // /Users/michaelneale/project/jboss-rules/drools-compiler/src/main/resources/org/drools/lang/DRL.g:1021:4: INIT text= paren_chunk ( COMMA )? ACTION text= paren_chunk ( COMMA )? ( REVERSE text= paren_chunk ( COMMA )? )? RESULT text= paren_chunk
+                    // /home/etirelli/workspace/jboss/jbossrules/drools-compiler/src/main/resources/org/drools/lang/DRL.g:1028:5: ( INIT text= paren_chunk ( COMMA )? ACTION text= paren_chunk ( COMMA )? ( REVERSE text= paren_chunk ( COMMA )? )? RESULT text= paren_chunk )
+                    // /home/etirelli/workspace/jboss/jbossrules/drools-compiler/src/main/resources/org/drools/lang/DRL.g:1029:4: INIT text= paren_chunk ( COMMA )? ACTION text= paren_chunk ( COMMA )? ( REVERSE text= paren_chunk ( COMMA )? )? RESULT text= paren_chunk
                     {
-                    match(input,INIT,FOLLOW_INIT_in_accumulate_statement3105); if (failed) return d;
+                    match(input,INIT,FOLLOW_INIT_in_accumulate_statement3156); if (failed) return d;
                     if ( backtracking==0 ) {
 
                       				location.setType( Location.LOCATION_LHS_FROM_ACCUMULATE_INIT );
                       			
                     }
-                    pushFollow(FOLLOW_paren_chunk_in_accumulate_statement3118);
+                    pushFollow(FOLLOW_paren_chunk_in_accumulate_statement3169);
                     text=paren_chunk();
                     _fsp--;
                     if (failed) return d;
-                    // /Users/michaelneale/project/jboss-rules/drools-compiler/src/main/resources/org/drools/lang/DRL.g:1025:21: ( COMMA )?
-                    int alt49=2;
-                    int LA49_0 = input.LA(1);
+                    // /home/etirelli/workspace/jboss/jbossrules/drools-compiler/src/main/resources/org/drools/lang/DRL.g:1033:21: ( COMMA )?
+                    int alt51=2;
+                    int LA51_0 = input.LA(1);
 
-                    if ( (LA49_0==COMMA) ) {
-                        alt49=1;
+                    if ( (LA51_0==COMMA) ) {
+                        alt51=1;
                     }
-                    switch (alt49) {
+                    switch (alt51) {
                         case 1 :
-                            // /Users/michaelneale/project/jboss-rules/drools-compiler/src/main/resources/org/drools/lang/DRL.g:1025:21: COMMA
+                            // /home/etirelli/workspace/jboss/jbossrules/drools-compiler/src/main/resources/org/drools/lang/DRL.g:1033:21: COMMA
                             {
-                            match(input,COMMA,FOLLOW_COMMA_in_accumulate_statement3120); if (failed) return d;
+                            match(input,COMMA,FOLLOW_COMMA_in_accumulate_statement3171); if (failed) return d;
 
                             }
                             break;
@@ -4359,23 +4479,23 @@
                       				}
                       			
                     }
-                    match(input,ACTION,FOLLOW_ACTION_in_accumulate_statement3131); if (failed) return d;
-                    pushFollow(FOLLOW_paren_chunk_in_accumulate_statement3135);
+                    match(input,ACTION,FOLLOW_ACTION_in_accumulate_statement3182); if (failed) return d;
+                    pushFollow(FOLLOW_paren_chunk_in_accumulate_statement3186);
                     text=paren_chunk();
                     _fsp--;
                     if (failed) return d;
-                    // /Users/michaelneale/project/jboss-rules/drools-compiler/src/main/resources/org/drools/lang/DRL.g:1033:28: ( COMMA )?
-                    int alt50=2;
-                    int LA50_0 = input.LA(1);
+                    // /home/etirelli/workspace/jboss/jbossrules/drools-compiler/src/main/resources/org/drools/lang/DRL.g:1041:28: ( COMMA )?
+                    int alt52=2;
+                    int LA52_0 = input.LA(1);
 
-                    if ( (LA50_0==COMMA) ) {
-                        alt50=1;
+                    if ( (LA52_0==COMMA) ) {
+                        alt52=1;
                     }
-                    switch (alt50) {
+                    switch (alt52) {
                         case 1 :
-                            // /Users/michaelneale/project/jboss-rules/drools-compiler/src/main/resources/org/drools/lang/DRL.g:1033:28: COMMA
+                            // /home/etirelli/workspace/jboss/jbossrules/drools-compiler/src/main/resources/org/drools/lang/DRL.g:1041:28: COMMA
                             {
-                            match(input,COMMA,FOLLOW_COMMA_in_accumulate_statement3137); if (failed) return d;
+                            match(input,COMMA,FOLLOW_COMMA_in_accumulate_statement3188); if (failed) return d;
 
                             }
                             break;
@@ -4391,34 +4511,34 @@
                       				}
                       			
                     }
-                    // /Users/michaelneale/project/jboss-rules/drools-compiler/src/main/resources/org/drools/lang/DRL.g:1041:4: ( REVERSE text= paren_chunk ( COMMA )? )?
-                    int alt52=2;
-                    int LA52_0 = input.LA(1);
+                    // /home/etirelli/workspace/jboss/jbossrules/drools-compiler/src/main/resources/org/drools/lang/DRL.g:1049:4: ( REVERSE text= paren_chunk ( COMMA )? )?
+                    int alt54=2;
+                    int LA54_0 = input.LA(1);
 
-                    if ( (LA52_0==REVERSE) ) {
-                        alt52=1;
+                    if ( (LA54_0==REVERSE) ) {
+                        alt54=1;
                     }
-                    switch (alt52) {
+                    switch (alt54) {
                         case 1 :
-                            // /Users/michaelneale/project/jboss-rules/drools-compiler/src/main/resources/org/drools/lang/DRL.g:1041:6: REVERSE text= paren_chunk ( COMMA )?
+                            // /home/etirelli/workspace/jboss/jbossrules/drools-compiler/src/main/resources/org/drools/lang/DRL.g:1049:6: REVERSE text= paren_chunk ( COMMA )?
                             {
-                            match(input,REVERSE,FOLLOW_REVERSE_in_accumulate_statement3150); if (failed) return d;
-                            pushFollow(FOLLOW_paren_chunk_in_accumulate_statement3154);
+                            match(input,REVERSE,FOLLOW_REVERSE_in_accumulate_statement3201); if (failed) return d;
+                            pushFollow(FOLLOW_paren_chunk_in_accumulate_statement3205);
                             text=paren_chunk();
                             _fsp--;
                             if (failed) return d;
-                            // /Users/michaelneale/project/jboss-rules/drools-compiler/src/main/resources/org/drools/lang/DRL.g:1041:31: ( COMMA )?
-                            int alt51=2;
-                            int LA51_0 = input.LA(1);
+                            // /home/etirelli/workspace/jboss/jbossrules/drools-compiler/src/main/resources/org/drools/lang/DRL.g:1049:31: ( COMMA )?
+                            int alt53=2;
+                            int LA53_0 = input.LA(1);
 
-                            if ( (LA51_0==COMMA) ) {
-                                alt51=1;
+                            if ( (LA53_0==COMMA) ) {
+                                alt53=1;
                             }
-                            switch (alt51) {
+                            switch (alt53) {
                                 case 1 :
-                                    // /Users/michaelneale/project/jboss-rules/drools-compiler/src/main/resources/org/drools/lang/DRL.g:1041:31: COMMA
+                                    // /home/etirelli/workspace/jboss/jbossrules/drools-compiler/src/main/resources/org/drools/lang/DRL.g:1049:31: COMMA
                                     {
-                                    match(input,COMMA,FOLLOW_COMMA_in_accumulate_statement3156); if (failed) return d;
+                                    match(input,COMMA,FOLLOW_COMMA_in_accumulate_statement3207); if (failed) return d;
 
                                     }
                                     break;
@@ -4440,8 +4560,8 @@
 
                     }
 
-                    match(input,RESULT,FOLLOW_RESULT_in_accumulate_statement3173); if (failed) return d;
-                    pushFollow(FOLLOW_paren_chunk_in_accumulate_statement3177);
+                    match(input,RESULT,FOLLOW_RESULT_in_accumulate_statement3224); if (failed) return d;
+                    pushFollow(FOLLOW_paren_chunk_in_accumulate_statement3228);
                     text=paren_chunk();
                     _fsp--;
                     if (failed) return d;
@@ -4460,14 +4580,14 @@
                     }
                     break;
                 case 2 :
-                    // /Users/michaelneale/project/jboss-rules/drools-compiler/src/main/resources/org/drools/lang/DRL.g:1059:3: (id= ID text= paren_chunk )
+                    // /home/etirelli/workspace/jboss/jbossrules/drools-compiler/src/main/resources/org/drools/lang/DRL.g:1067:3: (id= ID text= paren_chunk )
                     {
-                    // /Users/michaelneale/project/jboss-rules/drools-compiler/src/main/resources/org/drools/lang/DRL.g:1059:3: (id= ID text= paren_chunk )
-                    // /Users/michaelneale/project/jboss-rules/drools-compiler/src/main/resources/org/drools/lang/DRL.g:1060:4: id= ID text= paren_chunk
+                    // /home/etirelli/workspace/jboss/jbossrules/drools-compiler/src/main/resources/org/drools/lang/DRL.g:1067:3: (id= ID text= paren_chunk )
+                    // /home/etirelli/workspace/jboss/jbossrules/drools-compiler/src/main/resources/org/drools/lang/DRL.g:1068:4: id= ID text= paren_chunk
                     {
                     id=(Token)input.LT(1);
-                    match(input,ID,FOLLOW_ID_in_accumulate_statement3203); if (failed) return d;
-                    pushFollow(FOLLOW_paren_chunk_in_accumulate_statement3207);
+                    match(input,ID,FOLLOW_ID_in_accumulate_statement3254); if (failed) return d;
+                    pushFollow(FOLLOW_paren_chunk_in_accumulate_statement3258);
                     text=paren_chunk();
                     _fsp--;
                     if (failed) return d;
@@ -4493,7 +4613,7 @@
             }
 
             RIGHT_PAREN45=(Token)input.LT(1);
-            match(input,RIGHT_PAREN,FOLLOW_RIGHT_PAREN_in_accumulate_statement3224); if (failed) return d;
+            match(input,RIGHT_PAREN,FOLLOW_RIGHT_PAREN_in_accumulate_statement3275); if (failed) return d;
             if ( backtracking==0 ) {
 
               			location.setType( Location.LOCATION_LHS_BEGIN_OF_CONDITION );
@@ -4516,7 +4636,7 @@
 
 
     // $ANTLR start from_source
-    // /Users/michaelneale/project/jboss-rules/drools-compiler/src/main/resources/org/drools/lang/DRL.g:1080:1: from_source[FromDescr from] returns [DeclarativeInvokerDescr ds] : ident= identifier ( options {k=1; } : args= paren_chunk )? ( expression_chain[$from, ad] )? ;
+    // /home/etirelli/workspace/jboss/jbossrules/drools-compiler/src/main/resources/org/drools/lang/DRL.g:1088:1: from_source[FromDescr from] returns [DeclarativeInvokerDescr ds] : ident= identifier ( options {k=1; } : args= paren_chunk )? ( expression_chain[$from, ad] )? ;
     public final DeclarativeInvokerDescr from_source(FromDescr from) throws RecognitionException {
         DeclarativeInvokerDescr ds = null;
 
@@ -4531,10 +4651,10 @@
         		FunctionCallDescr fc = null;
         	
         try {
-            // /Users/michaelneale/project/jboss-rules/drools-compiler/src/main/resources/org/drools/lang/DRL.g:1086:2: (ident= identifier ( options {k=1; } : args= paren_chunk )? ( expression_chain[$from, ad] )? )
-            // /Users/michaelneale/project/jboss-rules/drools-compiler/src/main/resources/org/drools/lang/DRL.g:1086:4: ident= identifier ( options {k=1; } : args= paren_chunk )? ( expression_chain[$from, ad] )?
+            // /home/etirelli/workspace/jboss/jbossrules/drools-compiler/src/main/resources/org/drools/lang/DRL.g:1094:2: (ident= identifier ( options {k=1; } : args= paren_chunk )? ( expression_chain[$from, ad] )? )
+            // /home/etirelli/workspace/jboss/jbossrules/drools-compiler/src/main/resources/org/drools/lang/DRL.g:1094:4: ident= identifier ( options {k=1; } : args= paren_chunk )? ( expression_chain[$from, ad] )?
             {
-            pushFollow(FOLLOW_identifier_in_from_source3255);
+            pushFollow(FOLLOW_identifier_in_from_source3306);
             ident=identifier();
             _fsp--;
             if (failed) return ds;
@@ -4548,18 +4668,18 @@
               			location.setProperty(Location.LOCATION_FROM_CONTENT, ident.start.getText());
               		
             }
-            // /Users/michaelneale/project/jboss-rules/drools-compiler/src/main/resources/org/drools/lang/DRL.g:1095:3: ( options {k=1; } : args= paren_chunk )?
-            int alt54=2;
-            int LA54_0 = input.LA(1);
+            // /home/etirelli/workspace/jboss/jbossrules/drools-compiler/src/main/resources/org/drools/lang/DRL.g:1103:3: ( options {k=1; } : args= paren_chunk )?
+            int alt56=2;
+            int LA56_0 = input.LA(1);
 
-            if ( (LA54_0==LEFT_PAREN) ) {
-                alt54=1;
+            if ( (LA56_0==LEFT_PAREN) ) {
+                alt56=1;
             }
-            switch (alt54) {
+            switch (alt56) {
                 case 1 :
-                    // /Users/michaelneale/project/jboss-rules/drools-compiler/src/main/resources/org/drools/lang/DRL.g:1102:5: args= paren_chunk
+                    // /home/etirelli/workspace/jboss/jbossrules/drools-compiler/src/main/resources/org/drools/lang/DRL.g:1110:5: args= paren_chunk
                     {
-                    pushFollow(FOLLOW_paren_chunk_in_from_source3283);
+                    pushFollow(FOLLOW_paren_chunk_in_from_source3334);
                     args=paren_chunk();
                     _fsp--;
                     if (failed) return ds;
@@ -4583,18 +4703,18 @@
 
             }
 
-            // /Users/michaelneale/project/jboss-rules/drools-compiler/src/main/resources/org/drools/lang/DRL.g:1116:3: ( expression_chain[$from, ad] )?
-            int alt55=2;
-            int LA55_0 = input.LA(1);
+            // /home/etirelli/workspace/jboss/jbossrules/drools-compiler/src/main/resources/org/drools/lang/DRL.g:1124:3: ( expression_chain[$from, ad] )?
+            int alt57=2;
+            int LA57_0 = input.LA(1);
 
-            if ( (LA55_0==DOT) ) {
-                alt55=1;
+            if ( (LA57_0==DOT) ) {
+                alt57=1;
             }
-            switch (alt55) {
+            switch (alt57) {
                 case 1 :
-                    // /Users/michaelneale/project/jboss-rules/drools-compiler/src/main/resources/org/drools/lang/DRL.g:1116:3: expression_chain[$from, ad]
+                    // /home/etirelli/workspace/jboss/jbossrules/drools-compiler/src/main/resources/org/drools/lang/DRL.g:1124:3: expression_chain[$from, ad]
                     {
-                    pushFollow(FOLLOW_expression_chain_in_from_source3296);
+                    pushFollow(FOLLOW_expression_chain_in_from_source3347);
                     expression_chain(from,  ad);
                     _fsp--;
                     if (failed) return ds;
@@ -4628,7 +4748,7 @@
 
 
     // $ANTLR start expression_chain
-    // /Users/michaelneale/project/jboss-rules/drools-compiler/src/main/resources/org/drools/lang/DRL.g:1127:1: expression_chain[FromDescr from, AccessorDescr as] : ( DOT field= identifier ( ( LEFT_SQUARE )=>sqarg= square_chunk | ( LEFT_PAREN )=>paarg= paren_chunk )? ( expression_chain[from, as] )? ) ;
+    // /home/etirelli/workspace/jboss/jbossrules/drools-compiler/src/main/resources/org/drools/lang/DRL.g:1135:1: expression_chain[FromDescr from, AccessorDescr as] : ( DOT field= identifier ( ( LEFT_SQUARE )=>sqarg= square_chunk | ( LEFT_PAREN )=>paarg= paren_chunk )? ( expression_chain[from, as] )? ) ;
     public final void expression_chain(FromDescr from, AccessorDescr as) throws RecognitionException {
         identifier_return field = null;
 
@@ -4642,14 +4762,14 @@
         	    	MethodAccessDescr ma = null;	
         	
         try {
-            // /Users/michaelneale/project/jboss-rules/drools-compiler/src/main/resources/org/drools/lang/DRL.g:1132:2: ( ( DOT field= identifier ( ( LEFT_SQUARE )=>sqarg= square_chunk | ( LEFT_PAREN )=>paarg= paren_chunk )? ( expression_chain[from, as] )? ) )
-            // /Users/michaelneale/project/jboss-rules/drools-compiler/src/main/resources/org/drools/lang/DRL.g:1133:2: ( DOT field= identifier ( ( LEFT_SQUARE )=>sqarg= square_chunk | ( LEFT_PAREN )=>paarg= paren_chunk )? ( expression_chain[from, as] )? )
+            // /home/etirelli/workspace/jboss/jbossrules/drools-compiler/src/main/resources/org/drools/lang/DRL.g:1140:2: ( ( DOT field= identifier ( ( LEFT_SQUARE )=>sqarg= square_chunk | ( LEFT_PAREN )=>paarg= paren_chunk )? ( expression_chain[from, as] )? ) )
+            // /home/etirelli/workspace/jboss/jbossrules/drools-compiler/src/main/resources/org/drools/lang/DRL.g:1141:2: ( DOT field= identifier ( ( LEFT_SQUARE )=>sqarg= square_chunk | ( LEFT_PAREN )=>paarg= paren_chunk )? ( expression_chain[from, as] )? )
             {
-            // /Users/michaelneale/project/jboss-rules/drools-compiler/src/main/resources/org/drools/lang/DRL.g:1133:2: ( DOT field= identifier ( ( LEFT_SQUARE )=>sqarg= square_chunk | ( LEFT_PAREN )=>paarg= paren_chunk )? ( expression_chain[from, as] )? )
-            // /Users/michaelneale/project/jboss-rules/drools-compiler/src/main/resources/org/drools/lang/DRL.g:1133:4: DOT field= identifier ( ( LEFT_SQUARE )=>sqarg= square_chunk | ( LEFT_PAREN )=>paarg= paren_chunk )? ( expression_chain[from, as] )?
+            // /home/etirelli/workspace/jboss/jbossrules/drools-compiler/src/main/resources/org/drools/lang/DRL.g:1141:2: ( DOT field= identifier ( ( LEFT_SQUARE )=>sqarg= square_chunk | ( LEFT_PAREN )=>paarg= paren_chunk )? ( expression_chain[from, as] )? )
+            // /home/etirelli/workspace/jboss/jbossrules/drools-compiler/src/main/resources/org/drools/lang/DRL.g:1141:4: DOT field= identifier ( ( LEFT_SQUARE )=>sqarg= square_chunk | ( LEFT_PAREN )=>paarg= paren_chunk )? ( expression_chain[from, as] )?
             {
-            match(input,DOT,FOLLOW_DOT_in_expression_chain3327); if (failed) return ;
-            pushFollow(FOLLOW_identifier_in_expression_chain3331);
+            match(input,DOT,FOLLOW_DOT_in_expression_chain3378); if (failed) return ;
+            pushFollow(FOLLOW_identifier_in_expression_chain3382);
             field=identifier();
             _fsp--;
             if (failed) return ;
@@ -4661,14 +4781,14 @@
               		fa.setEndCharacter( ((CommonToken)((Token)field.start)).getStopIndex() );
               	    
             }
-            // /Users/michaelneale/project/jboss-rules/drools-compiler/src/main/resources/org/drools/lang/DRL.g:1140:4: ( ( LEFT_SQUARE )=>sqarg= square_chunk | ( LEFT_PAREN )=>paarg= paren_chunk )?
-            int alt56=3;
-            alt56 = dfa56.predict(input);
-            switch (alt56) {
+            // /home/etirelli/workspace/jboss/jbossrules/drools-compiler/src/main/resources/org/drools/lang/DRL.g:1148:4: ( ( LEFT_SQUARE )=>sqarg= square_chunk | ( LEFT_PAREN )=>paarg= paren_chunk )?
+            int alt58=3;
+            alt58 = dfa58.predict(input);
+            switch (alt58) {
                 case 1 :
-                    // /Users/michaelneale/project/jboss-rules/drools-compiler/src/main/resources/org/drools/lang/DRL.g:1141:6: ( LEFT_SQUARE )=>sqarg= square_chunk
+                    // /home/etirelli/workspace/jboss/jbossrules/drools-compiler/src/main/resources/org/drools/lang/DRL.g:1149:6: ( LEFT_SQUARE )=>sqarg= square_chunk
                     {
-                    pushFollow(FOLLOW_square_chunk_in_expression_chain3362);
+                    pushFollow(FOLLOW_square_chunk_in_expression_chain3413);
                     sqarg=square_chunk();
                     _fsp--;
                     if (failed) return ;
@@ -4682,9 +4802,9 @@
                     }
                     break;
                 case 2 :
-                    // /Users/michaelneale/project/jboss-rules/drools-compiler/src/main/resources/org/drools/lang/DRL.g:1147:6: ( LEFT_PAREN )=>paarg= paren_chunk
+                    // /home/etirelli/workspace/jboss/jbossrules/drools-compiler/src/main/resources/org/drools/lang/DRL.g:1155:6: ( LEFT_PAREN )=>paarg= paren_chunk
                     {
-                    pushFollow(FOLLOW_paren_chunk_in_expression_chain3395);
+                    pushFollow(FOLLOW_paren_chunk_in_expression_chain3446);
                     paarg=paren_chunk();
                     _fsp--;
                     if (failed) return ;
@@ -4702,18 +4822,18 @@
 
             }
 
-            // /Users/michaelneale/project/jboss-rules/drools-compiler/src/main/resources/org/drools/lang/DRL.g:1155:4: ( expression_chain[from, as] )?
-            int alt57=2;
-            int LA57_0 = input.LA(1);
+            // /home/etirelli/workspace/jboss/jbossrules/drools-compiler/src/main/resources/org/drools/lang/DRL.g:1163:4: ( expression_chain[from, as] )?
+            int alt59=2;
+            int LA59_0 = input.LA(1);
 
-            if ( (LA57_0==DOT) ) {
-                alt57=1;
+            if ( (LA59_0==DOT) ) {
+                alt59=1;
             }
-            switch (alt57) {
+            switch (alt59) {
                 case 1 :
-                    // /Users/michaelneale/project/jboss-rules/drools-compiler/src/main/resources/org/drools/lang/DRL.g:1155:4: expression_chain[from, as]
+                    // /home/etirelli/workspace/jboss/jbossrules/drools-compiler/src/main/resources/org/drools/lang/DRL.g:1163:4: expression_chain[from, as]
                     {
-                    pushFollow(FOLLOW_expression_chain_in_expression_chain3410);
+                    pushFollow(FOLLOW_expression_chain_in_expression_chain3461);
                     expression_chain(from,  as);
                     _fsp--;
                     if (failed) return ;
@@ -4750,7 +4870,7 @@
 
 
     // $ANTLR start collect_statement
-    // /Users/michaelneale/project/jboss-rules/drools-compiler/src/main/resources/org/drools/lang/DRL.g:1169:1: collect_statement returns [CollectDescr d] : COLLECT LEFT_PAREN pattern= pattern_source RIGHT_PAREN ;
+    // /home/etirelli/workspace/jboss/jbossrules/drools-compiler/src/main/resources/org/drools/lang/DRL.g:1177:1: collect_statement returns [CollectDescr d] : COLLECT LEFT_PAREN pattern= pattern_source RIGHT_PAREN ;
     public final CollectDescr collect_statement() throws RecognitionException {
         CollectDescr d = null;
 
@@ -4763,11 +4883,11 @@
         		d = factory.createCollect();
         	
         try {
-            // /Users/michaelneale/project/jboss-rules/drools-compiler/src/main/resources/org/drools/lang/DRL.g:1173:2: ( COLLECT LEFT_PAREN pattern= pattern_source RIGHT_PAREN )
-            // /Users/michaelneale/project/jboss-rules/drools-compiler/src/main/resources/org/drools/lang/DRL.g:1174:10: COLLECT LEFT_PAREN pattern= pattern_source RIGHT_PAREN
+            // /home/etirelli/workspace/jboss/jbossrules/drools-compiler/src/main/resources/org/drools/lang/DRL.g:1181:2: ( COLLECT LEFT_PAREN pattern= pattern_source RIGHT_PAREN )
+            // /home/etirelli/workspace/jboss/jbossrules/drools-compiler/src/main/resources/org/drools/lang/DRL.g:1182:10: COLLECT LEFT_PAREN pattern= pattern_source RIGHT_PAREN
             {
             COLLECT46=(Token)input.LT(1);
-            match(input,COLLECT,FOLLOW_COLLECT_in_collect_statement3461); if (failed) return d;
+            match(input,COLLECT,FOLLOW_COLLECT_in_collect_statement3512); if (failed) return d;
             if ( backtracking==0 ) {
                
               			d.setLocation( offset(COLLECT46.getLine()), COLLECT46.getCharPositionInLine() );
@@ -4775,13 +4895,13 @@
               			location.setType( Location.LOCATION_LHS_FROM_COLLECT );
               		
             }
-            match(input,LEFT_PAREN,FOLLOW_LEFT_PAREN_in_collect_statement3471); if (failed) return d;
-            pushFollow(FOLLOW_pattern_source_in_collect_statement3475);
+            match(input,LEFT_PAREN,FOLLOW_LEFT_PAREN_in_collect_statement3522); if (failed) return d;
+            pushFollow(FOLLOW_pattern_source_in_collect_statement3526);
             pattern=pattern_source();
             _fsp--;
             if (failed) return d;
             RIGHT_PAREN47=(Token)input.LT(1);
-            match(input,RIGHT_PAREN,FOLLOW_RIGHT_PAREN_in_collect_statement3477); if (failed) return d;
+            match(input,RIGHT_PAREN,FOLLOW_RIGHT_PAREN_in_collect_statement3528); if (failed) return d;
             if ( backtracking==0 ) {
 
               		        d.setInputPattern( (PatternDescr) pattern );
@@ -4805,7 +4925,7 @@
 
 
     // $ANTLR start entrypoint_statement
-    // /Users/michaelneale/project/jboss-rules/drools-compiler/src/main/resources/org/drools/lang/DRL.g:1188:1: entrypoint_statement returns [EntryPointDescr d] : ENTRY_POINT id= name ;
+    // /home/etirelli/workspace/jboss/jbossrules/drools-compiler/src/main/resources/org/drools/lang/DRL.g:1196:1: entrypoint_statement returns [EntryPointDescr d] : ENTRY_POINT id= name ;
     public final EntryPointDescr entrypoint_statement() throws RecognitionException {
         EntryPointDescr d = null;
 
@@ -4817,11 +4937,11 @@
         		d = factory.createEntryPoint();
         	
         try {
-            // /Users/michaelneale/project/jboss-rules/drools-compiler/src/main/resources/org/drools/lang/DRL.g:1192:2: ( ENTRY_POINT id= name )
-            // /Users/michaelneale/project/jboss-rules/drools-compiler/src/main/resources/org/drools/lang/DRL.g:1193:10: ENTRY_POINT id= name
+            // /home/etirelli/workspace/jboss/jbossrules/drools-compiler/src/main/resources/org/drools/lang/DRL.g:1200:2: ( ENTRY_POINT id= name )
+            // /home/etirelli/workspace/jboss/jbossrules/drools-compiler/src/main/resources/org/drools/lang/DRL.g:1201:10: ENTRY_POINT id= name
             {
             ENTRY_POINT48=(Token)input.LT(1);
-            match(input,ENTRY_POINT,FOLLOW_ENTRY_POINT_in_entrypoint_statement3514); if (failed) return d;
+            match(input,ENTRY_POINT,FOLLOW_ENTRY_POINT_in_entrypoint_statement3565); if (failed) return d;
             if ( backtracking==0 ) {
                
               			d.setLocation( offset(ENTRY_POINT48.getLine()), ENTRY_POINT48.getCharPositionInLine() );
@@ -4829,7 +4949,7 @@
               			location.setType( Location.LOCATION_LHS_FROM_ENTRY_POINT );
               		
             }
-            pushFollow(FOLLOW_name_in_entrypoint_statement3526);
+            pushFollow(FOLLOW_name_in_entrypoint_statement3577);
             id=name();
             _fsp--;
             if (failed) return d;
@@ -4856,7 +4976,7 @@
 
 
     // $ANTLR start fact_binding
-    // /Users/michaelneale/project/jboss-rules/drools-compiler/src/main/resources/org/drools/lang/DRL.g:1207:1: fact_binding returns [BaseDescr d] : ID COLON (fe= fact[$ID.text] | LEFT_PAREN left= fact[$ID.text] ( ( OR | DOUBLE_PIPE ) right= fact[$ID.text] )* RIGHT_PAREN ) ;
+    // /home/etirelli/workspace/jboss/jbossrules/drools-compiler/src/main/resources/org/drools/lang/DRL.g:1215:1: fact_binding returns [BaseDescr d] : ID COLON (fe= fact[$ID.text] | LEFT_PAREN left= fact[$ID.text] ( ( OR | DOUBLE_PIPE ) right= fact[$ID.text] )* RIGHT_PAREN ) ;
     public final BaseDescr fact_binding() throws RecognitionException {
         BaseDescr d = null;
 
@@ -4873,12 +4993,12 @@
         		OrDescr or = null;
         	
         try {
-            // /Users/michaelneale/project/jboss-rules/drools-compiler/src/main/resources/org/drools/lang/DRL.g:1212:3: ( ID COLON (fe= fact[$ID.text] | LEFT_PAREN left= fact[$ID.text] ( ( OR | DOUBLE_PIPE ) right= fact[$ID.text] )* RIGHT_PAREN ) )
-            // /Users/michaelneale/project/jboss-rules/drools-compiler/src/main/resources/org/drools/lang/DRL.g:1213:4: ID COLON (fe= fact[$ID.text] | LEFT_PAREN left= fact[$ID.text] ( ( OR | DOUBLE_PIPE ) right= fact[$ID.text] )* RIGHT_PAREN )
+            // /home/etirelli/workspace/jboss/jbossrules/drools-compiler/src/main/resources/org/drools/lang/DRL.g:1220:3: ( ID COLON (fe= fact[$ID.text] | LEFT_PAREN left= fact[$ID.text] ( ( OR | DOUBLE_PIPE ) right= fact[$ID.text] )* RIGHT_PAREN ) )
+            // /home/etirelli/workspace/jboss/jbossrules/drools-compiler/src/main/resources/org/drools/lang/DRL.g:1221:4: ID COLON (fe= fact[$ID.text] | LEFT_PAREN left= fact[$ID.text] ( ( OR | DOUBLE_PIPE ) right= fact[$ID.text] )* RIGHT_PAREN )
             {
             ID49=(Token)input.LT(1);
-            match(input,ID,FOLLOW_ID_in_fact_binding3558); if (failed) return d;
-            match(input,COLON,FOLLOW_COLON_in_fact_binding3560); if (failed) return d;
+            match(input,ID,FOLLOW_ID_in_fact_binding3609); if (failed) return d;
+            match(input,COLON,FOLLOW_COLON_in_fact_binding3611); if (failed) return d;
             if ( backtracking==0 ) {
 
                		        // handling incomplete parsing
@@ -4886,28 +5006,28 @@
                		        ((PatternDescr) d).setIdentifier( ID49.getText() );
                		
             }
-            // /Users/michaelneale/project/jboss-rules/drools-compiler/src/main/resources/org/drools/lang/DRL.g:1219:3: (fe= fact[$ID.text] | LEFT_PAREN left= fact[$ID.text] ( ( OR | DOUBLE_PIPE ) right= fact[$ID.text] )* RIGHT_PAREN )
-            int alt59=2;
-            int LA59_0 = input.LA(1);
+            // /home/etirelli/workspace/jboss/jbossrules/drools-compiler/src/main/resources/org/drools/lang/DRL.g:1227:3: (fe= fact[$ID.text] | LEFT_PAREN left= fact[$ID.text] ( ( OR | DOUBLE_PIPE ) right= fact[$ID.text] )* RIGHT_PAREN )
+            int alt61=2;
+            int LA61_0 = input.LA(1);
 
-            if ( (LA59_0==ID) ) {
-                alt59=1;
+            if ( (LA61_0==ID) ) {
+                alt61=1;
             }
-            else if ( (LA59_0==LEFT_PAREN) ) {
-                alt59=2;
+            else if ( (LA61_0==LEFT_PAREN) ) {
+                alt61=2;
             }
             else {
                 if (backtracking>0) {failed=true; return d;}
                 NoViableAltException nvae =
-                    new NoViableAltException("1219:3: (fe= fact[$ID.text] | LEFT_PAREN left= fact[$ID.text] ( ( OR | DOUBLE_PIPE ) right= fact[$ID.text] )* RIGHT_PAREN )", 59, 0, input);
+                    new NoViableAltException("1227:3: (fe= fact[$ID.text] | LEFT_PAREN left= fact[$ID.text] ( ( OR | DOUBLE_PIPE ) right= fact[$ID.text] )* RIGHT_PAREN )", 61, 0, input);
 
                 throw nvae;
             }
-            switch (alt59) {
+            switch (alt61) {
                 case 1 :
-                    // /Users/michaelneale/project/jboss-rules/drools-compiler/src/main/resources/org/drools/lang/DRL.g:1219:5: fe= fact[$ID.text]
+                    // /home/etirelli/workspace/jboss/jbossrules/drools-compiler/src/main/resources/org/drools/lang/DRL.g:1227:5: fe= fact[$ID.text]
                     {
-                    pushFollow(FOLLOW_fact_in_fact_binding3574);
+                    pushFollow(FOLLOW_fact_in_fact_binding3625);
                     fe=fact(ID49.getText());
                     _fsp--;
                     if (failed) return d;
@@ -4924,10 +5044,10 @@
                     }
                     break;
                 case 2 :
-                    // /Users/michaelneale/project/jboss-rules/drools-compiler/src/main/resources/org/drools/lang/DRL.g:1228:4: LEFT_PAREN left= fact[$ID.text] ( ( OR | DOUBLE_PIPE ) right= fact[$ID.text] )* RIGHT_PAREN
+                    // /home/etirelli/workspace/jboss/jbossrules/drools-compiler/src/main/resources/org/drools/lang/DRL.g:1236:4: LEFT_PAREN left= fact[$ID.text] ( ( OR | DOUBLE_PIPE ) right= fact[$ID.text] )* RIGHT_PAREN
                     {
-                    match(input,LEFT_PAREN,FOLLOW_LEFT_PAREN_in_fact_binding3590); if (failed) return d;
-                    pushFollow(FOLLOW_fact_in_fact_binding3594);
+                    match(input,LEFT_PAREN,FOLLOW_LEFT_PAREN_in_fact_binding3641); if (failed) return d;
+                    pushFollow(FOLLOW_fact_in_fact_binding3645);
                     left=fact(ID49.getText());
                     _fsp--;
                     if (failed) return d;
@@ -4940,20 +5060,20 @@
                          			}
                        		
                     }
-                    // /Users/michaelneale/project/jboss-rules/drools-compiler/src/main/resources/org/drools/lang/DRL.g:1236:4: ( ( OR | DOUBLE_PIPE ) right= fact[$ID.text] )*
-                    loop58:
+                    // /home/etirelli/workspace/jboss/jbossrules/drools-compiler/src/main/resources/org/drools/lang/DRL.g:1244:4: ( ( OR | DOUBLE_PIPE ) right= fact[$ID.text] )*
+                    loop60:
                     do {
-                        int alt58=2;
-                        int LA58_0 = input.LA(1);
+                        int alt60=2;
+                        int LA60_0 = input.LA(1);
 
-                        if ( ((LA58_0>=OR && LA58_0<=DOUBLE_PIPE)) ) {
-                            alt58=1;
+                        if ( ((LA60_0>=OR && LA60_0<=DOUBLE_PIPE)) ) {
+                            alt60=1;
                         }
 
 
-                        switch (alt58) {
+                        switch (alt60) {
                     	case 1 :
-                    	    // /Users/michaelneale/project/jboss-rules/drools-compiler/src/main/resources/org/drools/lang/DRL.g:1236:6: ( OR | DOUBLE_PIPE ) right= fact[$ID.text]
+                    	    // /home/etirelli/workspace/jboss/jbossrules/drools-compiler/src/main/resources/org/drools/lang/DRL.g:1244:6: ( OR | DOUBLE_PIPE ) right= fact[$ID.text]
                     	    {
                     	    if ( (input.LA(1)>=OR && input.LA(1)<=DOUBLE_PIPE) ) {
                     	        input.consume();
@@ -4963,10 +5083,10 @@
                     	        if (backtracking>0) {failed=true; return d;}
                     	        MismatchedSetException mse =
                     	            new MismatchedSetException(null,input);
-                    	        recoverFromMismatchedSet(input,mse,FOLLOW_set_in_fact_binding3607);    throw mse;
+                    	        recoverFromMismatchedSet(input,mse,FOLLOW_set_in_fact_binding3658);    throw mse;
                     	    }
 
-                    	    pushFollow(FOLLOW_fact_in_fact_binding3619);
+                    	    pushFollow(FOLLOW_fact_in_fact_binding3670);
                     	    right=fact(ID49.getText());
                     	    _fsp--;
                     	    if (failed) return d;
@@ -4985,11 +5105,11 @@
                     	    break;
 
                     	default :
-                    	    break loop58;
+                    	    break loop60;
                         }
                     } while (true);
 
-                    match(input,RIGHT_PAREN,FOLLOW_RIGHT_PAREN_in_fact_binding3637); if (failed) return d;
+                    match(input,RIGHT_PAREN,FOLLOW_RIGHT_PAREN_in_fact_binding3688); if (failed) return d;
 
                     }
                     break;
@@ -5012,7 +5132,7 @@
 
 
     // $ANTLR start fact
-    // /Users/michaelneale/project/jboss-rules/drools-compiler/src/main/resources/org/drools/lang/DRL.g:1251:1: fact[String ident] returns [BaseDescr d] : id= qualified_id LEFT_PAREN ( constraints[pattern] )? RIGHT_PAREN ( EOF )? ;
+    // /home/etirelli/workspace/jboss/jbossrules/drools-compiler/src/main/resources/org/drools/lang/DRL.g:1259:1: fact[String ident] returns [BaseDescr d] : id= qualified_id LEFT_PAREN ( constraints[pattern] )? RIGHT_PAREN ( EOF )? ;
     public final BaseDescr fact(String ident) throws RecognitionException {
         BaseDescr d = null;
 
@@ -5026,8 +5146,8 @@
         		PatternDescr pattern = null;
         	
         try {
-            // /Users/michaelneale/project/jboss-rules/drools-compiler/src/main/resources/org/drools/lang/DRL.g:1256:3: (id= qualified_id LEFT_PAREN ( constraints[pattern] )? RIGHT_PAREN ( EOF )? )
-            // /Users/michaelneale/project/jboss-rules/drools-compiler/src/main/resources/org/drools/lang/DRL.g:1257:11: id= qualified_id LEFT_PAREN ( constraints[pattern] )? RIGHT_PAREN ( EOF )?
+            // /home/etirelli/workspace/jboss/jbossrules/drools-compiler/src/main/resources/org/drools/lang/DRL.g:1264:3: (id= qualified_id LEFT_PAREN ( constraints[pattern] )? RIGHT_PAREN ( EOF )? )
+            // /home/etirelli/workspace/jboss/jbossrules/drools-compiler/src/main/resources/org/drools/lang/DRL.g:1265:11: id= qualified_id LEFT_PAREN ( constraints[pattern] )? RIGHT_PAREN ( EOF )?
             {
             if ( backtracking==0 ) {
 
@@ -5038,7 +5158,7 @@
                			d = pattern; 
                	        
             }
-            pushFollow(FOLLOW_qualified_id_in_fact3692);
+            pushFollow(FOLLOW_qualified_id_in_fact3743);
             id=qualified_id();
             _fsp--;
             if (failed) return d;
@@ -5052,7 +5172,7 @@
                		
             }
             LEFT_PAREN50=(Token)input.LT(1);
-            match(input,LEFT_PAREN,FOLLOW_LEFT_PAREN_in_fact3702); if (failed) return d;
+            match(input,LEFT_PAREN,FOLLOW_LEFT_PAREN_in_fact3753); if (failed) return d;
             if ( backtracking==0 ) {
 
               		        location.setType( Location.LOCATION_LHS_INSIDE_CONDITION_START );
@@ -5062,18 +5182,18 @@
                			pattern.setLeftParentCharacter( ((CommonToken)LEFT_PAREN50).getStartIndex() );
                		
             }
-            // /Users/michaelneale/project/jboss-rules/drools-compiler/src/main/resources/org/drools/lang/DRL.g:1280:4: ( constraints[pattern] )?
-            int alt60=2;
-            int LA60_0 = input.LA(1);
+            // /home/etirelli/workspace/jboss/jbossrules/drools-compiler/src/main/resources/org/drools/lang/DRL.g:1288:4: ( constraints[pattern] )?
+            int alt62=2;
+            int LA62_0 = input.LA(1);
 
-            if ( ((LA60_0>=PACKAGE && LA60_0<=ID)||(LA60_0>=GLOBAL && LA60_0<=LEFT_PAREN)||LA60_0==END||(LA60_0>=QUERY && LA60_0<=ATTRIBUTES)||LA60_0==ENABLED||LA60_0==SALIENCE||(LA60_0>=DURATION && LA60_0<=DIALECT)||LA60_0==FROM||LA60_0==EVAL||(LA60_0>=INIT && LA60_0<=RESULT)||LA60_0==LEFT_SQUARE||LA60_0==IN||(LA60_0>=THEN && LA60_0<=EVENT)) ) {
-                alt60=1;
+            if ( ((LA62_0>=PACKAGE && LA62_0<=ID)||(LA62_0>=GLOBAL && LA62_0<=LEFT_PAREN)||LA62_0==END||(LA62_0>=QUERY && LA62_0<=ATTRIBUTES)||LA62_0==ENABLED||LA62_0==SALIENCE||(LA62_0>=DURATION && LA62_0<=DIALECT)||LA62_0==FROM||LA62_0==EVAL||(LA62_0>=INIT && LA62_0<=RESULT)||LA62_0==LEFT_SQUARE||LA62_0==IN||(LA62_0>=THEN && LA62_0<=EVENT)) ) {
+                alt62=1;
             }
-            switch (alt60) {
+            switch (alt62) {
                 case 1 :
-                    // /Users/michaelneale/project/jboss-rules/drools-compiler/src/main/resources/org/drools/lang/DRL.g:1280:4: constraints[pattern]
+                    // /home/etirelli/workspace/jboss/jbossrules/drools-compiler/src/main/resources/org/drools/lang/DRL.g:1288:4: constraints[pattern]
                     {
-                    pushFollow(FOLLOW_constraints_in_fact3714);
+                    pushFollow(FOLLOW_constraints_in_fact3765);
                     constraints(pattern);
                     _fsp--;
                     if (failed) return d;
@@ -5084,7 +5204,7 @@
             }
 
             RIGHT_PAREN51=(Token)input.LT(1);
-            match(input,RIGHT_PAREN,FOLLOW_RIGHT_PAREN_in_fact3721); if (failed) return d;
+            match(input,RIGHT_PAREN,FOLLOW_RIGHT_PAREN_in_fact3772); if (failed) return d;
             if ( backtracking==0 ) {
 
               		        if( ")".equals( RIGHT_PAREN51.getText() ) ) {
@@ -5095,18 +5215,18 @@
               		        }
                		
             }
-            // /Users/michaelneale/project/jboss-rules/drools-compiler/src/main/resources/org/drools/lang/DRL.g:1290:4: ( EOF )?
-            int alt61=2;
-            int LA61_0 = input.LA(1);
+            // /home/etirelli/workspace/jboss/jbossrules/drools-compiler/src/main/resources/org/drools/lang/DRL.g:1298:4: ( EOF )?
+            int alt63=2;
+            int LA63_0 = input.LA(1);
 
-            if ( (LA61_0==EOF) ) {
-                alt61=1;
+            if ( (LA63_0==EOF) ) {
+                alt63=1;
             }
-            switch (alt61) {
+            switch (alt63) {
                 case 1 :
-                    // /Users/michaelneale/project/jboss-rules/drools-compiler/src/main/resources/org/drools/lang/DRL.g:1290:4: EOF
+                    // /home/etirelli/workspace/jboss/jbossrules/drools-compiler/src/main/resources/org/drools/lang/DRL.g:1298:4: EOF
                     {
-                    match(input,EOF,FOLLOW_EOF_in_fact3730); if (failed) return d;
+                    match(input,EOF,FOLLOW_EOF_in_fact3781); if (failed) return d;
 
                     }
                     break;
@@ -5129,34 +5249,34 @@
 
 
     // $ANTLR start constraints
-    // /Users/michaelneale/project/jboss-rules/drools-compiler/src/main/resources/org/drools/lang/DRL.g:1294:1: constraints[PatternDescr pattern] : ( constraint[$pattern] | behaviors ) ( COMMA ( constraint[$pattern] | behaviors ) )* ;
+    // /home/etirelli/workspace/jboss/jbossrules/drools-compiler/src/main/resources/org/drools/lang/DRL.g:1302:1: constraints[PatternDescr pattern] : ( constraint[$pattern] | behaviors ) ( COMMA ( constraint[$pattern] | behaviors ) )* ;
     public final void constraints(PatternDescr pattern) throws RecognitionException {
         try {
-            // /Users/michaelneale/project/jboss-rules/drools-compiler/src/main/resources/org/drools/lang/DRL.g:1295:2: ( ( constraint[$pattern] | behaviors ) ( COMMA ( constraint[$pattern] | behaviors ) )* )
-            // /Users/michaelneale/project/jboss-rules/drools-compiler/src/main/resources/org/drools/lang/DRL.g:1295:4: ( constraint[$pattern] | behaviors ) ( COMMA ( constraint[$pattern] | behaviors ) )*
+            // /home/etirelli/workspace/jboss/jbossrules/drools-compiler/src/main/resources/org/drools/lang/DRL.g:1303:2: ( ( constraint[$pattern] | behaviors ) ( COMMA ( constraint[$pattern] | behaviors ) )* )
+            // /home/etirelli/workspace/jboss/jbossrules/drools-compiler/src/main/resources/org/drools/lang/DRL.g:1303:4: ( constraint[$pattern] | behaviors ) ( COMMA ( constraint[$pattern] | behaviors ) )*
             {
-            // /Users/michaelneale/project/jboss-rules/drools-compiler/src/main/resources/org/drools/lang/DRL.g:1295:4: ( constraint[$pattern] | behaviors )
-            int alt62=2;
-            int LA62_0 = input.LA(1);
+            // /home/etirelli/workspace/jboss/jbossrules/drools-compiler/src/main/resources/org/drools/lang/DRL.g:1303:4: ( constraint[$pattern] | behaviors )
+            int alt64=2;
+            int LA64_0 = input.LA(1);
 
-            if ( ((LA62_0>=PACKAGE && LA62_0<=ID)||(LA62_0>=GLOBAL && LA62_0<=LEFT_PAREN)||LA62_0==END||(LA62_0>=QUERY && LA62_0<=ATTRIBUTES)||LA62_0==ENABLED||LA62_0==SALIENCE||(LA62_0>=DURATION && LA62_0<=DIALECT)||LA62_0==FROM||LA62_0==EVAL||(LA62_0>=INIT && LA62_0<=RESULT)||LA62_0==IN||(LA62_0>=THEN && LA62_0<=EVENT)) ) {
-                alt62=1;
+            if ( ((LA64_0>=PACKAGE && LA64_0<=ID)||(LA64_0>=GLOBAL && LA64_0<=LEFT_PAREN)||LA64_0==END||(LA64_0>=QUERY && LA64_0<=ATTRIBUTES)||LA64_0==ENABLED||LA64_0==SALIENCE||(LA64_0>=DURATION && LA64_0<=DIALECT)||LA64_0==FROM||LA64_0==EVAL||(LA64_0>=INIT && LA64_0<=RESULT)||LA64_0==IN||(LA64_0>=THEN && LA64_0<=EVENT)) ) {
+                alt64=1;
             }
-            else if ( (LA62_0==LEFT_SQUARE) ) {
-                alt62=2;
+            else if ( (LA64_0==LEFT_SQUARE) ) {
+                alt64=2;
             }
             else {
                 if (backtracking>0) {failed=true; return ;}
                 NoViableAltException nvae =
-                    new NoViableAltException("1295:4: ( constraint[$pattern] | behaviors )", 62, 0, input);
+                    new NoViableAltException("1303:4: ( constraint[$pattern] | behaviors )", 64, 0, input);
 
                 throw nvae;
             }
-            switch (alt62) {
+            switch (alt64) {
                 case 1 :
-                    // /Users/michaelneale/project/jboss-rules/drools-compiler/src/main/resources/org/drools/lang/DRL.g:1295:5: constraint[$pattern]
+                    // /home/etirelli/workspace/jboss/jbossrules/drools-compiler/src/main/resources/org/drools/lang/DRL.g:1303:5: constraint[$pattern]
                     {
-                    pushFollow(FOLLOW_constraint_in_constraints3749);
+                    pushFollow(FOLLOW_constraint_in_constraints3800);
                     constraint(pattern);
                     _fsp--;
                     if (failed) return ;
@@ -5164,9 +5284,9 @@
                     }
                     break;
                 case 2 :
-                    // /Users/michaelneale/project/jboss-rules/drools-compiler/src/main/resources/org/drools/lang/DRL.g:1295:26: behaviors
+                    // /home/etirelli/workspace/jboss/jbossrules/drools-compiler/src/main/resources/org/drools/lang/DRL.g:1303:26: behaviors
                     {
-                    pushFollow(FOLLOW_behaviors_in_constraints3752);
+                    pushFollow(FOLLOW_behaviors_in_constraints3803);
                     behaviors();
                     _fsp--;
                     if (failed) return ;
@@ -5176,47 +5296,47 @@
 
             }
 
-            // /Users/michaelneale/project/jboss-rules/drools-compiler/src/main/resources/org/drools/lang/DRL.g:1296:3: ( COMMA ( constraint[$pattern] | behaviors ) )*
-            loop64:
+            // /home/etirelli/workspace/jboss/jbossrules/drools-compiler/src/main/resources/org/drools/lang/DRL.g:1304:3: ( COMMA ( constraint[$pattern] | behaviors ) )*
+            loop66:
             do {
-                int alt64=2;
-                int LA64_0 = input.LA(1);
+                int alt66=2;
+                int LA66_0 = input.LA(1);
 
-                if ( (LA64_0==COMMA) ) {
-                    alt64=1;
+                if ( (LA66_0==COMMA) ) {
+                    alt66=1;
                 }
 
 
-                switch (alt64) {
+                switch (alt66) {
             	case 1 :
-            	    // /Users/michaelneale/project/jboss-rules/drools-compiler/src/main/resources/org/drools/lang/DRL.g:1296:5: COMMA ( constraint[$pattern] | behaviors )
+            	    // /home/etirelli/workspace/jboss/jbossrules/drools-compiler/src/main/resources/org/drools/lang/DRL.g:1304:5: COMMA ( constraint[$pattern] | behaviors )
             	    {
-            	    match(input,COMMA,FOLLOW_COMMA_in_constraints3759); if (failed) return ;
+            	    match(input,COMMA,FOLLOW_COMMA_in_constraints3810); if (failed) return ;
             	    if ( backtracking==0 ) {
             	       location.setType( Location.LOCATION_LHS_INSIDE_CONDITION_START ); 
             	    }
-            	    // /Users/michaelneale/project/jboss-rules/drools-compiler/src/main/resources/org/drools/lang/DRL.g:1297:5: ( constraint[$pattern] | behaviors )
-            	    int alt63=2;
-            	    int LA63_0 = input.LA(1);
+            	    // /home/etirelli/workspace/jboss/jbossrules/drools-compiler/src/main/resources/org/drools/lang/DRL.g:1305:5: ( constraint[$pattern] | behaviors )
+            	    int alt65=2;
+            	    int LA65_0 = input.LA(1);
 
-            	    if ( ((LA63_0>=PACKAGE && LA63_0<=ID)||(LA63_0>=GLOBAL && LA63_0<=LEFT_PAREN)||LA63_0==END||(LA63_0>=QUERY && LA63_0<=ATTRIBUTES)||LA63_0==ENABLED||LA63_0==SALIENCE||(LA63_0>=DURATION && LA63_0<=DIALECT)||LA63_0==FROM||LA63_0==EVAL||(LA63_0>=INIT && LA63_0<=RESULT)||LA63_0==IN||(LA63_0>=THEN && LA63_0<=EVENT)) ) {
-            	        alt63=1;
+            	    if ( ((LA65_0>=PACKAGE && LA65_0<=ID)||(LA65_0>=GLOBAL && LA65_0<=LEFT_PAREN)||LA65_0==END||(LA65_0>=QUERY && LA65_0<=ATTRIBUTES)||LA65_0==ENABLED||LA65_0==SALIENCE||(LA65_0>=DURATION && LA65_0<=DIALECT)||LA65_0==FROM||LA65_0==EVAL||(LA65_0>=INIT && LA65_0<=RESULT)||LA65_0==IN||(LA65_0>=THEN && LA65_0<=EVENT)) ) {
+            	        alt65=1;
             	    }
-            	    else if ( (LA63_0==LEFT_SQUARE) ) {
-            	        alt63=2;
+            	    else if ( (LA65_0==LEFT_SQUARE) ) {
+            	        alt65=2;
             	    }
             	    else {
             	        if (backtracking>0) {failed=true; return ;}
             	        NoViableAltException nvae =
-            	            new NoViableAltException("1297:5: ( constraint[$pattern] | behaviors )", 63, 0, input);
+            	            new NoViableAltException("1305:5: ( constraint[$pattern] | behaviors )", 65, 0, input);
 
             	        throw nvae;
             	    }
-            	    switch (alt63) {
+            	    switch (alt65) {
             	        case 1 :
-            	            // /Users/michaelneale/project/jboss-rules/drools-compiler/src/main/resources/org/drools/lang/DRL.g:1297:6: constraint[$pattern]
+            	            // /home/etirelli/workspace/jboss/jbossrules/drools-compiler/src/main/resources/org/drools/lang/DRL.g:1305:6: constraint[$pattern]
             	            {
-            	            pushFollow(FOLLOW_constraint_in_constraints3769);
+            	            pushFollow(FOLLOW_constraint_in_constraints3820);
             	            constraint(pattern);
             	            _fsp--;
             	            if (failed) return ;
@@ -5224,9 +5344,9 @@
             	            }
             	            break;
             	        case 2 :
-            	            // /Users/michaelneale/project/jboss-rules/drools-compiler/src/main/resources/org/drools/lang/DRL.g:1297:27: behaviors
+            	            // /home/etirelli/workspace/jboss/jbossrules/drools-compiler/src/main/resources/org/drools/lang/DRL.g:1305:27: behaviors
             	            {
-            	            pushFollow(FOLLOW_behaviors_in_constraints3772);
+            	            pushFollow(FOLLOW_behaviors_in_constraints3823);
             	            behaviors();
             	            _fsp--;
             	            if (failed) return ;
@@ -5241,7 +5361,7 @@
             	    break;
 
             	default :
-            	    break loop64;
+            	    break loop66;
                 }
             } while (true);
 
@@ -5261,7 +5381,7 @@
 
 
     // $ANTLR start constraint
-    // /Users/michaelneale/project/jboss-rules/drools-compiler/src/main/resources/org/drools/lang/DRL.g:1301:1: constraint[PatternDescr pattern] : or_constr[top] ;
+    // /home/etirelli/workspace/jboss/jbossrules/drools-compiler/src/main/resources/org/drools/lang/DRL.g:1309:1: constraint[PatternDescr pattern] : or_constr[top] ;
     public final void constraint(PatternDescr pattern) throws RecognitionException {
 
         		ConditionalElementDescr top = null;
@@ -5269,15 +5389,15 @@
         		location.setProperty(Location.LOCATION_PROPERTY_PROPERTY_NAME, input.LT(1).getText() );
         	
         try {
-            // /Users/michaelneale/project/jboss-rules/drools-compiler/src/main/resources/org/drools/lang/DRL.g:1307:2: ( or_constr[top] )
-            // /Users/michaelneale/project/jboss-rules/drools-compiler/src/main/resources/org/drools/lang/DRL.g:1308:3: or_constr[top]
+            // /home/etirelli/workspace/jboss/jbossrules/drools-compiler/src/main/resources/org/drools/lang/DRL.g:1315:2: ( or_constr[top] )
+            // /home/etirelli/workspace/jboss/jbossrules/drools-compiler/src/main/resources/org/drools/lang/DRL.g:1316:3: or_constr[top]
             {
             if ( backtracking==0 ) {
 
               			top = pattern.getConstraint();
               		
             }
-            pushFollow(FOLLOW_or_constr_in_constraint3805);
+            pushFollow(FOLLOW_or_constr_in_constraint3856);
             or_constr(top);
             _fsp--;
             if (failed) return ;
@@ -5297,34 +5417,34 @@
 
 
     // $ANTLR start behaviors
-    // /Users/michaelneale/project/jboss-rules/drools-compiler/src/main/resources/org/drools/lang/DRL.g:1314:1: behaviors : LEFT_SQUARE behavior ( COMMA behavior )* RIGHT_SQUARE ;
+    // /home/etirelli/workspace/jboss/jbossrules/drools-compiler/src/main/resources/org/drools/lang/DRL.g:1322:1: behaviors : LEFT_SQUARE behavior ( COMMA behavior )* RIGHT_SQUARE ;
     public final void behaviors() throws RecognitionException {
         try {
-            // /Users/michaelneale/project/jboss-rules/drools-compiler/src/main/resources/org/drools/lang/DRL.g:1315:2: ( LEFT_SQUARE behavior ( COMMA behavior )* RIGHT_SQUARE )
-            // /Users/michaelneale/project/jboss-rules/drools-compiler/src/main/resources/org/drools/lang/DRL.g:1315:4: LEFT_SQUARE behavior ( COMMA behavior )* RIGHT_SQUARE
+            // /home/etirelli/workspace/jboss/jbossrules/drools-compiler/src/main/resources/org/drools/lang/DRL.g:1323:2: ( LEFT_SQUARE behavior ( COMMA behavior )* RIGHT_SQUARE )
+            // /home/etirelli/workspace/jboss/jbossrules/drools-compiler/src/main/resources/org/drools/lang/DRL.g:1323:4: LEFT_SQUARE behavior ( COMMA behavior )* RIGHT_SQUARE
             {
-            match(input,LEFT_SQUARE,FOLLOW_LEFT_SQUARE_in_behaviors3820); if (failed) return ;
-            pushFollow(FOLLOW_behavior_in_behaviors3822);
+            match(input,LEFT_SQUARE,FOLLOW_LEFT_SQUARE_in_behaviors3871); if (failed) return ;
+            pushFollow(FOLLOW_behavior_in_behaviors3873);
             behavior();
             _fsp--;
             if (failed) return ;
-            // /Users/michaelneale/project/jboss-rules/drools-compiler/src/main/resources/org/drools/lang/DRL.g:1315:25: ( COMMA behavior )*
-            loop65:
+            // /home/etirelli/workspace/jboss/jbossrules/drools-compiler/src/main/resources/org/drools/lang/DRL.g:1323:25: ( COMMA behavior )*
+            loop67:
             do {
-                int alt65=2;
-                int LA65_0 = input.LA(1);
+                int alt67=2;
+                int LA67_0 = input.LA(1);
 
-                if ( (LA65_0==COMMA) ) {
-                    alt65=1;
+                if ( (LA67_0==COMMA) ) {
+                    alt67=1;
                 }
 
 
-                switch (alt65) {
+                switch (alt67) {
             	case 1 :
-            	    // /Users/michaelneale/project/jboss-rules/drools-compiler/src/main/resources/org/drools/lang/DRL.g:1315:27: COMMA behavior
+            	    // /home/etirelli/workspace/jboss/jbossrules/drools-compiler/src/main/resources/org/drools/lang/DRL.g:1323:27: COMMA behavior
             	    {
-            	    match(input,COMMA,FOLLOW_COMMA_in_behaviors3826); if (failed) return ;
-            	    pushFollow(FOLLOW_behavior_in_behaviors3828);
+            	    match(input,COMMA,FOLLOW_COMMA_in_behaviors3877); if (failed) return ;
+            	    pushFollow(FOLLOW_behavior_in_behaviors3879);
             	    behavior();
             	    _fsp--;
             	    if (failed) return ;
@@ -5333,11 +5453,11 @@
             	    break;
 
             	default :
-            	    break loop65;
+            	    break loop67;
                 }
             } while (true);
 
-            match(input,RIGHT_SQUARE,FOLLOW_RIGHT_SQUARE_in_behaviors3833); if (failed) return ;
+            match(input,RIGHT_SQUARE,FOLLOW_RIGHT_SQUARE_in_behaviors3884); if (failed) return ;
 
             }
 
@@ -5354,44 +5474,44 @@
 
 
     // $ANTLR start behavior
-    // /Users/michaelneale/project/jboss-rules/drools-compiler/src/main/resources/org/drools/lang/DRL.g:1318:1: behavior : ID ( COLON ID )? ( paren_chunk )? ;
+    // /home/etirelli/workspace/jboss/jbossrules/drools-compiler/src/main/resources/org/drools/lang/DRL.g:1326:1: behavior : ID ( COLON ID )? ( paren_chunk )? ;
     public final void behavior() throws RecognitionException {
         try {
-            // /Users/michaelneale/project/jboss-rules/drools-compiler/src/main/resources/org/drools/lang/DRL.g:1319:2: ( ID ( COLON ID )? ( paren_chunk )? )
-            // /Users/michaelneale/project/jboss-rules/drools-compiler/src/main/resources/org/drools/lang/DRL.g:1319:4: ID ( COLON ID )? ( paren_chunk )?
+            // /home/etirelli/workspace/jboss/jbossrules/drools-compiler/src/main/resources/org/drools/lang/DRL.g:1327:2: ( ID ( COLON ID )? ( paren_chunk )? )
+            // /home/etirelli/workspace/jboss/jbossrules/drools-compiler/src/main/resources/org/drools/lang/DRL.g:1327:4: ID ( COLON ID )? ( paren_chunk )?
             {
-            match(input,ID,FOLLOW_ID_in_behavior3847); if (failed) return ;
-            // /Users/michaelneale/project/jboss-rules/drools-compiler/src/main/resources/org/drools/lang/DRL.g:1319:7: ( COLON ID )?
-            int alt66=2;
-            int LA66_0 = input.LA(1);
+            match(input,ID,FOLLOW_ID_in_behavior3898); if (failed) return ;
+            // /home/etirelli/workspace/jboss/jbossrules/drools-compiler/src/main/resources/org/drools/lang/DRL.g:1327:7: ( COLON ID )?
+            int alt68=2;
+            int LA68_0 = input.LA(1);
 
-            if ( (LA66_0==COLON) ) {
-                alt66=1;
+            if ( (LA68_0==COLON) ) {
+                alt68=1;
             }
-            switch (alt66) {
+            switch (alt68) {
                 case 1 :
-                    // /Users/michaelneale/project/jboss-rules/drools-compiler/src/main/resources/org/drools/lang/DRL.g:1319:8: COLON ID
+                    // /home/etirelli/workspace/jboss/jbossrules/drools-compiler/src/main/resources/org/drools/lang/DRL.g:1327:8: COLON ID
                     {
-                    match(input,COLON,FOLLOW_COLON_in_behavior3850); if (failed) return ;
-                    match(input,ID,FOLLOW_ID_in_behavior3852); if (failed) return ;
+                    match(input,COLON,FOLLOW_COLON_in_behavior3901); if (failed) return ;
+                    match(input,ID,FOLLOW_ID_in_behavior3903); if (failed) return ;
 
                     }
                     break;
 
             }
 
-            // /Users/michaelneale/project/jboss-rules/drools-compiler/src/main/resources/org/drools/lang/DRL.g:1319:19: ( paren_chunk )?
-            int alt67=2;
-            int LA67_0 = input.LA(1);
+            // /home/etirelli/workspace/jboss/jbossrules/drools-compiler/src/main/resources/org/drools/lang/DRL.g:1327:19: ( paren_chunk )?
+            int alt69=2;
+            int LA69_0 = input.LA(1);
 
-            if ( (LA67_0==LEFT_PAREN) ) {
-                alt67=1;
+            if ( (LA69_0==LEFT_PAREN) ) {
+                alt69=1;
             }
-            switch (alt67) {
+            switch (alt69) {
                 case 1 :
-                    // /Users/michaelneale/project/jboss-rules/drools-compiler/src/main/resources/org/drools/lang/DRL.g:1319:19: paren_chunk
+                    // /home/etirelli/workspace/jboss/jbossrules/drools-compiler/src/main/resources/org/drools/lang/DRL.g:1327:19: paren_chunk
                     {
-                    pushFollow(FOLLOW_paren_chunk_in_behavior3856);
+                    pushFollow(FOLLOW_paren_chunk_in_behavior3907);
                     paren_chunk();
                     _fsp--;
                     if (failed) return ;
@@ -5417,41 +5537,41 @@
 
 
     // $ANTLR start or_constr
-    // /Users/michaelneale/project/jboss-rules/drools-compiler/src/main/resources/org/drools/lang/DRL.g:1322:1: or_constr[ConditionalElementDescr base] : and_constr[or] ( DOUBLE_PIPE and_constr[or] )* ;
+    // /home/etirelli/workspace/jboss/jbossrules/drools-compiler/src/main/resources/org/drools/lang/DRL.g:1330:1: or_constr[ConditionalElementDescr base] : and_constr[or] ( DOUBLE_PIPE and_constr[or] )* ;
     public final void or_constr(ConditionalElementDescr base) throws RecognitionException {
 
         		OrDescr or = new OrDescr();
         	
         try {
-            // /Users/michaelneale/project/jboss-rules/drools-compiler/src/main/resources/org/drools/lang/DRL.g:1326:2: ( and_constr[or] ( DOUBLE_PIPE and_constr[or] )* )
-            // /Users/michaelneale/project/jboss-rules/drools-compiler/src/main/resources/org/drools/lang/DRL.g:1327:3: and_constr[or] ( DOUBLE_PIPE and_constr[or] )*
+            // /home/etirelli/workspace/jboss/jbossrules/drools-compiler/src/main/resources/org/drools/lang/DRL.g:1334:2: ( and_constr[or] ( DOUBLE_PIPE and_constr[or] )* )
+            // /home/etirelli/workspace/jboss/jbossrules/drools-compiler/src/main/resources/org/drools/lang/DRL.g:1335:3: and_constr[or] ( DOUBLE_PIPE and_constr[or] )*
             {
-            pushFollow(FOLLOW_and_constr_in_or_constr3878);
+            pushFollow(FOLLOW_and_constr_in_or_constr3929);
             and_constr(or);
             _fsp--;
             if (failed) return ;
-            // /Users/michaelneale/project/jboss-rules/drools-compiler/src/main/resources/org/drools/lang/DRL.g:1328:3: ( DOUBLE_PIPE and_constr[or] )*
-            loop68:
+            // /home/etirelli/workspace/jboss/jbossrules/drools-compiler/src/main/resources/org/drools/lang/DRL.g:1336:3: ( DOUBLE_PIPE and_constr[or] )*
+            loop70:
             do {
-                int alt68=2;
-                int LA68_0 = input.LA(1);
+                int alt70=2;
+                int LA70_0 = input.LA(1);
 
-                if ( (LA68_0==DOUBLE_PIPE) ) {
-                    alt68=1;
+                if ( (LA70_0==DOUBLE_PIPE) ) {
+                    alt70=1;
                 }
 
 
-                switch (alt68) {
+                switch (alt70) {
             	case 1 :
-            	    // /Users/michaelneale/project/jboss-rules/drools-compiler/src/main/resources/org/drools/lang/DRL.g:1328:5: DOUBLE_PIPE and_constr[or]
+            	    // /home/etirelli/workspace/jboss/jbossrules/drools-compiler/src/main/resources/org/drools/lang/DRL.g:1336:5: DOUBLE_PIPE and_constr[or]
             	    {
-            	    match(input,DOUBLE_PIPE,FOLLOW_DOUBLE_PIPE_in_or_constr3886); if (failed) return ;
+            	    match(input,DOUBLE_PIPE,FOLLOW_DOUBLE_PIPE_in_or_constr3937); if (failed) return ;
             	    if ( backtracking==0 ) {
 
             	      			location.setType(Location.LOCATION_LHS_INSIDE_CONDITION_START);
             	      		
             	    }
-            	    pushFollow(FOLLOW_and_constr_in_or_constr3895);
+            	    pushFollow(FOLLOW_and_constr_in_or_constr3946);
             	    and_constr(or);
             	    _fsp--;
             	    if (failed) return ;
@@ -5460,7 +5580,7 @@
             	    break;
 
             	default :
-            	    break loop68;
+            	    break loop70;
                 }
             } while (true);
 
@@ -5489,41 +5609,41 @@
 
 
     // $ANTLR start and_constr
-    // /Users/michaelneale/project/jboss-rules/drools-compiler/src/main/resources/org/drools/lang/DRL.g:1343:1: and_constr[ConditionalElementDescr base] : unary_constr[and] ( DOUBLE_AMPER unary_constr[and] )* ;
+    // /home/etirelli/workspace/jboss/jbossrules/drools-compiler/src/main/resources/org/drools/lang/DRL.g:1351:1: and_constr[ConditionalElementDescr base] : unary_constr[and] ( DOUBLE_AMPER unary_constr[and] )* ;
     public final void and_constr(ConditionalElementDescr base) throws RecognitionException {
 
         		AndDescr and = new AndDescr();
         	
         try {
-            // /Users/michaelneale/project/jboss-rules/drools-compiler/src/main/resources/org/drools/lang/DRL.g:1347:2: ( unary_constr[and] ( DOUBLE_AMPER unary_constr[and] )* )
-            // /Users/michaelneale/project/jboss-rules/drools-compiler/src/main/resources/org/drools/lang/DRL.g:1348:3: unary_constr[and] ( DOUBLE_AMPER unary_constr[and] )*
+            // /home/etirelli/workspace/jboss/jbossrules/drools-compiler/src/main/resources/org/drools/lang/DRL.g:1355:2: ( unary_constr[and] ( DOUBLE_AMPER unary_constr[and] )* )
+            // /home/etirelli/workspace/jboss/jbossrules/drools-compiler/src/main/resources/org/drools/lang/DRL.g:1356:3: unary_constr[and] ( DOUBLE_AMPER unary_constr[and] )*
             {
-            pushFollow(FOLLOW_unary_constr_in_and_constr3927);
+            pushFollow(FOLLOW_unary_constr_in_and_constr3978);
             unary_constr(and);
             _fsp--;
             if (failed) return ;
-            // /Users/michaelneale/project/jboss-rules/drools-compiler/src/main/resources/org/drools/lang/DRL.g:1349:3: ( DOUBLE_AMPER unary_constr[and] )*
-            loop69:
+            // /home/etirelli/workspace/jboss/jbossrules/drools-compiler/src/main/resources/org/drools/lang/DRL.g:1357:3: ( DOUBLE_AMPER unary_constr[and] )*
+            loop71:
             do {
-                int alt69=2;
-                int LA69_0 = input.LA(1);
+                int alt71=2;
+                int LA71_0 = input.LA(1);
 
-                if ( (LA69_0==DOUBLE_AMPER) ) {
-                    alt69=1;
+                if ( (LA71_0==DOUBLE_AMPER) ) {
+                    alt71=1;
                 }
 
 
-                switch (alt69) {
+                switch (alt71) {
             	case 1 :
-            	    // /Users/michaelneale/project/jboss-rules/drools-compiler/src/main/resources/org/drools/lang/DRL.g:1349:5: DOUBLE_AMPER unary_constr[and]
+            	    // /home/etirelli/workspace/jboss/jbossrules/drools-compiler/src/main/resources/org/drools/lang/DRL.g:1357:5: DOUBLE_AMPER unary_constr[and]
             	    {
-            	    match(input,DOUBLE_AMPER,FOLLOW_DOUBLE_AMPER_in_and_constr3935); if (failed) return ;
+            	    match(input,DOUBLE_AMPER,FOLLOW_DOUBLE_AMPER_in_and_constr3986); if (failed) return ;
             	    if ( backtracking==0 ) {
 
             	      			location.setType(Location.LOCATION_LHS_INSIDE_CONDITION_START);
             	      		
             	    }
-            	    pushFollow(FOLLOW_unary_constr_in_and_constr3944);
+            	    pushFollow(FOLLOW_unary_constr_in_and_constr3995);
             	    unary_constr(and);
             	    _fsp--;
             	    if (failed) return ;
@@ -5532,7 +5652,7 @@
             	    break;
 
             	default :
-            	    break loop69;
+            	    break loop71;
                 }
             } while (true);
 
@@ -5561,14 +5681,14 @@
 
 
     // $ANTLR start unary_constr
-    // /Users/michaelneale/project/jboss-rules/drools-compiler/src/main/resources/org/drools/lang/DRL.g:1364:1: unary_constr[ConditionalElementDescr base] : ( field_constraint[$base] | LEFT_PAREN or_constr[$base] RIGHT_PAREN | EVAL predicate[$base] ) ;
+    // /home/etirelli/workspace/jboss/jbossrules/drools-compiler/src/main/resources/org/drools/lang/DRL.g:1372:1: unary_constr[ConditionalElementDescr base] : ( field_constraint[$base] | LEFT_PAREN or_constr[$base] RIGHT_PAREN | EVAL predicate[$base] ) ;
     public final void unary_constr(ConditionalElementDescr base) throws RecognitionException {
         try {
-            // /Users/michaelneale/project/jboss-rules/drools-compiler/src/main/resources/org/drools/lang/DRL.g:1365:2: ( ( field_constraint[$base] | LEFT_PAREN or_constr[$base] RIGHT_PAREN | EVAL predicate[$base] ) )
-            // /Users/michaelneale/project/jboss-rules/drools-compiler/src/main/resources/org/drools/lang/DRL.g:1366:3: ( field_constraint[$base] | LEFT_PAREN or_constr[$base] RIGHT_PAREN | EVAL predicate[$base] )
+            // /home/etirelli/workspace/jboss/jbossrules/drools-compiler/src/main/resources/org/drools/lang/DRL.g:1373:2: ( ( field_constraint[$base] | LEFT_PAREN or_constr[$base] RIGHT_PAREN | EVAL predicate[$base] ) )
+            // /home/etirelli/workspace/jboss/jbossrules/drools-compiler/src/main/resources/org/drools/lang/DRL.g:1374:3: ( field_constraint[$base] | LEFT_PAREN or_constr[$base] RIGHT_PAREN | EVAL predicate[$base] )
             {
-            // /Users/michaelneale/project/jboss-rules/drools-compiler/src/main/resources/org/drools/lang/DRL.g:1366:3: ( field_constraint[$base] | LEFT_PAREN or_constr[$base] RIGHT_PAREN | EVAL predicate[$base] )
-            int alt70=3;
+            // /home/etirelli/workspace/jboss/jbossrules/drools-compiler/src/main/resources/org/drools/lang/DRL.g:1374:3: ( field_constraint[$base] | LEFT_PAREN or_constr[$base] RIGHT_PAREN | EVAL predicate[$base] )
+            int alt72=3;
             switch ( input.LA(1) ) {
             case PACKAGE:
             case IMPORT:
@@ -5594,32 +5714,32 @@
             case THEN:
             case EVENT:
                 {
-                alt70=1;
+                alt72=1;
                 }
                 break;
             case LEFT_PAREN:
                 {
-                alt70=2;
+                alt72=2;
                 }
                 break;
             case EVAL:
                 {
-                alt70=3;
+                alt72=3;
                 }
                 break;
             default:
                 if (backtracking>0) {failed=true; return ;}
                 NoViableAltException nvae =
-                    new NoViableAltException("1366:3: ( field_constraint[$base] | LEFT_PAREN or_constr[$base] RIGHT_PAREN | EVAL predicate[$base] )", 70, 0, input);
+                    new NoViableAltException("1374:3: ( field_constraint[$base] | LEFT_PAREN or_constr[$base] RIGHT_PAREN | EVAL predicate[$base] )", 72, 0, input);
 
                 throw nvae;
             }
 
-            switch (alt70) {
+            switch (alt72) {
                 case 1 :
-                    // /Users/michaelneale/project/jboss-rules/drools-compiler/src/main/resources/org/drools/lang/DRL.g:1366:5: field_constraint[$base]
+                    // /home/etirelli/workspace/jboss/jbossrules/drools-compiler/src/main/resources/org/drools/lang/DRL.g:1374:5: field_constraint[$base]
                     {
-                    pushFollow(FOLLOW_field_constraint_in_unary_constr3972);
+                    pushFollow(FOLLOW_field_constraint_in_unary_constr4023);
                     field_constraint(base);
                     _fsp--;
                     if (failed) return ;
@@ -5627,22 +5747,22 @@
                     }
                     break;
                 case 2 :
-                    // /Users/michaelneale/project/jboss-rules/drools-compiler/src/main/resources/org/drools/lang/DRL.g:1367:5: LEFT_PAREN or_constr[$base] RIGHT_PAREN
+                    // /home/etirelli/workspace/jboss/jbossrules/drools-compiler/src/main/resources/org/drools/lang/DRL.g:1375:5: LEFT_PAREN or_constr[$base] RIGHT_PAREN
                     {
-                    match(input,LEFT_PAREN,FOLLOW_LEFT_PAREN_in_unary_constr3980); if (failed) return ;
-                    pushFollow(FOLLOW_or_constr_in_unary_constr3982);
+                    match(input,LEFT_PAREN,FOLLOW_LEFT_PAREN_in_unary_constr4031); if (failed) return ;
+                    pushFollow(FOLLOW_or_constr_in_unary_constr4033);
                     or_constr(base);
                     _fsp--;
                     if (failed) return ;
-                    match(input,RIGHT_PAREN,FOLLOW_RIGHT_PAREN_in_unary_constr3985); if (failed) return ;
+                    match(input,RIGHT_PAREN,FOLLOW_RIGHT_PAREN_in_unary_constr4036); if (failed) return ;
 
                     }
                     break;
                 case 3 :
-                    // /Users/michaelneale/project/jboss-rules/drools-compiler/src/main/resources/org/drools/lang/DRL.g:1368:5: EVAL predicate[$base]
+                    // /home/etirelli/workspace/jboss/jbossrules/drools-compiler/src/main/resources/org/drools/lang/DRL.g:1376:5: EVAL predicate[$base]
                     {
-                    match(input,EVAL,FOLLOW_EVAL_in_unary_constr3991); if (failed) return ;
-                    pushFollow(FOLLOW_predicate_in_unary_constr3993);
+                    match(input,EVAL,FOLLOW_EVAL_in_unary_constr4042); if (failed) return ;
+                    pushFollow(FOLLOW_predicate_in_unary_constr4044);
                     predicate(base);
                     _fsp--;
                     if (failed) return ;
@@ -5668,7 +5788,7 @@
 
 
     // $ANTLR start field_constraint
-    // /Users/michaelneale/project/jboss-rules/drools-compiler/src/main/resources/org/drools/lang/DRL.g:1372:1: field_constraint[ConditionalElementDescr base] : ( ( ID COLON f= accessor_path ( or_restr_connective[top] | '->' predicate[$base] )? ) | (f= accessor_path or_restr_connective[top] ) );
+    // /home/etirelli/workspace/jboss/jbossrules/drools-compiler/src/main/resources/org/drools/lang/DRL.g:1380:1: field_constraint[ConditionalElementDescr base] : ( ( ID COLON f= accessor_path ( or_restr_connective[top] | '->' predicate[$base] )? ) | (f= accessor_path or_restr_connective[top] ) );
     public final void field_constraint(ConditionalElementDescr base) throws RecognitionException {
         Token ID52=null;
         accessor_path_return f = null;
@@ -5680,47 +5800,47 @@
         		RestrictionConnectiveDescr top = null;
         	
         try {
-            // /Users/michaelneale/project/jboss-rules/drools-compiler/src/main/resources/org/drools/lang/DRL.g:1378:2: ( ( ID COLON f= accessor_path ( or_restr_connective[top] | '->' predicate[$base] )? ) | (f= accessor_path or_restr_connective[top] ) )
-            int alt72=2;
-            int LA72_0 = input.LA(1);
+            // /home/etirelli/workspace/jboss/jbossrules/drools-compiler/src/main/resources/org/drools/lang/DRL.g:1386:2: ( ( ID COLON f= accessor_path ( or_restr_connective[top] | '->' predicate[$base] )? ) | (f= accessor_path or_restr_connective[top] ) )
+            int alt74=2;
+            int LA74_0 = input.LA(1);
 
-            if ( (LA72_0==ID) ) {
-                int LA72_1 = input.LA(2);
+            if ( (LA74_0==ID) ) {
+                int LA74_1 = input.LA(2);
 
-                if ( (LA72_1==COLON) ) {
-                    alt72=1;
+                if ( (LA74_1==COLON) ) {
+                    alt74=1;
                 }
-                else if ( (LA72_1==DOT||LA72_1==LEFT_PAREN||LA72_1==NOT||LA72_1==LEFT_SQUARE||(LA72_1>=CONTAINS && LA72_1<=IN)||(LA72_1>=82 && LA72_1<=87)) ) {
-                    alt72=2;
+                else if ( (LA74_1==DOT||LA74_1==LEFT_PAREN||LA74_1==NOT||LA74_1==LEFT_SQUARE||(LA74_1>=CONTAINS && LA74_1<=IN)||(LA74_1>=84 && LA74_1<=89)) ) {
+                    alt74=2;
                 }
                 else {
                     if (backtracking>0) {failed=true; return ;}
                     NoViableAltException nvae =
-                        new NoViableAltException("1372:1: field_constraint[ConditionalElementDescr base] : ( ( ID COLON f= accessor_path ( or_restr_connective[top] | '->' predicate[$base] )? ) | (f= accessor_path or_restr_connective[top] ) );", 72, 1, input);
+                        new NoViableAltException("1380:1: field_constraint[ConditionalElementDescr base] : ( ( ID COLON f= accessor_path ( or_restr_connective[top] | '->' predicate[$base] )? ) | (f= accessor_path or_restr_connective[top] ) );", 74, 1, input);
 
                     throw nvae;
                 }
             }
-            else if ( ((LA72_0>=PACKAGE && LA72_0<=FUNCTION)||LA72_0==GLOBAL||LA72_0==END||(LA72_0>=QUERY && LA72_0<=ATTRIBUTES)||LA72_0==ENABLED||LA72_0==SALIENCE||(LA72_0>=DURATION && LA72_0<=DIALECT)||LA72_0==FROM||(LA72_0>=INIT && LA72_0<=RESULT)||LA72_0==IN||(LA72_0>=THEN && LA72_0<=EVENT)) ) {
-                alt72=2;
+            else if ( ((LA74_0>=PACKAGE && LA74_0<=FUNCTION)||LA74_0==GLOBAL||LA74_0==END||(LA74_0>=QUERY && LA74_0<=ATTRIBUTES)||LA74_0==ENABLED||LA74_0==SALIENCE||(LA74_0>=DURATION && LA74_0<=DIALECT)||LA74_0==FROM||(LA74_0>=INIT && LA74_0<=RESULT)||LA74_0==IN||(LA74_0>=THEN && LA74_0<=EVENT)) ) {
+                alt74=2;
             }
             else {
                 if (backtracking>0) {failed=true; return ;}
                 NoViableAltException nvae =
-                    new NoViableAltException("1372:1: field_constraint[ConditionalElementDescr base] : ( ( ID COLON f= accessor_path ( or_restr_connective[top] | '->' predicate[$base] )? ) | (f= accessor_path or_restr_connective[top] ) );", 72, 0, input);
+                    new NoViableAltException("1380:1: field_constraint[ConditionalElementDescr base] : ( ( ID COLON f= accessor_path ( or_restr_connective[top] | '->' predicate[$base] )? ) | (f= accessor_path or_restr_connective[top] ) );", 74, 0, input);
 
                 throw nvae;
             }
-            switch (alt72) {
+            switch (alt74) {
                 case 1 :
-                    // /Users/michaelneale/project/jboss-rules/drools-compiler/src/main/resources/org/drools/lang/DRL.g:1379:10: ( ID COLON f= accessor_path ( or_restr_connective[top] | '->' predicate[$base] )? )
+                    // /home/etirelli/workspace/jboss/jbossrules/drools-compiler/src/main/resources/org/drools/lang/DRL.g:1387:10: ( ID COLON f= accessor_path ( or_restr_connective[top] | '->' predicate[$base] )? )
                     {
-                    // /Users/michaelneale/project/jboss-rules/drools-compiler/src/main/resources/org/drools/lang/DRL.g:1379:10: ( ID COLON f= accessor_path ( or_restr_connective[top] | '->' predicate[$base] )? )
-                    // /Users/michaelneale/project/jboss-rules/drools-compiler/src/main/resources/org/drools/lang/DRL.g:1380:3: ID COLON f= accessor_path ( or_restr_connective[top] | '->' predicate[$base] )?
+                    // /home/etirelli/workspace/jboss/jbossrules/drools-compiler/src/main/resources/org/drools/lang/DRL.g:1387:10: ( ID COLON f= accessor_path ( or_restr_connective[top] | '->' predicate[$base] )? )
+                    // /home/etirelli/workspace/jboss/jbossrules/drools-compiler/src/main/resources/org/drools/lang/DRL.g:1388:3: ID COLON f= accessor_path ( or_restr_connective[top] | '->' predicate[$base] )?
                     {
                     ID52=(Token)input.LT(1);
-                    match(input,ID,FOLLOW_ID_in_field_constraint4032); if (failed) return ;
-                    match(input,COLON,FOLLOW_COLON_in_field_constraint4034); if (failed) return ;
+                    match(input,ID,FOLLOW_ID_in_field_constraint4083); if (failed) return ;
+                    match(input,COLON,FOLLOW_COLON_in_field_constraint4085); if (failed) return ;
                     if ( backtracking==0 ) {
                        
                       			fbd = new FieldBindingDescr();
@@ -5731,7 +5851,7 @@
 
                       		    
                     }
-                    pushFollow(FOLLOW_accessor_path_in_field_constraint4053);
+                    pushFollow(FOLLOW_accessor_path_in_field_constraint4104);
                     f=accessor_path();
                     _fsp--;
                     if (failed) return ;
@@ -5760,21 +5880,21 @@
                       		    }
                       		
                     }
-                    // /Users/michaelneale/project/jboss-rules/drools-compiler/src/main/resources/org/drools/lang/DRL.g:1414:3: ( or_restr_connective[top] | '->' predicate[$base] )?
-                    int alt71=3;
-                    int LA71_0 = input.LA(1);
+                    // /home/etirelli/workspace/jboss/jbossrules/drools-compiler/src/main/resources/org/drools/lang/DRL.g:1422:3: ( or_restr_connective[top] | '->' predicate[$base] )?
+                    int alt73=3;
+                    int LA73_0 = input.LA(1);
 
-                    if ( (LA71_0==LEFT_PAREN||LA71_0==NOT||(LA71_0>=CONTAINS && LA71_0<=IN)||(LA71_0>=82 && LA71_0<=87)) ) {
-                        alt71=1;
+                    if ( (LA73_0==LEFT_PAREN||LA73_0==NOT||(LA73_0>=CONTAINS && LA73_0<=IN)||(LA73_0>=84 && LA73_0<=89)) ) {
+                        alt73=1;
                     }
-                    else if ( (LA71_0==81) ) {
-                        alt71=2;
+                    else if ( (LA73_0==83) ) {
+                        alt73=2;
                     }
-                    switch (alt71) {
+                    switch (alt73) {
                         case 1 :
-                            // /Users/michaelneale/project/jboss-rules/drools-compiler/src/main/resources/org/drools/lang/DRL.g:1415:4: or_restr_connective[top]
+                            // /home/etirelli/workspace/jboss/jbossrules/drools-compiler/src/main/resources/org/drools/lang/DRL.g:1423:4: or_restr_connective[top]
                             {
-                            pushFollow(FOLLOW_or_restr_connective_in_field_constraint4067);
+                            pushFollow(FOLLOW_or_restr_connective_in_field_constraint4118);
                             or_restr_connective(top);
                             _fsp--;
                             if (failed) return ;
@@ -5790,10 +5910,10 @@
                             }
                             break;
                         case 2 :
-                            // /Users/michaelneale/project/jboss-rules/drools-compiler/src/main/resources/org/drools/lang/DRL.g:1423:4: '->' predicate[$base]
+                            // /home/etirelli/workspace/jboss/jbossrules/drools-compiler/src/main/resources/org/drools/lang/DRL.g:1431:4: '->' predicate[$base]
                             {
-                            match(input,81,FOLLOW_81_in_field_constraint4082); if (failed) return ;
-                            pushFollow(FOLLOW_predicate_in_field_constraint4084);
+                            match(input,83,FOLLOW_83_in_field_constraint4133); if (failed) return ;
+                            pushFollow(FOLLOW_predicate_in_field_constraint4135);
                             predicate(base);
                             _fsp--;
                             if (failed) return ;
@@ -5810,12 +5930,12 @@
                     }
                     break;
                 case 2 :
-                    // /Users/michaelneale/project/jboss-rules/drools-compiler/src/main/resources/org/drools/lang/DRL.g:1427:3: (f= accessor_path or_restr_connective[top] )
+                    // /home/etirelli/workspace/jboss/jbossrules/drools-compiler/src/main/resources/org/drools/lang/DRL.g:1435:3: (f= accessor_path or_restr_connective[top] )
                     {
-                    // /Users/michaelneale/project/jboss-rules/drools-compiler/src/main/resources/org/drools/lang/DRL.g:1427:3: (f= accessor_path or_restr_connective[top] )
-                    // /Users/michaelneale/project/jboss-rules/drools-compiler/src/main/resources/org/drools/lang/DRL.g:1428:3: f= accessor_path or_restr_connective[top]
+                    // /home/etirelli/workspace/jboss/jbossrules/drools-compiler/src/main/resources/org/drools/lang/DRL.g:1435:3: (f= accessor_path or_restr_connective[top] )
+                    // /home/etirelli/workspace/jboss/jbossrules/drools-compiler/src/main/resources/org/drools/lang/DRL.g:1436:3: f= accessor_path or_restr_connective[top]
                     {
-                    pushFollow(FOLLOW_accessor_path_in_field_constraint4110);
+                    pushFollow(FOLLOW_accessor_path_in_field_constraint4161);
                     f=accessor_path();
                     _fsp--;
                     if (failed) return ;
@@ -5836,7 +5956,7 @@
                       		    }
                       		
                     }
-                    pushFollow(FOLLOW_or_restr_connective_in_field_constraint4119);
+                    pushFollow(FOLLOW_or_restr_connective_in_field_constraint4170);
                     or_restr_connective(top);
                     _fsp--;
                     if (failed) return ;
@@ -5870,36 +5990,36 @@
 
 
     // $ANTLR start or_restr_connective
-    // /Users/michaelneale/project/jboss-rules/drools-compiler/src/main/resources/org/drools/lang/DRL.g:1460:1: or_restr_connective[ RestrictionConnectiveDescr base ] options {backtrack=true; } : and_restr_connective[or] ( options {backtrack=true; } : DOUBLE_PIPE and_restr_connective[or] )* ;
+    // /home/etirelli/workspace/jboss/jbossrules/drools-compiler/src/main/resources/org/drools/lang/DRL.g:1468:1: or_restr_connective[ RestrictionConnectiveDescr base ] options {backtrack=true; } : and_restr_connective[or] ( options {backtrack=true; } : DOUBLE_PIPE and_restr_connective[or] )* ;
     public final void or_restr_connective(RestrictionConnectiveDescr base) throws RecognitionException {
 
         		RestrictionConnectiveDescr or = new RestrictionConnectiveDescr(RestrictionConnectiveDescr.OR);
         	
         try {
-            // /Users/michaelneale/project/jboss-rules/drools-compiler/src/main/resources/org/drools/lang/DRL.g:1467:2: ( and_restr_connective[or] ( options {backtrack=true; } : DOUBLE_PIPE and_restr_connective[or] )* )
-            // /Users/michaelneale/project/jboss-rules/drools-compiler/src/main/resources/org/drools/lang/DRL.g:1468:3: and_restr_connective[or] ( options {backtrack=true; } : DOUBLE_PIPE and_restr_connective[or] )*
+            // /home/etirelli/workspace/jboss/jbossrules/drools-compiler/src/main/resources/org/drools/lang/DRL.g:1475:2: ( and_restr_connective[or] ( options {backtrack=true; } : DOUBLE_PIPE and_restr_connective[or] )* )
+            // /home/etirelli/workspace/jboss/jbossrules/drools-compiler/src/main/resources/org/drools/lang/DRL.g:1476:3: and_restr_connective[or] ( options {backtrack=true; } : DOUBLE_PIPE and_restr_connective[or] )*
             {
-            pushFollow(FOLLOW_and_restr_connective_in_or_restr_connective4166);
+            pushFollow(FOLLOW_and_restr_connective_in_or_restr_connective4217);
             and_restr_connective(or);
             _fsp--;
             if (failed) return ;
-            // /Users/michaelneale/project/jboss-rules/drools-compiler/src/main/resources/org/drools/lang/DRL.g:1469:3: ( options {backtrack=true; } : DOUBLE_PIPE and_restr_connective[or] )*
-            loop73:
+            // /home/etirelli/workspace/jboss/jbossrules/drools-compiler/src/main/resources/org/drools/lang/DRL.g:1477:3: ( options {backtrack=true; } : DOUBLE_PIPE and_restr_connective[or] )*
+            loop75:
             do {
-                int alt73=2;
-                int LA73_0 = input.LA(1);
+                int alt75=2;
+                int LA75_0 = input.LA(1);
 
-                if ( (LA73_0==DOUBLE_PIPE) ) {
+                if ( (LA75_0==DOUBLE_PIPE) ) {
                     switch ( input.LA(2) ) {
                     case IN:
                         {
-                        int LA73_3 = input.LA(3);
+                        int LA75_3 = input.LA(3);
 
-                        if ( (LA73_3==LEFT_PAREN) ) {
-                            int LA73_6 = input.LA(4);
+                        if ( (LA75_3==LEFT_PAREN) ) {
+                            int LA75_6 = input.LA(4);
 
                             if ( (synpred11()) ) {
-                                alt73=1;
+                                alt75=1;
                             }
 
 
@@ -5915,22 +6035,22 @@
                     case SOUNDSLIKE:
                     case MEMBEROF:
                     case TILDE:
-                    case 82:
-                    case 83:
                     case 84:
                     case 85:
                     case 86:
                     case 87:
+                    case 88:
+                    case 89:
                         {
-                        alt73=1;
+                        alt75=1;
                         }
                         break;
                     case LEFT_PAREN:
                         {
-                        int LA73_5 = input.LA(3);
+                        int LA75_5 = input.LA(3);
 
                         if ( (synpred11()) ) {
-                            alt73=1;
+                            alt75=1;
                         }
 
 
@@ -5942,17 +6062,17 @@
                 }
 
 
-                switch (alt73) {
+                switch (alt75) {
             	case 1 :
-            	    // /Users/michaelneale/project/jboss-rules/drools-compiler/src/main/resources/org/drools/lang/DRL.g:1471:4: DOUBLE_PIPE and_restr_connective[or]
+            	    // /home/etirelli/workspace/jboss/jbossrules/drools-compiler/src/main/resources/org/drools/lang/DRL.g:1479:4: DOUBLE_PIPE and_restr_connective[or]
             	    {
-            	    match(input,DOUBLE_PIPE,FOLLOW_DOUBLE_PIPE_in_or_restr_connective4190); if (failed) return ;
+            	    match(input,DOUBLE_PIPE,FOLLOW_DOUBLE_PIPE_in_or_restr_connective4241); if (failed) return ;
             	    if ( backtracking==0 ) {
 
             	      				location.setType(Location.LOCATION_LHS_INSIDE_CONDITION_OPERATOR);
             	      			
             	    }
-            	    pushFollow(FOLLOW_and_restr_connective_in_or_restr_connective4201);
+            	    pushFollow(FOLLOW_and_restr_connective_in_or_restr_connective4252);
             	    and_restr_connective(or);
             	    _fsp--;
             	    if (failed) return ;
@@ -5961,7 +6081,7 @@
             	    break;
 
             	default :
-            	    break loop73;
+            	    break loop75;
                 }
             } while (true);
 
@@ -5988,7 +6108,7 @@
 
 
     // $ANTLR start and_restr_connective
-    // /Users/michaelneale/project/jboss-rules/drools-compiler/src/main/resources/org/drools/lang/DRL.g:1486:1: and_restr_connective[ RestrictionConnectiveDescr base ] : constraint_expression[and] ( options {backtrack=true; } : t= DOUBLE_AMPER constraint_expression[and] )* ;
+    // /home/etirelli/workspace/jboss/jbossrules/drools-compiler/src/main/resources/org/drools/lang/DRL.g:1494:1: and_restr_connective[ RestrictionConnectiveDescr base ] : constraint_expression[and] ( options {backtrack=true; } : t= DOUBLE_AMPER constraint_expression[and] )* ;
     public final void and_restr_connective(RestrictionConnectiveDescr base) throws RecognitionException {
         Token t=null;
 
@@ -5996,49 +6116,38 @@
         		RestrictionConnectiveDescr and = new RestrictionConnectiveDescr(RestrictionConnectiveDescr.AND);
         	
         try {
-            // /Users/michaelneale/project/jboss-rules/drools-compiler/src/main/resources/org/drools/lang/DRL.g:1490:2: ( constraint_expression[and] ( options {backtrack=true; } : t= DOUBLE_AMPER constraint_expression[and] )* )
-            // /Users/michaelneale/project/jboss-rules/drools-compiler/src/main/resources/org/drools/lang/DRL.g:1491:3: constraint_expression[and] ( options {backtrack=true; } : t= DOUBLE_AMPER constraint_expression[and] )*
+            // /home/etirelli/workspace/jboss/jbossrules/drools-compiler/src/main/resources/org/drools/lang/DRL.g:1498:2: ( constraint_expression[and] ( options {backtrack=true; } : t= DOUBLE_AMPER constraint_expression[and] )* )
+            // /home/etirelli/workspace/jboss/jbossrules/drools-compiler/src/main/resources/org/drools/lang/DRL.g:1499:3: constraint_expression[and] ( options {backtrack=true; } : t= DOUBLE_AMPER constraint_expression[and] )*
             {
-            pushFollow(FOLLOW_constraint_expression_in_and_restr_connective4233);
+            pushFollow(FOLLOW_constraint_expression_in_and_restr_connective4284);
             constraint_expression(and);
             _fsp--;
             if (failed) return ;
-            // /Users/michaelneale/project/jboss-rules/drools-compiler/src/main/resources/org/drools/lang/DRL.g:1492:3: ( options {backtrack=true; } : t= DOUBLE_AMPER constraint_expression[and] )*
-            loop74:
+            // /home/etirelli/workspace/jboss/jbossrules/drools-compiler/src/main/resources/org/drools/lang/DRL.g:1500:3: ( options {backtrack=true; } : t= DOUBLE_AMPER constraint_expression[and] )*
+            loop76:
             do {
-                int alt74=2;
-                int LA74_0 = input.LA(1);
+                int alt76=2;
+                int LA76_0 = input.LA(1);
 
-                if ( (LA74_0==DOUBLE_AMPER) ) {
+                if ( (LA76_0==DOUBLE_AMPER) ) {
                     switch ( input.LA(2) ) {
                     case IN:
                         {
-                        int LA74_3 = input.LA(3);
+                        int LA76_3 = input.LA(3);
 
-                        if ( (LA74_3==LEFT_PAREN) ) {
+                        if ( (LA76_3==LEFT_PAREN) ) {
                             switch ( input.LA(4) ) {
                             case IN:
                                 {
-                                int LA74_9 = input.LA(5);
+                                int LA76_9 = input.LA(5);
 
-                                if ( (LA74_9==DOT||(LA74_9>=COMMA && LA74_9<=RIGHT_PAREN)||LA74_9==LEFT_SQUARE) ) {
-                                    alt74=1;
+                                if ( (LA76_9==DOT||(LA76_9>=COMMA && LA76_9<=RIGHT_PAREN)||LA76_9==LEFT_SQUARE) ) {
+                                    alt76=1;
                                 }
 
 
                                 }
                                 break;
-                            case LEFT_PAREN:
-                                {
-                                int LA74_10 = input.LA(5);
-
-                                if ( (synpred12()) ) {
-                                    alt74=1;
-                                }
-
-
-                                }
-                                break;
                             case PACKAGE:
                             case IMPORT:
                             case FUNCTION:
@@ -6067,10 +6176,21 @@
                             case THEN:
                             case EVENT:
                                 {
-                                alt74=1;
+                                alt76=1;
                                 }
                                 break;
+                            case LEFT_PAREN:
+                                {
+                                int LA76_10 = input.LA(5);
 
+                                if ( (synpred12()) ) {
+                                    alt76=1;
+                                }
+
+
+                                }
+                                break;
+
                             }
 
                         }
@@ -6078,35 +6198,18 @@
 
                         }
                         break;
-                    case NOT:
-                    case CONTAINS:
-                    case EXCLUDES:
-                    case MATCHES:
-                    case SOUNDSLIKE:
-                    case MEMBEROF:
-                    case TILDE:
-                    case 82:
-                    case 83:
-                    case 84:
-                    case 85:
-                    case 86:
-                    case 87:
-                        {
-                        alt74=1;
-                        }
-                        break;
                     case LEFT_PAREN:
                         {
                         switch ( input.LA(3) ) {
                         case IN:
                             {
-                            int LA74_7 = input.LA(4);
+                            int LA76_7 = input.LA(4);
 
-                            if ( (LA74_7==LEFT_PAREN) ) {
-                                int LA74_11 = input.LA(5);
+                            if ( (LA76_7==LEFT_PAREN) ) {
+                                int LA76_11 = input.LA(5);
 
                                 if ( (synpred12()) ) {
-                                    alt74=1;
+                                    alt76=1;
                                 }
 
 
@@ -6117,10 +6220,10 @@
                             break;
                         case LEFT_PAREN:
                             {
-                            int LA74_8 = input.LA(4);
+                            int LA76_8 = input.LA(4);
 
                             if ( (synpred12()) ) {
-                                alt74=1;
+                                alt76=1;
                             }
 
 
@@ -6133,14 +6236,14 @@
                         case SOUNDSLIKE:
                         case MEMBEROF:
                         case TILDE:
-                        case 82:
-                        case 83:
                         case 84:
                         case 85:
                         case 86:
                         case 87:
+                        case 88:
+                        case 89:
                             {
-                            alt74=1;
+                            alt76=1;
                             }
                             break;
 
@@ -6148,24 +6251,41 @@
 
                         }
                         break;
+                    case NOT:
+                    case CONTAINS:
+                    case EXCLUDES:
+                    case MATCHES:
+                    case SOUNDSLIKE:
+                    case MEMBEROF:
+                    case TILDE:
+                    case 84:
+                    case 85:
+                    case 86:
+                    case 87:
+                    case 88:
+                    case 89:
+                        {
+                        alt76=1;
+                        }
+                        break;
 
                     }
 
                 }
 
 
-                switch (alt74) {
+                switch (alt76) {
             	case 1 :
-            	    // /Users/michaelneale/project/jboss-rules/drools-compiler/src/main/resources/org/drools/lang/DRL.g:1493:5: t= DOUBLE_AMPER constraint_expression[and]
+            	    // /home/etirelli/workspace/jboss/jbossrules/drools-compiler/src/main/resources/org/drools/lang/DRL.g:1501:5: t= DOUBLE_AMPER constraint_expression[and]
             	    {
             	    t=(Token)input.LT(1);
-            	    match(input,DOUBLE_AMPER,FOLLOW_DOUBLE_AMPER_in_and_restr_connective4253); if (failed) return ;
+            	    match(input,DOUBLE_AMPER,FOLLOW_DOUBLE_AMPER_in_and_restr_connective4304); if (failed) return ;
             	    if ( backtracking==0 ) {
 
             	      				location.setType(Location.LOCATION_LHS_INSIDE_CONDITION_OPERATOR);
             	      			
             	    }
-            	    pushFollow(FOLLOW_constraint_expression_in_and_restr_connective4264);
+            	    pushFollow(FOLLOW_constraint_expression_in_and_restr_connective4315);
             	    constraint_expression(and);
             	    _fsp--;
             	    if (failed) return ;
@@ -6174,7 +6294,7 @@
             	    break;
 
             	default :
-            	    break loop74;
+            	    break loop76;
                 }
             } while (true);
 
@@ -6201,34 +6321,34 @@
 
 
     // $ANTLR start constraint_expression
-    // /Users/michaelneale/project/jboss-rules/drools-compiler/src/main/resources/org/drools/lang/DRL.g:1508:1: constraint_expression[RestrictionConnectiveDescr base] : ( compound_operator[$base] | simple_operator[$base] | LEFT_PAREN or_restr_connective[$base] RIGHT_PAREN ) ;
+    // /home/etirelli/workspace/jboss/jbossrules/drools-compiler/src/main/resources/org/drools/lang/DRL.g:1516:1: constraint_expression[RestrictionConnectiveDescr base] : ( compound_operator[$base] | simple_operator[$base] | LEFT_PAREN or_restr_connective[$base] RIGHT_PAREN ) ;
     public final void constraint_expression(RestrictionConnectiveDescr base) throws RecognitionException {
         try {
-            // /Users/michaelneale/project/jboss-rules/drools-compiler/src/main/resources/org/drools/lang/DRL.g:1509:9: ( ( compound_operator[$base] | simple_operator[$base] | LEFT_PAREN or_restr_connective[$base] RIGHT_PAREN ) )
-            // /Users/michaelneale/project/jboss-rules/drools-compiler/src/main/resources/org/drools/lang/DRL.g:1510:3: ( compound_operator[$base] | simple_operator[$base] | LEFT_PAREN or_restr_connective[$base] RIGHT_PAREN )
+            // /home/etirelli/workspace/jboss/jbossrules/drools-compiler/src/main/resources/org/drools/lang/DRL.g:1517:9: ( ( compound_operator[$base] | simple_operator[$base] | LEFT_PAREN or_restr_connective[$base] RIGHT_PAREN ) )
+            // /home/etirelli/workspace/jboss/jbossrules/drools-compiler/src/main/resources/org/drools/lang/DRL.g:1518:3: ( compound_operator[$base] | simple_operator[$base] | LEFT_PAREN or_restr_connective[$base] RIGHT_PAREN )
             {
-            // /Users/michaelneale/project/jboss-rules/drools-compiler/src/main/resources/org/drools/lang/DRL.g:1510:3: ( compound_operator[$base] | simple_operator[$base] | LEFT_PAREN or_restr_connective[$base] RIGHT_PAREN )
-            int alt75=3;
+            // /home/etirelli/workspace/jboss/jbossrules/drools-compiler/src/main/resources/org/drools/lang/DRL.g:1518:3: ( compound_operator[$base] | simple_operator[$base] | LEFT_PAREN or_restr_connective[$base] RIGHT_PAREN )
+            int alt77=3;
             switch ( input.LA(1) ) {
             case IN:
                 {
-                alt75=1;
+                alt77=1;
                 }
                 break;
             case NOT:
                 {
-                int LA75_2 = input.LA(2);
+                int LA77_2 = input.LA(2);
 
-                if ( (LA75_2==CONTAINS||LA75_2==MATCHES||(LA75_2>=MEMBEROF && LA75_2<=TILDE)) ) {
-                    alt75=2;
+                if ( (LA77_2==IN) ) {
+                    alt77=1;
                 }
-                else if ( (LA75_2==IN) ) {
-                    alt75=1;
+                else if ( (LA77_2==CONTAINS||LA77_2==MATCHES||(LA77_2>=MEMBEROF && LA77_2<=TILDE)) ) {
+                    alt77=2;
                 }
                 else {
                     if (backtracking>0) {failed=true; return ;}
                     NoViableAltException nvae =
-                        new NoViableAltException("1510:3: ( compound_operator[$base] | simple_operator[$base] | LEFT_PAREN or_restr_connective[$base] RIGHT_PAREN )", 75, 2, input);
+                        new NoViableAltException("1518:3: ( compound_operator[$base] | simple_operator[$base] | LEFT_PAREN or_restr_connective[$base] RIGHT_PAREN )", 77, 2, input);
 
                     throw nvae;
                 }
@@ -6240,34 +6360,34 @@
             case SOUNDSLIKE:
             case MEMBEROF:
             case TILDE:
-            case 82:
-            case 83:
             case 84:
             case 85:
             case 86:
             case 87:
+            case 88:
+            case 89:
                 {
-                alt75=2;
+                alt77=2;
                 }
                 break;
             case LEFT_PAREN:
                 {
-                alt75=3;
+                alt77=3;
                 }
                 break;
             default:
                 if (backtracking>0) {failed=true; return ;}
                 NoViableAltException nvae =
-                    new NoViableAltException("1510:3: ( compound_operator[$base] | simple_operator[$base] | LEFT_PAREN or_restr_connective[$base] RIGHT_PAREN )", 75, 0, input);
+                    new NoViableAltException("1518:3: ( compound_operator[$base] | simple_operator[$base] | LEFT_PAREN or_restr_connective[$base] RIGHT_PAREN )", 77, 0, input);
 
                 throw nvae;
             }
 
-            switch (alt75) {
+            switch (alt77) {
                 case 1 :
-                    // /Users/michaelneale/project/jboss-rules/drools-compiler/src/main/resources/org/drools/lang/DRL.g:1510:5: compound_operator[$base]
+                    // /home/etirelli/workspace/jboss/jbossrules/drools-compiler/src/main/resources/org/drools/lang/DRL.g:1518:5: compound_operator[$base]
                     {
-                    pushFollow(FOLLOW_compound_operator_in_constraint_expression4301);
+                    pushFollow(FOLLOW_compound_operator_in_constraint_expression4352);
                     compound_operator(base);
                     _fsp--;
                     if (failed) return ;
@@ -6275,9 +6395,9 @@
                     }
                     break;
                 case 2 :
-                    // /Users/michaelneale/project/jboss-rules/drools-compiler/src/main/resources/org/drools/lang/DRL.g:1511:5: simple_operator[$base]
+                    // /home/etirelli/workspace/jboss/jbossrules/drools-compiler/src/main/resources/org/drools/lang/DRL.g:1519:5: simple_operator[$base]
                     {
-                    pushFollow(FOLLOW_simple_operator_in_constraint_expression4308);
+                    pushFollow(FOLLOW_simple_operator_in_constraint_expression4359);
                     simple_operator(base);
                     _fsp--;
                     if (failed) return ;
@@ -6285,19 +6405,19 @@
                     }
                     break;
                 case 3 :
-                    // /Users/michaelneale/project/jboss-rules/drools-compiler/src/main/resources/org/drools/lang/DRL.g:1512:5: LEFT_PAREN or_restr_connective[$base] RIGHT_PAREN
+                    // /home/etirelli/workspace/jboss/jbossrules/drools-compiler/src/main/resources/org/drools/lang/DRL.g:1520:5: LEFT_PAREN or_restr_connective[$base] RIGHT_PAREN
                     {
-                    match(input,LEFT_PAREN,FOLLOW_LEFT_PAREN_in_constraint_expression4316); if (failed) return ;
+                    match(input,LEFT_PAREN,FOLLOW_LEFT_PAREN_in_constraint_expression4367); if (failed) return ;
                     if ( backtracking==0 ) {
 
                       			location.setType(Location.LOCATION_LHS_INSIDE_CONDITION_OPERATOR);
                       		
                     }
-                    pushFollow(FOLLOW_or_restr_connective_in_constraint_expression4325);
+                    pushFollow(FOLLOW_or_restr_connective_in_constraint_expression4376);
                     or_restr_connective(base);
                     _fsp--;
                     if (failed) return ;
-                    match(input,RIGHT_PAREN,FOLLOW_RIGHT_PAREN_in_constraint_expression4330); if (failed) return ;
+                    match(input,RIGHT_PAREN,FOLLOW_RIGHT_PAREN_in_constraint_expression4381); if (failed) return ;
 
                     }
                     break;
@@ -6320,7 +6440,7 @@
 
 
     // $ANTLR start simple_operator
-    // /Users/michaelneale/project/jboss-rules/drools-compiler/src/main/resources/org/drools/lang/DRL.g:1521:1: simple_operator[RestrictionConnectiveDescr base] : (t= '==' | t= '>' | t= '>=' | t= '<' | t= '<=' | t= '!=' | t= CONTAINS | n= NOT t= CONTAINS | t= EXCLUDES | t= MATCHES | t= SOUNDSLIKE | n= NOT t= MATCHES | t= MEMBEROF | n= NOT t= MEMBEROF | TILDE t= ID (param= square_chunk )? | n= NOT TILDE t= ID (param= square_chunk )? ) rd= expression_value[$base, op, isNegated, paramText] ;
+    // /home/etirelli/workspace/jboss/jbossrules/drools-compiler/src/main/resources/org/drools/lang/DRL.g:1529:1: simple_operator[RestrictionConnectiveDescr base] : (t= '==' | t= '>' | t= '>=' | t= '<' | t= '<=' | t= '!=' | t= CONTAINS | n= NOT t= CONTAINS | t= EXCLUDES | t= MATCHES | t= SOUNDSLIKE | n= NOT t= MATCHES | t= MEMBEROF | n= NOT t= MEMBEROF | TILDE t= ID (param= square_chunk )? | n= NOT TILDE t= ID (param= square_chunk )? ) rd= expression_value[$base, op, isNegated, paramText] ;
     public final void simple_operator(RestrictionConnectiveDescr base) throws RecognitionException {
         Token t=null;
         Token n=null;
@@ -6335,74 +6455,74 @@
         		boolean isNegated = false;
         	
         try {
-            // /Users/michaelneale/project/jboss-rules/drools-compiler/src/main/resources/org/drools/lang/DRL.g:1527:2: ( (t= '==' | t= '>' | t= '>=' | t= '<' | t= '<=' | t= '!=' | t= CONTAINS | n= NOT t= CONTAINS | t= EXCLUDES | t= MATCHES | t= SOUNDSLIKE | n= NOT t= MATCHES | t= MEMBEROF | n= NOT t= MEMBEROF | TILDE t= ID (param= square_chunk )? | n= NOT TILDE t= ID (param= square_chunk )? ) rd= expression_value[$base, op, isNegated, paramText] )
-            // /Users/michaelneale/project/jboss-rules/drools-compiler/src/main/resources/org/drools/lang/DRL.g:1528:3: (t= '==' | t= '>' | t= '>=' | t= '<' | t= '<=' | t= '!=' | t= CONTAINS | n= NOT t= CONTAINS | t= EXCLUDES | t= MATCHES | t= SOUNDSLIKE | n= NOT t= MATCHES | t= MEMBEROF | n= NOT t= MEMBEROF | TILDE t= ID (param= square_chunk )? | n= NOT TILDE t= ID (param= square_chunk )? ) rd= expression_value[$base, op, isNegated, paramText]
+            // /home/etirelli/workspace/jboss/jbossrules/drools-compiler/src/main/resources/org/drools/lang/DRL.g:1535:2: ( (t= '==' | t= '>' | t= '>=' | t= '<' | t= '<=' | t= '!=' | t= CONTAINS | n= NOT t= CONTAINS | t= EXCLUDES | t= MATCHES | t= SOUNDSLIKE | n= NOT t= MATCHES | t= MEMBEROF | n= NOT t= MEMBEROF | TILDE t= ID (param= square_chunk )? | n= NOT TILDE t= ID (param= square_chunk )? ) rd= expression_value[$base, op, isNegated, paramText] )
+            // /home/etirelli/workspace/jboss/jbossrules/drools-compiler/src/main/resources/org/drools/lang/DRL.g:1536:3: (t= '==' | t= '>' | t= '>=' | t= '<' | t= '<=' | t= '!=' | t= CONTAINS | n= NOT t= CONTAINS | t= EXCLUDES | t= MATCHES | t= SOUNDSLIKE | n= NOT t= MATCHES | t= MEMBEROF | n= NOT t= MEMBEROF | TILDE t= ID (param= square_chunk )? | n= NOT TILDE t= ID (param= square_chunk )? ) rd= expression_value[$base, op, isNegated, paramText]
             {
-            // /Users/michaelneale/project/jboss-rules/drools-compiler/src/main/resources/org/drools/lang/DRL.g:1528:3: (t= '==' | t= '>' | t= '>=' | t= '<' | t= '<=' | t= '!=' | t= CONTAINS | n= NOT t= CONTAINS | t= EXCLUDES | t= MATCHES | t= SOUNDSLIKE | n= NOT t= MATCHES | t= MEMBEROF | n= NOT t= MEMBEROF | TILDE t= ID (param= square_chunk )? | n= NOT TILDE t= ID (param= square_chunk )? )
-            int alt78=16;
+            // /home/etirelli/workspace/jboss/jbossrules/drools-compiler/src/main/resources/org/drools/lang/DRL.g:1536:3: (t= '==' | t= '>' | t= '>=' | t= '<' | t= '<=' | t= '!=' | t= CONTAINS | n= NOT t= CONTAINS | t= EXCLUDES | t= MATCHES | t= SOUNDSLIKE | n= NOT t= MATCHES | t= MEMBEROF | n= NOT t= MEMBEROF | TILDE t= ID (param= square_chunk )? | n= NOT TILDE t= ID (param= square_chunk )? )
+            int alt80=16;
             switch ( input.LA(1) ) {
-            case 82:
+            case 84:
                 {
-                alt78=1;
+                alt80=1;
                 }
                 break;
-            case 83:
+            case 85:
                 {
-                alt78=2;
+                alt80=2;
                 }
                 break;
-            case 84:
+            case 86:
                 {
-                alt78=3;
+                alt80=3;
                 }
                 break;
-            case 85:
+            case 87:
                 {
-                alt78=4;
+                alt80=4;
                 }
                 break;
-            case 86:
+            case 88:
                 {
-                alt78=5;
+                alt80=5;
                 }
                 break;
-            case 87:
+            case 89:
                 {
-                alt78=6;
+                alt80=6;
                 }
                 break;
             case CONTAINS:
                 {
-                alt78=7;
+                alt80=7;
                 }
                 break;
             case NOT:
                 {
                 switch ( input.LA(2) ) {
-                case CONTAINS:
+                case MEMBEROF:
                     {
-                    alt78=8;
+                    alt80=14;
                     }
                     break;
                 case MATCHES:
                     {
-                    alt78=12;
+                    alt80=12;
                     }
                     break;
                 case TILDE:
                     {
-                    alt78=16;
+                    alt80=16;
                     }
                     break;
-                case MEMBEROF:
+                case CONTAINS:
                     {
-                    alt78=14;
+                    alt80=8;
                     }
                     break;
                 default:
                     if (backtracking>0) {failed=true; return ;}
                     NoViableAltException nvae =
-                        new NoViableAltException("1528:3: (t= '==' | t= '>' | t= '>=' | t= '<' | t= '<=' | t= '!=' | t= CONTAINS | n= NOT t= CONTAINS | t= EXCLUDES | t= MATCHES | t= SOUNDSLIKE | n= NOT t= MATCHES | t= MEMBEROF | n= NOT t= MEMBEROF | TILDE t= ID (param= square_chunk )? | n= NOT TILDE t= ID (param= square_chunk )? )", 78, 8, input);
+                        new NoViableAltException("1536:3: (t= '==' | t= '>' | t= '>=' | t= '<' | t= '<=' | t= '!=' | t= CONTAINS | n= NOT t= CONTAINS | t= EXCLUDES | t= MATCHES | t= SOUNDSLIKE | n= NOT t= MATCHES | t= MEMBEROF | n= NOT t= MEMBEROF | TILDE t= ID (param= square_chunk )? | n= NOT TILDE t= ID (param= square_chunk )? )", 80, 8, input);
 
                     throw nvae;
                 }
@@ -6411,174 +6531,174 @@
                 break;
             case EXCLUDES:
                 {
-                alt78=9;
+                alt80=9;
                 }
                 break;
             case MATCHES:
                 {
-                alt78=10;
+                alt80=10;
                 }
                 break;
             case SOUNDSLIKE:
                 {
-                alt78=11;
+                alt80=11;
                 }
                 break;
             case MEMBEROF:
                 {
-                alt78=13;
+                alt80=13;
                 }
                 break;
             case TILDE:
                 {
-                alt78=15;
+                alt80=15;
                 }
                 break;
             default:
                 if (backtracking>0) {failed=true; return ;}
                 NoViableAltException nvae =
-                    new NoViableAltException("1528:3: (t= '==' | t= '>' | t= '>=' | t= '<' | t= '<=' | t= '!=' | t= CONTAINS | n= NOT t= CONTAINS | t= EXCLUDES | t= MATCHES | t= SOUNDSLIKE | n= NOT t= MATCHES | t= MEMBEROF | n= NOT t= MEMBEROF | TILDE t= ID (param= square_chunk )? | n= NOT TILDE t= ID (param= square_chunk )? )", 78, 0, input);
+                    new NoViableAltException("1536:3: (t= '==' | t= '>' | t= '>=' | t= '<' | t= '<=' | t= '!=' | t= CONTAINS | n= NOT t= CONTAINS | t= EXCLUDES | t= MATCHES | t= SOUNDSLIKE | n= NOT t= MATCHES | t= MEMBEROF | n= NOT t= MEMBEROF | TILDE t= ID (param= square_chunk )? | n= NOT TILDE t= ID (param= square_chunk )? )", 80, 0, input);
 
                 throw nvae;
             }
 
-            switch (alt78) {
+            switch (alt80) {
                 case 1 :
-                    // /Users/michaelneale/project/jboss-rules/drools-compiler/src/main/resources/org/drools/lang/DRL.g:1528:5: t= '=='
+                    // /home/etirelli/workspace/jboss/jbossrules/drools-compiler/src/main/resources/org/drools/lang/DRL.g:1536:5: t= '=='
                     {
                     t=(Token)input.LT(1);
-                    match(input,82,FOLLOW_82_in_simple_operator4361); if (failed) return ;
+                    match(input,84,FOLLOW_84_in_simple_operator4412); if (failed) return ;
 
                     }
                     break;
                 case 2 :
-                    // /Users/michaelneale/project/jboss-rules/drools-compiler/src/main/resources/org/drools/lang/DRL.g:1529:5: t= '>'
+                    // /home/etirelli/workspace/jboss/jbossrules/drools-compiler/src/main/resources/org/drools/lang/DRL.g:1537:5: t= '>'
                     {
                     t=(Token)input.LT(1);
-                    match(input,83,FOLLOW_83_in_simple_operator4369); if (failed) return ;
+                    match(input,85,FOLLOW_85_in_simple_operator4420); if (failed) return ;
 
                     }
                     break;
                 case 3 :
-                    // /Users/michaelneale/project/jboss-rules/drools-compiler/src/main/resources/org/drools/lang/DRL.g:1530:5: t= '>='
+                    // /home/etirelli/workspace/jboss/jbossrules/drools-compiler/src/main/resources/org/drools/lang/DRL.g:1538:5: t= '>='
                     {
                     t=(Token)input.LT(1);
-                    match(input,84,FOLLOW_84_in_simple_operator4377); if (failed) return ;
+                    match(input,86,FOLLOW_86_in_simple_operator4428); if (failed) return ;
 
                     }
                     break;
                 case 4 :
-                    // /Users/michaelneale/project/jboss-rules/drools-compiler/src/main/resources/org/drools/lang/DRL.g:1531:5: t= '<'
+                    // /home/etirelli/workspace/jboss/jbossrules/drools-compiler/src/main/resources/org/drools/lang/DRL.g:1539:5: t= '<'
                     {
                     t=(Token)input.LT(1);
-                    match(input,85,FOLLOW_85_in_simple_operator4385); if (failed) return ;
+                    match(input,87,FOLLOW_87_in_simple_operator4436); if (failed) return ;
 
                     }
                     break;
                 case 5 :
-                    // /Users/michaelneale/project/jboss-rules/drools-compiler/src/main/resources/org/drools/lang/DRL.g:1532:5: t= '<='
+                    // /home/etirelli/workspace/jboss/jbossrules/drools-compiler/src/main/resources/org/drools/lang/DRL.g:1540:5: t= '<='
                     {
                     t=(Token)input.LT(1);
-                    match(input,86,FOLLOW_86_in_simple_operator4393); if (failed) return ;
+                    match(input,88,FOLLOW_88_in_simple_operator4444); if (failed) return ;
 
                     }
                     break;
                 case 6 :
-                    // /Users/michaelneale/project/jboss-rules/drools-compiler/src/main/resources/org/drools/lang/DRL.g:1533:5: t= '!='
+                    // /home/etirelli/workspace/jboss/jbossrules/drools-compiler/src/main/resources/org/drools/lang/DRL.g:1541:5: t= '!='
                     {
                     t=(Token)input.LT(1);
-                    match(input,87,FOLLOW_87_in_simple_operator4401); if (failed) return ;
+                    match(input,89,FOLLOW_89_in_simple_operator4452); if (failed) return ;
 
                     }
                     break;
                 case 7 :
-                    // /Users/michaelneale/project/jboss-rules/drools-compiler/src/main/resources/org/drools/lang/DRL.g:1534:25: t= CONTAINS
+                    // /home/etirelli/workspace/jboss/jbossrules/drools-compiler/src/main/resources/org/drools/lang/DRL.g:1542:25: t= CONTAINS
                     {
                     t=(Token)input.LT(1);
-                    match(input,CONTAINS,FOLLOW_CONTAINS_in_simple_operator4429); if (failed) return ;
+                    match(input,CONTAINS,FOLLOW_CONTAINS_in_simple_operator4480); if (failed) return ;
 
                     }
                     break;
                 case 8 :
-                    // /Users/michaelneale/project/jboss-rules/drools-compiler/src/main/resources/org/drools/lang/DRL.g:1535:25: n= NOT t= CONTAINS
+                    // /home/etirelli/workspace/jboss/jbossrules/drools-compiler/src/main/resources/org/drools/lang/DRL.g:1543:25: n= NOT t= CONTAINS
                     {
                     n=(Token)input.LT(1);
-                    match(input,NOT,FOLLOW_NOT_in_simple_operator4457); if (failed) return ;
+                    match(input,NOT,FOLLOW_NOT_in_simple_operator4508); if (failed) return ;
                     t=(Token)input.LT(1);
-                    match(input,CONTAINS,FOLLOW_CONTAINS_in_simple_operator4461); if (failed) return ;
+                    match(input,CONTAINS,FOLLOW_CONTAINS_in_simple_operator4512); if (failed) return ;
 
                     }
                     break;
                 case 9 :
-                    // /Users/michaelneale/project/jboss-rules/drools-compiler/src/main/resources/org/drools/lang/DRL.g:1536:25: t= EXCLUDES
+                    // /home/etirelli/workspace/jboss/jbossrules/drools-compiler/src/main/resources/org/drools/lang/DRL.g:1544:25: t= EXCLUDES
                     {
                     t=(Token)input.LT(1);
-                    match(input,EXCLUDES,FOLLOW_EXCLUDES_in_simple_operator4489); if (failed) return ;
+                    match(input,EXCLUDES,FOLLOW_EXCLUDES_in_simple_operator4540); if (failed) return ;
 
                     }
                     break;
                 case 10 :
-                    // /Users/michaelneale/project/jboss-rules/drools-compiler/src/main/resources/org/drools/lang/DRL.g:1537:25: t= MATCHES
+                    // /home/etirelli/workspace/jboss/jbossrules/drools-compiler/src/main/resources/org/drools/lang/DRL.g:1545:25: t= MATCHES
                     {
                     t=(Token)input.LT(1);
-                    match(input,MATCHES,FOLLOW_MATCHES_in_simple_operator4517); if (failed) return ;
+                    match(input,MATCHES,FOLLOW_MATCHES_in_simple_operator4568); if (failed) return ;
 
                     }
                     break;
                 case 11 :
-                    // /Users/michaelneale/project/jboss-rules/drools-compiler/src/main/resources/org/drools/lang/DRL.g:1538:25: t= SOUNDSLIKE
+                    // /home/etirelli/workspace/jboss/jbossrules/drools-compiler/src/main/resources/org/drools/lang/DRL.g:1546:25: t= SOUNDSLIKE
                     {
                     t=(Token)input.LT(1);
-                    match(input,SOUNDSLIKE,FOLLOW_SOUNDSLIKE_in_simple_operator4545); if (failed) return ;
+                    match(input,SOUNDSLIKE,FOLLOW_SOUNDSLIKE_in_simple_operator4596); if (failed) return ;
 
                     }
                     break;
                 case 12 :
-                    // /Users/michaelneale/project/jboss-rules/drools-compiler/src/main/resources/org/drools/lang/DRL.g:1539:25: n= NOT t= MATCHES
+                    // /home/etirelli/workspace/jboss/jbossrules/drools-compiler/src/main/resources/org/drools/lang/DRL.g:1547:25: n= NOT t= MATCHES
                     {
                     n=(Token)input.LT(1);
-                    match(input,NOT,FOLLOW_NOT_in_simple_operator4573); if (failed) return ;
+                    match(input,NOT,FOLLOW_NOT_in_simple_operator4624); if (failed) return ;
                     t=(Token)input.LT(1);
-                    match(input,MATCHES,FOLLOW_MATCHES_in_simple_operator4577); if (failed) return ;
+                    match(input,MATCHES,FOLLOW_MATCHES_in_simple_operator4628); if (failed) return ;
 
                     }
                     break;
                 case 13 :
-                    // /Users/michaelneale/project/jboss-rules/drools-compiler/src/main/resources/org/drools/lang/DRL.g:1540:25: t= MEMBEROF
+                    // /home/etirelli/workspace/jboss/jbossrules/drools-compiler/src/main/resources/org/drools/lang/DRL.g:1548:25: t= MEMBEROF
                     {
                     t=(Token)input.LT(1);
-                    match(input,MEMBEROF,FOLLOW_MEMBEROF_in_simple_operator4605); if (failed) return ;
+                    match(input,MEMBEROF,FOLLOW_MEMBEROF_in_simple_operator4656); if (failed) return ;
 
                     }
                     break;
                 case 14 :
-                    // /Users/michaelneale/project/jboss-rules/drools-compiler/src/main/resources/org/drools/lang/DRL.g:1541:25: n= NOT t= MEMBEROF
+                    // /home/etirelli/workspace/jboss/jbossrules/drools-compiler/src/main/resources/org/drools/lang/DRL.g:1549:25: n= NOT t= MEMBEROF
                     {
                     n=(Token)input.LT(1);
-                    match(input,NOT,FOLLOW_NOT_in_simple_operator4633); if (failed) return ;
+                    match(input,NOT,FOLLOW_NOT_in_simple_operator4684); if (failed) return ;
                     t=(Token)input.LT(1);
-                    match(input,MEMBEROF,FOLLOW_MEMBEROF_in_simple_operator4637); if (failed) return ;
+                    match(input,MEMBEROF,FOLLOW_MEMBEROF_in_simple_operator4688); if (failed) return ;
 
                     }
                     break;
                 case 15 :
-                    // /Users/michaelneale/project/jboss-rules/drools-compiler/src/main/resources/org/drools/lang/DRL.g:1542:5: TILDE t= ID (param= square_chunk )?
+                    // /home/etirelli/workspace/jboss/jbossrules/drools-compiler/src/main/resources/org/drools/lang/DRL.g:1550:5: TILDE t= ID (param= square_chunk )?
                     {
-                    match(input,TILDE,FOLLOW_TILDE_in_simple_operator4643); if (failed) return ;
+                    match(input,TILDE,FOLLOW_TILDE_in_simple_operator4694); if (failed) return ;
                     t=(Token)input.LT(1);
-                    match(input,ID,FOLLOW_ID_in_simple_operator4647); if (failed) return ;
-                    // /Users/michaelneale/project/jboss-rules/drools-compiler/src/main/resources/org/drools/lang/DRL.g:1542:21: (param= square_chunk )?
-                    int alt76=2;
-                    int LA76_0 = input.LA(1);
+                    match(input,ID,FOLLOW_ID_in_simple_operator4698); if (failed) return ;
+                    // /home/etirelli/workspace/jboss/jbossrules/drools-compiler/src/main/resources/org/drools/lang/DRL.g:1550:21: (param= square_chunk )?
+                    int alt78=2;
+                    int LA78_0 = input.LA(1);
 
-                    if ( (LA76_0==LEFT_SQUARE) ) {
-                        alt76=1;
+                    if ( (LA78_0==LEFT_SQUARE) ) {
+                        alt78=1;
                     }
-                    switch (alt76) {
+                    switch (alt78) {
                         case 1 :
-                            // /Users/michaelneale/project/jboss-rules/drools-compiler/src/main/resources/org/drools/lang/DRL.g:1542:21: param= square_chunk
+                            // /home/etirelli/workspace/jboss/jbossrules/drools-compiler/src/main/resources/org/drools/lang/DRL.g:1550:21: param= square_chunk
                             {
-                            pushFollow(FOLLOW_square_chunk_in_simple_operator4651);
+                            pushFollow(FOLLOW_square_chunk_in_simple_operator4702);
                             param=square_chunk();
                             _fsp--;
                             if (failed) return ;
@@ -6592,25 +6712,25 @@
                     }
                     break;
                 case 16 :
-                    // /Users/michaelneale/project/jboss-rules/drools-compiler/src/main/resources/org/drools/lang/DRL.g:1543:5: n= NOT TILDE t= ID (param= square_chunk )?
+                    // /home/etirelli/workspace/jboss/jbossrules/drools-compiler/src/main/resources/org/drools/lang/DRL.g:1551:5: n= NOT TILDE t= ID (param= square_chunk )?
                     {
                     n=(Token)input.LT(1);
-                    match(input,NOT,FOLLOW_NOT_in_simple_operator4660); if (failed) return ;
-                    match(input,TILDE,FOLLOW_TILDE_in_simple_operator4662); if (failed) return ;
+                    match(input,NOT,FOLLOW_NOT_in_simple_operator4711); if (failed) return ;
+                    match(input,TILDE,FOLLOW_TILDE_in_simple_operator4713); if (failed) return ;
                     t=(Token)input.LT(1);
-                    match(input,ID,FOLLOW_ID_in_simple_operator4666); if (failed) return ;
-                    // /Users/michaelneale/project/jboss-rules/drools-compiler/src/main/resources/org/drools/lang/DRL.g:1543:27: (param= square_chunk )?
-                    int alt77=2;
-                    int LA77_0 = input.LA(1);
+                    match(input,ID,FOLLOW_ID_in_simple_operator4717); if (failed) return ;
+                    // /home/etirelli/workspace/jboss/jbossrules/drools-compiler/src/main/resources/org/drools/lang/DRL.g:1551:27: (param= square_chunk )?
+                    int alt79=2;
+                    int LA79_0 = input.LA(1);
 
-                    if ( (LA77_0==LEFT_SQUARE) ) {
-                        alt77=1;
+                    if ( (LA79_0==LEFT_SQUARE) ) {
+                        alt79=1;
                     }
-                    switch (alt77) {
+                    switch (alt79) {
                         case 1 :
-                            // /Users/michaelneale/project/jboss-rules/drools-compiler/src/main/resources/org/drools/lang/DRL.g:1543:27: param= square_chunk
+                            // /home/etirelli/workspace/jboss/jbossrules/drools-compiler/src/main/resources/org/drools/lang/DRL.g:1551:27: param= square_chunk
                             {
-                            pushFollow(FOLLOW_square_chunk_in_simple_operator4670);
+                            pushFollow(FOLLOW_square_chunk_in_simple_operator4721);
                             param=square_chunk();
                             _fsp--;
                             if (failed) return ;
@@ -6637,7 +6757,7 @@
                	            } 
               		
             }
-            pushFollow(FOLLOW_expression_value_in_simple_operator4685);
+            pushFollow(FOLLOW_expression_value_in_simple_operator4736);
             rd=expression_value(base,  op,  isNegated,  paramText);
             _fsp--;
             if (failed) return ;
@@ -6662,7 +6782,7 @@
 
 
     // $ANTLR start compound_operator
-    // /Users/michaelneale/project/jboss-rules/drools-compiler/src/main/resources/org/drools/lang/DRL.g:1562:1: compound_operator[RestrictionConnectiveDescr base] : ( IN | NOT IN ) LEFT_PAREN rd= expression_value[group, op, false, null] ( COMMA rd= expression_value[group, op, false, null] )* RIGHT_PAREN ;
+    // /home/etirelli/workspace/jboss/jbossrules/drools-compiler/src/main/resources/org/drools/lang/DRL.g:1570:1: compound_operator[RestrictionConnectiveDescr base] : ( IN | NOT IN ) LEFT_PAREN rd= expression_value[group, op, false, null] ( COMMA rd= expression_value[group, op, false, null] )* RIGHT_PAREN ;
     public final void compound_operator(RestrictionConnectiveDescr base) throws RecognitionException {
         RestrictionDescr rd = null;
 
@@ -6672,31 +6792,31 @@
         		RestrictionConnectiveDescr group = null;
         	
         try {
-            // /Users/michaelneale/project/jboss-rules/drools-compiler/src/main/resources/org/drools/lang/DRL.g:1567:2: ( ( IN | NOT IN ) LEFT_PAREN rd= expression_value[group, op, false, null] ( COMMA rd= expression_value[group, op, false, null] )* RIGHT_PAREN )
-            // /Users/michaelneale/project/jboss-rules/drools-compiler/src/main/resources/org/drools/lang/DRL.g:1568:3: ( IN | NOT IN ) LEFT_PAREN rd= expression_value[group, op, false, null] ( COMMA rd= expression_value[group, op, false, null] )* RIGHT_PAREN
+            // /home/etirelli/workspace/jboss/jbossrules/drools-compiler/src/main/resources/org/drools/lang/DRL.g:1575:2: ( ( IN | NOT IN ) LEFT_PAREN rd= expression_value[group, op, false, null] ( COMMA rd= expression_value[group, op, false, null] )* RIGHT_PAREN )
+            // /home/etirelli/workspace/jboss/jbossrules/drools-compiler/src/main/resources/org/drools/lang/DRL.g:1576:3: ( IN | NOT IN ) LEFT_PAREN rd= expression_value[group, op, false, null] ( COMMA rd= expression_value[group, op, false, null] )* RIGHT_PAREN
             {
-            // /Users/michaelneale/project/jboss-rules/drools-compiler/src/main/resources/org/drools/lang/DRL.g:1568:3: ( IN | NOT IN )
-            int alt79=2;
-            int LA79_0 = input.LA(1);
+            // /home/etirelli/workspace/jboss/jbossrules/drools-compiler/src/main/resources/org/drools/lang/DRL.g:1576:3: ( IN | NOT IN )
+            int alt81=2;
+            int LA81_0 = input.LA(1);
 
-            if ( (LA79_0==IN) ) {
-                alt79=1;
+            if ( (LA81_0==IN) ) {
+                alt81=1;
             }
-            else if ( (LA79_0==NOT) ) {
-                alt79=2;
+            else if ( (LA81_0==NOT) ) {
+                alt81=2;
             }
             else {
                 if (backtracking>0) {failed=true; return ;}
                 NoViableAltException nvae =
-                    new NoViableAltException("1568:3: ( IN | NOT IN )", 79, 0, input);
+                    new NoViableAltException("1576:3: ( IN | NOT IN )", 81, 0, input);
 
                 throw nvae;
             }
-            switch (alt79) {
+            switch (alt81) {
                 case 1 :
-                    // /Users/michaelneale/project/jboss-rules/drools-compiler/src/main/resources/org/drools/lang/DRL.g:1568:5: IN
+                    // /home/etirelli/workspace/jboss/jbossrules/drools-compiler/src/main/resources/org/drools/lang/DRL.g:1576:5: IN
                     {
-                    match(input,IN,FOLLOW_IN_in_compound_operator4715); if (failed) return ;
+                    match(input,IN,FOLLOW_IN_in_compound_operator4766); if (failed) return ;
                     if ( backtracking==0 ) {
 
                       			  op = "==";
@@ -6710,10 +6830,10 @@
                     }
                     break;
                 case 2 :
-                    // /Users/michaelneale/project/jboss-rules/drools-compiler/src/main/resources/org/drools/lang/DRL.g:1576:5: NOT IN
+                    // /home/etirelli/workspace/jboss/jbossrules/drools-compiler/src/main/resources/org/drools/lang/DRL.g:1584:5: NOT IN
                     {
-                    match(input,NOT,FOLLOW_NOT_in_compound_operator4727); if (failed) return ;
-                    match(input,IN,FOLLOW_IN_in_compound_operator4729); if (failed) return ;
+                    match(input,NOT,FOLLOW_NOT_in_compound_operator4778); if (failed) return ;
+                    match(input,IN,FOLLOW_IN_in_compound_operator4780); if (failed) return ;
                     if ( backtracking==0 ) {
 
                       			  op = "!=";
@@ -6729,28 +6849,28 @@
 
             }
 
-            match(input,LEFT_PAREN,FOLLOW_LEFT_PAREN_in_compound_operator4744); if (failed) return ;
-            pushFollow(FOLLOW_expression_value_in_compound_operator4748);
+            match(input,LEFT_PAREN,FOLLOW_LEFT_PAREN_in_compound_operator4795); if (failed) return ;
+            pushFollow(FOLLOW_expression_value_in_compound_operator4799);
             rd=expression_value(group,  op,  false,  null);
             _fsp--;
             if (failed) return ;
-            // /Users/michaelneale/project/jboss-rules/drools-compiler/src/main/resources/org/drools/lang/DRL.g:1586:3: ( COMMA rd= expression_value[group, op, false, null] )*
-            loop80:
+            // /home/etirelli/workspace/jboss/jbossrules/drools-compiler/src/main/resources/org/drools/lang/DRL.g:1594:3: ( COMMA rd= expression_value[group, op, false, null] )*
+            loop82:
             do {
-                int alt80=2;
-                int LA80_0 = input.LA(1);
+                int alt82=2;
+                int LA82_0 = input.LA(1);
 
-                if ( (LA80_0==COMMA) ) {
-                    alt80=1;
+                if ( (LA82_0==COMMA) ) {
+                    alt82=1;
                 }
 
 
-                switch (alt80) {
+                switch (alt82) {
             	case 1 :
-            	    // /Users/michaelneale/project/jboss-rules/drools-compiler/src/main/resources/org/drools/lang/DRL.g:1586:5: COMMA rd= expression_value[group, op, false, null]
+            	    // /home/etirelli/workspace/jboss/jbossrules/drools-compiler/src/main/resources/org/drools/lang/DRL.g:1594:5: COMMA rd= expression_value[group, op, false, null]
             	    {
-            	    match(input,COMMA,FOLLOW_COMMA_in_compound_operator4755); if (failed) return ;
-            	    pushFollow(FOLLOW_expression_value_in_compound_operator4759);
+            	    match(input,COMMA,FOLLOW_COMMA_in_compound_operator4806); if (failed) return ;
+            	    pushFollow(FOLLOW_expression_value_in_compound_operator4810);
             	    rd=expression_value(group,  op,  false,  null);
             	    _fsp--;
             	    if (failed) return ;
@@ -6759,11 +6879,11 @@
             	    break;
 
             	default :
-            	    break loop80;
+            	    break loop82;
                 }
             } while (true);
 
-            match(input,RIGHT_PAREN,FOLLOW_RIGHT_PAREN_in_compound_operator4768); if (failed) return ;
+            match(input,RIGHT_PAREN,FOLLOW_RIGHT_PAREN_in_compound_operator4819); if (failed) return ;
             if ( backtracking==0 ) {
 
               			location.setType(Location.LOCATION_LHS_INSIDE_CONDITION_END);
@@ -6785,7 +6905,7 @@
 
 
     // $ANTLR start expression_value
-    // /Users/michaelneale/project/jboss-rules/drools-compiler/src/main/resources/org/drools/lang/DRL.g:1593:1: expression_value[RestrictionConnectiveDescr base, String op, boolean isNegated, String paramText] returns [RestrictionDescr rd] : (ap= accessor_path | lc= literal_constraint | rvc= paren_chunk ) ;
+    // /home/etirelli/workspace/jboss/jbossrules/drools-compiler/src/main/resources/org/drools/lang/DRL.g:1601:1: expression_value[RestrictionConnectiveDescr base, String op, boolean isNegated, String paramText] returns [RestrictionDescr rd] : (ap= accessor_path | lc= literal_constraint | rvc= paren_chunk ) ;
     public final RestrictionDescr expression_value(RestrictionConnectiveDescr base, String op, boolean isNegated, String paramText) throws RecognitionException {
         RestrictionDescr rd = null;
 
@@ -6800,11 +6920,11 @@
         		rd = null;
         	
         try {
-            // /Users/michaelneale/project/jboss-rules/drools-compiler/src/main/resources/org/drools/lang/DRL.g:1597:2: ( (ap= accessor_path | lc= literal_constraint | rvc= paren_chunk ) )
-            // /Users/michaelneale/project/jboss-rules/drools-compiler/src/main/resources/org/drools/lang/DRL.g:1598:3: (ap= accessor_path | lc= literal_constraint | rvc= paren_chunk )
+            // /home/etirelli/workspace/jboss/jbossrules/drools-compiler/src/main/resources/org/drools/lang/DRL.g:1605:2: ( (ap= accessor_path | lc= literal_constraint | rvc= paren_chunk ) )
+            // /home/etirelli/workspace/jboss/jbossrules/drools-compiler/src/main/resources/org/drools/lang/DRL.g:1606:3: (ap= accessor_path | lc= literal_constraint | rvc= paren_chunk )
             {
-            // /Users/michaelneale/project/jboss-rules/drools-compiler/src/main/resources/org/drools/lang/DRL.g:1598:3: (ap= accessor_path | lc= literal_constraint | rvc= paren_chunk )
-            int alt81=3;
+            // /home/etirelli/workspace/jboss/jbossrules/drools-compiler/src/main/resources/org/drools/lang/DRL.g:1606:3: (ap= accessor_path | lc= literal_constraint | rvc= paren_chunk )
+            int alt83=3;
             switch ( input.LA(1) ) {
             case PACKAGE:
             case IMPORT:
@@ -6830,7 +6950,7 @@
             case THEN:
             case EVENT:
                 {
-                alt81=1;
+                alt83=1;
                 }
                 break;
             case STRING:
@@ -6839,27 +6959,27 @@
             case FLOAT:
             case NULL:
                 {
-                alt81=2;
+                alt83=2;
                 }
                 break;
             case LEFT_PAREN:
                 {
-                alt81=3;
+                alt83=3;
                 }
                 break;
             default:
                 if (backtracking>0) {failed=true; return rd;}
                 NoViableAltException nvae =
-                    new NoViableAltException("1598:3: (ap= accessor_path | lc= literal_constraint | rvc= paren_chunk )", 81, 0, input);
+                    new NoViableAltException("1606:3: (ap= accessor_path | lc= literal_constraint | rvc= paren_chunk )", 83, 0, input);
 
                 throw nvae;
             }
 
-            switch (alt81) {
+            switch (alt83) {
                 case 1 :
-                    // /Users/michaelneale/project/jboss-rules/drools-compiler/src/main/resources/org/drools/lang/DRL.g:1598:5: ap= accessor_path
+                    // /home/etirelli/workspace/jboss/jbossrules/drools-compiler/src/main/resources/org/drools/lang/DRL.g:1606:5: ap= accessor_path
                     {
-                    pushFollow(FOLLOW_accessor_path_in_expression_value4802);
+                    pushFollow(FOLLOW_accessor_path_in_expression_value4853);
                     ap=accessor_path();
                     _fsp--;
                     if (failed) return rd;
@@ -6876,9 +6996,9 @@
                     }
                     break;
                 case 2 :
-                    // /Users/michaelneale/project/jboss-rules/drools-compiler/src/main/resources/org/drools/lang/DRL.g:1606:5: lc= literal_constraint
+                    // /home/etirelli/workspace/jboss/jbossrules/drools-compiler/src/main/resources/org/drools/lang/DRL.g:1614:5: lc= literal_constraint
                     {
-                    pushFollow(FOLLOW_literal_constraint_in_expression_value4822);
+                    pushFollow(FOLLOW_literal_constraint_in_expression_value4873);
                     lc=literal_constraint();
                     _fsp--;
                     if (failed) return rd;
@@ -6891,9 +7011,9 @@
                     }
                     break;
                 case 3 :
-                    // /Users/michaelneale/project/jboss-rules/drools-compiler/src/main/resources/org/drools/lang/DRL.g:1610:5: rvc= paren_chunk
+                    // /home/etirelli/workspace/jboss/jbossrules/drools-compiler/src/main/resources/org/drools/lang/DRL.g:1618:5: rvc= paren_chunk
                     {
-                    pushFollow(FOLLOW_paren_chunk_in_expression_value4836);
+                    pushFollow(FOLLOW_paren_chunk_in_expression_value4887);
                     rvc=paren_chunk();
                     _fsp--;
                     if (failed) return rd;
@@ -6936,7 +7056,7 @@
     };
 
     // $ANTLR start literal_constraint
-    // /Users/michaelneale/project/jboss-rules/drools-compiler/src/main/resources/org/drools/lang/DRL.g:1623:1: literal_constraint returns [String text, int type] : (t= STRING | t= INT | t= FLOAT | t= BOOL | t= NULL ) ;
+    // /home/etirelli/workspace/jboss/jbossrules/drools-compiler/src/main/resources/org/drools/lang/DRL.g:1631:1: literal_constraint returns [String text, int type] : (t= STRING | t= INT | t= FLOAT | t= BOOL | t= NULL ) ;
     public final literal_constraint_return literal_constraint() throws RecognitionException {
         literal_constraint_return retval = new literal_constraint_return();
         retval.start = input.LT(1);
@@ -6947,51 +7067,51 @@
         		retval.text = null;
         	
         try {
-            // /Users/michaelneale/project/jboss-rules/drools-compiler/src/main/resources/org/drools/lang/DRL.g:1627:2: ( (t= STRING | t= INT | t= FLOAT | t= BOOL | t= NULL ) )
-            // /Users/michaelneale/project/jboss-rules/drools-compiler/src/main/resources/org/drools/lang/DRL.g:1627:4: (t= STRING | t= INT | t= FLOAT | t= BOOL | t= NULL )
+            // /home/etirelli/workspace/jboss/jbossrules/drools-compiler/src/main/resources/org/drools/lang/DRL.g:1635:2: ( (t= STRING | t= INT | t= FLOAT | t= BOOL | t= NULL ) )
+            // /home/etirelli/workspace/jboss/jbossrules/drools-compiler/src/main/resources/org/drools/lang/DRL.g:1635:4: (t= STRING | t= INT | t= FLOAT | t= BOOL | t= NULL )
             {
-            // /Users/michaelneale/project/jboss-rules/drools-compiler/src/main/resources/org/drools/lang/DRL.g:1627:4: (t= STRING | t= INT | t= FLOAT | t= BOOL | t= NULL )
-            int alt82=5;
+            // /home/etirelli/workspace/jboss/jbossrules/drools-compiler/src/main/resources/org/drools/lang/DRL.g:1635:4: (t= STRING | t= INT | t= FLOAT | t= BOOL | t= NULL )
+            int alt84=5;
             switch ( input.LA(1) ) {
             case STRING:
                 {
-                alt82=1;
+                alt84=1;
                 }
                 break;
             case INT:
                 {
-                alt82=2;
+                alt84=2;
                 }
                 break;
             case FLOAT:
                 {
-                alt82=3;
+                alt84=3;
                 }
                 break;
             case BOOL:
                 {
-                alt82=4;
+                alt84=4;
                 }
                 break;
             case NULL:
                 {
-                alt82=5;
+                alt84=5;
                 }
                 break;
             default:
                 if (backtracking>0) {failed=true; return retval;}
                 NoViableAltException nvae =
-                    new NoViableAltException("1627:4: (t= STRING | t= INT | t= FLOAT | t= BOOL | t= NULL )", 82, 0, input);
+                    new NoViableAltException("1635:4: (t= STRING | t= INT | t= FLOAT | t= BOOL | t= NULL )", 84, 0, input);
 
                 throw nvae;
             }
 
-            switch (alt82) {
+            switch (alt84) {
                 case 1 :
-                    // /Users/michaelneale/project/jboss-rules/drools-compiler/src/main/resources/org/drools/lang/DRL.g:1627:6: t= STRING
+                    // /home/etirelli/workspace/jboss/jbossrules/drools-compiler/src/main/resources/org/drools/lang/DRL.g:1635:6: t= STRING
                     {
                     t=(Token)input.LT(1);
-                    match(input,STRING,FOLLOW_STRING_in_literal_constraint4879); if (failed) return retval;
+                    match(input,STRING,FOLLOW_STRING_in_literal_constraint4930); if (failed) return retval;
                     if ( backtracking==0 ) {
                        retval.text = getString( t.getText() ); retval.type = LiteralRestrictionDescr.TYPE_STRING; 
                     }
@@ -6999,10 +7119,10 @@
                     }
                     break;
                 case 2 :
-                    // /Users/michaelneale/project/jboss-rules/drools-compiler/src/main/resources/org/drools/lang/DRL.g:1628:5: t= INT
+                    // /home/etirelli/workspace/jboss/jbossrules/drools-compiler/src/main/resources/org/drools/lang/DRL.g:1636:5: t= INT
                     {
                     t=(Token)input.LT(1);
-                    match(input,INT,FOLLOW_INT_in_literal_constraint4890); if (failed) return retval;
+                    match(input,INT,FOLLOW_INT_in_literal_constraint4941); if (failed) return retval;
                     if ( backtracking==0 ) {
                        retval.text = t.getText(); retval.type = LiteralRestrictionDescr.TYPE_NUMBER; 
                     }
@@ -7010,10 +7130,10 @@
                     }
                     break;
                 case 3 :
-                    // /Users/michaelneale/project/jboss-rules/drools-compiler/src/main/resources/org/drools/lang/DRL.g:1629:5: t= FLOAT
+                    // /home/etirelli/workspace/jboss/jbossrules/drools-compiler/src/main/resources/org/drools/lang/DRL.g:1637:5: t= FLOAT
                     {
                     t=(Token)input.LT(1);
-                    match(input,FLOAT,FOLLOW_FLOAT_in_literal_constraint4903); if (failed) return retval;
+                    match(input,FLOAT,FOLLOW_FLOAT_in_literal_constraint4954); if (failed) return retval;
                     if ( backtracking==0 ) {
                        retval.text = t.getText(); retval.type = LiteralRestrictionDescr.TYPE_NUMBER; 
                     }
@@ -7021,10 +7141,10 @@
                     }
                     break;
                 case 4 :
-                    // /Users/michaelneale/project/jboss-rules/drools-compiler/src/main/resources/org/drools/lang/DRL.g:1630:5: t= BOOL
+                    // /home/etirelli/workspace/jboss/jbossrules/drools-compiler/src/main/resources/org/drools/lang/DRL.g:1638:5: t= BOOL
                     {
                     t=(Token)input.LT(1);
-                    match(input,BOOL,FOLLOW_BOOL_in_literal_constraint4914); if (failed) return retval;
+                    match(input,BOOL,FOLLOW_BOOL_in_literal_constraint4965); if (failed) return retval;
                     if ( backtracking==0 ) {
                        retval.text = t.getText(); retval.type = LiteralRestrictionDescr.TYPE_BOOLEAN; 
                     }
@@ -7032,10 +7152,10 @@
                     }
                     break;
                 case 5 :
-                    // /Users/michaelneale/project/jboss-rules/drools-compiler/src/main/resources/org/drools/lang/DRL.g:1631:5: t= NULL
+                    // /home/etirelli/workspace/jboss/jbossrules/drools-compiler/src/main/resources/org/drools/lang/DRL.g:1639:5: t= NULL
                     {
                     t=(Token)input.LT(1);
-                    match(input,NULL,FOLLOW_NULL_in_literal_constraint4926); if (failed) return retval;
+                    match(input,NULL,FOLLOW_NULL_in_literal_constraint4977); if (failed) return retval;
                     if ( backtracking==0 ) {
                        retval.text = null; retval.type = LiteralRestrictionDescr.TYPE_NULL; 
                     }
@@ -7063,7 +7183,7 @@
 
 
     // $ANTLR start predicate
-    // /Users/michaelneale/project/jboss-rules/drools-compiler/src/main/resources/org/drools/lang/DRL.g:1635:1: predicate[ConditionalElementDescr base] : text= paren_chunk ;
+    // /home/etirelli/workspace/jboss/jbossrules/drools-compiler/src/main/resources/org/drools/lang/DRL.g:1643:1: predicate[ConditionalElementDescr base] : text= paren_chunk ;
     public final void predicate(ConditionalElementDescr base) throws RecognitionException {
         paren_chunk_return text = null;
 
@@ -7072,10 +7192,10 @@
         		PredicateDescr d = null;
                 
         try {
-            // /Users/michaelneale/project/jboss-rules/drools-compiler/src/main/resources/org/drools/lang/DRL.g:1639:2: (text= paren_chunk )
-            // /Users/michaelneale/project/jboss-rules/drools-compiler/src/main/resources/org/drools/lang/DRL.g:1640:3: text= paren_chunk
+            // /home/etirelli/workspace/jboss/jbossrules/drools-compiler/src/main/resources/org/drools/lang/DRL.g:1647:2: (text= paren_chunk )
+            // /home/etirelli/workspace/jboss/jbossrules/drools-compiler/src/main/resources/org/drools/lang/DRL.g:1648:3: text= paren_chunk
             {
-            pushFollow(FOLLOW_paren_chunk_in_predicate4964);
+            pushFollow(FOLLOW_paren_chunk_in_predicate5015);
             text=paren_chunk();
             _fsp--;
             if (failed) return ;
@@ -7107,35 +7227,35 @@
     };
 
     // $ANTLR start curly_chunk
-    // /Users/michaelneale/project/jboss-rules/drools-compiler/src/main/resources/org/drools/lang/DRL.g:1652:1: curly_chunk : LEFT_CURLY (~ ( LEFT_CURLY | RIGHT_CURLY ) | curly_chunk )* RIGHT_CURLY ;
+    // /home/etirelli/workspace/jboss/jbossrules/drools-compiler/src/main/resources/org/drools/lang/DRL.g:1660:1: curly_chunk : LEFT_CURLY (~ ( LEFT_CURLY | RIGHT_CURLY ) | curly_chunk )* RIGHT_CURLY ;
     public final curly_chunk_return curly_chunk() throws RecognitionException {
         curly_chunk_return retval = new curly_chunk_return();
         retval.start = input.LT(1);
 
         try {
-            // /Users/michaelneale/project/jboss-rules/drools-compiler/src/main/resources/org/drools/lang/DRL.g:1653:2: ( LEFT_CURLY (~ ( LEFT_CURLY | RIGHT_CURLY ) | curly_chunk )* RIGHT_CURLY )
-            // /Users/michaelneale/project/jboss-rules/drools-compiler/src/main/resources/org/drools/lang/DRL.g:1654:3: LEFT_CURLY (~ ( LEFT_CURLY | RIGHT_CURLY ) | curly_chunk )* RIGHT_CURLY
+            // /home/etirelli/workspace/jboss/jbossrules/drools-compiler/src/main/resources/org/drools/lang/DRL.g:1661:2: ( LEFT_CURLY (~ ( LEFT_CURLY | RIGHT_CURLY ) | curly_chunk )* RIGHT_CURLY )
+            // /home/etirelli/workspace/jboss/jbossrules/drools-compiler/src/main/resources/org/drools/lang/DRL.g:1662:3: LEFT_CURLY (~ ( LEFT_CURLY | RIGHT_CURLY ) | curly_chunk )* RIGHT_CURLY
             {
-            match(input,LEFT_CURLY,FOLLOW_LEFT_CURLY_in_curly_chunk4982); if (failed) return retval;
-            // /Users/michaelneale/project/jboss-rules/drools-compiler/src/main/resources/org/drools/lang/DRL.g:1654:14: (~ ( LEFT_CURLY | RIGHT_CURLY ) | curly_chunk )*
-            loop83:
+            match(input,LEFT_CURLY,FOLLOW_LEFT_CURLY_in_curly_chunk5033); if (failed) return retval;
+            // /home/etirelli/workspace/jboss/jbossrules/drools-compiler/src/main/resources/org/drools/lang/DRL.g:1662:14: (~ ( LEFT_CURLY | RIGHT_CURLY ) | curly_chunk )*
+            loop85:
             do {
-                int alt83=3;
-                int LA83_0 = input.LA(1);
+                int alt85=3;
+                int LA85_0 = input.LA(1);
 
-                if ( ((LA83_0>=PACKAGE && LA83_0<=NULL)||(LA83_0>=THEN && LA83_0<=87)) ) {
-                    alt83=1;
+                if ( ((LA85_0>=PACKAGE && LA85_0<=NULL)||(LA85_0>=THEN && LA85_0<=89)) ) {
+                    alt85=1;
                 }
-                else if ( (LA83_0==LEFT_CURLY) ) {
-                    alt83=2;
+                else if ( (LA85_0==LEFT_CURLY) ) {
+                    alt85=2;
                 }
 
 
-                switch (alt83) {
+                switch (alt85) {
             	case 1 :
-            	    // /Users/michaelneale/project/jboss-rules/drools-compiler/src/main/resources/org/drools/lang/DRL.g:1654:16: ~ ( LEFT_CURLY | RIGHT_CURLY )
+            	    // /home/etirelli/workspace/jboss/jbossrules/drools-compiler/src/main/resources/org/drools/lang/DRL.g:1662:16: ~ ( LEFT_CURLY | RIGHT_CURLY )
             	    {
-            	    if ( (input.LA(1)>=PACKAGE && input.LA(1)<=NULL)||(input.LA(1)>=THEN && input.LA(1)<=87) ) {
+            	    if ( (input.LA(1)>=PACKAGE && input.LA(1)<=NULL)||(input.LA(1)>=THEN && input.LA(1)<=89) ) {
             	        input.consume();
             	        errorRecovery=false;failed=false;
             	    }
@@ -7143,16 +7263,16 @@
             	        if (backtracking>0) {failed=true; return retval;}
             	        MismatchedSetException mse =
             	            new MismatchedSetException(null,input);
-            	        recoverFromMismatchedSet(input,mse,FOLLOW_set_in_curly_chunk4986);    throw mse;
+            	        recoverFromMismatchedSet(input,mse,FOLLOW_set_in_curly_chunk5037);    throw mse;
             	    }
 
 
             	    }
             	    break;
             	case 2 :
-            	    // /Users/michaelneale/project/jboss-rules/drools-compiler/src/main/resources/org/drools/lang/DRL.g:1654:44: curly_chunk
+            	    // /home/etirelli/workspace/jboss/jbossrules/drools-compiler/src/main/resources/org/drools/lang/DRL.g:1662:44: curly_chunk
             	    {
-            	    pushFollow(FOLLOW_curly_chunk_in_curly_chunk4995);
+            	    pushFollow(FOLLOW_curly_chunk_in_curly_chunk5046);
             	    curly_chunk();
             	    _fsp--;
             	    if (failed) return retval;
@@ -7161,11 +7281,11 @@
             	    break;
 
             	default :
-            	    break loop83;
+            	    break loop85;
                 }
             } while (true);
 
-            match(input,RIGHT_CURLY,FOLLOW_RIGHT_CURLY_in_curly_chunk5000); if (failed) return retval;
+            match(input,RIGHT_CURLY,FOLLOW_RIGHT_CURLY_in_curly_chunk5051); if (failed) return retval;
 
             }
 
@@ -7186,35 +7306,35 @@
     };
 
     // $ANTLR start paren_chunk
-    // /Users/michaelneale/project/jboss-rules/drools-compiler/src/main/resources/org/drools/lang/DRL.g:1657:1: paren_chunk : LEFT_PAREN (~ ( LEFT_PAREN | RIGHT_PAREN ) | paren_chunk )* RIGHT_PAREN ;
+    // /home/etirelli/workspace/jboss/jbossrules/drools-compiler/src/main/resources/org/drools/lang/DRL.g:1665:1: paren_chunk : LEFT_PAREN (~ ( LEFT_PAREN | RIGHT_PAREN ) | paren_chunk )* RIGHT_PAREN ;
     public final paren_chunk_return paren_chunk() throws RecognitionException {
         paren_chunk_return retval = new paren_chunk_return();
         retval.start = input.LT(1);
 
         try {
-            // /Users/michaelneale/project/jboss-rules/drools-compiler/src/main/resources/org/drools/lang/DRL.g:1658:2: ( LEFT_PAREN (~ ( LEFT_PAREN | RIGHT_PAREN ) | paren_chunk )* RIGHT_PAREN )
-            // /Users/michaelneale/project/jboss-rules/drools-compiler/src/main/resources/org/drools/lang/DRL.g:1659:3: LEFT_PAREN (~ ( LEFT_PAREN | RIGHT_PAREN ) | paren_chunk )* RIGHT_PAREN
+            // /home/etirelli/workspace/jboss/jbossrules/drools-compiler/src/main/resources/org/drools/lang/DRL.g:1666:2: ( LEFT_PAREN (~ ( LEFT_PAREN | RIGHT_PAREN ) | paren_chunk )* RIGHT_PAREN )
+            // /home/etirelli/workspace/jboss/jbossrules/drools-compiler/src/main/resources/org/drools/lang/DRL.g:1667:3: LEFT_PAREN (~ ( LEFT_PAREN | RIGHT_PAREN ) | paren_chunk )* RIGHT_PAREN
             {
-            match(input,LEFT_PAREN,FOLLOW_LEFT_PAREN_in_paren_chunk5014); if (failed) return retval;
-            // /Users/michaelneale/project/jboss-rules/drools-compiler/src/main/resources/org/drools/lang/DRL.g:1659:14: (~ ( LEFT_PAREN | RIGHT_PAREN ) | paren_chunk )*
-            loop84:
+            match(input,LEFT_PAREN,FOLLOW_LEFT_PAREN_in_paren_chunk5065); if (failed) return retval;
+            // /home/etirelli/workspace/jboss/jbossrules/drools-compiler/src/main/resources/org/drools/lang/DRL.g:1667:14: (~ ( LEFT_PAREN | RIGHT_PAREN ) | paren_chunk )*
+            loop86:
             do {
-                int alt84=3;
-                int LA84_0 = input.LA(1);
+                int alt86=3;
+                int LA86_0 = input.LA(1);
 
-                if ( ((LA84_0>=PACKAGE && LA84_0<=GLOBAL)||LA84_0==COMMA||(LA84_0>=DECLARE && LA84_0<=87)) ) {
-                    alt84=1;
+                if ( ((LA86_0>=PACKAGE && LA86_0<=GLOBAL)||LA86_0==COMMA||(LA86_0>=DECLARE && LA86_0<=89)) ) {
+                    alt86=1;
                 }
-                else if ( (LA84_0==LEFT_PAREN) ) {
-                    alt84=2;
+                else if ( (LA86_0==LEFT_PAREN) ) {
+                    alt86=2;
                 }
 
 
-                switch (alt84) {
+                switch (alt86) {
             	case 1 :
-            	    // /Users/michaelneale/project/jboss-rules/drools-compiler/src/main/resources/org/drools/lang/DRL.g:1659:16: ~ ( LEFT_PAREN | RIGHT_PAREN )
+            	    // /home/etirelli/workspace/jboss/jbossrules/drools-compiler/src/main/resources/org/drools/lang/DRL.g:1667:16: ~ ( LEFT_PAREN | RIGHT_PAREN )
             	    {
-            	    if ( (input.LA(1)>=PACKAGE && input.LA(1)<=GLOBAL)||input.LA(1)==COMMA||(input.LA(1)>=DECLARE && input.LA(1)<=87) ) {
+            	    if ( (input.LA(1)>=PACKAGE && input.LA(1)<=GLOBAL)||input.LA(1)==COMMA||(input.LA(1)>=DECLARE && input.LA(1)<=89) ) {
             	        input.consume();
             	        errorRecovery=false;failed=false;
             	    }
@@ -7222,16 +7342,16 @@
             	        if (backtracking>0) {failed=true; return retval;}
             	        MismatchedSetException mse =
             	            new MismatchedSetException(null,input);
-            	        recoverFromMismatchedSet(input,mse,FOLLOW_set_in_paren_chunk5018);    throw mse;
+            	        recoverFromMismatchedSet(input,mse,FOLLOW_set_in_paren_chunk5069);    throw mse;
             	    }
 
 
             	    }
             	    break;
             	case 2 :
-            	    // /Users/michaelneale/project/jboss-rules/drools-compiler/src/main/resources/org/drools/lang/DRL.g:1659:44: paren_chunk
+            	    // /home/etirelli/workspace/jboss/jbossrules/drools-compiler/src/main/resources/org/drools/lang/DRL.g:1667:44: paren_chunk
             	    {
-            	    pushFollow(FOLLOW_paren_chunk_in_paren_chunk5027);
+            	    pushFollow(FOLLOW_paren_chunk_in_paren_chunk5078);
             	    paren_chunk();
             	    _fsp--;
             	    if (failed) return retval;
@@ -7240,11 +7360,11 @@
             	    break;
 
             	default :
-            	    break loop84;
+            	    break loop86;
                 }
             } while (true);
 
-            match(input,RIGHT_PAREN,FOLLOW_RIGHT_PAREN_in_paren_chunk5032); if (failed) return retval;
+            match(input,RIGHT_PAREN,FOLLOW_RIGHT_PAREN_in_paren_chunk5083); if (failed) return retval;
 
             }
 
@@ -7265,35 +7385,35 @@
     };
 
     // $ANTLR start square_chunk
-    // /Users/michaelneale/project/jboss-rules/drools-compiler/src/main/resources/org/drools/lang/DRL.g:1662:1: square_chunk : LEFT_SQUARE (~ ( LEFT_SQUARE | RIGHT_SQUARE ) | square_chunk )* RIGHT_SQUARE ;
+    // /home/etirelli/workspace/jboss/jbossrules/drools-compiler/src/main/resources/org/drools/lang/DRL.g:1670:1: square_chunk : LEFT_SQUARE (~ ( LEFT_SQUARE | RIGHT_SQUARE ) | square_chunk )* RIGHT_SQUARE ;
     public final square_chunk_return square_chunk() throws RecognitionException {
         square_chunk_return retval = new square_chunk_return();
         retval.start = input.LT(1);
 
         try {
-            // /Users/michaelneale/project/jboss-rules/drools-compiler/src/main/resources/org/drools/lang/DRL.g:1663:2: ( LEFT_SQUARE (~ ( LEFT_SQUARE | RIGHT_SQUARE ) | square_chunk )* RIGHT_SQUARE )
-            // /Users/michaelneale/project/jboss-rules/drools-compiler/src/main/resources/org/drools/lang/DRL.g:1664:3: LEFT_SQUARE (~ ( LEFT_SQUARE | RIGHT_SQUARE ) | square_chunk )* RIGHT_SQUARE
+            // /home/etirelli/workspace/jboss/jbossrules/drools-compiler/src/main/resources/org/drools/lang/DRL.g:1671:2: ( LEFT_SQUARE (~ ( LEFT_SQUARE | RIGHT_SQUARE ) | square_chunk )* RIGHT_SQUARE )
+            // /home/etirelli/workspace/jboss/jbossrules/drools-compiler/src/main/resources/org/drools/lang/DRL.g:1672:3: LEFT_SQUARE (~ ( LEFT_SQUARE | RIGHT_SQUARE ) | square_chunk )* RIGHT_SQUARE
             {
-            match(input,LEFT_SQUARE,FOLLOW_LEFT_SQUARE_in_square_chunk5045); if (failed) return retval;
-            // /Users/michaelneale/project/jboss-rules/drools-compiler/src/main/resources/org/drools/lang/DRL.g:1664:15: (~ ( LEFT_SQUARE | RIGHT_SQUARE ) | square_chunk )*
-            loop85:
+            match(input,LEFT_SQUARE,FOLLOW_LEFT_SQUARE_in_square_chunk5096); if (failed) return retval;
+            // /home/etirelli/workspace/jboss/jbossrules/drools-compiler/src/main/resources/org/drools/lang/DRL.g:1672:15: (~ ( LEFT_SQUARE | RIGHT_SQUARE ) | square_chunk )*
+            loop87:
             do {
-                int alt85=3;
-                int LA85_0 = input.LA(1);
+                int alt87=3;
+                int LA87_0 = input.LA(1);
 
-                if ( ((LA85_0>=PACKAGE && LA85_0<=ENTRY_POINT)||(LA85_0>=CONTAINS && LA85_0<=87)) ) {
-                    alt85=1;
+                if ( ((LA87_0>=PACKAGE && LA87_0<=ENTRY_POINT)||(LA87_0>=CONTAINS && LA87_0<=89)) ) {
+                    alt87=1;
                 }
-                else if ( (LA85_0==LEFT_SQUARE) ) {
-                    alt85=2;
+                else if ( (LA87_0==LEFT_SQUARE) ) {
+                    alt87=2;
                 }
 
 
-                switch (alt85) {
+                switch (alt87) {
             	case 1 :
-            	    // /Users/michaelneale/project/jboss-rules/drools-compiler/src/main/resources/org/drools/lang/DRL.g:1664:17: ~ ( LEFT_SQUARE | RIGHT_SQUARE )
+            	    // /home/etirelli/workspace/jboss/jbossrules/drools-compiler/src/main/resources/org/drools/lang/DRL.g:1672:17: ~ ( LEFT_SQUARE | RIGHT_SQUARE )
             	    {
-            	    if ( (input.LA(1)>=PACKAGE && input.LA(1)<=ENTRY_POINT)||(input.LA(1)>=CONTAINS && input.LA(1)<=87) ) {
+            	    if ( (input.LA(1)>=PACKAGE && input.LA(1)<=ENTRY_POINT)||(input.LA(1)>=CONTAINS && input.LA(1)<=89) ) {
             	        input.consume();
             	        errorRecovery=false;failed=false;
             	    }
@@ -7301,16 +7421,16 @@
             	        if (backtracking>0) {failed=true; return retval;}
             	        MismatchedSetException mse =
             	            new MismatchedSetException(null,input);
-            	        recoverFromMismatchedSet(input,mse,FOLLOW_set_in_square_chunk5049);    throw mse;
+            	        recoverFromMismatchedSet(input,mse,FOLLOW_set_in_square_chunk5100);    throw mse;
             	    }
 
 
             	    }
             	    break;
             	case 2 :
-            	    // /Users/michaelneale/project/jboss-rules/drools-compiler/src/main/resources/org/drools/lang/DRL.g:1664:47: square_chunk
+            	    // /home/etirelli/workspace/jboss/jbossrules/drools-compiler/src/main/resources/org/drools/lang/DRL.g:1672:47: square_chunk
             	    {
-            	    pushFollow(FOLLOW_square_chunk_in_square_chunk5058);
+            	    pushFollow(FOLLOW_square_chunk_in_square_chunk5109);
             	    square_chunk();
             	    _fsp--;
             	    if (failed) return retval;
@@ -7319,11 +7439,11 @@
             	    break;
 
             	default :
-            	    break loop85;
+            	    break loop87;
                 }
             } while (true);
 
-            match(input,RIGHT_SQUARE,FOLLOW_RIGHT_SQUARE_in_square_chunk5063); if (failed) return retval;
+            match(input,RIGHT_SQUARE,FOLLOW_RIGHT_SQUARE_in_square_chunk5114); if (failed) return retval;
 
             }
 
@@ -7345,7 +7465,7 @@
     };
 
     // $ANTLR start qualified_id
-    // /Users/michaelneale/project/jboss-rules/drools-compiler/src/main/resources/org/drools/lang/DRL.g:1667:1: qualified_id returns [ String text ] : ID ( DOT identifier )* ( LEFT_SQUARE RIGHT_SQUARE )* ;
+    // /home/etirelli/workspace/jboss/jbossrules/drools-compiler/src/main/resources/org/drools/lang/DRL.g:1675:1: qualified_id returns [ String text ] : ID ( DOT identifier )* ( LEFT_SQUARE RIGHT_SQUARE )* ;
     public final qualified_id_return qualified_id() throws RecognitionException {
         qualified_id_return retval = new qualified_id_return();
         retval.start = input.LT(1);
@@ -7358,31 +7478,31 @@
         	        StringBuffer buf = new StringBuffer();
         	
         try {
-            // /Users/michaelneale/project/jboss-rules/drools-compiler/src/main/resources/org/drools/lang/DRL.g:1674:2: ( ID ( DOT identifier )* ( LEFT_SQUARE RIGHT_SQUARE )* )
-            // /Users/michaelneale/project/jboss-rules/drools-compiler/src/main/resources/org/drools/lang/DRL.g:1674:5: ID ( DOT identifier )* ( LEFT_SQUARE RIGHT_SQUARE )*
+            // /home/etirelli/workspace/jboss/jbossrules/drools-compiler/src/main/resources/org/drools/lang/DRL.g:1682:2: ( ID ( DOT identifier )* ( LEFT_SQUARE RIGHT_SQUARE )* )
+            // /home/etirelli/workspace/jboss/jbossrules/drools-compiler/src/main/resources/org/drools/lang/DRL.g:1682:5: ID ( DOT identifier )* ( LEFT_SQUARE RIGHT_SQUARE )*
             {
             ID53=(Token)input.LT(1);
-            match(input,ID,FOLLOW_ID_in_qualified_id5092); if (failed) return retval;
+            match(input,ID,FOLLOW_ID_in_qualified_id5143); if (failed) return retval;
             if ( backtracking==0 ) {
               buf.append(ID53.getText());
             }
-            // /Users/michaelneale/project/jboss-rules/drools-compiler/src/main/resources/org/drools/lang/DRL.g:1674:32: ( DOT identifier )*
-            loop86:
+            // /home/etirelli/workspace/jboss/jbossrules/drools-compiler/src/main/resources/org/drools/lang/DRL.g:1682:32: ( DOT identifier )*
+            loop88:
             do {
-                int alt86=2;
-                int LA86_0 = input.LA(1);
+                int alt88=2;
+                int LA88_0 = input.LA(1);
 
-                if ( (LA86_0==DOT) ) {
-                    alt86=1;
+                if ( (LA88_0==DOT) ) {
+                    alt88=1;
                 }
 
 
-                switch (alt86) {
+                switch (alt88) {
             	case 1 :
-            	    // /Users/michaelneale/project/jboss-rules/drools-compiler/src/main/resources/org/drools/lang/DRL.g:1674:34: DOT identifier
+            	    // /home/etirelli/workspace/jboss/jbossrules/drools-compiler/src/main/resources/org/drools/lang/DRL.g:1682:34: DOT identifier
             	    {
-            	    match(input,DOT,FOLLOW_DOT_in_qualified_id5098); if (failed) return retval;
-            	    pushFollow(FOLLOW_identifier_in_qualified_id5100);
+            	    match(input,DOT,FOLLOW_DOT_in_qualified_id5149); if (failed) return retval;
+            	    pushFollow(FOLLOW_identifier_in_qualified_id5151);
             	    identifier54=identifier();
             	    _fsp--;
             	    if (failed) return retval;
@@ -7394,27 +7514,27 @@
             	    break;
 
             	default :
-            	    break loop86;
+            	    break loop88;
                 }
             } while (true);
 
-            // /Users/michaelneale/project/jboss-rules/drools-compiler/src/main/resources/org/drools/lang/DRL.g:1674:88: ( LEFT_SQUARE RIGHT_SQUARE )*
-            loop87:
+            // /home/etirelli/workspace/jboss/jbossrules/drools-compiler/src/main/resources/org/drools/lang/DRL.g:1682:88: ( LEFT_SQUARE RIGHT_SQUARE )*
+            loop89:
             do {
-                int alt87=2;
-                int LA87_0 = input.LA(1);
+                int alt89=2;
+                int LA89_0 = input.LA(1);
 
-                if ( (LA87_0==LEFT_SQUARE) ) {
-                    alt87=1;
+                if ( (LA89_0==LEFT_SQUARE) ) {
+                    alt89=1;
                 }
 
 
-                switch (alt87) {
+                switch (alt89) {
             	case 1 :
-            	    // /Users/michaelneale/project/jboss-rules/drools-compiler/src/main/resources/org/drools/lang/DRL.g:1674:90: LEFT_SQUARE RIGHT_SQUARE
+            	    // /home/etirelli/workspace/jboss/jbossrules/drools-compiler/src/main/resources/org/drools/lang/DRL.g:1682:90: LEFT_SQUARE RIGHT_SQUARE
             	    {
-            	    match(input,LEFT_SQUARE,FOLLOW_LEFT_SQUARE_in_qualified_id5109); if (failed) return retval;
-            	    match(input,RIGHT_SQUARE,FOLLOW_RIGHT_SQUARE_in_qualified_id5111); if (failed) return retval;
+            	    match(input,LEFT_SQUARE,FOLLOW_LEFT_SQUARE_in_qualified_id5160); if (failed) return retval;
+            	    match(input,RIGHT_SQUARE,FOLLOW_RIGHT_SQUARE_in_qualified_id5162); if (failed) return retval;
             	    if ( backtracking==0 ) {
             	      buf.append("[]");
             	    }
@@ -7423,7 +7543,7 @@
             	    break;
 
             	default :
-            	    break loop87;
+            	    break loop89;
                 }
             } while (true);
 
@@ -7450,7 +7570,7 @@
 
 
     // $ANTLR start dotted_name
-    // /Users/michaelneale/project/jboss-rules/drools-compiler/src/main/resources/org/drools/lang/DRL.g:1677:1: dotted_name returns [ String text ] : i= identifier ( DOT i= identifier )* ( LEFT_SQUARE RIGHT_SQUARE )* ;
+    // /home/etirelli/workspace/jboss/jbossrules/drools-compiler/src/main/resources/org/drools/lang/DRL.g:1685:1: dotted_name returns [ String text ] : i= identifier ( DOT i= identifier )* ( LEFT_SQUARE RIGHT_SQUARE )* ;
     public final String dotted_name() throws RecognitionException {
         String text = null;
 
@@ -7461,33 +7581,33 @@
         	        StringBuffer buf = new StringBuffer();
         	
         try {
-            // /Users/michaelneale/project/jboss-rules/drools-compiler/src/main/resources/org/drools/lang/DRL.g:1684:2: (i= identifier ( DOT i= identifier )* ( LEFT_SQUARE RIGHT_SQUARE )* )
-            // /Users/michaelneale/project/jboss-rules/drools-compiler/src/main/resources/org/drools/lang/DRL.g:1684:4: i= identifier ( DOT i= identifier )* ( LEFT_SQUARE RIGHT_SQUARE )*
+            // /home/etirelli/workspace/jboss/jbossrules/drools-compiler/src/main/resources/org/drools/lang/DRL.g:1692:2: (i= identifier ( DOT i= identifier )* ( LEFT_SQUARE RIGHT_SQUARE )* )
+            // /home/etirelli/workspace/jboss/jbossrules/drools-compiler/src/main/resources/org/drools/lang/DRL.g:1692:4: i= identifier ( DOT i= identifier )* ( LEFT_SQUARE RIGHT_SQUARE )*
             {
-            pushFollow(FOLLOW_identifier_in_dotted_name5145);
+            pushFollow(FOLLOW_identifier_in_dotted_name5196);
             i=identifier();
             _fsp--;
             if (failed) return text;
             if ( backtracking==0 ) {
               buf.append(input.toString(i.start,i.stop));
             }
-            // /Users/michaelneale/project/jboss-rules/drools-compiler/src/main/resources/org/drools/lang/DRL.g:1684:40: ( DOT i= identifier )*
-            loop88:
+            // /home/etirelli/workspace/jboss/jbossrules/drools-compiler/src/main/resources/org/drools/lang/DRL.g:1692:40: ( DOT i= identifier )*
+            loop90:
             do {
-                int alt88=2;
-                int LA88_0 = input.LA(1);
+                int alt90=2;
+                int LA90_0 = input.LA(1);
 
-                if ( (LA88_0==DOT) ) {
-                    alt88=1;
+                if ( (LA90_0==DOT) ) {
+                    alt90=1;
                 }
 
 
-                switch (alt88) {
+                switch (alt90) {
             	case 1 :
-            	    // /Users/michaelneale/project/jboss-rules/drools-compiler/src/main/resources/org/drools/lang/DRL.g:1684:42: DOT i= identifier
+            	    // /home/etirelli/workspace/jboss/jbossrules/drools-compiler/src/main/resources/org/drools/lang/DRL.g:1692:42: DOT i= identifier
             	    {
-            	    match(input,DOT,FOLLOW_DOT_in_dotted_name5151); if (failed) return text;
-            	    pushFollow(FOLLOW_identifier_in_dotted_name5155);
+            	    match(input,DOT,FOLLOW_DOT_in_dotted_name5202); if (failed) return text;
+            	    pushFollow(FOLLOW_identifier_in_dotted_name5206);
             	    i=identifier();
             	    _fsp--;
             	    if (failed) return text;
@@ -7499,27 +7619,27 @@
             	    break;
 
             	default :
-            	    break loop88;
+            	    break loop90;
                 }
             } while (true);
 
-            // /Users/michaelneale/project/jboss-rules/drools-compiler/src/main/resources/org/drools/lang/DRL.g:1684:89: ( LEFT_SQUARE RIGHT_SQUARE )*
-            loop89:
+            // /home/etirelli/workspace/jboss/jbossrules/drools-compiler/src/main/resources/org/drools/lang/DRL.g:1692:89: ( LEFT_SQUARE RIGHT_SQUARE )*
+            loop91:
             do {
-                int alt89=2;
-                int LA89_0 = input.LA(1);
+                int alt91=2;
+                int LA91_0 = input.LA(1);
 
-                if ( (LA89_0==LEFT_SQUARE) ) {
-                    alt89=1;
+                if ( (LA91_0==LEFT_SQUARE) ) {
+                    alt91=1;
                 }
 
 
-                switch (alt89) {
+                switch (alt91) {
             	case 1 :
-            	    // /Users/michaelneale/project/jboss-rules/drools-compiler/src/main/resources/org/drools/lang/DRL.g:1684:91: LEFT_SQUARE RIGHT_SQUARE
+            	    // /home/etirelli/workspace/jboss/jbossrules/drools-compiler/src/main/resources/org/drools/lang/DRL.g:1692:91: LEFT_SQUARE RIGHT_SQUARE
             	    {
-            	    match(input,LEFT_SQUARE,FOLLOW_LEFT_SQUARE_in_dotted_name5164); if (failed) return text;
-            	    match(input,RIGHT_SQUARE,FOLLOW_RIGHT_SQUARE_in_dotted_name5166); if (failed) return text;
+            	    match(input,LEFT_SQUARE,FOLLOW_LEFT_SQUARE_in_dotted_name5215); if (failed) return text;
+            	    match(input,RIGHT_SQUARE,FOLLOW_RIGHT_SQUARE_in_dotted_name5217); if (failed) return text;
             	    if ( backtracking==0 ) {
             	      buf.append("[]");
             	    }
@@ -7528,7 +7648,7 @@
             	    break;
 
             	default :
-            	    break loop89;
+            	    break loop91;
                 }
             } while (true);
 
@@ -7556,7 +7676,7 @@
     };
 
     // $ANTLR start accessor_path
-    // /Users/michaelneale/project/jboss-rules/drools-compiler/src/main/resources/org/drools/lang/DRL.g:1687:1: accessor_path returns [ String text ] : a= accessor_element ( DOT a= accessor_element )* ;
+    // /home/etirelli/workspace/jboss/jbossrules/drools-compiler/src/main/resources/org/drools/lang/DRL.g:1695:1: accessor_path returns [ String text ] : a= accessor_element ( DOT a= accessor_element )* ;
     public final accessor_path_return accessor_path() throws RecognitionException {
         accessor_path_return retval = new accessor_path_return();
         retval.start = input.LT(1);
@@ -7568,33 +7688,33 @@
         	        StringBuffer buf = new StringBuffer();
         	
         try {
-            // /Users/michaelneale/project/jboss-rules/drools-compiler/src/main/resources/org/drools/lang/DRL.g:1694:2: (a= accessor_element ( DOT a= accessor_element )* )
-            // /Users/michaelneale/project/jboss-rules/drools-compiler/src/main/resources/org/drools/lang/DRL.g:1694:4: a= accessor_element ( DOT a= accessor_element )*
+            // /home/etirelli/workspace/jboss/jbossrules/drools-compiler/src/main/resources/org/drools/lang/DRL.g:1702:2: (a= accessor_element ( DOT a= accessor_element )* )
+            // /home/etirelli/workspace/jboss/jbossrules/drools-compiler/src/main/resources/org/drools/lang/DRL.g:1702:4: a= accessor_element ( DOT a= accessor_element )*
             {
-            pushFollow(FOLLOW_accessor_element_in_accessor_path5200);
+            pushFollow(FOLLOW_accessor_element_in_accessor_path5251);
             a=accessor_element();
             _fsp--;
             if (failed) return retval;
             if ( backtracking==0 ) {
               buf.append(a);
             }
-            // /Users/michaelneale/project/jboss-rules/drools-compiler/src/main/resources/org/drools/lang/DRL.g:1694:46: ( DOT a= accessor_element )*
-            loop90:
+            // /home/etirelli/workspace/jboss/jbossrules/drools-compiler/src/main/resources/org/drools/lang/DRL.g:1702:46: ( DOT a= accessor_element )*
+            loop92:
             do {
-                int alt90=2;
-                int LA90_0 = input.LA(1);
+                int alt92=2;
+                int LA92_0 = input.LA(1);
 
-                if ( (LA90_0==DOT) ) {
-                    alt90=1;
+                if ( (LA92_0==DOT) ) {
+                    alt92=1;
                 }
 
 
-                switch (alt90) {
+                switch (alt92) {
             	case 1 :
-            	    // /Users/michaelneale/project/jboss-rules/drools-compiler/src/main/resources/org/drools/lang/DRL.g:1694:48: DOT a= accessor_element
+            	    // /home/etirelli/workspace/jboss/jbossrules/drools-compiler/src/main/resources/org/drools/lang/DRL.g:1702:48: DOT a= accessor_element
             	    {
-            	    match(input,DOT,FOLLOW_DOT_in_accessor_path5206); if (failed) return retval;
-            	    pushFollow(FOLLOW_accessor_element_in_accessor_path5210);
+            	    match(input,DOT,FOLLOW_DOT_in_accessor_path5257); if (failed) return retval;
+            	    pushFollow(FOLLOW_accessor_element_in_accessor_path5261);
             	    a=accessor_element();
             	    _fsp--;
             	    if (failed) return retval;
@@ -7606,7 +7726,7 @@
             	    break;
 
             	default :
-            	    break loop90;
+            	    break loop92;
                 }
             } while (true);
 
@@ -7633,7 +7753,7 @@
 
 
     // $ANTLR start accessor_element
-    // /Users/michaelneale/project/jboss-rules/drools-compiler/src/main/resources/org/drools/lang/DRL.g:1697:1: accessor_element returns [ String text ] : i= identifier (s= square_chunk )* ;
+    // /home/etirelli/workspace/jboss/jbossrules/drools-compiler/src/main/resources/org/drools/lang/DRL.g:1705:1: accessor_element returns [ String text ] : i= identifier (s= square_chunk )* ;
     public final String accessor_element() throws RecognitionException {
         String text = null;
 
@@ -7646,32 +7766,32 @@
         	        StringBuffer buf = new StringBuffer();
         	
         try {
-            // /Users/michaelneale/project/jboss-rules/drools-compiler/src/main/resources/org/drools/lang/DRL.g:1704:2: (i= identifier (s= square_chunk )* )
-            // /Users/michaelneale/project/jboss-rules/drools-compiler/src/main/resources/org/drools/lang/DRL.g:1705:3: i= identifier (s= square_chunk )*
+            // /home/etirelli/workspace/jboss/jbossrules/drools-compiler/src/main/resources/org/drools/lang/DRL.g:1712:2: (i= identifier (s= square_chunk )* )
+            // /home/etirelli/workspace/jboss/jbossrules/drools-compiler/src/main/resources/org/drools/lang/DRL.g:1713:3: i= identifier (s= square_chunk )*
             {
-            pushFollow(FOLLOW_identifier_in_accessor_element5248);
+            pushFollow(FOLLOW_identifier_in_accessor_element5299);
             i=identifier();
             _fsp--;
             if (failed) return text;
             if ( backtracking==0 ) {
               buf.append(input.toString(i.start,i.stop));
             }
-            // /Users/michaelneale/project/jboss-rules/drools-compiler/src/main/resources/org/drools/lang/DRL.g:1705:39: (s= square_chunk )*
-            loop91:
+            // /home/etirelli/workspace/jboss/jbossrules/drools-compiler/src/main/resources/org/drools/lang/DRL.g:1713:39: (s= square_chunk )*
+            loop93:
             do {
-                int alt91=2;
-                int LA91_0 = input.LA(1);
+                int alt93=2;
+                int LA93_0 = input.LA(1);
 
-                if ( (LA91_0==LEFT_SQUARE) ) {
-                    alt91=1;
+                if ( (LA93_0==LEFT_SQUARE) ) {
+                    alt93=1;
                 }
 
 
-                switch (alt91) {
+                switch (alt93) {
             	case 1 :
-            	    // /Users/michaelneale/project/jboss-rules/drools-compiler/src/main/resources/org/drools/lang/DRL.g:1705:40: s= square_chunk
+            	    // /home/etirelli/workspace/jboss/jbossrules/drools-compiler/src/main/resources/org/drools/lang/DRL.g:1713:40: s= square_chunk
             	    {
-            	    pushFollow(FOLLOW_square_chunk_in_accessor_element5255);
+            	    pushFollow(FOLLOW_square_chunk_in_accessor_element5306);
             	    s=square_chunk();
             	    _fsp--;
             	    if (failed) return text;
@@ -7683,7 +7803,7 @@
             	    break;
 
             	default :
-            	    break loop91;
+            	    break loop93;
                 }
             } while (true);
 
@@ -7708,36 +7828,36 @@
 
 
     // $ANTLR start rhs_chunk
-    // /Users/michaelneale/project/jboss-rules/drools-compiler/src/main/resources/org/drools/lang/DRL.g:1708:1: rhs_chunk[RuleDescr rule] : THEN (~ END )* loc= END opt_semicolon ;
+    // /home/etirelli/workspace/jboss/jbossrules/drools-compiler/src/main/resources/org/drools/lang/DRL.g:1716:1: rhs_chunk[RuleDescr rule] : THEN (~ END )* loc= END opt_semicolon ;
     public final void rhs_chunk(RuleDescr rule) throws RecognitionException {
         Token loc=null;
         Token THEN55=null;
 
         try {
-            // /Users/michaelneale/project/jboss-rules/drools-compiler/src/main/resources/org/drools/lang/DRL.g:1709:2: ( THEN (~ END )* loc= END opt_semicolon )
-            // /Users/michaelneale/project/jboss-rules/drools-compiler/src/main/resources/org/drools/lang/DRL.g:1710:3: THEN (~ END )* loc= END opt_semicolon
+            // /home/etirelli/workspace/jboss/jbossrules/drools-compiler/src/main/resources/org/drools/lang/DRL.g:1717:2: ( THEN (~ END )* loc= END opt_semicolon )
+            // /home/etirelli/workspace/jboss/jbossrules/drools-compiler/src/main/resources/org/drools/lang/DRL.g:1718:3: THEN (~ END )* loc= END opt_semicolon
             {
             THEN55=(Token)input.LT(1);
-            match(input,THEN,FOLLOW_THEN_in_rhs_chunk5276); if (failed) return ;
+            match(input,THEN,FOLLOW_THEN_in_rhs_chunk5327); if (failed) return ;
             if ( backtracking==0 ) {
                location.setType( Location.LOCATION_RHS ); 
             }
-            // /Users/michaelneale/project/jboss-rules/drools-compiler/src/main/resources/org/drools/lang/DRL.g:1711:3: (~ END )*
-            loop92:
+            // /home/etirelli/workspace/jboss/jbossrules/drools-compiler/src/main/resources/org/drools/lang/DRL.g:1719:3: (~ END )*
+            loop94:
             do {
-                int alt92=2;
-                int LA92_0 = input.LA(1);
+                int alt94=2;
+                int LA94_0 = input.LA(1);
 
-                if ( ((LA92_0>=PACKAGE && LA92_0<=DECLARE)||(LA92_0>=AT && LA92_0<=87)) ) {
-                    alt92=1;
+                if ( ((LA94_0>=PACKAGE && LA94_0<=DECLARE)||(LA94_0>=AT && LA94_0<=89)) ) {
+                    alt94=1;
                 }
 
 
-                switch (alt92) {
+                switch (alt94) {
             	case 1 :
-            	    // /Users/michaelneale/project/jboss-rules/drools-compiler/src/main/resources/org/drools/lang/DRL.g:1711:5: ~ END
+            	    // /home/etirelli/workspace/jboss/jbossrules/drools-compiler/src/main/resources/org/drools/lang/DRL.g:1719:5: ~ END
             	    {
-            	    if ( (input.LA(1)>=PACKAGE && input.LA(1)<=DECLARE)||(input.LA(1)>=AT && input.LA(1)<=87) ) {
+            	    if ( (input.LA(1)>=PACKAGE && input.LA(1)<=DECLARE)||(input.LA(1)>=AT && input.LA(1)<=89) ) {
             	        input.consume();
             	        errorRecovery=false;failed=false;
             	    }
@@ -7745,7 +7865,7 @@
             	        if (backtracking>0) {failed=true; return ;}
             	        MismatchedSetException mse =
             	            new MismatchedSetException(null,input);
-            	        recoverFromMismatchedSet(input,mse,FOLLOW_set_in_rhs_chunk5284);    throw mse;
+            	        recoverFromMismatchedSet(input,mse,FOLLOW_set_in_rhs_chunk5335);    throw mse;
             	    }
 
 
@@ -7753,13 +7873,13 @@
             	    break;
 
             	default :
-            	    break loop92;
+            	    break loop94;
                 }
             } while (true);
 
             loc=(Token)input.LT(1);
-            match(input,END,FOLLOW_END_in_rhs_chunk5308); if (failed) return ;
-            pushFollow(FOLLOW_opt_semicolon_in_rhs_chunk5310);
+            match(input,END,FOLLOW_END_in_rhs_chunk5359); if (failed) return ;
+            pushFollow(FOLLOW_opt_semicolon_in_rhs_chunk5361);
             opt_semicolon();
             _fsp--;
             if (failed) return ;
@@ -7800,7 +7920,7 @@
     };
 
     // $ANTLR start name
-    // /Users/michaelneale/project/jboss-rules/drools-compiler/src/main/resources/org/drools/lang/DRL.g:1731:1: name returns [String name] : ( ID | STRING );
+    // /home/etirelli/workspace/jboss/jbossrules/drools-compiler/src/main/resources/org/drools/lang/DRL.g:1739:1: name returns [String name] : ( ID | STRING );
     public final name_return name() throws RecognitionException {
         name_return retval = new name_return();
         retval.start = input.LT(1);
@@ -7809,29 +7929,29 @@
         Token STRING57=null;
 
         try {
-            // /Users/michaelneale/project/jboss-rules/drools-compiler/src/main/resources/org/drools/lang/DRL.g:1732:2: ( ID | STRING )
-            int alt93=2;
-            int LA93_0 = input.LA(1);
+            // /home/etirelli/workspace/jboss/jbossrules/drools-compiler/src/main/resources/org/drools/lang/DRL.g:1740:2: ( ID | STRING )
+            int alt95=2;
+            int LA95_0 = input.LA(1);
 
-            if ( (LA93_0==ID) ) {
-                alt93=1;
+            if ( (LA95_0==ID) ) {
+                alt95=1;
             }
-            else if ( (LA93_0==STRING) ) {
-                alt93=2;
+            else if ( (LA95_0==STRING) ) {
+                alt95=2;
             }
             else {
                 if (backtracking>0) {failed=true; return retval;}
                 NoViableAltException nvae =
-                    new NoViableAltException("1731:1: name returns [String name] : ( ID | STRING );", 93, 0, input);
+                    new NoViableAltException("1739:1: name returns [String name] : ( ID | STRING );", 95, 0, input);
 
                 throw nvae;
             }
-            switch (alt93) {
+            switch (alt95) {
                 case 1 :
-                    // /Users/michaelneale/project/jboss-rules/drools-compiler/src/main/resources/org/drools/lang/DRL.g:1732:5: ID
+                    // /home/etirelli/workspace/jboss/jbossrules/drools-compiler/src/main/resources/org/drools/lang/DRL.g:1740:5: ID
                     {
                     ID56=(Token)input.LT(1);
-                    match(input,ID,FOLLOW_ID_in_name5344); if (failed) return retval;
+                    match(input,ID,FOLLOW_ID_in_name5395); if (failed) return retval;
                     if ( backtracking==0 ) {
                        retval.name = ID56.getText(); 
                     }
@@ -7839,10 +7959,10 @@
                     }
                     break;
                 case 2 :
-                    // /Users/michaelneale/project/jboss-rules/drools-compiler/src/main/resources/org/drools/lang/DRL.g:1733:5: STRING
+                    // /home/etirelli/workspace/jboss/jbossrules/drools-compiler/src/main/resources/org/drools/lang/DRL.g:1741:5: STRING
                     {
                     STRING57=(Token)input.LT(1);
-                    match(input,STRING,FOLLOW_STRING_in_name5352); if (failed) return retval;
+                    match(input,STRING,FOLLOW_STRING_in_name5403); if (failed) return retval;
                     if ( backtracking==0 ) {
                        retval.name = getString( STRING57.getText() ); 
                     }
@@ -7868,14 +7988,14 @@
     };
 
     // $ANTLR start identifier
-    // /Users/michaelneale/project/jboss-rules/drools-compiler/src/main/resources/org/drools/lang/DRL.g:1736:1: identifier : ( ID | PACKAGE | FUNCTION | GLOBAL | IMPORT | EVENT | RULE | QUERY | TEMPLATE | ATTRIBUTES | ENABLED | SALIENCE | DURATION | DIALECT | FROM | INIT | ACTION | REVERSE | RESULT | WHEN | THEN | END | IN );
+    // /home/etirelli/workspace/jboss/jbossrules/drools-compiler/src/main/resources/org/drools/lang/DRL.g:1744:1: identifier : ( ID | PACKAGE | FUNCTION | GLOBAL | IMPORT | EVENT | RULE | QUERY | TEMPLATE | ATTRIBUTES | ENABLED | SALIENCE | DURATION | DIALECT | FROM | INIT | ACTION | REVERSE | RESULT | WHEN | THEN | END | IN );
     public final identifier_return identifier() throws RecognitionException {
         identifier_return retval = new identifier_return();
         retval.start = input.LT(1);
 
         try {
-            // /Users/michaelneale/project/jboss-rules/drools-compiler/src/main/resources/org/drools/lang/DRL.g:1737:2: ( ID | PACKAGE | FUNCTION | GLOBAL | IMPORT | EVENT | RULE | QUERY | TEMPLATE | ATTRIBUTES | ENABLED | SALIENCE | DURATION | DIALECT | FROM | INIT | ACTION | REVERSE | RESULT | WHEN | THEN | END | IN )
-            // /Users/michaelneale/project/jboss-rules/drools-compiler/src/main/resources/org/drools/lang/DRL.g:
+            // /home/etirelli/workspace/jboss/jbossrules/drools-compiler/src/main/resources/org/drools/lang/DRL.g:1745:2: ( ID | PACKAGE | FUNCTION | GLOBAL | IMPORT | EVENT | RULE | QUERY | TEMPLATE | ATTRIBUTES | ENABLED | SALIENCE | DURATION | DIALECT | FROM | INIT | ACTION | REVERSE | RESULT | WHEN | THEN | END | IN )
+            // /home/etirelli/workspace/jboss/jbossrules/drools-compiler/src/main/resources/org/drools/lang/DRL.g:
             {
             if ( (input.LA(1)>=PACKAGE && input.LA(1)<=ID)||input.LA(1)==GLOBAL||input.LA(1)==END||(input.LA(1)>=QUERY && input.LA(1)<=ATTRIBUTES)||input.LA(1)==ENABLED||input.LA(1)==SALIENCE||(input.LA(1)>=DURATION && input.LA(1)<=DIALECT)||input.LA(1)==FROM||(input.LA(1)>=INIT && input.LA(1)<=RESULT)||input.LA(1)==IN||(input.LA(1)>=THEN && input.LA(1)<=EVENT) ) {
                 input.consume();
@@ -7906,8 +8026,8 @@
 
     // $ANTLR start synpred1
     public final void synpred1_fragment() throws RecognitionException {   
-        // /Users/michaelneale/project/jboss-rules/drools-compiler/src/main/resources/org/drools/lang/DRL.g:846:6: ( EXISTS )
-        // /Users/michaelneale/project/jboss-rules/drools-compiler/src/main/resources/org/drools/lang/DRL.g:846:8: EXISTS
+        // /home/etirelli/workspace/jboss/jbossrules/drools-compiler/src/main/resources/org/drools/lang/DRL.g:846:6: ( EXISTS )
+        // /home/etirelli/workspace/jboss/jbossrules/drools-compiler/src/main/resources/org/drools/lang/DRL.g:846:8: EXISTS
         {
         match(input,EXISTS,FOLLOW_EXISTS_in_synpred12232); if (failed) return ;
 
@@ -7917,8 +8037,8 @@
 
     // $ANTLR start synpred2
     public final void synpred2_fragment() throws RecognitionException {   
-        // /Users/michaelneale/project/jboss-rules/drools-compiler/src/main/resources/org/drools/lang/DRL.g:847:5: ( NOT )
-        // /Users/michaelneale/project/jboss-rules/drools-compiler/src/main/resources/org/drools/lang/DRL.g:847:7: NOT
+        // /home/etirelli/workspace/jboss/jbossrules/drools-compiler/src/main/resources/org/drools/lang/DRL.g:847:5: ( NOT )
+        // /home/etirelli/workspace/jboss/jbossrules/drools-compiler/src/main/resources/org/drools/lang/DRL.g:847:7: NOT
         {
         match(input,NOT,FOLLOW_NOT_in_synpred22250); if (failed) return ;
 
@@ -7928,8 +8048,8 @@
 
     // $ANTLR start synpred3
     public final void synpred3_fragment() throws RecognitionException {   
-        // /Users/michaelneale/project/jboss-rules/drools-compiler/src/main/resources/org/drools/lang/DRL.g:848:5: ( EVAL )
-        // /Users/michaelneale/project/jboss-rules/drools-compiler/src/main/resources/org/drools/lang/DRL.g:848:7: EVAL
+        // /home/etirelli/workspace/jboss/jbossrules/drools-compiler/src/main/resources/org/drools/lang/DRL.g:848:5: ( EVAL )
+        // /home/etirelli/workspace/jboss/jbossrules/drools-compiler/src/main/resources/org/drools/lang/DRL.g:848:7: EVAL
         {
         match(input,EVAL,FOLLOW_EVAL_in_synpred32269); if (failed) return ;
 
@@ -7939,8 +8059,8 @@
 
     // $ANTLR start synpred4
     public final void synpred4_fragment() throws RecognitionException {   
-        // /Users/michaelneale/project/jboss-rules/drools-compiler/src/main/resources/org/drools/lang/DRL.g:849:5: ( FORALL )
-        // /Users/michaelneale/project/jboss-rules/drools-compiler/src/main/resources/org/drools/lang/DRL.g:849:7: FORALL
+        // /home/etirelli/workspace/jboss/jbossrules/drools-compiler/src/main/resources/org/drools/lang/DRL.g:849:5: ( FORALL )
+        // /home/etirelli/workspace/jboss/jbossrules/drools-compiler/src/main/resources/org/drools/lang/DRL.g:849:7: FORALL
         {
         match(input,FORALL,FOLLOW_FORALL_in_synpred42288); if (failed) return ;
 
@@ -7950,8 +8070,8 @@
 
     // $ANTLR start synpred5
     public final void synpred5_fragment() throws RecognitionException {   
-        // /Users/michaelneale/project/jboss-rules/drools-compiler/src/main/resources/org/drools/lang/DRL.g:850:5: ( LEFT_PAREN )
-        // /Users/michaelneale/project/jboss-rules/drools-compiler/src/main/resources/org/drools/lang/DRL.g:850:7: LEFT_PAREN
+        // /home/etirelli/workspace/jboss/jbossrules/drools-compiler/src/main/resources/org/drools/lang/DRL.g:850:5: ( LEFT_PAREN )
+        // /home/etirelli/workspace/jboss/jbossrules/drools-compiler/src/main/resources/org/drools/lang/DRL.g:850:7: LEFT_PAREN
         {
         match(input,LEFT_PAREN,FOLLOW_LEFT_PAREN_in_synpred52307); if (failed) return ;
 
@@ -7961,11 +8081,11 @@
 
     // $ANTLR start synpred6
     public final void synpred6_fragment() throws RecognitionException {   
-        // /Users/michaelneale/project/jboss-rules/drools-compiler/src/main/resources/org/drools/lang/DRL.g:865:13: ( FROM ENTRY_POINT )
-        // /Users/michaelneale/project/jboss-rules/drools-compiler/src/main/resources/org/drools/lang/DRL.g:865:14: FROM ENTRY_POINT
+        // /home/etirelli/workspace/jboss/jbossrules/drools-compiler/src/main/resources/org/drools/lang/DRL.g:873:13: ( FROM ENTRY_POINT )
+        // /home/etirelli/workspace/jboss/jbossrules/drools-compiler/src/main/resources/org/drools/lang/DRL.g:873:14: FROM ENTRY_POINT
         {
-        match(input,FROM,FOLLOW_FROM_in_synpred62413); if (failed) return ;
-        match(input,ENTRY_POINT,FOLLOW_ENTRY_POINT_in_synpred62415); if (failed) return ;
+        match(input,FROM,FOLLOW_FROM_in_synpred62464); if (failed) return ;
+        match(input,ENTRY_POINT,FOLLOW_ENTRY_POINT_in_synpred62466); if (failed) return ;
 
         }
     }
@@ -7973,10 +8093,10 @@
 
     // $ANTLR start synpred9
     public final void synpred9_fragment() throws RecognitionException {   
-        // /Users/michaelneale/project/jboss-rules/drools-compiler/src/main/resources/org/drools/lang/DRL.g:1141:6: ( LEFT_SQUARE )
-        // /Users/michaelneale/project/jboss-rules/drools-compiler/src/main/resources/org/drools/lang/DRL.g:1141:8: LEFT_SQUARE
+        // /home/etirelli/workspace/jboss/jbossrules/drools-compiler/src/main/resources/org/drools/lang/DRL.g:1149:6: ( LEFT_SQUARE )
+        // /home/etirelli/workspace/jboss/jbossrules/drools-compiler/src/main/resources/org/drools/lang/DRL.g:1149:8: LEFT_SQUARE
         {
-        match(input,LEFT_SQUARE,FOLLOW_LEFT_SQUARE_in_synpred93354); if (failed) return ;
+        match(input,LEFT_SQUARE,FOLLOW_LEFT_SQUARE_in_synpred93405); if (failed) return ;
 
         }
     }
@@ -7984,10 +8104,10 @@
 
     // $ANTLR start synpred10
     public final void synpred10_fragment() throws RecognitionException {   
-        // /Users/michaelneale/project/jboss-rules/drools-compiler/src/main/resources/org/drools/lang/DRL.g:1147:6: ( LEFT_PAREN )
-        // /Users/michaelneale/project/jboss-rules/drools-compiler/src/main/resources/org/drools/lang/DRL.g:1147:8: LEFT_PAREN
+        // /home/etirelli/workspace/jboss/jbossrules/drools-compiler/src/main/resources/org/drools/lang/DRL.g:1155:6: ( LEFT_PAREN )
+        // /home/etirelli/workspace/jboss/jbossrules/drools-compiler/src/main/resources/org/drools/lang/DRL.g:1155:8: LEFT_PAREN
         {
-        match(input,LEFT_PAREN,FOLLOW_LEFT_PAREN_in_synpred103387); if (failed) return ;
+        match(input,LEFT_PAREN,FOLLOW_LEFT_PAREN_in_synpred103438); if (failed) return ;
 
         }
     }
@@ -7995,11 +8115,11 @@
 
     // $ANTLR start synpred11
     public final void synpred11_fragment() throws RecognitionException {   
-        // /Users/michaelneale/project/jboss-rules/drools-compiler/src/main/resources/org/drools/lang/DRL.g:1471:4: ( DOUBLE_PIPE and_restr_connective[or] )
-        // /Users/michaelneale/project/jboss-rules/drools-compiler/src/main/resources/org/drools/lang/DRL.g:1471:4: DOUBLE_PIPE and_restr_connective[or]
+        // /home/etirelli/workspace/jboss/jbossrules/drools-compiler/src/main/resources/org/drools/lang/DRL.g:1479:4: ( DOUBLE_PIPE and_restr_connective[or] )
+        // /home/etirelli/workspace/jboss/jbossrules/drools-compiler/src/main/resources/org/drools/lang/DRL.g:1479:4: DOUBLE_PIPE and_restr_connective[or]
         {
-        match(input,DOUBLE_PIPE,FOLLOW_DOUBLE_PIPE_in_synpred114190); if (failed) return ;
-        pushFollow(FOLLOW_and_restr_connective_in_synpred114201);
+        match(input,DOUBLE_PIPE,FOLLOW_DOUBLE_PIPE_in_synpred114241); if (failed) return ;
+        pushFollow(FOLLOW_and_restr_connective_in_synpred114252);
         and_restr_connective(or);
         _fsp--;
         if (failed) return ;
@@ -8010,11 +8130,11 @@
 
     // $ANTLR start synpred12
     public final void synpred12_fragment() throws RecognitionException {   
-        // /Users/michaelneale/project/jboss-rules/drools-compiler/src/main/resources/org/drools/lang/DRL.g:1493:5: ( DOUBLE_AMPER constraint_expression[and] )
-        // /Users/michaelneale/project/jboss-rules/drools-compiler/src/main/resources/org/drools/lang/DRL.g:1493:5: DOUBLE_AMPER constraint_expression[and]
+        // /home/etirelli/workspace/jboss/jbossrules/drools-compiler/src/main/resources/org/drools/lang/DRL.g:1501:5: ( DOUBLE_AMPER constraint_expression[and] )
+        // /home/etirelli/workspace/jboss/jbossrules/drools-compiler/src/main/resources/org/drools/lang/DRL.g:1501:5: DOUBLE_AMPER constraint_expression[and]
         {
-        match(input,DOUBLE_AMPER,FOLLOW_DOUBLE_AMPER_in_synpred124253); if (failed) return ;
-        pushFollow(FOLLOW_constraint_expression_in_synpred124264);
+        match(input,DOUBLE_AMPER,FOLLOW_DOUBLE_AMPER_in_synpred124304); if (failed) return ;
+        pushFollow(FOLLOW_constraint_expression_in_synpred124315);
         constraint_expression(and);
         _fsp--;
         if (failed) return ;
@@ -8168,32 +8288,32 @@
     protected DFA8 dfa8 = new DFA8(this);
     protected DFA9 dfa9 = new DFA9(this);
     protected DFA21 dfa21 = new DFA21(this);
-    protected DFA56 dfa56 = new DFA56(this);
+    protected DFA58 dfa58 = new DFA58(this);
     static final String DFA8_eotS =
         "\6\uffff";
     static final String DFA8_eofS =
         "\6\uffff";
     static final String DFA8_minS =
-        "\2\4\1\uffff\1\67\1\uffff\1\4";
+        "\2\4\1\71\2\uffff\1\4";
     static final String DFA8_maxS =
-        "\2\104\1\uffff\1\67\1\uffff\1\104";
+        "\2\106\1\71\2\uffff\1\106";
     static final String DFA8_acceptS =
-        "\2\uffff\1\1\1\uffff\1\2\1\uffff";
+        "\3\uffff\1\2\1\1\1\uffff";
     static final String DFA8_specialS =
         "\6\uffff}>";
     static final String[] DFA8_transitionS = {
             "\4\1\1\uffff\1\1\4\uffff\1\1\3\uffff\5\1\3\uffff\1\1\1\uffff"+
-            "\1\1\6\uffff\2\1\5\uffff\1\1\5\uffff\4\1\12\uffff\1\1\4\uffff"+
+            "\1\1\6\uffff\2\1\7\uffff\1\1\5\uffff\4\1\12\uffff\1\1\4\uffff"+
             "\2\1",
-            "\6\2\1\uffff\2\4\1\uffff\1\2\3\uffff\5\2\3\uffff\1\2\1\uffff"+
-            "\1\2\6\uffff\2\2\5\uffff\1\2\5\uffff\4\2\2\uffff\1\3\7\uffff"+
-            "\1\2\4\uffff\2\2",
-            "",
+            "\6\4\1\uffff\2\3\1\uffff\1\4\3\uffff\5\4\3\uffff\1\4\1\uffff"+
+            "\1\4\6\uffff\2\4\7\uffff\1\4\5\uffff\4\4\2\uffff\1\2\7\uffff"+
+            "\1\4\4\uffff\2\4",
             "\1\5",
             "",
-            "\4\2\1\uffff\1\2\1\uffff\2\4\1\uffff\1\2\3\uffff\5\2\3\uffff"+
-            "\1\2\1\uffff\1\2\6\uffff\2\2\5\uffff\1\2\5\uffff\4\2\2\uffff"+
-            "\1\3\7\uffff\1\2\4\uffff\2\2"
+            "",
+            "\4\4\1\uffff\1\4\1\uffff\2\3\1\uffff\1\4\3\uffff\5\4\3\uffff"+
+            "\1\4\1\uffff\1\4\6\uffff\2\4\7\uffff\1\4\5\uffff\4\4\2\uffff"+
+            "\1\2\7\uffff\1\4\4\uffff\2\4"
     };
 
     static final short[] DFA8_eot = DFA.unpackEncodedString(DFA8_eotS);
@@ -8234,25 +8354,25 @@
     static final String DFA9_eofS =
         "\6\uffff";
     static final String DFA9_minS =
-        "\2\4\1\67\2\uffff\1\4";
+        "\2\4\1\71\2\uffff\1\4";
     static final String DFA9_maxS =
-        "\2\104\1\67\2\uffff\1\104";
+        "\2\106\1\71\2\uffff\1\106";
     static final String DFA9_acceptS =
         "\3\uffff\1\2\1\1\1\uffff";
     static final String DFA9_specialS =
         "\6\uffff}>";
     static final String[] DFA9_transitionS = {
             "\4\1\1\uffff\1\1\4\uffff\1\1\3\uffff\5\1\3\uffff\1\1\1\uffff"+
-            "\1\1\6\uffff\2\1\5\uffff\1\1\5\uffff\4\1\12\uffff\1\1\4\uffff"+
+            "\1\1\6\uffff\2\1\7\uffff\1\1\5\uffff\4\1\12\uffff\1\1\4\uffff"+
             "\2\1",
             "\6\4\1\uffff\2\3\1\uffff\1\4\3\uffff\5\4\3\uffff\1\4\1\uffff"+
-            "\1\4\6\uffff\2\4\5\uffff\1\4\5\uffff\4\4\2\uffff\1\2\7\uffff"+
+            "\1\4\6\uffff\2\4\7\uffff\1\4\5\uffff\4\4\2\uffff\1\2\7\uffff"+
             "\1\4\4\uffff\2\4",
             "\1\5",
             "",
             "",
             "\4\4\1\uffff\1\4\1\uffff\2\3\1\uffff\1\4\3\uffff\5\4\3\uffff"+
-            "\1\4\1\uffff\1\4\6\uffff\2\4\5\uffff\1\4\5\uffff\4\4\2\uffff"+
+            "\1\4\1\uffff\1\4\6\uffff\2\4\7\uffff\1\4\5\uffff\4\4\2\uffff"+
             "\1\2\7\uffff\1\4\4\uffff\2\4"
     };
 
@@ -8294,26 +8414,26 @@
     static final String DFA21_eofS =
         "\11\uffff";
     static final String DFA21_minS =
-        "\2\7\1\uffff\1\7\1\uffff\1\4\1\67\2\7";
+        "\2\7\1\uffff\1\7\1\uffff\1\4\1\71\2\7";
     static final String DFA21_maxS =
-        "\2\56\1\uffff\1\66\1\uffff\1\104\1\67\2\66";
+        "\2\60\1\uffff\1\70\1\uffff\1\106\1\71\2\70";
     static final String DFA21_acceptS =
         "\2\uffff\1\2\1\uffff\1\1\4\uffff";
     static final String DFA21_specialS =
         "\11\uffff}>";
     static final String[] DFA21_transitionS = {
-            "\1\2\2\uffff\1\1\3\uffff\1\2\34\uffff\4\2",
-            "\1\3\2\uffff\1\2\1\uffff\1\4\31\uffff\1\2\1\uffff\1\2\2\uffff"+
+            "\1\2\2\uffff\1\1\3\uffff\1\2\36\uffff\4\2",
+            "\1\3\2\uffff\1\2\1\uffff\1\4\31\uffff\1\2\1\uffff\1\2\4\uffff"+
             "\4\2",
             "",
-            "\1\4\1\5\1\uffff\1\2\2\4\3\uffff\1\2\45\uffff\1\6",
+            "\1\4\1\5\1\uffff\1\2\2\4\3\uffff\1\2\47\uffff\1\6",
             "",
             "\4\7\1\uffff\1\7\4\uffff\1\7\3\uffff\5\7\3\uffff\1\7\1\uffff"+
-            "\1\7\6\uffff\2\7\5\uffff\1\7\5\uffff\4\7\12\uffff\1\7\4\uffff"+
+            "\1\7\6\uffff\2\7\7\uffff\1\7\5\uffff\4\7\12\uffff\1\7\4\uffff"+
             "\2\7",
             "\1\10",
-            "\1\4\1\5\1\uffff\1\2\53\uffff\1\6",
-            "\1\4\2\uffff\1\2\53\uffff\1\6"
+            "\1\4\1\5\1\uffff\1\2\55\uffff\1\6",
+            "\1\4\2\uffff\1\2\55\uffff\1\6"
     };
 
     static final short[] DFA21_eot = DFA.unpackEncodedString(DFA21_eotS);
@@ -8349,110 +8469,110 @@
             return "437:3: ( LEFT_PAREN ( ( (paramType= qualified_id )? paramName= ID ) ( COMMA (paramType= qualified_id )? paramName= ID )* )? RIGHT_PAREN )?";
         }
     }
-    static final String DFA56_eotS =
+    static final String DFA58_eotS =
         "\150\uffff";
-    static final String DFA56_eofS =
+    static final String DFA58_eofS =
         "\150\uffff";
-    static final String DFA56_minS =
+    static final String DFA58_minS =
         "\1\7\1\uffff\1\4\1\uffff\2\4\1\0\5\4\2\uffff\4\4\1\0\1\4\1\0\5\4"+
         "\1\0\1\4\1\0\1\4\2\0\3\4\2\0\1\4\1\0\1\4\2\0\3\4\2\0\1\4\1\0\1\4"+
         "\2\0\3\4\1\0\3\4\1\0\3\4\1\0\1\4\1\0\1\4\1\uffff\44\0";
-    static final String DFA56_maxS =
-        "\1\117\1\uffff\1\127\1\uffff\2\127\1\0\5\127\2\uffff\4\127\1\0\1"+
-        "\127\1\0\5\127\1\0\1\127\1\0\1\127\2\0\3\127\2\0\1\127\1\0\1\127"+
-        "\2\0\3\127\2\0\1\127\1\0\1\127\2\0\3\127\1\0\3\127\1\0\3\127\1\0"+
-        "\1\127\1\0\1\127\1\uffff\44\0";
-    static final String DFA56_acceptS =
+    static final String DFA58_maxS =
+        "\1\121\1\uffff\1\131\1\uffff\2\131\1\0\5\131\2\uffff\4\131\1\0\1"+
+        "\131\1\0\5\131\1\0\1\131\1\0\1\131\2\0\3\131\2\0\1\131\1\0\1\131"+
+        "\2\0\3\131\2\0\1\131\1\0\1\131\2\0\3\131\1\0\3\131\1\0\3\131\1\0"+
+        "\1\131\1\0\1\131\1\uffff\44\0";
+    static final String DFA58_acceptS =
         "\1\uffff\1\1\1\uffff\1\3\10\uffff\2\2\65\uffff\1\2\44\uffff";
-    static final String DFA56_specialS =
-        "\1\54\1\uffff\1\57\1\uffff\1\0\1\7\1\5\1\61\1\51\1\67\1\15\1\45"+
-        "\2\uffff\1\23\1\63\1\56\1\22\1\31\1\76\1\33\1\20\1\13\1\2\1\10\1"+
-        "\41\1\47\1\44\1\12\1\43\1\64\1\36\1\14\1\71\1\50\1\66\1\6\1\75\1"+
-        "\37\1\74\1\65\1\26\1\35\1\25\1\3\1\46\1\34\1\40\1\55\1\42\1\24\1"+
-        "\70\1\62\1\1\1\27\1\21\1\16\1\72\1\52\1\32\1\17\1\73\1\53\1\60\1"+
-        "\4\1\11\1\30\45\uffff}>";
-    static final String[] DFA56_transitionS = {
-            "\2\3\1\uffff\1\2\2\3\1\uffff\1\3\27\uffff\4\3\1\uffff\4\3\1"+
+    static final String DFA58_specialS =
+        "\1\60\1\uffff\1\40\1\uffff\1\61\1\1\1\63\1\0\1\67\1\51\1\4\1\23"+
+        "\2\uffff\1\5\1\16\1\27\1\24\1\66\1\56\1\17\1\3\1\2\1\7\1\76\1\36"+
+        "\1\26\1\22\1\10\1\21\1\52\1\30\1\70\1\43\1\31\1\62\1\14\1\55\1\12"+
+        "\1\54\1\20\1\65\1\50\1\53\1\57\1\47\1\11\1\35\1\41\1\37\1\25\1\42"+
+        "\1\46\1\34\1\75\1\15\1\71\1\44\1\32\1\64\1\72\1\45\1\33\1\74\1\6"+
+        "\1\13\1\73\45\uffff}>";
+    static final String[] DFA58_transitionS = {
+            "\2\3\1\uffff\1\2\2\3\1\uffff\1\3\27\uffff\4\3\3\uffff\4\3\1"+
             "\uffff\1\3\5\uffff\1\1\14\uffff\1\3\13\uffff\1\3",
             "",
-            "\3\14\1\13\2\14\1\6\1\14\1\15\31\14\1\5\1\14\1\4\2\14\1\7\1"+
+            "\3\14\1\13\2\14\1\6\1\14\1\15\31\14\1\5\1\14\1\4\4\14\1\7\1"+
             "\10\1\11\1\12\51\14",
             "",
-            "\3\14\1\23\2\14\1\22\1\14\1\15\36\14\1\16\1\17\1\20\1\21\51"+
+            "\3\14\1\23\2\14\1\22\1\14\1\15\40\14\1\16\1\17\1\20\1\21\51"+
             "\14",
-            "\3\14\1\31\2\14\1\24\1\14\1\15\36\14\1\25\1\26\1\27\1\30\51"+
+            "\3\14\1\31\2\14\1\24\1\14\1\15\40\14\1\25\1\26\1\27\1\30\51"+
             "\14",
             "\1\uffff",
-            "\3\14\1\33\2\14\1\32\1\14\1\15\113\14",
-            "\3\14\1\35\2\14\1\34\1\14\1\15\113\14",
-            "\6\14\1\36\1\14\1\15\113\14",
-            "\6\14\1\37\1\14\1\15\113\14",
-            "\4\14\1\41\1\14\1\43\1\14\1\15\3\14\1\40\45\14\1\42\41\14",
+            "\3\14\1\33\2\14\1\32\1\14\1\15\115\14",
+            "\3\14\1\35\2\14\1\34\1\14\1\15\115\14",
+            "\6\14\1\36\1\14\1\15\115\14",
+            "\6\14\1\37\1\14\1\15\115\14",
+            "\4\14\1\41\1\14\1\43\1\14\1\15\3\14\1\40\47\14\1\42\41\14",
             "",
             "",
-            "\3\14\1\45\2\14\1\44\1\14\1\15\113\14",
-            "\3\14\1\47\2\14\1\46\1\14\1\15\113\14",
-            "\6\14\1\50\1\14\1\15\113\14",
-            "\6\14\1\51\1\14\1\15\113\14",
+            "\3\14\1\45\2\14\1\44\1\14\1\15\115\14",
+            "\3\14\1\47\2\14\1\46\1\14\1\15\115\14",
+            "\6\14\1\50\1\14\1\15\115\14",
+            "\6\14\1\51\1\14\1\15\115\14",
             "\1\uffff",
-            "\4\14\1\53\1\14\1\55\1\14\1\15\3\14\1\52\45\14\1\54\41\14",
+            "\4\14\1\53\1\14\1\55\1\14\1\15\3\14\1\52\47\14\1\54\41\14",
             "\1\uffff",
-            "\3\14\1\57\2\14\1\56\1\14\1\15\113\14",
-            "\3\14\1\61\2\14\1\60\1\14\1\15\113\14",
-            "\6\14\1\62\1\14\1\15\113\14",
-            "\6\14\1\63\1\14\1\15\113\14",
-            "\4\14\1\65\1\14\1\67\1\14\1\15\3\14\1\64\45\14\1\66\41\14",
+            "\3\14\1\57\2\14\1\56\1\14\1\15\115\14",
+            "\3\14\1\61\2\14\1\60\1\14\1\15\115\14",
+            "\6\14\1\62\1\14\1\15\115\14",
+            "\6\14\1\63\1\14\1\15\115\14",
+            "\4\14\1\65\1\14\1\67\1\14\1\15\3\14\1\64\47\14\1\66\41\14",
             "\1\uffff",
-            "\4\14\1\71\1\14\1\73\1\14\1\15\3\14\1\70\45\14\1\72\41\14",
+            "\4\14\1\71\1\14\1\73\1\14\1\15\3\14\1\70\47\14\1\72\41\14",
             "\1\uffff",
-            "\4\14\1\75\1\14\1\77\1\14\1\15\3\14\1\74\45\14\1\76\41\14",
+            "\4\14\1\75\1\14\1\77\1\14\1\15\3\14\1\74\47\14\1\76\41\14",
             "\1\uffff",
             "\1\uffff",
-            "\3\14\1\100\2\14\1\101\1\14\1\15\113\14",
+            "\3\14\1\100\2\14\1\101\1\14\1\15\115\14",
             "\4\102\1\14\1\102\1\103\1\14\1\15\1\14\1\102\3\14\5\102\3\14"+
-            "\1\102\1\14\1\102\6\14\2\102\5\14\1\102\5\14\4\102\12\14\1\102"+
+            "\1\102\1\14\1\102\6\14\2\102\7\14\1\102\5\14\4\102\12\14\1\102"+
             "\4\14\2\102\23\14",
-            "\6\14\1\103\1\14\1\15\52\14\1\104\40\14",
+            "\6\14\1\103\1\14\1\15\54\14\1\104\40\14",
             "\1\uffff",
             "\1\uffff",
-            "\4\14\1\106\1\14\1\110\1\14\1\15\3\14\1\105\45\14\1\107\41\14",
+            "\4\14\1\106\1\14\1\110\1\14\1\15\3\14\1\105\47\14\1\107\41\14",
             "\1\uffff",
-            "\4\14\1\112\1\14\1\114\1\14\1\15\3\14\1\111\45\14\1\113\41\14",
+            "\4\14\1\112\1\14\1\114\1\14\1\15\3\14\1\111\47\14\1\113\41\14",
             "\1\uffff",
             "\1\uffff",
-            "\3\14\1\115\2\14\1\116\1\14\1\15\113\14",
+            "\3\14\1\115\2\14\1\116\1\14\1\15\115\14",
             "\4\117\1\14\1\117\1\103\1\14\1\15\1\14\1\117\3\14\5\117\3\14"+
-            "\1\117\1\14\1\117\6\14\2\117\5\14\1\117\5\14\4\117\12\14\1\117"+
+            "\1\117\1\14\1\117\6\14\2\117\7\14\1\117\5\14\4\117\12\14\1\117"+
             "\4\14\2\117\23\14",
-            "\6\14\1\103\1\14\1\15\52\14\1\120\40\14",
+            "\6\14\1\103\1\14\1\15\54\14\1\120\40\14",
             "\1\uffff",
             "\1\uffff",
-            "\4\14\1\122\1\14\1\124\1\14\1\15\3\14\1\121\45\14\1\123\41\14",
+            "\4\14\1\122\1\14\1\124\1\14\1\15\3\14\1\121\47\14\1\123\41\14",
             "\1\uffff",
-            "\4\14\1\126\1\14\1\130\1\14\1\15\3\14\1\125\45\14\1\127\41\14",
+            "\4\14\1\126\1\14\1\130\1\14\1\15\3\14\1\125\47\14\1\127\41\14",
             "\1\uffff",
             "\1\uffff",
-            "\3\14\1\131\2\14\1\132\1\14\1\15\113\14",
+            "\3\14\1\131\2\14\1\132\1\14\1\15\115\14",
             "\4\133\1\14\1\133\1\103\1\14\1\15\1\14\1\133\3\14\5\133\3\14"+
-            "\1\133\1\14\1\133\6\14\2\133\5\14\1\133\5\14\4\133\12\14\1\133"+
+            "\1\133\1\14\1\133\6\14\2\133\7\14\1\133\5\14\4\133\12\14\1\133"+
             "\4\14\2\133\23\14",
-            "\6\14\1\103\1\14\1\15\52\14\1\134\40\14",
+            "\6\14\1\103\1\14\1\15\54\14\1\134\40\14",
             "\1\uffff",
-            "\3\14\1\135\2\14\1\136\1\14\1\15\113\14",
+            "\3\14\1\135\2\14\1\136\1\14\1\15\115\14",
             "\4\137\1\14\1\137\1\103\1\14\1\15\1\14\1\137\3\14\5\137\3\14"+
-            "\1\137\1\14\1\137\6\14\2\137\5\14\1\137\5\14\4\137\12\14\1\137"+
+            "\1\137\1\14\1\137\6\14\2\137\7\14\1\137\5\14\4\137\12\14\1\137"+
             "\4\14\2\137\23\14",
-            "\6\14\1\103\1\14\1\15\52\14\1\140\40\14",
+            "\6\14\1\103\1\14\1\15\54\14\1\140\40\14",
             "\1\uffff",
-            "\3\14\1\141\2\14\1\142\1\14\1\15\113\14",
+            "\3\14\1\141\2\14\1\142\1\14\1\15\115\14",
             "\4\143\1\14\1\143\1\103\1\14\1\15\1\14\1\143\3\14\5\143\3\14"+
-            "\1\143\1\14\1\143\6\14\2\143\5\14\1\143\5\14\4\143\12\14\1\143"+
+            "\1\143\1\14\1\143\6\14\2\143\7\14\1\143\5\14\4\143\12\14\1\143"+
             "\4\14\2\143\23\14",
-            "\6\14\1\103\1\14\1\15\52\14\1\144\40\14",
+            "\6\14\1\103\1\14\1\15\54\14\1\144\40\14",
             "\1\uffff",
-            "\4\14\1\145\1\14\1\147\1\14\1\15\51\14\1\146\41\14",
+            "\4\14\1\145\1\14\1\147\1\14\1\15\53\14\1\146\41\14",
             "\1\uffff",
-            "\4\14\1\41\1\14\1\43\1\14\1\15\51\14\1\42\41\14",
+            "\4\14\1\41\1\14\1\43\1\14\1\15\53\14\1\42\41\14",
             "",
             "\1\uffff",
             "\1\uffff",
@@ -8492,223 +8612,219 @@
             "\1\uffff"
     };
 
-    static final short[] DFA56_eot = DFA.unpackEncodedString(DFA56_eotS);
-    static final short[] DFA56_eof = DFA.unpackEncodedString(DFA56_eofS);
-    static final char[] DFA56_min = DFA.unpackEncodedStringToUnsignedChars(DFA56_minS);
-    static final char[] DFA56_max = DFA.unpackEncodedStringToUnsignedChars(DFA56_maxS);
-    static final short[] DFA56_accept = DFA.unpackEncodedString(DFA56_acceptS);
-    static final short[] DFA56_special = DFA.unpackEncodedString(DFA56_specialS);
-    static final short[][] DFA56_transition;
+    static final short[] DFA58_eot = DFA.unpackEncodedString(DFA58_eotS);
+    static final short[] DFA58_eof = DFA.unpackEncodedString(DFA58_eofS);
+    static final char[] DFA58_min = DFA.unpackEncodedStringToUnsignedChars(DFA58_minS);
+    static final char[] DFA58_max = DFA.unpackEncodedStringToUnsignedChars(DFA58_maxS);
+    static final short[] DFA58_accept = DFA.unpackEncodedString(DFA58_acceptS);
+    static final short[] DFA58_special = DFA.unpackEncodedString(DFA58_specialS);
+    static final short[][] DFA58_transition;
 
     static {
-        int numStates = DFA56_transitionS.length;
-        DFA56_transition = new short[numStates][];
+        int numStates = DFA58_transitionS.length;
+        DFA58_transition = new short[numStates][];
         for (int i=0; i<numStates; i++) {
-            DFA56_transition[i] = DFA.unpackEncodedString(DFA56_transitionS[i]);
+            DFA58_transition[i] = DFA.unpackEncodedString(DFA58_transitionS[i]);
         }
     }
 
-    class DFA56 extends DFA {
+    class DFA58 extends DFA {
 
-        public DFA56(BaseRecognizer recognizer) {
+        public DFA58(BaseRecognizer recognizer) {
             this.recognizer = recognizer;
-            this.decisionNumber = 56;
-            this.eot = DFA56_eot;
-            this.eof = DFA56_eof;
-            this.min = DFA56_min;
-            this.max = DFA56_max;
-            this.accept = DFA56_accept;
-            this.special = DFA56_special;
-            this.transition = DFA56_transition;
+            this.decisionNumber = 58;
+            this.eot = DFA58_eot;
+            this.eof = DFA58_eof;
+            this.min = DFA58_min;
+            this.max = DFA58_max;
+            this.accept = DFA58_accept;
+            this.special = DFA58_special;
+            this.transition = DFA58_transition;
         }
         public String getDescription() {
-            return "1140:4: ( ( LEFT_SQUARE )=>sqarg= square_chunk | ( LEFT_PAREN )=>paarg= paren_chunk )?";
+            return "1148:4: ( ( LEFT_SQUARE )=>sqarg= square_chunk | ( LEFT_PAREN )=>paarg= paren_chunk )?";
         }
         public int specialStateTransition(int s, IntStream input) throws NoViableAltException {
         	int _s = s;
             switch ( s ) {
                     case 0 : 
-                        int LA56_4 = input.LA(1);
+                        int LA58_7 = input.LA(1);
 
                          
-                        int index56_4 = input.index();
+                        int index58_7 = input.index();
                         input.rewind();
                         s = -1;
-                        if ( (LA56_4==EXISTS) ) {s = 14;}
+                        if ( (LA58_7==LEFT_PAREN) ) {s = 26;}
 
-                        else if ( (LA56_4==NOT) ) {s = 15;}
+                        else if ( (LA58_7==ID) ) {s = 27;}
 
-                        else if ( (LA56_4==EVAL) ) {s = 16;}
+                        else if ( (LA58_7==RIGHT_PAREN) && (synpred10())) {s = 13;}
 
-                        else if ( (LA56_4==FORALL) ) {s = 17;}
+                        else if ( ((LA58_7>=PACKAGE && LA58_7<=FUNCTION)||(LA58_7>=DOT && LA58_7<=GLOBAL)||LA58_7==COMMA||(LA58_7>=DECLARE && LA58_7<=89)) && (synpred10())) {s = 12;}
 
-                        else if ( (LA56_4==LEFT_PAREN) ) {s = 18;}
-
-                        else if ( (LA56_4==ID) ) {s = 19;}
-
-                        else if ( (LA56_4==RIGHT_PAREN) && (synpred10())) {s = 13;}
-
-                        else if ( ((LA56_4>=PACKAGE && LA56_4<=FUNCTION)||(LA56_4>=DOT && LA56_4<=GLOBAL)||LA56_4==COMMA||(LA56_4>=DECLARE && LA56_4<=FROM)||(LA56_4>=ACCUMULATE && LA56_4<=87)) && (synpred10())) {s = 12;}
-
                          
-                        input.seek(index56_4);
+                        input.seek(index58_7);
                         if ( s>=0 ) return s;
                         break;
                     case 1 : 
-                        int LA56_53 = input.LA(1);
+                        int LA58_5 = input.LA(1);
 
                          
-                        int index56_53 = input.index();
+                        int index58_5 = input.index();
                         input.rewind();
                         s = -1;
-                        if ( ((LA56_53>=PACKAGE && LA56_53<=ID)||LA56_53==GLOBAL||LA56_53==END||(LA56_53>=QUERY && LA56_53<=ATTRIBUTES)||LA56_53==ENABLED||LA56_53==SALIENCE||(LA56_53>=DURATION && LA56_53<=DIALECT)||LA56_53==FROM||(LA56_53>=INIT && LA56_53<=RESULT)||LA56_53==IN||(LA56_53>=THEN && LA56_53<=EVENT)) ) {s = 91;}
+                        if ( (LA58_5==LEFT_PAREN) ) {s = 20;}
 
-                        else if ( (LA56_53==RIGHT_PAREN) && (synpred10())) {s = 13;}
+                        else if ( (LA58_5==EXISTS) ) {s = 21;}
 
-                        else if ( (LA56_53==DOT||LA56_53==COMMA||LA56_53==DECLARE||(LA56_53>=AT && LA56_53<=EQUALS)||(LA56_53>=DATE_EFFECTIVE && LA56_53<=DATE_EXPIRES)||LA56_53==BOOL||(LA56_53>=INT && LA56_53<=AGENDA_GROUP)||(LA56_53>=LOCK_ON_ACTIVE && LA56_53<=DOUBLE_AMPER)||(LA56_53>=EXISTS && LA56_53<=ACCUMULATE)||(LA56_53>=COLLECT && LA56_53<=TILDE)||(LA56_53>=FLOAT && LA56_53<=RIGHT_CURLY)||(LA56_53>=EOL && LA56_53<=87)) && (synpred10())) {s = 12;}
+                        else if ( (LA58_5==NOT) ) {s = 22;}
 
-                        else if ( (LA56_53==LEFT_PAREN) && (synpred10())) {s = 67;}
+                        else if ( (LA58_5==EVAL) ) {s = 23;}
 
+                        else if ( (LA58_5==FORALL) ) {s = 24;}
+
+                        else if ( (LA58_5==ID) ) {s = 25;}
+
+                        else if ( (LA58_5==RIGHT_PAREN) && (synpred10())) {s = 13;}
+
+                        else if ( ((LA58_5>=PACKAGE && LA58_5<=FUNCTION)||(LA58_5>=DOT && LA58_5<=GLOBAL)||LA58_5==COMMA||(LA58_5>=DECLARE && LA58_5<=FROM)||(LA58_5>=ACCUMULATE && LA58_5<=89)) && (synpred10())) {s = 12;}
+
                          
-                        input.seek(index56_53);
+                        input.seek(index58_5);
                         if ( s>=0 ) return s;
                         break;
                     case 2 : 
-                        int LA56_23 = input.LA(1);
+                        int LA58_22 = input.LA(1);
 
                          
-                        int index56_23 = input.index();
+                        int index58_22 = input.index();
                         input.rewind();
                         s = -1;
-                        if ( (LA56_23==LEFT_PAREN) ) {s = 50;}
+                        if ( (LA58_22==LEFT_PAREN) ) {s = 48;}
 
-                        else if ( (LA56_23==RIGHT_PAREN) && (synpred10())) {s = 13;}
+                        else if ( (LA58_22==ID) ) {s = 49;}
 
-                        else if ( ((LA56_23>=PACKAGE && LA56_23<=GLOBAL)||LA56_23==COMMA||(LA56_23>=DECLARE && LA56_23<=87)) && (synpred10())) {s = 12;}
+                        else if ( (LA58_22==RIGHT_PAREN) && (synpred10())) {s = 13;}
 
+                        else if ( ((LA58_22>=PACKAGE && LA58_22<=FUNCTION)||(LA58_22>=DOT && LA58_22<=GLOBAL)||LA58_22==COMMA||(LA58_22>=DECLARE && LA58_22<=89)) && (synpred10())) {s = 12;}
+
                          
-                        input.seek(index56_23);
+                        input.seek(index58_22);
                         if ( s>=0 ) return s;
                         break;
                     case 3 : 
-                        int LA56_44 = input.LA(1);
+                        int LA58_21 = input.LA(1);
 
                          
-                        int index56_44 = input.index();
+                        int index58_21 = input.index();
                         input.rewind();
                         s = -1;
-                        if ( (LA56_44==RIGHT_SQUARE) ) {s = 80;}
+                        if ( (LA58_21==LEFT_PAREN) ) {s = 46;}
 
-                        else if ( (LA56_44==RIGHT_PAREN) && (synpred10())) {s = 13;}
+                        else if ( (LA58_21==ID) ) {s = 47;}
 
-                        else if ( ((LA56_44>=PACKAGE && LA56_44<=GLOBAL)||LA56_44==COMMA||(LA56_44>=DECLARE && LA56_44<=LEFT_SQUARE)||(LA56_44>=CONTAINS && LA56_44<=87)) && (synpred10())) {s = 12;}
+                        else if ( (LA58_21==RIGHT_PAREN) && (synpred10())) {s = 13;}
 
-                        else if ( (LA56_44==LEFT_PAREN) && (synpred10())) {s = 67;}
+                        else if ( ((LA58_21>=PACKAGE && LA58_21<=FUNCTION)||(LA58_21>=DOT && LA58_21<=GLOBAL)||LA58_21==COMMA||(LA58_21>=DECLARE && LA58_21<=89)) && (synpred10())) {s = 12;}
 
                          
-                        input.seek(index56_44);
+                        input.seek(index58_21);
                         if ( s>=0 ) return s;
                         break;
                     case 4 : 
-                        int LA56_64 = input.LA(1);
+                        int LA58_10 = input.LA(1);
 
                          
-                        int index56_64 = input.index();
+                        int index58_10 = input.index();
                         input.rewind();
                         s = -1;
-                        if ( (LA56_64==DOT) ) {s = 101;}
+                        if ( (LA58_10==LEFT_PAREN) ) {s = 31;}
 
-                        else if ( (LA56_64==LEFT_SQUARE) ) {s = 102;}
+                        else if ( (LA58_10==RIGHT_PAREN) && (synpred10())) {s = 13;}
 
-                        else if ( (LA56_64==LEFT_PAREN) ) {s = 103;}
+                        else if ( ((LA58_10>=PACKAGE && LA58_10<=GLOBAL)||LA58_10==COMMA||(LA58_10>=DECLARE && LA58_10<=89)) && (synpred10())) {s = 12;}
 
-                        else if ( (LA56_64==RIGHT_PAREN) && (synpred10())) {s = 13;}
-
-                        else if ( ((LA56_64>=PACKAGE && LA56_64<=ID)||LA56_64==GLOBAL||LA56_64==COMMA||(LA56_64>=DECLARE && LA56_64<=ENTRY_POINT)||(LA56_64>=RIGHT_SQUARE && LA56_64<=87)) && (synpred10())) {s = 12;}
-
                          
-                        input.seek(index56_64);
+                        input.seek(index58_10);
                         if ( s>=0 ) return s;
                         break;
                     case 5 : 
-                        int LA56_6 = input.LA(1);
+                        int LA58_14 = input.LA(1);
 
                          
-                        int index56_6 = input.index();
+                        int index58_14 = input.index();
                         input.rewind();
                         s = -1;
-                        if ( (synpred10()) ) {s = 13;}
+                        if ( (LA58_14==LEFT_PAREN) ) {s = 36;}
 
-                        else if ( (true) ) {s = 3;}
+                        else if ( (LA58_14==ID) ) {s = 37;}
 
+                        else if ( (LA58_14==RIGHT_PAREN) && (synpred10())) {s = 13;}
+
+                        else if ( ((LA58_14>=PACKAGE && LA58_14<=FUNCTION)||(LA58_14>=DOT && LA58_14<=GLOBAL)||LA58_14==COMMA||(LA58_14>=DECLARE && LA58_14<=89)) && (synpred10())) {s = 12;}
+
                          
-                        input.seek(index56_6);
+                        input.seek(index58_14);
                         if ( s>=0 ) return s;
                         break;
                     case 6 : 
-                        int LA56_36 = input.LA(1);
+                        int LA58_64 = input.LA(1);
 
                          
-                        int index56_36 = input.index();
+                        int index58_64 = input.index();
                         input.rewind();
                         s = -1;
-                        if ( (synpred10()) ) {s = 67;}
+                        if ( (LA58_64==DOT) ) {s = 101;}
 
-                        else if ( (true) ) {s = 3;}
+                        else if ( (LA58_64==LEFT_SQUARE) ) {s = 102;}
 
+                        else if ( (LA58_64==LEFT_PAREN) ) {s = 103;}
+
+                        else if ( (LA58_64==RIGHT_PAREN) && (synpred10())) {s = 13;}
+
+                        else if ( ((LA58_64>=PACKAGE && LA58_64<=ID)||LA58_64==GLOBAL||LA58_64==COMMA||(LA58_64>=DECLARE && LA58_64<=ENTRY_POINT)||(LA58_64>=RIGHT_SQUARE && LA58_64<=89)) && (synpred10())) {s = 12;}
+
                          
-                        input.seek(index56_36);
+                        input.seek(index58_64);
                         if ( s>=0 ) return s;
                         break;
                     case 7 : 
-                        int LA56_5 = input.LA(1);
+                        int LA58_23 = input.LA(1);
 
                          
-                        int index56_5 = input.index();
+                        int index58_23 = input.index();
                         input.rewind();
                         s = -1;
-                        if ( (LA56_5==LEFT_PAREN) ) {s = 20;}
+                        if ( (LA58_23==LEFT_PAREN) ) {s = 50;}
 
-                        else if ( (LA56_5==EXISTS) ) {s = 21;}
+                        else if ( (LA58_23==RIGHT_PAREN) && (synpred10())) {s = 13;}
 
-                        else if ( (LA56_5==NOT) ) {s = 22;}
+                        else if ( ((LA58_23>=PACKAGE && LA58_23<=GLOBAL)||LA58_23==COMMA||(LA58_23>=DECLARE && LA58_23<=89)) && (synpred10())) {s = 12;}
 
-                        else if ( (LA56_5==EVAL) ) {s = 23;}
-
-                        else if ( (LA56_5==FORALL) ) {s = 24;}
-
-                        else if ( (LA56_5==ID) ) {s = 25;}
-
-                        else if ( (LA56_5==RIGHT_PAREN) && (synpred10())) {s = 13;}
-
-                        else if ( ((LA56_5>=PACKAGE && LA56_5<=FUNCTION)||(LA56_5>=DOT && LA56_5<=GLOBAL)||LA56_5==COMMA||(LA56_5>=DECLARE && LA56_5<=FROM)||(LA56_5>=ACCUMULATE && LA56_5<=87)) && (synpred10())) {s = 12;}
-
                          
-                        input.seek(index56_5);
+                        input.seek(index58_23);
                         if ( s>=0 ) return s;
                         break;
                     case 8 : 
-                        int LA56_24 = input.LA(1);
+                        int LA58_28 = input.LA(1);
 
                          
-                        int index56_24 = input.index();
+                        int index58_28 = input.index();
                         input.rewind();
                         s = -1;
-                        if ( (LA56_24==LEFT_PAREN) ) {s = 51;}
+                        if ( (synpred10()) ) {s = 13;}
 
-                        else if ( (LA56_24==RIGHT_PAREN) && (synpred10())) {s = 13;}
+                        else if ( (true) ) {s = 3;}
 
-                        else if ( ((LA56_24>=PACKAGE && LA56_24<=GLOBAL)||LA56_24==COMMA||(LA56_24>=DECLARE && LA56_24<=87)) && (synpred10())) {s = 12;}
-
                          
-                        input.seek(index56_24);
+                        input.seek(index58_28);
                         if ( s>=0 ) return s;
                         break;
                     case 9 : 
-                        int LA56_65 = input.LA(1);
+                        int LA58_46 = input.LA(1);
 
                          
-                        int index56_65 = input.index();
+                        int index58_46 = input.index();
                         input.rewind();
                         s = -1;
                         if ( (synpred10()) ) {s = 67;}
@@ -8716,801 +8832,815 @@
                         else if ( (true) ) {s = 3;}
 
                          
-                        input.seek(index56_65);
+                        input.seek(index58_46);
                         if ( s>=0 ) return s;
                         break;
                     case 10 : 
-                        int LA56_28 = input.LA(1);
+                        int LA58_38 = input.LA(1);
 
                          
-                        int index56_28 = input.index();
+                        int index58_38 = input.index();
                         input.rewind();
                         s = -1;
-                        if ( (synpred10()) ) {s = 13;}
+                        if ( (synpred10()) ) {s = 67;}
 
                         else if ( (true) ) {s = 3;}
 
                          
-                        input.seek(index56_28);
+                        input.seek(index58_38);
                         if ( s>=0 ) return s;
                         break;
                     case 11 : 
-                        int LA56_22 = input.LA(1);
+                        int LA58_65 = input.LA(1);
 
                          
-                        int index56_22 = input.index();
+                        int index58_65 = input.index();
                         input.rewind();
                         s = -1;
-                        if ( (LA56_22==LEFT_PAREN) ) {s = 48;}
+                        if ( (synpred10()) ) {s = 67;}
 
-                        else if ( (LA56_22==ID) ) {s = 49;}
+                        else if ( (true) ) {s = 3;}
 
-                        else if ( (LA56_22==RIGHT_PAREN) && (synpred10())) {s = 13;}
-
-                        else if ( ((LA56_22>=PACKAGE && LA56_22<=FUNCTION)||(LA56_22>=DOT && LA56_22<=GLOBAL)||LA56_22==COMMA||(LA56_22>=DECLARE && LA56_22<=87)) && (synpred10())) {s = 12;}
-
                          
-                        input.seek(index56_22);
+                        input.seek(index58_65);
                         if ( s>=0 ) return s;
                         break;
                     case 12 : 
-                        int LA56_32 = input.LA(1);
+                        int LA58_36 = input.LA(1);
 
                          
-                        int index56_32 = input.index();
+                        int index58_36 = input.index();
                         input.rewind();
                         s = -1;
-                        if ( (LA56_32==ID) ) {s = 64;}
+                        if ( (synpred10()) ) {s = 67;}
 
-                        else if ( (LA56_32==LEFT_PAREN) ) {s = 65;}
+                        else if ( (true) ) {s = 3;}
 
-                        else if ( (LA56_32==RIGHT_PAREN) && (synpred10())) {s = 13;}
-
-                        else if ( ((LA56_32>=PACKAGE && LA56_32<=FUNCTION)||(LA56_32>=DOT && LA56_32<=GLOBAL)||LA56_32==COMMA||(LA56_32>=DECLARE && LA56_32<=87)) && (synpred10())) {s = 12;}
-
                          
-                        input.seek(index56_32);
+                        input.seek(index58_36);
                         if ( s>=0 ) return s;
                         break;
                     case 13 : 
-                        int LA56_10 = input.LA(1);
+                        int LA58_55 = input.LA(1);
 
                          
-                        int index56_10 = input.index();
+                        int index58_55 = input.index();
                         input.rewind();
                         s = -1;
-                        if ( (LA56_10==LEFT_PAREN) ) {s = 31;}
+                        if ( (synpred10()) ) {s = 67;}
 
-                        else if ( (LA56_10==RIGHT_PAREN) && (synpred10())) {s = 13;}
+                        else if ( (true) ) {s = 3;}
 
-                        else if ( ((LA56_10>=PACKAGE && LA56_10<=GLOBAL)||LA56_10==COMMA||(LA56_10>=DECLARE && LA56_10<=87)) && (synpred10())) {s = 12;}
-
                          
-                        input.seek(index56_10);
+                        input.seek(index58_55);
                         if ( s>=0 ) return s;
                         break;
                     case 14 : 
-                        int LA56_56 = input.LA(1);
+                        int LA58_15 = input.LA(1);
 
                          
-                        int index56_56 = input.index();
+                        int index58_15 = input.index();
                         input.rewind();
                         s = -1;
-                        if ( (LA56_56==ID) ) {s = 93;}
+                        if ( (LA58_15==LEFT_PAREN) ) {s = 38;}
 
-                        else if ( (LA56_56==LEFT_PAREN) ) {s = 94;}
+                        else if ( (LA58_15==ID) ) {s = 39;}
 
-                        else if ( (LA56_56==RIGHT_PAREN) && (synpred10())) {s = 13;}
+                        else if ( (LA58_15==RIGHT_PAREN) && (synpred10())) {s = 13;}
 
-                        else if ( ((LA56_56>=PACKAGE && LA56_56<=FUNCTION)||(LA56_56>=DOT && LA56_56<=GLOBAL)||LA56_56==COMMA||(LA56_56>=DECLARE && LA56_56<=87)) && (synpred10())) {s = 12;}
+                        else if ( ((LA58_15>=PACKAGE && LA58_15<=FUNCTION)||(LA58_15>=DOT && LA58_15<=GLOBAL)||LA58_15==COMMA||(LA58_15>=DECLARE && LA58_15<=89)) && (synpred10())) {s = 12;}
 
                          
-                        input.seek(index56_56);
+                        input.seek(index58_15);
                         if ( s>=0 ) return s;
                         break;
                     case 15 : 
-                        int LA56_60 = input.LA(1);
+                        int LA58_20 = input.LA(1);
 
                          
-                        int index56_60 = input.index();
+                        int index58_20 = input.index();
                         input.rewind();
                         s = -1;
-                        if ( (LA56_60==ID) ) {s = 97;}
+                        if ( (synpred10()) ) {s = 13;}
 
-                        else if ( (LA56_60==LEFT_PAREN) ) {s = 98;}
+                        else if ( (true) ) {s = 3;}
 
-                        else if ( (LA56_60==RIGHT_PAREN) && (synpred10())) {s = 13;}
-
-                        else if ( ((LA56_60>=PACKAGE && LA56_60<=FUNCTION)||(LA56_60>=DOT && LA56_60<=GLOBAL)||LA56_60==COMMA||(LA56_60>=DECLARE && LA56_60<=87)) && (synpred10())) {s = 12;}
-
                          
-                        input.seek(index56_60);
+                        input.seek(index58_20);
                         if ( s>=0 ) return s;
                         break;
                     case 16 : 
-                        int LA56_21 = input.LA(1);
+                        int LA58_40 = input.LA(1);
 
                          
-                        int index56_21 = input.index();
+                        int index58_40 = input.index();
                         input.rewind();
                         s = -1;
-                        if ( (LA56_21==LEFT_PAREN) ) {s = 46;}
+                        if ( (synpred10()) ) {s = 67;}
 
-                        else if ( (LA56_21==ID) ) {s = 47;}
+                        else if ( (true) ) {s = 3;}
 
-                        else if ( (LA56_21==RIGHT_PAREN) && (synpred10())) {s = 13;}
-
-                        else if ( ((LA56_21>=PACKAGE && LA56_21<=FUNCTION)||(LA56_21>=DOT && LA56_21<=GLOBAL)||LA56_21==COMMA||(LA56_21>=DECLARE && LA56_21<=87)) && (synpred10())) {s = 12;}
-
                          
-                        input.seek(index56_21);
+                        input.seek(index58_40);
                         if ( s>=0 ) return s;
                         break;
                     case 17 : 
-                        int LA56_55 = input.LA(1);
+                        int LA58_29 = input.LA(1);
 
                          
-                        int index56_55 = input.index();
+                        int index58_29 = input.index();
                         input.rewind();
                         s = -1;
-                        if ( (synpred10()) ) {s = 67;}
+                        if ( (LA58_29==COLON) ) {s = 60;}
 
-                        else if ( (true) ) {s = 3;}
+                        else if ( (LA58_29==DOT) ) {s = 61;}
 
+                        else if ( (LA58_29==LEFT_SQUARE) ) {s = 62;}
+
+                        else if ( (LA58_29==LEFT_PAREN) ) {s = 63;}
+
+                        else if ( (LA58_29==RIGHT_PAREN) && (synpred10())) {s = 13;}
+
+                        else if ( ((LA58_29>=PACKAGE && LA58_29<=ID)||LA58_29==GLOBAL||LA58_29==COMMA||(LA58_29>=DECLARE && LA58_29<=AT)||(LA58_29>=EQUALS && LA58_29<=ENTRY_POINT)||(LA58_29>=RIGHT_SQUARE && LA58_29<=89)) && (synpred10())) {s = 12;}
+
                          
-                        input.seek(index56_55);
+                        input.seek(index58_29);
                         if ( s>=0 ) return s;
                         break;
                     case 18 : 
-                        int LA56_17 = input.LA(1);
+                        int LA58_27 = input.LA(1);
 
                          
-                        int index56_17 = input.index();
+                        int index58_27 = input.index();
                         input.rewind();
                         s = -1;
-                        if ( (LA56_17==LEFT_PAREN) ) {s = 41;}
+                        if ( (LA58_27==COLON) ) {s = 56;}
 
-                        else if ( (LA56_17==RIGHT_PAREN) && (synpred10())) {s = 13;}
+                        else if ( (LA58_27==DOT) ) {s = 57;}
 
-                        else if ( ((LA56_17>=PACKAGE && LA56_17<=GLOBAL)||LA56_17==COMMA||(LA56_17>=DECLARE && LA56_17<=87)) && (synpred10())) {s = 12;}
+                        else if ( (LA58_27==LEFT_SQUARE) ) {s = 58;}
 
+                        else if ( (LA58_27==LEFT_PAREN) ) {s = 59;}
+
+                        else if ( (LA58_27==RIGHT_PAREN) && (synpred10())) {s = 13;}
+
+                        else if ( ((LA58_27>=PACKAGE && LA58_27<=ID)||LA58_27==GLOBAL||LA58_27==COMMA||(LA58_27>=DECLARE && LA58_27<=AT)||(LA58_27>=EQUALS && LA58_27<=ENTRY_POINT)||(LA58_27>=RIGHT_SQUARE && LA58_27<=89)) && (synpred10())) {s = 12;}
+
                          
-                        input.seek(index56_17);
+                        input.seek(index58_27);
                         if ( s>=0 ) return s;
                         break;
                     case 19 : 
-                        int LA56_14 = input.LA(1);
+                        int LA58_11 = input.LA(1);
 
                          
-                        int index56_14 = input.index();
+                        int index58_11 = input.index();
                         input.rewind();
                         s = -1;
-                        if ( (LA56_14==LEFT_PAREN) ) {s = 36;}
+                        if ( (LA58_11==COLON) ) {s = 32;}
 
-                        else if ( (LA56_14==ID) ) {s = 37;}
+                        else if ( (LA58_11==DOT) ) {s = 33;}
 
-                        else if ( (LA56_14==RIGHT_PAREN) && (synpred10())) {s = 13;}
+                        else if ( (LA58_11==LEFT_SQUARE) ) {s = 34;}
 
-                        else if ( ((LA56_14>=PACKAGE && LA56_14<=FUNCTION)||(LA56_14>=DOT && LA56_14<=GLOBAL)||LA56_14==COMMA||(LA56_14>=DECLARE && LA56_14<=87)) && (synpred10())) {s = 12;}
+                        else if ( (LA58_11==LEFT_PAREN) ) {s = 35;}
 
+                        else if ( (LA58_11==RIGHT_PAREN) && (synpred10())) {s = 13;}
+
+                        else if ( ((LA58_11>=PACKAGE && LA58_11<=ID)||LA58_11==GLOBAL||LA58_11==COMMA||(LA58_11>=DECLARE && LA58_11<=AT)||(LA58_11>=EQUALS && LA58_11<=ENTRY_POINT)||(LA58_11>=RIGHT_SQUARE && LA58_11<=89)) && (synpred10())) {s = 12;}
+
                          
-                        input.seek(index56_14);
+                        input.seek(index58_11);
                         if ( s>=0 ) return s;
                         break;
                     case 20 : 
-                        int LA56_50 = input.LA(1);
+                        int LA58_17 = input.LA(1);
 
                          
-                        int index56_50 = input.index();
+                        int index58_17 = input.index();
                         input.rewind();
                         s = -1;
-                        if ( (synpred10()) ) {s = 67;}
+                        if ( (LA58_17==LEFT_PAREN) ) {s = 41;}
 
-                        else if ( (true) ) {s = 3;}
+                        else if ( (LA58_17==RIGHT_PAREN) && (synpred10())) {s = 13;}
 
+                        else if ( ((LA58_17>=PACKAGE && LA58_17<=GLOBAL)||LA58_17==COMMA||(LA58_17>=DECLARE && LA58_17<=89)) && (synpred10())) {s = 12;}
+
                          
-                        input.seek(index56_50);
+                        input.seek(index58_17);
                         if ( s>=0 ) return s;
                         break;
                     case 21 : 
-                        int LA56_43 = input.LA(1);
+                        int LA58_50 = input.LA(1);
 
                          
-                        int index56_43 = input.index();
+                        int index58_50 = input.index();
                         input.rewind();
                         s = -1;
-                        if ( ((LA56_43>=PACKAGE && LA56_43<=ID)||LA56_43==GLOBAL||LA56_43==END||(LA56_43>=QUERY && LA56_43<=ATTRIBUTES)||LA56_43==ENABLED||LA56_43==SALIENCE||(LA56_43>=DURATION && LA56_43<=DIALECT)||LA56_43==FROM||(LA56_43>=INIT && LA56_43<=RESULT)||LA56_43==IN||(LA56_43>=THEN && LA56_43<=EVENT)) ) {s = 79;}
+                        if ( (synpred10()) ) {s = 67;}
 
-                        else if ( (LA56_43==RIGHT_PAREN) && (synpred10())) {s = 13;}
+                        else if ( (true) ) {s = 3;}
 
-                        else if ( (LA56_43==DOT||LA56_43==COMMA||LA56_43==DECLARE||(LA56_43>=AT && LA56_43<=EQUALS)||(LA56_43>=DATE_EFFECTIVE && LA56_43<=DATE_EXPIRES)||LA56_43==BOOL||(LA56_43>=INT && LA56_43<=AGENDA_GROUP)||(LA56_43>=LOCK_ON_ACTIVE && LA56_43<=DOUBLE_AMPER)||(LA56_43>=EXISTS && LA56_43<=ACCUMULATE)||(LA56_43>=COLLECT && LA56_43<=TILDE)||(LA56_43>=FLOAT && LA56_43<=RIGHT_CURLY)||(LA56_43>=EOL && LA56_43<=87)) && (synpred10())) {s = 12;}
-
-                        else if ( (LA56_43==LEFT_PAREN) && (synpred10())) {s = 67;}
-
                          
-                        input.seek(index56_43);
+                        input.seek(index58_50);
                         if ( s>=0 ) return s;
                         break;
                     case 22 : 
-                        int LA56_41 = input.LA(1);
+                        int LA58_26 = input.LA(1);
 
                          
-                        int index56_41 = input.index();
+                        int index58_26 = input.index();
                         input.rewind();
                         s = -1;
-                        if ( (synpred10()) ) {s = 67;}
+                        if ( (synpred10()) ) {s = 13;}
 
                         else if ( (true) ) {s = 3;}
 
                          
-                        input.seek(index56_41);
+                        input.seek(index58_26);
                         if ( s>=0 ) return s;
                         break;
                     case 23 : 
-                        int LA56_54 = input.LA(1);
+                        int LA58_16 = input.LA(1);
 
                          
-                        int index56_54 = input.index();
+                        int index58_16 = input.index();
                         input.rewind();
                         s = -1;
-                        if ( (LA56_54==RIGHT_SQUARE) ) {s = 92;}
+                        if ( (LA58_16==LEFT_PAREN) ) {s = 40;}
 
-                        else if ( (LA56_54==RIGHT_PAREN) && (synpred10())) {s = 13;}
+                        else if ( (LA58_16==RIGHT_PAREN) && (synpred10())) {s = 13;}
 
-                        else if ( ((LA56_54>=PACKAGE && LA56_54<=GLOBAL)||LA56_54==COMMA||(LA56_54>=DECLARE && LA56_54<=LEFT_SQUARE)||(LA56_54>=CONTAINS && LA56_54<=87)) && (synpred10())) {s = 12;}
+                        else if ( ((LA58_16>=PACKAGE && LA58_16<=GLOBAL)||LA58_16==COMMA||(LA58_16>=DECLARE && LA58_16<=89)) && (synpred10())) {s = 12;}
 
-                        else if ( (LA56_54==LEFT_PAREN) && (synpred10())) {s = 67;}
-
                          
-                        input.seek(index56_54);
+                        input.seek(index58_16);
                         if ( s>=0 ) return s;
                         break;
                     case 24 : 
-                        int LA56_66 = input.LA(1);
+                        int LA58_31 = input.LA(1);
 
                          
-                        int index56_66 = input.index();
+                        int index58_31 = input.index();
                         input.rewind();
                         s = -1;
-                        if ( (LA56_66==LEFT_SQUARE) ) {s = 34;}
+                        if ( (synpred10()) ) {s = 13;}
 
-                        else if ( (LA56_66==LEFT_PAREN) ) {s = 35;}
+                        else if ( (true) ) {s = 3;}
 
-                        else if ( (LA56_66==DOT) ) {s = 33;}
-
-                        else if ( (LA56_66==RIGHT_PAREN) && (synpred10())) {s = 13;}
-
-                        else if ( ((LA56_66>=PACKAGE && LA56_66<=ID)||LA56_66==GLOBAL||LA56_66==COMMA||(LA56_66>=DECLARE && LA56_66<=ENTRY_POINT)||(LA56_66>=RIGHT_SQUARE && LA56_66<=87)) && (synpred10())) {s = 12;}
-
                          
-                        input.seek(index56_66);
+                        input.seek(index58_31);
                         if ( s>=0 ) return s;
                         break;
                     case 25 : 
-                        int LA56_18 = input.LA(1);
+                        int LA58_34 = input.LA(1);
 
                          
-                        int index56_18 = input.index();
+                        int index58_34 = input.index();
                         input.rewind();
                         s = -1;
-                        if ( (synpred10()) ) {s = 13;}
+                        if ( (LA58_34==RIGHT_SQUARE) ) {s = 68;}
 
-                        else if ( (true) ) {s = 3;}
+                        else if ( (LA58_34==RIGHT_PAREN) && (synpred10())) {s = 13;}
 
+                        else if ( ((LA58_34>=PACKAGE && LA58_34<=GLOBAL)||LA58_34==COMMA||(LA58_34>=DECLARE && LA58_34<=LEFT_SQUARE)||(LA58_34>=CONTAINS && LA58_34<=89)) && (synpred10())) {s = 12;}
+
+                        else if ( (LA58_34==LEFT_PAREN) && (synpred10())) {s = 67;}
+
                          
-                        input.seek(index56_18);
+                        input.seek(index58_34);
                         if ( s>=0 ) return s;
                         break;
                     case 26 : 
-                        int LA56_59 = input.LA(1);
+                        int LA58_58 = input.LA(1);
 
                          
-                        int index56_59 = input.index();
+                        int index58_58 = input.index();
                         input.rewind();
                         s = -1;
-                        if ( (synpred10()) ) {s = 67;}
+                        if ( (LA58_58==RIGHT_SQUARE) ) {s = 96;}
 
-                        else if ( (true) ) {s = 3;}
+                        else if ( (LA58_58==RIGHT_PAREN) && (synpred10())) {s = 13;}
 
+                        else if ( ((LA58_58>=PACKAGE && LA58_58<=GLOBAL)||LA58_58==COMMA||(LA58_58>=DECLARE && LA58_58<=LEFT_SQUARE)||(LA58_58>=CONTAINS && LA58_58<=89)) && (synpred10())) {s = 12;}
+
+                        else if ( (LA58_58==LEFT_PAREN) && (synpred10())) {s = 67;}
+
                          
-                        input.seek(index56_59);
+                        input.seek(index58_58);
                         if ( s>=0 ) return s;
                         break;
                     case 27 : 
-                        int LA56_20 = input.LA(1);
+                        int LA58_62 = input.LA(1);
 
                          
-                        int index56_20 = input.index();
+                        int index58_62 = input.index();
                         input.rewind();
                         s = -1;
-                        if ( (synpred10()) ) {s = 13;}
+                        if ( (LA58_62==RIGHT_SQUARE) ) {s = 100;}
 
-                        else if ( (true) ) {s = 3;}
+                        else if ( (LA58_62==RIGHT_PAREN) && (synpred10())) {s = 13;}
 
+                        else if ( ((LA58_62>=PACKAGE && LA58_62<=GLOBAL)||LA58_62==COMMA||(LA58_62>=DECLARE && LA58_62<=LEFT_SQUARE)||(LA58_62>=CONTAINS && LA58_62<=89)) && (synpred10())) {s = 12;}
+
+                        else if ( (LA58_62==LEFT_PAREN) && (synpred10())) {s = 67;}
+
                          
-                        input.seek(index56_20);
+                        input.seek(index58_62);
                         if ( s>=0 ) return s;
                         break;
                     case 28 : 
-                        int LA56_46 = input.LA(1);
+                        int LA58_53 = input.LA(1);
 
                          
-                        int index56_46 = input.index();
+                        int index58_53 = input.index();
                         input.rewind();
                         s = -1;
-                        if ( (synpred10()) ) {s = 67;}
+                        if ( ((LA58_53>=PACKAGE && LA58_53<=ID)||LA58_53==GLOBAL||LA58_53==END||(LA58_53>=QUERY && LA58_53<=ATTRIBUTES)||LA58_53==ENABLED||LA58_53==SALIENCE||(LA58_53>=DURATION && LA58_53<=DIALECT)||LA58_53==FROM||(LA58_53>=INIT && LA58_53<=RESULT)||LA58_53==IN||(LA58_53>=THEN && LA58_53<=EVENT)) ) {s = 91;}
 
-                        else if ( (true) ) {s = 3;}
+                        else if ( (LA58_53==RIGHT_PAREN) && (synpred10())) {s = 13;}
 
+                        else if ( (LA58_53==DOT||LA58_53==COMMA||LA58_53==DECLARE||(LA58_53>=AT && LA58_53<=EQUALS)||(LA58_53>=DATE_EFFECTIVE && LA58_53<=DATE_EXPIRES)||LA58_53==BOOL||(LA58_53>=INT && LA58_53<=AGENDA_GROUP)||(LA58_53>=LOCK_ON_ACTIVE && LA58_53<=WINDOW)||(LA58_53>=EXISTS && LA58_53<=ACCUMULATE)||(LA58_53>=COLLECT && LA58_53<=TILDE)||(LA58_53>=FLOAT && LA58_53<=RIGHT_CURLY)||(LA58_53>=EOL && LA58_53<=89)) && (synpred10())) {s = 12;}
+
+                        else if ( (LA58_53==LEFT_PAREN) && (synpred10())) {s = 67;}
+
                          
-                        input.seek(index56_46);
+                        input.seek(index58_53);
                         if ( s>=0 ) return s;
                         break;
                     case 29 : 
-                        int LA56_42 = input.LA(1);
+                        int LA58_47 = input.LA(1);
 
                          
-                        int index56_42 = input.index();
+                        int index58_47 = input.index();
                         input.rewind();
                         s = -1;
-                        if ( (LA56_42==ID) ) {s = 77;}
+                        if ( (LA58_47==COLON) ) {s = 81;}
 
-                        else if ( (LA56_42==LEFT_PAREN) ) {s = 78;}
+                        else if ( (LA58_47==DOT) ) {s = 82;}
 
-                        else if ( (LA56_42==RIGHT_PAREN) && (synpred10())) {s = 13;}
+                        else if ( (LA58_47==LEFT_SQUARE) ) {s = 83;}
 
-                        else if ( ((LA56_42>=PACKAGE && LA56_42<=FUNCTION)||(LA56_42>=DOT && LA56_42<=GLOBAL)||LA56_42==COMMA||(LA56_42>=DECLARE && LA56_42<=87)) && (synpred10())) {s = 12;}
+                        else if ( (LA58_47==LEFT_PAREN) ) {s = 84;}
 
+                        else if ( (LA58_47==RIGHT_PAREN) && (synpred10())) {s = 13;}
+
+                        else if ( ((LA58_47>=PACKAGE && LA58_47<=ID)||LA58_47==GLOBAL||LA58_47==COMMA||(LA58_47>=DECLARE && LA58_47<=AT)||(LA58_47>=EQUALS && LA58_47<=ENTRY_POINT)||(LA58_47>=RIGHT_SQUARE && LA58_47<=89)) && (synpred10())) {s = 12;}
+
                          
-                        input.seek(index56_42);
+                        input.seek(index58_47);
                         if ( s>=0 ) return s;
                         break;
                     case 30 : 
-                        int LA56_31 = input.LA(1);
+                        int LA58_25 = input.LA(1);
 
                          
-                        int index56_31 = input.index();
+                        int index58_25 = input.index();
                         input.rewind();
                         s = -1;
-                        if ( (synpred10()) ) {s = 13;}
+                        if ( (LA58_25==COLON) ) {s = 52;}
 
-                        else if ( (true) ) {s = 3;}
+                        else if ( (LA58_25==DOT) ) {s = 53;}
 
+                        else if ( (LA58_25==LEFT_SQUARE) ) {s = 54;}
+
+                        else if ( (LA58_25==LEFT_PAREN) ) {s = 55;}
+
+                        else if ( (LA58_25==RIGHT_PAREN) && (synpred10())) {s = 13;}
+
+                        else if ( ((LA58_25>=PACKAGE && LA58_25<=ID)||LA58_25==GLOBAL||LA58_25==COMMA||(LA58_25>=DECLARE && LA58_25<=AT)||(LA58_25>=EQUALS && LA58_25<=ENTRY_POINT)||(LA58_25>=RIGHT_SQUARE && LA58_25<=89)) && (synpred10())) {s = 12;}
+
                          
-                        input.seek(index56_31);
+                        input.seek(index58_25);
                         if ( s>=0 ) return s;
                         break;
                     case 31 : 
-                        int LA56_38 = input.LA(1);
+                        int LA58_49 = input.LA(1);
 
                          
-                        int index56_38 = input.index();
+                        int index58_49 = input.index();
                         input.rewind();
                         s = -1;
-                        if ( (synpred10()) ) {s = 67;}
+                        if ( (LA58_49==COLON) ) {s = 85;}
 
-                        else if ( (true) ) {s = 3;}
+                        else if ( (LA58_49==DOT) ) {s = 86;}
 
+                        else if ( (LA58_49==LEFT_SQUARE) ) {s = 87;}
+
+                        else if ( (LA58_49==LEFT_PAREN) ) {s = 88;}
+
+                        else if ( (LA58_49==RIGHT_PAREN) && (synpred10())) {s = 13;}
+
+                        else if ( ((LA58_49>=PACKAGE && LA58_49<=ID)||LA58_49==GLOBAL||LA58_49==COMMA||(LA58_49>=DECLARE && LA58_49<=AT)||(LA58_49>=EQUALS && LA58_49<=ENTRY_POINT)||(LA58_49>=RIGHT_SQUARE && LA58_49<=89)) && (synpred10())) {s = 12;}
+
                          
-                        input.seek(index56_38);
+                        input.seek(index58_49);
                         if ( s>=0 ) return s;
                         break;
                     case 32 : 
-                        int LA56_47 = input.LA(1);
+                        int LA58_2 = input.LA(1);
 
                          
-                        int index56_47 = input.index();
+                        int index58_2 = input.index();
                         input.rewind();
                         s = -1;
-                        if ( (LA56_47==COLON) ) {s = 81;}
+                        if ( (LA58_2==AND) ) {s = 4;}
 
-                        else if ( (LA56_47==DOT) ) {s = 82;}
+                        else if ( (LA58_2==OR) ) {s = 5;}
 
-                        else if ( (LA56_47==LEFT_SQUARE) ) {s = 83;}
+                        else if ( (LA58_2==LEFT_PAREN) ) {s = 6;}
 
-                        else if ( (LA56_47==LEFT_PAREN) ) {s = 84;}
+                        else if ( (LA58_2==EXISTS) ) {s = 7;}
 
-                        else if ( (LA56_47==RIGHT_PAREN) && (synpred10())) {s = 13;}
+                        else if ( (LA58_2==NOT) ) {s = 8;}
 
-                        else if ( ((LA56_47>=PACKAGE && LA56_47<=ID)||LA56_47==GLOBAL||LA56_47==COMMA||(LA56_47>=DECLARE && LA56_47<=AT)||(LA56_47>=EQUALS && LA56_47<=ENTRY_POINT)||(LA56_47>=RIGHT_SQUARE && LA56_47<=87)) && (synpred10())) {s = 12;}
+                        else if ( (LA58_2==EVAL) ) {s = 9;}
 
+                        else if ( (LA58_2==FORALL) ) {s = 10;}
+
+                        else if ( (LA58_2==ID) ) {s = 11;}
+
+                        else if ( ((LA58_2>=PACKAGE && LA58_2<=FUNCTION)||(LA58_2>=DOT && LA58_2<=GLOBAL)||LA58_2==COMMA||(LA58_2>=DECLARE && LA58_2<=LOCK_ON_ACTIVE)||LA58_2==DOUBLE_PIPE||(LA58_2>=DOUBLE_AMPER && LA58_2<=FROM)||(LA58_2>=ACCUMULATE && LA58_2<=89)) && (synpred10())) {s = 12;}
+
+                        else if ( (LA58_2==RIGHT_PAREN) && (synpred10())) {s = 13;}
+
                          
-                        input.seek(index56_47);
+                        input.seek(index58_2);
                         if ( s>=0 ) return s;
                         break;
                     case 33 : 
-                        int LA56_25 = input.LA(1);
+                        int LA58_48 = input.LA(1);
 
                          
-                        int index56_25 = input.index();
+                        int index58_48 = input.index();
                         input.rewind();
                         s = -1;
-                        if ( (LA56_25==COLON) ) {s = 52;}
+                        if ( (synpred10()) ) {s = 67;}
 
-                        else if ( (LA56_25==DOT) ) {s = 53;}
+                        else if ( (true) ) {s = 3;}
 
-                        else if ( (LA56_25==LEFT_SQUARE) ) {s = 54;}
-
-                        else if ( (LA56_25==LEFT_PAREN) ) {s = 55;}
-
-                        else if ( (LA56_25==RIGHT_PAREN) && (synpred10())) {s = 13;}
-
-                        else if ( ((LA56_25>=PACKAGE && LA56_25<=ID)||LA56_25==GLOBAL||LA56_25==COMMA||(LA56_25>=DECLARE && LA56_25<=AT)||(LA56_25>=EQUALS && LA56_25<=ENTRY_POINT)||(LA56_25>=RIGHT_SQUARE && LA56_25<=87)) && (synpred10())) {s = 12;}
-
                          
-                        input.seek(index56_25);
+                        input.seek(index58_48);
                         if ( s>=0 ) return s;
                         break;
                     case 34 : 
-                        int LA56_49 = input.LA(1);
+                        int LA58_51 = input.LA(1);
 
                          
-                        int index56_49 = input.index();
+                        int index58_51 = input.index();
                         input.rewind();
                         s = -1;
-                        if ( (LA56_49==COLON) ) {s = 85;}
+                        if ( (synpred10()) ) {s = 67;}
 
-                        else if ( (LA56_49==DOT) ) {s = 86;}
+                        else if ( (true) ) {s = 3;}
 
-                        else if ( (LA56_49==LEFT_SQUARE) ) {s = 87;}
-
-                        else if ( (LA56_49==LEFT_PAREN) ) {s = 88;}
-
-                        else if ( (LA56_49==RIGHT_PAREN) && (synpred10())) {s = 13;}
-
-                        else if ( ((LA56_49>=PACKAGE && LA56_49<=ID)||LA56_49==GLOBAL||LA56_49==COMMA||(LA56_49>=DECLARE && LA56_49<=AT)||(LA56_49>=EQUALS && LA56_49<=ENTRY_POINT)||(LA56_49>=RIGHT_SQUARE && LA56_49<=87)) && (synpred10())) {s = 12;}
-
                          
-                        input.seek(index56_49);
+                        input.seek(index58_51);
                         if ( s>=0 ) return s;
                         break;
                     case 35 : 
-                        int LA56_29 = input.LA(1);
+                        int LA58_33 = input.LA(1);
 
                          
-                        int index56_29 = input.index();
+                        int index58_33 = input.index();
                         input.rewind();
                         s = -1;
-                        if ( (LA56_29==COLON) ) {s = 60;}
+                        if ( ((LA58_33>=PACKAGE && LA58_33<=ID)||LA58_33==GLOBAL||LA58_33==END||(LA58_33>=QUERY && LA58_33<=ATTRIBUTES)||LA58_33==ENABLED||LA58_33==SALIENCE||(LA58_33>=DURATION && LA58_33<=DIALECT)||LA58_33==FROM||(LA58_33>=INIT && LA58_33<=RESULT)||LA58_33==IN||(LA58_33>=THEN && LA58_33<=EVENT)) ) {s = 66;}
 
-                        else if ( (LA56_29==DOT) ) {s = 61;}
+                        else if ( (LA58_33==RIGHT_PAREN) && (synpred10())) {s = 13;}
 
-                        else if ( (LA56_29==LEFT_SQUARE) ) {s = 62;}
+                        else if ( (LA58_33==DOT||LA58_33==COMMA||LA58_33==DECLARE||(LA58_33>=AT && LA58_33<=EQUALS)||(LA58_33>=DATE_EFFECTIVE && LA58_33<=DATE_EXPIRES)||LA58_33==BOOL||(LA58_33>=INT && LA58_33<=AGENDA_GROUP)||(LA58_33>=LOCK_ON_ACTIVE && LA58_33<=WINDOW)||(LA58_33>=EXISTS && LA58_33<=ACCUMULATE)||(LA58_33>=COLLECT && LA58_33<=TILDE)||(LA58_33>=FLOAT && LA58_33<=RIGHT_CURLY)||(LA58_33>=EOL && LA58_33<=89)) && (synpred10())) {s = 12;}
 
-                        else if ( (LA56_29==LEFT_PAREN) ) {s = 63;}
+                        else if ( (LA58_33==LEFT_PAREN) && (synpred10())) {s = 67;}
 
-                        else if ( (LA56_29==RIGHT_PAREN) && (synpred10())) {s = 13;}
-
-                        else if ( ((LA56_29>=PACKAGE && LA56_29<=ID)||LA56_29==GLOBAL||LA56_29==COMMA||(LA56_29>=DECLARE && LA56_29<=AT)||(LA56_29>=EQUALS && LA56_29<=ENTRY_POINT)||(LA56_29>=RIGHT_SQUARE && LA56_29<=87)) && (synpred10())) {s = 12;}
-
                          
-                        input.seek(index56_29);
+                        input.seek(index58_33);
                         if ( s>=0 ) return s;
                         break;
                     case 36 : 
-                        int LA56_27 = input.LA(1);
+                        int LA58_57 = input.LA(1);
 
                          
-                        int index56_27 = input.index();
+                        int index58_57 = input.index();
                         input.rewind();
                         s = -1;
-                        if ( (LA56_27==COLON) ) {s = 56;}
+                        if ( ((LA58_57>=PACKAGE && LA58_57<=ID)||LA58_57==GLOBAL||LA58_57==END||(LA58_57>=QUERY && LA58_57<=ATTRIBUTES)||LA58_57==ENABLED||LA58_57==SALIENCE||(LA58_57>=DURATION && LA58_57<=DIALECT)||LA58_57==FROM||(LA58_57>=INIT && LA58_57<=RESULT)||LA58_57==IN||(LA58_57>=THEN && LA58_57<=EVENT)) ) {s = 95;}
 
-                        else if ( (LA56_27==DOT) ) {s = 57;}
+                        else if ( (LA58_57==RIGHT_PAREN) && (synpred10())) {s = 13;}
 
-                        else if ( (LA56_27==LEFT_SQUARE) ) {s = 58;}
+                        else if ( (LA58_57==DOT||LA58_57==COMMA||LA58_57==DECLARE||(LA58_57>=AT && LA58_57<=EQUALS)||(LA58_57>=DATE_EFFECTIVE && LA58_57<=DATE_EXPIRES)||LA58_57==BOOL||(LA58_57>=INT && LA58_57<=AGENDA_GROUP)||(LA58_57>=LOCK_ON_ACTIVE && LA58_57<=WINDOW)||(LA58_57>=EXISTS && LA58_57<=ACCUMULATE)||(LA58_57>=COLLECT && LA58_57<=TILDE)||(LA58_57>=FLOAT && LA58_57<=RIGHT_CURLY)||(LA58_57>=EOL && LA58_57<=89)) && (synpred10())) {s = 12;}
 
-                        else if ( (LA56_27==LEFT_PAREN) ) {s = 59;}
+                        else if ( (LA58_57==LEFT_PAREN) && (synpred10())) {s = 67;}
 
-                        else if ( (LA56_27==RIGHT_PAREN) && (synpred10())) {s = 13;}
-
-                        else if ( ((LA56_27>=PACKAGE && LA56_27<=ID)||LA56_27==GLOBAL||LA56_27==COMMA||(LA56_27>=DECLARE && LA56_27<=AT)||(LA56_27>=EQUALS && LA56_27<=ENTRY_POINT)||(LA56_27>=RIGHT_SQUARE && LA56_27<=87)) && (synpred10())) {s = 12;}
-
                          
-                        input.seek(index56_27);
+                        input.seek(index58_57);
                         if ( s>=0 ) return s;
                         break;
                     case 37 : 
-                        int LA56_11 = input.LA(1);
+                        int LA58_61 = input.LA(1);
 
                          
-                        int index56_11 = input.index();
+                        int index58_61 = input.index();
                         input.rewind();
                         s = -1;
-                        if ( (LA56_11==COLON) ) {s = 32;}
+                        if ( ((LA58_61>=PACKAGE && LA58_61<=ID)||LA58_61==GLOBAL||LA58_61==END||(LA58_61>=QUERY && LA58_61<=ATTRIBUTES)||LA58_61==ENABLED||LA58_61==SALIENCE||(LA58_61>=DURATION && LA58_61<=DIALECT)||LA58_61==FROM||(LA58_61>=INIT && LA58_61<=RESULT)||LA58_61==IN||(LA58_61>=THEN && LA58_61<=EVENT)) ) {s = 99;}
 
-                        else if ( (LA56_11==DOT) ) {s = 33;}
+                        else if ( (LA58_61==RIGHT_PAREN) && (synpred10())) {s = 13;}
 
-                        else if ( (LA56_11==LEFT_SQUARE) ) {s = 34;}
+                        else if ( (LA58_61==DOT||LA58_61==COMMA||LA58_61==DECLARE||(LA58_61>=AT && LA58_61<=EQUALS)||(LA58_61>=DATE_EFFECTIVE && LA58_61<=DATE_EXPIRES)||LA58_61==BOOL||(LA58_61>=INT && LA58_61<=AGENDA_GROUP)||(LA58_61>=LOCK_ON_ACTIVE && LA58_61<=WINDOW)||(LA58_61>=EXISTS && LA58_61<=ACCUMULATE)||(LA58_61>=COLLECT && LA58_61<=TILDE)||(LA58_61>=FLOAT && LA58_61<=RIGHT_CURLY)||(LA58_61>=EOL && LA58_61<=89)) && (synpred10())) {s = 12;}
 
-                        else if ( (LA56_11==LEFT_PAREN) ) {s = 35;}
+                        else if ( (LA58_61==LEFT_PAREN) && (synpred10())) {s = 67;}
 
-                        else if ( (LA56_11==RIGHT_PAREN) && (synpred10())) {s = 13;}
-
-                        else if ( ((LA56_11>=PACKAGE && LA56_11<=ID)||LA56_11==GLOBAL||LA56_11==COMMA||(LA56_11>=DECLARE && LA56_11<=AT)||(LA56_11>=EQUALS && LA56_11<=ENTRY_POINT)||(LA56_11>=RIGHT_SQUARE && LA56_11<=87)) && (synpred10())) {s = 12;}
-
                          
-                        input.seek(index56_11);
+                        input.seek(index58_61);
                         if ( s>=0 ) return s;
                         break;
                     case 38 : 
-                        int LA56_45 = input.LA(1);
+                        int LA58_52 = input.LA(1);
 
                          
-                        int index56_45 = input.index();
+                        int index58_52 = input.index();
                         input.rewind();
                         s = -1;
-                        if ( (synpred10()) ) {s = 67;}
+                        if ( (LA58_52==ID) ) {s = 89;}
 
-                        else if ( (true) ) {s = 3;}
+                        else if ( (LA58_52==LEFT_PAREN) ) {s = 90;}
 
+                        else if ( (LA58_52==RIGHT_PAREN) && (synpred10())) {s = 13;}
+
+                        else if ( ((LA58_52>=PACKAGE && LA58_52<=FUNCTION)||(LA58_52>=DOT && LA58_52<=GLOBAL)||LA58_52==COMMA||(LA58_52>=DECLARE && LA58_52<=89)) && (synpred10())) {s = 12;}
+
                          
-                        input.seek(index56_45);
+                        input.seek(index58_52);
                         if ( s>=0 ) return s;
                         break;
                     case 39 : 
-                        int LA56_26 = input.LA(1);
+                        int LA58_45 = input.LA(1);
 
                          
-                        int index56_26 = input.index();
+                        int index58_45 = input.index();
                         input.rewind();
                         s = -1;
-                        if ( (synpred10()) ) {s = 13;}
+                        if ( (synpred10()) ) {s = 67;}
 
                         else if ( (true) ) {s = 3;}
 
                          
-                        input.seek(index56_26);
+                        input.seek(index58_45);
                         if ( s>=0 ) return s;
                         break;
                     case 40 : 
-                        int LA56_34 = input.LA(1);
+                        int LA58_42 = input.LA(1);
 
                          
-                        int index56_34 = input.index();
+                        int index58_42 = input.index();
                         input.rewind();
                         s = -1;
-                        if ( (LA56_34==RIGHT_SQUARE) ) {s = 68;}
+                        if ( (LA58_42==ID) ) {s = 77;}
 
-                        else if ( (LA56_34==RIGHT_PAREN) && (synpred10())) {s = 13;}
+                        else if ( (LA58_42==LEFT_PAREN) ) {s = 78;}
 
-                        else if ( ((LA56_34>=PACKAGE && LA56_34<=GLOBAL)||LA56_34==COMMA||(LA56_34>=DECLARE && LA56_34<=LEFT_SQUARE)||(LA56_34>=CONTAINS && LA56_34<=87)) && (synpred10())) {s = 12;}
+                        else if ( (LA58_42==RIGHT_PAREN) && (synpred10())) {s = 13;}
 
-                        else if ( (LA56_34==LEFT_PAREN) && (synpred10())) {s = 67;}
+                        else if ( ((LA58_42>=PACKAGE && LA58_42<=FUNCTION)||(LA58_42>=DOT && LA58_42<=GLOBAL)||LA58_42==COMMA||(LA58_42>=DECLARE && LA58_42<=89)) && (synpred10())) {s = 12;}
 
                          
-                        input.seek(index56_34);
+                        input.seek(index58_42);
                         if ( s>=0 ) return s;
                         break;
                     case 41 : 
-                        int LA56_8 = input.LA(1);
+                        int LA58_9 = input.LA(1);
 
                          
-                        int index56_8 = input.index();
+                        int index58_9 = input.index();
                         input.rewind();
                         s = -1;
-                        if ( (LA56_8==LEFT_PAREN) ) {s = 28;}
+                        if ( (LA58_9==LEFT_PAREN) ) {s = 30;}
 
-                        else if ( (LA56_8==ID) ) {s = 29;}
+                        else if ( (LA58_9==RIGHT_PAREN) && (synpred10())) {s = 13;}
 
-                        else if ( (LA56_8==RIGHT_PAREN) && (synpred10())) {s = 13;}
+                        else if ( ((LA58_9>=PACKAGE && LA58_9<=GLOBAL)||LA58_9==COMMA||(LA58_9>=DECLARE && LA58_9<=89)) && (synpred10())) {s = 12;}
 
-                        else if ( ((LA56_8>=PACKAGE && LA56_8<=FUNCTION)||(LA56_8>=DOT && LA56_8<=GLOBAL)||LA56_8==COMMA||(LA56_8>=DECLARE && LA56_8<=87)) && (synpred10())) {s = 12;}
-
                          
-                        input.seek(index56_8);
+                        input.seek(index58_9);
                         if ( s>=0 ) return s;
                         break;
                     case 42 : 
-                        int LA56_58 = input.LA(1);
+                        int LA58_30 = input.LA(1);
 
                          
-                        int index56_58 = input.index();
+                        int index58_30 = input.index();
                         input.rewind();
                         s = -1;
-                        if ( (LA56_58==RIGHT_SQUARE) ) {s = 96;}
+                        if ( (synpred10()) ) {s = 13;}
 
-                        else if ( (LA56_58==RIGHT_PAREN) && (synpred10())) {s = 13;}
+                        else if ( (true) ) {s = 3;}
 
-                        else if ( ((LA56_58>=PACKAGE && LA56_58<=GLOBAL)||LA56_58==COMMA||(LA56_58>=DECLARE && LA56_58<=LEFT_SQUARE)||(LA56_58>=CONTAINS && LA56_58<=87)) && (synpred10())) {s = 12;}
-
-                        else if ( (LA56_58==LEFT_PAREN) && (synpred10())) {s = 67;}
-
                          
-                        input.seek(index56_58);
+                        input.seek(index58_30);
                         if ( s>=0 ) return s;
                         break;
                     case 43 : 
-                        int LA56_62 = input.LA(1);
+                        int LA58_43 = input.LA(1);
 
                          
-                        int index56_62 = input.index();
+                        int index58_43 = input.index();
                         input.rewind();
                         s = -1;
-                        if ( (LA56_62==RIGHT_SQUARE) ) {s = 100;}
+                        if ( ((LA58_43>=PACKAGE && LA58_43<=ID)||LA58_43==GLOBAL||LA58_43==END||(LA58_43>=QUERY && LA58_43<=ATTRIBUTES)||LA58_43==ENABLED||LA58_43==SALIENCE||(LA58_43>=DURATION && LA58_43<=DIALECT)||LA58_43==FROM||(LA58_43>=INIT && LA58_43<=RESULT)||LA58_43==IN||(LA58_43>=THEN && LA58_43<=EVENT)) ) {s = 79;}
 
-                        else if ( (LA56_62==RIGHT_PAREN) && (synpred10())) {s = 13;}
+                        else if ( (LA58_43==RIGHT_PAREN) && (synpred10())) {s = 13;}
 
-                        else if ( ((LA56_62>=PACKAGE && LA56_62<=GLOBAL)||LA56_62==COMMA||(LA56_62>=DECLARE && LA56_62<=LEFT_SQUARE)||(LA56_62>=CONTAINS && LA56_62<=87)) && (synpred10())) {s = 12;}
+                        else if ( (LA58_43==DOT||LA58_43==COMMA||LA58_43==DECLARE||(LA58_43>=AT && LA58_43<=EQUALS)||(LA58_43>=DATE_EFFECTIVE && LA58_43<=DATE_EXPIRES)||LA58_43==BOOL||(LA58_43>=INT && LA58_43<=AGENDA_GROUP)||(LA58_43>=LOCK_ON_ACTIVE && LA58_43<=WINDOW)||(LA58_43>=EXISTS && LA58_43<=ACCUMULATE)||(LA58_43>=COLLECT && LA58_43<=TILDE)||(LA58_43>=FLOAT && LA58_43<=RIGHT_CURLY)||(LA58_43>=EOL && LA58_43<=89)) && (synpred10())) {s = 12;}
 
-                        else if ( (LA56_62==LEFT_PAREN) && (synpred10())) {s = 67;}
+                        else if ( (LA58_43==LEFT_PAREN) && (synpred10())) {s = 67;}
 
                          
-                        input.seek(index56_62);
+                        input.seek(index58_43);
                         if ( s>=0 ) return s;
                         break;
                     case 44 : 
-                        int LA56_0 = input.LA(1);
+                        int LA58_39 = input.LA(1);
 
                          
-                        int index56_0 = input.index();
+                        int index58_39 = input.index();
                         input.rewind();
                         s = -1;
-                        if ( (LA56_0==LEFT_SQUARE) && (synpred9())) {s = 1;}
+                        if ( (LA58_39==COLON) ) {s = 73;}
 
-                        else if ( (LA56_0==LEFT_PAREN) ) {s = 2;}
+                        else if ( (LA58_39==DOT) ) {s = 74;}
 
-                        else if ( ((LA56_0>=ID && LA56_0<=DOT)||(LA56_0>=COMMA && LA56_0<=RIGHT_PAREN)||LA56_0==END||(LA56_0>=OR && LA56_0<=DOUBLE_AMPER)||(LA56_0>=EXISTS && LA56_0<=FORALL)||LA56_0==INIT||LA56_0==THEN||LA56_0==79) ) {s = 3;}
+                        else if ( (LA58_39==LEFT_SQUARE) ) {s = 75;}
 
+                        else if ( (LA58_39==LEFT_PAREN) ) {s = 76;}
+
+                        else if ( (LA58_39==RIGHT_PAREN) && (synpred10())) {s = 13;}
+
+                        else if ( ((LA58_39>=PACKAGE && LA58_39<=ID)||LA58_39==GLOBAL||LA58_39==COMMA||(LA58_39>=DECLARE && LA58_39<=AT)||(LA58_39>=EQUALS && LA58_39<=ENTRY_POINT)||(LA58_39>=RIGHT_SQUARE && LA58_39<=89)) && (synpred10())) {s = 12;}
+
                          
-                        input.seek(index56_0);
+                        input.seek(index58_39);
                         if ( s>=0 ) return s;
                         break;
                     case 45 : 
-                        int LA56_48 = input.LA(1);
+                        int LA58_37 = input.LA(1);
 
                          
-                        int index56_48 = input.index();
+                        int index58_37 = input.index();
                         input.rewind();
                         s = -1;
-                        if ( (synpred10()) ) {s = 67;}
+                        if ( (LA58_37==COLON) ) {s = 69;}
 
-                        else if ( (true) ) {s = 3;}
+                        else if ( (LA58_37==DOT) ) {s = 70;}
 
+                        else if ( (LA58_37==LEFT_SQUARE) ) {s = 71;}
+
+                        else if ( (LA58_37==LEFT_PAREN) ) {s = 72;}
+
+                        else if ( (LA58_37==RIGHT_PAREN) && (synpred10())) {s = 13;}
+
+                        else if ( ((LA58_37>=PACKAGE && LA58_37<=ID)||LA58_37==GLOBAL||LA58_37==COMMA||(LA58_37>=DECLARE && LA58_37<=AT)||(LA58_37>=EQUALS && LA58_37<=ENTRY_POINT)||(LA58_37>=RIGHT_SQUARE && LA58_37<=89)) && (synpred10())) {s = 12;}
+
                          
-                        input.seek(index56_48);
+                        input.seek(index58_37);
                         if ( s>=0 ) return s;
                         break;
                     case 46 : 
-                        int LA56_16 = input.LA(1);
+                        int LA58_19 = input.LA(1);
 
                          
-                        int index56_16 = input.index();
+                        int index58_19 = input.index();
                         input.rewind();
                         s = -1;
-                        if ( (LA56_16==LEFT_PAREN) ) {s = 40;}
+                        if ( (LA58_19==COLON) ) {s = 42;}
 
-                        else if ( (LA56_16==RIGHT_PAREN) && (synpred10())) {s = 13;}
+                        else if ( (LA58_19==DOT) ) {s = 43;}
 
-                        else if ( ((LA56_16>=PACKAGE && LA56_16<=GLOBAL)||LA56_16==COMMA||(LA56_16>=DECLARE && LA56_16<=87)) && (synpred10())) {s = 12;}
+                        else if ( (LA58_19==LEFT_SQUARE) ) {s = 44;}
 
+                        else if ( (LA58_19==LEFT_PAREN) ) {s = 45;}
+
+                        else if ( (LA58_19==RIGHT_PAREN) && (synpred10())) {s = 13;}
+
+                        else if ( ((LA58_19>=PACKAGE && LA58_19<=ID)||LA58_19==GLOBAL||LA58_19==COMMA||(LA58_19>=DECLARE && LA58_19<=AT)||(LA58_19>=EQUALS && LA58_19<=ENTRY_POINT)||(LA58_19>=RIGHT_SQUARE && LA58_19<=89)) && (synpred10())) {s = 12;}
+
                          
-                        input.seek(index56_16);
+                        input.seek(index58_19);
                         if ( s>=0 ) return s;
                         break;
                     case 47 : 
-                        int LA56_2 = input.LA(1);
+                        int LA58_44 = input.LA(1);
 
                          
-                        int index56_2 = input.index();
+                        int index58_44 = input.index();
                         input.rewind();
                         s = -1;
-                        if ( (LA56_2==AND) ) {s = 4;}
+                        if ( (LA58_44==RIGHT_SQUARE) ) {s = 80;}
 
-                        else if ( (LA56_2==OR) ) {s = 5;}
+                        else if ( (LA58_44==RIGHT_PAREN) && (synpred10())) {s = 13;}
 
-                        else if ( (LA56_2==LEFT_PAREN) ) {s = 6;}
+                        else if ( ((LA58_44>=PACKAGE && LA58_44<=GLOBAL)||LA58_44==COMMA||(LA58_44>=DECLARE && LA58_44<=LEFT_SQUARE)||(LA58_44>=CONTAINS && LA58_44<=89)) && (synpred10())) {s = 12;}
 
-                        else if ( (LA56_2==EXISTS) ) {s = 7;}
+                        else if ( (LA58_44==LEFT_PAREN) && (synpred10())) {s = 67;}
 
-                        else if ( (LA56_2==NOT) ) {s = 8;}
-
-                        else if ( (LA56_2==EVAL) ) {s = 9;}
-
-                        else if ( (LA56_2==FORALL) ) {s = 10;}
-
-                        else if ( (LA56_2==ID) ) {s = 11;}
-
-                        else if ( ((LA56_2>=PACKAGE && LA56_2<=FUNCTION)||(LA56_2>=DOT && LA56_2<=GLOBAL)||LA56_2==COMMA||(LA56_2>=DECLARE && LA56_2<=LOCK_ON_ACTIVE)||LA56_2==DOUBLE_PIPE||(LA56_2>=DOUBLE_AMPER && LA56_2<=FROM)||(LA56_2>=ACCUMULATE && LA56_2<=87)) && (synpred10())) {s = 12;}
-
-                        else if ( (LA56_2==RIGHT_PAREN) && (synpred10())) {s = 13;}
-
                          
-                        input.seek(index56_2);
+                        input.seek(index58_44);
                         if ( s>=0 ) return s;
                         break;
                     case 48 : 
-                        int LA56_63 = input.LA(1);
+                        int LA58_0 = input.LA(1);
 
                          
-                        int index56_63 = input.index();
+                        int index58_0 = input.index();
                         input.rewind();
                         s = -1;
-                        if ( (synpred10()) ) {s = 67;}
+                        if ( (LA58_0==LEFT_SQUARE) && (synpred9())) {s = 1;}
 
-                        else if ( (true) ) {s = 3;}
+                        else if ( (LA58_0==LEFT_PAREN) ) {s = 2;}
 
+                        else if ( ((LA58_0>=ID && LA58_0<=DOT)||(LA58_0>=COMMA && LA58_0<=RIGHT_PAREN)||LA58_0==END||(LA58_0>=OR && LA58_0<=DOUBLE_AMPER)||(LA58_0>=EXISTS && LA58_0<=FORALL)||LA58_0==INIT||LA58_0==THEN||LA58_0==81) ) {s = 3;}
+
                          
-                        input.seek(index56_63);
+                        input.seek(index58_0);
                         if ( s>=0 ) return s;
                         break;
                     case 49 : 
-                        int LA56_7 = input.LA(1);
+                        int LA58_4 = input.LA(1);
 
                          
-                        int index56_7 = input.index();
+                        int index58_4 = input.index();
                         input.rewind();
                         s = -1;
-                        if ( (LA56_7==LEFT_PAREN) ) {s = 26;}
+                        if ( (LA58_4==EXISTS) ) {s = 14;}
 
-                        else if ( (LA56_7==ID) ) {s = 27;}
+                        else if ( (LA58_4==NOT) ) {s = 15;}
 
-                        else if ( (LA56_7==RIGHT_PAREN) && (synpred10())) {s = 13;}
+                        else if ( (LA58_4==EVAL) ) {s = 16;}
 
-                        else if ( ((LA56_7>=PACKAGE && LA56_7<=FUNCTION)||(LA56_7>=DOT && LA56_7<=GLOBAL)||LA56_7==COMMA||(LA56_7>=DECLARE && LA56_7<=87)) && (synpred10())) {s = 12;}
+                        else if ( (LA58_4==FORALL) ) {s = 17;}
 
+                        else if ( (LA58_4==LEFT_PAREN) ) {s = 18;}
+
+                        else if ( (LA58_4==ID) ) {s = 19;}
+
+                        else if ( (LA58_4==RIGHT_PAREN) && (synpred10())) {s = 13;}
+
+                        else if ( ((LA58_4>=PACKAGE && LA58_4<=FUNCTION)||(LA58_4>=DOT && LA58_4<=GLOBAL)||LA58_4==COMMA||(LA58_4>=DECLARE && LA58_4<=FROM)||(LA58_4>=ACCUMULATE && LA58_4<=89)) && (synpred10())) {s = 12;}
+
                          
-                        input.seek(index56_7);
+                        input.seek(index58_4);
                         if ( s>=0 ) return s;
                         break;
                     case 50 : 
-                        int LA56_52 = input.LA(1);
+                        int LA58_35 = input.LA(1);
 
                          
-                        int index56_52 = input.index();
+                        int index58_35 = input.index();
                         input.rewind();
                         s = -1;
-                        if ( (LA56_52==ID) ) {s = 89;}
+                        if ( (synpred10()) ) {s = 67;}
 
-                        else if ( (LA56_52==LEFT_PAREN) ) {s = 90;}
+                        else if ( (true) ) {s = 3;}
 
-                        else if ( (LA56_52==RIGHT_PAREN) && (synpred10())) {s = 13;}
-
-                        else if ( ((LA56_52>=PACKAGE && LA56_52<=FUNCTION)||(LA56_52>=DOT && LA56_52<=GLOBAL)||LA56_52==COMMA||(LA56_52>=DECLARE && LA56_52<=87)) && (synpred10())) {s = 12;}
-
                          
-                        input.seek(index56_52);
+                        input.seek(index58_35);
                         if ( s>=0 ) return s;
                         break;
                     case 51 : 
-                        int LA56_15 = input.LA(1);
+                        int LA58_6 = input.LA(1);
 
                          
-                        int index56_15 = input.index();
+                        int index58_6 = input.index();
                         input.rewind();
                         s = -1;
-                        if ( (LA56_15==LEFT_PAREN) ) {s = 38;}
+                        if ( (synpred10()) ) {s = 13;}
 
-                        else if ( (LA56_15==ID) ) {s = 39;}
+                        else if ( (true) ) {s = 3;}
 
-                        else if ( (LA56_15==RIGHT_PAREN) && (synpred10())) {s = 13;}
-
-                        else if ( ((LA56_15>=PACKAGE && LA56_15<=FUNCTION)||(LA56_15>=DOT && LA56_15<=GLOBAL)||LA56_15==COMMA||(LA56_15>=DECLARE && LA56_15<=87)) && (synpred10())) {s = 12;}
-
                          
-                        input.seek(index56_15);
+                        input.seek(index58_6);
                         if ( s>=0 ) return s;
                         break;
                     case 52 : 
-                        int LA56_30 = input.LA(1);
+                        int LA58_59 = input.LA(1);
 
                          
-                        int index56_30 = input.index();
+                        int index58_59 = input.index();
                         input.rewind();
                         s = -1;
-                        if ( (synpred10()) ) {s = 13;}
+                        if ( (synpred10()) ) {s = 67;}
 
                         else if ( (true) ) {s = 3;}
 
                          
-                        input.seek(index56_30);
+                        input.seek(index58_59);
                         if ( s>=0 ) return s;
                         break;
                     case 53 : 
-                        int LA56_40 = input.LA(1);
+                        int LA58_41 = input.LA(1);
 
                          
-                        int index56_40 = input.index();
+                        int index58_41 = input.index();
                         input.rewind();
                         s = -1;
                         if ( (synpred10()) ) {s = 67;}
@@ -9518,193 +9648,183 @@
                         else if ( (true) ) {s = 3;}
 
                          
-                        input.seek(index56_40);
+                        input.seek(index58_41);
                         if ( s>=0 ) return s;
                         break;
                     case 54 : 
-                        int LA56_35 = input.LA(1);
+                        int LA58_18 = input.LA(1);
 
                          
-                        int index56_35 = input.index();
+                        int index58_18 = input.index();
                         input.rewind();
                         s = -1;
-                        if ( (synpred10()) ) {s = 67;}
+                        if ( (synpred10()) ) {s = 13;}
 
                         else if ( (true) ) {s = 3;}
 
                          
-                        input.seek(index56_35);
+                        input.seek(index58_18);
                         if ( s>=0 ) return s;
                         break;
                     case 55 : 
-                        int LA56_9 = input.LA(1);
+                        int LA58_8 = input.LA(1);
 
                          
-                        int index56_9 = input.index();
+                        int index58_8 = input.index();
                         input.rewind();
                         s = -1;
-                        if ( (LA56_9==LEFT_PAREN) ) {s = 30;}
+                        if ( (LA58_8==LEFT_PAREN) ) {s = 28;}
 
-                        else if ( (LA56_9==RIGHT_PAREN) && (synpred10())) {s = 13;}
+                        else if ( (LA58_8==ID) ) {s = 29;}
 
-                        else if ( ((LA56_9>=PACKAGE && LA56_9<=GLOBAL)||LA56_9==COMMA||(LA56_9>=DECLARE && LA56_9<=87)) && (synpred10())) {s = 12;}
+                        else if ( (LA58_8==RIGHT_PAREN) && (synpred10())) {s = 13;}
 
+                        else if ( ((LA58_8>=PACKAGE && LA58_8<=FUNCTION)||(LA58_8>=DOT && LA58_8<=GLOBAL)||LA58_8==COMMA||(LA58_8>=DECLARE && LA58_8<=89)) && (synpred10())) {s = 12;}
+
                          
-                        input.seek(index56_9);
+                        input.seek(index58_8);
                         if ( s>=0 ) return s;
                         break;
                     case 56 : 
-                        int LA56_51 = input.LA(1);
+                        int LA58_32 = input.LA(1);
 
                          
-                        int index56_51 = input.index();
+                        int index58_32 = input.index();
                         input.rewind();
                         s = -1;
-                        if ( (synpred10()) ) {s = 67;}
+                        if ( (LA58_32==ID) ) {s = 64;}
 
-                        else if ( (true) ) {s = 3;}
+                        else if ( (LA58_32==LEFT_PAREN) ) {s = 65;}
 
+                        else if ( (LA58_32==RIGHT_PAREN) && (synpred10())) {s = 13;}
+
+                        else if ( ((LA58_32>=PACKAGE && LA58_32<=FUNCTION)||(LA58_32>=DOT && LA58_32<=GLOBAL)||LA58_32==COMMA||(LA58_32>=DECLARE && LA58_32<=89)) && (synpred10())) {s = 12;}
+
                          
-                        input.seek(index56_51);
+                        input.seek(index58_32);
                         if ( s>=0 ) return s;
                         break;
                     case 57 : 
-                        int LA56_33 = input.LA(1);
+                        int LA58_56 = input.LA(1);
 
                          
-                        int index56_33 = input.index();
+                        int index58_56 = input.index();
                         input.rewind();
                         s = -1;
-                        if ( ((LA56_33>=PACKAGE && LA56_33<=ID)||LA56_33==GLOBAL||LA56_33==END||(LA56_33>=QUERY && LA56_33<=ATTRIBUTES)||LA56_33==ENABLED||LA56_33==SALIENCE||(LA56_33>=DURATION && LA56_33<=DIALECT)||LA56_33==FROM||(LA56_33>=INIT && LA56_33<=RESULT)||LA56_33==IN||(LA56_33>=THEN && LA56_33<=EVENT)) ) {s = 66;}
+                        if ( (LA58_56==ID) ) {s = 93;}
 
-                        else if ( (LA56_33==RIGHT_PAREN) && (synpred10())) {s = 13;}
+                        else if ( (LA58_56==LEFT_PAREN) ) {s = 94;}
 
-                        else if ( (LA56_33==DOT||LA56_33==COMMA||LA56_33==DECLARE||(LA56_33>=AT && LA56_33<=EQUALS)||(LA56_33>=DATE_EFFECTIVE && LA56_33<=DATE_EXPIRES)||LA56_33==BOOL||(LA56_33>=INT && LA56_33<=AGENDA_GROUP)||(LA56_33>=LOCK_ON_ACTIVE && LA56_33<=DOUBLE_AMPER)||(LA56_33>=EXISTS && LA56_33<=ACCUMULATE)||(LA56_33>=COLLECT && LA56_33<=TILDE)||(LA56_33>=FLOAT && LA56_33<=RIGHT_CURLY)||(LA56_33>=EOL && LA56_33<=87)) && (synpred10())) {s = 12;}
+                        else if ( (LA58_56==RIGHT_PAREN) && (synpred10())) {s = 13;}
 
-                        else if ( (LA56_33==LEFT_PAREN) && (synpred10())) {s = 67;}
+                        else if ( ((LA58_56>=PACKAGE && LA58_56<=FUNCTION)||(LA58_56>=DOT && LA58_56<=GLOBAL)||LA58_56==COMMA||(LA58_56>=DECLARE && LA58_56<=89)) && (synpred10())) {s = 12;}
 
                          
-                        input.seek(index56_33);
+                        input.seek(index58_56);
                         if ( s>=0 ) return s;
                         break;
                     case 58 : 
-                        int LA56_57 = input.LA(1);
+                        int LA58_60 = input.LA(1);
 
                          
-                        int index56_57 = input.index();
+                        int index58_60 = input.index();
                         input.rewind();
                         s = -1;
-                        if ( ((LA56_57>=PACKAGE && LA56_57<=ID)||LA56_57==GLOBAL||LA56_57==END||(LA56_57>=QUERY && LA56_57<=ATTRIBUTES)||LA56_57==ENABLED||LA56_57==SALIENCE||(LA56_57>=DURATION && LA56_57<=DIALECT)||LA56_57==FROM||(LA56_57>=INIT && LA56_57<=RESULT)||LA56_57==IN||(LA56_57>=THEN && LA56_57<=EVENT)) ) {s = 95;}
+                        if ( (LA58_60==ID) ) {s = 97;}
 
-                        else if ( (LA56_57==RIGHT_PAREN) && (synpred10())) {s = 13;}
+                        else if ( (LA58_60==LEFT_PAREN) ) {s = 98;}
 
-                        else if ( (LA56_57==DOT||LA56_57==COMMA||LA56_57==DECLARE||(LA56_57>=AT && LA56_57<=EQUALS)||(LA56_57>=DATE_EFFECTIVE && LA56_57<=DATE_EXPIRES)||LA56_57==BOOL||(LA56_57>=INT && LA56_57<=AGENDA_GROUP)||(LA56_57>=LOCK_ON_ACTIVE && LA56_57<=DOUBLE_AMPER)||(LA56_57>=EXISTS && LA56_57<=ACCUMULATE)||(LA56_57>=COLLECT && LA56_57<=TILDE)||(LA56_57>=FLOAT && LA56_57<=RIGHT_CURLY)||(LA56_57>=EOL && LA56_57<=87)) && (synpred10())) {s = 12;}
+                        else if ( (LA58_60==RIGHT_PAREN) && (synpred10())) {s = 13;}
 
-                        else if ( (LA56_57==LEFT_PAREN) && (synpred10())) {s = 67;}
+                        else if ( ((LA58_60>=PACKAGE && LA58_60<=FUNCTION)||(LA58_60>=DOT && LA58_60<=GLOBAL)||LA58_60==COMMA||(LA58_60>=DECLARE && LA58_60<=89)) && (synpred10())) {s = 12;}
 
                          
-                        input.seek(index56_57);
+                        input.seek(index58_60);
                         if ( s>=0 ) return s;
                         break;
                     case 59 : 
-                        int LA56_61 = input.LA(1);
+                        int LA58_66 = input.LA(1);
 
                          
-                        int index56_61 = input.index();
+                        int index58_66 = input.index();
                         input.rewind();
                         s = -1;
-                        if ( ((LA56_61>=PACKAGE && LA56_61<=ID)||LA56_61==GLOBAL||LA56_61==END||(LA56_61>=QUERY && LA56_61<=ATTRIBUTES)||LA56_61==ENABLED||LA56_61==SALIENCE||(LA56_61>=DURATION && LA56_61<=DIALECT)||LA56_61==FROM||(LA56_61>=INIT && LA56_61<=RESULT)||LA56_61==IN||(LA56_61>=THEN && LA56_61<=EVENT)) ) {s = 99;}
+                        if ( (LA58_66==LEFT_SQUARE) ) {s = 34;}
 
-                        else if ( (LA56_61==RIGHT_PAREN) && (synpred10())) {s = 13;}
+                        else if ( (LA58_66==LEFT_PAREN) ) {s = 35;}
 
-                        else if ( (LA56_61==DOT||LA56_61==COMMA||LA56_61==DECLARE||(LA56_61>=AT && LA56_61<=EQUALS)||(LA56_61>=DATE_EFFECTIVE && LA56_61<=DATE_EXPIRES)||LA56_61==BOOL||(LA56_61>=INT && LA56_61<=AGENDA_GROUP)||(LA56_61>=LOCK_ON_ACTIVE && LA56_61<=DOUBLE_AMPER)||(LA56_61>=EXISTS && LA56_61<=ACCUMULATE)||(LA56_61>=COLLECT && LA56_61<=TILDE)||(LA56_61>=FLOAT && LA56_61<=RIGHT_CURLY)||(LA56_61>=EOL && LA56_61<=87)) && (synpred10())) {s = 12;}
+                        else if ( (LA58_66==DOT) ) {s = 33;}
 
-                        else if ( (LA56_61==LEFT_PAREN) && (synpred10())) {s = 67;}
+                        else if ( (LA58_66==RIGHT_PAREN) && (synpred10())) {s = 13;}
 
+                        else if ( ((LA58_66>=PACKAGE && LA58_66<=ID)||LA58_66==GLOBAL||LA58_66==COMMA||(LA58_66>=DECLARE && LA58_66<=ENTRY_POINT)||(LA58_66>=RIGHT_SQUARE && LA58_66<=89)) && (synpred10())) {s = 12;}
+
                          
-                        input.seek(index56_61);
+                        input.seek(index58_66);
                         if ( s>=0 ) return s;
                         break;
                     case 60 : 
-                        int LA56_39 = input.LA(1);
+                        int LA58_63 = input.LA(1);
 
                          
-                        int index56_39 = input.index();
+                        int index58_63 = input.index();
                         input.rewind();
                         s = -1;
-                        if ( (LA56_39==COLON) ) {s = 73;}
+                        if ( (synpred10()) ) {s = 67;}
 
-                        else if ( (LA56_39==DOT) ) {s = 74;}
+                        else if ( (true) ) {s = 3;}
 
-                        else if ( (LA56_39==LEFT_SQUARE) ) {s = 75;}
-
-                        else if ( (LA56_39==LEFT_PAREN) ) {s = 76;}
-
-                        else if ( (LA56_39==RIGHT_PAREN) && (synpred10())) {s = 13;}
-
-                        else if ( ((LA56_39>=PACKAGE && LA56_39<=ID)||LA56_39==GLOBAL||LA56_39==COMMA||(LA56_39>=DECLARE && LA56_39<=AT)||(LA56_39>=EQUALS && LA56_39<=ENTRY_POINT)||(LA56_39>=RIGHT_SQUARE && LA56_39<=87)) && (synpred10())) {s = 12;}
-
                          
-                        input.seek(index56_39);
+                        input.seek(index58_63);
                         if ( s>=0 ) return s;
                         break;
                     case 61 : 
-                        int LA56_37 = input.LA(1);
+                        int LA58_54 = input.LA(1);
 
                          
-                        int index56_37 = input.index();
+                        int index58_54 = input.index();
                         input.rewind();
                         s = -1;
-                        if ( (LA56_37==COLON) ) {s = 69;}
+                        if ( (LA58_54==RIGHT_SQUARE) ) {s = 92;}
 
-                        else if ( (LA56_37==DOT) ) {s = 70;}
+                        else if ( (LA58_54==RIGHT_PAREN) && (synpred10())) {s = 13;}
 
-                        else if ( (LA56_37==LEFT_SQUARE) ) {s = 71;}
+                        else if ( ((LA58_54>=PACKAGE && LA58_54<=GLOBAL)||LA58_54==COMMA||(LA58_54>=DECLARE && LA58_54<=LEFT_SQUARE)||(LA58_54>=CONTAINS && LA58_54<=89)) && (synpred10())) {s = 12;}
 
-                        else if ( (LA56_37==LEFT_PAREN) ) {s = 72;}
+                        else if ( (LA58_54==LEFT_PAREN) && (synpred10())) {s = 67;}
 
-                        else if ( (LA56_37==RIGHT_PAREN) && (synpred10())) {s = 13;}
-
-                        else if ( ((LA56_37>=PACKAGE && LA56_37<=ID)||LA56_37==GLOBAL||LA56_37==COMMA||(LA56_37>=DECLARE && LA56_37<=AT)||(LA56_37>=EQUALS && LA56_37<=ENTRY_POINT)||(LA56_37>=RIGHT_SQUARE && LA56_37<=87)) && (synpred10())) {s = 12;}
-
                          
-                        input.seek(index56_37);
+                        input.seek(index58_54);
                         if ( s>=0 ) return s;
                         break;
                     case 62 : 
-                        int LA56_19 = input.LA(1);
+                        int LA58_24 = input.LA(1);
 
                          
-                        int index56_19 = input.index();
+                        int index58_24 = input.index();
                         input.rewind();
                         s = -1;
-                        if ( (LA56_19==COLON) ) {s = 42;}
+                        if ( (LA58_24==LEFT_PAREN) ) {s = 51;}
 
-                        else if ( (LA56_19==DOT) ) {s = 43;}
+                        else if ( (LA58_24==RIGHT_PAREN) && (synpred10())) {s = 13;}
 
-                        else if ( (LA56_19==LEFT_SQUARE) ) {s = 44;}
+                        else if ( ((LA58_24>=PACKAGE && LA58_24<=GLOBAL)||LA58_24==COMMA||(LA58_24>=DECLARE && LA58_24<=89)) && (synpred10())) {s = 12;}
 
-                        else if ( (LA56_19==LEFT_PAREN) ) {s = 45;}
-
-                        else if ( (LA56_19==RIGHT_PAREN) && (synpred10())) {s = 13;}
-
-                        else if ( ((LA56_19>=PACKAGE && LA56_19<=ID)||LA56_19==GLOBAL||LA56_19==COMMA||(LA56_19>=DECLARE && LA56_19<=AT)||(LA56_19>=EQUALS && LA56_19<=ENTRY_POINT)||(LA56_19>=RIGHT_SQUARE && LA56_19<=87)) && (synpred10())) {s = 12;}
-
                          
-                        input.seek(index56_19);
+                        input.seek(index58_24);
                         if ( s>=0 ) return s;
                         break;
             }
             if (backtracking>0) {failed=true; return -1;}
             NoViableAltException nvae =
-                new NoViableAltException(getDescription(), 56, _s, input);
+                new NoViableAltException(getDescription(), 58, _s, input);
             error(nvae);
             throw nvae;
         }
     }
  
 
-    public static final BitSet FOLLOW_79_in_opt_semicolon39 = new BitSet(new long[]{0x0000000000000002L});
+    public static final BitSet FOLLOW_81_in_opt_semicolon39 = new BitSet(new long[]{0x0000000000000002L});
     public static final BitSet FOLLOW_prolog_in_compilation_unit57 = new BitSet(new long[]{0x0000003FD69C2260L});
     public static final BitSet FOLLOW_statement_in_compilation_unit62 = new BitSet(new long[]{0x0000003FD69C2260L});
     public static final BitSet FOLLOW_EOF_in_compilation_unit67 = new BitSet(new long[]{0x0000000000000002L});
@@ -9718,44 +9838,44 @@
     public static final BitSet FOLLOW_rule_in_statement169 = new BitSet(new long[]{0x0000000000000002L});
     public static final BitSet FOLLOW_query_in_statement181 = new BitSet(new long[]{0x0000000000000002L});
     public static final BitSet FOLLOW_type_declaration_in_statement196 = new BitSet(new long[]{0x0000000000000002L});
-    public static final BitSet FOLLOW_PACKAGE_in_package_statement222 = new BitSet(new long[]{0x400F0418147C42F0L,0x0000000000000018L});
-    public static final BitSet FOLLOW_dotted_name_in_package_statement226 = new BitSet(new long[]{0x0000000000000002L,0x0000000000008000L});
+    public static final BitSet FOLLOW_PACKAGE_in_package_statement222 = new BitSet(new long[]{0x003C1018147C42F0L,0x0000000000000061L});
+    public static final BitSet FOLLOW_dotted_name_in_package_statement226 = new BitSet(new long[]{0x0000000000000002L,0x0000000000020000L});
     public static final BitSet FOLLOW_opt_semicolon_in_package_statement228 = new BitSet(new long[]{0x0000000000000002L});
     public static final BitSet FOLLOW_IMPORT_in_import_statement259 = new BitSet(new long[]{0x0000000000000080L});
-    public static final BitSet FOLLOW_import_name_in_import_statement282 = new BitSet(new long[]{0x0000000000000002L,0x0000000000008000L});
+    public static final BitSet FOLLOW_import_name_in_import_statement282 = new BitSet(new long[]{0x0000000000000002L,0x0000000000020000L});
     public static final BitSet FOLLOW_opt_semicolon_in_import_statement285 = new BitSet(new long[]{0x0000000000000002L});
     public static final BitSet FOLLOW_IMPORT_in_function_import_statement309 = new BitSet(new long[]{0x0000000000000040L});
     public static final BitSet FOLLOW_FUNCTION_in_function_import_statement311 = new BitSet(new long[]{0x0000000000000080L});
-    public static final BitSet FOLLOW_import_name_in_function_import_statement334 = new BitSet(new long[]{0x0000000000000002L,0x0000000000008000L});
+    public static final BitSet FOLLOW_import_name_in_function_import_statement334 = new BitSet(new long[]{0x0000000000000002L,0x0000000000020000L});
     public static final BitSet FOLLOW_opt_semicolon_in_function_import_statement337 = new BitSet(new long[]{0x0000000000000002L});
-    public static final BitSet FOLLOW_ID_in_import_name362 = new BitSet(new long[]{0x0000000000000102L,0x0000000000010000L});
-    public static final BitSet FOLLOW_DOT_in_import_name374 = new BitSet(new long[]{0x400F0418147C42F0L,0x0000000000000018L});
-    public static final BitSet FOLLOW_identifier_in_import_name378 = new BitSet(new long[]{0x0000000000000102L,0x0000000000010000L});
-    public static final BitSet FOLLOW_80_in_import_name402 = new BitSet(new long[]{0x0000000000000002L});
-    public static final BitSet FOLLOW_GLOBAL_in_global436 = new BitSet(new long[]{0x400F0418147C42F0L,0x0000000000000018L});
-    public static final BitSet FOLLOW_dotted_name_in_global447 = new BitSet(new long[]{0x400F0418147C42F0L,0x0000000000000018L});
-    public static final BitSet FOLLOW_identifier_in_global458 = new BitSet(new long[]{0x0000000000000002L,0x0000000000008000L});
+    public static final BitSet FOLLOW_ID_in_import_name362 = new BitSet(new long[]{0x0000000000000102L,0x0000000000040000L});
+    public static final BitSet FOLLOW_DOT_in_import_name374 = new BitSet(new long[]{0x003C1018147C42F0L,0x0000000000000061L});
+    public static final BitSet FOLLOW_identifier_in_import_name378 = new BitSet(new long[]{0x0000000000000102L,0x0000000000040000L});
+    public static final BitSet FOLLOW_82_in_import_name402 = new BitSet(new long[]{0x0000000000000002L});
+    public static final BitSet FOLLOW_GLOBAL_in_global436 = new BitSet(new long[]{0x003C1018147C42F0L,0x0000000000000061L});
+    public static final BitSet FOLLOW_dotted_name_in_global447 = new BitSet(new long[]{0x003C1018147C42F0L,0x0000000000000061L});
+    public static final BitSet FOLLOW_identifier_in_global458 = new BitSet(new long[]{0x0000000000000002L,0x0000000000020000L});
     public static final BitSet FOLLOW_opt_semicolon_in_global460 = new BitSet(new long[]{0x0000000000000002L});
-    public static final BitSet FOLLOW_FUNCTION_in_function485 = new BitSet(new long[]{0x400F0418147C42F0L,0x0000000000000018L});
-    public static final BitSet FOLLOW_dotted_name_in_function489 = new BitSet(new long[]{0x400F0418147C42F0L,0x0000000000000018L});
+    public static final BitSet FOLLOW_FUNCTION_in_function485 = new BitSet(new long[]{0x003C1018147C42F0L,0x0000000000000061L});
+    public static final BitSet FOLLOW_dotted_name_in_function489 = new BitSet(new long[]{0x003C1018147C42F0L,0x0000000000000061L});
     public static final BitSet FOLLOW_identifier_in_function494 = new BitSet(new long[]{0x0000000000000400L});
-    public static final BitSet FOLLOW_LEFT_PAREN_in_function503 = new BitSet(new long[]{0x400F0418147C52F0L,0x0000000000000018L});
-    public static final BitSet FOLLOW_dotted_name_in_function512 = new BitSet(new long[]{0x400F0418147C42F0L,0x0000000000000018L});
+    public static final BitSet FOLLOW_LEFT_PAREN_in_function503 = new BitSet(new long[]{0x003C1018147C52F0L,0x0000000000000061L});
+    public static final BitSet FOLLOW_dotted_name_in_function512 = new BitSet(new long[]{0x003C1018147C42F0L,0x0000000000000061L});
     public static final BitSet FOLLOW_argument_in_function517 = new BitSet(new long[]{0x0000000000001800L});
-    public static final BitSet FOLLOW_COMMA_in_function531 = new BitSet(new long[]{0x400F0418147C42F0L,0x0000000000000018L});
-    public static final BitSet FOLLOW_dotted_name_in_function535 = new BitSet(new long[]{0x400F0418147C42F0L,0x0000000000000018L});
+    public static final BitSet FOLLOW_COMMA_in_function531 = new BitSet(new long[]{0x003C1018147C42F0L,0x0000000000000061L});
+    public static final BitSet FOLLOW_dotted_name_in_function535 = new BitSet(new long[]{0x003C1018147C42F0L,0x0000000000000061L});
     public static final BitSet FOLLOW_argument_in_function540 = new BitSet(new long[]{0x0000000000001800L});
-    public static final BitSet FOLLOW_RIGHT_PAREN_in_function564 = new BitSet(new long[]{0x0000000000000000L,0x0000000000000002L});
+    public static final BitSet FOLLOW_RIGHT_PAREN_in_function564 = new BitSet(new long[]{0x0000000000000000L,0x0000000000000008L});
     public static final BitSet FOLLOW_curly_chunk_in_function570 = new BitSet(new long[]{0x0000000000000002L});
-    public static final BitSet FOLLOW_identifier_in_argument597 = new BitSet(new long[]{0x0040000000000002L});
-    public static final BitSet FOLLOW_LEFT_SQUARE_in_argument603 = new BitSet(new long[]{0x0080000000000000L});
-    public static final BitSet FOLLOW_RIGHT_SQUARE_in_argument605 = new BitSet(new long[]{0x0040000000000002L});
-    public static final BitSet FOLLOW_DECLARE_in_type_declaration645 = new BitSet(new long[]{0x400F0418147C42F0L,0x0000000000000018L});
-    public static final BitSet FOLLOW_identifier_in_type_declaration649 = new BitSet(new long[]{0x400F0418147CC2F0L,0x0000000000000018L});
-    public static final BitSet FOLLOW_decl_metadata_in_type_declaration702 = new BitSet(new long[]{0x400F0418147CC2F0L,0x0000000000000018L});
-    public static final BitSet FOLLOW_decl_field_in_type_declaration730 = new BitSet(new long[]{0x400F0418147C42F0L,0x0000000000000018L});
+    public static final BitSet FOLLOW_identifier_in_argument597 = new BitSet(new long[]{0x0100000000000002L});
+    public static final BitSet FOLLOW_LEFT_SQUARE_in_argument603 = new BitSet(new long[]{0x0200000000000000L});
+    public static final BitSet FOLLOW_RIGHT_SQUARE_in_argument605 = new BitSet(new long[]{0x0100000000000002L});
+    public static final BitSet FOLLOW_DECLARE_in_type_declaration645 = new BitSet(new long[]{0x003C1018147C42F0L,0x0000000000000061L});
+    public static final BitSet FOLLOW_identifier_in_type_declaration649 = new BitSet(new long[]{0x003C1018147CC2F0L,0x0000000000000061L});
+    public static final BitSet FOLLOW_decl_metadata_in_type_declaration702 = new BitSet(new long[]{0x003C1018147CC2F0L,0x0000000000000061L});
+    public static final BitSet FOLLOW_decl_field_in_type_declaration730 = new BitSet(new long[]{0x003C1018147C42F0L,0x0000000000000061L});
     public static final BitSet FOLLOW_END_in_type_declaration750 = new BitSet(new long[]{0x0000000000000002L});
-    public static final BitSet FOLLOW_AT_in_decl_metadata784 = new BitSet(new long[]{0x400F0418147C42F0L,0x0000000000000018L});
+    public static final BitSet FOLLOW_AT_in_decl_metadata784 = new BitSet(new long[]{0x003C1018147C42F0L,0x0000000000000061L});
     public static final BitSet FOLLOW_identifier_in_decl_metadata788 = new BitSet(new long[]{0x0000000000000400L});
     public static final BitSet FOLLOW_paren_chunk_in_decl_metadata792 = new BitSet(new long[]{0x0000000000000002L});
     public static final BitSet FOLLOW_identifier_in_decl_field853 = new BitSet(new long[]{0x0000000000030000L});
@@ -9766,32 +9886,32 @@
     public static final BitSet FOLLOW_EQUALS_in_initialization900 = new BitSet(new long[]{0x0000000000000400L});
     public static final BitSet FOLLOW_paren_chunk_in_initialization904 = new BitSet(new long[]{0x0000000000000002L});
     public static final BitSet FOLLOW_QUERY_in_query938 = new BitSet(new long[]{0x0000000001000080L});
-    public static final BitSet FOLLOW_name_in_query942 = new BitSet(new long[]{0x0000780000004480L});
+    public static final BitSet FOLLOW_name_in_query942 = new BitSet(new long[]{0x0001E00000004480L});
     public static final BitSet FOLLOW_LEFT_PAREN_in_query952 = new BitSet(new long[]{0x0000000000001080L});
     public static final BitSet FOLLOW_qualified_id_in_query987 = new BitSet(new long[]{0x0000000000000080L});
     public static final BitSet FOLLOW_ID_in_query992 = new BitSet(new long[]{0x0000000000001800L});
     public static final BitSet FOLLOW_COMMA_in_query1013 = new BitSet(new long[]{0x0000000000000080L});
     public static final BitSet FOLLOW_qualified_id_in_query1017 = new BitSet(new long[]{0x0000000000000080L});
     public static final BitSet FOLLOW_ID_in_query1022 = new BitSet(new long[]{0x0000000000001800L});
-    public static final BitSet FOLLOW_RIGHT_PAREN_in_query1072 = new BitSet(new long[]{0x0000780000004480L});
+    public static final BitSet FOLLOW_RIGHT_PAREN_in_query1072 = new BitSet(new long[]{0x0001E00000004480L});
     public static final BitSet FOLLOW_normal_lhs_block_in_query1101 = new BitSet(new long[]{0x0000000000004000L});
-    public static final BitSet FOLLOW_END_in_query1106 = new BitSet(new long[]{0x0000000000000002L,0x0000000000008000L});
+    public static final BitSet FOLLOW_END_in_query1106 = new BitSet(new long[]{0x0000000000000002L,0x0000000000020000L});
     public static final BitSet FOLLOW_opt_semicolon_in_query1108 = new BitSet(new long[]{0x0000000000000002L});
     public static final BitSet FOLLOW_TEMPLATE_in_template1136 = new BitSet(new long[]{0x0000000001000080L});
-    public static final BitSet FOLLOW_name_in_template1140 = new BitSet(new long[]{0x0000000000000080L,0x0000000000008000L});
+    public static final BitSet FOLLOW_name_in_template1140 = new BitSet(new long[]{0x0000000000000080L,0x0000000000020000L});
     public static final BitSet FOLLOW_opt_semicolon_in_template1142 = new BitSet(new long[]{0x0000000000000080L});
     public static final BitSet FOLLOW_template_slot_in_template1157 = new BitSet(new long[]{0x0000000000004080L});
-    public static final BitSet FOLLOW_END_in_template1172 = new BitSet(new long[]{0x0000000000000002L,0x0000000000008000L});
+    public static final BitSet FOLLOW_END_in_template1172 = new BitSet(new long[]{0x0000000000000002L,0x0000000000020000L});
     public static final BitSet FOLLOW_opt_semicolon_in_template1174 = new BitSet(new long[]{0x0000000000000002L});
-    public static final BitSet FOLLOW_qualified_id_in_template_slot1220 = new BitSet(new long[]{0x400F0418147C42F0L,0x0000000000000018L});
-    public static final BitSet FOLLOW_identifier_in_template_slot1236 = new BitSet(new long[]{0x0000000000000002L,0x0000000000008000L});
+    public static final BitSet FOLLOW_qualified_id_in_template_slot1220 = new BitSet(new long[]{0x003C1018147C42F0L,0x0000000000000061L});
+    public static final BitSet FOLLOW_identifier_in_template_slot1236 = new BitSet(new long[]{0x0000000000000002L,0x0000000000020000L});
     public static final BitSet FOLLOW_opt_semicolon_in_template_slot1238 = new BitSet(new long[]{0x0000000000000002L});
     public static final BitSet FOLLOW_RULE_in_rule1269 = new BitSet(new long[]{0x0000000001000080L});
-    public static final BitSet FOLLOW_name_in_rule1273 = new BitSet(new long[]{0x0000003FD6E00000L,0x0000000000000008L});
-    public static final BitSet FOLLOW_rule_attributes_in_rule1282 = new BitSet(new long[]{0x0000000000200000L,0x0000000000000008L});
-    public static final BitSet FOLLOW_WHEN_in_rule1294 = new BitSet(new long[]{0x0000780000010480L,0x0000000000000008L});
-    public static final BitSet FOLLOW_COLON_in_rule1296 = new BitSet(new long[]{0x0000780000000480L,0x0000000000000008L});
-    public static final BitSet FOLLOW_normal_lhs_block_in_rule1307 = new BitSet(new long[]{0x0000000000000000L,0x0000000000000008L});
+    public static final BitSet FOLLOW_name_in_rule1273 = new BitSet(new long[]{0x0000003FD6E00000L,0x0000000000000020L});
+    public static final BitSet FOLLOW_rule_attributes_in_rule1282 = new BitSet(new long[]{0x0000000000200000L,0x0000000000000020L});
+    public static final BitSet FOLLOW_WHEN_in_rule1294 = new BitSet(new long[]{0x0001E00000010480L,0x0000000000000020L});
+    public static final BitSet FOLLOW_COLON_in_rule1296 = new BitSet(new long[]{0x0001E00000000480L,0x0000000000000020L});
+    public static final BitSet FOLLOW_normal_lhs_block_in_rule1307 = new BitSet(new long[]{0x0000000000000000L,0x0000000000000020L});
     public static final BitSet FOLLOW_rhs_chunk_in_rule1317 = new BitSet(new long[]{0x0000000000000002L});
     public static final BitSet FOLLOW_ATTRIBUTES_in_rule_attributes1337 = new BitSet(new long[]{0x0000000000010000L});
     public static final BitSet FOLLOW_COLON_in_rule_attributes1339 = new BitSet(new long[]{0x0000003FD6800000L});
@@ -9835,237 +9955,242 @@
     public static final BitSet FOLLOW_STRING_in_dialect1884 = new BitSet(new long[]{0x0000000000000002L});
     public static final BitSet FOLLOW_LOCK_ON_ACTIVE_in_lock_on_active1916 = new BitSet(new long[]{0x0000000008000002L});
     public static final BitSet FOLLOW_BOOL_in_lock_on_active1929 = new BitSet(new long[]{0x0000000000000002L});
-    public static final BitSet FOLLOW_lhs_in_normal_lhs_block1968 = new BitSet(new long[]{0x0000780000000482L});
+    public static final BitSet FOLLOW_lhs_in_normal_lhs_block1968 = new BitSet(new long[]{0x0001E00000000482L});
     public static final BitSet FOLLOW_lhs_or_in_lhs2005 = new BitSet(new long[]{0x0000000000000002L});
     public static final BitSet FOLLOW_LEFT_PAREN_in_lhs_or2030 = new BitSet(new long[]{0x0000004000000000L});
-    public static final BitSet FOLLOW_OR_in_lhs_or2032 = new BitSet(new long[]{0x0000780000000480L});
-    public static final BitSet FOLLOW_lhs_and_in_lhs_or2045 = new BitSet(new long[]{0x0000780000001480L});
+    public static final BitSet FOLLOW_OR_in_lhs_or2032 = new BitSet(new long[]{0x0001E00000000480L});
+    public static final BitSet FOLLOW_lhs_and_in_lhs_or2045 = new BitSet(new long[]{0x0001E00000001480L});
     public static final BitSet FOLLOW_RIGHT_PAREN_in_lhs_or2056 = new BitSet(new long[]{0x0000000000000002L});
     public static final BitSet FOLLOW_lhs_and_in_lhs_or2074 = new BitSet(new long[]{0x000000C000000002L});
-    public static final BitSet FOLLOW_set_in_lhs_or2082 = new BitSet(new long[]{0x0000780000000480L});
+    public static final BitSet FOLLOW_set_in_lhs_or2082 = new BitSet(new long[]{0x0001E00000000480L});
     public static final BitSet FOLLOW_lhs_and_in_lhs_or2098 = new BitSet(new long[]{0x000000C000000002L});
     public static final BitSet FOLLOW_LEFT_PAREN_in_lhs_and2129 = new BitSet(new long[]{0x0000010000000000L});
-    public static final BitSet FOLLOW_AND_in_lhs_and2131 = new BitSet(new long[]{0x0000780000000480L});
-    public static final BitSet FOLLOW_lhs_unary_in_lhs_and2143 = new BitSet(new long[]{0x0000780000001480L});
+    public static final BitSet FOLLOW_AND_in_lhs_and2131 = new BitSet(new long[]{0x0001E00000000480L});
+    public static final BitSet FOLLOW_lhs_unary_in_lhs_and2143 = new BitSet(new long[]{0x0001E00000001480L});
     public static final BitSet FOLLOW_RIGHT_PAREN_in_lhs_and2153 = new BitSet(new long[]{0x0000000000000002L});
     public static final BitSet FOLLOW_lhs_unary_in_lhs_and2171 = new BitSet(new long[]{0x0000030000000002L});
-    public static final BitSet FOLLOW_set_in_lhs_and2179 = new BitSet(new long[]{0x0000780000000480L});
+    public static final BitSet FOLLOW_set_in_lhs_and2179 = new BitSet(new long[]{0x0001E00000000480L});
     public static final BitSet FOLLOW_lhs_unary_in_lhs_and2195 = new BitSet(new long[]{0x0000030000000002L});
-    public static final BitSet FOLLOW_lhs_exist_in_lhs_unary2240 = new BitSet(new long[]{0x0000000000000002L,0x0000000000008000L});
-    public static final BitSet FOLLOW_lhs_not_in_lhs_unary2258 = new BitSet(new long[]{0x0000000000000002L,0x0000000000008000L});
-    public static final BitSet FOLLOW_lhs_eval_in_lhs_unary2277 = new BitSet(new long[]{0x0000000000000002L,0x0000000000008000L});
-    public static final BitSet FOLLOW_lhs_forall_in_lhs_unary2296 = new BitSet(new long[]{0x0000000000000002L,0x0000000000008000L});
-    public static final BitSet FOLLOW_LEFT_PAREN_in_lhs_unary2313 = new BitSet(new long[]{0x0000780000000480L});
+    public static final BitSet FOLLOW_lhs_exist_in_lhs_unary2240 = new BitSet(new long[]{0x0000000000000002L,0x0000000000020000L});
+    public static final BitSet FOLLOW_lhs_not_in_lhs_unary2258 = new BitSet(new long[]{0x0000000000000002L,0x0000000000020000L});
+    public static final BitSet FOLLOW_lhs_eval_in_lhs_unary2277 = new BitSet(new long[]{0x0000000000000002L,0x0000000000020000L});
+    public static final BitSet FOLLOW_lhs_forall_in_lhs_unary2296 = new BitSet(new long[]{0x0000000000000002L,0x0000000000020000L});
+    public static final BitSet FOLLOW_LEFT_PAREN_in_lhs_unary2313 = new BitSet(new long[]{0x0001E00000000480L});
     public static final BitSet FOLLOW_lhs_or_in_lhs_unary2317 = new BitSet(new long[]{0x0000000000001000L});
-    public static final BitSet FOLLOW_RIGHT_PAREN_in_lhs_unary2319 = new BitSet(new long[]{0x0000000000000002L,0x0000000000008000L});
-    public static final BitSet FOLLOW_pattern_source_in_lhs_unary2330 = new BitSet(new long[]{0x0000000000000002L,0x0000000000008000L});
+    public static final BitSet FOLLOW_RIGHT_PAREN_in_lhs_unary2319 = new BitSet(new long[]{0x0000000000000002L,0x0000000000020000L});
+    public static final BitSet FOLLOW_pattern_source_in_lhs_unary2330 = new BitSet(new long[]{0x0000000000000002L,0x0000000000020000L});
     public static final BitSet FOLLOW_opt_semicolon_in_lhs_unary2342 = new BitSet(new long[]{0x0000000000000002L});
-    public static final BitSet FOLLOW_lhs_pattern_in_pattern_source2369 = new BitSet(new long[]{0x0000040000000002L});
-    public static final BitSet FOLLOW_FROM_in_pattern_source2420 = new BitSet(new long[]{0x0020000000000000L});
-    public static final BitSet FOLLOW_entrypoint_statement_in_pattern_source2424 = new BitSet(new long[]{0x0000000000000002L});
-    public static final BitSet FOLLOW_FROM_in_pattern_source2444 = new BitSet(new long[]{0x401F8418147C42F0L,0x0000000000000018L});
-    public static final BitSet FOLLOW_accumulate_statement_in_pattern_source2502 = new BitSet(new long[]{0x0000000000000002L});
-    public static final BitSet FOLLOW_collect_statement_in_pattern_source2525 = new BitSet(new long[]{0x0000000000000002L});
-    public static final BitSet FOLLOW_from_statement_in_pattern_source2562 = new BitSet(new long[]{0x0000000000000002L});
-    public static final BitSet FOLLOW_EXISTS_in_lhs_exist2605 = new BitSet(new long[]{0x0000000000000480L});
-    public static final BitSet FOLLOW_LEFT_PAREN_in_lhs_exist2625 = new BitSet(new long[]{0x0000780000000480L});
-    public static final BitSet FOLLOW_lhs_or_in_lhs_exist2629 = new BitSet(new long[]{0x0000000000001000L});
-    public static final BitSet FOLLOW_RIGHT_PAREN_in_lhs_exist2659 = new BitSet(new long[]{0x0000000000000002L});
-    public static final BitSet FOLLOW_lhs_pattern_in_lhs_exist2709 = new BitSet(new long[]{0x0000000000000002L});
-    public static final BitSet FOLLOW_NOT_in_lhs_not2761 = new BitSet(new long[]{0x0000000000000480L});
-    public static final BitSet FOLLOW_LEFT_PAREN_in_lhs_not2774 = new BitSet(new long[]{0x0000780000000480L});
-    public static final BitSet FOLLOW_lhs_or_in_lhs_not2778 = new BitSet(new long[]{0x0000000000001000L});
-    public static final BitSet FOLLOW_RIGHT_PAREN_in_lhs_not2809 = new BitSet(new long[]{0x0000000000000002L});
-    public static final BitSet FOLLOW_lhs_pattern_in_lhs_not2846 = new BitSet(new long[]{0x0000000000000002L});
-    public static final BitSet FOLLOW_EVAL_in_lhs_eval2892 = new BitSet(new long[]{0x0000000000000400L});
-    public static final BitSet FOLLOW_paren_chunk_in_lhs_eval2903 = new BitSet(new long[]{0x0000000000000002L});
-    public static final BitSet FOLLOW_FORALL_in_lhs_forall2929 = new BitSet(new long[]{0x0000000000000400L});
-    public static final BitSet FOLLOW_LEFT_PAREN_in_lhs_forall2931 = new BitSet(new long[]{0x0000000000000080L});
-    public static final BitSet FOLLOW_lhs_pattern_in_lhs_forall2935 = new BitSet(new long[]{0x0000000000001080L});
-    public static final BitSet FOLLOW_lhs_pattern_in_lhs_forall2950 = new BitSet(new long[]{0x0000000000001080L});
-    public static final BitSet FOLLOW_RIGHT_PAREN_in_lhs_forall2966 = new BitSet(new long[]{0x0000000000000002L});
-    public static final BitSet FOLLOW_fact_binding_in_lhs_pattern2999 = new BitSet(new long[]{0x0000000000000002L});
-    public static final BitSet FOLLOW_fact_in_lhs_pattern3007 = new BitSet(new long[]{0x0000000000000002L});
-    public static final BitSet FOLLOW_from_source_in_from_statement3034 = new BitSet(new long[]{0x0000000000000002L});
-    public static final BitSet FOLLOW_ACCUMULATE_in_accumulate_statement3071 = new BitSet(new long[]{0x0000000000000400L});
-    public static final BitSet FOLLOW_LEFT_PAREN_in_accumulate_statement3081 = new BitSet(new long[]{0x0000780000000480L});
-    public static final BitSet FOLLOW_lhs_or_in_accumulate_statement3085 = new BitSet(new long[]{0x0001000000000880L});
-    public static final BitSet FOLLOW_COMMA_in_accumulate_statement3087 = new BitSet(new long[]{0x0001000000000080L});
-    public static final BitSet FOLLOW_INIT_in_accumulate_statement3105 = new BitSet(new long[]{0x0000000000000400L});
-    public static final BitSet FOLLOW_paren_chunk_in_accumulate_statement3118 = new BitSet(new long[]{0x0002000000000800L});
-    public static final BitSet FOLLOW_COMMA_in_accumulate_statement3120 = new BitSet(new long[]{0x0002000000000000L});
-    public static final BitSet FOLLOW_ACTION_in_accumulate_statement3131 = new BitSet(new long[]{0x0000000000000400L});
-    public static final BitSet FOLLOW_paren_chunk_in_accumulate_statement3135 = new BitSet(new long[]{0x000C000000000800L});
-    public static final BitSet FOLLOW_COMMA_in_accumulate_statement3137 = new BitSet(new long[]{0x000C000000000000L});
-    public static final BitSet FOLLOW_REVERSE_in_accumulate_statement3150 = new BitSet(new long[]{0x0000000000000400L});
-    public static final BitSet FOLLOW_paren_chunk_in_accumulate_statement3154 = new BitSet(new long[]{0x0008000000000800L});
-    public static final BitSet FOLLOW_COMMA_in_accumulate_statement3156 = new BitSet(new long[]{0x0008000000000000L});
-    public static final BitSet FOLLOW_RESULT_in_accumulate_statement3173 = new BitSet(new long[]{0x0000000000000400L});
-    public static final BitSet FOLLOW_paren_chunk_in_accumulate_statement3177 = new BitSet(new long[]{0x0000000000001000L});
-    public static final BitSet FOLLOW_ID_in_accumulate_statement3203 = new BitSet(new long[]{0x0000000000000400L});
-    public static final BitSet FOLLOW_paren_chunk_in_accumulate_statement3207 = new BitSet(new long[]{0x0000000000001000L});
-    public static final BitSet FOLLOW_RIGHT_PAREN_in_accumulate_statement3224 = new BitSet(new long[]{0x0000000000000002L});
-    public static final BitSet FOLLOW_identifier_in_from_source3255 = new BitSet(new long[]{0x0000000000000502L});
-    public static final BitSet FOLLOW_paren_chunk_in_from_source3283 = new BitSet(new long[]{0x0000000000000102L});
-    public static final BitSet FOLLOW_expression_chain_in_from_source3296 = new BitSet(new long[]{0x0000000000000002L});
-    public static final BitSet FOLLOW_DOT_in_expression_chain3327 = new BitSet(new long[]{0x400F0418147C42F0L,0x0000000000000018L});
-    public static final BitSet FOLLOW_identifier_in_expression_chain3331 = new BitSet(new long[]{0x0040000000000502L});
-    public static final BitSet FOLLOW_square_chunk_in_expression_chain3362 = new BitSet(new long[]{0x0000000000000102L});
-    public static final BitSet FOLLOW_paren_chunk_in_expression_chain3395 = new BitSet(new long[]{0x0000000000000102L});
-    public static final BitSet FOLLOW_expression_chain_in_expression_chain3410 = new BitSet(new long[]{0x0000000000000002L});
-    public static final BitSet FOLLOW_COLLECT_in_collect_statement3461 = new BitSet(new long[]{0x0000000000000400L});
-    public static final BitSet FOLLOW_LEFT_PAREN_in_collect_statement3471 = new BitSet(new long[]{0x0000000000000080L});
-    public static final BitSet FOLLOW_pattern_source_in_collect_statement3475 = new BitSet(new long[]{0x0000000000001000L});
-    public static final BitSet FOLLOW_RIGHT_PAREN_in_collect_statement3477 = new BitSet(new long[]{0x0000000000000002L});
-    public static final BitSet FOLLOW_ENTRY_POINT_in_entrypoint_statement3514 = new BitSet(new long[]{0x0000000001000080L});
-    public static final BitSet FOLLOW_name_in_entrypoint_statement3526 = new BitSet(new long[]{0x0000000000000002L});
-    public static final BitSet FOLLOW_ID_in_fact_binding3558 = new BitSet(new long[]{0x0000000000010000L});
-    public static final BitSet FOLLOW_COLON_in_fact_binding3560 = new BitSet(new long[]{0x0000000000000480L});
-    public static final BitSet FOLLOW_fact_in_fact_binding3574 = new BitSet(new long[]{0x0000000000000002L});
-    public static final BitSet FOLLOW_LEFT_PAREN_in_fact_binding3590 = new BitSet(new long[]{0x0000000000000080L});
-    public static final BitSet FOLLOW_fact_in_fact_binding3594 = new BitSet(new long[]{0x000000C000001000L});
-    public static final BitSet FOLLOW_set_in_fact_binding3607 = new BitSet(new long[]{0x0000000000000080L});
-    public static final BitSet FOLLOW_fact_in_fact_binding3619 = new BitSet(new long[]{0x000000C000001000L});
-    public static final BitSet FOLLOW_RIGHT_PAREN_in_fact_binding3637 = new BitSet(new long[]{0x0000000000000002L});
-    public static final BitSet FOLLOW_qualified_id_in_fact3692 = new BitSet(new long[]{0x0000000000000400L});
-    public static final BitSet FOLLOW_LEFT_PAREN_in_fact3702 = new BitSet(new long[]{0x404F2418147C56F0L,0x0000000000000018L});
-    public static final BitSet FOLLOW_constraints_in_fact3714 = new BitSet(new long[]{0x0000000000001000L});
-    public static final BitSet FOLLOW_RIGHT_PAREN_in_fact3721 = new BitSet(new long[]{0x0000000000000002L});
-    public static final BitSet FOLLOW_EOF_in_fact3730 = new BitSet(new long[]{0x0000000000000002L});
-    public static final BitSet FOLLOW_constraint_in_constraints3749 = new BitSet(new long[]{0x0000000000000802L});
-    public static final BitSet FOLLOW_behaviors_in_constraints3752 = new BitSet(new long[]{0x0000000000000802L});
-    public static final BitSet FOLLOW_COMMA_in_constraints3759 = new BitSet(new long[]{0x404F2418147C46F0L,0x0000000000000018L});
-    public static final BitSet FOLLOW_constraint_in_constraints3769 = new BitSet(new long[]{0x0000000000000802L});
-    public static final BitSet FOLLOW_behaviors_in_constraints3772 = new BitSet(new long[]{0x0000000000000802L});
-    public static final BitSet FOLLOW_or_constr_in_constraint3805 = new BitSet(new long[]{0x0000000000000002L});
-    public static final BitSet FOLLOW_LEFT_SQUARE_in_behaviors3820 = new BitSet(new long[]{0x0000000000000080L});
-    public static final BitSet FOLLOW_behavior_in_behaviors3822 = new BitSet(new long[]{0x0080000000000800L});
-    public static final BitSet FOLLOW_COMMA_in_behaviors3826 = new BitSet(new long[]{0x0000000000000080L});
-    public static final BitSet FOLLOW_behavior_in_behaviors3828 = new BitSet(new long[]{0x0080000000000800L});
-    public static final BitSet FOLLOW_RIGHT_SQUARE_in_behaviors3833 = new BitSet(new long[]{0x0000000000000002L});
-    public static final BitSet FOLLOW_ID_in_behavior3847 = new BitSet(new long[]{0x0000000000010402L});
-    public static final BitSet FOLLOW_COLON_in_behavior3850 = new BitSet(new long[]{0x0000000000000080L});
-    public static final BitSet FOLLOW_ID_in_behavior3852 = new BitSet(new long[]{0x0000000000000402L});
-    public static final BitSet FOLLOW_paren_chunk_in_behavior3856 = new BitSet(new long[]{0x0000000000000002L});
-    public static final BitSet FOLLOW_and_constr_in_or_constr3878 = new BitSet(new long[]{0x0000008000000002L});
-    public static final BitSet FOLLOW_DOUBLE_PIPE_in_or_constr3886 = new BitSet(new long[]{0x400F2418147C46F0L,0x0000000000000018L});
-    public static final BitSet FOLLOW_and_constr_in_or_constr3895 = new BitSet(new long[]{0x0000008000000002L});
-    public static final BitSet FOLLOW_unary_constr_in_and_constr3927 = new BitSet(new long[]{0x0000020000000002L});
-    public static final BitSet FOLLOW_DOUBLE_AMPER_in_and_constr3935 = new BitSet(new long[]{0x400F2418147C46F0L,0x0000000000000018L});
-    public static final BitSet FOLLOW_unary_constr_in_and_constr3944 = new BitSet(new long[]{0x0000020000000002L});
-    public static final BitSet FOLLOW_field_constraint_in_unary_constr3972 = new BitSet(new long[]{0x0000000000000002L});
-    public static final BitSet FOLLOW_LEFT_PAREN_in_unary_constr3980 = new BitSet(new long[]{0x400F2418147C46F0L,0x0000000000000018L});
-    public static final BitSet FOLLOW_or_constr_in_unary_constr3982 = new BitSet(new long[]{0x0000000000001000L});
-    public static final BitSet FOLLOW_RIGHT_PAREN_in_unary_constr3985 = new BitSet(new long[]{0x0000000000000002L});
-    public static final BitSet FOLLOW_EVAL_in_unary_constr3991 = new BitSet(new long[]{0x0000000000000400L});
-    public static final BitSet FOLLOW_predicate_in_unary_constr3993 = new BitSet(new long[]{0x0000000000000002L});
-    public static final BitSet FOLLOW_ID_in_field_constraint4032 = new BitSet(new long[]{0x0000000000010000L});
-    public static final BitSet FOLLOW_COLON_in_field_constraint4034 = new BitSet(new long[]{0x400F0418147C42F0L,0x0000000000000018L});
-    public static final BitSet FOLLOW_accessor_path_in_field_constraint4053 = new BitSet(new long[]{0x7F00100000000402L,0x0000000000FE0000L});
-    public static final BitSet FOLLOW_or_restr_connective_in_field_constraint4067 = new BitSet(new long[]{0x0000000000000002L});
-    public static final BitSet FOLLOW_81_in_field_constraint4082 = new BitSet(new long[]{0x0000000000000400L});
-    public static final BitSet FOLLOW_predicate_in_field_constraint4084 = new BitSet(new long[]{0x0000000000000002L});
-    public static final BitSet FOLLOW_accessor_path_in_field_constraint4110 = new BitSet(new long[]{0x7F00100000000400L,0x0000000000FC0000L});
-    public static final BitSet FOLLOW_or_restr_connective_in_field_constraint4119 = new BitSet(new long[]{0x0000000000000002L});
-    public static final BitSet FOLLOW_and_restr_connective_in_or_restr_connective4166 = new BitSet(new long[]{0x0000008000000002L});
-    public static final BitSet FOLLOW_DOUBLE_PIPE_in_or_restr_connective4190 = new BitSet(new long[]{0x7F00100000000400L,0x0000000000FC0000L});
-    public static final BitSet FOLLOW_and_restr_connective_in_or_restr_connective4201 = new BitSet(new long[]{0x0000008000000002L});
-    public static final BitSet FOLLOW_constraint_expression_in_and_restr_connective4233 = new BitSet(new long[]{0x0000020000000002L});
-    public static final BitSet FOLLOW_DOUBLE_AMPER_in_and_restr_connective4253 = new BitSet(new long[]{0x7F00100000000400L,0x0000000000FC0000L});
-    public static final BitSet FOLLOW_constraint_expression_in_and_restr_connective4264 = new BitSet(new long[]{0x0000020000000002L});
-    public static final BitSet FOLLOW_compound_operator_in_constraint_expression4301 = new BitSet(new long[]{0x0000000000000002L});
-    public static final BitSet FOLLOW_simple_operator_in_constraint_expression4308 = new BitSet(new long[]{0x0000000000000002L});
-    public static final BitSet FOLLOW_LEFT_PAREN_in_constraint_expression4316 = new BitSet(new long[]{0x7F00100000000400L,0x0000000000FC0000L});
-    public static final BitSet FOLLOW_or_restr_connective_in_constraint_expression4325 = new BitSet(new long[]{0x0000000000001000L});
-    public static final BitSet FOLLOW_RIGHT_PAREN_in_constraint_expression4330 = new BitSet(new long[]{0x0000000000000002L});
-    public static final BitSet FOLLOW_82_in_simple_operator4361 = new BitSet(new long[]{0xC00F04183D7C46F0L,0x0000000000000019L});
-    public static final BitSet FOLLOW_83_in_simple_operator4369 = new BitSet(new long[]{0xC00F04183D7C46F0L,0x0000000000000019L});
-    public static final BitSet FOLLOW_84_in_simple_operator4377 = new BitSet(new long[]{0xC00F04183D7C46F0L,0x0000000000000019L});
-    public static final BitSet FOLLOW_85_in_simple_operator4385 = new BitSet(new long[]{0xC00F04183D7C46F0L,0x0000000000000019L});
-    public static final BitSet FOLLOW_86_in_simple_operator4393 = new BitSet(new long[]{0xC00F04183D7C46F0L,0x0000000000000019L});
-    public static final BitSet FOLLOW_87_in_simple_operator4401 = new BitSet(new long[]{0xC00F04183D7C46F0L,0x0000000000000019L});
-    public static final BitSet FOLLOW_CONTAINS_in_simple_operator4429 = new BitSet(new long[]{0xC00F04183D7C46F0L,0x0000000000000019L});
-    public static final BitSet FOLLOW_NOT_in_simple_operator4457 = new BitSet(new long[]{0x0100000000000000L});
-    public static final BitSet FOLLOW_CONTAINS_in_simple_operator4461 = new BitSet(new long[]{0xC00F04183D7C46F0L,0x0000000000000019L});
-    public static final BitSet FOLLOW_EXCLUDES_in_simple_operator4489 = new BitSet(new long[]{0xC00F04183D7C46F0L,0x0000000000000019L});
-    public static final BitSet FOLLOW_MATCHES_in_simple_operator4517 = new BitSet(new long[]{0xC00F04183D7C46F0L,0x0000000000000019L});
-    public static final BitSet FOLLOW_SOUNDSLIKE_in_simple_operator4545 = new BitSet(new long[]{0xC00F04183D7C46F0L,0x0000000000000019L});
-    public static final BitSet FOLLOW_NOT_in_simple_operator4573 = new BitSet(new long[]{0x0400000000000000L});
-    public static final BitSet FOLLOW_MATCHES_in_simple_operator4577 = new BitSet(new long[]{0xC00F04183D7C46F0L,0x0000000000000019L});
-    public static final BitSet FOLLOW_MEMBEROF_in_simple_operator4605 = new BitSet(new long[]{0xC00F04183D7C46F0L,0x0000000000000019L});
-    public static final BitSet FOLLOW_NOT_in_simple_operator4633 = new BitSet(new long[]{0x1000000000000000L});
-    public static final BitSet FOLLOW_MEMBEROF_in_simple_operator4637 = new BitSet(new long[]{0xC00F04183D7C46F0L,0x0000000000000019L});
-    public static final BitSet FOLLOW_TILDE_in_simple_operator4643 = new BitSet(new long[]{0x0000000000000080L});
-    public static final BitSet FOLLOW_ID_in_simple_operator4647 = new BitSet(new long[]{0xC04F04183D7C46F0L,0x0000000000000019L});
-    public static final BitSet FOLLOW_square_chunk_in_simple_operator4651 = new BitSet(new long[]{0xC00F04183D7C46F0L,0x0000000000000019L});
-    public static final BitSet FOLLOW_NOT_in_simple_operator4660 = new BitSet(new long[]{0x2000000000000000L});
-    public static final BitSet FOLLOW_TILDE_in_simple_operator4662 = new BitSet(new long[]{0x0000000000000080L});
-    public static final BitSet FOLLOW_ID_in_simple_operator4666 = new BitSet(new long[]{0xC04F04183D7C46F0L,0x0000000000000019L});
-    public static final BitSet FOLLOW_square_chunk_in_simple_operator4670 = new BitSet(new long[]{0xC00F04183D7C46F0L,0x0000000000000019L});
-    public static final BitSet FOLLOW_expression_value_in_simple_operator4685 = new BitSet(new long[]{0x0000000000000002L});
-    public static final BitSet FOLLOW_IN_in_compound_operator4715 = new BitSet(new long[]{0x0000000000000400L});
-    public static final BitSet FOLLOW_NOT_in_compound_operator4727 = new BitSet(new long[]{0x4000000000000000L});
-    public static final BitSet FOLLOW_IN_in_compound_operator4729 = new BitSet(new long[]{0x0000000000000400L});
-    public static final BitSet FOLLOW_LEFT_PAREN_in_compound_operator4744 = new BitSet(new long[]{0xC00F04183D7C46F0L,0x0000000000000019L});
-    public static final BitSet FOLLOW_expression_value_in_compound_operator4748 = new BitSet(new long[]{0x0000000000001800L});
-    public static final BitSet FOLLOW_COMMA_in_compound_operator4755 = new BitSet(new long[]{0xC00F04183D7C46F0L,0x0000000000000019L});
-    public static final BitSet FOLLOW_expression_value_in_compound_operator4759 = new BitSet(new long[]{0x0000000000001800L});
-    public static final BitSet FOLLOW_RIGHT_PAREN_in_compound_operator4768 = new BitSet(new long[]{0x0000000000000002L});
-    public static final BitSet FOLLOW_accessor_path_in_expression_value4802 = new BitSet(new long[]{0x0000000000000002L});
-    public static final BitSet FOLLOW_literal_constraint_in_expression_value4822 = new BitSet(new long[]{0x0000000000000002L});
-    public static final BitSet FOLLOW_paren_chunk_in_expression_value4836 = new BitSet(new long[]{0x0000000000000002L});
-    public static final BitSet FOLLOW_STRING_in_literal_constraint4879 = new BitSet(new long[]{0x0000000000000002L});
-    public static final BitSet FOLLOW_INT_in_literal_constraint4890 = new BitSet(new long[]{0x0000000000000002L});
-    public static final BitSet FOLLOW_FLOAT_in_literal_constraint4903 = new BitSet(new long[]{0x0000000000000002L});
-    public static final BitSet FOLLOW_BOOL_in_literal_constraint4914 = new BitSet(new long[]{0x0000000000000002L});
-    public static final BitSet FOLLOW_NULL_in_literal_constraint4926 = new BitSet(new long[]{0x0000000000000002L});
-    public static final BitSet FOLLOW_paren_chunk_in_predicate4964 = new BitSet(new long[]{0x0000000000000002L});
-    public static final BitSet FOLLOW_LEFT_CURLY_in_curly_chunk4982 = new BitSet(new long[]{0xFFFFFFFFFFFFFFF0L,0x0000000000FFFFFFL});
-    public static final BitSet FOLLOW_set_in_curly_chunk4986 = new BitSet(new long[]{0xFFFFFFFFFFFFFFF0L,0x0000000000FFFFFFL});
-    public static final BitSet FOLLOW_curly_chunk_in_curly_chunk4995 = new BitSet(new long[]{0xFFFFFFFFFFFFFFF0L,0x0000000000FFFFFFL});
-    public static final BitSet FOLLOW_RIGHT_CURLY_in_curly_chunk5000 = new BitSet(new long[]{0x0000000000000002L});
-    public static final BitSet FOLLOW_LEFT_PAREN_in_paren_chunk5014 = new BitSet(new long[]{0xFFFFFFFFFFFFFFF0L,0x0000000000FFFFFFL});
-    public static final BitSet FOLLOW_set_in_paren_chunk5018 = new BitSet(new long[]{0xFFFFFFFFFFFFFFF0L,0x0000000000FFFFFFL});
-    public static final BitSet FOLLOW_paren_chunk_in_paren_chunk5027 = new BitSet(new long[]{0xFFFFFFFFFFFFFFF0L,0x0000000000FFFFFFL});
-    public static final BitSet FOLLOW_RIGHT_PAREN_in_paren_chunk5032 = new BitSet(new long[]{0x0000000000000002L});
-    public static final BitSet FOLLOW_LEFT_SQUARE_in_square_chunk5045 = new BitSet(new long[]{0xFFFFFFFFFFFFFFF0L,0x0000000000FFFFFFL});
-    public static final BitSet FOLLOW_set_in_square_chunk5049 = new BitSet(new long[]{0xFFFFFFFFFFFFFFF0L,0x0000000000FFFFFFL});
-    public static final BitSet FOLLOW_square_chunk_in_square_chunk5058 = new BitSet(new long[]{0xFFFFFFFFFFFFFFF0L,0x0000000000FFFFFFL});
-    public static final BitSet FOLLOW_RIGHT_SQUARE_in_square_chunk5063 = new BitSet(new long[]{0x0000000000000002L});
-    public static final BitSet FOLLOW_ID_in_qualified_id5092 = new BitSet(new long[]{0x0040000000000102L});
-    public static final BitSet FOLLOW_DOT_in_qualified_id5098 = new BitSet(new long[]{0x400F0418147C42F0L,0x0000000000000018L});
-    public static final BitSet FOLLOW_identifier_in_qualified_id5100 = new BitSet(new long[]{0x0040000000000102L});
-    public static final BitSet FOLLOW_LEFT_SQUARE_in_qualified_id5109 = new BitSet(new long[]{0x0080000000000000L});
-    public static final BitSet FOLLOW_RIGHT_SQUARE_in_qualified_id5111 = new BitSet(new long[]{0x0040000000000002L});
-    public static final BitSet FOLLOW_identifier_in_dotted_name5145 = new BitSet(new long[]{0x0040000000000102L});
-    public static final BitSet FOLLOW_DOT_in_dotted_name5151 = new BitSet(new long[]{0x400F0418147C42F0L,0x0000000000000018L});
-    public static final BitSet FOLLOW_identifier_in_dotted_name5155 = new BitSet(new long[]{0x0040000000000102L});
-    public static final BitSet FOLLOW_LEFT_SQUARE_in_dotted_name5164 = new BitSet(new long[]{0x0080000000000000L});
-    public static final BitSet FOLLOW_RIGHT_SQUARE_in_dotted_name5166 = new BitSet(new long[]{0x0040000000000002L});
-    public static final BitSet FOLLOW_accessor_element_in_accessor_path5200 = new BitSet(new long[]{0x0000000000000102L});
-    public static final BitSet FOLLOW_DOT_in_accessor_path5206 = new BitSet(new long[]{0x400F0418147C42F0L,0x0000000000000018L});
-    public static final BitSet FOLLOW_accessor_element_in_accessor_path5210 = new BitSet(new long[]{0x0000000000000102L});
-    public static final BitSet FOLLOW_identifier_in_accessor_element5248 = new BitSet(new long[]{0x0040000000000002L});
-    public static final BitSet FOLLOW_square_chunk_in_accessor_element5255 = new BitSet(new long[]{0x0040000000000002L});
-    public static final BitSet FOLLOW_THEN_in_rhs_chunk5276 = new BitSet(new long[]{0xFFFFFFFFFFFFFFF0L,0x0000000000FFFFFFL});
-    public static final BitSet FOLLOW_set_in_rhs_chunk5284 = new BitSet(new long[]{0xFFFFFFFFFFFFFFF0L,0x0000000000FFFFFFL});
-    public static final BitSet FOLLOW_END_in_rhs_chunk5308 = new BitSet(new long[]{0x0000000000000002L,0x0000000000008000L});
-    public static final BitSet FOLLOW_opt_semicolon_in_rhs_chunk5310 = new BitSet(new long[]{0x0000000000000002L});
-    public static final BitSet FOLLOW_ID_in_name5344 = new BitSet(new long[]{0x0000000000000002L});
-    public static final BitSet FOLLOW_STRING_in_name5352 = new BitSet(new long[]{0x0000000000000002L});
+    public static final BitSet FOLLOW_lhs_pattern_in_pattern_source2369 = new BitSet(new long[]{0x0000140000000002L});
+    public static final BitSet FOLLOW_WITH_in_pattern_source2384 = new BitSet(new long[]{0x0000080000000000L});
+    public static final BitSet FOLLOW_WINDOW_in_pattern_source2390 = new BitSet(new long[]{0x0000000000010000L});
+    public static final BitSet FOLLOW_COLON_in_pattern_source2392 = new BitSet(new long[]{0x003C1018147C42F0L,0x0000000000000061L});
+    public static final BitSet FOLLOW_identifier_in_pattern_source2396 = new BitSet(new long[]{0x0000000000000400L});
+    public static final BitSet FOLLOW_paren_chunk_in_pattern_source2400 = new BitSet(new long[]{0x0000180000000002L});
+    public static final BitSet FOLLOW_FROM_in_pattern_source2471 = new BitSet(new long[]{0x0080000000000000L});
+    public static final BitSet FOLLOW_entrypoint_statement_in_pattern_source2475 = new BitSet(new long[]{0x0000000000000002L});
+    public static final BitSet FOLLOW_FROM_in_pattern_source2495 = new BitSet(new long[]{0x007E1018147C42F0L,0x0000000000000061L});
+    public static final BitSet FOLLOW_accumulate_statement_in_pattern_source2553 = new BitSet(new long[]{0x0000000000000002L});
+    public static final BitSet FOLLOW_collect_statement_in_pattern_source2576 = new BitSet(new long[]{0x0000000000000002L});
+    public static final BitSet FOLLOW_from_statement_in_pattern_source2613 = new BitSet(new long[]{0x0000000000000002L});
+    public static final BitSet FOLLOW_EXISTS_in_lhs_exist2656 = new BitSet(new long[]{0x0000000000000480L});
+    public static final BitSet FOLLOW_LEFT_PAREN_in_lhs_exist2676 = new BitSet(new long[]{0x0001E00000000480L});
+    public static final BitSet FOLLOW_lhs_or_in_lhs_exist2680 = new BitSet(new long[]{0x0000000000001000L});
+    public static final BitSet FOLLOW_RIGHT_PAREN_in_lhs_exist2710 = new BitSet(new long[]{0x0000000000000002L});
+    public static final BitSet FOLLOW_lhs_pattern_in_lhs_exist2760 = new BitSet(new long[]{0x0000000000000002L});
+    public static final BitSet FOLLOW_NOT_in_lhs_not2812 = new BitSet(new long[]{0x0000000000000480L});
+    public static final BitSet FOLLOW_LEFT_PAREN_in_lhs_not2825 = new BitSet(new long[]{0x0001E00000000480L});
+    public static final BitSet FOLLOW_lhs_or_in_lhs_not2829 = new BitSet(new long[]{0x0000000000001000L});
+    public static final BitSet FOLLOW_RIGHT_PAREN_in_lhs_not2860 = new BitSet(new long[]{0x0000000000000002L});
+    public static final BitSet FOLLOW_lhs_pattern_in_lhs_not2897 = new BitSet(new long[]{0x0000000000000002L});
+    public static final BitSet FOLLOW_EVAL_in_lhs_eval2943 = new BitSet(new long[]{0x0000000000000400L});
+    public static final BitSet FOLLOW_paren_chunk_in_lhs_eval2954 = new BitSet(new long[]{0x0000000000000002L});
+    public static final BitSet FOLLOW_FORALL_in_lhs_forall2980 = new BitSet(new long[]{0x0000000000000400L});
+    public static final BitSet FOLLOW_LEFT_PAREN_in_lhs_forall2982 = new BitSet(new long[]{0x0000000000000080L});
+    public static final BitSet FOLLOW_lhs_pattern_in_lhs_forall2986 = new BitSet(new long[]{0x0000000000001080L});
+    public static final BitSet FOLLOW_lhs_pattern_in_lhs_forall3001 = new BitSet(new long[]{0x0000000000001080L});
+    public static final BitSet FOLLOW_RIGHT_PAREN_in_lhs_forall3017 = new BitSet(new long[]{0x0000000000000002L});
+    public static final BitSet FOLLOW_fact_binding_in_lhs_pattern3050 = new BitSet(new long[]{0x0000000000000002L});
+    public static final BitSet FOLLOW_fact_in_lhs_pattern3058 = new BitSet(new long[]{0x0000000000000002L});
+    public static final BitSet FOLLOW_from_source_in_from_statement3085 = new BitSet(new long[]{0x0000000000000002L});
+    public static final BitSet FOLLOW_ACCUMULATE_in_accumulate_statement3122 = new BitSet(new long[]{0x0000000000000400L});
+    public static final BitSet FOLLOW_LEFT_PAREN_in_accumulate_statement3132 = new BitSet(new long[]{0x0001E00000000480L});
+    public static final BitSet FOLLOW_lhs_or_in_accumulate_statement3136 = new BitSet(new long[]{0x0004000000000880L});
+    public static final BitSet FOLLOW_COMMA_in_accumulate_statement3138 = new BitSet(new long[]{0x0004000000000080L});
+    public static final BitSet FOLLOW_INIT_in_accumulate_statement3156 = new BitSet(new long[]{0x0000000000000400L});
+    public static final BitSet FOLLOW_paren_chunk_in_accumulate_statement3169 = new BitSet(new long[]{0x0008000000000800L});
+    public static final BitSet FOLLOW_COMMA_in_accumulate_statement3171 = new BitSet(new long[]{0x0008000000000000L});
+    public static final BitSet FOLLOW_ACTION_in_accumulate_statement3182 = new BitSet(new long[]{0x0000000000000400L});
+    public static final BitSet FOLLOW_paren_chunk_in_accumulate_statement3186 = new BitSet(new long[]{0x0030000000000800L});
+    public static final BitSet FOLLOW_COMMA_in_accumulate_statement3188 = new BitSet(new long[]{0x0030000000000000L});
+    public static final BitSet FOLLOW_REVERSE_in_accumulate_statement3201 = new BitSet(new long[]{0x0000000000000400L});
+    public static final BitSet FOLLOW_paren_chunk_in_accumulate_statement3205 = new BitSet(new long[]{0x0020000000000800L});
+    public static final BitSet FOLLOW_COMMA_in_accumulate_statement3207 = new BitSet(new long[]{0x0020000000000000L});
+    public static final BitSet FOLLOW_RESULT_in_accumulate_statement3224 = new BitSet(new long[]{0x0000000000000400L});
+    public static final BitSet FOLLOW_paren_chunk_in_accumulate_statement3228 = new BitSet(new long[]{0x0000000000001000L});
+    public static final BitSet FOLLOW_ID_in_accumulate_statement3254 = new BitSet(new long[]{0x0000000000000400L});
+    public static final BitSet FOLLOW_paren_chunk_in_accumulate_statement3258 = new BitSet(new long[]{0x0000000000001000L});
+    public static final BitSet FOLLOW_RIGHT_PAREN_in_accumulate_statement3275 = new BitSet(new long[]{0x0000000000000002L});
+    public static final BitSet FOLLOW_identifier_in_from_source3306 = new BitSet(new long[]{0x0000000000000502L});
+    public static final BitSet FOLLOW_paren_chunk_in_from_source3334 = new BitSet(new long[]{0x0000000000000102L});
+    public static final BitSet FOLLOW_expression_chain_in_from_source3347 = new BitSet(new long[]{0x0000000000000002L});
+    public static final BitSet FOLLOW_DOT_in_expression_chain3378 = new BitSet(new long[]{0x003C1018147C42F0L,0x0000000000000061L});
+    public static final BitSet FOLLOW_identifier_in_expression_chain3382 = new BitSet(new long[]{0x0100000000000502L});
+    public static final BitSet FOLLOW_square_chunk_in_expression_chain3413 = new BitSet(new long[]{0x0000000000000102L});
+    public static final BitSet FOLLOW_paren_chunk_in_expression_chain3446 = new BitSet(new long[]{0x0000000000000102L});
+    public static final BitSet FOLLOW_expression_chain_in_expression_chain3461 = new BitSet(new long[]{0x0000000000000002L});
+    public static final BitSet FOLLOW_COLLECT_in_collect_statement3512 = new BitSet(new long[]{0x0000000000000400L});
+    public static final BitSet FOLLOW_LEFT_PAREN_in_collect_statement3522 = new BitSet(new long[]{0x0000000000000080L});
+    public static final BitSet FOLLOW_pattern_source_in_collect_statement3526 = new BitSet(new long[]{0x0000000000001000L});
+    public static final BitSet FOLLOW_RIGHT_PAREN_in_collect_statement3528 = new BitSet(new long[]{0x0000000000000002L});
+    public static final BitSet FOLLOW_ENTRY_POINT_in_entrypoint_statement3565 = new BitSet(new long[]{0x0000000001000080L});
+    public static final BitSet FOLLOW_name_in_entrypoint_statement3577 = new BitSet(new long[]{0x0000000000000002L});
+    public static final BitSet FOLLOW_ID_in_fact_binding3609 = new BitSet(new long[]{0x0000000000010000L});
+    public static final BitSet FOLLOW_COLON_in_fact_binding3611 = new BitSet(new long[]{0x0000000000000480L});
+    public static final BitSet FOLLOW_fact_in_fact_binding3625 = new BitSet(new long[]{0x0000000000000002L});
+    public static final BitSet FOLLOW_LEFT_PAREN_in_fact_binding3641 = new BitSet(new long[]{0x0000000000000080L});
+    public static final BitSet FOLLOW_fact_in_fact_binding3645 = new BitSet(new long[]{0x000000C000001000L});
+    public static final BitSet FOLLOW_set_in_fact_binding3658 = new BitSet(new long[]{0x0000000000000080L});
+    public static final BitSet FOLLOW_fact_in_fact_binding3670 = new BitSet(new long[]{0x000000C000001000L});
+    public static final BitSet FOLLOW_RIGHT_PAREN_in_fact_binding3688 = new BitSet(new long[]{0x0000000000000002L});
+    public static final BitSet FOLLOW_qualified_id_in_fact3743 = new BitSet(new long[]{0x0000000000000400L});
+    public static final BitSet FOLLOW_LEFT_PAREN_in_fact3753 = new BitSet(new long[]{0x013C9018147C56F0L,0x0000000000000061L});
+    public static final BitSet FOLLOW_constraints_in_fact3765 = new BitSet(new long[]{0x0000000000001000L});
+    public static final BitSet FOLLOW_RIGHT_PAREN_in_fact3772 = new BitSet(new long[]{0x0000000000000002L});
+    public static final BitSet FOLLOW_EOF_in_fact3781 = new BitSet(new long[]{0x0000000000000002L});
+    public static final BitSet FOLLOW_constraint_in_constraints3800 = new BitSet(new long[]{0x0000000000000802L});
+    public static final BitSet FOLLOW_behaviors_in_constraints3803 = new BitSet(new long[]{0x0000000000000802L});
+    public static final BitSet FOLLOW_COMMA_in_constraints3810 = new BitSet(new long[]{0x013C9018147C46F0L,0x0000000000000061L});
+    public static final BitSet FOLLOW_constraint_in_constraints3820 = new BitSet(new long[]{0x0000000000000802L});
+    public static final BitSet FOLLOW_behaviors_in_constraints3823 = new BitSet(new long[]{0x0000000000000802L});
+    public static final BitSet FOLLOW_or_constr_in_constraint3856 = new BitSet(new long[]{0x0000000000000002L});
+    public static final BitSet FOLLOW_LEFT_SQUARE_in_behaviors3871 = new BitSet(new long[]{0x0000000000000080L});
+    public static final BitSet FOLLOW_behavior_in_behaviors3873 = new BitSet(new long[]{0x0200000000000800L});
+    public static final BitSet FOLLOW_COMMA_in_behaviors3877 = new BitSet(new long[]{0x0000000000000080L});
+    public static final BitSet FOLLOW_behavior_in_behaviors3879 = new BitSet(new long[]{0x0200000000000800L});
+    public static final BitSet FOLLOW_RIGHT_SQUARE_in_behaviors3884 = new BitSet(new long[]{0x0000000000000002L});
+    public static final BitSet FOLLOW_ID_in_behavior3898 = new BitSet(new long[]{0x0000000000010402L});
+    public static final BitSet FOLLOW_COLON_in_behavior3901 = new BitSet(new long[]{0x0000000000000080L});
+    public static final BitSet FOLLOW_ID_in_behavior3903 = new BitSet(new long[]{0x0000000000000402L});
+    public static final BitSet FOLLOW_paren_chunk_in_behavior3907 = new BitSet(new long[]{0x0000000000000002L});
+    public static final BitSet FOLLOW_and_constr_in_or_constr3929 = new BitSet(new long[]{0x0000008000000002L});
+    public static final BitSet FOLLOW_DOUBLE_PIPE_in_or_constr3937 = new BitSet(new long[]{0x003C9018147C46F0L,0x0000000000000061L});
+    public static final BitSet FOLLOW_and_constr_in_or_constr3946 = new BitSet(new long[]{0x0000008000000002L});
+    public static final BitSet FOLLOW_unary_constr_in_and_constr3978 = new BitSet(new long[]{0x0000020000000002L});
+    public static final BitSet FOLLOW_DOUBLE_AMPER_in_and_constr3986 = new BitSet(new long[]{0x003C9018147C46F0L,0x0000000000000061L});
+    public static final BitSet FOLLOW_unary_constr_in_and_constr3995 = new BitSet(new long[]{0x0000020000000002L});
+    public static final BitSet FOLLOW_field_constraint_in_unary_constr4023 = new BitSet(new long[]{0x0000000000000002L});
+    public static final BitSet FOLLOW_LEFT_PAREN_in_unary_constr4031 = new BitSet(new long[]{0x003C9018147C46F0L,0x0000000000000061L});
+    public static final BitSet FOLLOW_or_constr_in_unary_constr4033 = new BitSet(new long[]{0x0000000000001000L});
+    public static final BitSet FOLLOW_RIGHT_PAREN_in_unary_constr4036 = new BitSet(new long[]{0x0000000000000002L});
+    public static final BitSet FOLLOW_EVAL_in_unary_constr4042 = new BitSet(new long[]{0x0000000000000400L});
+    public static final BitSet FOLLOW_predicate_in_unary_constr4044 = new BitSet(new long[]{0x0000000000000002L});
+    public static final BitSet FOLLOW_ID_in_field_constraint4083 = new BitSet(new long[]{0x0000000000010000L});
+    public static final BitSet FOLLOW_COLON_in_field_constraint4085 = new BitSet(new long[]{0x003C1018147C42F0L,0x0000000000000061L});
+    public static final BitSet FOLLOW_accessor_path_in_field_constraint4104 = new BitSet(new long[]{0xFC00400000000402L,0x0000000003F80001L});
+    public static final BitSet FOLLOW_or_restr_connective_in_field_constraint4118 = new BitSet(new long[]{0x0000000000000002L});
+    public static final BitSet FOLLOW_83_in_field_constraint4133 = new BitSet(new long[]{0x0000000000000400L});
+    public static final BitSet FOLLOW_predicate_in_field_constraint4135 = new BitSet(new long[]{0x0000000000000002L});
+    public static final BitSet FOLLOW_accessor_path_in_field_constraint4161 = new BitSet(new long[]{0xFC00400000000400L,0x0000000003F00001L});
+    public static final BitSet FOLLOW_or_restr_connective_in_field_constraint4170 = new BitSet(new long[]{0x0000000000000002L});
+    public static final BitSet FOLLOW_and_restr_connective_in_or_restr_connective4217 = new BitSet(new long[]{0x0000008000000002L});
+    public static final BitSet FOLLOW_DOUBLE_PIPE_in_or_restr_connective4241 = new BitSet(new long[]{0xFC00400000000400L,0x0000000003F00001L});
+    public static final BitSet FOLLOW_and_restr_connective_in_or_restr_connective4252 = new BitSet(new long[]{0x0000008000000002L});
+    public static final BitSet FOLLOW_constraint_expression_in_and_restr_connective4284 = new BitSet(new long[]{0x0000020000000002L});
+    public static final BitSet FOLLOW_DOUBLE_AMPER_in_and_restr_connective4304 = new BitSet(new long[]{0xFC00400000000400L,0x0000000003F00001L});
+    public static final BitSet FOLLOW_constraint_expression_in_and_restr_connective4315 = new BitSet(new long[]{0x0000020000000002L});
+    public static final BitSet FOLLOW_compound_operator_in_constraint_expression4352 = new BitSet(new long[]{0x0000000000000002L});
+    public static final BitSet FOLLOW_simple_operator_in_constraint_expression4359 = new BitSet(new long[]{0x0000000000000002L});
+    public static final BitSet FOLLOW_LEFT_PAREN_in_constraint_expression4367 = new BitSet(new long[]{0xFC00400000000400L,0x0000000003F00001L});
+    public static final BitSet FOLLOW_or_restr_connective_in_constraint_expression4376 = new BitSet(new long[]{0x0000000000001000L});
+    public static final BitSet FOLLOW_RIGHT_PAREN_in_constraint_expression4381 = new BitSet(new long[]{0x0000000000000002L});
+    public static final BitSet FOLLOW_84_in_simple_operator4412 = new BitSet(new long[]{0x003C10183D7C46F0L,0x0000000000000067L});
+    public static final BitSet FOLLOW_85_in_simple_operator4420 = new BitSet(new long[]{0x003C10183D7C46F0L,0x0000000000000067L});
+    public static final BitSet FOLLOW_86_in_simple_operator4428 = new BitSet(new long[]{0x003C10183D7C46F0L,0x0000000000000067L});
+    public static final BitSet FOLLOW_87_in_simple_operator4436 = new BitSet(new long[]{0x003C10183D7C46F0L,0x0000000000000067L});
+    public static final BitSet FOLLOW_88_in_simple_operator4444 = new BitSet(new long[]{0x003C10183D7C46F0L,0x0000000000000067L});
+    public static final BitSet FOLLOW_89_in_simple_operator4452 = new BitSet(new long[]{0x003C10183D7C46F0L,0x0000000000000067L});
+    public static final BitSet FOLLOW_CONTAINS_in_simple_operator4480 = new BitSet(new long[]{0x003C10183D7C46F0L,0x0000000000000067L});
+    public static final BitSet FOLLOW_NOT_in_simple_operator4508 = new BitSet(new long[]{0x0400000000000000L});
+    public static final BitSet FOLLOW_CONTAINS_in_simple_operator4512 = new BitSet(new long[]{0x003C10183D7C46F0L,0x0000000000000067L});
+    public static final BitSet FOLLOW_EXCLUDES_in_simple_operator4540 = new BitSet(new long[]{0x003C10183D7C46F0L,0x0000000000000067L});
+    public static final BitSet FOLLOW_MATCHES_in_simple_operator4568 = new BitSet(new long[]{0x003C10183D7C46F0L,0x0000000000000067L});
+    public static final BitSet FOLLOW_SOUNDSLIKE_in_simple_operator4596 = new BitSet(new long[]{0x003C10183D7C46F0L,0x0000000000000067L});
+    public static final BitSet FOLLOW_NOT_in_simple_operator4624 = new BitSet(new long[]{0x1000000000000000L});
+    public static final BitSet FOLLOW_MATCHES_in_simple_operator4628 = new BitSet(new long[]{0x003C10183D7C46F0L,0x0000000000000067L});
+    public static final BitSet FOLLOW_MEMBEROF_in_simple_operator4656 = new BitSet(new long[]{0x003C10183D7C46F0L,0x0000000000000067L});
+    public static final BitSet FOLLOW_NOT_in_simple_operator4684 = new BitSet(new long[]{0x4000000000000000L});
+    public static final BitSet FOLLOW_MEMBEROF_in_simple_operator4688 = new BitSet(new long[]{0x003C10183D7C46F0L,0x0000000000000067L});
+    public static final BitSet FOLLOW_TILDE_in_simple_operator4694 = new BitSet(new long[]{0x0000000000000080L});
+    public static final BitSet FOLLOW_ID_in_simple_operator4698 = new BitSet(new long[]{0x013C10183D7C46F0L,0x0000000000000067L});
+    public static final BitSet FOLLOW_square_chunk_in_simple_operator4702 = new BitSet(new long[]{0x003C10183D7C46F0L,0x0000000000000067L});
+    public static final BitSet FOLLOW_NOT_in_simple_operator4711 = new BitSet(new long[]{0x8000000000000000L});
+    public static final BitSet FOLLOW_TILDE_in_simple_operator4713 = new BitSet(new long[]{0x0000000000000080L});
+    public static final BitSet FOLLOW_ID_in_simple_operator4717 = new BitSet(new long[]{0x013C10183D7C46F0L,0x0000000000000067L});
+    public static final BitSet FOLLOW_square_chunk_in_simple_operator4721 = new BitSet(new long[]{0x003C10183D7C46F0L,0x0000000000000067L});
+    public static final BitSet FOLLOW_expression_value_in_simple_operator4736 = new BitSet(new long[]{0x0000000000000002L});
+    public static final BitSet FOLLOW_IN_in_compound_operator4766 = new BitSet(new long[]{0x0000000000000400L});
+    public static final BitSet FOLLOW_NOT_in_compound_operator4778 = new BitSet(new long[]{0x0000000000000000L,0x0000000000000001L});
+    public static final BitSet FOLLOW_IN_in_compound_operator4780 = new BitSet(new long[]{0x0000000000000400L});
+    public static final BitSet FOLLOW_LEFT_PAREN_in_compound_operator4795 = new BitSet(new long[]{0x003C10183D7C46F0L,0x0000000000000067L});
+    public static final BitSet FOLLOW_expression_value_in_compound_operator4799 = new BitSet(new long[]{0x0000000000001800L});
+    public static final BitSet FOLLOW_COMMA_in_compound_operator4806 = new BitSet(new long[]{0x003C10183D7C46F0L,0x0000000000000067L});
+    public static final BitSet FOLLOW_expression_value_in_compound_operator4810 = new BitSet(new long[]{0x0000000000001800L});
+    public static final BitSet FOLLOW_RIGHT_PAREN_in_compound_operator4819 = new BitSet(new long[]{0x0000000000000002L});
+    public static final BitSet FOLLOW_accessor_path_in_expression_value4853 = new BitSet(new long[]{0x0000000000000002L});
+    public static final BitSet FOLLOW_literal_constraint_in_expression_value4873 = new BitSet(new long[]{0x0000000000000002L});
+    public static final BitSet FOLLOW_paren_chunk_in_expression_value4887 = new BitSet(new long[]{0x0000000000000002L});
+    public static final BitSet FOLLOW_STRING_in_literal_constraint4930 = new BitSet(new long[]{0x0000000000000002L});
+    public static final BitSet FOLLOW_INT_in_literal_constraint4941 = new BitSet(new long[]{0x0000000000000002L});
+    public static final BitSet FOLLOW_FLOAT_in_literal_constraint4954 = new BitSet(new long[]{0x0000000000000002L});
+    public static final BitSet FOLLOW_BOOL_in_literal_constraint4965 = new BitSet(new long[]{0x0000000000000002L});
+    public static final BitSet FOLLOW_NULL_in_literal_constraint4977 = new BitSet(new long[]{0x0000000000000002L});
+    public static final BitSet FOLLOW_paren_chunk_in_predicate5015 = new BitSet(new long[]{0x0000000000000002L});
+    public static final BitSet FOLLOW_LEFT_CURLY_in_curly_chunk5033 = new BitSet(new long[]{0xFFFFFFFFFFFFFFF0L,0x0000000003FFFFFFL});
+    public static final BitSet FOLLOW_set_in_curly_chunk5037 = new BitSet(new long[]{0xFFFFFFFFFFFFFFF0L,0x0000000003FFFFFFL});
+    public static final BitSet FOLLOW_curly_chunk_in_curly_chunk5046 = new BitSet(new long[]{0xFFFFFFFFFFFFFFF0L,0x0000000003FFFFFFL});
+    public static final BitSet FOLLOW_RIGHT_CURLY_in_curly_chunk5051 = new BitSet(new long[]{0x0000000000000002L});
+    public static final BitSet FOLLOW_LEFT_PAREN_in_paren_chunk5065 = new BitSet(new long[]{0xFFFFFFFFFFFFFFF0L,0x0000000003FFFFFFL});
+    public static final BitSet FOLLOW_set_in_paren_chunk5069 = new BitSet(new long[]{0xFFFFFFFFFFFFFFF0L,0x0000000003FFFFFFL});
+    public static final BitSet FOLLOW_paren_chunk_in_paren_chunk5078 = new BitSet(new long[]{0xFFFFFFFFFFFFFFF0L,0x0000000003FFFFFFL});
+    public static final BitSet FOLLOW_RIGHT_PAREN_in_paren_chunk5083 = new BitSet(new long[]{0x0000000000000002L});
+    public static final BitSet FOLLOW_LEFT_SQUARE_in_square_chunk5096 = new BitSet(new long[]{0xFFFFFFFFFFFFFFF0L,0x0000000003FFFFFFL});
+    public static final BitSet FOLLOW_set_in_square_chunk5100 = new BitSet(new long[]{0xFFFFFFFFFFFFFFF0L,0x0000000003FFFFFFL});
+    public static final BitSet FOLLOW_square_chunk_in_square_chunk5109 = new BitSet(new long[]{0xFFFFFFFFFFFFFFF0L,0x0000000003FFFFFFL});
+    public static final BitSet FOLLOW_RIGHT_SQUARE_in_square_chunk5114 = new BitSet(new long[]{0x0000000000000002L});
+    public static final BitSet FOLLOW_ID_in_qualified_id5143 = new BitSet(new long[]{0x0100000000000102L});
+    public static final BitSet FOLLOW_DOT_in_qualified_id5149 = new BitSet(new long[]{0x003C1018147C42F0L,0x0000000000000061L});
+    public static final BitSet FOLLOW_identifier_in_qualified_id5151 = new BitSet(new long[]{0x0100000000000102L});
+    public static final BitSet FOLLOW_LEFT_SQUARE_in_qualified_id5160 = new BitSet(new long[]{0x0200000000000000L});
+    public static final BitSet FOLLOW_RIGHT_SQUARE_in_qualified_id5162 = new BitSet(new long[]{0x0100000000000002L});
+    public static final BitSet FOLLOW_identifier_in_dotted_name5196 = new BitSet(new long[]{0x0100000000000102L});
+    public static final BitSet FOLLOW_DOT_in_dotted_name5202 = new BitSet(new long[]{0x003C1018147C42F0L,0x0000000000000061L});
+    public static final BitSet FOLLOW_identifier_in_dotted_name5206 = new BitSet(new long[]{0x0100000000000102L});
+    public static final BitSet FOLLOW_LEFT_SQUARE_in_dotted_name5215 = new BitSet(new long[]{0x0200000000000000L});
+    public static final BitSet FOLLOW_RIGHT_SQUARE_in_dotted_name5217 = new BitSet(new long[]{0x0100000000000002L});
+    public static final BitSet FOLLOW_accessor_element_in_accessor_path5251 = new BitSet(new long[]{0x0000000000000102L});
+    public static final BitSet FOLLOW_DOT_in_accessor_path5257 = new BitSet(new long[]{0x003C1018147C42F0L,0x0000000000000061L});
+    public static final BitSet FOLLOW_accessor_element_in_accessor_path5261 = new BitSet(new long[]{0x0000000000000102L});
+    public static final BitSet FOLLOW_identifier_in_accessor_element5299 = new BitSet(new long[]{0x0100000000000002L});
+    public static final BitSet FOLLOW_square_chunk_in_accessor_element5306 = new BitSet(new long[]{0x0100000000000002L});
+    public static final BitSet FOLLOW_THEN_in_rhs_chunk5327 = new BitSet(new long[]{0xFFFFFFFFFFFFFFF0L,0x0000000003FFFFFFL});
+    public static final BitSet FOLLOW_set_in_rhs_chunk5335 = new BitSet(new long[]{0xFFFFFFFFFFFFFFF0L,0x0000000003FFFFFFL});
+    public static final BitSet FOLLOW_END_in_rhs_chunk5359 = new BitSet(new long[]{0x0000000000000002L,0x0000000000020000L});
+    public static final BitSet FOLLOW_opt_semicolon_in_rhs_chunk5361 = new BitSet(new long[]{0x0000000000000002L});
+    public static final BitSet FOLLOW_ID_in_name5395 = new BitSet(new long[]{0x0000000000000002L});
+    public static final BitSet FOLLOW_STRING_in_name5403 = new BitSet(new long[]{0x0000000000000002L});
     public static final BitSet FOLLOW_set_in_identifier0 = new BitSet(new long[]{0x0000000000000002L});
     public static final BitSet FOLLOW_EXISTS_in_synpred12232 = new BitSet(new long[]{0x0000000000000002L});
     public static final BitSet FOLLOW_NOT_in_synpred22250 = new BitSet(new long[]{0x0000000000000002L});
     public static final BitSet FOLLOW_EVAL_in_synpred32269 = new BitSet(new long[]{0x0000000000000002L});
     public static final BitSet FOLLOW_FORALL_in_synpred42288 = new BitSet(new long[]{0x0000000000000002L});
     public static final BitSet FOLLOW_LEFT_PAREN_in_synpred52307 = new BitSet(new long[]{0x0000000000000002L});
-    public static final BitSet FOLLOW_FROM_in_synpred62413 = new BitSet(new long[]{0x0020000000000000L});
-    public static final BitSet FOLLOW_ENTRY_POINT_in_synpred62415 = new BitSet(new long[]{0x0000000000000002L});
-    public static final BitSet FOLLOW_LEFT_SQUARE_in_synpred93354 = new BitSet(new long[]{0x0000000000000002L});
-    public static final BitSet FOLLOW_LEFT_PAREN_in_synpred103387 = new BitSet(new long[]{0x0000000000000002L});
-    public static final BitSet FOLLOW_DOUBLE_PIPE_in_synpred114190 = new BitSet(new long[]{0x7F00100000000400L,0x0000000000FC0000L});
-    public static final BitSet FOLLOW_and_restr_connective_in_synpred114201 = new BitSet(new long[]{0x0000000000000002L});
-    public static final BitSet FOLLOW_DOUBLE_AMPER_in_synpred124253 = new BitSet(new long[]{0x7F00100000000400L,0x0000000000FC0000L});
-    public static final BitSet FOLLOW_constraint_expression_in_synpred124264 = new BitSet(new long[]{0x0000000000000002L});
+    public static final BitSet FOLLOW_FROM_in_synpred62464 = new BitSet(new long[]{0x0080000000000000L});
+    public static final BitSet FOLLOW_ENTRY_POINT_in_synpred62466 = new BitSet(new long[]{0x0000000000000002L});
+    public static final BitSet FOLLOW_LEFT_SQUARE_in_synpred93405 = new BitSet(new long[]{0x0000000000000002L});
+    public static final BitSet FOLLOW_LEFT_PAREN_in_synpred103438 = new BitSet(new long[]{0x0000000000000002L});
+    public static final BitSet FOLLOW_DOUBLE_PIPE_in_synpred114241 = new BitSet(new long[]{0xFC00400000000400L,0x0000000003F00001L});
+    public static final BitSet FOLLOW_and_restr_connective_in_synpred114252 = new BitSet(new long[]{0x0000000000000002L});
+    public static final BitSet FOLLOW_DOUBLE_AMPER_in_synpred124304 = new BitSet(new long[]{0xFC00400000000400L,0x0000000003F00001L});
+    public static final BitSet FOLLOW_constraint_expression_in_synpred124315 = new BitSet(new long[]{0x0000000000000002L});
 
 }
\ No newline at end of file

Added: labs/jbossrules/trunk/drools-compiler/src/main/java/org/drools/lang/descr/BehaviorDescr.java
===================================================================
--- labs/jbossrules/trunk/drools-compiler/src/main/java/org/drools/lang/descr/BehaviorDescr.java	                        (rev 0)
+++ labs/jbossrules/trunk/drools-compiler/src/main/java/org/drools/lang/descr/BehaviorDescr.java	2008-05-06 23:43:33 UTC (rev 19873)
@@ -0,0 +1,63 @@
+/*
+ * Copyright 2008 JBoss Inc
+ * 
+ * Licensed 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.
+ *
+ * Created on Apr 25, 2008
+ */
+
+package org.drools.lang.descr;
+
+/**
+ * A super class for all Behavior Descriptors like
+ * time window, event window, distinct, etc
+ *  
+ * @author etirelli
+ *
+ */
+public class BehaviorDescr extends BaseDescr {
+    
+    private String type;
+
+    /**
+     * @param type
+     */
+    public BehaviorDescr() {
+        super();
+    }
+    
+    /**
+     * @param type
+     */
+    public BehaviorDescr(String type) {
+        super();
+        this.type = type;
+    }
+
+    /**
+     * @return the type
+     */
+    public String getType() {
+        return type;
+    }
+
+    /**
+     * @param type the type to set
+     */
+    public void setType(String type) {
+        this.type = type;
+    }
+    
+    
+
+}

Modified: labs/jbossrules/trunk/drools-compiler/src/main/java/org/drools/lang/descr/ConditionalElementDescr.java
===================================================================
--- labs/jbossrules/trunk/drools-compiler/src/main/java/org/drools/lang/descr/ConditionalElementDescr.java	2008-05-06 18:24:49 UTC (rev 19872)
+++ labs/jbossrules/trunk/drools-compiler/src/main/java/org/drools/lang/descr/ConditionalElementDescr.java	2008-05-06 23:43:33 UTC (rev 19873)
@@ -20,11 +20,11 @@
 
 public interface ConditionalElementDescr {
 
-    public void insertBeforeLast(final Class clazz ,final BaseDescr baseDescr );
+    public void insertBeforeLast(final Class<?> clazz ,final BaseDescr baseDescr );
     
     public void addDescr(BaseDescr baseDescr);
     
     public void addOrMerge(final BaseDescr baseDescr);
     
-    public List getDescrs();
+    public List<? extends BaseDescr> getDescrs();
 }
\ No newline at end of file

Modified: labs/jbossrules/trunk/drools-compiler/src/main/java/org/drools/lang/descr/PatternDescr.java
===================================================================
--- labs/jbossrules/trunk/drools-compiler/src/main/java/org/drools/lang/descr/PatternDescr.java	2008-05-06 18:24:49 UTC (rev 19872)
+++ labs/jbossrules/trunk/drools-compiler/src/main/java/org/drools/lang/descr/PatternDescr.java	2008-05-06 23:43:33 UTC (rev 19873)
@@ -1,6 +1,7 @@
 package org.drools.lang.descr;
 
-import java.util.Iterator;
+import java.util.ArrayList;
+import java.util.Collections;
 import java.util.List;
 
 /*
@@ -31,6 +32,7 @@
     private int                     leftParentCharacter  = -1;
     private int                     rightParentCharacter = -1;
     private PatternSourceDescr      source;
+    private List<BehaviorDescr>     behaviors;
 
     public PatternDescr() {
         this( null,
@@ -64,7 +66,7 @@
         return this.identifier;
     }
 
-    public List getDescrs() {
+    public List<? extends BaseDescr> getDescrs() {
         return this.constraint.getDescrs();
     }
     
@@ -120,6 +122,30 @@
         this.source = source;
     }
     
+    /**
+     * @return the behaviors
+     */
+    public List<BehaviorDescr> getBehaviors() {
+        if( behaviors == null ) {
+            return Collections.emptyList();
+        }
+        return behaviors;
+    }
+
+    /**
+     * @param behaviors the behaviors to set
+     */
+    public void setBehaviors(List<BehaviorDescr> behaviors) {
+        this.behaviors = behaviors;
+    }
+    
+    public void addBehavior( BehaviorDescr behavior ) {
+        if( this.behaviors == null ) {
+            this.behaviors = new ArrayList<BehaviorDescr>();
+        }
+        this.behaviors.add( behavior );
+    }
+
     public Object clone() {
         PatternDescr clone = new PatternDescr( this.objectType, this.identifier );
         clone.setLeftParentCharacter( this.leftParentCharacter );
@@ -130,9 +156,15 @@
         clone.setLocation( this.getLine(), this.getColumn() );
         clone.setEndLocation( this.getEndLine(), this.getEndColumn() );
         clone.setText( this.getText() );
-        for( Iterator it = this.getDescrs().iterator(); it.hasNext(); ) {
-            clone.addConstraint( (BaseDescr) it.next() );
+        for( BaseDescr constraint : this.getDescrs() ) {
+            clone.addConstraint( constraint );
         }
+        if( behaviors != null ) {
+            for( BehaviorDescr behavior : behaviors ) {
+                clone.addBehavior( behavior );
+            }
+        }
         return clone;
     }
+
 }
\ No newline at end of file

Added: labs/jbossrules/trunk/drools-compiler/src/main/java/org/drools/lang/descr/SlidingWindowDescr.java
===================================================================
--- labs/jbossrules/trunk/drools-compiler/src/main/java/org/drools/lang/descr/SlidingWindowDescr.java	                        (rev 0)
+++ labs/jbossrules/trunk/drools-compiler/src/main/java/org/drools/lang/descr/SlidingWindowDescr.java	2008-05-06 23:43:33 UTC (rev 19873)
@@ -0,0 +1,62 @@
+/*
+ * Copyright 2008 JBoss Inc
+ * 
+ * Licensed 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.
+ *
+ * Created on Apr 25, 2008
+ */
+
+package org.drools.lang.descr;
+
+/**
+ * A descriptor for sliding windows
+ * 
+ * @author etirelli
+ */
+public class SlidingWindowDescr extends BehaviorDescr {
+    private String parameters;
+
+    public SlidingWindowDescr() {
+        super();
+    }
+    
+    /**
+     * @param parameters
+     */
+    public SlidingWindowDescr( String type, String parameters ) {
+        super( type );
+        this.parameters = parameters;
+    }
+
+    /**
+     * @return the parameters
+     */
+    public String getParameters() {
+        return parameters;
+    }
+
+    /**
+     * @param parameters the parameters to set
+     */
+    public void setParameters(String parameters) {
+        this.parameters = parameters;
+    }
+
+    
+    public long getLength() {
+        // TODO: need to improve the framework to support units, like seconds, minutes, hours, etc
+        return Long.parseLong( this.parameters );
+    }
+
+
+}

Modified: labs/jbossrules/trunk/drools-compiler/src/main/java/org/drools/process/builder/SplitNodeBuilder.java
===================================================================
--- labs/jbossrules/trunk/drools-compiler/src/main/java/org/drools/process/builder/SplitNodeBuilder.java	2008-05-06 18:24:49 UTC (rev 19872)
+++ labs/jbossrules/trunk/drools-compiler/src/main/java/org/drools/process/builder/SplitNodeBuilder.java	2008-05-06 23:43:33 UTC (rev 19873)
@@ -3,7 +3,6 @@
 import java.util.HashMap;
 import java.util.Iterator;
 import java.util.Map;
-import java.util.Map.Entry;
 
 import org.drools.compiler.Dialect;
 import org.drools.compiler.ReturnValueDescr;

Modified: labs/jbossrules/trunk/drools-compiler/src/main/java/org/drools/rule/builder/PackageBuildContext.java
===================================================================
--- labs/jbossrules/trunk/drools-compiler/src/main/java/org/drools/rule/builder/PackageBuildContext.java	2008-05-06 18:24:49 UTC (rev 19872)
+++ labs/jbossrules/trunk/drools-compiler/src/main/java/org/drools/rule/builder/PackageBuildContext.java	2008-05-06 23:43:33 UTC (rev 19873)
@@ -24,9 +24,7 @@
 import org.drools.compiler.DescrBuildError;
 import org.drools.compiler.Dialect;
 import org.drools.compiler.DialectRegistry;
-import org.drools.compiler.DroolsError;
 import org.drools.compiler.PackageBuilderConfiguration;
-import org.drools.compiler.RuleBuildError;
 import org.drools.lang.descr.BaseDescr;
 import org.drools.rule.Dialectable;
 import org.drools.rule.Package;

Modified: labs/jbossrules/trunk/drools-compiler/src/main/java/org/drools/rule/builder/PatternBuilder.java
===================================================================
--- labs/jbossrules/trunk/drools-compiler/src/main/java/org/drools/rule/builder/PatternBuilder.java	2008-05-06 18:24:49 UTC (rev 19872)
+++ labs/jbossrules/trunk/drools-compiler/src/main/java/org/drools/rule/builder/PatternBuilder.java	2008-05-06 23:43:33 UTC (rev 19873)
@@ -36,6 +36,7 @@
 import org.drools.lang.MVELDumper;
 import org.drools.lang.descr.AndDescr;
 import org.drools.lang.descr.BaseDescr;
+import org.drools.lang.descr.BehaviorDescr;
 import org.drools.lang.descr.FieldBindingDescr;
 import org.drools.lang.descr.FieldConstraintDescr;
 import org.drools.lang.descr.LiteralRestrictionDescr;
@@ -46,11 +47,13 @@
 import org.drools.lang.descr.RestrictionConnectiveDescr;
 import org.drools.lang.descr.RestrictionDescr;
 import org.drools.lang.descr.ReturnValueRestrictionDescr;
+import org.drools.lang.descr.SlidingWindowDescr;
 import org.drools.lang.descr.VariableRestrictionDescr;
 import org.drools.rule.AbstractCompositeConstraint;
 import org.drools.rule.AbstractCompositeRestriction;
 import org.drools.rule.AndCompositeRestriction;
 import org.drools.rule.AndConstraint;
+import org.drools.rule.Behavior;
 import org.drools.rule.Declaration;
 import org.drools.rule.LiteralConstraint;
 import org.drools.rule.LiteralRestriction;
@@ -64,6 +67,7 @@
 import org.drools.rule.ReturnValueConstraint;
 import org.drools.rule.ReturnValueRestriction;
 import org.drools.rule.RuleConditionElement;
+import org.drools.rule.SlidingTimeWindow;
 import org.drools.rule.VariableConstraint;
 import org.drools.rule.VariableRestriction;
 import org.drools.rule.builder.dialect.mvel.MVELDialect;
@@ -183,6 +187,14 @@
 
             pattern.setSource( source );
         }
+        
+        for( BehaviorDescr behaviorDescr : patternDescr.getBehaviors() ) {
+            if( Behavior.BehaviorType.TIME_WINDOW.matches( behaviorDescr.getType() ) ) {
+                SlidingWindowDescr swd = (SlidingWindowDescr) behaviorDescr;
+                SlidingTimeWindow window = new SlidingTimeWindow( swd.getLength() );
+                pattern.addBehavior( window );
+            }
+        }
 
         // poping the pattern
         context.getBuildStack().pop();

Modified: labs/jbossrules/trunk/drools-compiler/src/main/java/org/drools/rule/builder/dialect/java/AbstractJavaRuleBuilder.java
===================================================================
--- labs/jbossrules/trunk/drools-compiler/src/main/java/org/drools/rule/builder/dialect/java/AbstractJavaRuleBuilder.java	2008-05-06 18:24:49 UTC (rev 19872)
+++ labs/jbossrules/trunk/drools-compiler/src/main/java/org/drools/rule/builder/dialect/java/AbstractJavaRuleBuilder.java	2008-05-06 23:43:33 UTC (rev 19873)
@@ -1,6 +1,5 @@
 package org.drools.rule.builder.dialect.java;
 
-import java.io.InputStreamReader;
 import java.util.ArrayList;
 import java.util.HashMap;
 import java.util.List;
@@ -10,14 +9,12 @@
 import org.drools.rule.Declaration;
 import org.drools.rule.builder.RuleBuildContext;
 import org.drools.util.StringUtils;
-import org.mvel.MVEL;
 import org.mvel.integration.impl.MapVariableResolverFactory;
-import org.mvel.templates.TemplateRegistry;
+import org.mvel.optimizers.OptimizerFactory;
 import org.mvel.templates.SimpleTemplateRegistry;
-import org.mvel.templates.TemplateRuntime;
 import org.mvel.templates.TemplateCompiler;
-import org.mvel.optimizers.OptimizerFactory;
-import com.sun.org.apache.xalan.internal.xsltc.compiler.Template;
+import org.mvel.templates.TemplateRegistry;
+import org.mvel.templates.TemplateRuntime;
 
 public class AbstractJavaRuleBuilder {
 

Modified: labs/jbossrules/trunk/drools-compiler/src/main/java/org/drools/xml/processes/TypeHandler.java
===================================================================
--- labs/jbossrules/trunk/drools-compiler/src/main/java/org/drools/xml/processes/TypeHandler.java	2008-05-06 18:24:49 UTC (rev 19872)
+++ labs/jbossrules/trunk/drools-compiler/src/main/java/org/drools/xml/processes/TypeHandler.java	2008-05-06 23:43:33 UTC (rev 19873)
@@ -1,14 +1,9 @@
 package org.drools.xml.processes;
 
-import java.util.ArrayList;
 import java.util.HashSet;
-import java.util.List;
 
-import org.drools.process.core.Process;
 import org.drools.process.core.context.variable.Variable;
-import org.drools.process.core.context.variable.VariableScope;
 import org.drools.process.core.datatype.DataType;
-import org.drools.workflow.core.impl.WorkflowProcessImpl;
 import org.drools.xml.BaseAbstractHandler;
 import org.drools.xml.ExtensibleXmlParser;
 import org.drools.xml.Handler;

Modified: labs/jbossrules/trunk/drools-compiler/src/main/resources/org/drools/lang/DRL.g
===================================================================
--- labs/jbossrules/trunk/drools-compiler/src/main/resources/org/drools/lang/DRL.g	2008-05-06 18:24:49 UTC (rev 19872)
+++ labs/jbossrules/trunk/drools-compiler/src/main/resources/org/drools/lang/DRL.g	2008-05-06 23:43:33 UTC (rev 19873)
@@ -859,6 +859,14 @@
 	}
 	:	
 		u=lhs_pattern { $d = $u.d; } 
+		(       WITH 
+		(WINDOW COLON type=identifier param=paren_chunk
+		        {
+		                SlidingWindowDescr window = new SlidingWindowDescr( $type.text, getString( $param.text ).trim() );
+		                ((PatternDescr)$d).addBehavior( window );
+		        } 
+		)+
+		)?
 		(
 		        // THIS IS SIMPLY DUMB IMO, but it was the only way I could make it work... :( not sure if it is an 
 		        // ANTLR bug or if I'm doing something wrong.
@@ -1923,6 +1931,10 @@
 
 END     :	'end';
 
+WITH	:	'with';
+
+WINDOW	:	'window';
+
 ID	
 	:	('a'..'z'|'A'..'Z'|'_'|'$'|'\u00c0'..'\u00ff')('a'..'z'|'A'..'Z'|'_'|'0'..'9'|'\u00c0'..'\u00ff')* 
 	;

Modified: labs/jbossrules/trunk/drools-compiler/src/test/java/org/drools/Cheesery.java
===================================================================
--- labs/jbossrules/trunk/drools-compiler/src/test/java/org/drools/Cheesery.java	2008-05-06 18:24:49 UTC (rev 19872)
+++ labs/jbossrules/trunk/drools-compiler/src/test/java/org/drools/Cheesery.java	2008-05-06 23:43:33 UTC (rev 19873)
@@ -17,15 +17,14 @@
  */
 
 import java.io.Externalizable;
-import java.io.ObjectOutput;
 import java.io.IOException;
 import java.io.ObjectInput;
+import java.io.ObjectOutput;
 import java.io.ObjectStreamException;
 import java.io.Serializable;
 import java.util.ArrayList;
 import java.util.Iterator;
 import java.util.List;
-import java.util.Collections;
 
 public class Cheesery
     implements

Modified: labs/jbossrules/trunk/drools-compiler/src/test/java/org/drools/compiler/PackageBuilderTest.java
===================================================================
--- labs/jbossrules/trunk/drools-compiler/src/test/java/org/drools/compiler/PackageBuilderTest.java	2008-05-06 18:24:49 UTC (rev 19872)
+++ labs/jbossrules/trunk/drools-compiler/src/test/java/org/drools/compiler/PackageBuilderTest.java	2008-05-06 23:43:33 UTC (rev 19873)
@@ -34,6 +34,7 @@
 import org.drools.StatefulSession;
 import org.drools.StockTick;
 import org.drools.WorkingMemory;
+import org.drools.base.ClassObjectType;
 import org.drools.base.DefaultKnowledgeHelper;
 import org.drools.common.ActivationGroupNode;
 import org.drools.common.InternalFactHandle;
@@ -63,12 +64,14 @@
 import org.drools.lang.descr.QueryDescr;
 import org.drools.lang.descr.ReturnValueRestrictionDescr;
 import org.drools.lang.descr.RuleDescr;
+import org.drools.lang.descr.SlidingWindowDescr;
 import org.drools.lang.descr.TypeDeclarationDescr;
 import org.drools.lang.descr.VariableRestrictionDescr;
 import org.drools.process.core.Context;
 import org.drools.process.core.Process;
 import org.drools.process.core.context.variable.Variable;
 import org.drools.reteoo.ReteooRuleBase;
+import org.drools.rule.Behavior;
 import org.drools.rule.Declaration;
 import org.drools.rule.EvalCondition;
 import org.drools.rule.GroupElement;
@@ -79,6 +82,7 @@
 import org.drools.rule.PredicateConstraint;
 import org.drools.rule.ReturnValueConstraint;
 import org.drools.rule.Rule;
+import org.drools.rule.SlidingTimeWindow;
 import org.drools.rule.TypeDeclaration;
 import org.drools.rule.builder.dialect.java.JavaDialect;
 import org.drools.rule.builder.dialect.java.JavaDialectConfiguration;
@@ -87,8 +91,8 @@
 import org.drools.spi.CompiledInvoker;
 import org.drools.spi.PropagationContext;
 import org.drools.spi.Tuple;
+import org.drools.util.DroolsStreamUtils;
 import org.drools.util.LinkedList;
-import org.drools.util.DroolsStreamUtils;
 import org.drools.workflow.core.impl.WorkflowProcessImpl;
 
 public class PackageBuilderTest extends DroolsTestCase {
@@ -189,7 +193,7 @@
 
         // Make sure the compiled classes are also removed
         assertEquals( 0,
-                      ((JavaDialectData)pkg.getDialectDatas().getDialectData( "java" )).list().length );
+                      ((JavaDialectData) pkg.getDialectDatas().getDialectData( "java" )).list().length );
 
         builder.addPackage( packageDescr );
 
@@ -324,7 +328,7 @@
 
         pattern.addConstraint( literalDescr );
 
-        ruleDescr.setConsequence( "System.out.println( stilton.getFieldValue( \"name\" ) + \" \" + stilton.getFieldValue( \"price\" ) );" );
+        ruleDescr.setConsequence( "String result = stilton.getFieldValue( \"name\" ) + \" \" + stilton.getFieldValue( \"price\" );" );
 
         builder.addPackage( packageDescr );
 
@@ -1018,9 +1022,9 @@
         PackageDescr pkgDescr = new PackageDescr( "org.test" );
         TypeDeclarationDescr typeDescr = new TypeDeclarationDescr( "StockTick" );
         typeDescr.addMetaAttribute( TypeDeclaration.Role.ID,
-                                "event" );
+                                    "event" );
         typeDescr.addMetaAttribute( TypeDeclaration.ATTR_CLASS,
-                                "org.drools.StockTick" );
+                                    "org.drools.StockTick" );
         pkgDescr.addTypeDeclaration( typeDescr );
 
         PackageBuilder builder = new PackageBuilder();
@@ -1209,7 +1213,7 @@
         assertTrue( p instanceof WorkflowProcessImpl );
 
         //now serialization
-        Package pkg2 = (Package) DroolsStreamUtils.streamIn(DroolsStreamUtils.streamOut(pkg));
+        Package pkg2 = (Package) DroolsStreamUtils.streamIn( DroolsStreamUtils.streamOut( pkg ) );
         assertNotNull( pkg2 );
 
         flows = pkg2.getRuleFlows();
@@ -1258,7 +1262,45 @@
         assertFalse( bldr.hasErrors() );
     }
 
+    public void testTimeWindowBehavior() throws Exception {
+        final PackageBuilder builder = new PackageBuilder();
 
+        final PackageDescr packageDescr = new PackageDescr( "p1" );
+        final RuleDescr ruleDescr = new RuleDescr( "rule-1" );
+        packageDescr.addRule( ruleDescr );
+
+        final AndDescr lhs = new AndDescr();
+        ruleDescr.setLhs( lhs );
+
+        final PatternDescr patternDescr = new PatternDescr( StockTick.class.getName(),
+                                                            "$tick" );
+        final SlidingWindowDescr windowDescr = new SlidingWindowDescr( "time",
+                                                                       "60000" );
+        patternDescr.addBehavior( windowDescr );
+
+        lhs.addDescr( patternDescr );
+
+        ruleDescr.setConsequence( "System.out.println( $tick );" );
+
+        builder.addPackage( packageDescr );
+
+        assertLength( 0,
+                      builder.getErrors().getErrors() );
+
+        final Package pkg = builder.getPackage();
+        final Rule rule = pkg.getRule( "rule-1" );
+        assertNotNull( rule );
+
+        final Pattern pattern = (Pattern) rule.getLhs().getChildren().get( 0 );
+        assertEquals( StockTick.class.getName(),
+                      ((ClassObjectType)pattern.getObjectType()).getClassType().getName() );
+        final Behavior window = pattern.getBehaviors().get( 0 );
+        assertEquals( Behavior.BehaviorType.TIME_WINDOW,
+                      window.getType() );
+        assertEquals( 60000,
+                      ((SlidingTimeWindow) window).getSize() );
+    }
+
     class MockRuleFlow
         implements
         Process {
@@ -1320,7 +1362,7 @@
         }
 
         public void addContext(Context context) {
-         }
+        }
 
         public List<Context> getContexts(String contextId) {
             return null;
@@ -1333,7 +1375,8 @@
         public void setDefaultContext(Context context) {
         }
 
-        public Context getContext(String contextType, long id) {
+        public Context getContext(String contextType,
+                                  long id) {
             return null;
         }
 
@@ -1342,7 +1385,8 @@
             return null;
         }
 
-        public void setMetaData(String name, Object value) {
+        public void setMetaData(String name,
+                                Object value) {
             // TODO Auto-generated method stub
 
         }

Modified: labs/jbossrules/trunk/drools-compiler/src/test/java/org/drools/integrationtests/CepEspTest.java
===================================================================
--- labs/jbossrules/trunk/drools-compiler/src/test/java/org/drools/integrationtests/CepEspTest.java	2008-05-06 18:24:49 UTC (rev 19872)
+++ labs/jbossrules/trunk/drools-compiler/src/test/java/org/drools/integrationtests/CepEspTest.java	2008-05-06 23:43:33 UTC (rev 19873)
@@ -373,7 +373,7 @@
 
     }
 
-    public void FIXME_testSimpleTimeWindow() throws Exception {
+    public void testSimpleTimeWindow() throws Exception {
         // read in the source
         final Reader reader = new InputStreamReader( getClass().getResourceAsStream( "test_CEP_SimpleTimeWindow.drl" ) );
         final RuleBase ruleBase = loadRuleBase( reader );

Modified: labs/jbossrules/trunk/drools-compiler/src/test/java/org/drools/integrationtests/LargeRuleBase.java
===================================================================
--- labs/jbossrules/trunk/drools-compiler/src/test/java/org/drools/integrationtests/LargeRuleBase.java	2008-05-06 18:24:49 UTC (rev 19872)
+++ labs/jbossrules/trunk/drools-compiler/src/test/java/org/drools/integrationtests/LargeRuleBase.java	2008-05-06 23:43:33 UTC (rev 19873)
@@ -5,10 +5,11 @@
 import java.io.FileOutputStream;
 import java.io.IOException;
 import java.io.ObjectInputStream;
-import java.io.ObjectOutputStream;
-import java.io.StringReader;
 import java.io.ObjectOutput;
+import java.io.StringReader;
 
+import junit.framework.Assert;
+
 import org.drools.RuleBase;
 import org.drools.RuleBaseFactory;
 import org.drools.common.DroolsObjectOutputStream;
@@ -18,8 +19,6 @@
 import org.drools.lang.descr.PackageDescr;
 import org.drools.rule.Package;
 
-import junit.framework.Assert;
-
 /**
  * This generates a large number of rules (complex ones) and then times
  * compiling, serializing etc.

Modified: labs/jbossrules/trunk/drools-compiler/src/test/java/org/drools/integrationtests/manners/MannersBenchmark.java
===================================================================
--- labs/jbossrules/trunk/drools-compiler/src/test/java/org/drools/integrationtests/manners/MannersBenchmark.java	2008-05-06 18:24:49 UTC (rev 19872)
+++ labs/jbossrules/trunk/drools-compiler/src/test/java/org/drools/integrationtests/manners/MannersBenchmark.java	2008-05-06 23:43:33 UTC (rev 19873)
@@ -7,14 +7,12 @@
 import java.io.InputStreamReader;
 import java.io.StringWriter;
 import java.util.ArrayList;
-import java.util.Iterator;
 import java.util.List;
 import java.util.Random;
 import java.util.StringTokenizer;
 
 import org.drools.RuleBase;
 import org.drools.RuleBaseFactory;
-import org.drools.StatefulSession;
 import org.drools.common.InternalRuleBase;
 import org.drools.compiler.PackageBuilder;
 import org.drools.reteoo.AlphaNetworkCompiler;

Modified: labs/jbossrules/trunk/drools-compiler/src/test/java/org/drools/integrationtests/waltz/Waltz.java
===================================================================
--- labs/jbossrules/trunk/drools-compiler/src/test/java/org/drools/integrationtests/waltz/Waltz.java	2008-05-06 18:24:49 UTC (rev 19872)
+++ labs/jbossrules/trunk/drools-compiler/src/test/java/org/drools/integrationtests/waltz/Waltz.java	2008-05-06 23:43:33 UTC (rev 19873)
@@ -16,7 +16,15 @@
  * limitations under the License.
  */
 
+import java.io.BufferedReader;
+import java.io.IOException;
+import java.io.InputStreamReader;
+import java.io.Reader;
+import java.util.regex.Matcher;
+import java.util.regex.Pattern;
+
 import junit.framework.TestCase;
+
 import org.drools.PackageIntegrationException;
 import org.drools.RuleBase;
 import org.drools.RuleIntegrationException;
@@ -25,18 +33,10 @@
 import org.drools.compiler.DrlParser;
 import org.drools.compiler.DroolsParserException;
 import org.drools.compiler.PackageBuilder;
-import org.drools.integrationtests.SerializationHelper;
 import org.drools.lang.descr.PackageDescr;
 import org.drools.rule.InvalidPatternException;
 import org.drools.rule.Package;
 
-import java.io.BufferedReader;
-import java.io.IOException;
-import java.io.InputStreamReader;
-import java.io.Reader;
-import java.util.regex.Matcher;
-import java.util.regex.Pattern;
-
 /**
  * This is a sample file to launch a rule package from a rule source file.
  */

Modified: labs/jbossrules/trunk/drools-compiler/src/test/java/org/drools/lang/RuleParserTest.java
===================================================================
--- labs/jbossrules/trunk/drools-compiler/src/test/java/org/drools/lang/RuleParserTest.java	2008-05-06 18:24:49 UTC (rev 19872)
+++ labs/jbossrules/trunk/drools-compiler/src/test/java/org/drools/lang/RuleParserTest.java	2008-05-06 23:43:33 UTC (rev 19873)
@@ -66,6 +66,7 @@
 import org.drools.lang.descr.RestrictionConnectiveDescr;
 import org.drools.lang.descr.ReturnValueRestrictionDescr;
 import org.drools.lang.descr.RuleDescr;
+import org.drools.lang.descr.SlidingWindowDescr;
 import org.drools.lang.descr.TypeDeclarationDescr;
 import org.drools.lang.descr.TypeFieldDescr;
 import org.drools.lang.descr.VariableRestrictionDescr;
@@ -3061,7 +3062,8 @@
 
         AndDescr andConstr1 = (AndDescr) orConstr.getDescrs().get( 0 );
 
-        assertEquals( 3, andConstr1.getDescrs().size() );
+        assertEquals( 3,
+                      andConstr1.getDescrs().size() );
 
         FieldConstraintDescr fcd = (FieldConstraintDescr) andConstr1.getDescrs().get( 0 );
         assertEquals( "teste",
@@ -3863,6 +3865,37 @@
                       entry.getEntryId() );
     }
 
+    public void testBehaviorDecl() throws Exception {
+        final String text = "StockTick( symbol==\"ACME\") with window:time(60000) from entry-point StreamA";
+        final CharStream charStream = new ANTLRStringStream( text );
+        final DRLLexer lexer = new DRLLexer( charStream );
+        final TokenStream tokenStream = new CommonTokenStream( lexer );
+        final DRLParser parser = new DRLParser( tokenStream );
+
+        PatternDescr pattern = (PatternDescr) parser.pattern_source();
+        assertFalse( parser.getErrorMessages().toString(),
+                     parser.hasErrors() );
+
+        assertEquals( 1,
+                      pattern.getDescrs().size() );
+        FieldConstraintDescr fcd = (FieldConstraintDescr) pattern.getDescrs().get( 0 );
+        assertEquals( "symbol",
+                      fcd.getFieldName() );
+
+        assertNotNull( pattern.getSource() );
+        EntryPointDescr entry = (EntryPointDescr) pattern.getSource();
+        assertEquals( "StreamA",
+                      entry.getEntryId() );
+
+        assertEquals( 1,
+                      pattern.getBehaviors().size() );
+        SlidingWindowDescr window = (SlidingWindowDescr) pattern.getBehaviors().get( 0 );
+        assertEquals( "time",
+                      window.getType() );
+        assertEquals( "60000",
+                      window.getParameters() );
+    }
+
     private DRLParser parse(final String text) throws Exception {
         this.parser = newParser( newTokenStream( newLexer( newCharStream( text ) ) ) );
         return this.parser;

Modified: labs/jbossrules/trunk/drools-compiler/src/test/java/org/drools/rule/builder/dialect/java/AccumulateTemplateTest.java
===================================================================
--- labs/jbossrules/trunk/drools-compiler/src/test/java/org/drools/rule/builder/dialect/java/AccumulateTemplateTest.java	2008-05-06 18:24:49 UTC (rev 19872)
+++ labs/jbossrules/trunk/drools-compiler/src/test/java/org/drools/rule/builder/dialect/java/AccumulateTemplateTest.java	2008-05-06 23:43:33 UTC (rev 19873)
@@ -1,6 +1,5 @@
 package org.drools.rule.builder.dialect.java;
 
-import java.io.InputStreamReader;
 import java.util.Arrays;
 import java.util.HashMap;
 import java.util.List;
@@ -15,8 +14,12 @@
 import org.drools.rule.Declaration;
 import org.drools.spi.PatternExtractor;
 import org.drools.util.StringUtils;
-import org.mvel.templates.*;
 import org.mvel.integration.impl.MapVariableResolverFactory;
+import org.mvel.templates.CompiledTemplate;
+import org.mvel.templates.SimpleTemplateRegistry;
+import org.mvel.templates.TemplateCompiler;
+import org.mvel.templates.TemplateRegistry;
+import org.mvel.templates.TemplateRuntime;
 
 public class AccumulateTemplateTest extends TestCase {
 

Modified: labs/jbossrules/trunk/drools-compiler/src/test/java/org/drools/rule/builder/dialect/mvel/MVELPredicateBuilderTest.java
===================================================================
--- labs/jbossrules/trunk/drools-compiler/src/test/java/org/drools/rule/builder/dialect/mvel/MVELPredicateBuilderTest.java	2008-05-06 18:24:49 UTC (rev 19872)
+++ labs/jbossrules/trunk/drools-compiler/src/test/java/org/drools/rule/builder/dialect/mvel/MVELPredicateBuilderTest.java	2008-05-06 23:43:33 UTC (rev 19873)
@@ -20,7 +20,6 @@
 import org.drools.lang.descr.RuleDescr;
 import org.drools.reteoo.LeftTuple;
 import org.drools.reteoo.MockLeftTupleSink;
-import org.drools.reteoo.MockRightTupleSink;
 import org.drools.rule.Declaration;
 import org.drools.rule.Package;
 import org.drools.rule.Pattern;

Modified: labs/jbossrules/trunk/drools-compiler/src/test/resources/org/drools/integrationtests/test_CEP_SimpleTimeWindow.drl
===================================================================
--- labs/jbossrules/trunk/drools-compiler/src/test/resources/org/drools/integrationtests/test_CEP_SimpleTimeWindow.drl	2008-05-06 18:24:49 UTC (rev 19872)
+++ labs/jbossrules/trunk/drools-compiler/src/test/resources/org/drools/integrationtests/test_CEP_SimpleTimeWindow.drl	2008-05-06 23:43:33 UTC (rev 19873)
@@ -2,14 +2,14 @@
 
 global java.util.List results;
 
-declare OrderEvent {
-    role event
-}
+declare OrderEvent
+    @role( event )
+end
 
 rule "average over threshold"
 when
     Number( $avg : intValue >= 50 ) from accumulate(
-              OrderEvent( [ win:time(30000) ], $amt : total ),
+              OrderEvent( $amt : total ) with window:time(30000),
               average( $amt ) )
 then
     //System.out.println( "Over threshold: "+$avg );

Modified: labs/jbossrules/trunk/drools-core/src/main/java/org/drools/reteoo/AccumulateNode.java
===================================================================
--- labs/jbossrules/trunk/drools-core/src/main/java/org/drools/reteoo/AccumulateNode.java	2008-05-06 18:24:49 UTC (rev 19872)
+++ labs/jbossrules/trunk/drools-core/src/main/java/org/drools/reteoo/AccumulateNode.java	2008-05-06 23:43:33 UTC (rev 19873)
@@ -29,6 +29,7 @@
 import org.drools.common.InternalWorkingMemory;
 import org.drools.reteoo.builder.BuildContext;
 import org.drools.rule.Accumulate;
+import org.drools.rule.Behavior;
 import org.drools.rule.ContextEntry;
 import org.drools.spi.AlphaNodeFieldConstraint;
 import org.drools.spi.PropagationContext;
@@ -64,13 +65,15 @@
                           final AlphaNodeFieldConstraint[] resultConstraints,
                           final BetaConstraints sourceBinder,
                           final BetaConstraints resultBinder,
+                          final Behavior[] behaviors,
                           final Accumulate accumulate,
                           final boolean unwrapRightObject,
                           final BuildContext context) {
         super( id,
                leftInput,
                rightInput,
-               sourceBinder );
+               sourceBinder,
+               behaviors );
         this.resultBinder = resultBinder;
         this.resultConstraints = resultConstraints;
         this.accumulate = accumulate;

Modified: labs/jbossrules/trunk/drools-core/src/main/java/org/drools/reteoo/BetaNode.java
===================================================================
--- labs/jbossrules/trunk/drools-core/src/main/java/org/drools/reteoo/BetaNode.java	2008-05-06 18:24:49 UTC (rev 19872)
+++ labs/jbossrules/trunk/drools-core/src/main/java/org/drools/reteoo/BetaNode.java	2008-05-06 23:43:33 UTC (rev 19873)
@@ -16,11 +16,11 @@
  * limitations under the License.
  */
 
+import java.io.IOException;
+import java.io.ObjectInput;
+import java.io.ObjectOutput;
 import java.util.ArrayList;
 import java.util.List;
-import java.io.ObjectOutput;
-import java.io.IOException;
-import java.io.ObjectInput;
 
 import org.drools.RuleBaseConfiguration;
 import org.drools.common.BaseNode;
@@ -28,6 +28,7 @@
 import org.drools.common.InternalWorkingMemory;
 import org.drools.common.NodeMemory;
 import org.drools.common.PropagationContextImpl;
+import org.drools.rule.Behavior;
 import org.drools.spi.BetaNodeFieldConstraint;
 import org.drools.spi.PropagationContext;
 import org.drools.util.LinkedList;
@@ -51,27 +52,32 @@
     ObjectSinkNode,
     RightTupleSink,
     NodeMemory {
+    
+    public static final Behavior[] NO_BEHAVIORS = new Behavior[0];
+    
     // ------------------------------------------------------------
     // Instance members
     // ------------------------------------------------------------
 
     /** The left input <code>TupleSource</code>. */
-    protected LeftTupleSource   leftInput;
+    protected LeftTupleSource leftInput;
 
     /** The right input <code>TupleSource</code>. */
-    protected ObjectSource      rightInput;
+    protected ObjectSource    rightInput;
 
-    protected BetaConstraints   constraints;
+    protected BetaConstraints constraints;
 
-    private LeftTupleSinkNode   previousTupleSinkNode;
-    private LeftTupleSinkNode   nextTupleSinkNode;
+    protected Behavior[]      behaviors = NO_BEHAVIORS;
 
-    private ObjectSinkNode previousObjectSinkNode;
-    private ObjectSinkNode nextObjectSinkNode;
+    private LeftTupleSinkNode previousTupleSinkNode;
+    private LeftTupleSinkNode nextTupleSinkNode;
 
-    protected boolean           objectMemory = true;   // hard coded to true
-    protected boolean           tupleMemoryEnabled;
+    private ObjectSinkNode    previousObjectSinkNode;
+    private ObjectSinkNode    nextObjectSinkNode;
 
+    protected boolean         objectMemory = true;   // hard coded to true
+    protected boolean         tupleMemoryEnabled;
+
     // ------------------------------------------------------------
     // Constructors
     // ------------------------------------------------------------
@@ -90,11 +96,13 @@
     BetaNode(final int id,
              final LeftTupleSource leftInput,
              final ObjectSource rightInput,
-             final BetaConstraints constraints) {
+             final BetaConstraints constraints,
+             final Behavior[] behaviors) {
         super( id );
         this.leftInput = leftInput;
         this.rightInput = rightInput;
         this.constraints = constraints;
+        this.behaviors = behaviors;
 
         if ( this.constraints == null ) {
             throw new RuntimeException( "cannot have null constraints, must at least be an instance of EmptyBetaConstraints" );
@@ -104,6 +112,7 @@
     public void readExternal(ObjectInput in) throws IOException,
                                             ClassNotFoundException {
         constraints = (BetaConstraints) in.readObject();
+        behaviors = (Behavior[]) in.readObject();
         leftInput = (LeftTupleSource) in.readObject();
         rightInput = (ObjectSource) in.readObject();
         previousTupleSinkNode = (LeftTupleSinkNode) in.readObject();
@@ -117,6 +126,7 @@
 
     public void writeExternal(ObjectOutput out) throws IOException {
         out.writeObject( constraints );
+        out.writeObject( behaviors );
         out.writeObject( leftInput );
         out.writeObject( rightInput );
         out.writeObject( previousTupleSinkNode );
@@ -138,6 +148,10 @@
         }
         return array;
     }
+    
+    public Behavior[] getBehaviors() {
+        return this.behaviors;
+    }
 
     /* (non-Javadoc)
      * @see org.drools.reteoo.BaseNode#attach()

Modified: labs/jbossrules/trunk/drools-core/src/main/java/org/drools/reteoo/CollectNode.java
===================================================================
--- labs/jbossrules/trunk/drools-core/src/main/java/org/drools/reteoo/CollectNode.java	2008-05-06 18:24:49 UTC (rev 19872)
+++ labs/jbossrules/trunk/drools-core/src/main/java/org/drools/reteoo/CollectNode.java	2008-05-06 23:43:33 UTC (rev 19873)
@@ -28,6 +28,7 @@
 import org.drools.common.InternalFactHandle;
 import org.drools.common.InternalWorkingMemory;
 import org.drools.reteoo.builder.BuildContext;
+import org.drools.rule.Behavior;
 import org.drools.rule.Collect;
 import org.drools.rule.ContextEntry;
 import org.drools.spi.AlphaNodeFieldConstraint;
@@ -79,13 +80,15 @@
                        final AlphaNodeFieldConstraint[] resultConstraints,
                        final BetaConstraints sourceBinder,
                        final BetaConstraints resultsBinder,
+                       final Behavior[] behaviors,
                        final Collect collect,
                        final boolean unwrapRight,
                        final BuildContext context) {
         super( id,
                leftInput,
                rightInput,
-               sourceBinder );
+               sourceBinder,
+               behaviors );
         this.resultsBinder = resultsBinder;
         this.resultConstraints = resultConstraints;
         this.collect = collect;

Modified: labs/jbossrules/trunk/drools-core/src/main/java/org/drools/reteoo/ExistsNode.java
===================================================================
--- labs/jbossrules/trunk/drools-core/src/main/java/org/drools/reteoo/ExistsNode.java	2008-05-06 18:24:49 UTC (rev 19872)
+++ labs/jbossrules/trunk/drools-core/src/main/java/org/drools/reteoo/ExistsNode.java	2008-05-06 23:43:33 UTC (rev 19873)
@@ -20,6 +20,7 @@
 import org.drools.common.InternalFactHandle;
 import org.drools.common.InternalWorkingMemory;
 import org.drools.reteoo.builder.BuildContext;
+import org.drools.rule.Behavior;
 import org.drools.spi.PropagationContext;
 import org.drools.util.FactEntry;
 import org.drools.util.Iterator;
@@ -69,11 +70,13 @@
                       final LeftTupleSource leftInput,
                       final ObjectSource rightInput,
                       final BetaConstraints joinNodeBinder,
+                      final Behavior[] behaviors,
                       final BuildContext context) {
         super( id,
                leftInput,
                rightInput,
-               joinNodeBinder );
+               joinNodeBinder,
+               behaviors );
         this.tupleMemoryEnabled = context.isTupleMemoryEnabled();
     }
 

Modified: labs/jbossrules/trunk/drools-core/src/main/java/org/drools/reteoo/JoinNode.java
===================================================================
--- labs/jbossrules/trunk/drools-core/src/main/java/org/drools/reteoo/JoinNode.java	2008-05-06 18:24:49 UTC (rev 19872)
+++ labs/jbossrules/trunk/drools-core/src/main/java/org/drools/reteoo/JoinNode.java	2008-05-06 23:43:33 UTC (rev 19873)
@@ -20,6 +20,7 @@
 import org.drools.common.InternalFactHandle;
 import org.drools.common.InternalWorkingMemory;
 import org.drools.reteoo.builder.BuildContext;
+import org.drools.rule.Behavior;
 import org.drools.spi.PropagationContext;
 import org.drools.util.FactEntry;
 import org.drools.util.Iterator;
@@ -67,11 +68,13 @@
                     final LeftTupleSource leftInput,
                     final ObjectSource rightInput,
                     final BetaConstraints binder,
+                    final Behavior[] behaviors,
                     final BuildContext context) {
         super( id,
                leftInput,
                rightInput,
-               binder );
+               binder,
+               behaviors );
         tupleMemoryEnabled = context.isTupleMemoryEnabled();
     }
 

Modified: labs/jbossrules/trunk/drools-core/src/main/java/org/drools/reteoo/NotNode.java
===================================================================
--- labs/jbossrules/trunk/drools-core/src/main/java/org/drools/reteoo/NotNode.java	2008-05-06 18:24:49 UTC (rev 19872)
+++ labs/jbossrules/trunk/drools-core/src/main/java/org/drools/reteoo/NotNode.java	2008-05-06 23:43:33 UTC (rev 19873)
@@ -21,6 +21,7 @@
 import org.drools.common.InternalFactHandle;
 import org.drools.common.InternalWorkingMemory;
 import org.drools.reteoo.builder.BuildContext;
+import org.drools.rule.Behavior;
 import org.drools.spi.PropagationContext;
 import org.drools.util.FactEntry;
 import org.drools.util.Iterator;
@@ -67,11 +68,13 @@
                    final LeftTupleSource leftInput,
                    final ObjectSource rightInput,
                    final BetaConstraints joinNodeBinder,
+                   final Behavior[] behaviors,
                    final BuildContext context) {
         super( id,
                leftInput,
                rightInput,
-               joinNodeBinder );
+               joinNodeBinder,
+               behaviors );
         this.tupleMemoryEnabled = context.isTupleMemoryEnabled();
     }
 

Modified: labs/jbossrules/trunk/drools-core/src/main/java/org/drools/reteoo/builder/AccumulateBuilder.java
===================================================================
--- labs/jbossrules/trunk/drools-core/src/main/java/org/drools/reteoo/builder/AccumulateBuilder.java	2008-05-06 18:24:49 UTC (rev 19872)
+++ labs/jbossrules/trunk/drools-core/src/main/java/org/drools/reteoo/builder/AccumulateBuilder.java	2008-05-06 23:43:33 UTC (rev 19873)
@@ -26,6 +26,7 @@
 import org.drools.reteoo.RightInputAdapterNode;
 import org.drools.reteoo.LeftTupleSource;
 import org.drools.rule.Accumulate;
+import org.drools.rule.Behavior;
 import org.drools.rule.RuleConditionElement;
 import org.drools.spi.AlphaNodeFieldConstraint;
 
@@ -97,6 +98,7 @@
                                                                                     (AlphaNodeFieldConstraint[]) resultAlphaConstraints.toArray( new AlphaNodeFieldConstraint[resultAlphaConstraints.size()] ),
                                                                                     sourceBinder,
                                                                                     resultsBinder,
+                                                                                    Behavior.EMPTY_BEHAVIOR_LIST,
                                                                                     accumulate,
                                                                                     existSubNetwort,
                                                                                     context ) ) );

Modified: labs/jbossrules/trunk/drools-core/src/main/java/org/drools/reteoo/builder/CollectBuilder.java
===================================================================
--- labs/jbossrules/trunk/drools-core/src/main/java/org/drools/reteoo/builder/CollectBuilder.java	2008-05-06 18:24:49 UTC (rev 19872)
+++ labs/jbossrules/trunk/drools-core/src/main/java/org/drools/reteoo/builder/CollectBuilder.java	2008-05-06 23:43:33 UTC (rev 19873)
@@ -25,6 +25,7 @@
 import org.drools.reteoo.ObjectSource;
 import org.drools.reteoo.RightInputAdapterNode;
 import org.drools.reteoo.LeftTupleSource;
+import org.drools.rule.Behavior;
 import org.drools.rule.Collect;
 import org.drools.rule.Pattern;
 import org.drools.rule.RuleConditionElement;
@@ -96,6 +97,7 @@
                                                                                  (AlphaNodeFieldConstraint[]) resultAlphaConstraints.toArray( new AlphaNodeFieldConstraint[resultAlphaConstraints.size()] ),
                                                                                  binder, // source binder
                                                                                  resultBinder,
+                                                                                 Behavior.EMPTY_BEHAVIOR_LIST,
                                                                                  collect,
                                                                                  existSubNetwort,
                                                                                  context ) ) );

Modified: labs/jbossrules/trunk/drools-core/src/main/java/org/drools/reteoo/builder/GroupElementBuilder.java
===================================================================
--- labs/jbossrules/trunk/drools-core/src/main/java/org/drools/reteoo/builder/GroupElementBuilder.java	2008-05-06 18:24:49 UTC (rev 19872)
+++ labs/jbossrules/trunk/drools-core/src/main/java/org/drools/reteoo/builder/GroupElementBuilder.java	2008-05-06 23:43:33 UTC (rev 19873)
@@ -32,6 +32,7 @@
 import org.drools.reteoo.ObjectSource;
 import org.drools.reteoo.RightInputAdapterNode;
 import org.drools.reteoo.LeftTupleSource;
+import org.drools.rule.Behavior;
 import org.drools.rule.GroupElement;
 import org.drools.rule.RuleConditionElement;
 
@@ -135,6 +136,7 @@
                                                                                           context.getTupleSource(),
                                                                                           context.getObjectSource(),
                                                                                           betaConstraints,
+                                                                                          Behavior.EMPTY_BEHAVIOR_LIST,
                                                                                           context ) ) );
                     context.setBetaconstraints( null );
                     context.setObjectSource( null );
@@ -242,6 +244,7 @@
                                                                                  context.getTupleSource(),
                                                                                  context.getObjectSource(),
                                                                                  betaConstraints,
+                                                                                 Behavior.EMPTY_BEHAVIOR_LIST,
                                                                                  context ) ) );
             context.setBetaconstraints( null );
             context.setObjectSource( null );
@@ -320,6 +323,7 @@
                                                                                     context.getTupleSource(),
                                                                                     context.getObjectSource(),
                                                                                     betaConstraints,
+                                                                                    Behavior.EMPTY_BEHAVIOR_LIST,
                                                                                     context ) ) );
             context.setBetaconstraints( null );
             context.setObjectSource( null );

Added: labs/jbossrules/trunk/drools-core/src/main/java/org/drools/rule/Behavior.java
===================================================================
--- labs/jbossrules/trunk/drools-core/src/main/java/org/drools/rule/Behavior.java	                        (rev 0)
+++ labs/jbossrules/trunk/drools-core/src/main/java/org/drools/rule/Behavior.java	2008-05-06 23:43:33 UTC (rev 19873)
@@ -0,0 +1,50 @@
+/*
+ * Copyright 2008 JBoss Inc
+ * 
+ * Licensed 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.
+ *
+ * Created on Apr 25, 2008
+ */
+
+package org.drools.rule;
+
+import org.drools.spi.RuleComponent;
+
+/**
+ * An interface for all behavior implementations
+ * 
+ * @author etirelli
+ *
+ */
+public interface Behavior extends RuleComponent, Cloneable {
+    
+    public static final Behavior[] EMPTY_BEHAVIOR_LIST = new Behavior[0];
+    
+    public enum BehaviorType {
+        TIME_WINDOW( "time" ),
+        LENGTH_WINDOW( "length" );
+        
+        private final String id;
+        
+        private BehaviorType( String id ) {
+            this.id = id;
+        }
+        
+        public boolean matches( String id ) {
+            return this.id.equalsIgnoreCase( id );
+        }
+    }
+    
+    public BehaviorType getType();
+
+}

Modified: labs/jbossrules/trunk/drools-core/src/main/java/org/drools/rule/Pattern.java
===================================================================
--- labs/jbossrules/trunk/drools-core/src/main/java/org/drools/rule/Pattern.java	2008-05-06 18:24:49 UTC (rev 19872)
+++ labs/jbossrules/trunk/drools-core/src/main/java/org/drools/rule/Pattern.java	2008-05-06 23:43:33 UTC (rev 19873)
@@ -35,24 +35,27 @@
 
 public class Pattern
     implements
-    RuleConditionElement, Externalizable {
+    RuleConditionElement,
+    Externalizable {
     /**
      *
      */
     private static final long serialVersionUID = 400L;
-    private ObjectType  objectType;
-    private List        constraints      = Collections.EMPTY_LIST;
-    Declaration         declaration;
+    private ObjectType        objectType;
+    private List              constraints      = Collections.EMPTY_LIST;
+    private Declaration       declaration;
     private Map               declarations;
-    private int         index;
+    private int               index;
     private PatternSource     source;
+    private List<Behavior>    behaviors;
 
     // this is the offset of the related fact inside a tuple. i.e:
     // the position of the related fact inside the tuple;
     private int               offset;
 
     public Pattern() {
-        this(0, null);
+        this( 0,
+              null );
     }
 
     public Pattern(final int index,
@@ -104,24 +107,27 @@
         }
     }
 
-    public void readExternal(ObjectInput in) throws IOException, ClassNotFoundException {
-        objectType  = (ObjectType)in.readObject();
-        constraints = (List)in.readObject();
-        declaration =  (Declaration)in.readObject();
-        declarations = (Map)in.readObject();
-        index       = in.readInt();
-        source      = (PatternSource)in.readObject();
-        offset      = in.readInt();
+    public void readExternal(ObjectInput in) throws IOException,
+                                            ClassNotFoundException {
+        objectType = (ObjectType) in.readObject();
+        constraints = (List) in.readObject();
+        declaration = (Declaration) in.readObject();
+        declarations = (Map) in.readObject();
+        behaviors = (List<Behavior>) in.readObject();
+        index = in.readInt();
+        source = (PatternSource) in.readObject();
+        offset = in.readInt();
     }
 
     public void writeExternal(ObjectOutput out) throws IOException {
-        out.writeObject(objectType);
-        out.writeObject(constraints);
-        out.writeObject(declaration);
-        out.writeObject(declarations);
-        out.writeInt(index);
-        out.writeObject(source);
-        out.writeInt(offset);
+        out.writeObject( objectType );
+        out.writeObject( constraints );
+        out.writeObject( declaration );
+        out.writeObject( declarations );
+        out.writeObject( behaviors );
+        out.writeInt( index );
+        out.writeObject( source );
+        out.writeInt( offset );
     }
 
     public Object clone() {
@@ -159,6 +165,12 @@
                 clone.addConstraint( constraint );
             }
         }
+
+        if ( behaviors != null ) {
+            for ( Behavior behavior : this.behaviors ) {
+                clone.addBehavior( behavior );
+            }
+        }
         return clone;
     }
 
@@ -182,7 +194,7 @@
         if ( this.constraints == Collections.EMPTY_LIST ) {
             this.constraints = new ArrayList( 1 );
         }
-        if( constraint.getType().equals( Constraint.ConstraintType.UNKNOWN ) ) {
+        if ( constraint.getType().equals( Constraint.ConstraintType.UNKNOWN ) ) {
             this.setConstraintType( (MutableTypeConstraint) constraint );
         }
         this.constraints.add( constraint );
@@ -259,6 +271,7 @@
         result = PRIME * result + ((this.declaration == null) ? 0 : this.declaration.hashCode());
         result = PRIME * result + this.index;
         result = PRIME * result + ((this.objectType == null) ? 0 : this.objectType.hashCode());
+        result = PRIME * result + ((this.behaviors == null) ? 0 : this.behaviors.hashCode());
         result = PRIME * result + this.offset;
         result = PRIME * result + ((this.source == null) ? 0 : this.source.hashCode());
         return result;
@@ -279,6 +292,10 @@
             return false;
         }
 
+        if ( this.behaviors != other.behaviors || (this.behaviors != null && !this.behaviors.equals( other.behaviors )) ) {
+            return false;
+        }
+
         if ( this.declaration == null ) {
             if ( other.declaration != null ) {
                 return false;
@@ -324,4 +341,28 @@
         ConstraintType type = isAlphaConstraint ? ConstraintType.ALPHA : ConstraintType.BETA;
         constraint.setType( type );
     }
+
+    /**
+     * @return the behaviors
+     */
+    public List<Behavior> getBehaviors() {
+        if ( this.behaviors == null ) {
+            return Collections.emptyList();
+        }
+        return this.behaviors;
+    }
+
+    /**
+     * @param behaviors the behaviors to set
+     */
+    public void setBehaviors(List<Behavior> behaviors) {
+        this.behaviors = behaviors;
+    }
+
+    public void addBehavior(Behavior behavior) {
+        if ( this.behaviors == null ) {
+            this.behaviors = new ArrayList<Behavior>();
+        }
+        this.behaviors.add( behavior );
+    }
 }
\ No newline at end of file

Added: labs/jbossrules/trunk/drools-core/src/main/java/org/drools/rule/SlidingTimeWindow.java
===================================================================
--- labs/jbossrules/trunk/drools-core/src/main/java/org/drools/rule/SlidingTimeWindow.java	                        (rev 0)
+++ labs/jbossrules/trunk/drools-core/src/main/java/org/drools/rule/SlidingTimeWindow.java	2008-05-06 23:43:33 UTC (rev 19873)
@@ -0,0 +1,103 @@
+/*
+ * Copyright 2008 JBoss Inc
+ * 
+ * Licensed 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.
+ *
+ * Created on Apr 26, 2008
+ */
+
+package org.drools.rule;
+
+import java.io.IOException;
+import java.io.ObjectInput;
+import java.io.ObjectOutput;
+import java.util.Comparator;
+
+import org.drools.common.EventFactHandle;
+import org.drools.common.InternalWorkingMemory;
+
+/**
+ * @author etirelli
+ *
+ */
+public class SlidingTimeWindow
+    implements
+    Behavior {
+
+    private long size;
+
+    public SlidingTimeWindow() {
+    }
+    
+    /**
+     * @param size
+     */
+    public SlidingTimeWindow(long size) {
+        super();
+        this.size = size;
+    }
+
+    /**
+     * @inheritDoc
+     *
+     * @see java.io.Externalizable#readExternal(java.io.ObjectInput)
+     */
+    public void readExternal(ObjectInput in) throws IOException,
+                                            ClassNotFoundException {
+        // TODO Auto-generated method stub
+
+    }
+
+    /**
+     * @inheritDoc
+     *
+     * @see java.io.Externalizable#writeExternal(java.io.ObjectOutput)
+     */
+    public void writeExternal(ObjectOutput out) throws IOException {
+        // TODO Auto-generated method stub
+
+    }
+
+    public BehaviorType getType() {
+        return BehaviorType.TIME_WINDOW;
+    }
+
+    /**
+     * @return the size
+     */
+    public long getSize() {
+        return size;
+    }
+
+    /**
+     * @param size the size to set
+     */
+    public void setSize(long size) {
+        this.size = size;
+    }
+
+    public Comparator<EventFactHandle> getEventComparator() {
+        return new Comparator<EventFactHandle>() {
+            public int compare(EventFactHandle e1,
+                               EventFactHandle e2) {
+                return ( e1.getStartTimestamp() < e2.getStartTimestamp() ) ? -1 : ( e1.getStartTimestamp() == e2.getStartTimestamp() ? 0 : 1 );
+            }
+        };
+    }
+
+    public boolean isExpired(EventFactHandle event,
+                             InternalWorkingMemory workingMemory) {
+        return false;
+    }
+
+}

Modified: labs/jbossrules/trunk/drools-core/src/test/java/org/drools/reteoo/AccumulateNodeTest.java
===================================================================
--- labs/jbossrules/trunk/drools-core/src/test/java/org/drools/reteoo/AccumulateNodeTest.java	2008-05-06 18:24:49 UTC (rev 19872)
+++ labs/jbossrules/trunk/drools-core/src/test/java/org/drools/reteoo/AccumulateNodeTest.java	2008-05-06 23:43:33 UTC (rev 19873)
@@ -29,6 +29,7 @@
 import org.drools.reteoo.AccumulateNode.AccumulateMemory;
 import org.drools.reteoo.builder.BuildContext;
 import org.drools.rule.Accumulate;
+import org.drools.rule.Behavior;
 import org.drools.rule.Declaration;
 import org.drools.rule.Pattern;
 import org.drools.rule.Rule;
@@ -94,6 +95,7 @@
                                         new AlphaNodeFieldConstraint[0],
                                         EmptyBetaConstraints.getInstance(),
                                         EmptyBetaConstraints.getInstance(),
+                                        Behavior.EMPTY_BEHAVIOR_LIST,
                                         this.accumulate,
                                         false,
                                         buildContext );
@@ -430,6 +432,7 @@
                                                                   new AlphaNodeFieldConstraint[0],
                                                                   EmptyBetaConstraints.getInstance(),
                                                                   EmptyBetaConstraints.getInstance(),
+                                                                  Behavior.EMPTY_BEHAVIOR_LIST,
                                                                   this.accumulate,
                                                                   false,
                                                                   buildContext );
@@ -459,6 +462,7 @@
                                         new AlphaNodeFieldConstraint[0],
                                         EmptyBetaConstraints.getInstance(),
                                         EmptyBetaConstraints.getInstance(),
+                                        Behavior.EMPTY_BEHAVIOR_LIST,
                                         this.accumulate,
                                         false,
                                         buildContext );

Modified: labs/jbossrules/trunk/drools-core/src/test/java/org/drools/reteoo/BetaNodeTest.java
===================================================================
--- labs/jbossrules/trunk/drools-core/src/test/java/org/drools/reteoo/BetaNodeTest.java	2008-05-06 18:24:49 UTC (rev 19872)
+++ labs/jbossrules/trunk/drools-core/src/test/java/org/drools/reteoo/BetaNodeTest.java	2008-05-06 23:43:33 UTC (rev 19873)
@@ -19,6 +19,7 @@
 import org.drools.RuleBaseFactory;
 import org.drools.common.EmptyBetaConstraints;
 import org.drools.reteoo.builder.BuildContext;
+import org.drools.rule.Behavior;
 
 import junit.framework.TestCase;
 
@@ -56,21 +57,25 @@
                                           ts,
                                           os,
                                           EmptyBetaConstraints.getInstance(),
+                                          Behavior.EMPTY_BEHAVIOR_LIST,
                                           buildContext );
         final BetaNode j2 = new JoinNode( 2,
                                           ts,
                                           os,
                                           EmptyBetaConstraints.getInstance(),
+                                          Behavior.EMPTY_BEHAVIOR_LIST,
                                           buildContext );
         final BetaNode n1 = new NotNode( 3,
                                          ts,
                                          os,
                                          EmptyBetaConstraints.getInstance(),
+                                         Behavior.EMPTY_BEHAVIOR_LIST,
                                          buildContext );
         final BetaNode n2 = new NotNode( 4,
                                          ts,
                                          os,
                                          EmptyBetaConstraints.getInstance(),
+                                         Behavior.EMPTY_BEHAVIOR_LIST,
                                          buildContext );
 
         assertEquals( j1,

Modified: labs/jbossrules/trunk/drools-core/src/test/java/org/drools/reteoo/CollectNodeTest.java
===================================================================
--- labs/jbossrules/trunk/drools-core/src/test/java/org/drools/reteoo/CollectNodeTest.java	2008-05-06 18:24:49 UTC (rev 19872)
+++ labs/jbossrules/trunk/drools-core/src/test/java/org/drools/reteoo/CollectNodeTest.java	2008-05-06 23:43:33 UTC (rev 19873)
@@ -30,6 +30,7 @@
 import org.drools.common.PropagationContextImpl;
 import org.drools.reteoo.CollectNode.CollectMemory;
 import org.drools.reteoo.builder.BuildContext;
+import org.drools.rule.Behavior;
 import org.drools.rule.Collect;
 import org.drools.rule.Pattern;
 import org.drools.rule.Rule;
@@ -98,6 +99,7 @@
                                      new AlphaNodeFieldConstraint[0],
                                      EmptyBetaConstraints.getInstance(),
                                      EmptyBetaConstraints.getInstance(),
+                                     Behavior.EMPTY_BEHAVIOR_LIST,
                                      this.collect,
                                      false,
                                      buildContext );
@@ -419,6 +421,7 @@
                                                          new AlphaNodeFieldConstraint[0],
                                                          EmptyBetaConstraints.getInstance(),
                                                          EmptyBetaConstraints.getInstance(),
+                                                         Behavior.EMPTY_BEHAVIOR_LIST,
                                                          this.collect,
                                                          false,
                                                          buildContext );

Modified: labs/jbossrules/trunk/drools-core/src/test/java/org/drools/reteoo/CompositeObjectSinkAdapterTest.java
===================================================================
--- labs/jbossrules/trunk/drools-core/src/test/java/org/drools/reteoo/CompositeObjectSinkAdapterTest.java	2008-05-06 18:24:49 UTC (rev 19872)
+++ labs/jbossrules/trunk/drools-core/src/test/java/org/drools/reteoo/CompositeObjectSinkAdapterTest.java	2008-05-06 23:43:33 UTC (rev 19873)
@@ -19,6 +19,7 @@
 import org.drools.common.InternalFactHandle;
 import org.drools.common.InternalWorkingMemory;
 import org.drools.reteoo.builder.BuildContext;
+import org.drools.rule.Behavior;
 import org.drools.rule.LiteralConstraint;
 import org.drools.rule.PredicateConstraint;
 import org.drools.spi.FieldExtractor;
@@ -493,7 +494,8 @@
             super( id,
                    leftInput,
                    rightInput,
-                   EmptyBetaConstraints.getInstance() );
+                   EmptyBetaConstraints.getInstance(),
+                   Behavior.EMPTY_BEHAVIOR_LIST );
             //  Auto-generated constructor stub
         }
 

Modified: labs/jbossrules/trunk/drools-core/src/test/java/org/drools/reteoo/ExistsNodeTest.java
===================================================================
--- labs/jbossrules/trunk/drools-core/src/test/java/org/drools/reteoo/ExistsNodeTest.java	2008-05-06 18:24:49 UTC (rev 19872)
+++ labs/jbossrules/trunk/drools-core/src/test/java/org/drools/reteoo/ExistsNodeTest.java	2008-05-06 23:43:33 UTC (rev 19873)
@@ -29,6 +29,7 @@
 import org.drools.common.DefaultFactHandle;
 import org.drools.common.PropagationContextImpl;
 import org.drools.reteoo.builder.BuildContext;
+import org.drools.rule.Behavior;
 import org.drools.rule.Rule;
 import org.drools.spi.BetaNodeFieldConstraint;
 import org.drools.spi.MockConstraint;
@@ -76,6 +77,7 @@
                                     new MockObjectSource( 8 ),
                                     new DefaultBetaConstraints( new BetaNodeFieldConstraint[]{this.constraint},
                                                                 configuration ),
+                                    Behavior.EMPTY_BEHAVIOR_LIST,
                                     buildContext );
 
         this.sink = new MockLeftTupleSink();

Modified: labs/jbossrules/trunk/drools-core/src/test/java/org/drools/reteoo/JoinNodeTest.java
===================================================================
--- labs/jbossrules/trunk/drools-core/src/test/java/org/drools/reteoo/JoinNodeTest.java	2008-05-06 18:24:49 UTC (rev 19872)
+++ labs/jbossrules/trunk/drools-core/src/test/java/org/drools/reteoo/JoinNodeTest.java	2008-05-06 23:43:33 UTC (rev 19873)
@@ -30,6 +30,7 @@
 import org.drools.common.InternalFactHandle;
 import org.drools.common.PropagationContextImpl;
 import org.drools.reteoo.builder.BuildContext;
+import org.drools.rule.Behavior;
 import org.drools.rule.Rule;
 import org.drools.spi.BetaNodeFieldConstraint;
 import org.drools.spi.MockConstraint;
@@ -76,6 +77,7 @@
                                   this.objectSource,
                                   new DefaultBetaConstraints( new BetaNodeFieldConstraint[]{this.constraint},
                                                               configuration ),
+                                  Behavior.EMPTY_BEHAVIOR_LIST,
                                   buildContext );
 
         this.node.addTupleSink( this.sink );
@@ -137,6 +139,7 @@
                                                 tupleSource,
                                                 objectSource,
                                                 EmptyBetaConstraints.getInstance(),
+                                                Behavior.EMPTY_BEHAVIOR_LIST,
                                                 buildContext );
 
         final BetaMemory memory = (BetaMemory) workingMemory.getNodeMemory( joinNode );
@@ -209,6 +212,7 @@
                                   this.objectSource,
                                   new DefaultBetaConstraints( new BetaNodeFieldConstraint[]{this.constraint},
                                                               conf ),
+                                  Behavior.EMPTY_BEHAVIOR_LIST,
                                   buildContext );
 
         this.node.addTupleSink( this.sink );
@@ -483,6 +487,7 @@
                                                 this.tupleSource,
                                                 this.objectSource,
                                                 EmptyBetaConstraints.getInstance(),
+                                                Behavior.EMPTY_BEHAVIOR_LIST,
                                                 buildContext );
 
         // Add the first tuple sink and assert a tuple and object

Modified: labs/jbossrules/trunk/drools-core/src/test/java/org/drools/reteoo/NotNodeTest.java
===================================================================
--- labs/jbossrules/trunk/drools-core/src/test/java/org/drools/reteoo/NotNodeTest.java	2008-05-06 18:24:49 UTC (rev 19872)
+++ labs/jbossrules/trunk/drools-core/src/test/java/org/drools/reteoo/NotNodeTest.java	2008-05-06 23:43:33 UTC (rev 19873)
@@ -31,6 +31,7 @@
 import org.drools.common.EmptyBetaConstraints;
 import org.drools.common.PropagationContextImpl;
 import org.drools.reteoo.builder.BuildContext;
+import org.drools.rule.Behavior;
 import org.drools.rule.Rule;
 import org.drools.spi.BetaNodeFieldConstraint;
 import org.drools.spi.MockConstraint;
@@ -74,6 +75,7 @@
                                  new MockObjectSource( 8 ),
                                  new DefaultBetaConstraints( new BetaNodeFieldConstraint[]{this.constraint},
                                                              configuration ),
+                                 Behavior.EMPTY_BEHAVIOR_LIST,
                                  buildContext );
 
         this.sink = new MockLeftTupleSink();
@@ -344,6 +346,7 @@
                                              this.tupleSource,
                                              this.objectSource,
                                              nullConstraints,
+                                             Behavior.EMPTY_BEHAVIOR_LIST,
                                              buildContext );
         final BetaNodeFieldConstraint[] constraints = notNode.getConstraints();
         assertEquals( 0,
@@ -377,6 +380,7 @@
                                  this.objectSource,
                                  new DefaultBetaConstraints( new BetaNodeFieldConstraint[]{this.constraint},
                                                              conf ),
+                                 Behavior.EMPTY_BEHAVIOR_LIST,
                                  buildContext );
 
         this.node.addTupleSink( this.sink );

Modified: labs/jbossrules/trunk/drools-core/src/test/java/org/drools/reteoo/QueryTerminalNodeTest.java
===================================================================
--- labs/jbossrules/trunk/drools-core/src/test/java/org/drools/reteoo/QueryTerminalNodeTest.java	2008-05-06 18:24:49 UTC (rev 19872)
+++ labs/jbossrules/trunk/drools-core/src/test/java/org/drools/reteoo/QueryTerminalNodeTest.java	2008-05-06 23:43:33 UTC (rev 19873)
@@ -38,6 +38,7 @@
 import org.drools.base.evaluators.Operator;
 import org.drools.common.EmptyBetaConstraints;
 import org.drools.reteoo.builder.BuildContext;
+import org.drools.rule.Behavior;
 import org.drools.rule.LiteralConstraint;
 import org.drools.rule.Query;
 import org.drools.spi.Evaluator;
@@ -122,6 +123,7 @@
                                                 liaNode,
                                                 alphaNode,
                                                 EmptyBetaConstraints.getInstance(),
+                                                Behavior.EMPTY_BEHAVIOR_LIST,
                                                 buildContext );
         joinNode.attach();
 




More information about the jboss-svn-commits mailing list