[jboss-svn-commits] JBL Code SVN: r11295 - in labs/jbossrules/trunk: drools-compiler/src/main/java/org/drools/brms/client/modeldriven/brxml and 48 other directories.

jboss-svn-commits at lists.jboss.org jboss-svn-commits at lists.jboss.org
Tue Apr 24 08:52:12 EDT 2007


Author: mark.proctor at jboss.com
Date: 2007-04-24 08:52:09 -0400 (Tue, 24 Apr 2007)
New Revision: 11295

Added:
   labs/jbossrules/trunk/drools-compiler/src/main/java/org/drools/lang/descr/PatternDescr.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/xml/PatternHandler.java
   labs/jbossrules/trunk/drools-compiler/src/test/resources/org/drools/integrationtests/predicate_as_first_pattern.drl
   labs/jbossrules/trunk/drools-compiler/src/test/resources/org/drools/integrationtests/test_EmptyPattern.drl
   labs/jbossrules/trunk/drools-compiler/src/test/resources/org/drools/integrationtests/test_NoPatterns.drl
   labs/jbossrules/trunk/drools-compiler/src/test/resources/org/drools/lang/pattern_partial.drl
   labs/jbossrules/trunk/drools-compiler/src/test/resources/org/drools/lang/test_EmptyPattern.drl
   labs/jbossrules/trunk/drools-compiler/src/test/resources/org/drools/reteoo/test_ThreePatternsWithConstraints.drl
   labs/jbossrules/trunk/drools-core/src/main/java/org/drools/reteoo/builder/PatternBuilder.java
   labs/jbossrules/trunk/drools-core/src/main/java/org/drools/rule/Pattern.java
   labs/jbossrules/trunk/drools-core/src/main/java/org/drools/spi/PatternExtractor.java
   labs/jbossrules/trunk/drools-core/src/test/java/org/drools/rule/PatternTest.java
Removed:
   labs/jbossrules/trunk/drools-compiler/src/main/java/org/drools/lang/descr/ColumnDescr.java
   labs/jbossrules/trunk/drools-compiler/src/main/java/org/drools/rule/builder/ColumnBuilder.java
   labs/jbossrules/trunk/drools-compiler/src/main/java/org/drools/xml/ColumnHandler.java
   labs/jbossrules/trunk/drools-compiler/src/test/resources/org/drools/integrationtests/predicate_as_first_column.drl
   labs/jbossrules/trunk/drools-compiler/src/test/resources/org/drools/integrationtests/test_EmptyColumn.drl
   labs/jbossrules/trunk/drools-compiler/src/test/resources/org/drools/integrationtests/test_NoColumns.drl
   labs/jbossrules/trunk/drools-compiler/src/test/resources/org/drools/lang/column_partial.drl
   labs/jbossrules/trunk/drools-compiler/src/test/resources/org/drools/lang/test_EmptyColumn.drl
   labs/jbossrules/trunk/drools-compiler/src/test/resources/org/drools/reteoo/ThreeColumnsWithConstraints
   labs/jbossrules/trunk/drools-compiler/src/test/resources/org/drools/reteoo/test_ThreeColumnsWithConstraints.drl
   labs/jbossrules/trunk/drools-core/src/main/java/org/drools/reteoo/builder/ColumnBuilder.java
   labs/jbossrules/trunk/drools-core/src/main/java/org/drools/rule/Column.java
   labs/jbossrules/trunk/drools-core/src/main/java/org/drools/spi/ColumnExtractor.java
   labs/jbossrules/trunk/drools-core/src/test/java/org/drools/rule/ColumnTest.java
Modified:
   labs/jbossrules/trunk/drools-compiler/.classpath
   labs/jbossrules/trunk/drools-compiler/src/main/java/org/drools/brms/client/modeldriven/brxml/FactPattern.java
   labs/jbossrules/trunk/drools-compiler/src/main/java/org/drools/brms/server/converter/BRXMLToDescrConverter.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/DrlDumper.java
   labs/jbossrules/trunk/drools-compiler/src/main/java/org/drools/lang/descr/AccumulateDescr.java
   labs/jbossrules/trunk/drools-compiler/src/main/java/org/drools/lang/descr/CollectDescr.java
   labs/jbossrules/trunk/drools-compiler/src/main/java/org/drools/lang/descr/FieldAccessDescr.java
   labs/jbossrules/trunk/drools-compiler/src/main/java/org/drools/lang/descr/FieldConstraintDescr.java
   labs/jbossrules/trunk/drools-compiler/src/main/java/org/drools/lang/descr/ForallDescr.java
   labs/jbossrules/trunk/drools-compiler/src/main/java/org/drools/lang/descr/FromDescr.java
   labs/jbossrules/trunk/drools-compiler/src/main/java/org/drools/lang/descr/LiteralRestrictionDescr.java
   labs/jbossrules/trunk/drools-compiler/src/main/java/org/drools/lang/descr/RestrictionDescr.java
   labs/jbossrules/trunk/drools-compiler/src/main/java/org/drools/lang/descr/RuleDescr.java
   labs/jbossrules/trunk/drools-compiler/src/main/java/org/drools/lang/dsl/DefaultExpander.java
   labs/jbossrules/trunk/drools-compiler/src/main/java/org/drools/rule/builder/AccumulateBuilder.java
   labs/jbossrules/trunk/drools-compiler/src/main/java/org/drools/rule/builder/BuildContext.java
   labs/jbossrules/trunk/drools-compiler/src/main/java/org/drools/rule/builder/CollectBuilder.java
   labs/jbossrules/trunk/drools-compiler/src/main/java/org/drools/rule/builder/ConditionalElementBuilder.java
   labs/jbossrules/trunk/drools-compiler/src/main/java/org/drools/rule/builder/ForallBuilder.java
   labs/jbossrules/trunk/drools-compiler/src/main/java/org/drools/rule/builder/FromBuilder.java
   labs/jbossrules/trunk/drools-compiler/src/main/java/org/drools/rule/builder/GroupElementBuilder.java
   labs/jbossrules/trunk/drools-compiler/src/main/java/org/drools/rule/builder/RuleBuilder.java
   labs/jbossrules/trunk/drools-compiler/src/main/java/org/drools/rule/builder/dialect/java/JavaAccumulateBuilder.java
   labs/jbossrules/trunk/drools-compiler/src/main/java/org/drools/rule/builder/dialect/java/JavaConsequenceBuilder.java
   labs/jbossrules/trunk/drools-compiler/src/main/java/org/drools/rule/builder/dialect/java/JavaDialect.java
   labs/jbossrules/trunk/drools-compiler/src/main/java/org/drools/rule/builder/dialect/java/JavaEvalBuilder.java
   labs/jbossrules/trunk/drools-compiler/src/main/java/org/drools/rule/builder/dialect/java/parser/JavaParserLexer.java
   labs/jbossrules/trunk/drools-compiler/src/main/java/org/drools/rule/builder/dialect/java/parser/JavaParserParser.java
   labs/jbossrules/trunk/drools-compiler/src/main/java/org/drools/rule/builder/dialect/mvel/MVELEvalBuilder.java
   labs/jbossrules/trunk/drools-compiler/src/main/java/org/drools/rule/builder/dialect/mvel/MVELFromBuilder.java
   labs/jbossrules/trunk/drools-compiler/src/main/java/org/drools/xml/AndHandler.java
   labs/jbossrules/trunk/drools-compiler/src/main/java/org/drools/xml/EvalHandler.java
   labs/jbossrules/trunk/drools-compiler/src/main/java/org/drools/xml/ExistsHandler.java
   labs/jbossrules/trunk/drools-compiler/src/main/java/org/drools/xml/FieldBindingHandler.java
   labs/jbossrules/trunk/drools-compiler/src/main/java/org/drools/xml/FieldConstraintHandler.java
   labs/jbossrules/trunk/drools-compiler/src/main/java/org/drools/xml/NotHandler.java
   labs/jbossrules/trunk/drools-compiler/src/main/java/org/drools/xml/OrHandler.java
   labs/jbossrules/trunk/drools-compiler/src/main/java/org/drools/xml/PredicateHandler.java
   labs/jbossrules/trunk/drools-compiler/src/main/java/org/drools/xml/XmlDumper.java
   labs/jbossrules/trunk/drools-compiler/src/main/java/org/drools/xml/XmlPackageReader.java
   labs/jbossrules/trunk/drools-compiler/src/main/resources/META-INF/drools-3.0.xsd
   labs/jbossrules/trunk/drools-compiler/src/main/resources/org/drools/lang/DRL.g
   labs/jbossrules/trunk/drools-compiler/src/main/resources/org/drools/rule/builder/dialect/java/javaInvokers.stg
   labs/jbossrules/trunk/drools-compiler/src/main/resources/org/drools/rule/builder/dialect/java/javaRule.stg
   labs/jbossrules/trunk/drools-compiler/src/main/resources/org/drools/semantics/java/parser/JavaParser.g
   labs/jbossrules/trunk/drools-compiler/src/test/java/org/drools/brms/server/converter/BRXMLToDescrConverterTest.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/MiscTest.java
   labs/jbossrules/trunk/drools-compiler/src/test/java/org/drools/lang/RuleParserTest.java
   labs/jbossrules/trunk/drools-compiler/src/test/java/org/drools/lang/descr/AndDescrTest.java
   labs/jbossrules/trunk/drools-compiler/src/test/java/org/drools/reteoo/ReteooBuilderTest.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/MVELConsequenceBuilderTest.java
   labs/jbossrules/trunk/drools-compiler/src/test/java/org/drools/rule/builder/dialect/mvel/MVELEvalBuilderTest.java
   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/MVELReturnValueBuilderTest.java
   labs/jbossrules/trunk/drools-compiler/src/test/java/org/drools/xml/XmlPackageReaderTest.java
   labs/jbossrules/trunk/drools-compiler/src/test/resources/org/drools/integrationtests/not_rule_test.drl
   labs/jbossrules/trunk/drools-compiler/src/test/resources/org/drools/integrationtests/test_Accumulate.drl
   labs/jbossrules/trunk/drools-compiler/src/test/resources/org/drools/xml/test_ParseLhs.xml
   labs/jbossrules/trunk/drools-compiler/src/test/resources/org/drools/xml/test_ParseQuery.xml
   labs/jbossrules/trunk/drools-compiler/src/test/resources/org/drools/xml/test_ParseRule.xml
   labs/jbossrules/trunk/drools-core/src/main/java/org/drools/common/InstanceEqualsConstraint.java
   labs/jbossrules/trunk/drools-core/src/main/java/org/drools/common/InstanceNotEqualsConstraint.java
   labs/jbossrules/trunk/drools-core/src/main/java/org/drools/facttemplates/FactTemplate.java
   labs/jbossrules/trunk/drools-core/src/main/java/org/drools/facttemplates/FactTemplateImpl.java
   labs/jbossrules/trunk/drools-core/src/main/java/org/drools/reteoo/LeftInputAdapterNode.java
   labs/jbossrules/trunk/drools-core/src/main/java/org/drools/reteoo/ObjectTypeNode.java
   labs/jbossrules/trunk/drools-core/src/main/java/org/drools/reteoo/ReteTuple.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/BuildContext.java
   labs/jbossrules/trunk/drools-core/src/main/java/org/drools/reteoo/builder/BuildUtils.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/ForallBuilder.java
   labs/jbossrules/trunk/drools-core/src/main/java/org/drools/reteoo/builder/FromBuilder.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/reteoo/builder/ReteooComponentBuilder.java
   labs/jbossrules/trunk/drools-core/src/main/java/org/drools/reteoo/builder/ReteooRuleBuilder.java
   labs/jbossrules/trunk/drools-core/src/main/java/org/drools/rule/Accumulate.java
   labs/jbossrules/trunk/drools-core/src/main/java/org/drools/rule/Collect.java
   labs/jbossrules/trunk/drools-core/src/main/java/org/drools/rule/Declaration.java
   labs/jbossrules/trunk/drools-core/src/main/java/org/drools/rule/EvalCondition.java
   labs/jbossrules/trunk/drools-core/src/main/java/org/drools/rule/Forall.java
   labs/jbossrules/trunk/drools-core/src/main/java/org/drools/rule/From.java
   labs/jbossrules/trunk/drools-core/src/main/java/org/drools/rule/Package.java
   labs/jbossrules/trunk/drools-core/src/main/java/org/drools/rule/PredicateConstraint.java
   labs/jbossrules/trunk/drools-core/src/main/java/org/drools/rule/Rule.java
   labs/jbossrules/trunk/drools-core/src/main/java/org/drools/spi/DeclarationScopeResolver.java
   labs/jbossrules/trunk/drools-core/src/main/java/org/drools/spi/Tuple.java
   labs/jbossrules/trunk/drools-core/src/test/java/org/drools/common/QuadroupleBetaConstraintsTest.java
   labs/jbossrules/trunk/drools-core/src/test/java/org/drools/event/AgendaEventSupportTest.java
   labs/jbossrules/trunk/drools-core/src/test/java/org/drools/examples/manners/BaseMannersTest.java
   labs/jbossrules/trunk/drools-core/src/test/java/org/drools/facttemplates/FactTemplateFieldExtractorTest.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/CollectNodeTest.java
   labs/jbossrules/trunk/drools-core/src/test/java/org/drools/reteoo/CrossProductTest.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/FromNodeTest.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/OtherwiseTest.java
   labs/jbossrules/trunk/drools-core/src/test/java/org/drools/reteoo/builder/ReteooRuleBuilderTest.java
   labs/jbossrules/trunk/drools-core/src/test/java/org/drools/rule/DeclarationTest.java
   labs/jbossrules/trunk/drools-core/src/test/java/org/drools/rule/FieldConstraintTest.java
   labs/jbossrules/trunk/drools-core/src/test/java/org/drools/rule/GroupElementTest.java
   labs/jbossrules/trunk/drools-core/src/test/java/org/drools/rule/LogicTransformerTest.java
   labs/jbossrules/trunk/drools-core/src/test/java/org/drools/util/FieldIndexHashTableTest.java
   labs/jbossrules/trunk/drools-core/src/test/resources/correct_processTree1.dat
   labs/jbossrules/trunk/drools-core/src/test/resources/correct_transform1.dat
   labs/jbossrules/trunk/drools-decisiontables/.classpath
   labs/jbossrules/trunk/drools-decisiontables/.project
   labs/jbossrules/trunk/drools-decisiontables/src/test/java/org/drools/decisiontable/parser/DefaultTemplateRuleBaseTest.java
   labs/jbossrules/trunk/drools-decisiontables/src/test/java/org/drools/decisiontable/parser/ExternalSheetListenerTest.java
   labs/jbossrules/trunk/drools-jbrms/.classpath
   labs/jbossrules/trunk/drools-jbrms/.project
   labs/jbossrules/trunk/drools-jbrms/src/main/java/org/drools/brms/client/table/SortableTable.java
   labs/jbossrules/trunk/drools-jsr94/.classpath
   labs/jbossrules/trunk/drools-jsr94/.project
   labs/jbossrules/trunk/drools-jsr94/src/test/resources/org/drools/jsr94/rules/sisters.xml
   labs/jbossrules/trunk/drools-repository/.classpath
Log:
JBRULES-816 Refactor Column to be Pattern

Modified: labs/jbossrules/trunk/drools-compiler/.classpath
===================================================================
--- labs/jbossrules/trunk/drools-compiler/.classpath	2007-04-24 12:26:00 UTC (rev 11294)
+++ labs/jbossrules/trunk/drools-compiler/.classpath	2007-04-24 12:52:09 UTC (rev 11295)
@@ -5,16 +5,16 @@
   <classpathentry kind="src" path="src/test/resources" output="target/test-classes"/>
   <classpathentry kind="output" path="target/classes"/>
   <classpathentry kind="con" path="org.eclipse.jdt.launching.JRE_CONTAINER"/>
-  <classpathentry kind="var" path="M2_REPO/org/eclipse/jdt/core/3.2.1.v_677_R32x/core-3.2.1.v_677_R32x.jar"/>
-  <classpathentry kind="var" path="M2_REPO/antlr/antlr/2.7.7/antlr-2.7.7.jar"/>
-  <classpathentry kind="var" path="M2_REPO/org/mvel/mvel14/1.2beta15/mvel14-1.2beta15.jar"/>
   <classpathentry kind="var" path="M2_REPO/xml-apis/xml-apis/1.0.b2/xml-apis-1.0.b2.jar"/>
-  <classpathentry kind="var" path="M2_REPO/org/antlr/antlr/3.0b5/antlr-3.0b5.jar"/>
-  <classpathentry kind="src" path="/drools-core"/>
-  <classpathentry kind="var" path="M2_REPO/janino/janino/2.5.5/janino-2.5.5.jar"/>
-  <classpathentry kind="var" path="M2_REPO/xstream/xstream/1.1.3/xstream-1.1.3.jar"/>
   <classpathentry kind="var" path="M2_REPO/xpp3/xpp3/1.1.3.4.O/xpp3-1.1.3.4.O.jar"/>
   <classpathentry kind="var" path="M2_REPO/xerces/xercesImpl/2.4.0/xercesImpl-2.4.0.jar"/>
+  <classpathentry kind="src" path="/drools-core"/>
+  <classpathentry kind="var" path="M2_REPO/antlr/antlr/2.7.7/antlr-2.7.7.jar"/>
   <classpathentry kind="var" path="M2_REPO/junit/junit/3.8.1/junit-3.8.1.jar"/>
+  <classpathentry kind="var" path="M2_REPO/org/mvel/mvel14/1.2beta15/mvel14-1.2beta15.jar"/>
   <classpathentry kind="var" path="M2_REPO/antlr/stringtemplate/3.0/stringtemplate-3.0.jar"/>
+  <classpathentry kind="var" path="M2_REPO/org/antlr/antlr/3.0b7/antlr-3.0b7.jar"/>
+  <classpathentry kind="var" path="M2_REPO/janino/janino/2.5.5/janino-2.5.5.jar"/>
+  <classpathentry kind="var" path="M2_REPO/xstream/xstream/1.1.3/xstream-1.1.3.jar"/>
+  <classpathentry kind="var" path="M2_REPO/org/eclipse/jdt/core/3.2.1.v_677_R32x/core-3.2.1.v_677_R32x.jar"/>
 </classpath>
\ No newline at end of file

Modified: labs/jbossrules/trunk/drools-compiler/src/main/java/org/drools/brms/client/modeldriven/brxml/FactPattern.java
===================================================================
--- labs/jbossrules/trunk/drools-compiler/src/main/java/org/drools/brms/client/modeldriven/brxml/FactPattern.java	2007-04-24 12:26:00 UTC (rev 11294)
+++ labs/jbossrules/trunk/drools-compiler/src/main/java/org/drools/brms/client/modeldriven/brxml/FactPattern.java	2007-04-24 12:52:09 UTC (rev 11295)
@@ -3,7 +3,7 @@
 /**
  * A fact pattern is a declaration of a fact type, and its constraint,
  * and perhaps a variable that is it bound to
- * It is the equivalent of a "column" in drools terms. 
+ * It is the equivalent of a "pattern" in drools terms. 
  * @author Michael Neale
  *
  */

Modified: labs/jbossrules/trunk/drools-compiler/src/main/java/org/drools/brms/server/converter/BRXMLToDescrConverter.java
===================================================================
--- labs/jbossrules/trunk/drools-compiler/src/main/java/org/drools/brms/server/converter/BRXMLToDescrConverter.java	2007-04-24 12:26:00 UTC (rev 11294)
+++ labs/jbossrules/trunk/drools-compiler/src/main/java/org/drools/brms/server/converter/BRXMLToDescrConverter.java	2007-04-24 12:52:09 UTC (rev 11295)
@@ -13,7 +13,7 @@
 import org.drools.lang.descr.AndDescr;
 import org.drools.lang.descr.AttributeDescr;
 import org.drools.lang.descr.BaseDescr;
-import org.drools.lang.descr.ColumnDescr;
+import org.drools.lang.descr.PatternDescr;
 import org.drools.lang.descr.ConditionalElementDescr;
 import org.drools.lang.descr.ExistsDescr;
 import org.drools.lang.descr.FieldBindingDescr;
@@ -86,21 +86,21 @@
     }
 
     private void addFact(final ConditionalElementDescr ce,
-                         final FactPattern pattern) {
-        final ColumnDescr column = new ColumnDescr( pattern.factType );
-        column.setIdentifier( pattern.boundName );
-        ce.addDescr( column );
+                         final FactPattern factPattern) {
+        final PatternDescr pattern = new PatternDescr( factPattern.factType );
+        pattern.setIdentifier( factPattern.boundName );
+        ce.addDescr( pattern );
 
-        for ( int i = 0; i < pattern.constraints.length; i++ ) {
-            final Constraint constr = pattern.constraints[i];
+        for ( int i = 0; i < factPattern.constraints.length; i++ ) {
+            final Constraint constr = factPattern.constraints[i];
             if ( constr.fieldBinding != null ) {
                 final FieldBindingDescr fieldDescr = new FieldBindingDescr( constr.fieldName,
                                                                       constr.fieldBinding );
-                column.addDescr( fieldDescr );
+                pattern.addDescr( fieldDescr );
             }
             if ( constr.constraintValueType == IConstraint.TYPE_PREDICATE ) {
                 final PredicateDescr predicateDescr = new PredicateDescr( constr.value );
-                column.addDescr( predicateDescr );
+                pattern.addDescr( predicateDescr );
             } else {
                 final FieldConstraintDescr constrDescr = new FieldConstraintDescr( constr.fieldName );
                 constrDescr.addRestriction( this.getFieldRestriction( constr.constraintValueType,
@@ -125,7 +125,7 @@
                                                                               conn.value ) );
                     }
                 }
-                column.addDescr( constrDescr );
+                pattern.addDescr( constrDescr );
             }
         }
     }

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	2007-04-24 12:26:00 UTC (rev 11294)
+++ labs/jbossrules/trunk/drools-compiler/src/main/java/org/drools/lang/DRLLexer.java	2007-04-24 12:52:09 UTC (rev 11295)
@@ -1,4532 +1,3215 @@
-// $ANTLR 3.0b7 C:\\dev\\jbossrules\\trunk3\\drools-compiler\\src\\main\\resources\\org\\drools\\lang\\DRL.g 2007-04-11 16:59:52
+// $ANTLR 3.0b7 C:\\dev\\jbossrules\\trunk3\\drools-compiler\\src\\main\\resources\\org\\drools\\lang\\DRL.g 2007-04-24 04:47:08
+
+	package org.drools.lang;
 
-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;
-
 public class DRLLexer extends Lexer {
-    public static final int T75                          = 75;
-    public static final int PACKAGE                      = 4;
-    public static final int FUNCTION                     = 6;
-    public static final int ACCUMULATE                   = 28;
-    public static final int T76                          = 76;
-    public static final int RIGHT_SQUARE                 = 45;
-    public static final int T73                          = 73;
-    public static final int T74                          = 74;
-    public static final int ACTIVATION_GROUP             = 23;
-    public static final int T77                          = 77;
-    public static final int RIGHT_CURLY                  = 43;
-    public static final int ATTRIBUTES                   = 13;
-    public static final int T78                          = 78;
-    public static final int CONTAINS                     = 37;
-    public static final int NO_LOOP                      = 21;
-    public static final int LOCK_ON_ACTIVE               = 27;
-    public static final int AGENDA_GROUP                 = 25;
-    public static final int FLOAT                        = 40;
-    public static final int NOT                          = 49;
-    public static final int SH_STYLE_SINGLE_LINE_COMMENT = 59;
-    public static final int ID                           = 33;
-    public static final int AND                          = 46;
-    public static final int EOF                          = -1;
-    public static final int HexDigit                     = 56;
-    public static final int DATE_EFFECTIVE               = 14;
-    public static final int T72                          = 72;
-    public static final int ACTION                       = 30;
-    public static final int T71                          = 71;
-    public static final int T70                          = 70;
-    public static final int T63                          = 63;
-    public static final int T64                          = 64;
-    public static final int RIGHT_PAREN                  = 36;
-    public static final int T65                          = 65;
-    public static final int IMPORT                       = 5;
-    public static final int T66                          = 66;
-    public static final int EOL                          = 53;
-    public static final int T67                          = 67;
-    public static final int THEN                         = 52;
-    public static final int T68                          = 68;
-    public static final int T69                          = 69;
-    public static final int MATCHES                      = 38;
-    public static final int ENABLED                      = 17;
-    public static final int EXISTS                       = 48;
-    public static final int RULE                         = 11;
-    public static final int EXCLUDES                     = 39;
-    public static final int AUTO_FOCUS                   = 22;
-    public static final int NULL                         = 41;
-    public static final int BOOL                         = 18;
-    public static final int FORALL                       = 51;
-    public static final int SALIENCE                     = 19;
-    public static final int RULEFLOW_GROUP               = 24;
-    public static final int RESULT                       = 31;
-    public static final int INT                          = 20;
-    public static final int Tokens                       = 79;
-    public static final int MULTI_LINE_COMMENT           = 61;
-    public static final int DURATION                     = 26;
-    public static final int WS                           = 54;
-    public static final int TEMPLATE                     = 10;
-    public static final int EVAL                         = 50;
-    public static final int WHEN                         = 12;
-    public static final int UnicodeEscape                = 57;
-    public static final int LEFT_CURLY                   = 42;
-    public static final int OR                           = 34;
-    public static final int LEFT_PAREN                   = 35;
-    public static final int QUERY                        = 8;
-    public static final int GLOBAL                       = 7;
-    public static final int END                          = 9;
-    public static final int FROM                         = 47;
-    public static final int MISC                         = 62;
-    public static final int COLLECT                      = 32;
-    public static final int INIT                         = 29;
-    public static final int LEFT_SQUARE                  = 44;
-    public static final int EscapeSequence               = 55;
-    public static final int OctalEscape                  = 58;
-    public static final int C_STYLE_SINGLE_LINE_COMMENT  = 60;
-    public static final int STRING                       = 15;
-    public static final int DATE_EXPIRES                 = 16;
+    public static final int T75=75;
+    public static final int PACKAGE=4;
+    public static final int FUNCTION=6;
+    public static final int ACCUMULATE=28;
+    public static final int T76=76;
+    public static final int RIGHT_SQUARE=45;
+    public static final int T73=73;
+    public static final int T74=74;
+    public static final int ACTIVATION_GROUP=23;
+    public static final int T77=77;
+    public static final int RIGHT_CURLY=43;
+    public static final int ATTRIBUTES=13;
+    public static final int T78=78;
+    public static final int CONTAINS=37;
+    public static final int NO_LOOP=21;
+    public static final int LOCK_ON_ACTIVE=27;
+    public static final int AGENDA_GROUP=25;
+    public static final int FLOAT=40;
+    public static final int NOT=49;
+    public static final int SH_STYLE_SINGLE_LINE_COMMENT=59;
+    public static final int ID=33;
+    public static final int AND=46;
+    public static final int EOF=-1;
+    public static final int HexDigit=56;
+    public static final int DATE_EFFECTIVE=14;
+    public static final int T72=72;
+    public static final int ACTION=30;
+    public static final int T71=71;
+    public static final int T70=70;
+    public static final int T63=63;
+    public static final int T64=64;
+    public static final int RIGHT_PAREN=36;
+    public static final int T65=65;
+    public static final int IMPORT=5;
+    public static final int T66=66;
+    public static final int EOL=53;
+    public static final int T67=67;
+    public static final int THEN=52;
+    public static final int T68=68;
+    public static final int T69=69;
+    public static final int MATCHES=38;
+    public static final int ENABLED=17;
+    public static final int EXISTS=48;
+    public static final int RULE=11;
+    public static final int EXCLUDES=39;
+    public static final int AUTO_FOCUS=22;
+    public static final int NULL=41;
+    public static final int BOOL=18;
+    public static final int FORALL=51;
+    public static final int SALIENCE=19;
+    public static final int RULEFLOW_GROUP=24;
+    public static final int RESULT=31;
+    public static final int INT=20;
+    public static final int Tokens=79;
+    public static final int MULTI_LINE_COMMENT=61;
+    public static final int DURATION=26;
+    public static final int WS=54;
+    public static final int TEMPLATE=10;
+    public static final int EVAL=50;
+    public static final int WHEN=12;
+    public static final int UnicodeEscape=57;
+    public static final int LEFT_CURLY=42;
+    public static final int OR=34;
+    public static final int LEFT_PAREN=35;
+    public static final int QUERY=8;
+    public static final int GLOBAL=7;
+    public static final int END=9;
+    public static final int FROM=47;
+    public static final int MISC=62;
+    public static final int COLLECT=32;
+    public static final int INIT=29;
+    public static final int LEFT_SQUARE=44;
+    public static final int EscapeSequence=55;
+    public static final int OctalEscape=58;
+    public static final int C_STYLE_SINGLE_LINE_COMMENT=60;
+    public static final int STRING=15;
+    public static final int DATE_EXPIRES=16;
+    public DRLLexer() {;} 
+    public DRLLexer(CharStream input) {
+        super(input);
+        ruleMemo = new HashMap[77+1];
+     }
+    public String getGrammarFileName() { return "C:\\dev\\jbossrules\\trunk3\\drools-compiler\\src\\main\\resources\\org\\drools\\lang\\DRL.g"; }
 
-    public DRLLexer() {
-        ;
-    }
-
-    public DRLLexer(final CharStream input) {
-        super( input );
-        this.ruleMemo = new HashMap[77 + 1];
-    }
-
-    public String getGrammarFileName() {
-        return "C:\\dev\\jbossrules\\trunk3\\drools-compiler\\src\\main\\resources\\org\\drools\\lang\\DRL.g";
-    }
-
     // $ANTLR start T63
-    public void mT63() throws RecognitionException {
+    public final void mT63() throws RecognitionException {
         try {
-            this.ruleNestingLevel++;
-            final int _type = T63;
-            final int _start = getCharIndex();
-            final int _line = getLine();
-            final int _charPosition = getCharPositionInLine();
-            final int _channel = Token.DEFAULT_CHANNEL;
+            int _type = T63;
             // C:\\dev\\jbossrules\\trunk3\\drools-compiler\\src\\main\\resources\\org\\drools\\lang\\DRL.g:6:7: ( ';' )
             // C:\\dev\\jbossrules\\trunk3\\drools-compiler\\src\\main\\resources\\org\\drools\\lang\\DRL.g:6:7: ';'
             {
-                match( ';' );
-                if ( this.failed ) {
-                    return;
-                }
+            match(';'); if (failed) return ;
 
             }
 
-            if ( this.backtracking == 0 ) {
-
-                if ( this.token == null && this.ruleNestingLevel == 1 ) {
-                    emit( _type,
-                          _line,
-                          _charPosition,
-                          _channel,
-                          _start,
-                          getCharIndex() - 1 );
-                }
-
-            }
-        } finally {
-            this.ruleNestingLevel--;
+            this.type = _type;
         }
+        finally {
+        }
     }
-
     // $ANTLR end T63
 
     // $ANTLR start T64
-    public void mT64() throws RecognitionException {
+    public final void mT64() throws RecognitionException {
         try {
-            this.ruleNestingLevel++;
-            final int _type = T64;
-            final int _start = getCharIndex();
-            final int _line = getLine();
-            final int _charPosition = getCharPositionInLine();
-            final int _channel = Token.DEFAULT_CHANNEL;
+            int _type = T64;
             // C:\\dev\\jbossrules\\trunk3\\drools-compiler\\src\\main\\resources\\org\\drools\\lang\\DRL.g:7:7: ( '.' )
             // C:\\dev\\jbossrules\\trunk3\\drools-compiler\\src\\main\\resources\\org\\drools\\lang\\DRL.g:7:7: '.'
             {
-                match( '.' );
-                if ( this.failed ) {
-                    return;
-                }
+            match('.'); if (failed) return ;
 
             }
 
-            if ( this.backtracking == 0 ) {
-
-                if ( this.token == null && this.ruleNestingLevel == 1 ) {
-                    emit( _type,
-                          _line,
-                          _charPosition,
-                          _channel,
-                          _start,
-                          getCharIndex() - 1 );
-                }
-
-            }
-        } finally {
-            this.ruleNestingLevel--;
+            this.type = _type;
         }
+        finally {
+        }
     }
-
     // $ANTLR end T64
 
     // $ANTLR start T65
-    public void mT65() throws RecognitionException {
+    public final void mT65() throws RecognitionException {
         try {
-            this.ruleNestingLevel++;
-            final int _type = T65;
-            final int _start = getCharIndex();
-            final int _line = getLine();
-            final int _charPosition = getCharPositionInLine();
-            final int _channel = Token.DEFAULT_CHANNEL;
+            int _type = T65;
             // C:\\dev\\jbossrules\\trunk3\\drools-compiler\\src\\main\\resources\\org\\drools\\lang\\DRL.g:8:7: ( '.*' )
             // C:\\dev\\jbossrules\\trunk3\\drools-compiler\\src\\main\\resources\\org\\drools\\lang\\DRL.g:8:7: '.*'
             {
-                match( ".*" );
-                if ( this.failed ) {
-                    return;
-                }
+            match(".*"); if (failed) return ;
 
-            }
 
-            if ( this.backtracking == 0 ) {
-
-                if ( this.token == null && this.ruleNestingLevel == 1 ) {
-                    emit( _type,
-                          _line,
-                          _charPosition,
-                          _channel,
-                          _start,
-                          getCharIndex() - 1 );
-                }
-
             }
-        } finally {
-            this.ruleNestingLevel--;
+
+            this.type = _type;
         }
+        finally {
+        }
     }
-
     // $ANTLR end T65
 
     // $ANTLR start T66
-    public void mT66() throws RecognitionException {
+    public final void mT66() throws RecognitionException {
         try {
-            this.ruleNestingLevel++;
-            final int _type = T66;
-            final int _start = getCharIndex();
-            final int _line = getLine();
-            final int _charPosition = getCharPositionInLine();
-            final int _channel = Token.DEFAULT_CHANNEL;
+            int _type = T66;
             // C:\\dev\\jbossrules\\trunk3\\drools-compiler\\src\\main\\resources\\org\\drools\\lang\\DRL.g:9:7: ( ',' )
             // C:\\dev\\jbossrules\\trunk3\\drools-compiler\\src\\main\\resources\\org\\drools\\lang\\DRL.g:9:7: ','
             {
-                match( ',' );
-                if ( this.failed ) {
-                    return;
-                }
+            match(','); if (failed) return ;
 
             }
 
-            if ( this.backtracking == 0 ) {
-
-                if ( this.token == null && this.ruleNestingLevel == 1 ) {
-                    emit( _type,
-                          _line,
-                          _charPosition,
-                          _channel,
-                          _start,
-                          getCharIndex() - 1 );
-                }
-
-            }
-        } finally {
-            this.ruleNestingLevel--;
+            this.type = _type;
         }
+        finally {
+        }
     }
-
     // $ANTLR end T66
 
     // $ANTLR start T67
-    public void mT67() throws RecognitionException {
+    public final void mT67() throws RecognitionException {
         try {
-            this.ruleNestingLevel++;
-            final int _type = T67;
-            final int _start = getCharIndex();
-            final int _line = getLine();
-            final int _charPosition = getCharPositionInLine();
-            final int _channel = Token.DEFAULT_CHANNEL;
+            int _type = T67;
             // C:\\dev\\jbossrules\\trunk3\\drools-compiler\\src\\main\\resources\\org\\drools\\lang\\DRL.g:10:7: ( ':' )
             // C:\\dev\\jbossrules\\trunk3\\drools-compiler\\src\\main\\resources\\org\\drools\\lang\\DRL.g:10:7: ':'
             {
-                match( ':' );
-                if ( this.failed ) {
-                    return;
-                }
+            match(':'); if (failed) return ;
 
             }
 
-            if ( this.backtracking == 0 ) {
-
-                if ( this.token == null && this.ruleNestingLevel == 1 ) {
-                    emit( _type,
-                          _line,
-                          _charPosition,
-                          _channel,
-                          _start,
-                          getCharIndex() - 1 );
-                }
-
-            }
-        } finally {
-            this.ruleNestingLevel--;
+            this.type = _type;
         }
+        finally {
+        }
     }
-
     // $ANTLR end T67
 
     // $ANTLR start T68
-    public void mT68() throws RecognitionException {
+    public final void mT68() throws RecognitionException {
         try {
-            this.ruleNestingLevel++;
-            final int _type = T68;
-            final int _start = getCharIndex();
-            final int _line = getLine();
-            final int _charPosition = getCharPositionInLine();
-            final int _channel = Token.DEFAULT_CHANNEL;
+            int _type = T68;
             // C:\\dev\\jbossrules\\trunk3\\drools-compiler\\src\\main\\resources\\org\\drools\\lang\\DRL.g:11:7: ( '||' )
             // C:\\dev\\jbossrules\\trunk3\\drools-compiler\\src\\main\\resources\\org\\drools\\lang\\DRL.g:11:7: '||'
             {
-                match( "||" );
-                if ( this.failed ) {
-                    return;
-                }
+            match("||"); if (failed) return ;
 
-            }
 
-            if ( this.backtracking == 0 ) {
-
-                if ( this.token == null && this.ruleNestingLevel == 1 ) {
-                    emit( _type,
-                          _line,
-                          _charPosition,
-                          _channel,
-                          _start,
-                          getCharIndex() - 1 );
-                }
-
             }
-        } finally {
-            this.ruleNestingLevel--;
+
+            this.type = _type;
         }
+        finally {
+        }
     }
-
     // $ANTLR end T68
 
     // $ANTLR start T69
-    public void mT69() throws RecognitionException {
+    public final void mT69() throws RecognitionException {
         try {
-            this.ruleNestingLevel++;
-            final int _type = T69;
-            final int _start = getCharIndex();
-            final int _line = getLine();
-            final int _charPosition = getCharPositionInLine();
-            final int _channel = Token.DEFAULT_CHANNEL;
+            int _type = T69;
             // C:\\dev\\jbossrules\\trunk3\\drools-compiler\\src\\main\\resources\\org\\drools\\lang\\DRL.g:12:7: ( '&' )
             // C:\\dev\\jbossrules\\trunk3\\drools-compiler\\src\\main\\resources\\org\\drools\\lang\\DRL.g:12:7: '&'
             {
-                match( '&' );
-                if ( this.failed ) {
-                    return;
-                }
+            match('&'); if (failed) return ;
 
             }
 
-            if ( this.backtracking == 0 ) {
-
-                if ( this.token == null && this.ruleNestingLevel == 1 ) {
-                    emit( _type,
-                          _line,
-                          _charPosition,
-                          _channel,
-                          _start,
-                          getCharIndex() - 1 );
-                }
-
-            }
-        } finally {
-            this.ruleNestingLevel--;
+            this.type = _type;
         }
+        finally {
+        }
     }
-
     // $ANTLR end T69
 
     // $ANTLR start T70
-    public void mT70() throws RecognitionException {
+    public final void mT70() throws RecognitionException {
         try {
-            this.ruleNestingLevel++;
-            final int _type = T70;
-            final int _start = getCharIndex();
-            final int _line = getLine();
-            final int _charPosition = getCharPositionInLine();
-            final int _channel = Token.DEFAULT_CHANNEL;
+            int _type = T70;
             // C:\\dev\\jbossrules\\trunk3\\drools-compiler\\src\\main\\resources\\org\\drools\\lang\\DRL.g:13:7: ( '|' )
             // C:\\dev\\jbossrules\\trunk3\\drools-compiler\\src\\main\\resources\\org\\drools\\lang\\DRL.g:13:7: '|'
             {
-                match( '|' );
-                if ( this.failed ) {
-                    return;
-                }
+            match('|'); if (failed) return ;
 
             }
 
-            if ( this.backtracking == 0 ) {
-
-                if ( this.token == null && this.ruleNestingLevel == 1 ) {
-                    emit( _type,
-                          _line,
-                          _charPosition,
-                          _channel,
-                          _start,
-                          getCharIndex() - 1 );
-                }
-
-            }
-        } finally {
-            this.ruleNestingLevel--;
+            this.type = _type;
         }
+        finally {
+        }
     }
-
     // $ANTLR end T70
 
     // $ANTLR start T71
-    public void mT71() throws RecognitionException {
+    public final void mT71() throws RecognitionException {
         try {
-            this.ruleNestingLevel++;
-            final int _type = T71;
-            final int _start = getCharIndex();
-            final int _line = getLine();
-            final int _charPosition = getCharPositionInLine();
-            final int _channel = Token.DEFAULT_CHANNEL;
+            int _type = T71;
             // C:\\dev\\jbossrules\\trunk3\\drools-compiler\\src\\main\\resources\\org\\drools\\lang\\DRL.g:14:7: ( '->' )
             // C:\\dev\\jbossrules\\trunk3\\drools-compiler\\src\\main\\resources\\org\\drools\\lang\\DRL.g:14:7: '->'
             {
-                match( "->" );
-                if ( this.failed ) {
-                    return;
-                }
+            match("->"); if (failed) return ;
 
-            }
 
-            if ( this.backtracking == 0 ) {
-
-                if ( this.token == null && this.ruleNestingLevel == 1 ) {
-                    emit( _type,
-                          _line,
-                          _charPosition,
-                          _channel,
-                          _start,
-                          getCharIndex() - 1 );
-                }
-
             }
-        } finally {
-            this.ruleNestingLevel--;
+
+            this.type = _type;
         }
+        finally {
+        }
     }
-
     // $ANTLR end T71
 
     // $ANTLR start T72
-    public void mT72() throws RecognitionException {
+    public final void mT72() throws RecognitionException {
         try {
-            this.ruleNestingLevel++;
-            final int _type = T72;
-            final int _start = getCharIndex();
-            final int _line = getLine();
-            final int _charPosition = getCharPositionInLine();
-            final int _channel = Token.DEFAULT_CHANNEL;
+            int _type = T72;
             // C:\\dev\\jbossrules\\trunk3\\drools-compiler\\src\\main\\resources\\org\\drools\\lang\\DRL.g:15:7: ( '==' )
             // C:\\dev\\jbossrules\\trunk3\\drools-compiler\\src\\main\\resources\\org\\drools\\lang\\DRL.g:15:7: '=='
             {
-                match( "==" );
-                if ( this.failed ) {
-                    return;
-                }
+            match("=="); if (failed) return ;
 
-            }
 
-            if ( this.backtracking == 0 ) {
-
-                if ( this.token == null && this.ruleNestingLevel == 1 ) {
-                    emit( _type,
-                          _line,
-                          _charPosition,
-                          _channel,
-                          _start,
-                          getCharIndex() - 1 );
-                }
-
             }
-        } finally {
-            this.ruleNestingLevel--;
+
+            this.type = _type;
         }
+        finally {
+        }
     }
-
     // $ANTLR end T72
 
     // $ANTLR start T73
-    public void mT73() throws RecognitionException {
+    public final void mT73() throws RecognitionException {
         try {
-            this.ruleNestingLevel++;
-            final int _type = T73;
-            final int _start = getCharIndex();
-            final int _line = getLine();
-            final int _charPosition = getCharPositionInLine();
-            final int _channel = Token.DEFAULT_CHANNEL;
+            int _type = T73;
             // C:\\dev\\jbossrules\\trunk3\\drools-compiler\\src\\main\\resources\\org\\drools\\lang\\DRL.g:16:7: ( '>' )
             // C:\\dev\\jbossrules\\trunk3\\drools-compiler\\src\\main\\resources\\org\\drools\\lang\\DRL.g:16:7: '>'
             {
-                match( '>' );
-                if ( this.failed ) {
-                    return;
-                }
+            match('>'); if (failed) return ;
 
             }
 
-            if ( this.backtracking == 0 ) {
-
-                if ( this.token == null && this.ruleNestingLevel == 1 ) {
-                    emit( _type,
-                          _line,
-                          _charPosition,
-                          _channel,
-                          _start,
-                          getCharIndex() - 1 );
-                }
-
-            }
-        } finally {
-            this.ruleNestingLevel--;
+            this.type = _type;
         }
+        finally {
+        }
     }
-
     // $ANTLR end T73
 
     // $ANTLR start T74
-    public void mT74() throws RecognitionException {
+    public final void mT74() throws RecognitionException {
         try {
-            this.ruleNestingLevel++;
-            final int _type = T74;
-            final int _start = getCharIndex();
-            final int _line = getLine();
-            final int _charPosition = getCharPositionInLine();
-            final int _channel = Token.DEFAULT_CHANNEL;
+            int _type = T74;
             // C:\\dev\\jbossrules\\trunk3\\drools-compiler\\src\\main\\resources\\org\\drools\\lang\\DRL.g:17:7: ( '>=' )
             // C:\\dev\\jbossrules\\trunk3\\drools-compiler\\src\\main\\resources\\org\\drools\\lang\\DRL.g:17:7: '>='
             {
-                match( ">=" );
-                if ( this.failed ) {
-                    return;
-                }
+            match(">="); if (failed) return ;
 
-            }
 
-            if ( this.backtracking == 0 ) {
-
-                if ( this.token == null && this.ruleNestingLevel == 1 ) {
-                    emit( _type,
-                          _line,
-                          _charPosition,
-                          _channel,
-                          _start,
-                          getCharIndex() - 1 );
-                }
-
             }
-        } finally {
-            this.ruleNestingLevel--;
+
+            this.type = _type;
         }
+        finally {
+        }
     }
-
     // $ANTLR end T74
 
     // $ANTLR start T75
-    public void mT75() throws RecognitionException {
+    public final void mT75() throws RecognitionException {
         try {
-            this.ruleNestingLevel++;
-            final int _type = T75;
-            final int _start = getCharIndex();
-            final int _line = getLine();
-            final int _charPosition = getCharPositionInLine();
-            final int _channel = Token.DEFAULT_CHANNEL;
+            int _type = T75;
             // C:\\dev\\jbossrules\\trunk3\\drools-compiler\\src\\main\\resources\\org\\drools\\lang\\DRL.g:18:7: ( '<' )
             // C:\\dev\\jbossrules\\trunk3\\drools-compiler\\src\\main\\resources\\org\\drools\\lang\\DRL.g:18:7: '<'
             {
-                match( '<' );
-                if ( this.failed ) {
-                    return;
-                }
+            match('<'); if (failed) return ;
 
             }
 
-            if ( this.backtracking == 0 ) {
-
-                if ( this.token == null && this.ruleNestingLevel == 1 ) {
-                    emit( _type,
-                          _line,
-                          _charPosition,
-                          _channel,
-                          _start,
-                          getCharIndex() - 1 );
-                }
-
-            }
-        } finally {
-            this.ruleNestingLevel--;
+            this.type = _type;
         }
+        finally {
+        }
     }
-
     // $ANTLR end T75
 
     // $ANTLR start T76
-    public void mT76() throws RecognitionException {
+    public final void mT76() throws RecognitionException {
         try {
-            this.ruleNestingLevel++;
-            final int _type = T76;
-            final int _start = getCharIndex();
-            final int _line = getLine();
-            final int _charPosition = getCharPositionInLine();
-            final int _channel = Token.DEFAULT_CHANNEL;
+            int _type = T76;
             // C:\\dev\\jbossrules\\trunk3\\drools-compiler\\src\\main\\resources\\org\\drools\\lang\\DRL.g:19:7: ( '<=' )
             // C:\\dev\\jbossrules\\trunk3\\drools-compiler\\src\\main\\resources\\org\\drools\\lang\\DRL.g:19:7: '<='
             {
-                match( "<=" );
-                if ( this.failed ) {
-                    return;
-                }
+            match("<="); if (failed) return ;
 
-            }
 
-            if ( this.backtracking == 0 ) {
-
-                if ( this.token == null && this.ruleNestingLevel == 1 ) {
-                    emit( _type,
-                          _line,
-                          _charPosition,
-                          _channel,
-                          _start,
-                          getCharIndex() - 1 );
-                }
-
             }
-        } finally {
-            this.ruleNestingLevel--;
+
+            this.type = _type;
         }
+        finally {
+        }
     }
-
     // $ANTLR end T76
 
     // $ANTLR start T77
-    public void mT77() throws RecognitionException {
+    public final void mT77() throws RecognitionException {
         try {
-            this.ruleNestingLevel++;
-            final int _type = T77;
-            final int _start = getCharIndex();
-            final int _line = getLine();
-            final int _charPosition = getCharPositionInLine();
-            final int _channel = Token.DEFAULT_CHANNEL;
+            int _type = T77;
             // C:\\dev\\jbossrules\\trunk3\\drools-compiler\\src\\main\\resources\\org\\drools\\lang\\DRL.g:20:7: ( '!=' )
             // C:\\dev\\jbossrules\\trunk3\\drools-compiler\\src\\main\\resources\\org\\drools\\lang\\DRL.g:20:7: '!='
             {
-                match( "!=" );
-                if ( this.failed ) {
-                    return;
-                }
+            match("!="); if (failed) return ;
 
-            }
 
-            if ( this.backtracking == 0 ) {
-
-                if ( this.token == null && this.ruleNestingLevel == 1 ) {
-                    emit( _type,
-                          _line,
-                          _charPosition,
-                          _channel,
-                          _start,
-                          getCharIndex() - 1 );
-                }
-
             }
-        } finally {
-            this.ruleNestingLevel--;
+
+            this.type = _type;
         }
+        finally {
+        }
     }
-
     // $ANTLR end T77
 
     // $ANTLR start T78
-    public void mT78() throws RecognitionException {
+    public final void mT78() throws RecognitionException {
         try {
-            this.ruleNestingLevel++;
-            final int _type = T78;
-            final int _start = getCharIndex();
-            final int _line = getLine();
-            final int _charPosition = getCharPositionInLine();
-            final int _channel = Token.DEFAULT_CHANNEL;
+            int _type = T78;
             // C:\\dev\\jbossrules\\trunk3\\drools-compiler\\src\\main\\resources\\org\\drools\\lang\\DRL.g:21:7: ( '&&' )
             // C:\\dev\\jbossrules\\trunk3\\drools-compiler\\src\\main\\resources\\org\\drools\\lang\\DRL.g:21:7: '&&'
             {
-                match( "&&" );
-                if ( this.failed ) {
-                    return;
-                }
+            match("&&"); if (failed) return ;
 
-            }
 
-            if ( this.backtracking == 0 ) {
-
-                if ( this.token == null && this.ruleNestingLevel == 1 ) {
-                    emit( _type,
-                          _line,
-                          _charPosition,
-                          _channel,
-                          _start,
-                          getCharIndex() - 1 );
-                }
-
             }
-        } finally {
-            this.ruleNestingLevel--;
+
+            this.type = _type;
         }
+        finally {
+        }
     }
-
     // $ANTLR end T78
 
     // $ANTLR start WS
-    public void mWS() throws RecognitionException {
+    public final void mWS() throws RecognitionException {
         try {
-            this.ruleNestingLevel++;
-            final int _type = WS;
-            final int _start = getCharIndex();
-            final int _line = getLine();
-            final int _charPosition = getCharPositionInLine();
-            int _channel = Token.DEFAULT_CHANNEL;
+            int _type = WS;
             // C:\\dev\\jbossrules\\trunk3\\drools-compiler\\src\\main\\resources\\org\\drools\\lang\\DRL.g:1465:17: ( ( ' ' | '\\t' | '\\f' | EOL ) )
             // C:\\dev\\jbossrules\\trunk3\\drools-compiler\\src\\main\\resources\\org\\drools\\lang\\DRL.g:1465:17: ( ' ' | '\\t' | '\\f' | EOL )
             {
-                // C:\\dev\\jbossrules\\trunk3\\drools-compiler\\src\\main\\resources\\org\\drools\\lang\\DRL.g:1465:17: ( ' ' | '\\t' | '\\f' | EOL )
-                int alt1 = 4;
-                switch ( this.input.LA( 1 ) ) {
-                    case ' ' :
-                        alt1 = 1;
-                        break;
-                    case '\t' :
-                        alt1 = 2;
-                        break;
-                    case '\f' :
-                        alt1 = 3;
-                        break;
-                    case '\n' :
-                    case '\r' :
-                        alt1 = 4;
-                        break;
-                    default :
-                        if ( this.backtracking > 0 ) {
-                            this.failed = true;
-                            return;
-                        }
-                        final NoViableAltException nvae = new NoViableAltException( "1465:17: ( ' ' | '\\t' | '\\f' | EOL )",
-                                                                              1,
-                                                                              0,
-                                                                              this.input );
-
-                        throw nvae;
+            // C:\\dev\\jbossrules\\trunk3\\drools-compiler\\src\\main\\resources\\org\\drools\\lang\\DRL.g:1465:17: ( ' ' | '\\t' | '\\f' | EOL )
+            int alt1=4;
+            switch ( input.LA(1) ) {
+            case ' ':
+                {
+                alt1=1;
                 }
+                break;
+            case '\t':
+                {
+                alt1=2;
+                }
+                break;
+            case '\f':
+                {
+                alt1=3;
+                }
+                break;
+            case '\n':
+            case '\r':
+                {
+                alt1=4;
+                }
+                break;
+            default:
+                if (backtracking>0) {failed=true; return ;}
+                NoViableAltException nvae =
+                    new NoViableAltException("1465:17: ( ' ' | '\\t' | '\\f' | EOL )", 1, 0, input);
 
-                switch ( alt1 ) {
-                    case 1 :
-                        // C:\\dev\\jbossrules\\trunk3\\drools-compiler\\src\\main\\resources\\org\\drools\\lang\\DRL.g:1465:19: ' '
+                throw nvae;
+            }
+
+            switch (alt1) {
+                case 1 :
+                    // C:\\dev\\jbossrules\\trunk3\\drools-compiler\\src\\main\\resources\\org\\drools\\lang\\DRL.g:1465:19: ' '
                     {
-                        match( ' ' );
-                        if ( this.failed ) {
-                            return;
-                        }
+                    match(' '); if (failed) return ;
 
                     }
-                        break;
-                    case 2 :
-                        // C:\\dev\\jbossrules\\trunk3\\drools-compiler\\src\\main\\resources\\org\\drools\\lang\\DRL.g:1466:19: '\\t'
+                    break;
+                case 2 :
+                    // C:\\dev\\jbossrules\\trunk3\\drools-compiler\\src\\main\\resources\\org\\drools\\lang\\DRL.g:1466:19: '\\t'
                     {
-                        match( '\t' );
-                        if ( this.failed ) {
-                            return;
-                        }
+                    match('\t'); if (failed) return ;
 
                     }
-                        break;
-                    case 3 :
-                        // C:\\dev\\jbossrules\\trunk3\\drools-compiler\\src\\main\\resources\\org\\drools\\lang\\DRL.g:1467:19: '\\f'
+                    break;
+                case 3 :
+                    // C:\\dev\\jbossrules\\trunk3\\drools-compiler\\src\\main\\resources\\org\\drools\\lang\\DRL.g:1467:19: '\\f'
                     {
-                        match( '\f' );
-                        if ( this.failed ) {
-                            return;
-                        }
+                    match('\f'); if (failed) return ;
 
                     }
-                        break;
-                    case 4 :
-                        // C:\\dev\\jbossrules\\trunk3\\drools-compiler\\src\\main\\resources\\org\\drools\\lang\\DRL.g:1468:19: EOL
+                    break;
+                case 4 :
+                    // C:\\dev\\jbossrules\\trunk3\\drools-compiler\\src\\main\\resources\\org\\drools\\lang\\DRL.g:1468:19: EOL
                     {
-                        mEOL();
-                        if ( this.failed ) {
-                            return;
-                        }
+                    mEOL(); if (failed) return ;
 
                     }
-                        break;
+                    break;
 
-                }
+            }
 
-                if ( this.backtracking == 0 ) {
-                    _channel = HIDDEN;
-                }
-
+            if ( backtracking==0 ) {
+               channel=HIDDEN; 
             }
 
-            if ( this.backtracking == 0 ) {
-
-                if ( this.token == null && this.ruleNestingLevel == 1 ) {
-                    emit( _type,
-                          _line,
-                          _charPosition,
-                          _channel,
-                          _start,
-                          getCharIndex() - 1 );
-                }
-
             }
-        } finally {
-            this.ruleNestingLevel--;
+
+            this.type = _type;
         }
+        finally {
+        }
     }
-
     // $ANTLR end WS
 
     // $ANTLR start EOL
-    public void mEOL() throws RecognitionException {
+    public final void mEOL() throws RecognitionException {
         try {
-            this.ruleNestingLevel++;
             // C:\\dev\\jbossrules\\trunk3\\drools-compiler\\src\\main\\resources\\org\\drools\\lang\\DRL.g:1475:6: ( ( ( '\\r\\n' )=> '\\r\\n' | '\\r' | '\\n' ) )
             // C:\\dev\\jbossrules\\trunk3\\drools-compiler\\src\\main\\resources\\org\\drools\\lang\\DRL.g:1475:6: ( ( '\\r\\n' )=> '\\r\\n' | '\\r' | '\\n' )
             {
-                // C:\\dev\\jbossrules\\trunk3\\drools-compiler\\src\\main\\resources\\org\\drools\\lang\\DRL.g:1475:6: ( ( '\\r\\n' )=> '\\r\\n' | '\\r' | '\\n' )
-                int alt2 = 3;
-                final int LA2_0 = this.input.LA( 1 );
-                if ( (LA2_0 == '\r') ) {
-                    final int LA2_1 = this.input.LA( 2 );
-                    if ( (LA2_1 == '\n') ) {
-                        alt2 = 1;
-                    } else {
-                        alt2 = 2;
-                    }
-                } else if ( (LA2_0 == '\n') ) {
-                    alt2 = 3;
-                } else {
-                    if ( this.backtracking > 0 ) {
-                        this.failed = true;
-                        return;
-                    }
-                    final NoViableAltException nvae = new NoViableAltException( "1475:6: ( ( '\\r\\n' )=> '\\r\\n' | '\\r' | '\\n' )",
-                                                                          2,
-                                                                          0,
-                                                                          this.input );
+            // C:\\dev\\jbossrules\\trunk3\\drools-compiler\\src\\main\\resources\\org\\drools\\lang\\DRL.g:1475:6: ( ( '\\r\\n' )=> '\\r\\n' | '\\r' | '\\n' )
+            int alt2=3;
+            int LA2_0 = input.LA(1);
 
-                    throw nvae;
+            if ( (LA2_0=='\r') && (synpred1())) {
+                int LA2_1 = input.LA(2);
+
+                if ( (LA2_1=='\n') && (synpred1())) {
+                    alt2=1;
                 }
-                switch ( alt2 ) {
-                    case 1 :
-                        // C:\\dev\\jbossrules\\trunk3\\drools-compiler\\src\\main\\resources\\org\\drools\\lang\\DRL.g:1475:14: ( '\\r\\n' )=> '\\r\\n'
+                else {
+                    alt2=2;}
+            }
+            else if ( (LA2_0=='\n') ) {
+                alt2=3;
+            }
+            else {
+                if (backtracking>0) {failed=true; return ;}
+                NoViableAltException nvae =
+                    new NoViableAltException("1475:6: ( ( '\\r\\n' )=> '\\r\\n' | '\\r' | '\\n' )", 2, 0, input);
+
+                throw nvae;
+            }
+            switch (alt2) {
+                case 1 :
+                    // C:\\dev\\jbossrules\\trunk3\\drools-compiler\\src\\main\\resources\\org\\drools\\lang\\DRL.g:1475:14: ( '\\r\\n' )=> '\\r\\n'
                     {
-                        match( "\r\n" );
-                        if ( this.failed ) {
-                            return;
-                        }
+                    match("\r\n"); if (failed) return ;
 
+
                     }
-                        break;
-                    case 2 :
-                        // C:\\dev\\jbossrules\\trunk3\\drools-compiler\\src\\main\\resources\\org\\drools\\lang\\DRL.g:1476:25: '\\r'
+                    break;
+                case 2 :
+                    // C:\\dev\\jbossrules\\trunk3\\drools-compiler\\src\\main\\resources\\org\\drools\\lang\\DRL.g:1476:25: '\\r'
                     {
-                        match( '\r' );
-                        if ( this.failed ) {
-                            return;
-                        }
+                    match('\r'); if (failed) return ;
 
                     }
-                        break;
-                    case 3 :
-                        // C:\\dev\\jbossrules\\trunk3\\drools-compiler\\src\\main\\resources\\org\\drools\\lang\\DRL.g:1477:25: '\\n'
+                    break;
+                case 3 :
+                    // C:\\dev\\jbossrules\\trunk3\\drools-compiler\\src\\main\\resources\\org\\drools\\lang\\DRL.g:1477:25: '\\n'
                     {
-                        match( '\n' );
-                        if ( this.failed ) {
-                            return;
-                        }
+                    match('\n'); if (failed) return ;
 
                     }
-                        break;
+                    break;
 
-                }
+            }
 
+
             }
 
-        } finally {
-            this.ruleNestingLevel--;
         }
+        finally {
+        }
     }
-
     // $ANTLR end EOL
 
     // $ANTLR start INT
-    public void mINT() throws RecognitionException {
+    public final void mINT() throws RecognitionException {
         try {
-            this.ruleNestingLevel++;
-            final int _type = INT;
-            final int _start = getCharIndex();
-            final int _line = getLine();
-            final int _charPosition = getCharPositionInLine();
-            final int _channel = Token.DEFAULT_CHANNEL;
+            int _type = INT;
             // C:\\dev\\jbossrules\\trunk3\\drools-compiler\\src\\main\\resources\\org\\drools\\lang\\DRL.g:1482:4: ( ( '-' )? ( '0' .. '9' )+ )
             // C:\\dev\\jbossrules\\trunk3\\drools-compiler\\src\\main\\resources\\org\\drools\\lang\\DRL.g:1482:4: ( '-' )? ( '0' .. '9' )+
             {
-                // C:\\dev\\jbossrules\\trunk3\\drools-compiler\\src\\main\\resources\\org\\drools\\lang\\DRL.g:1482:4: ( '-' )?
-                int alt3 = 2;
-                final int LA3_0 = this.input.LA( 1 );
-                if ( (LA3_0 == '-') ) {
-                    alt3 = 1;
-                }
-                switch ( alt3 ) {
-                    case 1 :
-                        // C:\\dev\\jbossrules\\trunk3\\drools-compiler\\src\\main\\resources\\org\\drools\\lang\\DRL.g:1482:5: '-'
+            // C:\\dev\\jbossrules\\trunk3\\drools-compiler\\src\\main\\resources\\org\\drools\\lang\\DRL.g:1482:4: ( '-' )?
+            int alt3=2;
+            int LA3_0 = input.LA(1);
+
+            if ( (LA3_0=='-') ) {
+                alt3=1;
+            }
+            switch (alt3) {
+                case 1 :
+                    // C:\\dev\\jbossrules\\trunk3\\drools-compiler\\src\\main\\resources\\org\\drools\\lang\\DRL.g:1482:5: '-'
                     {
-                        match( '-' );
-                        if ( this.failed ) {
-                            return;
-                        }
+                    match('-'); if (failed) return ;
 
                     }
-                        break;
+                    break;
 
-                }
+            }
 
-                // C:\\dev\\jbossrules\\trunk3\\drools-compiler\\src\\main\\resources\\org\\drools\\lang\\DRL.g:1482:10: ( '0' .. '9' )+
-                int cnt4 = 0;
-                loop4 : do {
-                    int alt4 = 2;
-                    final int LA4_0 = this.input.LA( 1 );
-                    if ( ((LA4_0 >= '0' && LA4_0 <= '9')) ) {
-                        alt4 = 1;
-                    }
+            // C:\\dev\\jbossrules\\trunk3\\drools-compiler\\src\\main\\resources\\org\\drools\\lang\\DRL.g:1482:10: ( '0' .. '9' )+
+            int cnt4=0;
+            loop4:
+            do {
+                int alt4=2;
+                int LA4_0 = input.LA(1);
 
-                    switch ( alt4 ) {
-                        case 1 :
-                            // C:\\dev\\jbossrules\\trunk3\\drools-compiler\\src\\main\\resources\\org\\drools\\lang\\DRL.g:1482:11: '0' .. '9'
-                        {
-                            matchRange( '0',
-                                        '9' );
-                            if ( this.failed ) {
-                                return;
-                            }
+                if ( ((LA4_0>='0' && LA4_0<='9')) ) {
+                    alt4=1;
+                }
 
-                        }
-                            break;
 
-                        default :
-                            if ( cnt4 >= 1 ) {
-                                break loop4;
-                            }
-                            if ( this.backtracking > 0 ) {
-                                this.failed = true;
-                                return;
-                            }
-                            final EarlyExitException eee = new EarlyExitException( 4,
-                                                                             this.input );
-                            throw eee;
-                    }
-                    cnt4++;
-                } while ( true );
+                switch (alt4) {
+            	case 1 :
+            	    // C:\\dev\\jbossrules\\trunk3\\drools-compiler\\src\\main\\resources\\org\\drools\\lang\\DRL.g:1482:11: '0' .. '9'
+            	    {
+            	    matchRange('0','9'); if (failed) return ;
 
-            }
+            	    }
+            	    break;
 
-            if ( this.backtracking == 0 ) {
-
-                if ( this.token == null && this.ruleNestingLevel == 1 ) {
-                    emit( _type,
-                          _line,
-                          _charPosition,
-                          _channel,
-                          _start,
-                          getCharIndex() - 1 );
+            	default :
+            	    if ( cnt4 >= 1 ) break loop4;
+            	    if (backtracking>0) {failed=true; return ;}
+                        EarlyExitException eee =
+                            new EarlyExitException(4, input);
+                        throw eee;
                 }
+                cnt4++;
+            } while (true);
 
+
             }
-        } finally {
-            this.ruleNestingLevel--;
+
+            this.type = _type;
         }
+        finally {
+        }
     }
-
     // $ANTLR end INT
 
     // $ANTLR start FLOAT
-    public void mFLOAT() throws RecognitionException {
+    public final void mFLOAT() throws RecognitionException {
         try {
-            this.ruleNestingLevel++;
-            final int _type = FLOAT;
-            final int _start = getCharIndex();
-            final int _line = getLine();
-            final int _charPosition = getCharPositionInLine();
-            final int _channel = Token.DEFAULT_CHANNEL;
+            int _type = FLOAT;
             // C:\\dev\\jbossrules\\trunk3\\drools-compiler\\src\\main\\resources\\org\\drools\\lang\\DRL.g:1486:4: ( ( '-' )? ( '0' .. '9' )+ '.' ( '0' .. '9' )+ )
             // C:\\dev\\jbossrules\\trunk3\\drools-compiler\\src\\main\\resources\\org\\drools\\lang\\DRL.g:1486:4: ( '-' )? ( '0' .. '9' )+ '.' ( '0' .. '9' )+
             {
-                // C:\\dev\\jbossrules\\trunk3\\drools-compiler\\src\\main\\resources\\org\\drools\\lang\\DRL.g:1486:4: ( '-' )?
-                int alt5 = 2;
-                final int LA5_0 = this.input.LA( 1 );
-                if ( (LA5_0 == '-') ) {
-                    alt5 = 1;
-                }
-                switch ( alt5 ) {
-                    case 1 :
-                        // C:\\dev\\jbossrules\\trunk3\\drools-compiler\\src\\main\\resources\\org\\drools\\lang\\DRL.g:1486:5: '-'
+            // C:\\dev\\jbossrules\\trunk3\\drools-compiler\\src\\main\\resources\\org\\drools\\lang\\DRL.g:1486:4: ( '-' )?
+            int alt5=2;
+            int LA5_0 = input.LA(1);
+
+            if ( (LA5_0=='-') ) {
+                alt5=1;
+            }
+            switch (alt5) {
+                case 1 :
+                    // C:\\dev\\jbossrules\\trunk3\\drools-compiler\\src\\main\\resources\\org\\drools\\lang\\DRL.g:1486:5: '-'
                     {
-                        match( '-' );
-                        if ( this.failed ) {
-                            return;
-                        }
+                    match('-'); if (failed) return ;
 
                     }
-                        break;
+                    break;
 
-                }
+            }
 
-                // C:\\dev\\jbossrules\\trunk3\\drools-compiler\\src\\main\\resources\\org\\drools\\lang\\DRL.g:1486:10: ( '0' .. '9' )+
-                int cnt6 = 0;
-                loop6 : do {
-                    int alt6 = 2;
-                    final int LA6_0 = this.input.LA( 1 );
-                    if ( ((LA6_0 >= '0' && LA6_0 <= '9')) ) {
-                        alt6 = 1;
-                    }
+            // C:\\dev\\jbossrules\\trunk3\\drools-compiler\\src\\main\\resources\\org\\drools\\lang\\DRL.g:1486:10: ( '0' .. '9' )+
+            int cnt6=0;
+            loop6:
+            do {
+                int alt6=2;
+                int LA6_0 = input.LA(1);
 
-                    switch ( alt6 ) {
-                        case 1 :
-                            // C:\\dev\\jbossrules\\trunk3\\drools-compiler\\src\\main\\resources\\org\\drools\\lang\\DRL.g:1486:11: '0' .. '9'
-                        {
-                            matchRange( '0',
-                                        '9' );
-                            if ( this.failed ) {
-                                return;
-                            }
+                if ( ((LA6_0>='0' && LA6_0<='9')) ) {
+                    alt6=1;
+                }
 
-                        }
-                            break;
 
-                        default :
-                            if ( cnt6 >= 1 ) {
-                                break loop6;
-                            }
-                            if ( this.backtracking > 0 ) {
-                                this.failed = true;
-                                return;
-                            }
-                            final EarlyExitException eee = new EarlyExitException( 6,
-                                                                             this.input );
-                            throw eee;
-                    }
-                    cnt6++;
-                } while ( true );
+                switch (alt6) {
+            	case 1 :
+            	    // C:\\dev\\jbossrules\\trunk3\\drools-compiler\\src\\main\\resources\\org\\drools\\lang\\DRL.g:1486:11: '0' .. '9'
+            	    {
+            	    matchRange('0','9'); if (failed) return ;
 
-                match( '.' );
-                if ( this.failed ) {
-                    return;
+            	    }
+            	    break;
+
+            	default :
+            	    if ( cnt6 >= 1 ) break loop6;
+            	    if (backtracking>0) {failed=true; return ;}
+                        EarlyExitException eee =
+                            new EarlyExitException(6, input);
+                        throw eee;
                 }
-                // C:\\dev\\jbossrules\\trunk3\\drools-compiler\\src\\main\\resources\\org\\drools\\lang\\DRL.g:1486:26: ( '0' .. '9' )+
-                int cnt7 = 0;
-                loop7 : do {
-                    int alt7 = 2;
-                    final int LA7_0 = this.input.LA( 1 );
-                    if ( ((LA7_0 >= '0' && LA7_0 <= '9')) ) {
-                        alt7 = 1;
-                    }
+                cnt6++;
+            } while (true);
 
-                    switch ( alt7 ) {
-                        case 1 :
-                            // C:\\dev\\jbossrules\\trunk3\\drools-compiler\\src\\main\\resources\\org\\drools\\lang\\DRL.g:1486:27: '0' .. '9'
-                        {
-                            matchRange( '0',
-                                        '9' );
-                            if ( this.failed ) {
-                                return;
-                            }
+            match('.'); if (failed) return ;
+            // C:\\dev\\jbossrules\\trunk3\\drools-compiler\\src\\main\\resources\\org\\drools\\lang\\DRL.g:1486:26: ( '0' .. '9' )+
+            int cnt7=0;
+            loop7:
+            do {
+                int alt7=2;
+                int LA7_0 = input.LA(1);
 
-                        }
-                            break;
+                if ( ((LA7_0>='0' && LA7_0<='9')) ) {
+                    alt7=1;
+                }
 
-                        default :
-                            if ( cnt7 >= 1 ) {
-                                break loop7;
-                            }
-                            if ( this.backtracking > 0 ) {
-                                this.failed = true;
-                                return;
-                            }
-                            final EarlyExitException eee = new EarlyExitException( 7,
-                                                                             this.input );
-                            throw eee;
-                    }
-                    cnt7++;
-                } while ( true );
 
-            }
+                switch (alt7) {
+            	case 1 :
+            	    // C:\\dev\\jbossrules\\trunk3\\drools-compiler\\src\\main\\resources\\org\\drools\\lang\\DRL.g:1486:27: '0' .. '9'
+            	    {
+            	    matchRange('0','9'); if (failed) return ;
 
-            if ( this.backtracking == 0 ) {
+            	    }
+            	    break;
 
-                if ( this.token == null && this.ruleNestingLevel == 1 ) {
-                    emit( _type,
-                          _line,
-                          _charPosition,
-                          _channel,
-                          _start,
-                          getCharIndex() - 1 );
+            	default :
+            	    if ( cnt7 >= 1 ) break loop7;
+            	    if (backtracking>0) {failed=true; return ;}
+                        EarlyExitException eee =
+                            new EarlyExitException(7, input);
+                        throw eee;
                 }
+                cnt7++;
+            } while (true);
 
+
             }
-        } finally {
-            this.ruleNestingLevel--;
+
+            this.type = _type;
         }
+        finally {
+        }
     }
-
     // $ANTLR end FLOAT
 
     // $ANTLR start STRING
-    public void mSTRING() throws RecognitionException {
+    public final void mSTRING() throws RecognitionException {
         try {
-            this.ruleNestingLevel++;
-            final int _type = STRING;
-            final int _start = getCharIndex();
-            final int _line = getLine();
-            final int _charPosition = getCharPositionInLine();
-            final int _channel = Token.DEFAULT_CHANNEL;
-            // C:\\dev\\jbossrules\\trunk3\\drools-compiler\\src\\main\\resources\\org\\drools\\lang\\DRL.g:1490:8: ( ( '\"' ( EscapeSequence | ~ ('\\\\'|'\"'))* '\"' ) | ( '\\'' ( EscapeSequence | ~ ('\\\\'|'\\''))* '\\'' ) )
-            int alt10 = 2;
-            final int LA10_0 = this.input.LA( 1 );
-            if ( (LA10_0 == '\"') ) {
-                alt10 = 1;
-            } else if ( (LA10_0 == '\'') ) {
-                alt10 = 2;
-            } else {
-                if ( this.backtracking > 0 ) {
-                    this.failed = true;
-                    return;
-                }
-                final NoViableAltException nvae = new NoViableAltException( "1489:1: STRING : ( ( '\"' ( EscapeSequence | ~ ('\\\\'|'\"'))* '\"' ) | ( '\\'' ( EscapeSequence | ~ ('\\\\'|'\\''))* '\\'' ) );",
-                                                                      10,
-                                                                      0,
-                                                                      this.input );
+            int _type = STRING;
+            // C:\\dev\\jbossrules\\trunk3\\drools-compiler\\src\\main\\resources\\org\\drools\\lang\\DRL.g:1490:8: ( ( '\"' ( EscapeSequence | ~ ( '\\\\' | '\"' ) )* '\"' ) | ( '\\'' ( EscapeSequence | ~ ( '\\\\' | '\\'' ) )* '\\'' ) )
+            int alt10=2;
+            int LA10_0 = input.LA(1);
 
+            if ( (LA10_0=='\"') ) {
+                alt10=1;
+            }
+            else if ( (LA10_0=='\'') ) {
+                alt10=2;
+            }
+            else {
+                if (backtracking>0) {failed=true; return ;}
+                NoViableAltException nvae =
+                    new NoViableAltException("1489:1: STRING : ( ( '\"' ( EscapeSequence | ~ ( '\\\\' | '\"' ) )* '\"' ) | ( '\\'' ( EscapeSequence | ~ ( '\\\\' | '\\'' ) )* '\\'' ) );", 10, 0, input);
+
                 throw nvae;
             }
-            switch ( alt10 ) {
+            switch (alt10) {
                 case 1 :
-                    // C:\\dev\\jbossrules\\trunk3\\drools-compiler\\src\\main\\resources\\org\\drools\\lang\\DRL.g:1490:8: ( '\"' ( EscapeSequence | ~ ('\\\\'|'\"'))* '\"' )
-                {
-                    // C:\\dev\\jbossrules\\trunk3\\drools-compiler\\src\\main\\resources\\org\\drools\\lang\\DRL.g:1490:8: ( '\"' ( EscapeSequence | ~ ('\\\\'|'\"'))* '\"' )
-                    // C:\\dev\\jbossrules\\trunk3\\drools-compiler\\src\\main\\resources\\org\\drools\\lang\\DRL.g:1490:9: '\"' ( EscapeSequence | ~ ('\\\\'|'\"'))* '\"'
+                    // C:\\dev\\jbossrules\\trunk3\\drools-compiler\\src\\main\\resources\\org\\drools\\lang\\DRL.g:1490:8: ( '\"' ( EscapeSequence | ~ ( '\\\\' | '\"' ) )* '\"' )
                     {
-                        match( '\"' );
-                        if ( this.failed ) {
-                            return;
+                    // C:\\dev\\jbossrules\\trunk3\\drools-compiler\\src\\main\\resources\\org\\drools\\lang\\DRL.g:1490:8: ( '\"' ( EscapeSequence | ~ ( '\\\\' | '\"' ) )* '\"' )
+                    // C:\\dev\\jbossrules\\trunk3\\drools-compiler\\src\\main\\resources\\org\\drools\\lang\\DRL.g:1490:9: '\"' ( EscapeSequence | ~ ( '\\\\' | '\"' ) )* '\"'
+                    {
+                    match('\"'); if (failed) return ;
+                    // C:\\dev\\jbossrules\\trunk3\\drools-compiler\\src\\main\\resources\\org\\drools\\lang\\DRL.g:1490:13: ( EscapeSequence | ~ ( '\\\\' | '\"' ) )*
+                    loop8:
+                    do {
+                        int alt8=3;
+                        int LA8_0 = input.LA(1);
+
+                        if ( (LA8_0=='\\') ) {
+                            alt8=1;
                         }
-                        // C:\\dev\\jbossrules\\trunk3\\drools-compiler\\src\\main\\resources\\org\\drools\\lang\\DRL.g:1490:13: ( EscapeSequence | ~ ('\\\\'|'\"'))*
-                        loop8 : do {
-                            int alt8 = 3;
-                            final int LA8_0 = this.input.LA( 1 );
-                            if ( (LA8_0 == '\\') ) {
-                                alt8 = 1;
-                            } else if ( ((LA8_0 >= '\u0000' && LA8_0 <= '!') || (LA8_0 >= '#' && LA8_0 <= '[') || (LA8_0 >= ']' && LA8_0 <= '\uFFFE')) ) {
-                                alt8 = 2;
-                            }
+                        else if ( ((LA8_0>='\u0000' && LA8_0<='!')||(LA8_0>='#' && LA8_0<='[')||(LA8_0>=']' && LA8_0<='\uFFFE')) ) {
+                            alt8=2;
+                        }
 
-                            switch ( alt8 ) {
-                                case 1 :
-                                    // C:\\dev\\jbossrules\\trunk3\\drools-compiler\\src\\main\\resources\\org\\drools\\lang\\DRL.g:1490:15: EscapeSequence
-                                {
-                                    mEscapeSequence();
-                                    if ( this.failed ) {
-                                        return;
-                                    }
 
-                                }
-                                    break;
-                                case 2 :
-                                    // C:\\dev\\jbossrules\\trunk3\\drools-compiler\\src\\main\\resources\\org\\drools\\lang\\DRL.g:1490:32: ~ ('\\\\'|'\"')
-                                {
-                                    if ( (this.input.LA( 1 ) >= '\u0000' && this.input.LA( 1 ) <= '!') || (this.input.LA( 1 ) >= '#' && this.input.LA( 1 ) <= '[') || (this.input.LA( 1 ) >= ']' && this.input.LA( 1 ) <= '\uFFFE') ) {
-                                        this.input.consume();
-                                        this.failed = false;
-                                    } else {
-                                        if ( this.backtracking > 0 ) {
-                                            this.failed = true;
-                                            return;
-                                        }
-                                        final MismatchedSetException mse = new MismatchedSetException( null,
-                                                                                                 this.input );
-                                        recover( mse );
-                                        throw mse;
-                                    }
+                        switch (alt8) {
+                    	case 1 :
+                    	    // C:\\dev\\jbossrules\\trunk3\\drools-compiler\\src\\main\\resources\\org\\drools\\lang\\DRL.g:1490:15: EscapeSequence
+                    	    {
+                    	    mEscapeSequence(); if (failed) return ;
 
-                                }
-                                    break;
+                    	    }
+                    	    break;
+                    	case 2 :
+                    	    // C:\\dev\\jbossrules\\trunk3\\drools-compiler\\src\\main\\resources\\org\\drools\\lang\\DRL.g:1490:32: ~ ( '\\\\' | '\"' )
+                    	    {
+                    	    if ( (input.LA(1)>='\u0000' && input.LA(1)<='!')||(input.LA(1)>='#' && input.LA(1)<='[')||(input.LA(1)>=']' && input.LA(1)<='\uFFFE') ) {
+                    	        input.consume();
+                    	    failed=false;
+                    	    }
+                    	    else {
+                    	        if (backtracking>0) {failed=true; return ;}
+                    	        MismatchedSetException mse =
+                    	            new MismatchedSetException(null,input);
+                    	        recover(mse);    throw mse;
+                    	    }
 
-                                default :
-                                    break loop8;
-                            }
-                        } while ( true );
 
-                        match( '\"' );
-                        if ( this.failed ) {
-                            return;
+                    	    }
+                    	    break;
+
+                    	default :
+                    	    break loop8;
                         }
+                    } while (true);
 
+                    match('\"'); if (failed) return ;
+
                     }
 
-                }
+
+                    }
                     break;
                 case 2 :
-                    // C:\\dev\\jbossrules\\trunk3\\drools-compiler\\src\\main\\resources\\org\\drools\\lang\\DRL.g:1491:8: ( '\\'' ( EscapeSequence | ~ ('\\\\'|'\\''))* '\\'' )
-                {
-                    // C:\\dev\\jbossrules\\trunk3\\drools-compiler\\src\\main\\resources\\org\\drools\\lang\\DRL.g:1491:8: ( '\\'' ( EscapeSequence | ~ ('\\\\'|'\\''))* '\\'' )
-                    // C:\\dev\\jbossrules\\trunk3\\drools-compiler\\src\\main\\resources\\org\\drools\\lang\\DRL.g:1491:9: '\\'' ( EscapeSequence | ~ ('\\\\'|'\\''))* '\\''
+                    // C:\\dev\\jbossrules\\trunk3\\drools-compiler\\src\\main\\resources\\org\\drools\\lang\\DRL.g:1491:8: ( '\\'' ( EscapeSequence | ~ ( '\\\\' | '\\'' ) )* '\\'' )
                     {
-                        match( '\'' );
-                        if ( this.failed ) {
-                            return;
+                    // C:\\dev\\jbossrules\\trunk3\\drools-compiler\\src\\main\\resources\\org\\drools\\lang\\DRL.g:1491:8: ( '\\'' ( EscapeSequence | ~ ( '\\\\' | '\\'' ) )* '\\'' )
+                    // C:\\dev\\jbossrules\\trunk3\\drools-compiler\\src\\main\\resources\\org\\drools\\lang\\DRL.g:1491:9: '\\'' ( EscapeSequence | ~ ( '\\\\' | '\\'' ) )* '\\''
+                    {
+                    match('\''); if (failed) return ;
+                    // C:\\dev\\jbossrules\\trunk3\\drools-compiler\\src\\main\\resources\\org\\drools\\lang\\DRL.g:1491:14: ( EscapeSequence | ~ ( '\\\\' | '\\'' ) )*
+                    loop9:
+                    do {
+                        int alt9=3;
+                        int LA9_0 = input.LA(1);
+
+                        if ( (LA9_0=='\\') ) {
+                            alt9=1;
                         }
-                        // C:\\dev\\jbossrules\\trunk3\\drools-compiler\\src\\main\\resources\\org\\drools\\lang\\DRL.g:1491:14: ( EscapeSequence | ~ ('\\\\'|'\\''))*
-                        loop9 : do {
-                            int alt9 = 3;
-                            final int LA9_0 = this.input.LA( 1 );
-                            if ( (LA9_0 == '\\') ) {
-                                alt9 = 1;
-                            } else if ( ((LA9_0 >= '\u0000' && LA9_0 <= '&') || (LA9_0 >= '(' && LA9_0 <= '[') || (LA9_0 >= ']' && LA9_0 <= '\uFFFE')) ) {
-                                alt9 = 2;
-                            }
+                        else if ( ((LA9_0>='\u0000' && LA9_0<='&')||(LA9_0>='(' && LA9_0<='[')||(LA9_0>=']' && LA9_0<='\uFFFE')) ) {
+                            alt9=2;
+                        }
 
-                            switch ( alt9 ) {
-                                case 1 :
-                                    // C:\\dev\\jbossrules\\trunk3\\drools-compiler\\src\\main\\resources\\org\\drools\\lang\\DRL.g:1491:16: EscapeSequence
-                                {
-                                    mEscapeSequence();
-                                    if ( this.failed ) {
-                                        return;
-                                    }
 
-                                }
-                                    break;
-                                case 2 :
-                                    // C:\\dev\\jbossrules\\trunk3\\drools-compiler\\src\\main\\resources\\org\\drools\\lang\\DRL.g:1491:33: ~ ('\\\\'|'\\'')
-                                {
-                                    if ( (this.input.LA( 1 ) >= '\u0000' && this.input.LA( 1 ) <= '&') || (this.input.LA( 1 ) >= '(' && this.input.LA( 1 ) <= '[') || (this.input.LA( 1 ) >= ']' && this.input.LA( 1 ) <= '\uFFFE') ) {
-                                        this.input.consume();
-                                        this.failed = false;
-                                    } else {
-                                        if ( this.backtracking > 0 ) {
-                                            this.failed = true;
-                                            return;
-                                        }
-                                        final MismatchedSetException mse = new MismatchedSetException( null,
-                                                                                                 this.input );
-                                        recover( mse );
-                                        throw mse;
-                                    }
+                        switch (alt9) {
+                    	case 1 :
+                    	    // C:\\dev\\jbossrules\\trunk3\\drools-compiler\\src\\main\\resources\\org\\drools\\lang\\DRL.g:1491:16: EscapeSequence
+                    	    {
+                    	    mEscapeSequence(); if (failed) return ;
 
-                                }
-                                    break;
+                    	    }
+                    	    break;
+                    	case 2 :
+                    	    // C:\\dev\\jbossrules\\trunk3\\drools-compiler\\src\\main\\resources\\org\\drools\\lang\\DRL.g:1491:33: ~ ( '\\\\' | '\\'' )
+                    	    {
+                    	    if ( (input.LA(1)>='\u0000' && input.LA(1)<='&')||(input.LA(1)>='(' && input.LA(1)<='[')||(input.LA(1)>=']' && input.LA(1)<='\uFFFE') ) {
+                    	        input.consume();
+                    	    failed=false;
+                    	    }
+                    	    else {
+                    	        if (backtracking>0) {failed=true; return ;}
+                    	        MismatchedSetException mse =
+                    	            new MismatchedSetException(null,input);
+                    	        recover(mse);    throw mse;
+                    	    }
 
-                                default :
-                                    break loop9;
-                            }
-                        } while ( true );
 
-                        match( '\'' );
-                        if ( this.failed ) {
-                            return;
+                    	    }
+                    	    break;
+
+                    	default :
+                    	    break loop9;
                         }
+                    } while (true);
 
+                    match('\''); if (failed) return ;
+
                     }
 
-                }
+
+                    }
                     break;
 
             }
-
-            if ( this.backtracking == 0 ) {
-
-                if ( this.token == null && this.ruleNestingLevel == 1 ) {
-                    emit( _type,
-                          _line,
-                          _charPosition,
-                          _channel,
-                          _start,
-                          getCharIndex() - 1 );
-                }
-
-            }
-        } finally {
-            this.ruleNestingLevel--;
+            this.type = _type;
         }
+        finally {
+        }
     }
-
     // $ANTLR end STRING
 
     // $ANTLR start HexDigit
-    public void mHexDigit() throws RecognitionException {
+    public final void mHexDigit() throws RecognitionException {
         try {
-            this.ruleNestingLevel++;
-            // C:\\dev\\jbossrules\\trunk3\\drools-compiler\\src\\main\\resources\\org\\drools\\lang\\DRL.g:1495:12: ( ('0'..'9'|'a'..'f'|'A'..'F'))
-            // C:\\dev\\jbossrules\\trunk3\\drools-compiler\\src\\main\\resources\\org\\drools\\lang\\DRL.g:1495:12: ('0'..'9'|'a'..'f'|'A'..'F')
+            // C:\\dev\\jbossrules\\trunk3\\drools-compiler\\src\\main\\resources\\org\\drools\\lang\\DRL.g:1495:12: ( ( '0' .. '9' | 'a' .. 'f' | 'A' .. 'F' ) )
+            // C:\\dev\\jbossrules\\trunk3\\drools-compiler\\src\\main\\resources\\org\\drools\\lang\\DRL.g:1495:12: ( '0' .. '9' | 'a' .. 'f' | 'A' .. 'F' )
             {
-                if ( (this.input.LA( 1 ) >= '0' && this.input.LA( 1 ) <= '9') || (this.input.LA( 1 ) >= 'A' && this.input.LA( 1 ) <= 'F') || (this.input.LA( 1 ) >= 'a' && this.input.LA( 1 ) <= 'f') ) {
-                    this.input.consume();
-                    this.failed = false;
-                } else {
-                    if ( this.backtracking > 0 ) {
-                        this.failed = true;
-                        return;
-                    }
-                    final MismatchedSetException mse = new MismatchedSetException( null,
-                                                                             this.input );
-                    recover( mse );
-                    throw mse;
-                }
+            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();
+            failed=false;
+            }
+            else {
+                if (backtracking>0) {failed=true; return ;}
+                MismatchedSetException mse =
+                    new MismatchedSetException(null,input);
+                recover(mse);    throw mse;
+            }
 
+
             }
 
-        } finally {
-            this.ruleNestingLevel--;
         }
+        finally {
+        }
     }
-
     // $ANTLR end HexDigit
 
     // $ANTLR start EscapeSequence
-    public void mEscapeSequence() throws RecognitionException {
+    public final void mEscapeSequence() throws RecognitionException {
         try {
-            this.ruleNestingLevel++;
-            // C:\\dev\\jbossrules\\trunk3\\drools-compiler\\src\\main\\resources\\org\\drools\\lang\\DRL.g:1499:9: ( '\\\\' ('b'|'t'|'n'|'f'|'r'|'\\\"'|'\\''|'\\\\'|'.') | UnicodeEscape | OctalEscape )
-            int alt11 = 3;
-            final int LA11_0 = this.input.LA( 1 );
-            if ( (LA11_0 == '\\') ) {
-                switch ( this.input.LA( 2 ) ) {
-                    case '\"' :
-                    case '\'' :
-                    case '.' :
-                    case '\\' :
-                    case 'b' :
-                    case 'f' :
-                    case 'n' :
-                    case 'r' :
-                    case 't' :
-                        alt11 = 1;
-                        break;
-                    case 'u' :
-                        alt11 = 2;
-                        break;
-                    case '0' :
-                    case '1' :
-                    case '2' :
-                    case '3' :
-                    case '4' :
-                    case '5' :
-                    case '6' :
-                    case '7' :
-                        alt11 = 3;
-                        break;
-                    default :
-                        if ( this.backtracking > 0 ) {
-                            this.failed = true;
-                            return;
-                        }
-                        final NoViableAltException nvae = new NoViableAltException( "1497:1: fragment EscapeSequence : ( '\\\\' ('b'|'t'|'n'|'f'|'r'|'\\\"'|'\\''|'\\\\'|'.') | UnicodeEscape | OctalEscape );",
-                                                                              11,
-                                                                              1,
-                                                                              this.input );
+            // C:\\dev\\jbossrules\\trunk3\\drools-compiler\\src\\main\\resources\\org\\drools\\lang\\DRL.g:1499:9: ( '\\\\' ( 'b' | 't' | 'n' | 'f' | 'r' | '\\\"' | '\\'' | '\\\\' | '.' ) | UnicodeEscape | OctalEscape )
+            int alt11=3;
+            int LA11_0 = input.LA(1);
 
-                        throw nvae;
-                }
+            if ( (LA11_0=='\\') ) {
+                switch ( input.LA(2) ) {
+                case '\"':
+                case '\'':
+                case '.':
+                case '\\':
+                case 'b':
+                case 'f':
+                case 'n':
+                case 'r':
+                case 't':
+                    {
+                    alt11=1;
+                    }
+                    break;
+                case 'u':
+                    {
+                    alt11=2;
+                    }
+                    break;
+                case '0':
+                case '1':
+                case '2':
+                case '3':
+                case '4':
+                case '5':
+                case '6':
+                case '7':
+                    {
+                    alt11=3;
+                    }
+                    break;
+                default:
+                    if (backtracking>0) {failed=true; return ;}
+                    NoViableAltException nvae =
+                        new NoViableAltException("1497:1: fragment EscapeSequence : ( '\\\\' ( 'b' | 't' | 'n' | 'f' | 'r' | '\\\"' | '\\'' | '\\\\' | '.' ) | UnicodeEscape | OctalEscape );", 11, 1, input);
 
-            } else {
-                if ( this.backtracking > 0 ) {
-                    this.failed = true;
-                    return;
+                    throw nvae;
                 }
-                final NoViableAltException nvae = new NoViableAltException( "1497:1: fragment EscapeSequence : ( '\\\\' ('b'|'t'|'n'|'f'|'r'|'\\\"'|'\\''|'\\\\'|'.') | UnicodeEscape | OctalEscape );",
-                                                                      11,
-                                                                      0,
-                                                                      this.input );
 
+            }
+            else {
+                if (backtracking>0) {failed=true; return ;}
+                NoViableAltException nvae =
+                    new NoViableAltException("1497:1: fragment EscapeSequence : ( '\\\\' ( 'b' | 't' | 'n' | 'f' | 'r' | '\\\"' | '\\'' | '\\\\' | '.' ) | UnicodeEscape | OctalEscape );", 11, 0, input);
+
                 throw nvae;
             }
-            switch ( alt11 ) {
+            switch (alt11) {
                 case 1 :
-                    // C:\\dev\\jbossrules\\trunk3\\drools-compiler\\src\\main\\resources\\org\\drools\\lang\\DRL.g:1499:9: '\\\\' ('b'|'t'|'n'|'f'|'r'|'\\\"'|'\\''|'\\\\'|'.')
-                {
-                    match( '\\' );
-                    if ( this.failed ) {
-                        return;
+                    // C:\\dev\\jbossrules\\trunk3\\drools-compiler\\src\\main\\resources\\org\\drools\\lang\\DRL.g:1499:9: '\\\\' ( 'b' | 't' | 'n' | 'f' | 'r' | '\\\"' | '\\'' | '\\\\' | '.' )
+                    {
+                    match('\\'); if (failed) return ;
+                    if ( input.LA(1)=='\"'||input.LA(1)=='\''||input.LA(1)=='.'||input.LA(1)=='\\'||input.LA(1)=='b'||input.LA(1)=='f'||input.LA(1)=='n'||input.LA(1)=='r'||input.LA(1)=='t' ) {
+                        input.consume();
+                    failed=false;
                     }
-                    if ( this.input.LA( 1 ) == '\"' || this.input.LA( 1 ) == '\'' || this.input.LA( 1 ) == '.' || this.input.LA( 1 ) == '\\' || this.input.LA( 1 ) == 'b' || this.input.LA( 1 ) == 'f' || this.input.LA( 1 ) == 'n' || this.input.LA( 1 ) == 'r' || this.input.LA( 1 ) == 't' ) {
-                        this.input.consume();
-                        this.failed = false;
-                    } else {
-                        if ( this.backtracking > 0 ) {
-                            this.failed = true;
-                            return;
-                        }
-                        final MismatchedSetException mse = new MismatchedSetException( null,
-                                                                                 this.input );
-                        recover( mse );
-                        throw mse;
+                    else {
+                        if (backtracking>0) {failed=true; return ;}
+                        MismatchedSetException mse =
+                            new MismatchedSetException(null,input);
+                        recover(mse);    throw mse;
                     }
 
-                }
+
+                    }
                     break;
                 case 2 :
                     // C:\\dev\\jbossrules\\trunk3\\drools-compiler\\src\\main\\resources\\org\\drools\\lang\\DRL.g:1500:9: UnicodeEscape
-                {
-                    mUnicodeEscape();
-                    if ( this.failed ) {
-                        return;
-                    }
+                    {
+                    mUnicodeEscape(); if (failed) return ;
 
-                }
+                    }
                     break;
                 case 3 :
                     // C:\\dev\\jbossrules\\trunk3\\drools-compiler\\src\\main\\resources\\org\\drools\\lang\\DRL.g:1501:9: OctalEscape
-                {
-                    mOctalEscape();
-                    if ( this.failed ) {
-                        return;
-                    }
+                    {
+                    mOctalEscape(); if (failed) return ;
 
-                }
+                    }
                     break;
 
             }
-        } finally {
-            this.ruleNestingLevel--;
         }
+        finally {
+        }
     }
-
     // $ANTLR end EscapeSequence
 
     // $ANTLR start OctalEscape
-    public void mOctalEscape() throws RecognitionException {
+    public final void mOctalEscape() throws RecognitionException {
         try {
-            this.ruleNestingLevel++;
             // C:\\dev\\jbossrules\\trunk3\\drools-compiler\\src\\main\\resources\\org\\drools\\lang\\DRL.g:1506:9: ( '\\\\' ( '0' .. '3' ) ( '0' .. '7' ) ( '0' .. '7' ) | '\\\\' ( '0' .. '7' ) ( '0' .. '7' ) | '\\\\' ( '0' .. '7' ) )
-            int alt12 = 3;
-            final int LA12_0 = this.input.LA( 1 );
-            if ( (LA12_0 == '\\') ) {
-                final int LA12_1 = this.input.LA( 2 );
-                if ( ((LA12_1 >= '0' && LA12_1 <= '3')) ) {
-                    final int LA12_2 = this.input.LA( 3 );
-                    if ( ((LA12_2 >= '0' && LA12_2 <= '7')) ) {
-                        final int LA12_4 = this.input.LA( 4 );
-                        if ( ((LA12_4 >= '0' && LA12_4 <= '7')) ) {
-                            alt12 = 1;
-                        } else {
-                            alt12 = 2;
+            int alt12=3;
+            int LA12_0 = input.LA(1);
+
+            if ( (LA12_0=='\\') ) {
+                int LA12_1 = input.LA(2);
+
+                if ( ((LA12_1>='0' && LA12_1<='3')) ) {
+                    int LA12_2 = input.LA(3);
+
+                    if ( ((LA12_2>='0' && LA12_2<='7')) ) {
+                        int LA12_4 = input.LA(4);
+
+                        if ( ((LA12_4>='0' && LA12_4<='7')) ) {
+                            alt12=1;
                         }
-                    } else {
-                        alt12 = 3;
+                        else {
+                            alt12=2;}
                     }
-                } else if ( ((LA12_1 >= '4' && LA12_1 <= '7')) ) {
-                    final int LA12_3 = this.input.LA( 3 );
-                    if ( ((LA12_3 >= '0' && LA12_3 <= '7')) ) {
-                        alt12 = 2;
-                    } else {
-                        alt12 = 3;
+                    else {
+                        alt12=3;}
+                }
+                else if ( ((LA12_1>='4' && LA12_1<='7')) ) {
+                    int LA12_3 = input.LA(3);
+
+                    if ( ((LA12_3>='0' && LA12_3<='7')) ) {
+                        alt12=2;
                     }
-                } else {
-                    if ( this.backtracking > 0 ) {
-                        this.failed = true;
-                        return;
-                    }
-                    final NoViableAltException nvae = new NoViableAltException( "1504:1: fragment OctalEscape : ( '\\\\' ( '0' .. '3' ) ( '0' .. '7' ) ( '0' .. '7' ) | '\\\\' ( '0' .. '7' ) ( '0' .. '7' ) | '\\\\' ( '0' .. '7' ) );",
-                                                                          12,
-                                                                          1,
-                                                                          this.input );
+                    else {
+                        alt12=3;}
+                }
+                else {
+                    if (backtracking>0) {failed=true; return ;}
+                    NoViableAltException nvae =
+                        new NoViableAltException("1504:1: fragment OctalEscape : ( '\\\\' ( '0' .. '3' ) ( '0' .. '7' ) ( '0' .. '7' ) | '\\\\' ( '0' .. '7' ) ( '0' .. '7' ) | '\\\\' ( '0' .. '7' ) );", 12, 1, input);
 
                     throw nvae;
                 }
-            } else {
-                if ( this.backtracking > 0 ) {
-                    this.failed = true;
-                    return;
-                }
-                final NoViableAltException nvae = new NoViableAltException( "1504:1: fragment OctalEscape : ( '\\\\' ( '0' .. '3' ) ( '0' .. '7' ) ( '0' .. '7' ) | '\\\\' ( '0' .. '7' ) ( '0' .. '7' ) | '\\\\' ( '0' .. '7' ) );",
-                                                                      12,
-                                                                      0,
-                                                                      this.input );
+            }
+            else {
+                if (backtracking>0) {failed=true; return ;}
+                NoViableAltException nvae =
+                    new NoViableAltException("1504:1: fragment OctalEscape : ( '\\\\' ( '0' .. '3' ) ( '0' .. '7' ) ( '0' .. '7' ) | '\\\\' ( '0' .. '7' ) ( '0' .. '7' ) | '\\\\' ( '0' .. '7' ) );", 12, 0, input);
 
                 throw nvae;
             }
-            switch ( alt12 ) {
+            switch (alt12) {
                 case 1 :
                     // C:\\dev\\jbossrules\\trunk3\\drools-compiler\\src\\main\\resources\\org\\drools\\lang\\DRL.g:1506:9: '\\\\' ( '0' .. '3' ) ( '0' .. '7' ) ( '0' .. '7' )
-                {
-                    match( '\\' );
-                    if ( this.failed ) {
-                        return;
-                    }
+                    {
+                    match('\\'); if (failed) return ;
                     // C:\\dev\\jbossrules\\trunk3\\drools-compiler\\src\\main\\resources\\org\\drools\\lang\\DRL.g:1506:14: ( '0' .. '3' )
                     // C:\\dev\\jbossrules\\trunk3\\drools-compiler\\src\\main\\resources\\org\\drools\\lang\\DRL.g:1506:15: '0' .. '3'
                     {
-                        matchRange( '0',
-                                    '3' );
-                        if ( this.failed ) {
-                            return;
-                        }
+                    matchRange('0','3'); if (failed) return ;
 
                     }
 
                     // C:\\dev\\jbossrules\\trunk3\\drools-compiler\\src\\main\\resources\\org\\drools\\lang\\DRL.g:1506:25: ( '0' .. '7' )
                     // C:\\dev\\jbossrules\\trunk3\\drools-compiler\\src\\main\\resources\\org\\drools\\lang\\DRL.g:1506:26: '0' .. '7'
                     {
-                        matchRange( '0',
-                                    '7' );
-                        if ( this.failed ) {
-                            return;
-                        }
+                    matchRange('0','7'); if (failed) return ;
 
                     }
 
                     // C:\\dev\\jbossrules\\trunk3\\drools-compiler\\src\\main\\resources\\org\\drools\\lang\\DRL.g:1506:36: ( '0' .. '7' )
                     // C:\\dev\\jbossrules\\trunk3\\drools-compiler\\src\\main\\resources\\org\\drools\\lang\\DRL.g:1506:37: '0' .. '7'
                     {
-                        matchRange( '0',
-                                    '7' );
-                        if ( this.failed ) {
-                            return;
-                        }
+                    matchRange('0','7'); if (failed) return ;
 
                     }
 
-                }
+
+                    }
                     break;
                 case 2 :
                     // C:\\dev\\jbossrules\\trunk3\\drools-compiler\\src\\main\\resources\\org\\drools\\lang\\DRL.g:1507:9: '\\\\' ( '0' .. '7' ) ( '0' .. '7' )
-                {
-                    match( '\\' );
-                    if ( this.failed ) {
-                        return;
-                    }
+                    {
+                    match('\\'); if (failed) return ;
                     // C:\\dev\\jbossrules\\trunk3\\drools-compiler\\src\\main\\resources\\org\\drools\\lang\\DRL.g:1507:14: ( '0' .. '7' )
                     // C:\\dev\\jbossrules\\trunk3\\drools-compiler\\src\\main\\resources\\org\\drools\\lang\\DRL.g:1507:15: '0' .. '7'
                     {
-                        matchRange( '0',
-                                    '7' );
-                        if ( this.failed ) {
-                            return;
-                        }
+                    matchRange('0','7'); if (failed) return ;
 
                     }
 
                     // C:\\dev\\jbossrules\\trunk3\\drools-compiler\\src\\main\\resources\\org\\drools\\lang\\DRL.g:1507:25: ( '0' .. '7' )
                     // C:\\dev\\jbossrules\\trunk3\\drools-compiler\\src\\main\\resources\\org\\drools\\lang\\DRL.g:1507:26: '0' .. '7'
                     {
-                        matchRange( '0',
-                                    '7' );
-                        if ( this.failed ) {
-                            return;
-                        }
+                    matchRange('0','7'); if (failed) return ;
 
                     }
 
-                }
+
+                    }
                     break;
                 case 3 :
                     // C:\\dev\\jbossrules\\trunk3\\drools-compiler\\src\\main\\resources\\org\\drools\\lang\\DRL.g:1508:9: '\\\\' ( '0' .. '7' )
-                {
-                    match( '\\' );
-                    if ( this.failed ) {
-                        return;
-                    }
+                    {
+                    match('\\'); if (failed) return ;
                     // C:\\dev\\jbossrules\\trunk3\\drools-compiler\\src\\main\\resources\\org\\drools\\lang\\DRL.g:1508:14: ( '0' .. '7' )
                     // C:\\dev\\jbossrules\\trunk3\\drools-compiler\\src\\main\\resources\\org\\drools\\lang\\DRL.g:1508:15: '0' .. '7'
                     {
-                        matchRange( '0',
-                                    '7' );
-                        if ( this.failed ) {
-                            return;
-                        }
+                    matchRange('0','7'); if (failed) return ;
 
                     }
 
-                }
+
+                    }
                     break;
 
             }
-        } finally {
-            this.ruleNestingLevel--;
         }
+        finally {
+        }
     }
-
     // $ANTLR end OctalEscape
 
     // $ANTLR start UnicodeEscape
-    public void mUnicodeEscape() throws RecognitionException {
+    public final void mUnicodeEscape() throws RecognitionException {
         try {
-            this.ruleNestingLevel++;
             // C:\\dev\\jbossrules\\trunk3\\drools-compiler\\src\\main\\resources\\org\\drools\\lang\\DRL.g:1513:9: ( '\\\\' 'u' HexDigit HexDigit HexDigit HexDigit )
             // C:\\dev\\jbossrules\\trunk3\\drools-compiler\\src\\main\\resources\\org\\drools\\lang\\DRL.g:1513:9: '\\\\' 'u' HexDigit HexDigit HexDigit HexDigit
             {
-                match( '\\' );
-                if ( this.failed ) {
-                    return;
-                }
-                match( 'u' );
-                if ( this.failed ) {
-                    return;
-                }
-                mHexDigit();
-                if ( this.failed ) {
-                    return;
-                }
-                mHexDigit();
-                if ( this.failed ) {
-                    return;
-                }
-                mHexDigit();
-                if ( this.failed ) {
-                    return;
-                }
-                mHexDigit();
-                if ( this.failed ) {
-                    return;
-                }
+            match('\\'); if (failed) return ;
+            match('u'); if (failed) return ;
+            mHexDigit(); if (failed) return ;
+            mHexDigit(); if (failed) return ;
+            mHexDigit(); if (failed) return ;
+            mHexDigit(); if (failed) return ;
 
             }
 
-        } finally {
-            this.ruleNestingLevel--;
         }
+        finally {
+        }
     }
-
     // $ANTLR end UnicodeEscape
 
     // $ANTLR start BOOL
-    public void mBOOL() throws RecognitionException {
+    public final void mBOOL() throws RecognitionException {
         try {
-            this.ruleNestingLevel++;
-            final int _type = BOOL;
-            final int _start = getCharIndex();
-            final int _line = getLine();
-            final int _charPosition = getCharPositionInLine();
-            final int _channel = Token.DEFAULT_CHANNEL;
+            int _type = BOOL;
             // C:\\dev\\jbossrules\\trunk3\\drools-compiler\\src\\main\\resources\\org\\drools\\lang\\DRL.g:1517:4: ( ( 'true' | 'false' ) )
             // C:\\dev\\jbossrules\\trunk3\\drools-compiler\\src\\main\\resources\\org\\drools\\lang\\DRL.g:1517:4: ( 'true' | 'false' )
             {
-                // C:\\dev\\jbossrules\\trunk3\\drools-compiler\\src\\main\\resources\\org\\drools\\lang\\DRL.g:1517:4: ( 'true' | 'false' )
-                int alt13 = 2;
-                final int LA13_0 = this.input.LA( 1 );
-                if ( (LA13_0 == 't') ) {
-                    alt13 = 1;
-                } else if ( (LA13_0 == 'f') ) {
-                    alt13 = 2;
-                } else {
-                    if ( this.backtracking > 0 ) {
-                        this.failed = true;
-                        return;
-                    }
-                    final NoViableAltException nvae = new NoViableAltException( "1517:4: ( 'true' | 'false' )",
-                                                                          13,
-                                                                          0,
-                                                                          this.input );
+            // C:\\dev\\jbossrules\\trunk3\\drools-compiler\\src\\main\\resources\\org\\drools\\lang\\DRL.g:1517:4: ( 'true' | 'false' )
+            int alt13=2;
+            int LA13_0 = input.LA(1);
 
-                    throw nvae;
-                }
-                switch ( alt13 ) {
-                    case 1 :
-                        // C:\\dev\\jbossrules\\trunk3\\drools-compiler\\src\\main\\resources\\org\\drools\\lang\\DRL.g:1517:5: 'true'
+            if ( (LA13_0=='t') ) {
+                alt13=1;
+            }
+            else if ( (LA13_0=='f') ) {
+                alt13=2;
+            }
+            else {
+                if (backtracking>0) {failed=true; return ;}
+                NoViableAltException nvae =
+                    new NoViableAltException("1517:4: ( 'true' | 'false' )", 13, 0, input);
+
+                throw nvae;
+            }
+            switch (alt13) {
+                case 1 :
+                    // C:\\dev\\jbossrules\\trunk3\\drools-compiler\\src\\main\\resources\\org\\drools\\lang\\DRL.g:1517:5: 'true'
                     {
-                        match( "true" );
-                        if ( this.failed ) {
-                            return;
-                        }
+                    match("true"); if (failed) return ;
 
+
                     }
-                        break;
-                    case 2 :
-                        // C:\\dev\\jbossrules\\trunk3\\drools-compiler\\src\\main\\resources\\org\\drools\\lang\\DRL.g:1517:12: 'false'
+                    break;
+                case 2 :
+                    // C:\\dev\\jbossrules\\trunk3\\drools-compiler\\src\\main\\resources\\org\\drools\\lang\\DRL.g:1517:12: 'false'
                     {
-                        match( "false" );
-                        if ( this.failed ) {
-                            return;
-                        }
+                    match("false"); if (failed) return ;
 
+
                     }
-                        break;
+                    break;
 
-                }
-
             }
 
-            if ( this.backtracking == 0 ) {
 
-                if ( this.token == null && this.ruleNestingLevel == 1 ) {
-                    emit( _type,
-                          _line,
-                          _charPosition,
-                          _channel,
-                          _start,
-                          getCharIndex() - 1 );
-                }
-
             }
-        } finally {
-            this.ruleNestingLevel--;
+
+            this.type = _type;
         }
+        finally {
+        }
     }
-
     // $ANTLR end BOOL
 
     // $ANTLR start PACKAGE
-    public void mPACKAGE() throws RecognitionException {
+    public final void mPACKAGE() throws RecognitionException {
         try {
-            this.ruleNestingLevel++;
-            final int _type = PACKAGE;
-            final int _start = getCharIndex();
-            final int _line = getLine();
-            final int _charPosition = getCharPositionInLine();
-            final int _channel = Token.DEFAULT_CHANNEL;
+            int _type = PACKAGE;
             // C:\\dev\\jbossrules\\trunk3\\drools-compiler\\src\\main\\resources\\org\\drools\\lang\\DRL.g:1520:11: ( 'package' )
             // C:\\dev\\jbossrules\\trunk3\\drools-compiler\\src\\main\\resources\\org\\drools\\lang\\DRL.g:1520:11: 'package'
             {
-                match( "package" );
-                if ( this.failed ) {
-                    return;
-                }
+            match("package"); if (failed) return ;
 
-            }
 
-            if ( this.backtracking == 0 ) {
-
-                if ( this.token == null && this.ruleNestingLevel == 1 ) {
-                    emit( _type,
-                          _line,
-                          _charPosition,
-                          _channel,
-                          _start,
-                          getCharIndex() - 1 );
-                }
-
             }
-        } finally {
-            this.ruleNestingLevel--;
+
+            this.type = _type;
         }
+        finally {
+        }
     }
-
     // $ANTLR end PACKAGE
 
     // $ANTLR start IMPORT
-    public void mIMPORT() throws RecognitionException {
+    public final void mIMPORT() throws RecognitionException {
         try {
-            this.ruleNestingLevel++;
-            final int _type = IMPORT;
-            final int _start = getCharIndex();
-            final int _line = getLine();
-            final int _charPosition = getCharPositionInLine();
-            final int _channel = Token.DEFAULT_CHANNEL;
+            int _type = IMPORT;
             // C:\\dev\\jbossrules\\trunk3\\drools-compiler\\src\\main\\resources\\org\\drools\\lang\\DRL.g:1522:10: ( 'import' )
             // C:\\dev\\jbossrules\\trunk3\\drools-compiler\\src\\main\\resources\\org\\drools\\lang\\DRL.g:1522:10: 'import'
             {
-                match( "import" );
-                if ( this.failed ) {
-                    return;
-                }
+            match("import"); if (failed) return ;
 
-            }
 
-            if ( this.backtracking == 0 ) {
-
-                if ( this.token == null && this.ruleNestingLevel == 1 ) {
-                    emit( _type,
-                          _line,
-                          _charPosition,
-                          _channel,
-                          _start,
-                          getCharIndex() - 1 );
-                }
-
             }
-        } finally {
-            this.ruleNestingLevel--;
+
+            this.type = _type;
         }
+        finally {
+        }
     }
-
     // $ANTLR end IMPORT
 
     // $ANTLR start FUNCTION
-    public void mFUNCTION() throws RecognitionException {
+    public final void mFUNCTION() throws RecognitionException {
         try {
-            this.ruleNestingLevel++;
-            final int _type = FUNCTION;
-            final int _start = getCharIndex();
-            final int _line = getLine();
-            final int _charPosition = getCharPositionInLine();
-            final int _channel = Token.DEFAULT_CHANNEL;
+            int _type = FUNCTION;
             // C:\\dev\\jbossrules\\trunk3\\drools-compiler\\src\\main\\resources\\org\\drools\\lang\\DRL.g:1524:12: ( 'function' )
             // C:\\dev\\jbossrules\\trunk3\\drools-compiler\\src\\main\\resources\\org\\drools\\lang\\DRL.g:1524:12: 'function'
             {
-                match( "function" );
-                if ( this.failed ) {
-                    return;
-                }
+            match("function"); if (failed) return ;
 
-            }
 
-            if ( this.backtracking == 0 ) {
-
-                if ( this.token == null && this.ruleNestingLevel == 1 ) {
-                    emit( _type,
-                          _line,
-                          _charPosition,
-                          _channel,
-                          _start,
-                          getCharIndex() - 1 );
-                }
-
             }
-        } finally {
-            this.ruleNestingLevel--;
+
+            this.type = _type;
         }
+        finally {
+        }
     }
-
     // $ANTLR end FUNCTION
 
     // $ANTLR start GLOBAL
-    public void mGLOBAL() throws RecognitionException {
+    public final void mGLOBAL() throws RecognitionException {
         try {
-            this.ruleNestingLevel++;
-            final int _type = GLOBAL;
-            final int _start = getCharIndex();
-            final int _line = getLine();
-            final int _charPosition = getCharPositionInLine();
-            final int _channel = Token.DEFAULT_CHANNEL;
+            int _type = GLOBAL;
             // C:\\dev\\jbossrules\\trunk3\\drools-compiler\\src\\main\\resources\\org\\drools\\lang\\DRL.g:1526:10: ( 'global' )
             // C:\\dev\\jbossrules\\trunk3\\drools-compiler\\src\\main\\resources\\org\\drools\\lang\\DRL.g:1526:10: 'global'
             {
-                match( "global" );
-                if ( this.failed ) {
-                    return;
-                }
+            match("global"); if (failed) return ;
 
-            }
 
-            if ( this.backtracking == 0 ) {
-
-                if ( this.token == null && this.ruleNestingLevel == 1 ) {
-                    emit( _type,
-                          _line,
-                          _charPosition,
-                          _channel,
-                          _start,
-                          getCharIndex() - 1 );
-                }
-
             }
-        } finally {
-            this.ruleNestingLevel--;
+
+            this.type = _type;
         }
+        finally {
+        }
     }
-
     // $ANTLR end GLOBAL
 
     // $ANTLR start RULE
-    public void mRULE() throws RecognitionException {
+    public final void mRULE() throws RecognitionException {
         try {
-            this.ruleNestingLevel++;
-            final int _type = RULE;
-            final int _start = getCharIndex();
-            final int _line = getLine();
-            final int _charPosition = getCharPositionInLine();
-            final int _channel = Token.DEFAULT_CHANNEL;
+            int _type = RULE;
             // C:\\dev\\jbossrules\\trunk3\\drools-compiler\\src\\main\\resources\\org\\drools\\lang\\DRL.g:1528:11: ( 'rule' )
             // C:\\dev\\jbossrules\\trunk3\\drools-compiler\\src\\main\\resources\\org\\drools\\lang\\DRL.g:1528:11: 'rule'
             {
-                match( "rule" );
-                if ( this.failed ) {
-                    return;
-                }
+            match("rule"); if (failed) return ;
 
-            }
 
-            if ( this.backtracking == 0 ) {
-
-                if ( this.token == null && this.ruleNestingLevel == 1 ) {
-                    emit( _type,
-                          _line,
-                          _charPosition,
-                          _channel,
-                          _start,
-                          getCharIndex() - 1 );
-                }
-
             }
-        } finally {
-            this.ruleNestingLevel--;
+
+            this.type = _type;
         }
+        finally {
+        }
     }
-
     // $ANTLR end RULE
 
     // $ANTLR start QUERY
-    public void mQUERY() throws RecognitionException {
+    public final void mQUERY() throws RecognitionException {
         try {
-            this.ruleNestingLevel++;
-            final int _type = QUERY;
-            final int _start = getCharIndex();
-            final int _line = getLine();
-            final int _charPosition = getCharPositionInLine();
-            final int _channel = Token.DEFAULT_CHANNEL;
+            int _type = QUERY;
             // C:\\dev\\jbossrules\\trunk3\\drools-compiler\\src\\main\\resources\\org\\drools\\lang\\DRL.g:1530:9: ( 'query' )
             // C:\\dev\\jbossrules\\trunk3\\drools-compiler\\src\\main\\resources\\org\\drools\\lang\\DRL.g:1530:9: 'query'
             {
-                match( "query" );
-                if ( this.failed ) {
-                    return;
-                }
+            match("query"); if (failed) return ;
 
-            }
 
-            if ( this.backtracking == 0 ) {
-
-                if ( this.token == null && this.ruleNestingLevel == 1 ) {
-                    emit( _type,
-                          _line,
-                          _charPosition,
-                          _channel,
-                          _start,
-                          getCharIndex() - 1 );
-                }
-
             }
-        } finally {
-            this.ruleNestingLevel--;
+
+            this.type = _type;
         }
+        finally {
+        }
     }
-
     // $ANTLR end QUERY
 
     // $ANTLR start TEMPLATE
-    public void mTEMPLATE() throws RecognitionException {
+    public final void mTEMPLATE() throws RecognitionException {
         try {
-            this.ruleNestingLevel++;
-            final int _type = TEMPLATE;
-            final int _start = getCharIndex();
-            final int _line = getLine();
-            final int _charPosition = getCharPositionInLine();
-            final int _channel = Token.DEFAULT_CHANNEL;
+            int _type = TEMPLATE;
             // C:\\dev\\jbossrules\\trunk3\\drools-compiler\\src\\main\\resources\\org\\drools\\lang\\DRL.g:1532:12: ( 'template' )
             // C:\\dev\\jbossrules\\trunk3\\drools-compiler\\src\\main\\resources\\org\\drools\\lang\\DRL.g:1532:12: 'template'
             {
-                match( "template" );
-                if ( this.failed ) {
-                    return;
-                }
+            match("template"); if (failed) return ;
 
-            }
 
-            if ( this.backtracking == 0 ) {
-
-                if ( this.token == null && this.ruleNestingLevel == 1 ) {
-                    emit( _type,
-                          _line,
-                          _charPosition,
-                          _channel,
-                          _start,
-                          getCharIndex() - 1 );
-                }
-
             }
-        } finally {
-            this.ruleNestingLevel--;
+
+            this.type = _type;
         }
+        finally {
+        }
     }
-
     // $ANTLR end TEMPLATE
 
     // $ANTLR start ATTRIBUTES
-    public void mATTRIBUTES() throws RecognitionException {
+    public final void mATTRIBUTES() throws RecognitionException {
         try {
-            this.ruleNestingLevel++;
-            final int _type = ATTRIBUTES;
-            final int _start = getCharIndex();
-            final int _line = getLine();
-            final int _charPosition = getCharPositionInLine();
-            final int _channel = Token.DEFAULT_CHANNEL;
+            int _type = ATTRIBUTES;
             // C:\\dev\\jbossrules\\trunk3\\drools-compiler\\src\\main\\resources\\org\\drools\\lang\\DRL.g:1534:14: ( 'attributes' )
             // C:\\dev\\jbossrules\\trunk3\\drools-compiler\\src\\main\\resources\\org\\drools\\lang\\DRL.g:1534:14: 'attributes'
             {
-                match( "attributes" );
-                if ( this.failed ) {
-                    return;
-                }
+            match("attributes"); if (failed) return ;
 
-            }
 
-            if ( this.backtracking == 0 ) {
-
-                if ( this.token == null && this.ruleNestingLevel == 1 ) {
-                    emit( _type,
-                          _line,
-                          _charPosition,
-                          _channel,
-                          _start,
-                          getCharIndex() - 1 );
-                }
-
             }
-        } finally {
-            this.ruleNestingLevel--;
+
+            this.type = _type;
         }
+        finally {
+        }
     }
-
     // $ANTLR end ATTRIBUTES
 
     // $ANTLR start DATE_EFFECTIVE
-    public void mDATE_EFFECTIVE() throws RecognitionException {
+    public final void mDATE_EFFECTIVE() throws RecognitionException {
         try {
-            this.ruleNestingLevel++;
-            final int _type = DATE_EFFECTIVE;
-            final int _start = getCharIndex();
-            final int _line = getLine();
-            final int _charPosition = getCharPositionInLine();
-            final int _channel = Token.DEFAULT_CHANNEL;
+            int _type = DATE_EFFECTIVE;
             // C:\\dev\\jbossrules\\trunk3\\drools-compiler\\src\\main\\resources\\org\\drools\\lang\\DRL.g:1537:4: ( 'date-effective' )
             // C:\\dev\\jbossrules\\trunk3\\drools-compiler\\src\\main\\resources\\org\\drools\\lang\\DRL.g:1537:4: 'date-effective'
             {
-                match( "date-effective" );
-                if ( this.failed ) {
-                    return;
-                }
+            match("date-effective"); if (failed) return ;
 
-            }
 
-            if ( this.backtracking == 0 ) {
-
-                if ( this.token == null && this.ruleNestingLevel == 1 ) {
-                    emit( _type,
-                          _line,
-                          _charPosition,
-                          _channel,
-                          _start,
-                          getCharIndex() - 1 );
-                }
-
             }
-        } finally {
-            this.ruleNestingLevel--;
+
+            this.type = _type;
         }
+        finally {
+        }
     }
-
     // $ANTLR end DATE_EFFECTIVE
 
     // $ANTLR start DATE_EXPIRES
-    public void mDATE_EXPIRES() throws RecognitionException {
+    public final void mDATE_EXPIRES() throws RecognitionException {
         try {
-            this.ruleNestingLevel++;
-            final int _type = DATE_EXPIRES;
-            final int _start = getCharIndex();
-            final int _line = getLine();
-            final int _charPosition = getCharPositionInLine();
-            final int _channel = Token.DEFAULT_CHANNEL;
+            int _type = DATE_EXPIRES;
             // C:\\dev\\jbossrules\\trunk3\\drools-compiler\\src\\main\\resources\\org\\drools\\lang\\DRL.g:1540:4: ( 'date-expires' )
             // C:\\dev\\jbossrules\\trunk3\\drools-compiler\\src\\main\\resources\\org\\drools\\lang\\DRL.g:1540:4: 'date-expires'
             {
-                match( "date-expires" );
-                if ( this.failed ) {
-                    return;
-                }
+            match("date-expires"); if (failed) return ;
 
-            }
 
-            if ( this.backtracking == 0 ) {
-
-                if ( this.token == null && this.ruleNestingLevel == 1 ) {
-                    emit( _type,
-                          _line,
-                          _charPosition,
-                          _channel,
-                          _start,
-                          getCharIndex() - 1 );
-                }
-
             }
-        } finally {
-            this.ruleNestingLevel--;
+
+            this.type = _type;
         }
+        finally {
+        }
     }
-
     // $ANTLR end DATE_EXPIRES
 
     // $ANTLR start ENABLED
-    public void mENABLED() throws RecognitionException {
+    public final void mENABLED() throws RecognitionException {
         try {
-            this.ruleNestingLevel++;
-            final int _type = ENABLED;
-            final int _start = getCharIndex();
-            final int _line = getLine();
-            final int _charPosition = getCharPositionInLine();
-            final int _channel = Token.DEFAULT_CHANNEL;
+            int _type = ENABLED;
             // C:\\dev\\jbossrules\\trunk3\\drools-compiler\\src\\main\\resources\\org\\drools\\lang\\DRL.g:1542:11: ( 'enabled' )
             // C:\\dev\\jbossrules\\trunk3\\drools-compiler\\src\\main\\resources\\org\\drools\\lang\\DRL.g:1542:11: 'enabled'
             {
-                match( "enabled" );
-                if ( this.failed ) {
-                    return;
-                }
+            match("enabled"); if (failed) return ;
 
-            }
 
-            if ( this.backtracking == 0 ) {
-
-                if ( this.token == null && this.ruleNestingLevel == 1 ) {
-                    emit( _type,
-                          _line,
-                          _charPosition,
-                          _channel,
-                          _start,
-                          getCharIndex() - 1 );
-                }
-
             }
-        } finally {
-            this.ruleNestingLevel--;
+
+            this.type = _type;
         }
+        finally {
+        }
     }
-
     // $ANTLR end ENABLED
 
     // $ANTLR start SALIENCE
-    public void mSALIENCE() throws RecognitionException {
+    public final void mSALIENCE() throws RecognitionException {
         try {
-            this.ruleNestingLevel++;
-            final int _type = SALIENCE;
-            final int _start = getCharIndex();
-            final int _line = getLine();
-            final int _charPosition = getCharPositionInLine();
-            final int _channel = Token.DEFAULT_CHANNEL;
+            int _type = SALIENCE;
             // C:\\dev\\jbossrules\\trunk3\\drools-compiler\\src\\main\\resources\\org\\drools\\lang\\DRL.g:1545:4: ( 'salience' )
             // C:\\dev\\jbossrules\\trunk3\\drools-compiler\\src\\main\\resources\\org\\drools\\lang\\DRL.g:1545:4: 'salience'
             {
-                match( "salience" );
-                if ( this.failed ) {
-                    return;
-                }
+            match("salience"); if (failed) return ;
 
-            }
 
-            if ( this.backtracking == 0 ) {
-
-                if ( this.token == null && this.ruleNestingLevel == 1 ) {
-                    emit( _type,
-                          _line,
-                          _charPosition,
-                          _channel,
-                          _start,
-                          getCharIndex() - 1 );
-                }
-
             }
-        } finally {
-            this.ruleNestingLevel--;
+
+            this.type = _type;
         }
+        finally {
+        }
     }
-
     // $ANTLR end SALIENCE
 
     // $ANTLR start NO_LOOP
-    public void mNO_LOOP() throws RecognitionException {
+    public final void mNO_LOOP() throws RecognitionException {
         try {
-            this.ruleNestingLevel++;
-            final int _type = NO_LOOP;
-            final int _start = getCharIndex();
-            final int _line = getLine();
-            final int _charPosition = getCharPositionInLine();
-            final int _channel = Token.DEFAULT_CHANNEL;
+            int _type = NO_LOOP;
             // C:\\dev\\jbossrules\\trunk3\\drools-compiler\\src\\main\\resources\\org\\drools\\lang\\DRL.g:1547:11: ( 'no-loop' )
             // C:\\dev\\jbossrules\\trunk3\\drools-compiler\\src\\main\\resources\\org\\drools\\lang\\DRL.g:1547:11: 'no-loop'
             {
-                match( "no-loop" );
-                if ( this.failed ) {
-                    return;
-                }
+            match("no-loop"); if (failed) return ;
 
-            }
 
-            if ( this.backtracking == 0 ) {
-
-                if ( this.token == null && this.ruleNestingLevel == 1 ) {
-                    emit( _type,
-                          _line,
-                          _charPosition,
-                          _channel,
-                          _start,
-                          getCharIndex() - 1 );
-                }
-
             }
-        } finally {
-            this.ruleNestingLevel--;
+
+            this.type = _type;
         }
+        finally {
+        }
     }
-
     // $ANTLR end NO_LOOP
 
     // $ANTLR start AUTO_FOCUS
-    public void mAUTO_FOCUS() throws RecognitionException {
+    public final void mAUTO_FOCUS() throws RecognitionException {
         try {
-            this.ruleNestingLevel++;
-            final int _type = AUTO_FOCUS;
-            final int _start = getCharIndex();
-            final int _line = getLine();
-            final int _charPosition = getCharPositionInLine();
-            final int _channel = Token.DEFAULT_CHANNEL;
+            int _type = AUTO_FOCUS;
             // C:\\dev\\jbossrules\\trunk3\\drools-compiler\\src\\main\\resources\\org\\drools\\lang\\DRL.g:1550:4: ( 'auto-focus' )
             // C:\\dev\\jbossrules\\trunk3\\drools-compiler\\src\\main\\resources\\org\\drools\\lang\\DRL.g:1550:4: 'auto-focus'
             {
-                match( "auto-focus" );
-                if ( this.failed ) {
-                    return;
-                }
+            match("auto-focus"); if (failed) return ;
 
-            }
 
-            if ( this.backtracking == 0 ) {
-
-                if ( this.token == null && this.ruleNestingLevel == 1 ) {
-                    emit( _type,
-                          _line,
-                          _charPosition,
-                          _channel,
-                          _start,
-                          getCharIndex() - 1 );
-                }
-
             }
-        } finally {
-            this.ruleNestingLevel--;
+
+            this.type = _type;
         }
+        finally {
+        }
     }
-
     // $ANTLR end AUTO_FOCUS
 
     // $ANTLR start ACTIVATION_GROUP
-    public void mACTIVATION_GROUP() throws RecognitionException {
+    public final void mACTIVATION_GROUP() throws RecognitionException {
         try {
-            this.ruleNestingLevel++;
-            final int _type = ACTIVATION_GROUP;
-            final int _start = getCharIndex();
-            final int _line = getLine();
-            final int _charPosition = getCharPositionInLine();
-            final int _channel = Token.DEFAULT_CHANNEL;
+            int _type = ACTIVATION_GROUP;
             // C:\\dev\\jbossrules\\trunk3\\drools-compiler\\src\\main\\resources\\org\\drools\\lang\\DRL.g:1553:4: ( 'activation-group' )
             // C:\\dev\\jbossrules\\trunk3\\drools-compiler\\src\\main\\resources\\org\\drools\\lang\\DRL.g:1553:4: 'activation-group'
             {
-                match( "activation-group" );
-                if ( this.failed ) {
-                    return;
-                }
+            match("activation-group"); if (failed) return ;
 
-            }
 
-            if ( this.backtracking == 0 ) {
-
-                if ( this.token == null && this.ruleNestingLevel == 1 ) {
-                    emit( _type,
-                          _line,
-                          _charPosition,
-                          _channel,
-                          _start,
-                          getCharIndex() - 1 );
-                }
-
             }
-        } finally {
-            this.ruleNestingLevel--;
+
+            this.type = _type;
         }
+        finally {
+        }
     }
-
     // $ANTLR end ACTIVATION_GROUP
 
     // $ANTLR start AGENDA_GROUP
-    public void mAGENDA_GROUP() throws RecognitionException {
+    public final void mAGENDA_GROUP() throws RecognitionException {
         try {
-            this.ruleNestingLevel++;
-            final int _type = AGENDA_GROUP;
-            final int _start = getCharIndex();
-            final int _line = getLine();
-            final int _charPosition = getCharPositionInLine();
-            final int _channel = Token.DEFAULT_CHANNEL;
+            int _type = AGENDA_GROUP;
             // C:\\dev\\jbossrules\\trunk3\\drools-compiler\\src\\main\\resources\\org\\drools\\lang\\DRL.g:1556:4: ( 'agenda-group' )
             // C:\\dev\\jbossrules\\trunk3\\drools-compiler\\src\\main\\resources\\org\\drools\\lang\\DRL.g:1556:4: 'agenda-group'
             {
-                match( "agenda-group" );
-                if ( this.failed ) {
-                    return;
-                }
+            match("agenda-group"); if (failed) return ;
 
-            }
 
-            if ( this.backtracking == 0 ) {
-
-                if ( this.token == null && this.ruleNestingLevel == 1 ) {
-                    emit( _type,
-                          _line,
-                          _charPosition,
-                          _channel,
-                          _start,
-                          getCharIndex() - 1 );
-                }
-
             }
-        } finally {
-            this.ruleNestingLevel--;
+
+            this.type = _type;
         }
+        finally {
+        }
     }
-
     // $ANTLR end AGENDA_GROUP
 
     // $ANTLR start RULEFLOW_GROUP
-    public void mRULEFLOW_GROUP() throws RecognitionException {
+    public final void mRULEFLOW_GROUP() throws RecognitionException {
         try {
-            this.ruleNestingLevel++;
-            final int _type = RULEFLOW_GROUP;
-            final int _start = getCharIndex();
-            final int _line = getLine();
-            final int _charPosition = getCharPositionInLine();
-            final int _channel = Token.DEFAULT_CHANNEL;
+            int _type = RULEFLOW_GROUP;
             // C:\\dev\\jbossrules\\trunk3\\drools-compiler\\src\\main\\resources\\org\\drools\\lang\\DRL.g:1559:4: ( 'ruleflow-group' )
             // C:\\dev\\jbossrules\\trunk3\\drools-compiler\\src\\main\\resources\\org\\drools\\lang\\DRL.g:1559:4: 'ruleflow-group'
             {
-                match( "ruleflow-group" );
-                if ( this.failed ) {
-                    return;
-                }
+            match("ruleflow-group"); if (failed) return ;
 
-            }
 
-            if ( this.backtracking == 0 ) {
-
-                if ( this.token == null && this.ruleNestingLevel == 1 ) {
-                    emit( _type,
-                          _line,
-                          _charPosition,
-                          _channel,
-                          _start,
-                          getCharIndex() - 1 );
-                }
-
             }
-        } finally {
-            this.ruleNestingLevel--;
+
+            this.type = _type;
         }
+        finally {
+        }
     }
-
     // $ANTLR end RULEFLOW_GROUP
 
     // $ANTLR start DURATION
-    public void mDURATION() throws RecognitionException {
+    public final void mDURATION() throws RecognitionException {
         try {
-            this.ruleNestingLevel++;
-            final int _type = DURATION;
-            final int _start = getCharIndex();
-            final int _line = getLine();
-            final int _charPosition = getCharPositionInLine();
-            final int _channel = Token.DEFAULT_CHANNEL;
+            int _type = DURATION;
             // C:\\dev\\jbossrules\\trunk3\\drools-compiler\\src\\main\\resources\\org\\drools\\lang\\DRL.g:1562:4: ( 'duration' )
             // C:\\dev\\jbossrules\\trunk3\\drools-compiler\\src\\main\\resources\\org\\drools\\lang\\DRL.g:1562:4: 'duration'
             {
-                match( "duration" );
-                if ( this.failed ) {
-                    return;
-                }
+            match("duration"); if (failed) return ;
 
-            }
 
-            if ( this.backtracking == 0 ) {
-
-                if ( this.token == null && this.ruleNestingLevel == 1 ) {
-                    emit( _type,
-                          _line,
-                          _charPosition,
-                          _channel,
-                          _start,
-                          getCharIndex() - 1 );
-                }
-
             }
-        } finally {
-            this.ruleNestingLevel--;
+
+            this.type = _type;
         }
+        finally {
+        }
     }
-
     // $ANTLR end DURATION
 
     // $ANTLR start LOCK_ON_ACTIVE
-    public void mLOCK_ON_ACTIVE() throws RecognitionException {
+    public final void mLOCK_ON_ACTIVE() throws RecognitionException {
         try {
-            this.ruleNestingLevel++;
-            final int _type = LOCK_ON_ACTIVE;
-            final int _start = getCharIndex();
-            final int _line = getLine();
-            final int _charPosition = getCharPositionInLine();
-            final int _channel = Token.DEFAULT_CHANNEL;
+            int _type = LOCK_ON_ACTIVE;
             // C:\\dev\\jbossrules\\trunk3\\drools-compiler\\src\\main\\resources\\org\\drools\\lang\\DRL.g:1565:4: ( 'lock-on-active' )
             // C:\\dev\\jbossrules\\trunk3\\drools-compiler\\src\\main\\resources\\org\\drools\\lang\\DRL.g:1565:4: 'lock-on-active'
             {
-                match( "lock-on-active" );
-                if ( this.failed ) {
-                    return;
-                }
+            match("lock-on-active"); if (failed) return ;
 
-            }
 
-            if ( this.backtracking == 0 ) {
-
-                if ( this.token == null && this.ruleNestingLevel == 1 ) {
-                    emit( _type,
-                          _line,
-                          _charPosition,
-                          _channel,
-                          _start,
-                          getCharIndex() - 1 );
-                }
-
             }
-        } finally {
-            this.ruleNestingLevel--;
+
+            this.type = _type;
         }
+        finally {
+        }
     }
-
     // $ANTLR end LOCK_ON_ACTIVE
 
     // $ANTLR start FROM
-    public void mFROM() throws RecognitionException {
+    public final void mFROM() throws RecognitionException {
         try {
-            this.ruleNestingLevel++;
-            final int _type = FROM;
-            final int _start = getCharIndex();
-            final int _line = getLine();
-            final int _charPosition = getCharPositionInLine();
-            final int _channel = Token.DEFAULT_CHANNEL;
+            int _type = FROM;
             // C:\\dev\\jbossrules\\trunk3\\drools-compiler\\src\\main\\resources\\org\\drools\\lang\\DRL.g:1567:8: ( 'from' )
             // C:\\dev\\jbossrules\\trunk3\\drools-compiler\\src\\main\\resources\\org\\drools\\lang\\DRL.g:1567:8: 'from'
             {
-                match( "from" );
-                if ( this.failed ) {
-                    return;
-                }
+            match("from"); if (failed) return ;
 
-            }
 
-            if ( this.backtracking == 0 ) {
-
-                if ( this.token == null && this.ruleNestingLevel == 1 ) {
-                    emit( _type,
-                          _line,
-                          _charPosition,
-                          _channel,
-                          _start,
-                          getCharIndex() - 1 );
-                }
-
             }
-        } finally {
-            this.ruleNestingLevel--;
+
+            this.type = _type;
         }
+        finally {
+        }
     }
-
     // $ANTLR end FROM
 
     // $ANTLR start ACCUMULATE
-    public void mACCUMULATE() throws RecognitionException {
+    public final void mACCUMULATE() throws RecognitionException {
         try {
-            this.ruleNestingLevel++;
-            final int _type = ACCUMULATE;
-            final int _start = getCharIndex();
-            final int _line = getLine();
-            final int _charPosition = getCharPositionInLine();
-            final int _channel = Token.DEFAULT_CHANNEL;
+            int _type = ACCUMULATE;
             // C:\\dev\\jbossrules\\trunk3\\drools-compiler\\src\\main\\resources\\org\\drools\\lang\\DRL.g:1570:4: ( 'accumulate' )
             // C:\\dev\\jbossrules\\trunk3\\drools-compiler\\src\\main\\resources\\org\\drools\\lang\\DRL.g:1570:4: 'accumulate'
             {
-                match( "accumulate" );
-                if ( this.failed ) {
-                    return;
-                }
+            match("accumulate"); if (failed) return ;
 
-            }
 
-            if ( this.backtracking == 0 ) {
-
-                if ( this.token == null && this.ruleNestingLevel == 1 ) {
-                    emit( _type,
-                          _line,
-                          _charPosition,
-                          _channel,
-                          _start,
-                          getCharIndex() - 1 );
-                }
-
             }
-        } finally {
-            this.ruleNestingLevel--;
+
+            this.type = _type;
         }
+        finally {
+        }
     }
-
     // $ANTLR end ACCUMULATE
 
     // $ANTLR start INIT
-    public void mINIT() throws RecognitionException {
+    public final void mINIT() throws RecognitionException {
         try {
-            this.ruleNestingLevel++;
-            final int _type = INIT;
-            final int _start = getCharIndex();
-            final int _line = getLine();
-            final int _charPosition = getCharPositionInLine();
-            final int _channel = Token.DEFAULT_CHANNEL;
+            int _type = INIT;
             // C:\\dev\\jbossrules\\trunk3\\drools-compiler\\src\\main\\resources\\org\\drools\\lang\\DRL.g:1572:8: ( 'init' )
             // C:\\dev\\jbossrules\\trunk3\\drools-compiler\\src\\main\\resources\\org\\drools\\lang\\DRL.g:1572:8: 'init'
             {
-                match( "init" );
-                if ( this.failed ) {
-                    return;
-                }
+            match("init"); if (failed) return ;
 
-            }
 
-            if ( this.backtracking == 0 ) {
-
-                if ( this.token == null && this.ruleNestingLevel == 1 ) {
-                    emit( _type,
-                          _line,
-                          _charPosition,
-                          _channel,
-                          _start,
-                          getCharIndex() - 1 );
-                }
-
             }
-        } finally {
-            this.ruleNestingLevel--;
+
+            this.type = _type;
         }
+        finally {
+        }
     }
-
     // $ANTLR end INIT
 
     // $ANTLR start ACTION
-    public void mACTION() throws RecognitionException {
+    public final void mACTION() throws RecognitionException {
         try {
-            this.ruleNestingLevel++;
-            final int _type = ACTION;
-            final int _start = getCharIndex();
-            final int _line = getLine();
-            final int _charPosition = getCharPositionInLine();
-            final int _channel = Token.DEFAULT_CHANNEL;
+            int _type = ACTION;
             // C:\\dev\\jbossrules\\trunk3\\drools-compiler\\src\\main\\resources\\org\\drools\\lang\\DRL.g:1574:10: ( 'action' )
             // C:\\dev\\jbossrules\\trunk3\\drools-compiler\\src\\main\\resources\\org\\drools\\lang\\DRL.g:1574:10: 'action'
             {
-                match( "action" );
-                if ( this.failed ) {
-                    return;
-                }
+            match("action"); if (failed) return ;
 
-            }
 
-            if ( this.backtracking == 0 ) {
-
-                if ( this.token == null && this.ruleNestingLevel == 1 ) {
-                    emit( _type,
-                          _line,
-                          _charPosition,
-                          _channel,
-                          _start,
-                          getCharIndex() - 1 );
-                }
-
             }
-        } finally {
-            this.ruleNestingLevel--;
+
+            this.type = _type;
         }
+        finally {
+        }
     }
-
     // $ANTLR end ACTION
 
     // $ANTLR start RESULT
-    public void mRESULT() throws RecognitionException {
+    public final void mRESULT() throws RecognitionException {
         try {
-            this.ruleNestingLevel++;
-            final int _type = RESULT;
-            final int _start = getCharIndex();
-            final int _line = getLine();
-            final int _charPosition = getCharPositionInLine();
-            final int _channel = Token.DEFAULT_CHANNEL;
+            int _type = RESULT;
             // C:\\dev\\jbossrules\\trunk3\\drools-compiler\\src\\main\\resources\\org\\drools\\lang\\DRL.g:1576:10: ( 'result' )
             // C:\\dev\\jbossrules\\trunk3\\drools-compiler\\src\\main\\resources\\org\\drools\\lang\\DRL.g:1576:10: 'result'
             {
-                match( "result" );
-                if ( this.failed ) {
-                    return;
-                }
+            match("result"); if (failed) return ;
 
-            }
 
-            if ( this.backtracking == 0 ) {
-
-                if ( this.token == null && this.ruleNestingLevel == 1 ) {
-                    emit( _type,
-                          _line,
-                          _charPosition,
-                          _channel,
-                          _start,
-                          getCharIndex() - 1 );
-                }
-
             }
-        } finally {
-            this.ruleNestingLevel--;
+
+            this.type = _type;
         }
+        finally {
+        }
     }
-
     // $ANTLR end RESULT
 
     // $ANTLR start COLLECT
-    public void mCOLLECT() throws RecognitionException {
+    public final void mCOLLECT() throws RecognitionException {
         try {
-            this.ruleNestingLevel++;
-            final int _type = COLLECT;
-            final int _start = getCharIndex();
-            final int _line = getLine();
-            final int _charPosition = getCharPositionInLine();
-            final int _channel = Token.DEFAULT_CHANNEL;
+            int _type = COLLECT;
             // C:\\dev\\jbossrules\\trunk3\\drools-compiler\\src\\main\\resources\\org\\drools\\lang\\DRL.g:1578:11: ( 'collect' )
             // C:\\dev\\jbossrules\\trunk3\\drools-compiler\\src\\main\\resources\\org\\drools\\lang\\DRL.g:1578:11: 'collect'
             {
-                match( "collect" );
-                if ( this.failed ) {
-                    return;
-                }
+            match("collect"); if (failed) return ;
 
-            }
 
-            if ( this.backtracking == 0 ) {
-
-                if ( this.token == null && this.ruleNestingLevel == 1 ) {
-                    emit( _type,
-                          _line,
-                          _charPosition,
-                          _channel,
-                          _start,
-                          getCharIndex() - 1 );
-                }
-
             }
-        } finally {
-            this.ruleNestingLevel--;
+
+            this.type = _type;
         }
+        finally {
+        }
     }
-
     // $ANTLR end COLLECT
 
     // $ANTLR start OR
-    public void mOR() throws RecognitionException {
+    public final void mOR() throws RecognitionException {
         try {
-            this.ruleNestingLevel++;
-            final int _type = OR;
-            final int _start = getCharIndex();
-            final int _line = getLine();
-            final int _charPosition = getCharPositionInLine();
-            final int _channel = Token.DEFAULT_CHANNEL;
+            int _type = OR;
             // C:\\dev\\jbossrules\\trunk3\\drools-compiler\\src\\main\\resources\\org\\drools\\lang\\DRL.g:1580:6: ( 'or' )
             // C:\\dev\\jbossrules\\trunk3\\drools-compiler\\src\\main\\resources\\org\\drools\\lang\\DRL.g:1580:6: 'or'
             {
-                match( "or" );
-                if ( this.failed ) {
-                    return;
-                }
+            match("or"); if (failed) return ;
 
-            }
 
-            if ( this.backtracking == 0 ) {
-
-                if ( this.token == null && this.ruleNestingLevel == 1 ) {
-                    emit( _type,
-                          _line,
-                          _charPosition,
-                          _channel,
-                          _start,
-                          getCharIndex() - 1 );
-                }
-
             }
-        } finally {
-            this.ruleNestingLevel--;
+
+            this.type = _type;
         }
+        finally {
+        }
     }
-
     // $ANTLR end OR
 
     // $ANTLR start AND
-    public void mAND() throws RecognitionException {
+    public final void mAND() throws RecognitionException {
         try {
-            this.ruleNestingLevel++;
-            final int _type = AND;
-            final int _start = getCharIndex();
-            final int _line = getLine();
-            final int _charPosition = getCharPositionInLine();
-            final int _channel = Token.DEFAULT_CHANNEL;
+            int _type = AND;
             // C:\\dev\\jbossrules\\trunk3\\drools-compiler\\src\\main\\resources\\org\\drools\\lang\\DRL.g:1582:7: ( 'and' )
             // C:\\dev\\jbossrules\\trunk3\\drools-compiler\\src\\main\\resources\\org\\drools\\lang\\DRL.g:1582:7: 'and'
             {
-                match( "and" );
-                if ( this.failed ) {
-                    return;
-                }
+            match("and"); if (failed) return ;
 
-            }
 
-            if ( this.backtracking == 0 ) {
-
-                if ( this.token == null && this.ruleNestingLevel == 1 ) {
-                    emit( _type,
-                          _line,
-                          _charPosition,
-                          _channel,
-                          _start,
-                          getCharIndex() - 1 );
-                }
-
             }
-        } finally {
-            this.ruleNestingLevel--;
+
+            this.type = _type;
         }
+        finally {
+        }
     }
-
     // $ANTLR end AND
 
     // $ANTLR start CONTAINS
-    public void mCONTAINS() throws RecognitionException {
+    public final void mCONTAINS() throws RecognitionException {
         try {
-            this.ruleNestingLevel++;
-            final int _type = CONTAINS;
-            final int _start = getCharIndex();
-            final int _line = getLine();
-            final int _charPosition = getCharPositionInLine();
-            final int _channel = Token.DEFAULT_CHANNEL;
+            int _type = CONTAINS;
             // C:\\dev\\jbossrules\\trunk3\\drools-compiler\\src\\main\\resources\\org\\drools\\lang\\DRL.g:1585:4: ( 'contains' )
             // C:\\dev\\jbossrules\\trunk3\\drools-compiler\\src\\main\\resources\\org\\drools\\lang\\DRL.g:1585:4: 'contains'
             {
-                match( "contains" );
-                if ( this.failed ) {
-                    return;
-                }
+            match("contains"); if (failed) return ;
 
-            }
 
-            if ( this.backtracking == 0 ) {
-
-                if ( this.token == null && this.ruleNestingLevel == 1 ) {
-                    emit( _type,
-                          _line,
-                          _charPosition,
-                          _channel,
-                          _start,
-                          getCharIndex() - 1 );
-                }
-
             }
-        } finally {
-            this.ruleNestingLevel--;
+
+            this.type = _type;
         }
+        finally {
+        }
     }
-
     // $ANTLR end CONTAINS
 
     // $ANTLR start EXCLUDES
-    public void mEXCLUDES() throws RecognitionException {
+    public final void mEXCLUDES() throws RecognitionException {
         try {
-            this.ruleNestingLevel++;
-            final int _type = EXCLUDES;
-            final int _start = getCharIndex();
-            final int _line = getLine();
-            final int _charPosition = getCharPositionInLine();
-            final int _channel = Token.DEFAULT_CHANNEL;
+            int _type = EXCLUDES;
             // C:\\dev\\jbossrules\\trunk3\\drools-compiler\\src\\main\\resources\\org\\drools\\lang\\DRL.g:1588:4: ( 'excludes' )
             // C:\\dev\\jbossrules\\trunk3\\drools-compiler\\src\\main\\resources\\org\\drools\\lang\\DRL.g:1588:4: 'excludes'
             {
-                match( "excludes" );
-                if ( this.failed ) {
-                    return;
-                }
+            match("excludes"); if (failed) return ;
 
-            }
 
-            if ( this.backtracking == 0 ) {
-
-                if ( this.token == null && this.ruleNestingLevel == 1 ) {
-                    emit( _type,
-                          _line,
-                          _charPosition,
-                          _channel,
-                          _start,
-                          getCharIndex() - 1 );
-                }
-
             }
-        } finally {
-            this.ruleNestingLevel--;
+
+            this.type = _type;
         }
+        finally {
+        }
     }
-
     // $ANTLR end EXCLUDES
 
     // $ANTLR start MATCHES
-    public void mMATCHES() throws RecognitionException {
+    public final void mMATCHES() throws RecognitionException {
         try {
-            this.ruleNestingLevel++;
-            final int _type = MATCHES;
-            final int _start = getCharIndex();
-            final int _line = getLine();
-            final int _charPosition = getCharPositionInLine();
-            final int _channel = Token.DEFAULT_CHANNEL;
+            int _type = MATCHES;
             // C:\\dev\\jbossrules\\trunk3\\drools-compiler\\src\\main\\resources\\org\\drools\\lang\\DRL.g:1590:11: ( 'matches' )
             // C:\\dev\\jbossrules\\trunk3\\drools-compiler\\src\\main\\resources\\org\\drools\\lang\\DRL.g:1590:11: 'matches'
             {
-                match( "matches" );
-                if ( this.failed ) {
-                    return;
-                }
+            match("matches"); if (failed) return ;
 
-            }
 
-            if ( this.backtracking == 0 ) {
-
-                if ( this.token == null && this.ruleNestingLevel == 1 ) {
-                    emit( _type,
-                          _line,
-                          _charPosition,
-                          _channel,
-                          _start,
-                          getCharIndex() - 1 );
-                }
-
             }
-        } finally {
-            this.ruleNestingLevel--;
+
+            this.type = _type;
         }
+        finally {
+        }
     }
-
     // $ANTLR end MATCHES
 
     // $ANTLR start NULL
-    public void mNULL() throws RecognitionException {
+    public final void mNULL() throws RecognitionException {
         try {
-            this.ruleNestingLevel++;
-            final int _type = NULL;
-            final int _start = getCharIndex();
-            final int _line = getLine();
-            final int _charPosition = getCharPositionInLine();
-            final int _channel = Token.DEFAULT_CHANNEL;
+            int _type = NULL;
             // C:\\dev\\jbossrules\\trunk3\\drools-compiler\\src\\main\\resources\\org\\drools\\lang\\DRL.g:1592:8: ( 'null' )
             // C:\\dev\\jbossrules\\trunk3\\drools-compiler\\src\\main\\resources\\org\\drools\\lang\\DRL.g:1592:8: 'null'
             {
-                match( "null" );
-                if ( this.failed ) {
-                    return;
-                }
+            match("null"); if (failed) return ;
 
-            }
 
-            if ( this.backtracking == 0 ) {
-
-                if ( this.token == null && this.ruleNestingLevel == 1 ) {
-                    emit( _type,
-                          _line,
-                          _charPosition,
-                          _channel,
-                          _start,
-                          getCharIndex() - 1 );
-                }
-
             }
-        } finally {
-            this.ruleNestingLevel--;
+
+            this.type = _type;
         }
+        finally {
+        }
     }
-
     // $ANTLR end NULL
 
     // $ANTLR start EXISTS
-    public void mEXISTS() throws RecognitionException {
+    public final void mEXISTS() throws RecognitionException {
         try {
-            this.ruleNestingLevel++;
-            final int _type = EXISTS;
-            final int _start = getCharIndex();
-            final int _line = getLine();
-            final int _charPosition = getCharPositionInLine();
-            final int _channel = Token.DEFAULT_CHANNEL;
+            int _type = EXISTS;
             // C:\\dev\\jbossrules\\trunk3\\drools-compiler\\src\\main\\resources\\org\\drools\\lang\\DRL.g:1594:10: ( 'exists' )
             // C:\\dev\\jbossrules\\trunk3\\drools-compiler\\src\\main\\resources\\org\\drools\\lang\\DRL.g:1594:10: 'exists'
             {
-                match( "exists" );
-                if ( this.failed ) {
-                    return;
-                }
+            match("exists"); if (failed) return ;
 
-            }
 
-            if ( this.backtracking == 0 ) {
-
-                if ( this.token == null && this.ruleNestingLevel == 1 ) {
-                    emit( _type,
-                          _line,
-                          _charPosition,
-                          _channel,
-                          _start,
-                          getCharIndex() - 1 );
-                }
-
             }
-        } finally {
-            this.ruleNestingLevel--;
+
+            this.type = _type;
         }
+        finally {
+        }
     }
-
     // $ANTLR end EXISTS
 
     // $ANTLR start NOT
-    public void mNOT() throws RecognitionException {
+    public final void mNOT() throws RecognitionException {
         try {
-            this.ruleNestingLevel++;
-            final int _type = NOT;
-            final int _start = getCharIndex();
-            final int _line = getLine();
-            final int _charPosition = getCharPositionInLine();
-            final int _channel = Token.DEFAULT_CHANNEL;
+            int _type = NOT;
             // C:\\dev\\jbossrules\\trunk3\\drools-compiler\\src\\main\\resources\\org\\drools\\lang\\DRL.g:1596:7: ( 'not' )
             // C:\\dev\\jbossrules\\trunk3\\drools-compiler\\src\\main\\resources\\org\\drools\\lang\\DRL.g:1596:7: 'not'
             {
-                match( "not" );
-                if ( this.failed ) {
-                    return;
-                }
+            match("not"); if (failed) return ;
 
-            }
 
-            if ( this.backtracking == 0 ) {
-
-                if ( this.token == null && this.ruleNestingLevel == 1 ) {
-                    emit( _type,
-                          _line,
-                          _charPosition,
-                          _channel,
-                          _start,
-                          getCharIndex() - 1 );
-                }
-
             }
-        } finally {
-            this.ruleNestingLevel--;
+
+            this.type = _type;
         }
+        finally {
+        }
     }
-
     // $ANTLR end NOT
 
     // $ANTLR start EVAL
-    public void mEVAL() throws RecognitionException {
+    public final void mEVAL() throws RecognitionException {
         try {
-            this.ruleNestingLevel++;
-            final int _type = EVAL;
-            final int _start = getCharIndex();
-            final int _line = getLine();
-            final int _charPosition = getCharPositionInLine();
-            final int _channel = Token.DEFAULT_CHANNEL;
+            int _type = EVAL;
             // C:\\dev\\jbossrules\\trunk3\\drools-compiler\\src\\main\\resources\\org\\drools\\lang\\DRL.g:1598:8: ( 'eval' )
             // C:\\dev\\jbossrules\\trunk3\\drools-compiler\\src\\main\\resources\\org\\drools\\lang\\DRL.g:1598:8: 'eval'
             {
-                match( "eval" );
-                if ( this.failed ) {
-                    return;
-                }
+            match("eval"); if (failed) return ;
 
-            }
 
-            if ( this.backtracking == 0 ) {
-
-                if ( this.token == null && this.ruleNestingLevel == 1 ) {
-                    emit( _type,
-                          _line,
-                          _charPosition,
-                          _channel,
-                          _start,
-                          getCharIndex() - 1 );
-                }
-
             }
-        } finally {
-            this.ruleNestingLevel--;
+
+            this.type = _type;
         }
+        finally {
+        }
     }
-
     // $ANTLR end EVAL
 
     // $ANTLR start FORALL
-    public void mFORALL() throws RecognitionException {
+    public final void mFORALL() throws RecognitionException {
         try {
-            this.ruleNestingLevel++;
-            final int _type = FORALL;
-            final int _start = getCharIndex();
-            final int _line = getLine();
-            final int _charPosition = getCharPositionInLine();
-            final int _channel = Token.DEFAULT_CHANNEL;
+            int _type = FORALL;
             // C:\\dev\\jbossrules\\trunk3\\drools-compiler\\src\\main\\resources\\org\\drools\\lang\\DRL.g:1600:10: ( 'forall' )
             // C:\\dev\\jbossrules\\trunk3\\drools-compiler\\src\\main\\resources\\org\\drools\\lang\\DRL.g:1600:10: 'forall'
             {
-                match( "forall" );
-                if ( this.failed ) {
-                    return;
-                }
+            match("forall"); if (failed) return ;
 
-            }
 
-            if ( this.backtracking == 0 ) {
-
-                if ( this.token == null && this.ruleNestingLevel == 1 ) {
-                    emit( _type,
-                          _line,
-                          _charPosition,
-                          _channel,
-                          _start,
-                          getCharIndex() - 1 );
-                }
-
             }
-        } finally {
-            this.ruleNestingLevel--;
+
+            this.type = _type;
         }
+        finally {
+        }
     }
-
     // $ANTLR end FORALL
 
     // $ANTLR start WHEN
-    public void mWHEN() throws RecognitionException {
+    public final void mWHEN() throws RecognitionException {
         try {
-            this.ruleNestingLevel++;
-            final int _type = WHEN;
-            final int _start = getCharIndex();
-            final int _line = getLine();
-            final int _charPosition = getCharPositionInLine();
-            final int _channel = Token.DEFAULT_CHANNEL;
+            int _type = WHEN;
             // C:\\dev\\jbossrules\\trunk3\\drools-compiler\\src\\main\\resources\\org\\drools\\lang\\DRL.g:1602:11: ( 'when' )
             // C:\\dev\\jbossrules\\trunk3\\drools-compiler\\src\\main\\resources\\org\\drools\\lang\\DRL.g:1602:11: 'when'
             {
-                match( "when" );
-                if ( this.failed ) {
-                    return;
-                }
+            match("when"); if (failed) return ;
 
-            }
 
-            if ( this.backtracking == 0 ) {
-
-                if ( this.token == null && this.ruleNestingLevel == 1 ) {
-                    emit( _type,
-                          _line,
-                          _charPosition,
-                          _channel,
-                          _start,
-                          getCharIndex() - 1 );
-                }
-
             }
-        } finally {
-            this.ruleNestingLevel--;
+
+            this.type = _type;
         }
+        finally {
+        }
     }
-
     // $ANTLR end WHEN
 
     // $ANTLR start THEN
-    public void mTHEN() throws RecognitionException {
+    public final void mTHEN() throws RecognitionException {
         try {
-            this.ruleNestingLevel++;
-            final int _type = THEN;
-            final int _start = getCharIndex();
-            final int _line = getLine();
-            final int _charPosition = getCharPositionInLine();
-            final int _channel = Token.DEFAULT_CHANNEL;
+            int _type = THEN;
             // C:\\dev\\jbossrules\\trunk3\\drools-compiler\\src\\main\\resources\\org\\drools\\lang\\DRL.g:1604:12: ( 'then' )
             // C:\\dev\\jbossrules\\trunk3\\drools-compiler\\src\\main\\resources\\org\\drools\\lang\\DRL.g:1604:12: 'then'
             {
-                match( "then" );
-                if ( this.failed ) {
-                    return;
-                }
+            match("then"); if (failed) return ;
 
-            }
 
-            if ( this.backtracking == 0 ) {
-
-                if ( this.token == null && this.ruleNestingLevel == 1 ) {
-                    emit( _type,
-                          _line,
-                          _charPosition,
-                          _channel,
-                          _start,
-                          getCharIndex() - 1 );
-                }
-
             }
-        } finally {
-            this.ruleNestingLevel--;
+
+            this.type = _type;
         }
+        finally {
+        }
     }
-
     // $ANTLR end THEN
 
     // $ANTLR start END
-    public void mEND() throws RecognitionException {
+    public final void mEND() throws RecognitionException {
         try {
-            this.ruleNestingLevel++;
-            final int _type = END;
-            final int _start = getCharIndex();
-            final int _line = getLine();
-            final int _charPosition = getCharPositionInLine();
-            final int _channel = Token.DEFAULT_CHANNEL;
+            int _type = END;
             // C:\\dev\\jbossrules\\trunk3\\drools-compiler\\src\\main\\resources\\org\\drools\\lang\\DRL.g:1606:11: ( 'end' )
             // C:\\dev\\jbossrules\\trunk3\\drools-compiler\\src\\main\\resources\\org\\drools\\lang\\DRL.g:1606:11: 'end'
             {
-                match( "end" );
-                if ( this.failed ) {
-                    return;
-                }
+            match("end"); if (failed) return ;
 
-            }
 
-            if ( this.backtracking == 0 ) {
-
-                if ( this.token == null && this.ruleNestingLevel == 1 ) {
-                    emit( _type,
-                          _line,
-                          _charPosition,
-                          _channel,
-                          _start,
-                          getCharIndex() - 1 );
-                }
-
             }
-        } finally {
-            this.ruleNestingLevel--;
+
+            this.type = _type;
         }
+        finally {
+        }
     }
-
     // $ANTLR end END
 
     // $ANTLR start ID
-    public void mID() throws RecognitionException {
+    public final void mID() throws RecognitionException {
         try {
-            this.ruleNestingLevel++;
-            final int _type = ID;
-            final int _start = getCharIndex();
-            final int _line = getLine();
-            final int _charPosition = getCharPositionInLine();
-            final int _channel = Token.DEFAULT_CHANNEL;
-            // C:\\dev\\jbossrules\\trunk3\\drools-compiler\\src\\main\\resources\\org\\drools\\lang\\DRL.g:1609:4: ( ('a'..'z'|'A'..'Z'|'_'|'$'|'\\u00c0'..'\\u00ff') ( ('a'..'z'|'A'..'Z'|'_'|'0'..'9'|'\\u00c0'..'\\u00ff'))* )
-            // C:\\dev\\jbossrules\\trunk3\\drools-compiler\\src\\main\\resources\\org\\drools\\lang\\DRL.g:1609:4: ('a'..'z'|'A'..'Z'|'_'|'$'|'\\u00c0'..'\\u00ff') ( ('a'..'z'|'A'..'Z'|'_'|'0'..'9'|'\\u00c0'..'\\u00ff'))*
+            int _type = ID;
+            // C:\\dev\\jbossrules\\trunk3\\drools-compiler\\src\\main\\resources\\org\\drools\\lang\\DRL.g:1609:4: ( ( 'a' .. 'z' | 'A' .. 'Z' | '_' | '$' | '\\u00c0' .. '\\u00ff' ) ( 'a' .. 'z' | 'A' .. 'Z' | '_' | '0' .. '9' | '\\u00c0' .. '\\u00ff' )* )
+            // C:\\dev\\jbossrules\\trunk3\\drools-compiler\\src\\main\\resources\\org\\drools\\lang\\DRL.g:1609:4: ( 'a' .. 'z' | 'A' .. 'Z' | '_' | '$' | '\\u00c0' .. '\\u00ff' ) ( 'a' .. 'z' | 'A' .. 'Z' | '_' | '0' .. '9' | '\\u00c0' .. '\\u00ff' )*
             {
-                if ( this.input.LA( 1 ) == '$' || (this.input.LA( 1 ) >= 'A' && this.input.LA( 1 ) <= 'Z') || this.input.LA( 1 ) == '_' || (this.input.LA( 1 ) >= 'a' && this.input.LA( 1 ) <= 'z') || (this.input.LA( 1 ) >= '\u00C0' && this.input.LA( 1 ) <= '\u00FF') ) {
-                    this.input.consume();
-                    this.failed = false;
-                } else {
-                    if ( this.backtracking > 0 ) {
-                        this.failed = true;
-                        return;
-                    }
-                    final MismatchedSetException mse = new MismatchedSetException( null,
-                                                                             this.input );
-                    recover( mse );
-                    throw mse;
-                }
+            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();
+            failed=false;
+            }
+            else {
+                if (backtracking>0) {failed=true; return ;}
+                MismatchedSetException mse =
+                    new MismatchedSetException(null,input);
+                recover(mse);    throw mse;
+            }
 
-                // C:\\dev\\jbossrules\\trunk3\\drools-compiler\\src\\main\\resources\\org\\drools\\lang\\DRL.g:1609:50: ( ('a'..'z'|'A'..'Z'|'_'|'0'..'9'|'\\u00c0'..'\\u00ff'))*
-                loop14 : do {
-                    int alt14 = 2;
-                    final int LA14_0 = this.input.LA( 1 );
-                    if ( ((LA14_0 >= '0' && LA14_0 <= '9') || (LA14_0 >= 'A' && LA14_0 <= 'Z') || LA14_0 == '_' || (LA14_0 >= 'a' && LA14_0 <= 'z') || (LA14_0 >= '\u00C0' && LA14_0 <= '\u00FF')) ) {
-                        alt14 = 1;
-                    }
+            // C:\\dev\\jbossrules\\trunk3\\drools-compiler\\src\\main\\resources\\org\\drools\\lang\\DRL.g:1609:50: ( 'a' .. 'z' | 'A' .. 'Z' | '_' | '0' .. '9' | '\\u00c0' .. '\\u00ff' )*
+            loop14:
+            do {
+                int alt14=2;
+                int LA14_0 = input.LA(1);
 
-                    switch ( alt14 ) {
-                        case 1 :
-                            // C:\\dev\\jbossrules\\trunk3\\drools-compiler\\src\\main\\resources\\org\\drools\\lang\\DRL.g:1609:51: ('a'..'z'|'A'..'Z'|'_'|'0'..'9'|'\\u00c0'..'\\u00ff')
-                        {
-                            if ( (this.input.LA( 1 ) >= '0' && this.input.LA( 1 ) <= '9') || (this.input.LA( 1 ) >= 'A' && this.input.LA( 1 ) <= 'Z') || this.input.LA( 1 ) == '_' || (this.input.LA( 1 ) >= 'a' && this.input.LA( 1 ) <= 'z')
-                                 || (this.input.LA( 1 ) >= '\u00C0' && this.input.LA( 1 ) <= '\u00FF') ) {
-                                this.input.consume();
-                                this.failed = false;
-                            } else {
-                                if ( this.backtracking > 0 ) {
-                                    this.failed = true;
-                                    return;
-                                }
-                                final MismatchedSetException mse = new MismatchedSetException( null,
-                                                                                         this.input );
-                                recover( mse );
-                                throw mse;
-                            }
+                if ( ((LA14_0>='0' && LA14_0<='9')||(LA14_0>='A' && LA14_0<='Z')||LA14_0=='_'||(LA14_0>='a' && LA14_0<='z')||(LA14_0>='\u00C0' && LA14_0<='\u00FF')) ) {
+                    alt14=1;
+                }
 
-                        }
-                            break;
 
-                        default :
-                            break loop14;
-                    }
-                } while ( true );
+                switch (alt14) {
+            	case 1 :
+            	    // C:\\dev\\jbossrules\\trunk3\\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();
+            	    failed=false;
+            	    }
+            	    else {
+            	        if (backtracking>0) {failed=true; return ;}
+            	        MismatchedSetException mse =
+            	            new MismatchedSetException(null,input);
+            	        recover(mse);    throw mse;
+            	    }
 
-            }
 
-            if ( this.backtracking == 0 ) {
+            	    }
+            	    break;
 
-                if ( this.token == null && this.ruleNestingLevel == 1 ) {
-                    emit( _type,
-                          _line,
-                          _charPosition,
-                          _channel,
-                          _start,
-                          getCharIndex() - 1 );
+            	default :
+            	    break loop14;
                 }
+            } while (true);
 
+
             }
-        } finally {
-            this.ruleNestingLevel--;
+
+            this.type = _type;
         }
+        finally {
+        }
     }
-
     // $ANTLR end ID
 
     // $ANTLR start SH_STYLE_SINGLE_LINE_COMMENT
-    public void mSH_STYLE_SINGLE_LINE_COMMENT() throws RecognitionException {
+    public final void mSH_STYLE_SINGLE_LINE_COMMENT() throws RecognitionException {
         try {
-            this.ruleNestingLevel++;
-            final int _type = SH_STYLE_SINGLE_LINE_COMMENT;
-            final int _start = getCharIndex();
-            final int _line = getLine();
-            final int _charPosition = getCharPositionInLine();
-            int _channel = Token.DEFAULT_CHANNEL;
+            int _type = SH_STYLE_SINGLE_LINE_COMMENT;
             // C:\\dev\\jbossrules\\trunk3\\drools-compiler\\src\\main\\resources\\org\\drools\\lang\\DRL.g:1614:4: ( '#' ( options {greedy=false; } : . )* EOL )
             // C:\\dev\\jbossrules\\trunk3\\drools-compiler\\src\\main\\resources\\org\\drools\\lang\\DRL.g:1614:4: '#' ( options {greedy=false; } : . )* EOL
             {
-                match( '#' );
-                if ( this.failed ) {
-                    return;
+            match('#'); if (failed) return ;
+            // C:\\dev\\jbossrules\\trunk3\\drools-compiler\\src\\main\\resources\\org\\drools\\lang\\DRL.g:1614:8: ( options {greedy=false; } : . )*
+            loop15:
+            do {
+                int alt15=2;
+                int LA15_0 = input.LA(1);
+
+                if ( (LA15_0=='\r') ) {
+                    alt15=2;
                 }
-                // C:\\dev\\jbossrules\\trunk3\\drools-compiler\\src\\main\\resources\\org\\drools\\lang\\DRL.g:1614:8: ( options {greedy=false; } : . )*
-                loop15 : do {
-                    int alt15 = 2;
-                    final int LA15_0 = this.input.LA( 1 );
-                    if ( (LA15_0 == '\r') ) {
-                        alt15 = 2;
-                    } else if ( (LA15_0 == '\n') ) {
-                        alt15 = 2;
-                    } else if ( ((LA15_0 >= '\u0000' && LA15_0 <= '\t') || (LA15_0 >= '\u000B' && LA15_0 <= '\f') || (LA15_0 >= '\u000E' && LA15_0 <= '\uFFFE')) ) {
-                        alt15 = 1;
-                    }
+                else if ( (LA15_0=='\n') ) {
+                    alt15=2;
+                }
+                else if ( ((LA15_0>='\u0000' && LA15_0<='\t')||(LA15_0>='\u000B' && LA15_0<='\f')||(LA15_0>='\u000E' && LA15_0<='\uFFFE')) ) {
+                    alt15=1;
+                }
 
-                    switch ( alt15 ) {
-                        case 1 :
-                            // C:\\dev\\jbossrules\\trunk3\\drools-compiler\\src\\main\\resources\\org\\drools\\lang\\DRL.g:1614:35: .
-                        {
-                            matchAny();
-                            if ( this.failed ) {
-                                return;
-                            }
 
-                        }
-                            break;
+                switch (alt15) {
+            	case 1 :
+            	    // C:\\dev\\jbossrules\\trunk3\\drools-compiler\\src\\main\\resources\\org\\drools\\lang\\DRL.g:1614:35: .
+            	    {
+            	    matchAny(); if (failed) return ;
 
-                        default :
-                            break loop15;
-                    }
-                } while ( true );
+            	    }
+            	    break;
 
-                mEOL();
-                if ( this.failed ) {
-                    return;
+            	default :
+            	    break loop15;
                 }
-                if ( this.backtracking == 0 ) {
-                    _channel = HIDDEN;
-                }
+            } while (true);
 
+            mEOL(); if (failed) return ;
+            if ( backtracking==0 ) {
+               channel=HIDDEN; 
             }
 
-            if ( this.backtracking == 0 ) {
-
-                if ( this.token == null && this.ruleNestingLevel == 1 ) {
-                    emit( _type,
-                          _line,
-                          _charPosition,
-                          _channel,
-                          _start,
-                          getCharIndex() - 1 );
-                }
-
             }
-        } finally {
-            this.ruleNestingLevel--;
+
+            this.type = _type;
         }
+        finally {
+        }
     }
-
     // $ANTLR end SH_STYLE_SINGLE_LINE_COMMENT
 
     // $ANTLR start C_STYLE_SINGLE_LINE_COMMENT
-    public void mC_STYLE_SINGLE_LINE_COMMENT() throws RecognitionException {
+    public final void mC_STYLE_SINGLE_LINE_COMMENT() throws RecognitionException {
         try {
-            this.ruleNestingLevel++;
-            final int _type = C_STYLE_SINGLE_LINE_COMMENT;
-            final int _start = getCharIndex();
-            final int _line = getLine();
-            final int _charPosition = getCharPositionInLine();
-            int _channel = Token.DEFAULT_CHANNEL;
+            int _type = C_STYLE_SINGLE_LINE_COMMENT;
             // C:\\dev\\jbossrules\\trunk3\\drools-compiler\\src\\main\\resources\\org\\drools\\lang\\DRL.g:1620:4: ( '//' ( options {greedy=false; } : . )* EOL )
             // C:\\dev\\jbossrules\\trunk3\\drools-compiler\\src\\main\\resources\\org\\drools\\lang\\DRL.g:1620:4: '//' ( options {greedy=false; } : . )* EOL
             {
-                match( "//" );
-                if ( this.failed ) {
-                    return;
-                }
+            match("//"); if (failed) return ;
 
-                // C:\\dev\\jbossrules\\trunk3\\drools-compiler\\src\\main\\resources\\org\\drools\\lang\\DRL.g:1620:9: ( options {greedy=false; } : . )*
-                loop16 : do {
-                    int alt16 = 2;
-                    final int LA16_0 = this.input.LA( 1 );
-                    if ( (LA16_0 == '\r') ) {
-                        alt16 = 2;
-                    } else if ( (LA16_0 == '\n') ) {
-                        alt16 = 2;
-                    } else if ( ((LA16_0 >= '\u0000' && LA16_0 <= '\t') || (LA16_0 >= '\u000B' && LA16_0 <= '\f') || (LA16_0 >= '\u000E' && LA16_0 <= '\uFFFE')) ) {
-                        alt16 = 1;
-                    }
+            // C:\\dev\\jbossrules\\trunk3\\drools-compiler\\src\\main\\resources\\org\\drools\\lang\\DRL.g:1620:9: ( options {greedy=false; } : . )*
+            loop16:
+            do {
+                int alt16=2;
+                int LA16_0 = input.LA(1);
 
-                    switch ( alt16 ) {
-                        case 1 :
-                            // C:\\dev\\jbossrules\\trunk3\\drools-compiler\\src\\main\\resources\\org\\drools\\lang\\DRL.g:1620:36: .
-                        {
-                            matchAny();
-                            if ( this.failed ) {
-                                return;
-                            }
-
-                        }
-                            break;
-
-                        default :
-                            break loop16;
-                    }
-                } while ( true );
-
-                mEOL();
-                if ( this.failed ) {
-                    return;
+                if ( (LA16_0=='\r') ) {
+                    alt16=2;
                 }
-                if ( this.backtracking == 0 ) {
-                    _channel = HIDDEN;
+                else if ( (LA16_0=='\n') ) {
+                    alt16=2;
                 }
+                else if ( ((LA16_0>='\u0000' && LA16_0<='\t')||(LA16_0>='\u000B' && LA16_0<='\f')||(LA16_0>='\u000E' && LA16_0<='\uFFFE')) ) {
+                    alt16=1;
+                }
 
-            }
 
-            if ( this.backtracking == 0 ) {
+                switch (alt16) {
+            	case 1 :
+            	    // C:\\dev\\jbossrules\\trunk3\\drools-compiler\\src\\main\\resources\\org\\drools\\lang\\DRL.g:1620:36: .
+            	    {
+            	    matchAny(); if (failed) return ;
 
-                if ( this.token == null && this.ruleNestingLevel == 1 ) {
-                    emit( _type,
-                          _line,
-                          _charPosition,
-                          _channel,
-                          _start,
-                          getCharIndex() - 1 );
+            	    }
+            	    break;
+
+            	default :
+            	    break loop16;
                 }
+            } while (true);
 
+            mEOL(); if (failed) return ;
+            if ( backtracking==0 ) {
+               channel=HIDDEN; 
             }
-        } finally {
-            this.ruleNestingLevel--;
+
+            }
+
+            this.type = _type;
         }
+        finally {
+        }
     }
-
     // $ANTLR end C_STYLE_SINGLE_LINE_COMMENT
 
     // $ANTLR start LEFT_PAREN
-    public void mLEFT_PAREN() throws RecognitionException {
+    public final void mLEFT_PAREN() throws RecognitionException {
         try {
-            this.ruleNestingLevel++;
-            final int _type = LEFT_PAREN;
-            final int _start = getCharIndex();
-            final int _line = getLine();
-            final int _charPosition = getCharPositionInLine();
-            final int _channel = Token.DEFAULT_CHANNEL;
+            int _type = LEFT_PAREN;
             // C:\\dev\\jbossrules\\trunk3\\drools-compiler\\src\\main\\resources\\org\\drools\\lang\\DRL.g:1626:11: ( '(' )
             // C:\\dev\\jbossrules\\trunk3\\drools-compiler\\src\\main\\resources\\org\\drools\\lang\\DRL.g:1626:11: '('
             {
-                match( '(' );
-                if ( this.failed ) {
-                    return;
-                }
+            match('('); if (failed) return ;
 
             }
 
-            if ( this.backtracking == 0 ) {
-
-                if ( this.token == null && this.ruleNestingLevel == 1 ) {
-                    emit( _type,
-                          _line,
-                          _charPosition,
-                          _channel,
-                          _start,
-                          getCharIndex() - 1 );
-                }
-
-            }
-        } finally {
-            this.ruleNestingLevel--;
+            this.type = _type;
         }
+        finally {
+        }
     }
-
     // $ANTLR end LEFT_PAREN
 
     // $ANTLR start RIGHT_PAREN
-    public void mRIGHT_PAREN() throws RecognitionException {
+    public final void mRIGHT_PAREN() throws RecognitionException {
         try {
-            this.ruleNestingLevel++;
-            final int _type = RIGHT_PAREN;
-            final int _start = getCharIndex();
-            final int _line = getLine();
-            final int _charPosition = getCharPositionInLine();
-            final int _channel = Token.DEFAULT_CHANNEL;
+            int _type = RIGHT_PAREN;
             // C:\\dev\\jbossrules\\trunk3\\drools-compiler\\src\\main\\resources\\org\\drools\\lang\\DRL.g:1630:11: ( ')' )
             // C:\\dev\\jbossrules\\trunk3\\drools-compiler\\src\\main\\resources\\org\\drools\\lang\\DRL.g:1630:11: ')'
             {
-                match( ')' );
-                if ( this.failed ) {
-                    return;
-                }
+            match(')'); if (failed) return ;
 
             }
 
-            if ( this.backtracking == 0 ) {
-
-                if ( this.token == null && this.ruleNestingLevel == 1 ) {
-                    emit( _type,
-                          _line,
-                          _charPosition,
-                          _channel,
-                          _start,
-                          getCharIndex() - 1 );
-                }
-
-            }
-        } finally {
-            this.ruleNestingLevel--;
+            this.type = _type;
         }
+        finally {
+        }
     }
-
     // $ANTLR end RIGHT_PAREN
 
     // $ANTLR start LEFT_SQUARE
-    public void mLEFT_SQUARE() throws RecognitionException {
+    public final void mLEFT_SQUARE() throws RecognitionException {
         try {
-            this.ruleNestingLevel++;
-            final int _type = LEFT_SQUARE;
-            final int _start = getCharIndex();
-            final int _line = getLine();
-            final int _charPosition = getCharPositionInLine();
-            final int _channel = Token.DEFAULT_CHANNEL;
+            int _type = LEFT_SQUARE;
             // C:\\dev\\jbossrules\\trunk3\\drools-compiler\\src\\main\\resources\\org\\drools\\lang\\DRL.g:1634:11: ( '[' )
             // C:\\dev\\jbossrules\\trunk3\\drools-compiler\\src\\main\\resources\\org\\drools\\lang\\DRL.g:1634:11: '['
             {
-                match( '[' );
-                if ( this.failed ) {
-                    return;
-                }
+            match('['); if (failed) return ;
 
             }
 
-            if ( this.backtracking == 0 ) {
-
-                if ( this.token == null && this.ruleNestingLevel == 1 ) {
-                    emit( _type,
-                          _line,
-                          _charPosition,
-                          _channel,
-                          _start,
-                          getCharIndex() - 1 );
-                }
-
-            }
-        } finally {
-            this.ruleNestingLevel--;
+            this.type = _type;
         }
+        finally {
+        }
     }
-
     // $ANTLR end LEFT_SQUARE
 
     // $ANTLR start RIGHT_SQUARE
-    public void mRIGHT_SQUARE() throws RecognitionException {
+    public final void mRIGHT_SQUARE() throws RecognitionException {
         try {
-            this.ruleNestingLevel++;
-            final int _type = RIGHT_SQUARE;
-            final int _start = getCharIndex();
-            final int _line = getLine();
-            final int _charPosition = getCharPositionInLine();
-            final int _channel = Token.DEFAULT_CHANNEL;
+            int _type = RIGHT_SQUARE;
             // C:\\dev\\jbossrules\\trunk3\\drools-compiler\\src\\main\\resources\\org\\drools\\lang\\DRL.g:1638:11: ( ']' )
             // C:\\dev\\jbossrules\\trunk3\\drools-compiler\\src\\main\\resources\\org\\drools\\lang\\DRL.g:1638:11: ']'
             {
-                match( ']' );
-                if ( this.failed ) {
-                    return;
-                }
+            match(']'); if (failed) return ;
 
             }
 
-            if ( this.backtracking == 0 ) {
-
-                if ( this.token == null && this.ruleNestingLevel == 1 ) {
-                    emit( _type,
-                          _line,
-                          _charPosition,
-                          _channel,
-                          _start,
-                          getCharIndex() - 1 );
-                }
-
-            }
-        } finally {
-            this.ruleNestingLevel--;
+            this.type = _type;
         }
+        finally {
+        }
     }
-
     // $ANTLR end RIGHT_SQUARE
 
     // $ANTLR start LEFT_CURLY
-    public void mLEFT_CURLY() throws RecognitionException {
+    public final void mLEFT_CURLY() throws RecognitionException {
         try {
-            this.ruleNestingLevel++;
-            final int _type = LEFT_CURLY;
-            final int _start = getCharIndex();
-            final int _line = getLine();
-            final int _charPosition = getCharPositionInLine();
-            final int _channel = Token.DEFAULT_CHANNEL;
+            int _type = LEFT_CURLY;
             // C:\\dev\\jbossrules\\trunk3\\drools-compiler\\src\\main\\resources\\org\\drools\\lang\\DRL.g:1642:11: ( '{' )
             // C:\\dev\\jbossrules\\trunk3\\drools-compiler\\src\\main\\resources\\org\\drools\\lang\\DRL.g:1642:11: '{'
             {
-                match( '{' );
-                if ( this.failed ) {
-                    return;
-                }
+            match('{'); if (failed) return ;
 
             }
 
-            if ( this.backtracking == 0 ) {
-
-                if ( this.token == null && this.ruleNestingLevel == 1 ) {
-                    emit( _type,
-                          _line,
-                          _charPosition,
-                          _channel,
-                          _start,
-                          getCharIndex() - 1 );
-                }
-
-            }
-        } finally {
-            this.ruleNestingLevel--;
+            this.type = _type;
         }
+        finally {
+        }
     }
-
     // $ANTLR end LEFT_CURLY
 
     // $ANTLR start RIGHT_CURLY
-    public void mRIGHT_CURLY() throws RecognitionException {
+    public final void mRIGHT_CURLY() throws RecognitionException {
         try {
-            this.ruleNestingLevel++;
-            final int _type = RIGHT_CURLY;
-            final int _start = getCharIndex();
-            final int _line = getLine();
-            final int _charPosition = getCharPositionInLine();
-            final int _channel = Token.DEFAULT_CHANNEL;
+            int _type = RIGHT_CURLY;
             // C:\\dev\\jbossrules\\trunk3\\drools-compiler\\src\\main\\resources\\org\\drools\\lang\\DRL.g:1646:11: ( '}' )
             // C:\\dev\\jbossrules\\trunk3\\drools-compiler\\src\\main\\resources\\org\\drools\\lang\\DRL.g:1646:11: '}'
             {
-                match( '}' );
-                if ( this.failed ) {
-                    return;
-                }
+            match('}'); if (failed) return ;
 
             }
 
-            if ( this.backtracking == 0 ) {
-
-                if ( this.token == null && this.ruleNestingLevel == 1 ) {
-                    emit( _type,
-                          _line,
-                          _charPosition,
-                          _channel,
-                          _start,
-                          getCharIndex() - 1 );
-                }
-
-            }
-        } finally {
-            this.ruleNestingLevel--;
+            this.type = _type;
         }
+        finally {
+        }
     }
-
     // $ANTLR end RIGHT_CURLY
 
     // $ANTLR start MULTI_LINE_COMMENT
-    public void mMULTI_LINE_COMMENT() throws RecognitionException {
+    public final void mMULTI_LINE_COMMENT() throws RecognitionException {
         try {
-            this.ruleNestingLevel++;
-            final int _type = MULTI_LINE_COMMENT;
-            final int _start = getCharIndex();
-            final int _line = getLine();
-            final int _charPosition = getCharPositionInLine();
-            int _channel = Token.DEFAULT_CHANNEL;
+            int _type = MULTI_LINE_COMMENT;
             // C:\\dev\\jbossrules\\trunk3\\drools-compiler\\src\\main\\resources\\org\\drools\\lang\\DRL.g:1650:4: ( '/*' ( options {greedy=false; } : . )* '*/' )
             // C:\\dev\\jbossrules\\trunk3\\drools-compiler\\src\\main\\resources\\org\\drools\\lang\\DRL.g:1650:4: '/*' ( options {greedy=false; } : . )* '*/'
             {
-                match( "/*" );
-                if ( this.failed ) {
-                    return;
-                }
+            match("/*"); if (failed) return ;
 
-                // C:\\dev\\jbossrules\\trunk3\\drools-compiler\\src\\main\\resources\\org\\drools\\lang\\DRL.g:1650:9: ( options {greedy=false; } : . )*
-                loop17 : do {
-                    int alt17 = 2;
-                    final int LA17_0 = this.input.LA( 1 );
-                    if ( (LA17_0 == '*') ) {
-                        final int LA17_1 = this.input.LA( 2 );
-                        if ( (LA17_1 == '/') ) {
-                            alt17 = 2;
-                        } else if ( ((LA17_1 >= '\u0000' && LA17_1 <= '.') || (LA17_1 >= '0' && LA17_1 <= '\uFFFE')) ) {
-                            alt17 = 1;
-                        }
+            // C:\\dev\\jbossrules\\trunk3\\drools-compiler\\src\\main\\resources\\org\\drools\\lang\\DRL.g:1650:9: ( options {greedy=false; } : . )*
+            loop17:
+            do {
+                int alt17=2;
+                int LA17_0 = input.LA(1);
 
-                    } else if ( ((LA17_0 >= '\u0000' && LA17_0 <= ')') || (LA17_0 >= '+' && LA17_0 <= '\uFFFE')) ) {
-                        alt17 = 1;
-                    }
+                if ( (LA17_0=='*') ) {
+                    int LA17_1 = input.LA(2);
 
-                    switch ( alt17 ) {
-                        case 1 :
-                            // C:\\dev\\jbossrules\\trunk3\\drools-compiler\\src\\main\\resources\\org\\drools\\lang\\DRL.g:1650:35: .
-                        {
-                            matchAny();
-                            if ( this.failed ) {
-                                return;
-                            }
-
-                        }
-                            break;
-
-                        default :
-                            break loop17;
+                    if ( (LA17_1=='/') ) {
+                        alt17=2;
                     }
-                } while ( true );
+                    else if ( ((LA17_1>='\u0000' && LA17_1<='.')||(LA17_1>='0' && LA17_1<='\uFFFE')) ) {
+                        alt17=1;
+                    }
 
-                match( "*/" );
-                if ( this.failed ) {
-                    return;
-                }
 
-                if ( this.backtracking == 0 ) {
-                    _channel = HIDDEN;
                 }
+                else if ( ((LA17_0>='\u0000' && LA17_0<=')')||(LA17_0>='+' && LA17_0<='\uFFFE')) ) {
+                    alt17=1;
+                }
 
-            }
 
-            if ( this.backtracking == 0 ) {
+                switch (alt17) {
+            	case 1 :
+            	    // C:\\dev\\jbossrules\\trunk3\\drools-compiler\\src\\main\\resources\\org\\drools\\lang\\DRL.g:1650:35: .
+            	    {
+            	    matchAny(); if (failed) return ;
 
-                if ( this.token == null && this.ruleNestingLevel == 1 ) {
-                    emit( _type,
-                          _line,
-                          _charPosition,
-                          _channel,
-                          _start,
-                          getCharIndex() - 1 );
+            	    }
+            	    break;
+
+            	default :
+            	    break loop17;
                 }
+            } while (true);
 
+            match("*/"); if (failed) return ;
+
+            if ( backtracking==0 ) {
+               channel=HIDDEN; 
             }
-        } finally {
-            this.ruleNestingLevel--;
+
+            }
+
+            this.type = _type;
         }
+        finally {
+        }
     }
-
     // $ANTLR end MULTI_LINE_COMMENT
 
     // $ANTLR start MISC
-    public void mMISC() throws RecognitionException {
+    public final void mMISC() throws RecognitionException {
         try {
-            this.ruleNestingLevel++;
-            final int _type = MISC;
-            final int _start = getCharIndex();
-            final int _line = getLine();
-            final int _charPosition = getCharPositionInLine();
-            final int _channel = Token.DEFAULT_CHANNEL;
-            // C:\\dev\\jbossrules\\trunk3\\drools-compiler\\src\\main\\resources\\org\\drools\\lang\\DRL.g:1654:7: ( ('!'|'@'|'$'|'%'|'^'|'&'|'*'|'_'|'-'|'+'|'?'|'|'|','|'='|'/'|'\\''|'\\\\'))
-            // C:\\dev\\jbossrules\\trunk3\\drools-compiler\\src\\main\\resources\\org\\drools\\lang\\DRL.g:1655:3: ('!'|'@'|'$'|'%'|'^'|'&'|'*'|'_'|'-'|'+'|'?'|'|'|','|'='|'/'|'\\''|'\\\\')
+            int _type = MISC;
+            // C:\\dev\\jbossrules\\trunk3\\drools-compiler\\src\\main\\resources\\org\\drools\\lang\\DRL.g:1655:3: ( '!' | '@' | '$' | '%' | '^' | '&' | '*' | '_' | '-' | '+' | '?' | '|' | ',' | '=' | '/' | '\\'' | '\\\\' )
+            // C:\\dev\\jbossrules\\trunk3\\drools-compiler\\src\\main\\resources\\org\\drools\\lang\\DRL.g:
             {
-                if ( this.input.LA( 1 ) == '!' || (this.input.LA( 1 ) >= '$' && this.input.LA( 1 ) <= '\'') || (this.input.LA( 1 ) >= '*' && this.input.LA( 1 ) <= '-') || this.input.LA( 1 ) == '/' || this.input.LA( 1 ) == '=' || (this.input.LA( 1 ) >= '?' && this.input.LA( 1 ) <= '@')
-                     || this.input.LA( 1 ) == '\\' || (this.input.LA( 1 ) >= '^' && this.input.LA( 1 ) <= '_') || this.input.LA( 1 ) == '|' ) {
-                    this.input.consume();
-                    this.failed = false;
-                } else {
-                    if ( this.backtracking > 0 ) {
-                        this.failed = true;
-                        return;
-                    }
-                    final MismatchedSetException mse = new MismatchedSetException( null,
-                                                                             this.input );
-                    recover( mse );
-                    throw mse;
-                }
-
+            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.LA(1)=='|' ) {
+                input.consume();
+            failed=false;
             }
+            else {
+                if (backtracking>0) {failed=true; return ;}
+                MismatchedSetException mse =
+                    new MismatchedSetException(null,input);
+                recover(mse);    throw mse;
+            }
 
-            if ( this.backtracking == 0 ) {
 
-                if ( this.token == null && this.ruleNestingLevel == 1 ) {
-                    emit( _type,
-                          _line,
-                          _charPosition,
-                          _channel,
-                          _start,
-                          getCharIndex() - 1 );
-                }
-
             }
-        } finally {
-            this.ruleNestingLevel--;
+
+            this.type = _type;
         }
+        finally {
+        }
     }
-
     // $ANTLR end MISC
 
     public void mTokens() throws RecognitionException {
         // C:\\dev\\jbossrules\\trunk3\\drools-compiler\\src\\main\\resources\\org\\drools\\lang\\DRL.g:1:10: ( T63 | T64 | T65 | T66 | T67 | T68 | T69 | T70 | T71 | T72 | T73 | T74 | T75 | T76 | T77 | T78 | WS | INT | FLOAT | STRING | BOOL | PACKAGE | IMPORT | FUNCTION | GLOBAL | RULE | QUERY | TEMPLATE | ATTRIBUTES | DATE_EFFECTIVE | DATE_EXPIRES | ENABLED | SALIENCE | NO_LOOP | AUTO_FOCUS | ACTIVATION_GROUP | AGENDA_GROUP | RULEFLOW_GROUP | DURATION | LOCK_ON_ACTIVE | FROM | ACCUMULATE | INIT | ACTION | RESULT | COLLECT | OR | AND | CONTAINS | EXCLUDES | MATCHES | NULL | EXISTS | NOT | EVAL | FORALL | WHEN | THEN | END | ID | SH_STYLE_SINGLE_LINE_COMMENT | C_STYLE_SINGLE_LINE_COMMENT | LEFT_PAREN | RIGHT_PAREN | LEFT_SQUARE | RIGHT_SQUARE | LEFT_CURLY | RIGHT_CURLY | MULTI_LINE_COMMENT | MISC )
-        int alt18 = 70;
-        alt18 = this.dfa18.predict( this.input );
-        switch ( alt18 ) {
+        int alt18=70;
+        alt18 = dfa18.predict(input);
+        switch (alt18) {
             case 1 :
                 // C:\\dev\\jbossrules\\trunk3\\drools-compiler\\src\\main\\resources\\org\\drools\\lang\\DRL.g:1:10: T63
-            {
-                mT63();
-                if ( this.failed ) {
-                    return;
-                }
+                {
+                mT63(); if (failed) return ;
 
-            }
+                }
                 break;
             case 2 :
                 // C:\\dev\\jbossrules\\trunk3\\drools-compiler\\src\\main\\resources\\org\\drools\\lang\\DRL.g:1:14: T64
-            {
-                mT64();
-                if ( this.failed ) {
-                    return;
-                }
+                {
+                mT64(); if (failed) return ;
 
-            }
+                }
                 break;
             case 3 :
                 // C:\\dev\\jbossrules\\trunk3\\drools-compiler\\src\\main\\resources\\org\\drools\\lang\\DRL.g:1:18: T65
-            {
-                mT65();
-                if ( this.failed ) {
-                    return;
-                }
+                {
+                mT65(); if (failed) return ;
 
-            }
+                }
                 break;
             case 4 :
                 // C:\\dev\\jbossrules\\trunk3\\drools-compiler\\src\\main\\resources\\org\\drools\\lang\\DRL.g:1:22: T66
-            {
-                mT66();
-                if ( this.failed ) {
-                    return;
-                }
+                {
+                mT66(); if (failed) return ;
 
-            }
+                }
                 break;
             case 5 :
                 // C:\\dev\\jbossrules\\trunk3\\drools-compiler\\src\\main\\resources\\org\\drools\\lang\\DRL.g:1:26: T67
-            {
-                mT67();
-                if ( this.failed ) {
-                    return;
-                }
+                {
+                mT67(); if (failed) return ;
 
-            }
+                }
                 break;
             case 6 :
                 // C:\\dev\\jbossrules\\trunk3\\drools-compiler\\src\\main\\resources\\org\\drools\\lang\\DRL.g:1:30: T68
-            {
-                mT68();
-                if ( this.failed ) {
-                    return;
-                }
+                {
+                mT68(); if (failed) return ;
 
-            }
+                }
                 break;
             case 7 :
                 // C:\\dev\\jbossrules\\trunk3\\drools-compiler\\src\\main\\resources\\org\\drools\\lang\\DRL.g:1:34: T69
-            {
-                mT69();
-                if ( this.failed ) {
-                    return;
-                }
+                {
+                mT69(); if (failed) return ;
 
-            }
+                }
                 break;
             case 8 :
                 // C:\\dev\\jbossrules\\trunk3\\drools-compiler\\src\\main\\resources\\org\\drools\\lang\\DRL.g:1:38: T70
-            {
-                mT70();
-                if ( this.failed ) {
-                    return;
-                }
+                {
+                mT70(); if (failed) return ;
 
-            }
+                }
                 break;
             case 9 :
                 // C:\\dev\\jbossrules\\trunk3\\drools-compiler\\src\\main\\resources\\org\\drools\\lang\\DRL.g:1:42: T71
-            {
-                mT71();
-                if ( this.failed ) {
-                    return;
-                }
+                {
+                mT71(); if (failed) return ;
 
-            }
+                }
                 break;
             case 10 :
                 // C:\\dev\\jbossrules\\trunk3\\drools-compiler\\src\\main\\resources\\org\\drools\\lang\\DRL.g:1:46: T72
-            {
-                mT72();
-                if ( this.failed ) {
-                    return;
-                }
+                {
+                mT72(); if (failed) return ;
 
-            }
+                }
                 break;
             case 11 :
                 // C:\\dev\\jbossrules\\trunk3\\drools-compiler\\src\\main\\resources\\org\\drools\\lang\\DRL.g:1:50: T73
-            {
-                mT73();
-                if ( this.failed ) {
-                    return;
-                }
+                {
+                mT73(); if (failed) return ;
 
-            }
+                }
                 break;
             case 12 :
                 // C:\\dev\\jbossrules\\trunk3\\drools-compiler\\src\\main\\resources\\org\\drools\\lang\\DRL.g:1:54: T74
-            {
-                mT74();
-                if ( this.failed ) {
-                    return;
-                }
+                {
+                mT74(); if (failed) return ;
 
-            }
+                }
                 break;
             case 13 :
                 // C:\\dev\\jbossrules\\trunk3\\drools-compiler\\src\\main\\resources\\org\\drools\\lang\\DRL.g:1:58: T75
-            {
-                mT75();
-                if ( this.failed ) {
-                    return;
-                }
+                {
+                mT75(); if (failed) return ;
 
-            }
+                }
                 break;
             case 14 :
                 // C:\\dev\\jbossrules\\trunk3\\drools-compiler\\src\\main\\resources\\org\\drools\\lang\\DRL.g:1:62: T76
-            {
-                mT76();
-                if ( this.failed ) {
-                    return;
-                }
+                {
+                mT76(); if (failed) return ;
 
-            }
+                }
                 break;
             case 15 :
                 // C:\\dev\\jbossrules\\trunk3\\drools-compiler\\src\\main\\resources\\org\\drools\\lang\\DRL.g:1:66: T77
-            {
-                mT77();
-                if ( this.failed ) {
-                    return;
-                }
+                {
+                mT77(); if (failed) return ;
 
-            }
+                }
                 break;
             case 16 :
                 // C:\\dev\\jbossrules\\trunk3\\drools-compiler\\src\\main\\resources\\org\\drools\\lang\\DRL.g:1:70: T78
-            {
-                mT78();
-                if ( this.failed ) {
-                    return;
-                }
+                {
+                mT78(); if (failed) return ;
 
-            }
+                }
                 break;
             case 17 :
                 // C:\\dev\\jbossrules\\trunk3\\drools-compiler\\src\\main\\resources\\org\\drools\\lang\\DRL.g:1:74: WS
-            {
-                mWS();
-                if ( this.failed ) {
-                    return;
-                }
+                {
+                mWS(); if (failed) return ;
 
-            }
+                }
                 break;
             case 18 :
                 // C:\\dev\\jbossrules\\trunk3\\drools-compiler\\src\\main\\resources\\org\\drools\\lang\\DRL.g:1:77: INT
-            {
-                mINT();
-                if ( this.failed ) {
-                    return;
-                }
+                {
+                mINT(); if (failed) return ;
 
-            }
+                }
                 break;
             case 19 :
                 // C:\\dev\\jbossrules\\trunk3\\drools-compiler\\src\\main\\resources\\org\\drools\\lang\\DRL.g:1:81: FLOAT
-            {
-                mFLOAT();
-                if ( this.failed ) {
-                    return;
-                }
+                {
+                mFLOAT(); if (failed) return ;
 
-            }
+                }
                 break;
             case 20 :
                 // C:\\dev\\jbossrules\\trunk3\\drools-compiler\\src\\main\\resources\\org\\drools\\lang\\DRL.g:1:87: STRING
-            {
-                mSTRING();
-                if ( this.failed ) {
-                    return;
-                }
+                {
+                mSTRING(); if (failed) return ;
 
-            }
+                }
                 break;
             case 21 :
                 // C:\\dev\\jbossrules\\trunk3\\drools-compiler\\src\\main\\resources\\org\\drools\\lang\\DRL.g:1:94: BOOL
-            {
-                mBOOL();
-                if ( this.failed ) {
-                    return;
-                }
+                {
+                mBOOL(); if (failed) return ;
 
-            }
+                }
                 break;
             case 22 :
                 // C:\\dev\\jbossrules\\trunk3\\drools-compiler\\src\\main\\resources\\org\\drools\\lang\\DRL.g:1:99: PACKAGE
-            {
-                mPACKAGE();
-                if ( this.failed ) {
-                    return;
-                }
+                {
+                mPACKAGE(); if (failed) return ;
 
-            }
+                }
                 break;
             case 23 :
                 // C:\\dev\\jbossrules\\trunk3\\drools-compiler\\src\\main\\resources\\org\\drools\\lang\\DRL.g:1:107: IMPORT
-            {
-                mIMPORT();
-                if ( this.failed ) {
-                    return;
-                }
+                {
+                mIMPORT(); if (failed) return ;
 
-            }
+                }
                 break;
             case 24 :
                 // C:\\dev\\jbossrules\\trunk3\\drools-compiler\\src\\main\\resources\\org\\drools\\lang\\DRL.g:1:114: FUNCTION
-            {
-                mFUNCTION();
-                if ( this.failed ) {
-                    return;
-                }
+                {
+                mFUNCTION(); if (failed) return ;
 
-            }
+                }
                 break;
             case 25 :
                 // C:\\dev\\jbossrules\\trunk3\\drools-compiler\\src\\main\\resources\\org\\drools\\lang\\DRL.g:1:123: GLOBAL
-            {
-                mGLOBAL();
-                if ( this.failed ) {
-                    return;
-                }
+                {
+                mGLOBAL(); if (failed) return ;
 
-            }
+                }
                 break;
             case 26 :
                 // C:\\dev\\jbossrules\\trunk3\\drools-compiler\\src\\main\\resources\\org\\drools\\lang\\DRL.g:1:130: RULE
-            {
-                mRULE();
-                if ( this.failed ) {
-                    return;
-                }
+                {
+                mRULE(); if (failed) return ;
 
-            }
+                }
                 break;
             case 27 :
                 // C:\\dev\\jbossrules\\trunk3\\drools-compiler\\src\\main\\resources\\org\\drools\\lang\\DRL.g:1:135: QUERY
-            {
-                mQUERY();
-                if ( this.failed ) {
-                    return;
-                }
+                {
+                mQUERY(); if (failed) return ;
 
-            }
+                }
                 break;
             case 28 :
                 // C:\\dev\\jbossrules\\trunk3\\drools-compiler\\src\\main\\resources\\org\\drools\\lang\\DRL.g:1:141: TEMPLATE
-            {
-                mTEMPLATE();
-                if ( this.failed ) {
-                    return;
-                }
+                {
+                mTEMPLATE(); if (failed) return ;
 
-            }
+                }
                 break;
             case 29 :
                 // C:\\dev\\jbossrules\\trunk3\\drools-compiler\\src\\main\\resources\\org\\drools\\lang\\DRL.g:1:150: ATTRIBUTES
-            {
-                mATTRIBUTES();
-                if ( this.failed ) {
-                    return;
-                }
+                {
+                mATTRIBUTES(); if (failed) return ;
 
-            }
+                }
                 break;
             case 30 :
                 // C:\\dev\\jbossrules\\trunk3\\drools-compiler\\src\\main\\resources\\org\\drools\\lang\\DRL.g:1:161: DATE_EFFECTIVE
-            {
-                mDATE_EFFECTIVE();
-                if ( this.failed ) {
-                    return;
-                }
+                {
+                mDATE_EFFECTIVE(); if (failed) return ;
 
-            }
+                }
                 break;
             case 31 :
                 // C:\\dev\\jbossrules\\trunk3\\drools-compiler\\src\\main\\resources\\org\\drools\\lang\\DRL.g:1:176: DATE_EXPIRES
-            {
-                mDATE_EXPIRES();
-                if ( this.failed ) {
-                    return;
-                }
+                {
+                mDATE_EXPIRES(); if (failed) return ;
 
-            }
+                }
                 break;
             case 32 :
                 // C:\\dev\\jbossrules\\trunk3\\drools-compiler\\src\\main\\resources\\org\\drools\\lang\\DRL.g:1:189: ENABLED
-            {
-                mENABLED();
-                if ( this.failed ) {
-                    return;
-                }
+                {
+                mENABLED(); if (failed) return ;
 
-            }
+                }
                 break;
             case 33 :
                 // C:\\dev\\jbossrules\\trunk3\\drools-compiler\\src\\main\\resources\\org\\drools\\lang\\DRL.g:1:197: SALIENCE
-            {
-                mSALIENCE();
-                if ( this.failed ) {
-                    return;
-                }
+                {
+                mSALIENCE(); if (failed) return ;
 
-            }
+                }
                 break;
             case 34 :
                 // C:\\dev\\jbossrules\\trunk3\\drools-compiler\\src\\main\\resources\\org\\drools\\lang\\DRL.g:1:206: NO_LOOP
-            {
-                mNO_LOOP();
-                if ( this.failed ) {
-                    return;
-                }
+                {
+                mNO_LOOP(); if (failed) return ;
 
-            }
+                }
                 break;
             case 35 :
                 // C:\\dev\\jbossrules\\trunk3\\drools-compiler\\src\\main\\resources\\org\\drools\\lang\\DRL.g:1:214: AUTO_FOCUS
-            {
-                mAUTO_FOCUS();
-                if ( this.failed ) {
-                    return;
-                }
+                {
+                mAUTO_FOCUS(); if (failed) return ;
 
-            }
+                }
                 break;
             case 36 :
                 // C:\\dev\\jbossrules\\trunk3\\drools-compiler\\src\\main\\resources\\org\\drools\\lang\\DRL.g:1:225: ACTIVATION_GROUP
-            {
-                mACTIVATION_GROUP();
-                if ( this.failed ) {
-                    return;
-                }
+                {
+                mACTIVATION_GROUP(); if (failed) return ;
 
-            }
+                }
                 break;
             case 37 :
                 // C:\\dev\\jbossrules\\trunk3\\drools-compiler\\src\\main\\resources\\org\\drools\\lang\\DRL.g:1:242: AGENDA_GROUP
-            {
-                mAGENDA_GROUP();
-                if ( this.failed ) {
-                    return;
-                }
+                {
+                mAGENDA_GROUP(); if (failed) return ;
 
-            }
+                }
                 break;
             case 38 :
                 // C:\\dev\\jbossrules\\trunk3\\drools-compiler\\src\\main\\resources\\org\\drools\\lang\\DRL.g:1:255: RULEFLOW_GROUP
-            {
-                mRULEFLOW_GROUP();
-                if ( this.failed ) {
-                    return;
-                }
+                {
+                mRULEFLOW_GROUP(); if (failed) return ;
 
-            }
+                }
                 break;
             case 39 :
                 // C:\\dev\\jbossrules\\trunk3\\drools-compiler\\src\\main\\resources\\org\\drools\\lang\\DRL.g:1:270: DURATION
-            {
-                mDURATION();
-                if ( this.failed ) {
-                    return;
-                }
+                {
+                mDURATION(); if (failed) return ;
 
-            }
+                }
                 break;
             case 40 :
                 // C:\\dev\\jbossrules\\trunk3\\drools-compiler\\src\\main\\resources\\org\\drools\\lang\\DRL.g:1:279: LOCK_ON_ACTIVE
-            {
-                mLOCK_ON_ACTIVE();
-                if ( this.failed ) {
-                    return;
-                }
+                {
+                mLOCK_ON_ACTIVE(); if (failed) return ;
 
-            }
+                }
                 break;
             case 41 :
                 // C:\\dev\\jbossrules\\trunk3\\drools-compiler\\src\\main\\resources\\org\\drools\\lang\\DRL.g:1:294: FROM
-            {
-                mFROM();
-                if ( this.failed ) {
-                    return;
-                }
+                {
+                mFROM(); if (failed) return ;
 
-            }
+                }
                 break;
             case 42 :
                 // C:\\dev\\jbossrules\\trunk3\\drools-compiler\\src\\main\\resources\\org\\drools\\lang\\DRL.g:1:299: ACCUMULATE
-            {
-                mACCUMULATE();
-                if ( this.failed ) {
-                    return;
-                }
+                {
+                mACCUMULATE(); if (failed) return ;
 
-            }
+                }
                 break;
             case 43 :
                 // C:\\dev\\jbossrules\\trunk3\\drools-compiler\\src\\main\\resources\\org\\drools\\lang\\DRL.g:1:310: INIT
-            {
-                mINIT();
-                if ( this.failed ) {
-                    return;
-                }
+                {
+                mINIT(); if (failed) return ;
 
-            }
+                }
                 break;
             case 44 :
                 // C:\\dev\\jbossrules\\trunk3\\drools-compiler\\src\\main\\resources\\org\\drools\\lang\\DRL.g:1:315: ACTION
-            {
-                mACTION();
-                if ( this.failed ) {
-                    return;
-                }
+                {
+                mACTION(); if (failed) return ;
 
-            }
+                }
                 break;
             case 45 :
                 // C:\\dev\\jbossrules\\trunk3\\drools-compiler\\src\\main\\resources\\org\\drools\\lang\\DRL.g:1:322: RESULT
-            {
-                mRESULT();
-                if ( this.failed ) {
-                    return;
-                }
+                {
+                mRESULT(); if (failed) return ;
 
-            }
+                }
                 break;
             case 46 :
                 // C:\\dev\\jbossrules\\trunk3\\drools-compiler\\src\\main\\resources\\org\\drools\\lang\\DRL.g:1:329: COLLECT
-            {
-                mCOLLECT();
-                if ( this.failed ) {
-                    return;
-                }
+                {
+                mCOLLECT(); if (failed) return ;
 
-            }
+                }
                 break;
             case 47 :
                 // C:\\dev\\jbossrules\\trunk3\\drools-compiler\\src\\main\\resources\\org\\drools\\lang\\DRL.g:1:337: OR
-            {
-                mOR();
-                if ( this.failed ) {
-                    return;
-                }
+                {
+                mOR(); if (failed) return ;
 
-            }
+                }
                 break;
             case 48 :
                 // C:\\dev\\jbossrules\\trunk3\\drools-compiler\\src\\main\\resources\\org\\drools\\lang\\DRL.g:1:340: AND
-            {
-                mAND();
-                if ( this.failed ) {
-                    return;
-                }
+                {
+                mAND(); if (failed) return ;
 
-            }
+                }
                 break;
             case 49 :
                 // C:\\dev\\jbossrules\\trunk3\\drools-compiler\\src\\main\\resources\\org\\drools\\lang\\DRL.g:1:344: CONTAINS
-            {
-                mCONTAINS();
-                if ( this.failed ) {
-                    return;
-                }
+                {
+                mCONTAINS(); if (failed) return ;
 
-            }
+                }
                 break;
             case 50 :
                 // C:\\dev\\jbossrules\\trunk3\\drools-compiler\\src\\main\\resources\\org\\drools\\lang\\DRL.g:1:353: EXCLUDES
-            {
-                mEXCLUDES();
-                if ( this.failed ) {
-                    return;
-                }
+                {
+                mEXCLUDES(); if (failed) return ;
 
-            }
+                }
                 break;
             case 51 :
                 // C:\\dev\\jbossrules\\trunk3\\drools-compiler\\src\\main\\resources\\org\\drools\\lang\\DRL.g:1:362: MATCHES
-            {
-                mMATCHES();
-                if ( this.failed ) {
-                    return;
-                }
+                {
+                mMATCHES(); if (failed) return ;
 
-            }
+                }
                 break;
             case 52 :
                 // C:\\dev\\jbossrules\\trunk3\\drools-compiler\\src\\main\\resources\\org\\drools\\lang\\DRL.g:1:370: NULL
-            {
-                mNULL();
-                if ( this.failed ) {
-                    return;
-                }
+                {
+                mNULL(); if (failed) return ;
 
-            }
+                }
                 break;
             case 53 :
                 // C:\\dev\\jbossrules\\trunk3\\drools-compiler\\src\\main\\resources\\org\\drools\\lang\\DRL.g:1:375: EXISTS
-            {
-                mEXISTS();
-                if ( this.failed ) {
-                    return;
-                }
+                {
+                mEXISTS(); if (failed) return ;
 
-            }
+                }
                 break;
             case 54 :
                 // C:\\dev\\jbossrules\\trunk3\\drools-compiler\\src\\main\\resources\\org\\drools\\lang\\DRL.g:1:382: NOT
-            {
-                mNOT();
-                if ( this.failed ) {
-                    return;
-                }
+                {
+                mNOT(); if (failed) return ;
 
-            }
+                }
                 break;
             case 55 :
                 // C:\\dev\\jbossrules\\trunk3\\drools-compiler\\src\\main\\resources\\org\\drools\\lang\\DRL.g:1:386: EVAL
-            {
-                mEVAL();
-                if ( this.failed ) {
-                    return;
-                }
+                {
+                mEVAL(); if (failed) return ;
 
-            }
+                }
                 break;
             case 56 :
                 // C:\\dev\\jbossrules\\trunk3\\drools-compiler\\src\\main\\resources\\org\\drools\\lang\\DRL.g:1:391: FORALL
-            {
-                mFORALL();
-                if ( this.failed ) {
-                    return;
-                }
+                {
+                mFORALL(); if (failed) return ;
 
-            }
+                }
                 break;
             case 57 :
                 // C:\\dev\\jbossrules\\trunk3\\drools-compiler\\src\\main\\resources\\org\\drools\\lang\\DRL.g:1:398: WHEN
-            {
-                mWHEN();
-                if ( this.failed ) {
-                    return;
-                }
+                {
+                mWHEN(); if (failed) return ;
 
-            }
+                }
                 break;
             case 58 :
                 // C:\\dev\\jbossrules\\trunk3\\drools-compiler\\src\\main\\resources\\org\\drools\\lang\\DRL.g:1:403: THEN
-            {
-                mTHEN();
-                if ( this.failed ) {
-                    return;
-                }
+                {
+                mTHEN(); if (failed) return ;
 
-            }
+                }
                 break;
             case 59 :
                 // C:\\dev\\jbossrules\\trunk3\\drools-compiler\\src\\main\\resources\\org\\drools\\lang\\DRL.g:1:408: END
-            {
-                mEND();
-                if ( this.failed ) {
-                    return;
-                }
+                {
+                mEND(); if (failed) return ;
 
-            }
+                }
                 break;
             case 60 :
                 // C:\\dev\\jbossrules\\trunk3\\drools-compiler\\src\\main\\resources\\org\\drools\\lang\\DRL.g:1:412: ID
-            {
-                mID();
-                if ( this.failed ) {
-                    return;
-                }
+                {
+                mID(); if (failed) return ;
 
-            }
+                }
                 break;
             case 61 :
                 // C:\\dev\\jbossrules\\trunk3\\drools-compiler\\src\\main\\resources\\org\\drools\\lang\\DRL.g:1:415: SH_STYLE_SINGLE_LINE_COMMENT
-            {
-                mSH_STYLE_SINGLE_LINE_COMMENT();
-                if ( this.failed ) {
-                    return;
-                }
+                {
+                mSH_STYLE_SINGLE_LINE_COMMENT(); if (failed) return ;
 
-            }
+                }
                 break;
             case 62 :
                 // C:\\dev\\jbossrules\\trunk3\\drools-compiler\\src\\main\\resources\\org\\drools\\lang\\DRL.g:1:444: C_STYLE_SINGLE_LINE_COMMENT
-            {
-                mC_STYLE_SINGLE_LINE_COMMENT();
-                if ( this.failed ) {
-                    return;
-                }
+                {
+                mC_STYLE_SINGLE_LINE_COMMENT(); if (failed) return ;
 
-            }
+                }
                 break;
             case 63 :
                 // C:\\dev\\jbossrules\\trunk3\\drools-compiler\\src\\main\\resources\\org\\drools\\lang\\DRL.g:1:472: LEFT_PAREN
-            {
-                mLEFT_PAREN();
-                if ( this.failed ) {
-                    return;
-                }
+                {
+                mLEFT_PAREN(); if (failed) return ;
 
-            }
+                }
                 break;
             case 64 :
                 // C:\\dev\\jbossrules\\trunk3\\drools-compiler\\src\\main\\resources\\org\\drools\\lang\\DRL.g:1:483: RIGHT_PAREN
-            {
-                mRIGHT_PAREN();
-                if ( this.failed ) {
-                    return;
-                }
+                {
+                mRIGHT_PAREN(); if (failed) return ;
 
-            }
+                }
                 break;
             case 65 :
                 // C:\\dev\\jbossrules\\trunk3\\drools-compiler\\src\\main\\resources\\org\\drools\\lang\\DRL.g:1:495: LEFT_SQUARE
-            {
-                mLEFT_SQUARE();
-                if ( this.failed ) {
-                    return;
-                }
+                {
+                mLEFT_SQUARE(); if (failed) return ;
 
-            }
+                }
                 break;
             case 66 :
                 // C:\\dev\\jbossrules\\trunk3\\drools-compiler\\src\\main\\resources\\org\\drools\\lang\\DRL.g:1:507: RIGHT_SQUARE
-            {
-                mRIGHT_SQUARE();
-                if ( this.failed ) {
-                    return;
-                }
+                {
+                mRIGHT_SQUARE(); if (failed) return ;
 
-            }
+                }
                 break;
             case 67 :
                 // C:\\dev\\jbossrules\\trunk3\\drools-compiler\\src\\main\\resources\\org\\drools\\lang\\DRL.g:1:520: LEFT_CURLY
-            {
-                mLEFT_CURLY();
-                if ( this.failed ) {
-                    return;
-                }
+                {
+                mLEFT_CURLY(); if (failed) return ;
 
-            }
+                }
                 break;
             case 68 :
                 // C:\\dev\\jbossrules\\trunk3\\drools-compiler\\src\\main\\resources\\org\\drools\\lang\\DRL.g:1:531: RIGHT_CURLY
-            {
-                mRIGHT_CURLY();
-                if ( this.failed ) {
-                    return;
-                }
+                {
+                mRIGHT_CURLY(); if (failed) return ;
 
-            }
+                }
                 break;
             case 69 :
                 // C:\\dev\\jbossrules\\trunk3\\drools-compiler\\src\\main\\resources\\org\\drools\\lang\\DRL.g:1:543: MULTI_LINE_COMMENT
-            {
-                mMULTI_LINE_COMMENT();
-                if ( this.failed ) {
-                    return;
-                }
+                {
+                mMULTI_LINE_COMMENT(); if (failed) return ;
 
-            }
+                }
                 break;
             case 70 :
                 // C:\\dev\\jbossrules\\trunk3\\drools-compiler\\src\\main\\resources\\org\\drools\\lang\\DRL.g:1:562: MISC
-            {
-                mMISC();
-                if ( this.failed ) {
-                    return;
-                }
+                {
+                mMISC(); if (failed) return ;
 
-            }
+                }
                 break;
 
         }
 
     }
 
-    protected DFA18              dfa18            = new DFA18( this );
-    public static final String   DFA18_eotS       = "\2\uffff\1\55\2\uffff\1\60\1\62\2\53\1\66\1\70\1\53\1\uffff\1\73" + "\1\uffff\1\53\21\52\2\uffff\1\53\30\uffff\35\52\1\u0080\2\52\2\uffff"
-                                                    + "\16\52\1\u0091\13\52\1\u009d\1\52\1\u009f\1\uffff\4\52\1\uffff\2" + "\52\1\u00a6\1\u00a7\4\52\1\u00ac\2\52\1\u00af\2\52\1\u00b3\1\52"
-                                                    + "\1\uffff\7\52\1\u00bd\3\52\1\uffff\1\52\1\uffff\1\u00c2\4\52\1\u00c7" + "\2\uffff\2\52\1\u00a7\1\52\1\uffff\2\52\1\uffff\3\52\1\uffff\1\u00d0"
-                                                    + "\1\uffff\5\52\1\uffff\1\52\1\uffff\4\52\2\uffff\3\52\1\uffff\1\52" + "\1\u00e0\2\52\1\u00e3\1\u00e4\1\u00e5\1\52\1\uffff\2\52\1\u00e9"
-                                                    + "\2\52\1\uffff\1\52\1\u00ef\7\52\1\uffff\1\52\1\u00f8\3\uffff\3\52" + "\1\uffff\1\52\3\uffff\1\52\1\uffff\1\52\1\u00ff\1\52\1\u0101\1\52"
-                                                    + "\1\u0103\1\u0104\1\u0105\1\uffff\4\52\1\u010a\1\u010b\1\uffff\1" + "\u010c\1\uffff\1\u010d\4\uffff\3\52\4\uffff\1\u0111\1\52\1\u0113" + "\3\uffff";
-    public static final String   DFA18_eofS       = "\u0114\uffff";
-    public static final String   DFA18_minS       = "\1\11\1\uffff\1\52\2\uffff\1\174\1\46\1\60\4\75\1\uffff\1\56\1\uffff" + "\1\0\1\145\2\141\1\155\1\154\1\145\1\165\1\143\1\141\1\156\1\141"
-                                                    + "\3\157\1\162\1\141\1\150\2\uffff\1\52\30\uffff\1\145\1\165\1\155" + "\1\162\1\154\1\156\1\157\1\143\1\160\1\151\1\157\1\163\1\154\1\145"
-                                                    + "\1\144\2\164\1\143\1\145\1\164\1\162\1\141\1\143\1\141\1\154\1\55" + "\1\154\1\143\1\154\1\60\1\164\1\145\2\uffff\1\156\1\145\1\160\1"
-                                                    + "\141\1\163\1\143\1\155\1\153\1\157\1\164\1\142\1\165\1\145\1\162" + "\1\60\1\157\1\162\1\151\1\165\1\156\1\145\1\141\1\154\1\163\1\154"
-                                                    + "\1\142\1\60\1\151\1\60\1\uffff\1\154\1\153\1\154\1\164\1\uffff\1" + "\143\1\156\2\60\2\154\1\145\1\164\1\60\1\141\1\162\1\60\1\141\1"
-                                                    + "\154\1\60\1\171\1\uffff\1\55\1\151\1\157\1\155\1\144\1\55\1\164" + "\1\60\1\164\1\165\1\154\1\uffff\1\145\1\uffff\1\60\1\55\1\145\1"
-                                                    + "\141\1\150\1\60\2\uffff\1\141\1\154\1\60\1\151\1\uffff\1\147\1\164" + "\1\uffff\1\154\1\164\1\154\1\uffff\1\60\1\uffff\1\142\1\141\1\156"
-                                                    + "\1\165\1\141\1\145\1\151\1\uffff\1\163\1\144\1\145\1\156\2\uffff" + "\1\143\1\151\1\145\1\uffff\1\164\1\60\1\157\1\145\3\60\1\157\1\uffff"
-                                                    + "\1\165\1\164\1\60\1\154\1\55\1\146\1\157\1\60\1\145\1\144\1\143" + "\1\164\1\156\1\163\1\145\1\uffff\1\156\1\60\3\uffff\1\167\1\164"
-                                                    + "\1\151\1\uffff\1\141\3\uffff\1\156\1\uffff\1\163\1\60\1\145\1\60" + "\1\163\3\60\1\uffff\1\55\1\145\1\157\1\164\2\60\1\uffff\1\60\1\uffff"
-                                                    + "\1\60\4\uffff\1\163\1\156\1\145\4\uffff\1\60\1\55\1\60\3\uffff";
-    public static final String   DFA18_maxS       = "\1\u00ff\1\uffff\1\52\2\uffff\1\174\1\46\1\76\4\75\1\uffff\1\71" + "\1\uffff\1\ufffe\1\162\1\165\1\141\1\156\1\154\4\165\1\170\1\141"
-                                                    + "\1\165\2\157\1\162\1\141\1\150\2\uffff\1\57\30\uffff\1\145\1\165" + "\1\155\1\162\1\154\1\156\1\157\1\143\1\160\1\151\1\157\1\163\1\154"
-                                                    + "\1\145\1\144\3\164\1\145\1\164\1\162\1\141\1\151\1\144\1\154\1\164" + "\1\154\1\143\1\156\1\u00ff\1\164\1\145\2\uffff\1\156\1\145\1\160"
-                                                    + "\1\141\1\163\1\143\1\155\1\153\1\157\1\164\1\142\1\165\1\145\1\162" + "\1\u00ff\1\157\1\162\1\151\1\165\1\156\1\145\1\141\1\154\1\163\1"
-                                                    + "\154\1\142\1\u00ff\1\151\1\u00ff\1\uffff\1\154\1\153\1\154\1\164" + "\1\uffff\1\143\1\156\2\u00ff\2\154\1\145\1\164\1\u00ff\1\141\1\162"
-                                                    + "\1\u00ff\1\141\1\154\1\u00ff\1\171\1\uffff\1\55\1\151\1\166\1\155" + "\1\144\1\55\1\164\1\u00ff\1\164\1\165\1\154\1\uffff\1\145\1\uffff"
-                                                    + "\1\u00ff\1\55\1\145\1\141\1\150\1\u00ff\2\uffff\1\141\1\154\1\u00ff" + "\1\151\1\uffff\1\147\1\164\1\uffff\1\154\1\164\1\154\1\uffff\1\u00ff"
-                                                    + "\1\uffff\1\142\1\141\1\156\1\165\1\141\1\145\1\151\1\uffff\1\163" + "\1\144\1\145\1\156\2\uffff\1\143\1\151\1\145\1\uffff\1\164\1\u00ff"
-                                                    + "\1\157\1\145\3\u00ff\1\157\1\uffff\1\165\1\164\1\u00ff\1\154\1\55" + "\1\170\1\157\1\u00ff\1\145\1\144\1\143\1\164\1\156\1\163\1\145\1"
-                                                    + "\uffff\1\156\1\u00ff\3\uffff\1\167\1\164\1\151\1\uffff\1\141\3\uffff" + "\1\156\1\uffff\1\163\1\u00ff\1\145\1\u00ff\1\163\3\u00ff\1\uffff"
-                                                    + "\1\55\1\145\1\157\1\164\2\u00ff\1\uffff\1\u00ff\1\uffff\1\u00ff" + "\4\uffff\1\163\1\156\1\145\4\uffff\1\u00ff\1\55\1\u00ff\3\uffff";
-    public static final String   DFA18_acceptS    = "\1\uffff\1\1\1\uffff\1\4\1\5\7\uffff\1\21\1\uffff\1\24\22\uffff" + "\1\74\1\75\1\uffff\1\77\1\100\1\101\1\102\1\103\1\104\1\74\1\106"
-                                                    + "\1\3\1\2\1\4\1\6\1\10\1\20\1\7\1\11\1\12\1\14\1\13\1\16\1\15\1\17" + "\1\23\1\22\40\uffff\1\105\1\76\35\uffff\1\42\4\uffff\1\57\20\uffff"
-                                                    + "\1\60\13\uffff\1\73\1\uffff\1\66\6\uffff\1\72\1\25\4\uffff\1\51" + "\2\uffff\1\53\3\uffff\1\32\1\uffff\1\43\7\uffff\1\67\4\uffff\1\64"
-                                                    + "\1\50\3\uffff\1\71\10\uffff\1\33\17\uffff\1\70\2\uffff\1\27\1\31" + "\1\55\3\uffff\1\54\1\uffff\1\45\1\37\1\36\1\uffff\1\65\10\uffff"
-                                                    + "\1\26\6\uffff\1\40\1\uffff\1\56\1\uffff\1\63\1\34\1\30\1\46\3\uffff" + "\1\47\1\62\1\41\1\61\3\uffff\1\35\1\44\1\52";
-    public static final String   DFA18_specialS   = "\u0114\uffff}>";
-    public static final String[] DFA18_transition = {
-            "\2\14\1\uffff\2\14\22\uffff\1\14\1\13\1\16\1\42\1\41\1\53\1\6\1" + "\17\1\44\1\45\2\53\1\3\1\7\1\2\1\43\12\15\1\4\1\1\1\12\1\10\1\11" + "\2\53\32\52\1\46\1\53\1\47\1\53\1\41\1\uffff\1\27\1\52\1\35\1\30"
-                    + "\1\31\1\21\1\24\1\52\1\23\2\52\1\34\1\37\1\33\1\36\1\22\1\26\1\25" + "\1\32\1\20\2\52\1\40\3\52\1\50\1\5\1\51\102\uffff\100\52", "", "\1\54", "", "", "\1\57", "\1\61", "\12\15\4\uffff\1\63", "\1\64", "\1\65", "\1\67", "\1\71",
-            "", "\1\72\1\uffff\12\15", "", "\uffff\16", "\1\76\2\uffff\1\74\11\uffff\1\75", "\1\100\15\uffff\1\77\2\uffff\1\102\2\uffff\1\101", "\1\103", "\1\104\1\105", "\1\106", "\1\107\17\uffff\1\110", "\1\111",
-            "\1\115\3\uffff\1\116\6\uffff\1\112\5\uffff\1\114\1\113", "\1\117\23\uffff\1\120", "\1\123\7\uffff\1\121\1\uffff\1\122", "\1\124", "\1\125\5\uffff\1\126", "\1\127", "\1\130", "\1\131", "\1\132", "\1\133", "", "", "\1\134\4\uffff\1\135",
-            "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "\1\136", "\1\137", "\1\140", "\1\141", "\1\142", "\1\143", "\1\144", "\1\145", "\1\146", "\1\147", "\1\150", "\1\151", "\1\152", "\1\153",
-            "\1\154", "\1\155", "\1\156", "\1\160\20\uffff\1\157", "\1\161", "\1\162", "\1\163", "\1\164", "\1\166\5\uffff\1\165", "\1\167\2\uffff\1\170", "\1\171", "\1\173\106\uffff\1\172", "\1\174", "\1\175", "\1\176\1\uffff\1\177",
-            "\12\52\7\uffff\32\52\4\uffff\1\52\1\uffff\32\52\105\uffff\100\52", "\1\u0081", "\1\u0082", "", "", "\1\u0083", "\1\u0084", "\1\u0085", "\1\u0086", "\1\u0087", "\1\u0088", "\1\u0089", "\1\u008a", "\1\u008b", "\1\u008c", "\1\u008d",
-            "\1\u008e", "\1\u008f", "\1\u0090", "\12\52\7\uffff\32\52\4\uffff\1\52\1\uffff\32\52\105\uffff\100\52", "\1\u0092", "\1\u0093", "\1\u0094", "\1\u0095", "\1\u0096", "\1\u0097", "\1\u0098", "\1\u0099", "\1\u009a", "\1\u009b", "\1\u009c",
-            "\12\52\7\uffff\32\52\4\uffff\1\52\1\uffff\32\52\105\uffff\100\52", "\1\u009e", "\12\52\7\uffff\32\52\4\uffff\1\52\1\uffff\32\52\105\uffff\100\52", "", "\1\u00a0", "\1\u00a1", "\1\u00a2", "\1\u00a3", "", "\1\u00a4", "\1\u00a5",
-            "\12\52\7\uffff\32\52\4\uffff\1\52\1\uffff\32\52\105\uffff\100\52", "\12\52\7\uffff\32\52\4\uffff\1\52\1\uffff\32\52\105\uffff\100\52", "\1\u00a8", "\1\u00a9", "\1\u00aa", "\1\u00ab",
-            "\12\52\7\uffff\32\52\4\uffff\1\52\1\uffff\32\52\105\uffff\100\52", "\1\u00ad", "\1\u00ae", "\12\52\7\uffff\32\52\4\uffff\1\52\1\uffff\32\52\105\uffff\100\52", "\1\u00b0", "\1\u00b1",
-            "\12\52\7\uffff\32\52\4\uffff\1\52\1\uffff\5\52\1\u00b2\24\52\105" + "\uffff\100\52", "\1\u00b4", "", "\1\u00b5", "\1\u00b6", "\1\u00b8\6\uffff\1\u00b7", "\1\u00b9", "\1\u00ba", "\1\u00bb", "\1\u00bc",
-            "\12\52\7\uffff\32\52\4\uffff\1\52\1\uffff\32\52\105\uffff\100\52", "\1\u00be", "\1\u00bf", "\1\u00c0", "", "\1\u00c1", "", "\12\52\7\uffff\32\52\4\uffff\1\52\1\uffff\32\52\105\uffff\100\52", "\1\u00c3", "\1\u00c4", "\1\u00c5",
-            "\1\u00c6", "\12\52\7\uffff\32\52\4\uffff\1\52\1\uffff\32\52\105\uffff\100\52", "", "", "\1\u00c8", "\1\u00c9", "\12\52\7\uffff\32\52\4\uffff\1\52\1\uffff\32\52\105\uffff\100\52", "\1\u00ca", "", "\1\u00cb", "\1\u00cc", "", "\1\u00cd",
-            "\1\u00ce", "\1\u00cf", "", "\12\52\7\uffff\32\52\4\uffff\1\52\1\uffff\32\52\105\uffff\100\52", "", "\1\u00d1", "\1\u00d2", "\1\u00d3", "\1\u00d4", "\1\u00d5", "\1\u00d6", "\1\u00d7", "", "\1\u00d8", "\1\u00d9", "\1\u00da", "\1\u00db",
-            "", "", "\1\u00dc", "\1\u00dd", "\1\u00de", "", "\1\u00df", "\12\52\7\uffff\32\52\4\uffff\1\52\1\uffff\32\52\105\uffff\100\52", "\1\u00e1", "\1\u00e2", "\12\52\7\uffff\32\52\4\uffff\1\52\1\uffff\32\52\105\uffff\100\52",
-            "\12\52\7\uffff\32\52\4\uffff\1\52\1\uffff\32\52\105\uffff\100\52", "\12\52\7\uffff\32\52\4\uffff\1\52\1\uffff\32\52\105\uffff\100\52", "\1\u00e6", "", "\1\u00e7", "\1\u00e8",
-            "\12\52\7\uffff\32\52\4\uffff\1\52\1\uffff\32\52\105\uffff\100\52", "\1\u00ea", "\1\u00eb", "\1\u00ed\21\uffff\1\u00ec", "\1\u00ee", "\12\52\7\uffff\32\52\4\uffff\1\52\1\uffff\32\52\105\uffff\100\52", "\1\u00f0", "\1\u00f1", "\1\u00f2",
-            "\1\u00f3", "\1\u00f4", "\1\u00f5", "\1\u00f6", "", "\1\u00f7", "\12\52\7\uffff\32\52\4\uffff\1\52\1\uffff\32\52\105\uffff\100\52", "", "", "", "\1\u00f9", "\1\u00fa", "\1\u00fb", "", "\1\u00fc", "", "", "", "\1\u00fd", "", "\1\u00fe",
-            "\12\52\7\uffff\32\52\4\uffff\1\52\1\uffff\32\52\105\uffff\100\52", "\1\u0100", "\12\52\7\uffff\32\52\4\uffff\1\52\1\uffff\32\52\105\uffff\100\52", "\1\u0102", "\12\52\7\uffff\32\52\4\uffff\1\52\1\uffff\32\52\105\uffff\100\52",
-            "\12\52\7\uffff\32\52\4\uffff\1\52\1\uffff\32\52\105\uffff\100\52", "\12\52\7\uffff\32\52\4\uffff\1\52\1\uffff\32\52\105\uffff\100\52", "", "\1\u0106", "\1\u0107", "\1\u0108", "\1\u0109",
-            "\12\52\7\uffff\32\52\4\uffff\1\52\1\uffff\32\52\105\uffff\100\52", "\12\52\7\uffff\32\52\4\uffff\1\52\1\uffff\32\52\105\uffff\100\52", "", "\12\52\7\uffff\32\52\4\uffff\1\52\1\uffff\32\52\105\uffff\100\52", "",
-            "\12\52\7\uffff\32\52\4\uffff\1\52\1\uffff\32\52\105\uffff\100\52", "", "", "", "", "\1\u010e", "\1\u010f", "\1\u0110", "", "", "", "", "\12\52\7\uffff\32\52\4\uffff\1\52\1\uffff\32\52\105\uffff\100\52", "\1\u0112",
-            "\12\52\7\uffff\32\52\4\uffff\1\52\1\uffff\32\52\105\uffff\100\52", "", "", ""};
+    // $ANTLR start synpred1
+    public final void synpred1_fragment() throws RecognitionException {   
+        // C:\\dev\\jbossrules\\trunk3\\drools-compiler\\src\\main\\resources\\org\\drools\\lang\\DRL.g:1475:14: ( '\\r\\n' )
+        // C:\\dev\\jbossrules\\trunk3\\drools-compiler\\src\\main\\resources\\org\\drools\\lang\\DRL.g:1475:16: '\\r\\n'
+        {
+        match("\r\n"); if (failed) return ;
 
+
+        }
+    }
+    // $ANTLR end synpred1
+
+    public final boolean synpred1() {
+        backtracking++;
+        int start = input.mark();
+        try {
+            synpred1_fragment(); // can never throw exception
+        } catch (RecognitionException re) {
+            System.err.println("impossible: "+re);
+        }
+        boolean success = !failed;
+        input.rewind(start);
+        backtracking--;
+        failed=false;
+        return success;
+    }
+
+
+    protected DFA18 dfa18 = new DFA18(this);
+    static final String DFA18_eotS =
+        "\2\uffff\1\55\2\uffff\1\60\1\62\2\53\1\66\1\70\1\53\1\uffff\1\73"+
+        "\1\uffff\1\53\21\52\2\uffff\1\53\30\uffff\35\52\1\u0080\2\52\2\uffff"+
+        "\16\52\1\u0091\13\52\1\u009d\1\52\1\u009f\1\uffff\4\52\1\uffff\2"+
+        "\52\1\u00a6\1\u00a7\4\52\1\u00ac\2\52\1\u00af\2\52\1\u00b3\1\52"+
+        "\1\uffff\7\52\1\u00bd\3\52\1\uffff\1\52\1\uffff\1\u00c2\4\52\1\u00c7"+
+        "\2\uffff\2\52\1\u00a7\1\52\1\uffff\2\52\1\uffff\3\52\1\uffff\1\u00d0"+
+        "\1\uffff\5\52\1\uffff\1\52\1\uffff\4\52\2\uffff\3\52\1\uffff\1\52"+
+        "\1\u00e0\2\52\1\u00e3\1\u00e4\1\u00e5\1\52\1\uffff\2\52\1\u00e9"+
+        "\2\52\1\uffff\1\52\1\u00ef\7\52\1\uffff\1\52\1\u00f8\3\uffff\3\52"+
+        "\1\uffff\1\52\3\uffff\1\52\1\uffff\1\52\1\u00ff\1\52\1\u0101\1\52"+
+        "\1\u0103\1\u0104\1\u0105\1\uffff\4\52\1\u010a\1\u010b\1\uffff\1"+
+        "\u010c\1\uffff\1\u010d\4\uffff\3\52\4\uffff\1\u0111\1\52\1\u0113"+
+        "\3\uffff";
+    static final String DFA18_eofS =
+        "\u0114\uffff";
+    static final String DFA18_minS =
+        "\1\11\1\uffff\1\52\2\uffff\1\174\1\46\1\60\4\75\1\uffff\1\56\1\uffff"+
+        "\1\0\1\145\2\141\1\155\1\154\1\145\1\165\1\143\1\141\1\156\1\141"+
+        "\3\157\1\162\1\141\1\150\2\uffff\1\52\30\uffff\1\145\1\165\1\155"+
+        "\1\162\1\154\1\156\1\157\1\143\1\160\1\151\1\157\1\163\1\154\1\145"+
+        "\1\144\2\164\1\143\1\145\1\164\1\162\1\141\1\143\1\141\1\154\1\55"+
+        "\1\154\1\143\1\154\1\60\1\164\1\145\2\uffff\1\156\1\145\1\160\1"+
+        "\141\1\163\1\143\1\155\1\153\1\157\1\164\1\142\1\165\1\145\1\162"+
+        "\1\60\1\157\1\162\1\151\1\165\1\156\1\145\1\141\1\154\1\163\1\154"+
+        "\1\142\1\60\1\151\1\60\1\uffff\1\154\1\153\1\154\1\164\1\uffff\1"+
+        "\143\1\156\2\60\2\154\1\145\1\164\1\60\1\141\1\162\1\60\1\141\1"+
+        "\154\1\60\1\171\1\uffff\1\55\1\151\1\157\1\155\1\144\1\55\1\164"+
+        "\1\60\1\164\1\165\1\154\1\uffff\1\145\1\uffff\1\60\1\55\1\145\1"+
+        "\141\1\150\1\60\2\uffff\1\141\1\154\1\60\1\151\1\uffff\1\147\1\164"+
+        "\1\uffff\1\154\1\164\1\154\1\uffff\1\60\1\uffff\1\142\1\141\1\156"+
+        "\1\165\1\141\1\145\1\151\1\uffff\1\163\1\144\1\145\1\156\2\uffff"+
+        "\1\143\1\151\1\145\1\uffff\1\164\1\60\1\157\1\145\3\60\1\157\1\uffff"+
+        "\1\165\1\164\1\60\1\154\1\55\1\146\1\157\1\60\1\145\1\144\1\143"+
+        "\1\164\1\156\1\163\1\145\1\uffff\1\156\1\60\3\uffff\1\167\1\164"+
+        "\1\151\1\uffff\1\141\3\uffff\1\156\1\uffff\1\163\1\60\1\145\1\60"+
+        "\1\163\3\60\1\uffff\1\55\1\145\1\157\1\164\2\60\1\uffff\1\60\1\uffff"+
+        "\1\60\4\uffff\1\163\1\156\1\145\4\uffff\1\60\1\55\1\60\3\uffff";
+    static final String DFA18_maxS =
+        "\1\u00ff\1\uffff\1\52\2\uffff\1\174\1\46\1\76\4\75\1\uffff\1\71"+
+        "\1\uffff\1\ufffe\1\162\1\165\1\141\1\156\1\154\4\165\1\170\1\141"+
+        "\1\165\2\157\1\162\1\141\1\150\2\uffff\1\57\30\uffff\1\145\1\165"+
+        "\1\155\1\162\1\154\1\156\1\157\1\143\1\160\1\151\1\157\1\163\1\154"+
+        "\1\145\1\144\3\164\1\145\1\164\1\162\1\141\1\151\1\144\1\154\1\164"+
+        "\1\154\1\143\1\156\1\u00ff\1\164\1\145\2\uffff\1\156\1\145\1\160"+
+        "\1\141\1\163\1\143\1\155\1\153\1\157\1\164\1\142\1\165\1\145\1\162"+
+        "\1\u00ff\1\157\1\162\1\151\1\165\1\156\1\145\1\141\1\154\1\163\1"+
+        "\154\1\142\1\u00ff\1\151\1\u00ff\1\uffff\1\154\1\153\1\154\1\164"+
+        "\1\uffff\1\143\1\156\2\u00ff\2\154\1\145\1\164\1\u00ff\1\141\1\162"+
+        "\1\u00ff\1\141\1\154\1\u00ff\1\171\1\uffff\1\55\1\151\1\166\1\155"+
+        "\1\144\1\55\1\164\1\u00ff\1\164\1\165\1\154\1\uffff\1\145\1\uffff"+
+        "\1\u00ff\1\55\1\145\1\141\1\150\1\u00ff\2\uffff\1\141\1\154\1\u00ff"+
+        "\1\151\1\uffff\1\147\1\164\1\uffff\1\154\1\164\1\154\1\uffff\1\u00ff"+
+        "\1\uffff\1\142\1\141\1\156\1\165\1\141\1\145\1\151\1\uffff\1\163"+
+        "\1\144\1\145\1\156\2\uffff\1\143\1\151\1\145\1\uffff\1\164\1\u00ff"+
+        "\1\157\1\145\3\u00ff\1\157\1\uffff\1\165\1\164\1\u00ff\1\154\1\55"+
+        "\1\170\1\157\1\u00ff\1\145\1\144\1\143\1\164\1\156\1\163\1\145\1"+
+        "\uffff\1\156\1\u00ff\3\uffff\1\167\1\164\1\151\1\uffff\1\141\3\uffff"+
+        "\1\156\1\uffff\1\163\1\u00ff\1\145\1\u00ff\1\163\3\u00ff\1\uffff"+
+        "\1\55\1\145\1\157\1\164\2\u00ff\1\uffff\1\u00ff\1\uffff\1\u00ff"+
+        "\4\uffff\1\163\1\156\1\145\4\uffff\1\u00ff\1\55\1\u00ff\3\uffff";
+    static final String DFA18_acceptS =
+        "\1\uffff\1\1\1\uffff\1\4\1\5\7\uffff\1\21\1\uffff\1\24\22\uffff"+
+        "\1\74\1\75\1\uffff\1\77\1\100\1\101\1\102\1\103\1\104\1\74\1\106"+
+        "\1\3\1\2\1\4\1\6\1\10\1\20\1\7\1\11\1\12\1\14\1\13\1\16\1\15\1\17"+
+        "\1\23\1\22\40\uffff\1\105\1\76\35\uffff\1\42\4\uffff\1\57\20\uffff"+
+        "\1\60\13\uffff\1\73\1\uffff\1\66\6\uffff\1\72\1\25\4\uffff\1\51"+
+        "\2\uffff\1\53\3\uffff\1\32\1\uffff\1\43\7\uffff\1\67\4\uffff\1\64"+
+        "\1\50\3\uffff\1\71\10\uffff\1\33\17\uffff\1\70\2\uffff\1\27\1\31"+
+        "\1\55\3\uffff\1\54\1\uffff\1\45\1\37\1\36\1\uffff\1\65\10\uffff"+
+        "\1\26\6\uffff\1\40\1\uffff\1\56\1\uffff\1\63\1\34\1\30\1\46\3\uffff"+
+        "\1\47\1\62\1\41\1\61\3\uffff\1\35\1\44\1\52";
+    static final String DFA18_specialS =
+        "\u0114\uffff}>";
+    static final String[] DFA18_transitionS = {
+            "\2\14\1\uffff\2\14\22\uffff\1\14\1\13\1\16\1\42\1\41\1\53\1"+
+            "\6\1\17\1\44\1\45\2\53\1\3\1\7\1\2\1\43\12\15\1\4\1\1\1\12\1"+
+            "\10\1\11\2\53\32\52\1\46\1\53\1\47\1\53\1\41\1\uffff\1\27\1"+
+            "\52\1\35\1\30\1\31\1\21\1\24\1\52\1\23\2\52\1\34\1\37\1\33\1"+
+            "\36\1\22\1\26\1\25\1\32\1\20\2\52\1\40\3\52\1\50\1\5\1\51\102"+
+            "\uffff\100\52",
+            "",
+            "\1\54",
+            "",
+            "",
+            "\1\57",
+            "\1\61",
+            "\12\15\4\uffff\1\63",
+            "\1\64",
+            "\1\65",
+            "\1\67",
+            "\1\71",
+            "",
+            "\1\72\1\uffff\12\15",
+            "",
+            "\uffff\16",
+            "\1\76\2\uffff\1\74\11\uffff\1\75",
+            "\1\100\15\uffff\1\77\2\uffff\1\102\2\uffff\1\101",
+            "\1\103",
+            "\1\104\1\105",
+            "\1\106",
+            "\1\107\17\uffff\1\110",
+            "\1\111",
+            "\1\115\3\uffff\1\116\6\uffff\1\112\5\uffff\1\114\1\113",
+            "\1\117\23\uffff\1\120",
+            "\1\123\7\uffff\1\121\1\uffff\1\122",
+            "\1\124",
+            "\1\125\5\uffff\1\126",
+            "\1\127",
+            "\1\130",
+            "\1\131",
+            "\1\132",
+            "\1\133",
+            "",
+            "",
+            "\1\134\4\uffff\1\135",
+            "",
+            "",
+            "",
+            "",
+            "",
+            "",
+            "",
+            "",
+            "",
+            "",
+            "",
+            "",
+            "",
+            "",
+            "",
+            "",
+            "",
+            "",
+            "",
+            "",
+            "",
+            "",
+            "",
+            "",
+            "\1\136",
+            "\1\137",
+            "\1\140",
+            "\1\141",
+            "\1\142",
+            "\1\143",
+            "\1\144",
+            "\1\145",
+            "\1\146",
+            "\1\147",
+            "\1\150",
+            "\1\151",
+            "\1\152",
+            "\1\153",
+            "\1\154",
+            "\1\155",
+            "\1\156",
+            "\1\160\20\uffff\1\157",
+            "\1\161",
+            "\1\162",
+            "\1\163",
+            "\1\164",
+            "\1\166\5\uffff\1\165",
+            "\1\167\2\uffff\1\170",
+            "\1\171",
+            "\1\173\106\uffff\1\172",
+            "\1\174",
+            "\1\175",
+            "\1\176\1\uffff\1\177",
+            "\12\52\7\uffff\32\52\4\uffff\1\52\1\uffff\32\52\105\uffff\100"+
+            "\52",
+            "\1\u0081",
+            "\1\u0082",
+            "",
+            "",
+            "\1\u0083",
+            "\1\u0084",
+            "\1\u0085",
+            "\1\u0086",
+            "\1\u0087",
+            "\1\u0088",
+            "\1\u0089",
+            "\1\u008a",
+            "\1\u008b",
+            "\1\u008c",
+            "\1\u008d",
+            "\1\u008e",
+            "\1\u008f",
+            "\1\u0090",
+            "\12\52\7\uffff\32\52\4\uffff\1\52\1\uffff\32\52\105\uffff\100"+
+            "\52",
+            "\1\u0092",
+            "\1\u0093",
+            "\1\u0094",
+            "\1\u0095",
+            "\1\u0096",
+            "\1\u0097",
+            "\1\u0098",
+            "\1\u0099",
+            "\1\u009a",
+            "\1\u009b",
+            "\1\u009c",
+            "\12\52\7\uffff\32\52\4\uffff\1\52\1\uffff\32\52\105\uffff\100"+
+            "\52",
+            "\1\u009e",
+            "\12\52\7\uffff\32\52\4\uffff\1\52\1\uffff\32\52\105\uffff\100"+
+            "\52",
+            "",
+            "\1\u00a0",
+            "\1\u00a1",
+            "\1\u00a2",
+            "\1\u00a3",
+            "",
+            "\1\u00a4",
+            "\1\u00a5",
+            "\12\52\7\uffff\32\52\4\uffff\1\52\1\uffff\32\52\105\uffff\100"+
+            "\52",
+            "\12\52\7\uffff\32\52\4\uffff\1\52\1\uffff\32\52\105\uffff\100"+
+            "\52",
+            "\1\u00a8",
+            "\1\u00a9",
+            "\1\u00aa",
+            "\1\u00ab",
+            "\12\52\7\uffff\32\52\4\uffff\1\52\1\uffff\32\52\105\uffff\100"+
+            "\52",
+            "\1\u00ad",
+            "\1\u00ae",
+            "\12\52\7\uffff\32\52\4\uffff\1\52\1\uffff\32\52\105\uffff\100"+
+            "\52",
+            "\1\u00b0",
+            "\1\u00b1",
+            "\12\52\7\uffff\32\52\4\uffff\1\52\1\uffff\5\52\1\u00b2\24\52"+
+            "\105\uffff\100\52",
+            "\1\u00b4",
+            "",
+            "\1\u00b5",
+            "\1\u00b6",
+            "\1\u00b8\6\uffff\1\u00b7",
+            "\1\u00b9",
+            "\1\u00ba",
+            "\1\u00bb",
+            "\1\u00bc",
+            "\12\52\7\uffff\32\52\4\uffff\1\52\1\uffff\32\52\105\uffff\100"+
+            "\52",
+            "\1\u00be",
+            "\1\u00bf",
+            "\1\u00c0",
+            "",
+            "\1\u00c1",
+            "",
+            "\12\52\7\uffff\32\52\4\uffff\1\52\1\uffff\32\52\105\uffff\100"+
+            "\52",
+            "\1\u00c3",
+            "\1\u00c4",
+            "\1\u00c5",
+            "\1\u00c6",
+            "\12\52\7\uffff\32\52\4\uffff\1\52\1\uffff\32\52\105\uffff\100"+
+            "\52",
+            "",
+            "",
+            "\1\u00c8",
+            "\1\u00c9",
+            "\12\52\7\uffff\32\52\4\uffff\1\52\1\uffff\32\52\105\uffff\100"+
+            "\52",
+            "\1\u00ca",
+            "",
+            "\1\u00cb",
+            "\1\u00cc",
+            "",
+            "\1\u00cd",
+            "\1\u00ce",
+            "\1\u00cf",
+            "",
+            "\12\52\7\uffff\32\52\4\uffff\1\52\1\uffff\32\52\105\uffff\100"+
+            "\52",
+            "",
+            "\1\u00d1",
+            "\1\u00d2",
+            "\1\u00d3",
+            "\1\u00d4",
+            "\1\u00d5",
+            "\1\u00d6",
+            "\1\u00d7",
+            "",
+            "\1\u00d8",
+            "\1\u00d9",
+            "\1\u00da",
+            "\1\u00db",
+            "",
+            "",
+            "\1\u00dc",
+            "\1\u00dd",
+            "\1\u00de",
+            "",
+            "\1\u00df",
+            "\12\52\7\uffff\32\52\4\uffff\1\52\1\uffff\32\52\105\uffff\100"+
+            "\52",
+            "\1\u00e1",
+            "\1\u00e2",
+            "\12\52\7\uffff\32\52\4\uffff\1\52\1\uffff\32\52\105\uffff\100"+
+            "\52",
+            "\12\52\7\uffff\32\52\4\uffff\1\52\1\uffff\32\52\105\uffff\100"+
+            "\52",
+            "\12\52\7\uffff\32\52\4\uffff\1\52\1\uffff\32\52\105\uffff\100"+
+            "\52",
+            "\1\u00e6",
+            "",
+            "\1\u00e7",
+            "\1\u00e8",
+            "\12\52\7\uffff\32\52\4\uffff\1\52\1\uffff\32\52\105\uffff\100"+
+            "\52",
+            "\1\u00ea",
+            "\1\u00eb",
+            "\1\u00ed\21\uffff\1\u00ec",
+            "\1\u00ee",
+            "\12\52\7\uffff\32\52\4\uffff\1\52\1\uffff\32\52\105\uffff\100"+
+            "\52",
+            "\1\u00f0",
+            "\1\u00f1",
+            "\1\u00f2",
+            "\1\u00f3",
+            "\1\u00f4",
+            "\1\u00f5",
+            "\1\u00f6",
+            "",
+            "\1\u00f7",
+            "\12\52\7\uffff\32\52\4\uffff\1\52\1\uffff\32\52\105\uffff\100"+
+            "\52",
+            "",
+            "",
+            "",
+            "\1\u00f9",
+            "\1\u00fa",
+            "\1\u00fb",
+            "",
+            "\1\u00fc",
+            "",
+            "",
+            "",
+            "\1\u00fd",
+            "",
+            "\1\u00fe",
+            "\12\52\7\uffff\32\52\4\uffff\1\52\1\uffff\32\52\105\uffff\100"+
+            "\52",
+            "\1\u0100",
+            "\12\52\7\uffff\32\52\4\uffff\1\52\1\uffff\32\52\105\uffff\100"+
+            "\52",
+            "\1\u0102",
+            "\12\52\7\uffff\32\52\4\uffff\1\52\1\uffff\32\52\105\uffff\100"+
+            "\52",
+            "\12\52\7\uffff\32\52\4\uffff\1\52\1\uffff\32\52\105\uffff\100"+
+            "\52",
+            "\12\52\7\uffff\32\52\4\uffff\1\52\1\uffff\32\52\105\uffff\100"+
+            "\52",
+            "",
+            "\1\u0106",
+            "\1\u0107",
+            "\1\u0108",
+            "\1\u0109",
+            "\12\52\7\uffff\32\52\4\uffff\1\52\1\uffff\32\52\105\uffff\100"+
+            "\52",
+            "\12\52\7\uffff\32\52\4\uffff\1\52\1\uffff\32\52\105\uffff\100"+
+            "\52",
+            "",
+            "\12\52\7\uffff\32\52\4\uffff\1\52\1\uffff\32\52\105\uffff\100"+
+            "\52",
+            "",
+            "\12\52\7\uffff\32\52\4\uffff\1\52\1\uffff\32\52\105\uffff\100"+
+            "\52",
+            "",
+            "",
+            "",
+            "",
+            "\1\u010e",
+            "\1\u010f",
+            "\1\u0110",
+            "",
+            "",
+            "",
+            "",
+            "\12\52\7\uffff\32\52\4\uffff\1\52\1\uffff\32\52\105\uffff\100"+
+            "\52",
+            "\1\u0112",
+            "\12\52\7\uffff\32\52\4\uffff\1\52\1\uffff\32\52\105\uffff\100"+
+            "\52",
+            "",
+            "",
+            ""
+    };
+
+    static final short[] DFA18_eot = DFA.unpackEncodedString(DFA18_eotS);
+    static final short[] DFA18_eof = DFA.unpackEncodedString(DFA18_eofS);
+    static final char[] DFA18_min = DFA.unpackEncodedStringToUnsignedChars(DFA18_minS);
+    static final char[] DFA18_max = DFA.unpackEncodedStringToUnsignedChars(DFA18_maxS);
+    static final short[] DFA18_accept = DFA.unpackEncodedString(DFA18_acceptS);
+    static final short[] DFA18_special = DFA.unpackEncodedString(DFA18_specialS);
+    static final short[][] DFA18_transition;
+
+    static {
+        int numStates = DFA18_transitionS.length;
+        DFA18_transition = new short[numStates][];
+        for (int i=0; i<numStates; i++) {
+            DFA18_transition[i] = DFA.unpackEncodedString(DFA18_transitionS[i]);
+        }
+    }
+
     class DFA18 extends DFA {
-        public DFA18(final BaseRecognizer recognizer) {
+
+        public DFA18(BaseRecognizer recognizer) {
             this.recognizer = recognizer;
             this.decisionNumber = 18;
-            this.eot = DFA.unpackEncodedString( DFA18_eotS );
-            this.eof = DFA.unpackEncodedString( DFA18_eofS );
-            this.min = DFA.unpackEncodedStringToUnsignedChars( DFA18_minS );
-            this.max = DFA.unpackEncodedStringToUnsignedChars( DFA18_maxS );
-            this.accept = DFA.unpackEncodedString( DFA18_acceptS );
-            this.special = DFA.unpackEncodedString( DFA18_specialS );
-            final int numStates = DFA18_transition.length;
-            this.transition = new short[numStates][];
-            for ( int i = 0; i < numStates; i++ ) {
-                this.transition[i] = DFA.unpackEncodedString( DFA18_transition[i] );
-            }
+            this.eot = DFA18_eot;
+            this.eof = DFA18_eof;
+            this.min = DFA18_min;
+            this.max = DFA18_max;
+            this.accept = DFA18_accept;
+            this.special = DFA18_special;
+            this.transition = DFA18_transition;
         }
-
         public String getDescription() {
             return "1:1: Tokens : ( T63 | T64 | T65 | T66 | T67 | T68 | T69 | T70 | T71 | T72 | T73 | T74 | T75 | T76 | T77 | T78 | WS | INT | FLOAT | STRING | BOOL | PACKAGE | IMPORT | FUNCTION | GLOBAL | RULE | QUERY | TEMPLATE | ATTRIBUTES | DATE_EFFECTIVE | DATE_EXPIRES | ENABLED | SALIENCE | NO_LOOP | AUTO_FOCUS | ACTIVATION_GROUP | AGENDA_GROUP | RULEFLOW_GROUP | DURATION | LOCK_ON_ACTIVE | FROM | ACCUMULATE | INIT | ACTION | RESULT | COLLECT | OR | AND | CONTAINS | EXCLUDES | MATCHES | NULL | EXISTS | NOT | EVAL | FORALL | WHEN | THEN | END | ID | SH_STYLE_SINGLE_LINE_COMMENT | C_STYLE_SINGLE_LINE_COMMENT | LEFT_PAREN | RIGHT_PAREN | LEFT_SQUARE | RIGHT_SQUARE | LEFT_CURLY | RIGHT_CURLY | MULTI_LINE_COMMENT | MISC );";
         }
     }
+ 
 
 }
\ No newline at end of file

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	2007-04-24 12:26:00 UTC (rev 11294)
+++ labs/jbossrules/trunk/drools-compiler/src/main/java/org/drools/lang/DRLParser.java	2007-04-24 12:52:09 UTC (rev 11295)
@@ -1,910 +1,877 @@
-// $ANTLR 3.0b7 C:\\dev\\jbossrules\\trunk3\\drools-compiler\\src\\main\\resources\\org\\drools\\lang\\DRL.g 2007-04-11 16:59:51
+// $ANTLR 3.0b7 C:\\dev\\jbossrules\\trunk3\\drools-compiler\\src\\main\\resources\\org\\drools\\lang\\DRL.g 2007-04-24 04:47:07
+
+	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 org.drools.compiler.SwitchingCommonTokenStream;
 
-package org.drools.lang;
 
+import org.antlr.runtime.*;
+import java.util.Stack;
 import java.util.List;
 import java.util.ArrayList;
-import java.util.Iterator;
+import java.util.Map;
 import java.util.HashMap;
-import org.drools.lang.descr.*;
-import org.drools.compiler.SwitchingCommonTokenStream;
-
-import org.antlr.runtime.*;
-
 public class DRLParser extends Parser {
-    public static final String[] tokenNames                   = new String[]{"<invalid>", "<EOR>", "<DOWN>", "<UP>", "PACKAGE", "IMPORT", "FUNCTION", "GLOBAL", "QUERY", "END", "TEMPLATE", "RULE", "WHEN", "ATTRIBUTES", "DATE_EFFECTIVE", "STRING",
-            "DATE_EXPIRES", "ENABLED", "BOOL", "SALIENCE", "INT", "NO_LOOP", "AUTO_FOCUS", "ACTIVATION_GROUP", "RULEFLOW_GROUP", "AGENDA_GROUP", "DURATION", "LOCK_ON_ACTIVE", "ACCUMULATE", "INIT", "ACTION", "RESULT", "COLLECT", "ID", "OR",
-            "LEFT_PAREN", "RIGHT_PAREN", "CONTAINS", "MATCHES", "EXCLUDES", "FLOAT", "NULL", "LEFT_CURLY", "RIGHT_CURLY", "LEFT_SQUARE", "RIGHT_SQUARE", "AND", "FROM", "EXISTS", "NOT", "EVAL", "FORALL", "THEN", "EOL", "WS", "EscapeSequence",
-            "HexDigit", "UnicodeEscape", "OctalEscape", "SH_STYLE_SINGLE_LINE_COMMENT", "C_STYLE_SINGLE_LINE_COMMENT", "MULTI_LINE_COMMENT", "MISC", "';'", "'.'", "'.*'", "','", "':'", "'||'", "'&'", "'|'", "'->'", "'=='", "'>'", "'>='", "'<'",
-            "'<='", "'!='", "'&&'"                            };
-    public static final int      PACKAGE                      = 4;
-    public static final int      FUNCTION                     = 6;
-    public static final int      ACCUMULATE                   = 28;
-    public static final int      RIGHT_SQUARE                 = 45;
-    public static final int      ACTIVATION_GROUP             = 23;
-    public static final int      ATTRIBUTES                   = 13;
-    public static final int      RIGHT_CURLY                  = 43;
-    public static final int      CONTAINS                     = 37;
-    public static final int      NO_LOOP                      = 21;
-    public static final int      LOCK_ON_ACTIVE               = 27;
-    public static final int      AGENDA_GROUP                 = 25;
-    public static final int      FLOAT                        = 40;
-    public static final int      SH_STYLE_SINGLE_LINE_COMMENT = 59;
-    public static final int      NOT                          = 49;
-    public static final int      AND                          = 46;
-    public static final int      ID                           = 33;
-    public static final int      EOF                          = -1;
-    public static final int      HexDigit                     = 56;
-    public static final int      DATE_EFFECTIVE               = 14;
-    public static final int      ACTION                       = 30;
-    public static final int      RIGHT_PAREN                  = 36;
-    public static final int      IMPORT                       = 5;
-    public static final int      EOL                          = 53;
-    public static final int      THEN                         = 52;
-    public static final int      MATCHES                      = 38;
-    public static final int      ENABLED                      = 17;
-    public static final int      EXISTS                       = 48;
-    public static final int      RULE                         = 11;
-    public static final int      EXCLUDES                     = 39;
-    public static final int      AUTO_FOCUS                   = 22;
-    public static final int      NULL                         = 41;
-    public static final int      BOOL                         = 18;
-    public static final int      FORALL                       = 51;
-    public static final int      SALIENCE                     = 19;
-    public static final int      RULEFLOW_GROUP               = 24;
-    public static final int      RESULT                       = 31;
-    public static final int      INT                          = 20;
-    public static final int      MULTI_LINE_COMMENT           = 61;
-    public static final int      DURATION                     = 26;
-    public static final int      WS                           = 54;
-    public static final int      EVAL                         = 50;
-    public static final int      TEMPLATE                     = 10;
-    public static final int      WHEN                         = 12;
-    public static final int      UnicodeEscape                = 57;
-    public static final int      LEFT_CURLY                   = 42;
-    public static final int      OR                           = 34;
-    public static final int      LEFT_PAREN                   = 35;
-    public static final int      QUERY                        = 8;
-    public static final int      MISC                         = 62;
-    public static final int      FROM                         = 47;
-    public static final int      END                          = 9;
-    public static final int      GLOBAL                       = 7;
-    public static final int      COLLECT                      = 32;
-    public static final int      LEFT_SQUARE                  = 44;
-    public static final int      INIT                         = 29;
-    public static final int      OctalEscape                  = 58;
-    public static final int      EscapeSequence               = 55;
-    public static final int      C_STYLE_SINGLE_LINE_COMMENT  = 60;
-    public static final int      DATE_EXPIRES                 = 16;
-    public static final int      STRING                       = 15;
+    public static final String[] tokenNames = new String[] {
+        "<invalid>", "<EOR>", "<DOWN>", "<UP>", "PACKAGE", "IMPORT", "FUNCTION", "GLOBAL", "QUERY", "END", "TEMPLATE", "RULE", "WHEN", "ATTRIBUTES", "DATE_EFFECTIVE", "STRING", "DATE_EXPIRES", "ENABLED", "BOOL", "SALIENCE", "INT", "NO_LOOP", "AUTO_FOCUS", "ACTIVATION_GROUP", "RULEFLOW_GROUP", "AGENDA_GROUP", "DURATION", "LOCK_ON_ACTIVE", "ACCUMULATE", "INIT", "ACTION", "RESULT", "COLLECT", "ID", "OR", "LEFT_PAREN", "RIGHT_PAREN", "CONTAINS", "MATCHES", "EXCLUDES", "FLOAT", "NULL", "LEFT_CURLY", "RIGHT_CURLY", "LEFT_SQUARE", "RIGHT_SQUARE", "AND", "FROM", "EXISTS", "NOT", "EVAL", "FORALL", "THEN", "EOL", "WS", "EscapeSequence", "HexDigit", "UnicodeEscape", "OctalEscape", "SH_STYLE_SINGLE_LINE_COMMENT", "C_STYLE_SINGLE_LINE_COMMENT", "MULTI_LINE_COMMENT", "MISC", "';'", "'.'", "'.*'", "','", "':'", "'||'", "'&'", "'|'", "'->'", "'=='", "'>'", "'>='", "'<'", "'<='", "'!='", "'&&'"
+    };
+    public static final int PACKAGE=4;
+    public static final int FUNCTION=6;
+    public static final int ACCUMULATE=28;
+    public static final int RIGHT_SQUARE=45;
+    public static final int ACTIVATION_GROUP=23;
+    public static final int ATTRIBUTES=13;
+    public static final int RIGHT_CURLY=43;
+    public static final int CONTAINS=37;
+    public static final int NO_LOOP=21;
+    public static final int LOCK_ON_ACTIVE=27;
+    public static final int AGENDA_GROUP=25;
+    public static final int FLOAT=40;
+    public static final int SH_STYLE_SINGLE_LINE_COMMENT=59;
+    public static final int NOT=49;
+    public static final int AND=46;
+    public static final int ID=33;
+    public static final int EOF=-1;
+    public static final int HexDigit=56;
+    public static final int DATE_EFFECTIVE=14;
+    public static final int ACTION=30;
+    public static final int RIGHT_PAREN=36;
+    public static final int IMPORT=5;
+    public static final int EOL=53;
+    public static final int THEN=52;
+    public static final int MATCHES=38;
+    public static final int ENABLED=17;
+    public static final int EXISTS=48;
+    public static final int RULE=11;
+    public static final int EXCLUDES=39;
+    public static final int AUTO_FOCUS=22;
+    public static final int NULL=41;
+    public static final int BOOL=18;
+    public static final int FORALL=51;
+    public static final int SALIENCE=19;
+    public static final int RULEFLOW_GROUP=24;
+    public static final int RESULT=31;
+    public static final int INT=20;
+    public static final int MULTI_LINE_COMMENT=61;
+    public static final int DURATION=26;
+    public static final int WS=54;
+    public static final int EVAL=50;
+    public static final int TEMPLATE=10;
+    public static final int WHEN=12;
+    public static final int UnicodeEscape=57;
+    public static final int LEFT_CURLY=42;
+    public static final int OR=34;
+    public static final int LEFT_PAREN=35;
+    public static final int QUERY=8;
+    public static final int MISC=62;
+    public static final int FROM=47;
+    public static final int END=9;
+    public static final int GLOBAL=7;
+    public static final int COLLECT=32;
+    public static final int LEFT_SQUARE=44;
+    public static final int INIT=29;
+    public static final int OctalEscape=58;
+    public static final int EscapeSequence=55;
+    public static final int C_STYLE_SINGLE_LINE_COMMENT=60;
+    public static final int DATE_EXPIRES=16;
+    public static final int STRING=15;
 
-    public DRLParser(final TokenStream input) {
-        super( input );
-        this.ruleMemo = new HashMap[176 + 1];
-    }
+        public DRLParser(TokenStream input) {
+            super(input);
+            ruleMemo = new HashMap[192+1];
+         }
+        
 
-    public String[] getTokenNames() {
-        return tokenNames;
-    }
+    public String[] getTokenNames() { return tokenNames; }
+    public String getGrammarFileName() { return "C:\\dev\\jbossrules\\trunk3\\drools-compiler\\src\\main\\resources\\org\\drools\\lang\\DRL.g"; }
 
-    public String getGrammarFileName() {
-        return "C:\\dev\\jbossrules\\trunk3\\drools-compiler\\src\\main\\resources\\org\\drools\\lang\\DRL.g";
-    }
+    
+    	private PackageDescr packageDescr;
+    	private List errors = new ArrayList();
+    	private String source = "unknown";
+    	private int lineOffset = 0;
+    	private DescrFactory factory = new DescrFactory();
+    	private boolean parserDebug = false;
+    	
+    	// THE FOLLOWING LINE IS A DUMMY ATTRIBUTE TO WORK AROUND AN ANTLR BUG
+    	private BaseDescr from = null;
+    	
+    	public void setParserDebug(boolean parserDebug) {
+    		this.parserDebug = parserDebug;
+    	}
+    	
+    	public void debug(String message) {
+    		if ( parserDebug ) 
+    			System.err.println( "drl parser: " + message );
+    	}
+    	
+    	public void setSource(String source) {
+    		this.source = source;
+    	}
+    	public DescrFactory getFactory() {
+    		return factory;
+    	}	
+    
+    	public String getSource() {
+    		return this.source;
+    	}
+    	
+    	public PackageDescr getPackageDescr() {
+    		return packageDescr;
+    	}
+    	
+    	private int offset(int line) {
+    		return line + lineOffset;
+    	}
+    	
+    	/**
+    	 * This will set the offset to record when reparsing. Normally is zero of course 
+    	 */
+    	public void setLineOffset(int i) {
+    	 	this.lineOffset = i;
+    	}
+    	
+    	private String getString(Token token) {
+    		String orig = token.getText();
+    		return orig.substring( 1, orig.length() -1 );
+    	}
+    	
+    	public void reportError(RecognitionException ex) {
+    	        // if we've already reported an error and have not matched a token
+                    // yet successfully, don't report any errors.
+                    if ( errorRecovery ) {
+                            return;
+                    }
+                    errorRecovery = true;
+    
+    		ex.line = offset(ex.line); //add the offset if there is one
+    		errors.add( ex ); 
+    	}
+         	
+         	/** return the raw RecognitionException errors */
+         	public List getErrors() {
+         		return errors;
+         	}
+         	
+         	/** Return a list of pretty strings summarising the errors */
+         	public List getErrorMessages() {
+         		List messages = new ArrayList();
+     		for ( Iterator errorIter = errors.iterator() ; errorIter.hasNext() ; ) {
+         	     		messages.add( createErrorMessage( (RecognitionException) errorIter.next() ) );
+         	     	}
+         	     	return messages;
+         	}
+         	
+         	/** return true if any parser errors were accumulated */
+         	public boolean hasErrors() {
+      		return ! errors.isEmpty();
+         	}
+         	
+         	/** This will take a RecognitionException, and create a sensible error message out of it */
+         	public String createErrorMessage(RecognitionException e)
+            {
+    		StringBuffer message = new StringBuffer();		
+                    message.append( source + ":"+e.line+":"+e.charPositionInLine+" ");
+                    if ( e instanceof MismatchedTokenException ) {
+                            MismatchedTokenException mte = (MismatchedTokenException)e;
+                            message.append("mismatched token: "+
+                                                               e.token+
+                                                               "; expecting type "+
+                                                               tokenNames[mte.expecting]);
+                    }
+                    else if ( e instanceof MismatchedTreeNodeException ) {
+                            MismatchedTreeNodeException mtne = (MismatchedTreeNodeException)e;
+                            message.append("mismatched tree node: "+
+                                                               //mtne.foundNode+  //FIXME
+                                                               "; expecting type "+
+                                                               tokenNames[mtne.expecting]);
+                    }
+                    else if ( e instanceof NoViableAltException ) {
+                            NoViableAltException nvae = (NoViableAltException)e;
+    			message.append( "Unexpected token '" + e.token.getText() + "'" );
+                            /*
+                            message.append("decision=<<"+nvae.grammarDecisionDescription+">>"+
+                                                               " state "+nvae.stateNumber+
+                                                               " (decision="+nvae.decisionNumber+
+                                                               ") no viable alt; token="+
+                                                               e.token);
+                                                               */
+                    }
+                    else if ( e instanceof EarlyExitException ) {
+                            EarlyExitException eee = (EarlyExitException)e;
+                            message.append("required (...)+ loop (decision="+
+                                                               eee.decisionNumber+
+                                                               ") did not match anything; token="+
+                                                               e.token);
+                    }
+                    else if ( e instanceof MismatchedSetException ) {
+                            MismatchedSetException mse = (MismatchedSetException)e;
+                            message.append("mismatched token '"+
+                                                               e.token+
+                                                               "' expecting set "+mse.expecting);
+                    }
+                    else if ( e instanceof MismatchedNotSetException ) {
+                            MismatchedNotSetException mse = (MismatchedNotSetException)e;
+                            message.append("mismatched token '"+
+                                                               e.token+
+                                                               "' expecting set "+mse.expecting);
+                    }
+                    else if ( e instanceof FailedPredicateException ) {
+                            FailedPredicateException fpe = (FailedPredicateException)e;
+                            message.append("rule "+fpe.ruleName+" failed predicate: {"+
+                                                               fpe.predicateText+"}?");
+                    } else if (e instanceof GeneralParseException) {
+    			message.append(" " + e.getMessage());
+    		}
+                   	return message.toString();
+            }   
+            
+            void checkTrailingSemicolon(String text, int line) {
+            	if (text.trim().endsWith( ";" ) ) {
+            		this.errors.add( new GeneralParseException( "Trailing semi-colon not allowed", offset(line) ) );
+            	}
+            }
+          
 
-    private PackageDescr packageDescr;
-    private final List         errors      = new ArrayList();
-    private String       source      = "unknown";
-    private int          lineOffset  = 0;
-    private final DescrFactory factory     = new DescrFactory();
-    private boolean      parserDebug = false;
 
-    // THE FOLLOWING LINE IS A DUMMY ATTRIBUTE TO WORK AROUND AN ANTLR BUG
-    private final BaseDescr    from        = null;
 
-    public void setParserDebug(final boolean parserDebug) {
-        this.parserDebug = parserDebug;
-    }
+    // $ANTLR start opt_semicolon
+    // C:\\dev\\jbossrules\\trunk3\\drools-compiler\\src\\main\\resources\\org\\drools\\lang\\DRL.g:168:1: opt_semicolon : ( ';' )? ;
+    public final void opt_semicolon() throws RecognitionException {
+        try {
+            // C:\\dev\\jbossrules\\trunk3\\drools-compiler\\src\\main\\resources\\org\\drools\\lang\\DRL.g:169:4: ( ( ';' )? )
+            // C:\\dev\\jbossrules\\trunk3\\drools-compiler\\src\\main\\resources\\org\\drools\\lang\\DRL.g:169:4: ( ';' )?
+            {
+            // C:\\dev\\jbossrules\\trunk3\\drools-compiler\\src\\main\\resources\\org\\drools\\lang\\DRL.g:169:4: ( ';' )?
+            int alt1=2;
+            int LA1_0 = input.LA(1);
 
-    public void debug(final String message) {
-        if ( this.parserDebug ) {
-            System.err.println( "drl parser: " + message );
-        }
-    }
+            if ( (LA1_0==63) ) {
+                alt1=1;
+            }
+            switch (alt1) {
+                case 1 :
+                    // C:\\dev\\jbossrules\\trunk3\\drools-compiler\\src\\main\\resources\\org\\drools\\lang\\DRL.g:0:0: ';'
+                    {
+                    match(input,63,FOLLOW_63_in_opt_semicolon46); if (failed) return ;
 
-    public void setSource(final String source) {
-        this.source = source;
-    }
+                    }
+                    break;
 
-    public DescrFactory getFactory() {
-        return this.factory;
-    }
+            }
 
-    public String getSource() {
-        return this.source;
-    }
 
-    public PackageDescr getPackageDescr() {
-        return this.packageDescr;
-    }
+            }
 
-    private int offset(final int line) {
-        return line + this.lineOffset;
-    }
-
-    /**
-     * This will set the offset to record when reparsing. Normally is zero of course 
-     */
-    public void setLineOffset(final int i) {
-        this.lineOffset = i;
-    }
-
-    private String getString(final Token token) {
-        final String orig = token.getText();
-        return orig.substring( 1,
-                               orig.length() - 1 );
-    }
-
-    public void reportError(final RecognitionException ex) {
-        // if we've already reported an error and have not matched a token
-        // yet successfully, don't report any errors.
-        if ( this.errorRecovery ) {
-            return;
         }
-        this.errorRecovery = true;
-
-        ex.line = offset( ex.line ); //add the offset if there is one
-        this.errors.add( ex );
-    }
-
-    /** return the raw RecognitionException errors */
-    public List getErrors() {
-        return this.errors;
-    }
-
-    /** Return a list of pretty strings summarising the errors */
-    public List getErrorMessages() {
-        final List messages = new ArrayList();
-        for ( final Iterator errorIter = this.errors.iterator(); errorIter.hasNext(); ) {
-            messages.add( createErrorMessage( (RecognitionException) errorIter.next() ) );
+        catch (RecognitionException re) {
+            reportError(re);
+            recover(input,re);
         }
-        return messages;
-    }
-
-    /** return true if any parser errors were accumulated */
-    public boolean hasErrors() {
-        return !this.errors.isEmpty();
-    }
-
-    /** This will take a RecognitionException, and create a sensible error message out of it */
-    public String createErrorMessage(final RecognitionException e) {
-        final StringBuffer message = new StringBuffer();
-        message.append( this.source + ":" + e.line + ":" + e.charPositionInLine + " " );
-        if ( e instanceof MismatchedTokenException ) {
-            final MismatchedTokenException mte = (MismatchedTokenException) e;
-            message.append( "mismatched token: " + e.token + "; expecting type " + tokenNames[mte.expecting] );
-        } else if ( e instanceof MismatchedTreeNodeException ) {
-            final MismatchedTreeNodeException mtne = (MismatchedTreeNodeException) e;
-            message.append( "mismatched tree node: " + mtne.foundNode + "; expecting type " + tokenNames[mtne.expecting] );
-        } else if ( e instanceof NoViableAltException ) {
-            final NoViableAltException nvae = (NoViableAltException) e;
-            message.append( "Unexpected token '" + e.token.getText() + "'" );
-            /*
-             message.append("decision=<<"+nvae.grammarDecisionDescription+">>"+
-             " state "+nvae.stateNumber+
-             " (decision="+nvae.decisionNumber+
-             ") no viable alt; token="+
-             e.token);
-             */
-        } else if ( e instanceof EarlyExitException ) {
-            final EarlyExitException eee = (EarlyExitException) e;
-            message.append( "required (...)+ loop (decision=" + eee.decisionNumber + ") did not match anything; token=" + e.token );
-        } else if ( e instanceof MismatchedSetException ) {
-            final MismatchedSetException mse = (MismatchedSetException) e;
-            message.append( "mismatched token '" + e.token + "' expecting set " + mse.expecting );
-        } else if ( e instanceof MismatchedNotSetException ) {
-            final MismatchedNotSetException mse = (MismatchedNotSetException) e;
-            message.append( "mismatched token '" + e.token + "' expecting set " + mse.expecting );
-        } else if ( e instanceof FailedPredicateException ) {
-            final FailedPredicateException fpe = (FailedPredicateException) e;
-            message.append( "rule " + fpe.ruleName + " failed predicate: {" + fpe.predicateText + "}?" );
-        } else if ( e instanceof GeneralParseException ) {
-            message.append( " " + e.getMessage() );
+        finally {
         }
-        return message.toString();
+        return ;
     }
+    // $ANTLR end opt_semicolon
 
-    void checkTrailingSemicolon(final String text,
-                                final int line) {
-        if ( text.trim().endsWith( ";" ) ) {
-            this.errors.add( new GeneralParseException( "Trailing semi-colon not allowed",
-                                                        offset( line ) ) );
-        }
-    }
 
-    // $ANTLR start opt_semicolon
-    // C:\\dev\\jbossrules\\trunk3\\drools-compiler\\src\\main\\resources\\org\\drools\\lang\\DRL.g:168:1: opt_semicolon : ( ( ';' )=> ';' )? ;
-    public void opt_semicolon() throws RecognitionException {
+    // $ANTLR start compilation_unit
+    // C:\\dev\\jbossrules\\trunk3\\drools-compiler\\src\\main\\resources\\org\\drools\\lang\\DRL.g:172:1: compilation_unit : prolog ( statement )+ ;
+    public final void compilation_unit() throws RecognitionException {
         try {
-            // C:\\dev\\jbossrules\\trunk3\\drools-compiler\\src\\main\\resources\\org\\drools\\lang\\DRL.g:169:4: ( ( ( ';' )=> ';' )? )
-            // C:\\dev\\jbossrules\\trunk3\\drools-compiler\\src\\main\\resources\\org\\drools\\lang\\DRL.g:169:4: ( ( ';' )=> ';' )?
+            // C:\\dev\\jbossrules\\trunk3\\drools-compiler\\src\\main\\resources\\org\\drools\\lang\\DRL.g:173:4: ( prolog ( statement )+ )
+            // C:\\dev\\jbossrules\\trunk3\\drools-compiler\\src\\main\\resources\\org\\drools\\lang\\DRL.g:173:4: prolog ( statement )+
             {
-                // C:\\dev\\jbossrules\\trunk3\\drools-compiler\\src\\main\\resources\\org\\drools\\lang\\DRL.g:169:4: ( ( ';' )=> ';' )?
-                int alt1 = 2;
-                final int LA1_0 = this.input.LA( 1 );
-                if ( (LA1_0 == 63) ) {
-                    alt1 = 1;
-                }
-                switch ( alt1 ) {
-                    case 1 :
-                        // C:\\dev\\jbossrules\\trunk3\\drools-compiler\\src\\main\\resources\\org\\drools\\lang\\DRL.g:0:0: ( ';' )=> ';'
-                    {
-                        match( this.input,
-                               63,
-                               FOLLOW_63_in_opt_semicolon46 );
-                        if ( this.failed ) {
-                            return;
-                        }
+            pushFollow(FOLLOW_prolog_in_compilation_unit58);
+            prolog();
+            _fsp--;
+            if (failed) return ;
+            // C:\\dev\\jbossrules\\trunk3\\drools-compiler\\src\\main\\resources\\org\\drools\\lang\\DRL.g:174:3: ( statement )+
+            int cnt2=0;
+            loop2:
+            do {
+                int alt2=2;
+                int LA2_0 = input.LA(1);
 
-                    }
-                        break;
-
+                if ( ((LA2_0>=IMPORT && LA2_0<=QUERY)||(LA2_0>=TEMPLATE && LA2_0<=RULE)) ) {
+                    alt2=1;
                 }
 
-            }
 
-        } catch ( final RecognitionException re ) {
-            reportError( re );
-            recover( this.input,
-                     re );
-        } finally {
-        }
-        return;
-    }
+                switch (alt2) {
+            	case 1 :
+            	    // C:\\dev\\jbossrules\\trunk3\\drools-compiler\\src\\main\\resources\\org\\drools\\lang\\DRL.g:174:5: statement
+            	    {
+            	    pushFollow(FOLLOW_statement_in_compilation_unit65);
+            	    statement();
+            	    _fsp--;
+            	    if (failed) return ;
 
-    // $ANTLR end opt_semicolon
+            	    }
+            	    break;
 
-    // $ANTLR start compilation_unit
-    // C:\\dev\\jbossrules\\trunk3\\drools-compiler\\src\\main\\resources\\org\\drools\\lang\\DRL.g:172:1: compilation_unit : prolog ( ( statement )=> statement )+ ;
-    public void compilation_unit() throws RecognitionException {
-        try {
-            // C:\\dev\\jbossrules\\trunk3\\drools-compiler\\src\\main\\resources\\org\\drools\\lang\\DRL.g:173:4: ( prolog ( ( statement )=> statement )+ )
-            // C:\\dev\\jbossrules\\trunk3\\drools-compiler\\src\\main\\resources\\org\\drools\\lang\\DRL.g:173:4: prolog ( ( statement )=> statement )+
-            {
-                pushFollow( FOLLOW_prolog_in_compilation_unit58 );
-                prolog();
-                this._fsp--;
-                if ( this.failed ) {
-                    return;
+            	default :
+            	    if ( cnt2 >= 1 ) break loop2;
+            	    if (backtracking>0) {failed=true; return ;}
+                        EarlyExitException eee =
+                            new EarlyExitException(2, input);
+                        throw eee;
                 }
-                // C:\\dev\\jbossrules\\trunk3\\drools-compiler\\src\\main\\resources\\org\\drools\\lang\\DRL.g:174:3: ( ( statement )=> statement )+
-                int cnt2 = 0;
-                loop2 : do {
-                    int alt2 = 2;
-                    final int LA2_0 = this.input.LA( 1 );
-                    if ( ((LA2_0 >= IMPORT && LA2_0 <= QUERY) || (LA2_0 >= TEMPLATE && LA2_0 <= RULE)) ) {
-                        alt2 = 1;
-                    }
+                cnt2++;
+            } while (true);
 
-                    switch ( alt2 ) {
-                        case 1 :
-                            // C:\\dev\\jbossrules\\trunk3\\drools-compiler\\src\\main\\resources\\org\\drools\\lang\\DRL.g:174:5: ( statement )=> statement
-                        {
-                            pushFollow( FOLLOW_statement_in_compilation_unit65 );
-                            statement();
-                            this._fsp--;
-                            if ( this.failed ) {
-                                return;
-                            }
 
-                        }
-                            break;
-
-                        default :
-                            if ( cnt2 >= 1 ) {
-                                break loop2;
-                            }
-                            if ( this.backtracking > 0 ) {
-                                this.failed = true;
-                                return;
-                            }
-                            final EarlyExitException eee = new EarlyExitException( 2,
-                                                                             this.input );
-                            throw eee;
-                    }
-                    cnt2++;
-                } while ( true );
-
             }
 
-        } catch ( final RecognitionException re ) {
-            reportError( re );
-            recover( this.input,
-                     re );
-        } finally {
         }
-        return;
+        catch (RecognitionException re) {
+            reportError(re);
+            recover(input,re);
+        }
+        finally {
+        }
+        return ;
     }
-
     // $ANTLR end compilation_unit
 
+
     // $ANTLR start prolog
-    // C:\\dev\\jbossrules\\trunk3\\drools-compiler\\src\\main\\resources\\org\\drools\\lang\\DRL.g:177:1: prolog : ( ( package_statement )=>n= package_statement )? ;
-    public void prolog() throws RecognitionException {
+    // C:\\dev\\jbossrules\\trunk3\\drools-compiler\\src\\main\\resources\\org\\drools\\lang\\DRL.g:177:1: prolog : (n= package_statement )? ;
+    public final void prolog() throws RecognitionException {
         String n = null;
 
-        String packageName = "";
 
+        
+        		String packageName = "";
+        	
         try {
-            // C:\\dev\\jbossrules\\trunk3\\drools-compiler\\src\\main\\resources\\org\\drools\\lang\\DRL.g:181:4: ( ( ( package_statement )=>n= package_statement )? )
-            // C:\\dev\\jbossrules\\trunk3\\drools-compiler\\src\\main\\resources\\org\\drools\\lang\\DRL.g:181:4: ( ( package_statement )=>n= package_statement )?
+            // C:\\dev\\jbossrules\\trunk3\\drools-compiler\\src\\main\\resources\\org\\drools\\lang\\DRL.g:181:4: ( (n= package_statement )? )
+            // C:\\dev\\jbossrules\\trunk3\\drools-compiler\\src\\main\\resources\\org\\drools\\lang\\DRL.g:181:4: (n= package_statement )?
             {
-                // C:\\dev\\jbossrules\\trunk3\\drools-compiler\\src\\main\\resources\\org\\drools\\lang\\DRL.g:181:4: ( ( package_statement )=>n= package_statement )?
-                int alt3 = 2;
-                final int LA3_0 = this.input.LA( 1 );
-                if ( (LA3_0 == PACKAGE) ) {
-                    alt3 = 1;
-                }
-                switch ( alt3 ) {
-                    case 1 :
-                        // C:\\dev\\jbossrules\\trunk3\\drools-compiler\\src\\main\\resources\\org\\drools\\lang\\DRL.g:181:6: ( package_statement )=>n= package_statement
+            // C:\\dev\\jbossrules\\trunk3\\drools-compiler\\src\\main\\resources\\org\\drools\\lang\\DRL.g:181:4: (n= package_statement )?
+            int alt3=2;
+            int LA3_0 = input.LA(1);
+
+            if ( (LA3_0==PACKAGE) ) {
+                alt3=1;
+            }
+            switch (alt3) {
+                case 1 :
+                    // C:\\dev\\jbossrules\\trunk3\\drools-compiler\\src\\main\\resources\\org\\drools\\lang\\DRL.g:181:6: n= package_statement
                     {
-                        pushFollow( FOLLOW_package_statement_in_prolog90 );
-                        n = package_statement();
-                        this._fsp--;
-                        if ( this.failed ) {
-                            return;
-                        }
-                        if ( this.backtracking == 0 ) {
-                            packageName = n;
-                        }
+                    pushFollow(FOLLOW_package_statement_in_prolog90);
+                    n=package_statement();
+                    _fsp--;
+                    if (failed) return ;
+                    if ( backtracking==0 ) {
+                       packageName = n; 
+                    }
 
                     }
-                        break;
+                    break;
 
-                }
+            }
 
-                if ( this.backtracking == 0 ) {
+            if ( backtracking==0 ) {
+               
+              			this.packageDescr = factory.createPackage( packageName ); 
+              		
+            }
 
-                    this.packageDescr = this.factory.createPackage( packageName );
-
-                }
-
             }
 
-        } catch ( final RecognitionException re ) {
-            reportError( re );
-            recover( this.input,
-                     re );
-        } finally {
         }
-        return;
+        catch (RecognitionException re) {
+            reportError(re);
+            recover(input,re);
+        }
+        finally {
+        }
+        return ;
     }
-
     // $ANTLR end prolog
 
+
     // $ANTLR start statement
-    // C:\\dev\\jbossrules\\trunk3\\drools-compiler\\src\\main\\resources\\org\\drools\\lang\\DRL.g:187:1: statement : ( ( function_import_statement )=> function_import_statement | ( import_statement )=> import_statement | ( global )=> global | ( function )=> function | ( template )=>t= template | ( rule )=>r= rule | q= query ) ;
-    public void statement() throws RecognitionException {
+    // C:\\dev\\jbossrules\\trunk3\\drools-compiler\\src\\main\\resources\\org\\drools\\lang\\DRL.g:187:1: statement : ( function_import_statement | import_statement | global | function | t= template | r= rule | q= query ) ;
+    public final void statement() throws RecognitionException {
         FactTemplateDescr t = null;
 
         RuleDescr r = null;
 
         QueryDescr q = null;
 
+
         try {
-            // C:\\dev\\jbossrules\\trunk3\\drools-compiler\\src\\main\\resources\\org\\drools\\lang\\DRL.g:189:2: ( ( ( function_import_statement )=> function_import_statement | ( import_statement )=> import_statement | ( global )=> global | ( function )=> function | ( template )=>t= template | ( rule )=>r= rule | q= query ) )
-            // C:\\dev\\jbossrules\\trunk3\\drools-compiler\\src\\main\\resources\\org\\drools\\lang\\DRL.g:189:2: ( ( function_import_statement )=> function_import_statement | ( import_statement )=> import_statement | ( global )=> global | ( function )=> function | ( template )=>t= template | ( rule )=>r= rule | q= query )
+            // C:\\dev\\jbossrules\\trunk3\\drools-compiler\\src\\main\\resources\\org\\drools\\lang\\DRL.g:189:2: ( ( function_import_statement | import_statement | global | function | t= template | r= rule | q= query ) )
+            // C:\\dev\\jbossrules\\trunk3\\drools-compiler\\src\\main\\resources\\org\\drools\\lang\\DRL.g:189:2: ( function_import_statement | import_statement | global | function | t= template | r= rule | q= query )
             {
-                // C:\\dev\\jbossrules\\trunk3\\drools-compiler\\src\\main\\resources\\org\\drools\\lang\\DRL.g:189:2: ( ( function_import_statement )=> function_import_statement | ( import_statement )=> import_statement | ( global )=> global | ( function )=> function | ( template )=>t= template | ( rule )=>r= rule | q= query )
-                int alt4 = 7;
-                switch ( this.input.LA( 1 ) ) {
-                    case IMPORT :
-                        if ( (synpred4()) ) {
-                            alt4 = 1;
-                        } else if ( (synpred5()) ) {
-                            alt4 = 2;
-                        } else {
-                            if ( this.backtracking > 0 ) {
-                                this.failed = true;
-                                return;
-                            }
-                            final NoViableAltException nvae = new NoViableAltException( "189:2: ( ( function_import_statement )=> function_import_statement | ( import_statement )=> import_statement | ( global )=> global | ( function )=> function | ( template )=>t= template | ( rule )=>r= rule | q= query )",
-                                                                                  4,
-                                                                                  1,
-                                                                                  this.input );
+            // C:\\dev\\jbossrules\\trunk3\\drools-compiler\\src\\main\\resources\\org\\drools\\lang\\DRL.g:189:2: ( function_import_statement | import_statement | global | function | t= template | r= rule | q= query )
+            int alt4=7;
+            switch ( input.LA(1) ) {
+            case IMPORT:
+                {
+                int LA4_1 = input.LA(2);
 
-                            throw nvae;
-                        }
-                        break;
-                    case GLOBAL :
-                        alt4 = 3;
-                        break;
-                    case FUNCTION :
-                        alt4 = 4;
-                        break;
-                    case TEMPLATE :
-                        alt4 = 5;
-                        break;
-                    case RULE :
-                        alt4 = 6;
-                        break;
-                    case QUERY :
-                        alt4 = 7;
-                        break;
-                    default :
-                        if ( this.backtracking > 0 ) {
-                            this.failed = true;
-                            return;
-                        }
-                        final NoViableAltException nvae = new NoViableAltException( "189:2: ( ( function_import_statement )=> function_import_statement | ( import_statement )=> import_statement | ( global )=> global | ( function )=> function | ( template )=>t= template | ( rule )=>r= rule | q= query )",
-                                                                              4,
-                                                                              0,
-                                                                              this.input );
+                if ( (synpred4()) ) {
+                    alt4=1;
+                }
+                else if ( (synpred5()) ) {
+                    alt4=2;
+                }
+                else {
+                    if (backtracking>0) {failed=true; return ;}
+                    NoViableAltException nvae =
+                        new NoViableAltException("189:2: ( function_import_statement | import_statement | global | function | t= template | r= rule | q= query )", 4, 1, input);
 
-                        throw nvae;
+                    throw nvae;
                 }
+                }
+                break;
+            case GLOBAL:
+                {
+                alt4=3;
+                }
+                break;
+            case FUNCTION:
+                {
+                alt4=4;
+                }
+                break;
+            case TEMPLATE:
+                {
+                alt4=5;
+                }
+                break;
+            case RULE:
+                {
+                alt4=6;
+                }
+                break;
+            case QUERY:
+                {
+                alt4=7;
+                }
+                break;
+            default:
+                if (backtracking>0) {failed=true; return ;}
+                NoViableAltException nvae =
+                    new NoViableAltException("189:2: ( function_import_statement | import_statement | global | function | t= template | r= rule | q= query )", 4, 0, input);
 
-                switch ( alt4 ) {
-                    case 1 :
-                        // C:\\dev\\jbossrules\\trunk3\\drools-compiler\\src\\main\\resources\\org\\drools\\lang\\DRL.g:189:4: ( function_import_statement )=> function_import_statement
+                throw nvae;
+            }
+
+            switch (alt4) {
+                case 1 :
+                    // C:\\dev\\jbossrules\\trunk3\\drools-compiler\\src\\main\\resources\\org\\drools\\lang\\DRL.g:189:4: function_import_statement
                     {
-                        pushFollow( FOLLOW_function_import_statement_in_statement114 );
-                        function_import_statement();
-                        this._fsp--;
-                        if ( this.failed ) {
-                            return;
-                        }
+                    pushFollow(FOLLOW_function_import_statement_in_statement114);
+                    function_import_statement();
+                    _fsp--;
+                    if (failed) return ;
 
                     }
-                        break;
-                    case 2 :
-                        // C:\\dev\\jbossrules\\trunk3\\drools-compiler\\src\\main\\resources\\org\\drools\\lang\\DRL.g:190:4: ( import_statement )=> import_statement
+                    break;
+                case 2 :
+                    // C:\\dev\\jbossrules\\trunk3\\drools-compiler\\src\\main\\resources\\org\\drools\\lang\\DRL.g:190:4: import_statement
                     {
-                        pushFollow( FOLLOW_import_statement_in_statement120 );
-                        import_statement();
-                        this._fsp--;
-                        if ( this.failed ) {
-                            return;
-                        }
+                    pushFollow(FOLLOW_import_statement_in_statement120);
+                    import_statement();
+                    _fsp--;
+                    if (failed) return ;
 
                     }
-                        break;
-                    case 3 :
-                        // C:\\dev\\jbossrules\\trunk3\\drools-compiler\\src\\main\\resources\\org\\drools\\lang\\DRL.g:191:4: ( global )=> global
+                    break;
+                case 3 :
+                    // C:\\dev\\jbossrules\\trunk3\\drools-compiler\\src\\main\\resources\\org\\drools\\lang\\DRL.g:191:4: global
                     {
-                        pushFollow( FOLLOW_global_in_statement126 );
-                        global();
-                        this._fsp--;
-                        if ( this.failed ) {
-                            return;
-                        }
+                    pushFollow(FOLLOW_global_in_statement126);
+                    global();
+                    _fsp--;
+                    if (failed) return ;
 
                     }
-                        break;
-                    case 4 :
-                        // C:\\dev\\jbossrules\\trunk3\\drools-compiler\\src\\main\\resources\\org\\drools\\lang\\DRL.g:192:4: ( function )=> function
+                    break;
+                case 4 :
+                    // C:\\dev\\jbossrules\\trunk3\\drools-compiler\\src\\main\\resources\\org\\drools\\lang\\DRL.g:192:4: function
                     {
-                        pushFollow( FOLLOW_function_in_statement132 );
-                        function();
-                        this._fsp--;
-                        if ( this.failed ) {
-                            return;
-                        }
+                    pushFollow(FOLLOW_function_in_statement132);
+                    function();
+                    _fsp--;
+                    if (failed) return ;
 
                     }
-                        break;
-                    case 5 :
-                        // C:\\dev\\jbossrules\\trunk3\\drools-compiler\\src\\main\\resources\\org\\drools\\lang\\DRL.g:193:10: ( template )=>t= template
+                    break;
+                case 5 :
+                    // C:\\dev\\jbossrules\\trunk3\\drools-compiler\\src\\main\\resources\\org\\drools\\lang\\DRL.g:193:10: t= template
                     {
-                        pushFollow( FOLLOW_template_in_statement146 );
-                        t = template();
-                        this._fsp--;
-                        if ( this.failed ) {
-                            return;
-                        }
-                        if ( this.backtracking == 0 ) {
-                            this.packageDescr.addFactTemplate( t );
-                        }
+                    pushFollow(FOLLOW_template_in_statement146);
+                    t=template();
+                    _fsp--;
+                    if (failed) return ;
+                    if ( backtracking==0 ) {
+                      this.packageDescr.addFactTemplate( t ); 
+                    }
 
                     }
-                        break;
-                    case 6 :
-                        // C:\\dev\\jbossrules\\trunk3\\drools-compiler\\src\\main\\resources\\org\\drools\\lang\\DRL.g:194:4: ( rule )=>r= rule
+                    break;
+                case 6 :
+                    // C:\\dev\\jbossrules\\trunk3\\drools-compiler\\src\\main\\resources\\org\\drools\\lang\\DRL.g:194:4: r= rule
                     {
-                        pushFollow( FOLLOW_rule_in_statement155 );
-                        r = rule();
-                        this._fsp--;
-                        if ( this.failed ) {
-                            return;
-                        }
-                        if ( this.backtracking == 0 ) {
-                            if ( r != null ) {
-                                this.packageDescr.addRule( r );
-                            }
-                        }
+                    pushFollow(FOLLOW_rule_in_statement155);
+                    r=rule();
+                    _fsp--;
+                    if (failed) return ;
+                    if ( backtracking==0 ) {
+                       if( r != null ) this.packageDescr.addRule( r ); 
+                    }
 
                     }
-                        break;
-                    case 7 :
-                        // C:\\dev\\jbossrules\\trunk3\\drools-compiler\\src\\main\\resources\\org\\drools\\lang\\DRL.g:195:4: q= query
+                    break;
+                case 7 :
+                    // C:\\dev\\jbossrules\\trunk3\\drools-compiler\\src\\main\\resources\\org\\drools\\lang\\DRL.g:195:4: q= query
                     {
-                        pushFollow( FOLLOW_query_in_statement167 );
-                        q = query();
-                        this._fsp--;
-                        if ( this.failed ) {
-                            return;
-                        }
-                        if ( this.backtracking == 0 ) {
-                            if ( q != null ) {
-                                this.packageDescr.addRule( q );
-                            }
-                        }
+                    pushFollow(FOLLOW_query_in_statement167);
+                    q=query();
+                    _fsp--;
+                    if (failed) return ;
+                    if ( backtracking==0 ) {
+                       if( q != null ) this.packageDescr.addRule( q ); 
+                    }
 
                     }
-                        break;
+                    break;
 
-                }
+            }
 
+
             }
 
-        } catch ( final RecognitionException re ) {
-            reportError( re );
-            recover( this.input,
-                     re );
-        } finally {
         }
-        return;
+        catch (RecognitionException re) {
+            reportError(re);
+            recover(input,re);
+        }
+        finally {
+        }
+        return ;
     }
-
     // $ANTLR end statement
 
+
     // $ANTLR start package_statement
     // C:\\dev\\jbossrules\\trunk3\\drools-compiler\\src\\main\\resources\\org\\drools\\lang\\DRL.g:199:1: package_statement returns [String packageName] : PACKAGE n= dotted_name[null] opt_semicolon ;
-    public String package_statement() throws RecognitionException {
+    public final String package_statement() throws RecognitionException {
         String packageName = null;
 
         String n = null;
 
-        packageName = null;
 
+        
+        		packageName = null;
+        	
         try {
             // C:\\dev\\jbossrules\\trunk3\\drools-compiler\\src\\main\\resources\\org\\drools\\lang\\DRL.g:204:3: ( PACKAGE n= dotted_name[null] opt_semicolon )
             // C:\\dev\\jbossrules\\trunk3\\drools-compiler\\src\\main\\resources\\org\\drools\\lang\\DRL.g:204:3: PACKAGE n= dotted_name[null] opt_semicolon
             {
-                match( this.input,
-                       PACKAGE,
-                       FOLLOW_PACKAGE_in_package_statement196 );
-                if ( this.failed ) {
-                    return packageName;
-                }
-                pushFollow( FOLLOW_dotted_name_in_package_statement200 );
-                n = dotted_name( null );
-                this._fsp--;
-                if ( this.failed ) {
-                    return packageName;
-                }
-                pushFollow( FOLLOW_opt_semicolon_in_package_statement203 );
-                opt_semicolon();
-                this._fsp--;
-                if ( this.failed ) {
-                    return packageName;
-                }
-                if ( this.backtracking == 0 ) {
+            match(input,PACKAGE,FOLLOW_PACKAGE_in_package_statement196); if (failed) return packageName;
+            pushFollow(FOLLOW_dotted_name_in_package_statement200);
+            n=dotted_name(null);
+            _fsp--;
+            if (failed) return packageName;
+            pushFollow(FOLLOW_opt_semicolon_in_package_statement203);
+            opt_semicolon();
+            _fsp--;
+            if (failed) return packageName;
+            if ( backtracking==0 ) {
+              
+              			packageName = n;
+              		
+            }
 
-                    packageName = n;
-
-                }
-
             }
 
-        } catch ( final RecognitionException re ) {
-            reportError( re );
-            recover( this.input,
-                     re );
-        } finally {
         }
+        catch (RecognitionException re) {
+            reportError(re);
+            recover(input,re);
+        }
+        finally {
+        }
         return packageName;
     }
-
     // $ANTLR end package_statement
 
+
     // $ANTLR start import_statement
     // C:\\dev\\jbossrules\\trunk3\\drools-compiler\\src\\main\\resources\\org\\drools\\lang\\DRL.g:211:1: import_statement : imp= IMPORT import_name[importDecl] opt_semicolon ;
-    public void import_statement() throws RecognitionException {
-        Token imp = null;
+    public final void import_statement() throws RecognitionException {
+        Token imp=null;
 
-        ImportDescr importDecl = null;
-
+        
+                	ImportDescr importDecl = null;
+                
         try {
             // C:\\dev\\jbossrules\\trunk3\\drools-compiler\\src\\main\\resources\\org\\drools\\lang\\DRL.g:215:4: (imp= IMPORT import_name[importDecl] opt_semicolon )
             // C:\\dev\\jbossrules\\trunk3\\drools-compiler\\src\\main\\resources\\org\\drools\\lang\\DRL.g:215:4: imp= IMPORT import_name[importDecl] opt_semicolon
             {
-                imp = (Token) this.input.LT( 1 );
-                match( this.input,
-                       IMPORT,
-                       FOLLOW_IMPORT_in_import_statement235 );
-                if ( this.failed ) {
-                    return;
-                }
-                if ( this.backtracking == 0 ) {
+            imp=(Token)input.LT(1);
+            match(input,IMPORT,FOLLOW_IMPORT_in_import_statement235); if (failed) return ;
+            if ( backtracking==0 ) {
+              
+              	            importDecl = factory.createImport( );
+              	            importDecl.setStartCharacter( ((CommonToken)imp).getStartIndex() );
+              		    if (packageDescr != null) {
+              			packageDescr.addImport( importDecl );
+              		    }
+              	        
+            }
+            pushFollow(FOLLOW_import_name_in_import_statement258);
+            import_name(importDecl);
+            _fsp--;
+            if (failed) return ;
+            pushFollow(FOLLOW_opt_semicolon_in_import_statement261);
+            opt_semicolon();
+            _fsp--;
+            if (failed) return ;
 
-                    importDecl = this.factory.createImport();
-                    importDecl.setStartCharacter( ((CommonToken) imp).getStartIndex() );
-                    if ( this.packageDescr != null ) {
-                        this.packageDescr.addImport( importDecl );
-                    }
-
-                }
-                pushFollow( FOLLOW_import_name_in_import_statement258 );
-                import_name( importDecl );
-                this._fsp--;
-                if ( this.failed ) {
-                    return;
-                }
-                pushFollow( FOLLOW_opt_semicolon_in_import_statement261 );
-                opt_semicolon();
-                this._fsp--;
-                if ( this.failed ) {
-                    return;
-                }
-
             }
 
-        } catch ( final RecognitionException re ) {
-            reportError( re );
-            recover( this.input,
-                     re );
-        } finally {
         }
-        return;
+        catch (RecognitionException re) {
+            reportError(re);
+            recover(input,re);
+        }
+        finally {
+        }
+        return ;
     }
-
     // $ANTLR end import_statement
 
+
     // $ANTLR start function_import_statement
     // C:\\dev\\jbossrules\\trunk3\\drools-compiler\\src\\main\\resources\\org\\drools\\lang\\DRL.g:226:1: function_import_statement : imp= IMPORT FUNCTION import_name[importDecl] opt_semicolon ;
-    public void function_import_statement() throws RecognitionException {
-        Token imp = null;
+    public final void function_import_statement() throws RecognitionException {
+        Token imp=null;
 
-        FunctionImportDescr importDecl = null;
-
+        
+                	FunctionImportDescr importDecl = null;
+                
         try {
             // C:\\dev\\jbossrules\\trunk3\\drools-compiler\\src\\main\\resources\\org\\drools\\lang\\DRL.g:230:4: (imp= IMPORT FUNCTION import_name[importDecl] opt_semicolon )
             // C:\\dev\\jbossrules\\trunk3\\drools-compiler\\src\\main\\resources\\org\\drools\\lang\\DRL.g:230:4: imp= IMPORT FUNCTION import_name[importDecl] opt_semicolon
             {
-                imp = (Token) this.input.LT( 1 );
-                match( this.input,
-                       IMPORT,
-                       FOLLOW_IMPORT_in_function_import_statement287 );
-                if ( this.failed ) {
-                    return;
-                }
-                match( this.input,
-                       FUNCTION,
-                       FOLLOW_FUNCTION_in_function_import_statement289 );
-                if ( this.failed ) {
-                    return;
-                }
-                if ( this.backtracking == 0 ) {
+            imp=(Token)input.LT(1);
+            match(input,IMPORT,FOLLOW_IMPORT_in_function_import_statement287); if (failed) return ;
+            match(input,FUNCTION,FOLLOW_FUNCTION_in_function_import_statement289); if (failed) return ;
+            if ( backtracking==0 ) {
+              
+              	            importDecl = factory.createFunctionImport();
+              	            importDecl.setStartCharacter( ((CommonToken)imp).getStartIndex() );
+              		    if (packageDescr != null) {
+              			packageDescr.addFunctionImport( importDecl );
+              		    }
+              	        
+            }
+            pushFollow(FOLLOW_import_name_in_function_import_statement312);
+            import_name(importDecl);
+            _fsp--;
+            if (failed) return ;
+            pushFollow(FOLLOW_opt_semicolon_in_function_import_statement315);
+            opt_semicolon();
+            _fsp--;
+            if (failed) return ;
 
-                    importDecl = this.factory.createFunctionImport();
-                    importDecl.setStartCharacter( ((CommonToken) imp).getStartIndex() );
-                    if ( this.packageDescr != null ) {
-                        this.packageDescr.addFunctionImport( importDecl );
-                    }
-
-                }
-                pushFollow( FOLLOW_import_name_in_function_import_statement312 );
-                import_name( importDecl );
-                this._fsp--;
-                if ( this.failed ) {
-                    return;
-                }
-                pushFollow( FOLLOW_opt_semicolon_in_function_import_statement315 );
-                opt_semicolon();
-                this._fsp--;
-                if ( this.failed ) {
-                    return;
-                }
-
             }
 
-        } catch ( final RecognitionException re ) {
-            reportError( re );
-            recover( this.input,
-                     re );
-        } finally {
         }
-        return;
+        catch (RecognitionException re) {
+            reportError(re);
+            recover(input,re);
+        }
+        finally {
+        }
+        return ;
     }
-
     // $ANTLR end function_import_statement
 
+
     // $ANTLR start import_name
-    // C:\\dev\\jbossrules\\trunk3\\drools-compiler\\src\\main\\resources\\org\\drools\\lang\\DRL.g:242:1: import_name[ImportDescr importDecl] returns [String name] : id= identifier ( ( '.' identifier )=> '.' id= identifier )* ( ( '.*' )=>star= '.*' )? ;
-    public String import_name(final ImportDescr importDecl) throws RecognitionException {
+    // C:\\dev\\jbossrules\\trunk3\\drools-compiler\\src\\main\\resources\\org\\drools\\lang\\DRL.g:242:1: import_name[ImportDescr importDecl] returns [String name] : id= identifier ( '.' id= identifier )* (star= '.*' )? ;
+    public final String import_name(ImportDescr importDecl) throws RecognitionException {
         String name = null;
 
-        Token star = null;
+        Token star=null;
         Token id = null;
 
-        name = null;
 
+        
+        		name = null;
+        	
         try {
-            // C:\\dev\\jbossrules\\trunk3\\drools-compiler\\src\\main\\resources\\org\\drools\\lang\\DRL.g:247:3: (id= identifier ( ( '.' identifier )=> '.' id= identifier )* ( ( '.*' )=>star= '.*' )? )
-            // C:\\dev\\jbossrules\\trunk3\\drools-compiler\\src\\main\\resources\\org\\drools\\lang\\DRL.g:247:3: id= identifier ( ( '.' identifier )=> '.' id= identifier )* ( ( '.*' )=>star= '.*' )?
+            // C:\\dev\\jbossrules\\trunk3\\drools-compiler\\src\\main\\resources\\org\\drools\\lang\\DRL.g:247:3: (id= identifier ( '.' id= identifier )* (star= '.*' )? )
+            // C:\\dev\\jbossrules\\trunk3\\drools-compiler\\src\\main\\resources\\org\\drools\\lang\\DRL.g:247:3: id= identifier ( '.' id= identifier )* (star= '.*' )?
             {
-                pushFollow( FOLLOW_identifier_in_import_name343 );
-                id = identifier();
-                this._fsp--;
-                if ( this.failed ) {
-                    return name;
-                }
-                if ( this.backtracking == 0 ) {
+            pushFollow(FOLLOW_identifier_in_import_name343);
+            id=identifier();
+            _fsp--;
+            if (failed) return name;
+            if ( backtracking==0 ) {
+               
+              		    name=id.getText(); 
+              		    importDecl.setTarget( name );
+              		    importDecl.setEndCharacter( ((CommonToken)id).getStopIndex() );
+              		
+            }
+            // C:\\dev\\jbossrules\\trunk3\\drools-compiler\\src\\main\\resources\\org\\drools\\lang\\DRL.g:253:3: ( '.' id= identifier )*
+            loop5:
+            do {
+                int alt5=2;
+                int LA5_0 = input.LA(1);
 
-                    name = id.getText();
-                    importDecl.setTarget( name );
-                    importDecl.setEndCharacter( ((CommonToken) id).getStopIndex() );
-
+                if ( (LA5_0==64) ) {
+                    alt5=1;
                 }
-                // C:\\dev\\jbossrules\\trunk3\\drools-compiler\\src\\main\\resources\\org\\drools\\lang\\DRL.g:253:3: ( ( '.' identifier )=> '.' id= identifier )*
-                loop5 : do {
-                    int alt5 = 2;
-                    final int LA5_0 = this.input.LA( 1 );
-                    if ( (LA5_0 == 64) ) {
-                        alt5 = 1;
-                    }
 
-                    switch ( alt5 ) {
-                        case 1 :
-                            // C:\\dev\\jbossrules\\trunk3\\drools-compiler\\src\\main\\resources\\org\\drools\\lang\\DRL.g:253:5: ( '.' identifier )=> '.' id= identifier
-                        {
-                            match( this.input,
-                                   64,
-                                   FOLLOW_64_in_import_name355 );
-                            if ( this.failed ) {
-                                return name;
-                            }
-                            pushFollow( FOLLOW_identifier_in_import_name359 );
-                            id = identifier();
-                            this._fsp--;
-                            if ( this.failed ) {
-                                return name;
-                            }
-                            if ( this.backtracking == 0 ) {
 
-                                name = name + "." + id.getText();
-                                importDecl.setTarget( name );
-                                importDecl.setEndCharacter( ((CommonToken) id).getStopIndex() );
+                switch (alt5) {
+            	case 1 :
+            	    // C:\\dev\\jbossrules\\trunk3\\drools-compiler\\src\\main\\resources\\org\\drools\\lang\\DRL.g:253:5: '.' id= identifier
+            	    {
+            	    match(input,64,FOLLOW_64_in_import_name355); if (failed) return name;
+            	    pushFollow(FOLLOW_identifier_in_import_name359);
+            	    id=identifier();
+            	    _fsp--;
+            	    if (failed) return name;
+            	    if ( backtracking==0 ) {
+            	       
+            	      		        name = name + "." + id.getText(); 
+            	      			importDecl.setTarget( name );
+            	      		        importDecl.setEndCharacter( ((CommonToken)id).getStopIndex() );
+            	      		    
+            	    }
 
-                            }
+            	    }
+            	    break;
 
-                        }
-                            break;
+            	default :
+            	    break loop5;
+                }
+            } while (true);
 
-                        default :
-                            break loop5;
-                    }
-                } while ( true );
+            // C:\\dev\\jbossrules\\trunk3\\drools-compiler\\src\\main\\resources\\org\\drools\\lang\\DRL.g:260:3: (star= '.*' )?
+            int alt6=2;
+            int LA6_0 = input.LA(1);
 
-                // C:\\dev\\jbossrules\\trunk3\\drools-compiler\\src\\main\\resources\\org\\drools\\lang\\DRL.g:260:3: ( ( '.*' )=>star= '.*' )?
-                int alt6 = 2;
-                final int LA6_0 = this.input.LA( 1 );
-                if ( (LA6_0 == 65) ) {
-                    alt6 = 1;
-                }
-                switch ( alt6 ) {
-                    case 1 :
-                        // C:\\dev\\jbossrules\\trunk3\\drools-compiler\\src\\main\\resources\\org\\drools\\lang\\DRL.g:260:5: ( '.*' )=>star= '.*'
+            if ( (LA6_0==65) ) {
+                alt6=1;
+            }
+            switch (alt6) {
+                case 1 :
+                    // C:\\dev\\jbossrules\\trunk3\\drools-compiler\\src\\main\\resources\\org\\drools\\lang\\DRL.g:260:5: star= '.*'
                     {
-                        star = (Token) this.input.LT( 1 );
-                        match( this.input,
-                               65,
-                               FOLLOW_65_in_import_name383 );
-                        if ( this.failed ) {
-                            return name;
-                        }
-                        if ( this.backtracking == 0 ) {
+                    star=(Token)input.LT(1);
+                    match(input,65,FOLLOW_65_in_import_name383); if (failed) return name;
+                    if ( backtracking==0 ) {
+                       
+                      		        name = name + star.getText(); 
+                      			importDecl.setTarget( name );
+                      		        importDecl.setEndCharacter( ((CommonToken)star).getStopIndex() );
+                      		    
+                    }
 
-                            name = name + star.getText();
-                            importDecl.setTarget( name );
-                            importDecl.setEndCharacter( ((CommonToken) star).getStopIndex() );
-
-                        }
-
                     }
-                        break;
+                    break;
 
-                }
+            }
 
+
             }
 
-        } catch ( final RecognitionException re ) {
-            reportError( re );
-            recover( this.input,
-                     re );
-        } finally {
         }
+        catch (RecognitionException re) {
+            reportError(re);
+            recover(input,re);
+        }
+        finally {
+        }
         return name;
     }
-
     // $ANTLR end import_name
 
+
     // $ANTLR start global
     // C:\\dev\\jbossrules\\trunk3\\drools-compiler\\src\\main\\resources\\org\\drools\\lang\\DRL.g:270:1: global : loc= GLOBAL type= dotted_name[null] id= identifier opt_semicolon ;
-    public void global() throws RecognitionException {
-        Token loc = null;
+    public final void global() throws RecognitionException {
+        Token loc=null;
         String type = null;
 
         Token id = null;
 
-        GlobalDescr global = null;
 
+        
+        	    GlobalDescr global = null;
+        	
         try {
             // C:\\dev\\jbossrules\\trunk3\\drools-compiler\\src\\main\\resources\\org\\drools\\lang\\DRL.g:275:3: (loc= GLOBAL type= dotted_name[null] id= identifier opt_semicolon )
             // C:\\dev\\jbossrules\\trunk3\\drools-compiler\\src\\main\\resources\\org\\drools\\lang\\DRL.g:275:3: loc= GLOBAL type= dotted_name[null] id= identifier opt_semicolon
             {
-                loc = (Token) this.input.LT( 1 );
-                match( this.input,
-                       GLOBAL,
-                       FOLLOW_GLOBAL_in_global419 );
-                if ( this.failed ) {
-                    return;
-                }
-                if ( this.backtracking == 0 ) {
+            loc=(Token)input.LT(1);
+            match(input,GLOBAL,FOLLOW_GLOBAL_in_global419); if (failed) return ;
+            if ( backtracking==0 ) {
+              
+              		    global = factory.createGlobal();
+              	            global.setStartCharacter( ((CommonToken)loc).getStartIndex() );
+              		    packageDescr.addGlobal( global );
+              		
+            }
+            pushFollow(FOLLOW_dotted_name_in_global430);
+            type=dotted_name(null);
+            _fsp--;
+            if (failed) return ;
+            if ( backtracking==0 ) {
+              
+              		    global.setType( type );
+              		
+            }
+            pushFollow(FOLLOW_identifier_in_global442);
+            id=identifier();
+            _fsp--;
+            if (failed) return ;
+            pushFollow(FOLLOW_opt_semicolon_in_global444);
+            opt_semicolon();
+            _fsp--;
+            if (failed) return ;
+            if ( backtracking==0 ) {
+              
+              		    global.setIdentifier( id.getText() );
+              		    global.setEndCharacter( ((CommonToken)id).getStopIndex() );
+              		
+            }
 
-                    global = this.factory.createGlobal();
-                    global.setStartCharacter( ((CommonToken) loc).getStartIndex() );
-                    this.packageDescr.addGlobal( global );
-
-                }
-                pushFollow( FOLLOW_dotted_name_in_global430 );
-                type = dotted_name( null );
-                this._fsp--;
-                if ( this.failed ) {
-                    return;
-                }
-                if ( this.backtracking == 0 ) {
-
-                    global.setType( type );
-
-                }
-                pushFollow( FOLLOW_identifier_in_global442 );
-                id = identifier();
-                this._fsp--;
-                if ( this.failed ) {
-                    return;
-                }
-                pushFollow( FOLLOW_opt_semicolon_in_global444 );
-                opt_semicolon();
-                this._fsp--;
-                if ( this.failed ) {
-                    return;
-                }
-                if ( this.backtracking == 0 ) {
-
-                    global.setIdentifier( id.getText() );
-                    global.setEndCharacter( ((CommonToken) id).getStopIndex() );
-
-                }
-
             }
 
-        } catch ( final RecognitionException re ) {
-            reportError( re );
-            recover( this.input,
-                     re );
-        } finally {
         }
-        return;
+        catch (RecognitionException re) {
+            reportError(re);
+            recover(input,re);
+        }
+        finally {
+        }
+        return ;
     }
-
     // $ANTLR end global
 
+
     // $ANTLR start function
-    // C:\\dev\\jbossrules\\trunk3\\drools-compiler\\src\\main\\resources\\org\\drools\\lang\\DRL.g:293:1: function : loc= FUNCTION ( ( dotted_name[null] )=>retType= dotted_name[null] )? n= identifier '(' ( ( ( ( dotted_name[null] )=> dotted_name[null] )? argument ( ( ',' ( ( dotted_name[null] )=> dotted_name[null] )? argument )=> ',' ( ( dotted_name[null] )=> dotted_name[null] )? argument )* )=> ( ( dotted_name[null] )=>paramType= dotted_name[null] )? paramName= argument ( ( ',' ( ( dotted_name[null] )=> dotted_name[null] )? argument )=> ',' ( ( dotted_name[null] )=>paramType= dotted_name[null] )? paramName= argument )* )? ')' body= curly_chunk[f] ;
-    public void function() throws RecognitionException {
-        Token loc = null;
+    // C:\\dev\\jbossrules\\trunk3\\drools-compiler\\src\\main\\resources\\org\\drools\\lang\\DRL.g:293:1: function : loc= FUNCTION (retType= dotted_name[null] )? n= identifier '(' ( (paramType= dotted_name[null] )? paramName= argument ( ',' (paramType= dotted_name[null] )? paramName= argument )* )? ')' body= curly_chunk[f] ;
+    public final void function() throws RecognitionException {
+        Token loc=null;
         String retType = null;
 
         Token n = null;
@@ -915,4133 +882,3660 @@
 
         String body = null;
 
-        FunctionDescr f = null;
 
+        
+        		FunctionDescr f = null;
+        	
         try {
-            // C:\\dev\\jbossrules\\trunk3\\drools-compiler\\src\\main\\resources\\org\\drools\\lang\\DRL.g:298:3: (loc= FUNCTION ( ( dotted_name[null] )=>retType= dotted_name[null] )? n= identifier '(' ( ( ( ( dotted_name[null] )=> dotted_name[null] )? argument ( ( ',' ( ( dotted_name[null] )=> dotted_name[null] )? argument )=> ',' ( ( dotted_name[null] )=> dotted_name[null] )? argument )* )=> ( ( dotted_name[null] )=>paramType= dotted_name[null] )? paramName= argument ( ( ',' ( ( dotted_name[null] )=> dotted_name[null] )? argument )=> ',' ( ( dotted_name[null] )=>paramType= dotted_name[null] )? paramName= argument )* )? ')' body= curly_chunk[f] )
-            // C:\\dev\\jbossrules\\trunk3\\drools-compiler\\src\\main\\resources\\org\\drools\\lang\\DRL.g:298:3: loc= FUNCTION ( ( dotted_name[null] )=>retType= dotted_name[null] )? n= identifier '(' ( ( ( ( dotted_name[null] )=> dotted_name[null] )? argument ( ( ',' ( ( dotted_name[null] )=> dotted_name[null] )? argument )=> ',' ( ( dotted_name[null] )=> dotted_name[null] )? argument )* )=> ( ( dotted_name[null] )=>paramType= dotted_name[null] )? paramName= argument ( ( ',' ( ( dotted_name[null] )=> dotted_name[null] )? argument )=> ',' ( ( dotted_name[null] )=>paramType= dotted_name[null] )? paramName= argument )* )? ')' body= curly_chunk[f]
+            // C:\\dev\\jbossrules\\trunk3\\drools-compiler\\src\\main\\resources\\org\\drools\\lang\\DRL.g:298:3: (loc= FUNCTION (retType= dotted_name[null] )? n= identifier '(' ( (paramType= dotted_name[null] )? paramName= argument ( ',' (paramType= dotted_name[null] )? paramName= argument )* )? ')' body= curly_chunk[f] )
+            // C:\\dev\\jbossrules\\trunk3\\drools-compiler\\src\\main\\resources\\org\\drools\\lang\\DRL.g:298:3: loc= FUNCTION (retType= dotted_name[null] )? n= identifier '(' ( (paramType= dotted_name[null] )? paramName= argument ( ',' (paramType= dotted_name[null] )? paramName= argument )* )? ')' body= curly_chunk[f]
             {
-                loc = (Token) this.input.LT( 1 );
-                match( this.input,
-                       FUNCTION,
-                       FOLLOW_FUNCTION_in_function471 );
-                if ( this.failed ) {
-                    return;
+            loc=(Token)input.LT(1);
+            match(input,FUNCTION,FOLLOW_FUNCTION_in_function471); if (failed) return ;
+            // C:\\dev\\jbossrules\\trunk3\\drools-compiler\\src\\main\\resources\\org\\drools\\lang\\DRL.g:298:16: (retType= dotted_name[null] )?
+            int alt7=2;
+            int LA7_0 = input.LA(1);
+
+            if ( (LA7_0==ID) ) {
+                int LA7_1 = input.LA(2);
+
+                if ( ((LA7_1>=PACKAGE && LA7_1<=ATTRIBUTES)||LA7_1==ENABLED||LA7_1==SALIENCE||LA7_1==DURATION||(LA7_1>=ACCUMULATE && LA7_1<=OR)||(LA7_1>=CONTAINS && LA7_1<=EXCLUDES)||LA7_1==NULL||LA7_1==LEFT_SQUARE||(LA7_1>=AND && LA7_1<=THEN)||LA7_1==64) ) {
+                    alt7=1;
                 }
-                // C:\\dev\\jbossrules\\trunk3\\drools-compiler\\src\\main\\resources\\org\\drools\\lang\\DRL.g:298:16: ( ( dotted_name[null] )=>retType= dotted_name[null] )?
-                int alt7 = 2;
-                final int LA7_0 = this.input.LA( 1 );
-                if ( (LA7_0 == ID) ) {
-                    final int LA7_1 = this.input.LA( 2 );
-                    if ( ((LA7_1 >= PACKAGE && LA7_1 <= ATTRIBUTES) || LA7_1 == ENABLED || LA7_1 == SALIENCE || LA7_1 == DURATION || (LA7_1 >= ACCUMULATE && LA7_1 <= OR) || (LA7_1 >= CONTAINS && LA7_1 <= EXCLUDES) || LA7_1 == NULL
-                          || LA7_1 == LEFT_SQUARE || (LA7_1 >= AND && LA7_1 <= THEN) || LA7_1 == 64) ) {
-                        alt7 = 1;
-                    }
-                }
-                switch ( alt7 ) {
-                    case 1 :
-                        // C:\\dev\\jbossrules\\trunk3\\drools-compiler\\src\\main\\resources\\org\\drools\\lang\\DRL.g:298:17: ( dotted_name[null] )=>retType= dotted_name[null]
+            }
+            switch (alt7) {
+                case 1 :
+                    // C:\\dev\\jbossrules\\trunk3\\drools-compiler\\src\\main\\resources\\org\\drools\\lang\\DRL.g:298:17: retType= dotted_name[null]
                     {
-                        pushFollow( FOLLOW_dotted_name_in_function476 );
-                        retType = dotted_name( null );
-                        this._fsp--;
-                        if ( this.failed ) {
-                            return;
-                        }
+                    pushFollow(FOLLOW_dotted_name_in_function476);
+                    retType=dotted_name(null);
+                    _fsp--;
+                    if (failed) return ;
 
                     }
-                        break;
+                    break;
 
-                }
+            }
 
-                pushFollow( FOLLOW_identifier_in_function483 );
-                n = identifier();
-                this._fsp--;
-                if ( this.failed ) {
-                    return;
-                }
-                if ( this.backtracking == 0 ) {
+            pushFollow(FOLLOW_identifier_in_function483);
+            n=identifier();
+            _fsp--;
+            if (failed) return ;
+            if ( backtracking==0 ) {
+              
+              			//System.err.println( "function :: " + n.getText() );
+              			f = factory.createFunction( n.getText(), retType );
+              			f.setLocation(offset(loc.getLine()), loc.getCharPositionInLine());
+              	        	f.setStartCharacter( ((CommonToken)loc).getStartIndex() );
+              			packageDescr.addFunction( f );
+              		
+            }
+            match(input,LEFT_PAREN,FOLLOW_LEFT_PAREN_in_function492); if (failed) return ;
+            // C:\\dev\\jbossrules\\trunk3\\drools-compiler\\src\\main\\resources\\org\\drools\\lang\\DRL.g:307:4: ( (paramType= dotted_name[null] )? paramName= argument ( ',' (paramType= dotted_name[null] )? paramName= argument )* )?
+            int alt11=2;
+            int LA11_0 = input.LA(1);
 
-                    //System.err.println( "function :: " + n.getText() );
-                    f = this.factory.createFunction( n.getText(),
-                                                retType );
-                    f.setLocation( offset( loc.getLine() ),
-                                   loc.getCharPositionInLine() );
-                    f.setStartCharacter( ((CommonToken) loc).getStartIndex() );
-                    this.packageDescr.addFunction( f );
-
-                }
-                match( this.input,
-                       LEFT_PAREN,
-                       FOLLOW_LEFT_PAREN_in_function492 );
-                if ( this.failed ) {
-                    return;
-                }
-                // C:\\dev\\jbossrules\\trunk3\\drools-compiler\\src\\main\\resources\\org\\drools\\lang\\DRL.g:307:4: ( ( ( ( dotted_name[null] )=> dotted_name[null] )? argument ( ( ',' ( ( dotted_name[null] )=> dotted_name[null] )? argument )=> ',' ( ( dotted_name[null] )=> dotted_name[null] )? argument )* )=> ( ( dotted_name[null] )=>paramType= dotted_name[null] )? paramName= argument ( ( ',' ( ( dotted_name[null] )=> dotted_name[null] )? argument )=> ',' ( ( dotted_name[null] )=>paramType= dotted_name[null] )? paramName= argument )* )?
-                int alt11 = 2;
-                final int LA11_0 = this.input.LA( 1 );
-                if ( ((LA11_0 >= PACKAGE && LA11_0 <= ATTRIBUTES) || LA11_0 == ENABLED || LA11_0 == SALIENCE || LA11_0 == DURATION || (LA11_0 >= ACCUMULATE && LA11_0 <= OR) || (LA11_0 >= CONTAINS && LA11_0 <= EXCLUDES) || LA11_0 == NULL || (LA11_0 >= AND && LA11_0 <= THEN)) ) {
-                    alt11 = 1;
-                }
-                switch ( alt11 ) {
-                    case 1 :
-                        // C:\\dev\\jbossrules\\trunk3\\drools-compiler\\src\\main\\resources\\org\\drools\\lang\\DRL.g:307:6: ( ( ( dotted_name[null] )=> dotted_name[null] )? argument ( ( ',' ( ( dotted_name[null] )=> dotted_name[null] )? argument )=> ',' ( ( dotted_name[null] )=> dotted_name[null] )? argument )* )=> ( ( dotted_name[null] )=>paramType= dotted_name[null] )? paramName= argument ( ( ',' ( ( dotted_name[null] )=> dotted_name[null] )? argument )=> ',' ( ( dotted_name[null] )=>paramType= dotted_name[null] )? paramName= argument )*
+            if ( ((LA11_0>=PACKAGE && LA11_0<=ATTRIBUTES)||LA11_0==ENABLED||LA11_0==SALIENCE||LA11_0==DURATION||(LA11_0>=ACCUMULATE && LA11_0<=OR)||(LA11_0>=CONTAINS && LA11_0<=EXCLUDES)||LA11_0==NULL||(LA11_0>=AND && LA11_0<=THEN)) ) {
+                alt11=1;
+            }
+            switch (alt11) {
+                case 1 :
+                    // C:\\dev\\jbossrules\\trunk3\\drools-compiler\\src\\main\\resources\\org\\drools\\lang\\DRL.g:307:6: (paramType= dotted_name[null] )? paramName= argument ( ',' (paramType= dotted_name[null] )? paramName= argument )*
                     {
-                        // C:\\dev\\jbossrules\\trunk3\\drools-compiler\\src\\main\\resources\\org\\drools\\lang\\DRL.g:307:6: ( ( dotted_name[null] )=>paramType= dotted_name[null] )?
-                        int alt8 = 2;
-                        alt8 = this.dfa8.predict( this.input );
-                        switch ( alt8 ) {
-                            case 1 :
-                                // C:\\dev\\jbossrules\\trunk3\\drools-compiler\\src\\main\\resources\\org\\drools\\lang\\DRL.g:307:7: ( dotted_name[null] )=>paramType= dotted_name[null]
+                    // C:\\dev\\jbossrules\\trunk3\\drools-compiler\\src\\main\\resources\\org\\drools\\lang\\DRL.g:307:6: (paramType= dotted_name[null] )?
+                    int alt8=2;
+                    alt8 = dfa8.predict(input);
+                    switch (alt8) {
+                        case 1 :
+                            // C:\\dev\\jbossrules\\trunk3\\drools-compiler\\src\\main\\resources\\org\\drools\\lang\\DRL.g:307:7: paramType= dotted_name[null]
                             {
-                                pushFollow( FOLLOW_dotted_name_in_function502 );
-                                paramType = dotted_name( null );
-                                this._fsp--;
-                                if ( this.failed ) {
-                                    return;
-                                }
+                            pushFollow(FOLLOW_dotted_name_in_function502);
+                            paramType=dotted_name(null);
+                            _fsp--;
+                            if (failed) return ;
 
                             }
-                                break;
+                            break;
 
-                        }
+                    }
 
-                        pushFollow( FOLLOW_argument_in_function509 );
-                        paramName = argument();
-                        this._fsp--;
-                        if ( this.failed ) {
-                            return;
-                        }
-                        if ( this.backtracking == 0 ) {
+                    pushFollow(FOLLOW_argument_in_function509);
+                    paramName=argument();
+                    _fsp--;
+                    if (failed) return ;
+                    if ( backtracking==0 ) {
+                      
+                      					f.addParameter( paramType, paramName );
+                      				
+                    }
+                    // C:\\dev\\jbossrules\\trunk3\\drools-compiler\\src\\main\\resources\\org\\drools\\lang\\DRL.g:311:5: ( ',' (paramType= dotted_name[null] )? paramName= argument )*
+                    loop10:
+                    do {
+                        int alt10=2;
+                        int LA10_0 = input.LA(1);
 
-                            f.addParameter( paramType,
-                                            paramName );
-
+                        if ( (LA10_0==66) ) {
+                            alt10=1;
                         }
-                        // C:\\dev\\jbossrules\\trunk3\\drools-compiler\\src\\main\\resources\\org\\drools\\lang\\DRL.g:311:5: ( ( ',' ( ( dotted_name[null] )=> dotted_name[null] )? argument )=> ',' ( ( dotted_name[null] )=>paramType= dotted_name[null] )? paramName= argument )*
-                        loop10 : do {
-                            int alt10 = 2;
-                            final int LA10_0 = this.input.LA( 1 );
-                            if ( (LA10_0 == 66) ) {
-                                alt10 = 1;
-                            }
 
-                            switch ( alt10 ) {
-                                case 1 :
-                                    // C:\\dev\\jbossrules\\trunk3\\drools-compiler\\src\\main\\resources\\org\\drools\\lang\\DRL.g:311:7: ( ',' ( ( dotted_name[null] )=> dotted_name[null] )? argument )=> ',' ( ( dotted_name[null] )=>paramType= dotted_name[null] )? paramName= argument
-                                {
-                                    match( this.input,
-                                           66,
-                                           FOLLOW_66_in_function523 );
-                                    if ( this.failed ) {
-                                        return;
-                                    }
-                                    // C:\\dev\\jbossrules\\trunk3\\drools-compiler\\src\\main\\resources\\org\\drools\\lang\\DRL.g:311:11: ( ( dotted_name[null] )=>paramType= dotted_name[null] )?
-                                    int alt9 = 2;
-                                    alt9 = this.dfa9.predict( this.input );
-                                    switch ( alt9 ) {
-                                        case 1 :
-                                            // C:\\dev\\jbossrules\\trunk3\\drools-compiler\\src\\main\\resources\\org\\drools\\lang\\DRL.g:311:12: ( dotted_name[null] )=>paramType= dotted_name[null]
-                                        {
-                                            pushFollow( FOLLOW_dotted_name_in_function528 );
-                                            paramType = dotted_name( null );
-                                            this._fsp--;
-                                            if ( this.failed ) {
-                                                return;
-                                            }
 
-                                        }
-                                            break;
+                        switch (alt10) {
+                    	case 1 :
+                    	    // C:\\dev\\jbossrules\\trunk3\\drools-compiler\\src\\main\\resources\\org\\drools\\lang\\DRL.g:311:7: ',' (paramType= dotted_name[null] )? paramName= argument
+                    	    {
+                    	    match(input,66,FOLLOW_66_in_function523); if (failed) return ;
+                    	    // C:\\dev\\jbossrules\\trunk3\\drools-compiler\\src\\main\\resources\\org\\drools\\lang\\DRL.g:311:11: (paramType= dotted_name[null] )?
+                    	    int alt9=2;
+                    	    alt9 = dfa9.predict(input);
+                    	    switch (alt9) {
+                    	        case 1 :
+                    	            // C:\\dev\\jbossrules\\trunk3\\drools-compiler\\src\\main\\resources\\org\\drools\\lang\\DRL.g:311:12: paramType= dotted_name[null]
+                    	            {
+                    	            pushFollow(FOLLOW_dotted_name_in_function528);
+                    	            paramType=dotted_name(null);
+                    	            _fsp--;
+                    	            if (failed) return ;
 
-                                    }
+                    	            }
+                    	            break;
 
-                                    pushFollow( FOLLOW_argument_in_function535 );
-                                    paramName = argument();
-                                    this._fsp--;
-                                    if ( this.failed ) {
-                                        return;
-                                    }
-                                    if ( this.backtracking == 0 ) {
+                    	    }
 
-                                        f.addParameter( paramType,
-                                                        paramName );
+                    	    pushFollow(FOLLOW_argument_in_function535);
+                    	    paramName=argument();
+                    	    _fsp--;
+                    	    if (failed) return ;
+                    	    if ( backtracking==0 ) {
+                    	      
+                    	      						f.addParameter( paramType, paramName );
+                    	      					
+                    	    }
 
-                                    }
+                    	    }
+                    	    break;
 
-                                }
-                                    break;
+                    	default :
+                    	    break loop10;
+                        }
+                    } while (true);
 
-                                default :
-                                    break loop10;
-                            }
-                        } while ( true );
 
                     }
-                        break;
+                    break;
 
-                }
+            }
 
-                match( this.input,
-                       RIGHT_PAREN,
-                       FOLLOW_RIGHT_PAREN_in_function559 );
-                if ( this.failed ) {
-                    return;
-                }
-                pushFollow( FOLLOW_curly_chunk_in_function565 );
-                body = curly_chunk( f );
-                this._fsp--;
-                if ( this.failed ) {
-                    return;
-                }
-                if ( this.backtracking == 0 ) {
+            match(input,RIGHT_PAREN,FOLLOW_RIGHT_PAREN_in_function559); if (failed) return ;
+            pushFollow(FOLLOW_curly_chunk_in_function565);
+            body=curly_chunk(f);
+            _fsp--;
+            if (failed) return ;
+            if ( backtracking==0 ) {
+              
+              			//strip out '{','}'
+              			f.setText( body.substring( 1, body.length()-1 ) );
+              		
+            }
 
-                    //strip out '{','}'
-                    f.setText( body.substring( 1,
-                                               body.length() - 1 ) );
-
-                }
-
             }
 
-        } catch ( final RecognitionException re ) {
-            reportError( re );
-            recover( this.input,
-                     re );
-        } finally {
         }
-        return;
+        catch (RecognitionException re) {
+            reportError(re);
+            recover(input,re);
+        }
+        finally {
+        }
+        return ;
     }
-
     // $ANTLR end function
 
+
     // $ANTLR start query
     // C:\\dev\\jbossrules\\trunk3\\drools-compiler\\src\\main\\resources\\org\\drools\\lang\\DRL.g:327:1: query returns [QueryDescr query] : loc= QUERY queryName= name ( normal_lhs_block[lhs] ) loc= END ;
-    public QueryDescr query() throws RecognitionException {
+    public final QueryDescr query() throws RecognitionException {
         QueryDescr query = null;
 
-        Token loc = null;
+        Token loc=null;
         String queryName = null;
 
-        query = null;
-        AndDescr lhs = null;
 
+        
+        		query = null;
+        		AndDescr lhs = null;
+        	
         try {
             // C:\\dev\\jbossrules\\trunk3\\drools-compiler\\src\\main\\resources\\org\\drools\\lang\\DRL.g:333:3: (loc= QUERY queryName= name ( normal_lhs_block[lhs] ) loc= END )
             // C:\\dev\\jbossrules\\trunk3\\drools-compiler\\src\\main\\resources\\org\\drools\\lang\\DRL.g:333:3: loc= QUERY queryName= name ( normal_lhs_block[lhs] ) loc= END
             {
-                loc = (Token) this.input.LT( 1 );
-                match( this.input,
-                       QUERY,
-                       FOLLOW_QUERY_in_query597 );
-                if ( this.failed ) {
-                    return query;
-                }
-                pushFollow( FOLLOW_name_in_query601 );
-                queryName = name();
-                this._fsp--;
-                if ( this.failed ) {
-                    return query;
-                }
-                if ( this.backtracking == 0 ) {
+            loc=(Token)input.LT(1);
+            match(input,QUERY,FOLLOW_QUERY_in_query597); if (failed) return query;
+            pushFollow(FOLLOW_name_in_query601);
+            queryName=name();
+            _fsp--;
+            if (failed) return query;
+            if ( backtracking==0 ) {
+               
+              			query = factory.createQuery( queryName ); 
+              			query.setLocation( offset(loc.getLine()), loc.getCharPositionInLine() );
+              			query.setStartCharacter( ((CommonToken)loc).getStartIndex() );
+              			lhs = new AndDescr(); query.setLhs( lhs ); 
+              			lhs.setLocation( offset(loc.getLine()), loc.getCharPositionInLine() );
+              		
+            }
+            // C:\\dev\\jbossrules\\trunk3\\drools-compiler\\src\\main\\resources\\org\\drools\\lang\\DRL.g:341:3: ( normal_lhs_block[lhs] )
+            // C:\\dev\\jbossrules\\trunk3\\drools-compiler\\src\\main\\resources\\org\\drools\\lang\\DRL.g:342:4: normal_lhs_block[lhs]
+            {
+            pushFollow(FOLLOW_normal_lhs_block_in_query614);
+            normal_lhs_block(lhs);
+            _fsp--;
+            if (failed) return query;
 
-                    query = this.factory.createQuery( queryName );
-                    query.setLocation( offset( loc.getLine() ),
-                                       loc.getCharPositionInLine() );
-                    query.setStartCharacter( ((CommonToken) loc).getStartIndex() );
-                    lhs = new AndDescr();
-                    query.setLhs( lhs );
-                    lhs.setLocation( offset( loc.getLine() ),
-                                     loc.getCharPositionInLine() );
+            }
 
-                }
-                // C:\\dev\\jbossrules\\trunk3\\drools-compiler\\src\\main\\resources\\org\\drools\\lang\\DRL.g:341:3: ( normal_lhs_block[lhs] )
-                // C:\\dev\\jbossrules\\trunk3\\drools-compiler\\src\\main\\resources\\org\\drools\\lang\\DRL.g:342:4: normal_lhs_block[lhs]
-                {
-                    pushFollow( FOLLOW_normal_lhs_block_in_query614 );
-                    normal_lhs_block( lhs );
-                    this._fsp--;
-                    if ( this.failed ) {
-                        return query;
-                    }
+            loc=(Token)input.LT(1);
+            match(input,END,FOLLOW_END_in_query631); if (failed) return query;
+            if ( backtracking==0 ) {
+              
+              			query.setEndCharacter( ((CommonToken)loc).getStopIndex() );
+              		
+            }
 
-                }
-
-                loc = (Token) this.input.LT( 1 );
-                match( this.input,
-                       END,
-                       FOLLOW_END_in_query631 );
-                if ( this.failed ) {
-                    return query;
-                }
-                if ( this.backtracking == 0 ) {
-
-                    query.setEndCharacter( ((CommonToken) loc).getStopIndex() );
-
-                }
-
             }
 
-        } catch ( final RecognitionException re ) {
-            reportError( re );
-            recover( this.input,
-                     re );
-        } finally {
         }
+        catch (RecognitionException re) {
+            reportError(re);
+            recover(input,re);
+        }
+        finally {
+        }
         return query;
     }
-
     // $ANTLR end query
 
+
     // $ANTLR start template
-    // C:\\dev\\jbossrules\\trunk3\\drools-compiler\\src\\main\\resources\\org\\drools\\lang\\DRL.g:352:1: template returns [FactTemplateDescr template] : loc= TEMPLATE templateName= identifier opt_semicolon ( ( template_slot )=>slot= template_slot )+ loc= END opt_semicolon ;
-    public FactTemplateDescr template() throws RecognitionException {
+    // C:\\dev\\jbossrules\\trunk3\\drools-compiler\\src\\main\\resources\\org\\drools\\lang\\DRL.g:352:1: template returns [FactTemplateDescr template] : loc= TEMPLATE templateName= identifier opt_semicolon (slot= template_slot )+ loc= END opt_semicolon ;
+    public final FactTemplateDescr template() throws RecognitionException {
         FactTemplateDescr template = null;
 
-        Token loc = null;
+        Token loc=null;
         Token templateName = null;
 
         FieldTemplateDescr slot = null;
 
-        template = null;
 
+        
+        		template = null;		
+        	
         try {
-            // C:\\dev\\jbossrules\\trunk3\\drools-compiler\\src\\main\\resources\\org\\drools\\lang\\DRL.g:357:3: (loc= TEMPLATE templateName= identifier opt_semicolon ( ( template_slot )=>slot= template_slot )+ loc= END opt_semicolon )
-            // C:\\dev\\jbossrules\\trunk3\\drools-compiler\\src\\main\\resources\\org\\drools\\lang\\DRL.g:357:3: loc= TEMPLATE templateName= identifier opt_semicolon ( ( template_slot )=>slot= template_slot )+ loc= END opt_semicolon
+            // C:\\dev\\jbossrules\\trunk3\\drools-compiler\\src\\main\\resources\\org\\drools\\lang\\DRL.g:357:3: (loc= TEMPLATE templateName= identifier opt_semicolon (slot= template_slot )+ loc= END opt_semicolon )
+            // C:\\dev\\jbossrules\\trunk3\\drools-compiler\\src\\main\\resources\\org\\drools\\lang\\DRL.g:357:3: loc= TEMPLATE templateName= identifier opt_semicolon (slot= template_slot )+ loc= END opt_semicolon
             {
-                loc = (Token) this.input.LT( 1 );
-                match( this.input,
-                       TEMPLATE,
-                       FOLLOW_TEMPLATE_in_template661 );
-                if ( this.failed ) {
-                    return template;
-                }
-                pushFollow( FOLLOW_identifier_in_template665 );
-                templateName = identifier();
-                this._fsp--;
-                if ( this.failed ) {
-                    return template;
-                }
-                pushFollow( FOLLOW_opt_semicolon_in_template667 );
-                opt_semicolon();
-                this._fsp--;
-                if ( this.failed ) {
-                    return template;
-                }
-                if ( this.backtracking == 0 ) {
+            loc=(Token)input.LT(1);
+            match(input,TEMPLATE,FOLLOW_TEMPLATE_in_template661); if (failed) return template;
+            pushFollow(FOLLOW_identifier_in_template665);
+            templateName=identifier();
+            _fsp--;
+            if (failed) return template;
+            pushFollow(FOLLOW_opt_semicolon_in_template667);
+            opt_semicolon();
+            _fsp--;
+            if (failed) return template;
+            if ( backtracking==0 ) {
+              
+              			template = new FactTemplateDescr(templateName.getText());
+              			template.setLocation( offset(loc.getLine()), loc.getCharPositionInLine() );			
+              			template.setStartCharacter( ((CommonToken)loc).getStartIndex() );
+              		
+            }
+            // C:\\dev\\jbossrules\\trunk3\\drools-compiler\\src\\main\\resources\\org\\drools\\lang\\DRL.g:363:3: (slot= template_slot )+
+            int cnt12=0;
+            loop12:
+            do {
+                int alt12=2;
+                int LA12_0 = input.LA(1);
 
-                    template = new FactTemplateDescr( templateName.getText() );
-                    template.setLocation( offset( loc.getLine() ),
-                                          loc.getCharPositionInLine() );
-                    template.setStartCharacter( ((CommonToken) loc).getStartIndex() );
-
+                if ( (LA12_0==ID) ) {
+                    alt12=1;
                 }
-                // C:\\dev\\jbossrules\\trunk3\\drools-compiler\\src\\main\\resources\\org\\drools\\lang\\DRL.g:363:3: ( ( template_slot )=>slot= template_slot )+
-                int cnt12 = 0;
-                loop12 : do {
-                    int alt12 = 2;
-                    final int LA12_0 = this.input.LA( 1 );
-                    if ( (LA12_0 == ID) ) {
-                        alt12 = 1;
-                    }
 
-                    switch ( alt12 ) {
-                        case 1 :
-                            // C:\\dev\\jbossrules\\trunk3\\drools-compiler\\src\\main\\resources\\org\\drools\\lang\\DRL.g:364:4: ( template_slot )=>slot= template_slot
-                        {
-                            pushFollow( FOLLOW_template_slot_in_template682 );
-                            slot = template_slot();
-                            this._fsp--;
-                            if ( this.failed ) {
-                                return template;
-                            }
-                            if ( this.backtracking == 0 ) {
 
-                                template.addFieldTemplate( slot );
+                switch (alt12) {
+            	case 1 :
+            	    // C:\\dev\\jbossrules\\trunk3\\drools-compiler\\src\\main\\resources\\org\\drools\\lang\\DRL.g:364:4: slot= template_slot
+            	    {
+            	    pushFollow(FOLLOW_template_slot_in_template682);
+            	    slot=template_slot();
+            	    _fsp--;
+            	    if (failed) return template;
+            	    if ( backtracking==0 ) {
+            	      
+            	      				template.addFieldTemplate(slot);
+            	      			
+            	    }
 
-                            }
+            	    }
+            	    break;
 
-                        }
-                            break;
-
-                        default :
-                            if ( cnt12 >= 1 ) {
-                                break loop12;
-                            }
-                            if ( this.backtracking > 0 ) {
-                                this.failed = true;
-                                return template;
-                            }
-                            final EarlyExitException eee = new EarlyExitException( 12,
-                                                                             this.input );
-                            throw eee;
-                    }
-                    cnt12++;
-                } while ( true );
-
-                loc = (Token) this.input.LT( 1 );
-                match( this.input,
-                       END,
-                       FOLLOW_END_in_template699 );
-                if ( this.failed ) {
-                    return template;
+            	default :
+            	    if ( cnt12 >= 1 ) break loop12;
+            	    if (backtracking>0) {failed=true; return template;}
+                        EarlyExitException eee =
+                            new EarlyExitException(12, input);
+                        throw eee;
                 }
-                pushFollow( FOLLOW_opt_semicolon_in_template701 );
-                opt_semicolon();
-                this._fsp--;
-                if ( this.failed ) {
-                    return template;
-                }
-                if ( this.backtracking == 0 ) {
+                cnt12++;
+            } while (true);
 
-                    template.setEndCharacter( ((CommonToken) loc).getStopIndex() );
+            loc=(Token)input.LT(1);
+            match(input,END,FOLLOW_END_in_template699); if (failed) return template;
+            pushFollow(FOLLOW_opt_semicolon_in_template701);
+            opt_semicolon();
+            _fsp--;
+            if (failed) return template;
+            if ( backtracking==0 ) {
+              
+              			template.setEndCharacter( ((CommonToken)loc).getStopIndex() );
+              		
+            }
 
-                }
-
             }
 
-        } catch ( final RecognitionException re ) {
-            reportError( re );
-            recover( this.input,
-                     re );
-        } finally {
         }
+        catch (RecognitionException re) {
+            reportError(re);
+            recover(input,re);
+        }
+        finally {
+        }
         return template;
     }
-
     // $ANTLR end template
 
+
     // $ANTLR start template_slot
     // C:\\dev\\jbossrules\\trunk3\\drools-compiler\\src\\main\\resources\\org\\drools\\lang\\DRL.g:375:1: template_slot returns [FieldTemplateDescr field] : fieldType= dotted_name[field] n= identifier opt_semicolon ;
-    public FieldTemplateDescr template_slot() throws RecognitionException {
+    public final FieldTemplateDescr template_slot() throws RecognitionException {
         FieldTemplateDescr field = null;
 
         String fieldType = null;
 
         Token n = null;
 
-        field = null;
 
+        
+        		field = null;
+        	
         try {
             // C:\\dev\\jbossrules\\trunk3\\drools-compiler\\src\\main\\resources\\org\\drools\\lang\\DRL.g:380:11: (fieldType= dotted_name[field] n= identifier opt_semicolon )
             // C:\\dev\\jbossrules\\trunk3\\drools-compiler\\src\\main\\resources\\org\\drools\\lang\\DRL.g:380:11: fieldType= dotted_name[field] n= identifier opt_semicolon
             {
-                if ( this.backtracking == 0 ) {
+            if ( backtracking==0 ) {
+              
+              			field = factory.createFieldTemplate();
+              	         
+            }
+            pushFollow(FOLLOW_dotted_name_in_template_slot747);
+            fieldType=dotted_name(field);
+            _fsp--;
+            if (failed) return field;
+            if ( backtracking==0 ) {
+              
+              		        field.setClassType( fieldType );
+              		 
+            }
+            pushFollow(FOLLOW_identifier_in_template_slot765);
+            n=identifier();
+            _fsp--;
+            if (failed) return field;
+            pushFollow(FOLLOW_opt_semicolon_in_template_slot767);
+            opt_semicolon();
+            _fsp--;
+            if (failed) return field;
+            if ( backtracking==0 ) {
+              
+              		        field.setName( n.getText() );
+              			field.setLocation( offset(n.getLine()), n.getCharPositionInLine() );
+              			field.setEndCharacter( ((CommonToken)n).getStopIndex() );
+              		 
+            }
 
-                    field = this.factory.createFieldTemplate();
-
-                }
-                pushFollow( FOLLOW_dotted_name_in_template_slot747 );
-                fieldType = dotted_name( field );
-                this._fsp--;
-                if ( this.failed ) {
-                    return field;
-                }
-                if ( this.backtracking == 0 ) {
-
-                    field.setClassType( fieldType );
-
-                }
-                pushFollow( FOLLOW_identifier_in_template_slot765 );
-                n = identifier();
-                this._fsp--;
-                if ( this.failed ) {
-                    return field;
-                }
-                pushFollow( FOLLOW_opt_semicolon_in_template_slot767 );
-                opt_semicolon();
-                this._fsp--;
-                if ( this.failed ) {
-                    return field;
-                }
-                if ( this.backtracking == 0 ) {
-
-                    field.setName( n.getText() );
-                    field.setLocation( offset( n.getLine() ),
-                                       n.getCharPositionInLine() );
-                    field.setEndCharacter( ((CommonToken) n).getStopIndex() );
-
-                }
-
             }
 
-        } catch ( final RecognitionException re ) {
-            reportError( re );
-            recover( this.input,
-                     re );
-        } finally {
         }
+        catch (RecognitionException re) {
+            reportError(re);
+            recover(input,re);
+        }
+        finally {
+        }
         return field;
     }
-
     // $ANTLR end template_slot
 
+
     // $ANTLR start rule
-    // C:\\dev\\jbossrules\\trunk3\\drools-compiler\\src\\main\\resources\\org\\drools\\lang\\DRL.g:396:1: rule returns [RuleDescr rule] : loc= RULE ruleName= name rule_attributes[rule] ( ( WHEN ( ( ':' )=> ':' )? ( normal_lhs_block[lhs] ) )=>loc= WHEN ( ( ':' )=> ':' )? ( normal_lhs_block[lhs] ) )? rhs_chunk[rule] ;
-    public RuleDescr rule() throws RecognitionException {
+    // C:\\dev\\jbossrules\\trunk3\\drools-compiler\\src\\main\\resources\\org\\drools\\lang\\DRL.g:396:1: rule returns [RuleDescr rule] : loc= RULE ruleName= name rule_attributes[rule] (loc= WHEN ( ':' )? ( normal_lhs_block[lhs] ) )? rhs_chunk[rule] ;
+    public final RuleDescr rule() throws RecognitionException {
         RuleDescr rule = null;
 
-        Token loc = null;
+        Token loc=null;
         String ruleName = null;
 
-        rule = null;
-        final String consequence = "";
-        AndDescr lhs = null;
 
+        
+        		rule = null;
+        		String consequence = "";
+        		AndDescr lhs = null;
+        	
         try {
-            // C:\\dev\\jbossrules\\trunk3\\drools-compiler\\src\\main\\resources\\org\\drools\\lang\\DRL.g:403:3: (loc= RULE ruleName= name rule_attributes[rule] ( ( WHEN ( ( ':' )=> ':' )? ( normal_lhs_block[lhs] ) )=>loc= WHEN ( ( ':' )=> ':' )? ( normal_lhs_block[lhs] ) )? rhs_chunk[rule] )
-            // C:\\dev\\jbossrules\\trunk3\\drools-compiler\\src\\main\\resources\\org\\drools\\lang\\DRL.g:403:3: loc= RULE ruleName= name rule_attributes[rule] ( ( WHEN ( ( ':' )=> ':' )? ( normal_lhs_block[lhs] ) )=>loc= WHEN ( ( ':' )=> ':' )? ( normal_lhs_block[lhs] ) )? rhs_chunk[rule]
+            // C:\\dev\\jbossrules\\trunk3\\drools-compiler\\src\\main\\resources\\org\\drools\\lang\\DRL.g:403:3: (loc= RULE ruleName= name rule_attributes[rule] (loc= WHEN ( ':' )? ( normal_lhs_block[lhs] ) )? rhs_chunk[rule] )
+            // C:\\dev\\jbossrules\\trunk3\\drools-compiler\\src\\main\\resources\\org\\drools\\lang\\DRL.g:403:3: loc= RULE ruleName= name rule_attributes[rule] (loc= WHEN ( ':' )? ( normal_lhs_block[lhs] ) )? rhs_chunk[rule]
             {
-                loc = (Token) this.input.LT( 1 );
-                match( this.input,
-                       RULE,
-                       FOLLOW_RULE_in_rule800 );
-                if ( this.failed ) {
-                    return rule;
-                }
-                pushFollow( FOLLOW_name_in_rule804 );
-                ruleName = name();
-                this._fsp--;
-                if ( this.failed ) {
-                    return rule;
-                }
-                if ( this.backtracking == 0 ) {
+            loc=(Token)input.LT(1);
+            match(input,RULE,FOLLOW_RULE_in_rule800); if (failed) return rule;
+            pushFollow(FOLLOW_name_in_rule804);
+            ruleName=name();
+            _fsp--;
+            if (failed) return rule;
+            if ( backtracking==0 ) {
+               
+              			debug( "start rule: " + ruleName );
+              			rule = new RuleDescr( ruleName, null ); 
+              			rule.setLocation( offset(loc.getLine()), loc.getCharPositionInLine() );
+              			rule.setStartCharacter( ((CommonToken)loc).getStartIndex() );
+              		
+            }
+            pushFollow(FOLLOW_rule_attributes_in_rule813);
+            rule_attributes(rule);
+            _fsp--;
+            if (failed) return rule;
+            // C:\\dev\\jbossrules\\trunk3\\drools-compiler\\src\\main\\resources\\org\\drools\\lang\\DRL.g:411:3: (loc= WHEN ( ':' )? ( normal_lhs_block[lhs] ) )?
+            int alt14=2;
+            int LA14_0 = input.LA(1);
 
-                    debug( "start rule: " + ruleName );
-                    rule = new RuleDescr( ruleName,
-                                          null );
-                    rule.setLocation( offset( loc.getLine() ),
-                                      loc.getCharPositionInLine() );
-                    rule.setStartCharacter( ((CommonToken) loc).getStartIndex() );
-
-                }
-                pushFollow( FOLLOW_rule_attributes_in_rule813 );
-                rule_attributes( rule );
-                this._fsp--;
-                if ( this.failed ) {
-                    return rule;
-                }
-                // C:\\dev\\jbossrules\\trunk3\\drools-compiler\\src\\main\\resources\\org\\drools\\lang\\DRL.g:411:3: ( ( WHEN ( ( ':' )=> ':' )? ( normal_lhs_block[lhs] ) )=>loc= WHEN ( ( ':' )=> ':' )? ( normal_lhs_block[lhs] ) )?
-                int alt14 = 2;
-                final int LA14_0 = this.input.LA( 1 );
-                if ( (LA14_0 == WHEN) ) {
-                    alt14 = 1;
-                }
-                switch ( alt14 ) {
-                    case 1 :
-                        // C:\\dev\\jbossrules\\trunk3\\drools-compiler\\src\\main\\resources\\org\\drools\\lang\\DRL.g:411:5: ( WHEN ( ( ':' )=> ':' )? ( normal_lhs_block[lhs] ) )=>loc= WHEN ( ( ':' )=> ':' )? ( normal_lhs_block[lhs] )
+            if ( (LA14_0==WHEN) ) {
+                alt14=1;
+            }
+            switch (alt14) {
+                case 1 :
+                    // C:\\dev\\jbossrules\\trunk3\\drools-compiler\\src\\main\\resources\\org\\drools\\lang\\DRL.g:411:5: loc= WHEN ( ':' )? ( normal_lhs_block[lhs] )
                     {
-                        loc = (Token) this.input.LT( 1 );
-                        match( this.input,
-                               WHEN,
-                               FOLLOW_WHEN_in_rule822 );
-                        if ( this.failed ) {
-                            return rule;
-                        }
-                        // C:\\dev\\jbossrules\\trunk3\\drools-compiler\\src\\main\\resources\\org\\drools\\lang\\DRL.g:411:14: ( ( ':' )=> ':' )?
-                        int alt13 = 2;
-                        final int LA13_0 = this.input.LA( 1 );
-                        if ( (LA13_0 == 67) ) {
-                            alt13 = 1;
-                        }
-                        switch ( alt13 ) {
-                            case 1 :
-                                // C:\\dev\\jbossrules\\trunk3\\drools-compiler\\src\\main\\resources\\org\\drools\\lang\\DRL.g:0:0: ( ':' )=> ':'
+                    loc=(Token)input.LT(1);
+                    match(input,WHEN,FOLLOW_WHEN_in_rule822); if (failed) return rule;
+                    // C:\\dev\\jbossrules\\trunk3\\drools-compiler\\src\\main\\resources\\org\\drools\\lang\\DRL.g:411:14: ( ':' )?
+                    int alt13=2;
+                    int LA13_0 = input.LA(1);
+
+                    if ( (LA13_0==67) ) {
+                        alt13=1;
+                    }
+                    switch (alt13) {
+                        case 1 :
+                            // C:\\dev\\jbossrules\\trunk3\\drools-compiler\\src\\main\\resources\\org\\drools\\lang\\DRL.g:0:0: ':'
                             {
-                                match( this.input,
-                                       67,
-                                       FOLLOW_67_in_rule824 );
-                                if ( this.failed ) {
-                                    return rule;
-                                }
+                            match(input,67,FOLLOW_67_in_rule824); if (failed) return rule;
 
                             }
-                                break;
+                            break;
 
-                        }
+                    }
 
-                        if ( this.backtracking == 0 ) {
+                    if ( backtracking==0 ) {
+                       
+                      				lhs = new AndDescr(); rule.setLhs( lhs ); 
+                      				lhs.setLocation( offset(loc.getLine()), loc.getCharPositionInLine() );
+                      				lhs.setStartCharacter( ((CommonToken)loc).getStartIndex() );
+                      			
+                    }
+                    // C:\\dev\\jbossrules\\trunk3\\drools-compiler\\src\\main\\resources\\org\\drools\\lang\\DRL.g:417:4: ( normal_lhs_block[lhs] )
+                    // C:\\dev\\jbossrules\\trunk3\\drools-compiler\\src\\main\\resources\\org\\drools\\lang\\DRL.g:419:5: normal_lhs_block[lhs]
+                    {
+                    pushFollow(FOLLOW_normal_lhs_block_in_rule842);
+                    normal_lhs_block(lhs);
+                    _fsp--;
+                    if (failed) return rule;
 
-                            lhs = new AndDescr();
-                            rule.setLhs( lhs );
-                            lhs.setLocation( offset( loc.getLine() ),
-                                             loc.getCharPositionInLine() );
-                            lhs.setStartCharacter( ((CommonToken) loc).getStartIndex() );
+                    }
 
-                        }
-                        // C:\\dev\\jbossrules\\trunk3\\drools-compiler\\src\\main\\resources\\org\\drools\\lang\\DRL.g:417:4: ( normal_lhs_block[lhs] )
-                        // C:\\dev\\jbossrules\\trunk3\\drools-compiler\\src\\main\\resources\\org\\drools\\lang\\DRL.g:419:5: normal_lhs_block[lhs]
-                        {
-                            pushFollow( FOLLOW_normal_lhs_block_in_rule842 );
-                            normal_lhs_block( lhs );
-                            this._fsp--;
-                            if ( this.failed ) {
-                                return rule;
-                            }
 
-                        }
-
                     }
-                        break;
+                    break;
 
-                }
+            }
 
-                pushFollow( FOLLOW_rhs_chunk_in_rule863 );
-                rhs_chunk( rule );
-                this._fsp--;
-                if ( this.failed ) {
-                    return rule;
-                }
+            pushFollow(FOLLOW_rhs_chunk_in_rule863);
+            rhs_chunk(rule);
+            _fsp--;
+            if (failed) return rule;
 
             }
 
-        } catch ( final RecognitionException re ) {
-            reportError( re );
-            recover( this.input,
-                     re );
-        } finally {
         }
+        catch (RecognitionException re) {
+            reportError(re);
+            recover(input,re);
+        }
+        finally {
+        }
         return rule;
     }
-
     // $ANTLR end rule
 
+
     // $ANTLR start rule_attributes
-    // C:\\dev\\jbossrules\\trunk3\\drools-compiler\\src\\main\\resources\\org\\drools\\lang\\DRL.g:428:1: rule_attributes[RuleDescr rule] : ( ( ATTRIBUTES ':' )=> ATTRIBUTES ':' )? ( ( ( ( ',' )=> ',' )? rule_attribute )=> ( ( ',' )=> ',' )? a= rule_attribute )* ;
-    public void rule_attributes(final RuleDescr rule) throws RecognitionException {
+    // C:\\dev\\jbossrules\\trunk3\\drools-compiler\\src\\main\\resources\\org\\drools\\lang\\DRL.g:428:1: rule_attributes[RuleDescr rule] : ( ATTRIBUTES ':' )? ( ( ',' )? a= rule_attribute )* ;
+    public final void rule_attributes(RuleDescr rule) throws RecognitionException {
         AttributeDescr a = null;
 
+
         try {
-            // C:\\dev\\jbossrules\\trunk3\\drools-compiler\\src\\main\\resources\\org\\drools\\lang\\DRL.g:430:4: ( ( ( ATTRIBUTES ':' )=> ATTRIBUTES ':' )? ( ( ( ( ',' )=> ',' )? rule_attribute )=> ( ( ',' )=> ',' )? a= rule_attribute )* )
-            // C:\\dev\\jbossrules\\trunk3\\drools-compiler\\src\\main\\resources\\org\\drools\\lang\\DRL.g:430:4: ( ( ATTRIBUTES ':' )=> ATTRIBUTES ':' )? ( ( ( ( ',' )=> ',' )? rule_attribute )=> ( ( ',' )=> ',' )? a= rule_attribute )*
+            // C:\\dev\\jbossrules\\trunk3\\drools-compiler\\src\\main\\resources\\org\\drools\\lang\\DRL.g:430:4: ( ( ATTRIBUTES ':' )? ( ( ',' )? a= rule_attribute )* )
+            // C:\\dev\\jbossrules\\trunk3\\drools-compiler\\src\\main\\resources\\org\\drools\\lang\\DRL.g:430:4: ( ATTRIBUTES ':' )? ( ( ',' )? a= rule_attribute )*
             {
-                // C:\\dev\\jbossrules\\trunk3\\drools-compiler\\src\\main\\resources\\org\\drools\\lang\\DRL.g:430:4: ( ( ATTRIBUTES ':' )=> ATTRIBUTES ':' )?
-                int alt15 = 2;
-                final int LA15_0 = this.input.LA( 1 );
-                if ( (LA15_0 == ATTRIBUTES) ) {
-                    alt15 = 1;
-                }
-                switch ( alt15 ) {
-                    case 1 :
-                        // C:\\dev\\jbossrules\\trunk3\\drools-compiler\\src\\main\\resources\\org\\drools\\lang\\DRL.g:430:5: ( ATTRIBUTES ':' )=> ATTRIBUTES ':'
+            // C:\\dev\\jbossrules\\trunk3\\drools-compiler\\src\\main\\resources\\org\\drools\\lang\\DRL.g:430:4: ( ATTRIBUTES ':' )?
+            int alt15=2;
+            int LA15_0 = input.LA(1);
+
+            if ( (LA15_0==ATTRIBUTES) ) {
+                alt15=1;
+            }
+            switch (alt15) {
+                case 1 :
+                    // C:\\dev\\jbossrules\\trunk3\\drools-compiler\\src\\main\\resources\\org\\drools\\lang\\DRL.g:430:5: ATTRIBUTES ':'
                     {
-                        match( this.input,
-                               ATTRIBUTES,
-                               FOLLOW_ATTRIBUTES_in_rule_attributes884 );
-                        if ( this.failed ) {
-                            return;
-                        }
-                        match( this.input,
-                               67,
-                               FOLLOW_67_in_rule_attributes886 );
-                        if ( this.failed ) {
-                            return;
-                        }
+                    match(input,ATTRIBUTES,FOLLOW_ATTRIBUTES_in_rule_attributes884); if (failed) return ;
+                    match(input,67,FOLLOW_67_in_rule_attributes886); if (failed) return ;
 
                     }
-                        break;
+                    break;
 
+            }
+
+            // C:\\dev\\jbossrules\\trunk3\\drools-compiler\\src\\main\\resources\\org\\drools\\lang\\DRL.g:431:4: ( ( ',' )? a= rule_attribute )*
+            loop17:
+            do {
+                int alt17=2;
+                int LA17_0 = input.LA(1);
+
+                if ( (LA17_0==DATE_EFFECTIVE||(LA17_0>=DATE_EXPIRES && LA17_0<=ENABLED)||LA17_0==SALIENCE||(LA17_0>=NO_LOOP && LA17_0<=LOCK_ON_ACTIVE)||LA17_0==66) ) {
+                    alt17=1;
                 }
 
-                // C:\\dev\\jbossrules\\trunk3\\drools-compiler\\src\\main\\resources\\org\\drools\\lang\\DRL.g:431:4: ( ( ( ( ',' )=> ',' )? rule_attribute )=> ( ( ',' )=> ',' )? a= rule_attribute )*
-                loop17 : do {
-                    int alt17 = 2;
-                    final int LA17_0 = this.input.LA( 1 );
-                    if ( (LA17_0 == DATE_EFFECTIVE || (LA17_0 >= DATE_EXPIRES && LA17_0 <= ENABLED) || LA17_0 == SALIENCE || (LA17_0 >= NO_LOOP && LA17_0 <= LOCK_ON_ACTIVE) || LA17_0 == 66) ) {
-                        alt17 = 1;
-                    }
 
-                    switch ( alt17 ) {
-                        case 1 :
-                            // C:\\dev\\jbossrules\\trunk3\\drools-compiler\\src\\main\\resources\\org\\drools\\lang\\DRL.g:431:6: ( ( ( ',' )=> ',' )? rule_attribute )=> ( ( ',' )=> ',' )? a= rule_attribute
-                        {
-                            // C:\\dev\\jbossrules\\trunk3\\drools-compiler\\src\\main\\resources\\org\\drools\\lang\\DRL.g:431:6: ( ( ',' )=> ',' )?
-                            int alt16 = 2;
-                            final int LA16_0 = this.input.LA( 1 );
-                            if ( (LA16_0 == 66) ) {
-                                alt16 = 1;
-                            }
-                            switch ( alt16 ) {
-                                case 1 :
-                                    // C:\\dev\\jbossrules\\trunk3\\drools-compiler\\src\\main\\resources\\org\\drools\\lang\\DRL.g:0:0: ( ',' )=> ','
-                                {
-                                    match( this.input,
-                                           66,
-                                           FOLLOW_66_in_rule_attributes895 );
-                                    if ( this.failed ) {
-                                        return;
-                                    }
+                switch (alt17) {
+            	case 1 :
+            	    // C:\\dev\\jbossrules\\trunk3\\drools-compiler\\src\\main\\resources\\org\\drools\\lang\\DRL.g:431:6: ( ',' )? a= rule_attribute
+            	    {
+            	    // C:\\dev\\jbossrules\\trunk3\\drools-compiler\\src\\main\\resources\\org\\drools\\lang\\DRL.g:431:6: ( ',' )?
+            	    int alt16=2;
+            	    int LA16_0 = input.LA(1);
 
-                                }
-                                    break;
+            	    if ( (LA16_0==66) ) {
+            	        alt16=1;
+            	    }
+            	    switch (alt16) {
+            	        case 1 :
+            	            // C:\\dev\\jbossrules\\trunk3\\drools-compiler\\src\\main\\resources\\org\\drools\\lang\\DRL.g:0:0: ','
+            	            {
+            	            match(input,66,FOLLOW_66_in_rule_attributes895); if (failed) return ;
 
-                            }
+            	            }
+            	            break;
 
-                            pushFollow( FOLLOW_rule_attribute_in_rule_attributes900 );
-                            a = rule_attribute();
-                            this._fsp--;
-                            if ( this.failed ) {
-                                return;
-                            }
-                            if ( this.backtracking == 0 ) {
+            	    }
 
-                                rule.addAttribute( a );
+            	    pushFollow(FOLLOW_rule_attribute_in_rule_attributes900);
+            	    a=rule_attribute();
+            	    _fsp--;
+            	    if (failed) return ;
+            	    if ( backtracking==0 ) {
+            	      
+            	      					rule.addAttribute( a );
+            	      				
+            	    }
 
-                            }
+            	    }
+            	    break;
 
-                        }
-                            break;
+            	default :
+            	    break loop17;
+                }
+            } while (true);
 
-                        default :
-                            break loop17;
-                    }
-                } while ( true );
 
             }
 
-        } catch ( final RecognitionException re ) {
-            reportError( re );
-            recover( this.input,
-                     re );
-        } finally {
         }
-        return;
+        catch (RecognitionException re) {
+            reportError(re);
+            recover(input,re);
+        }
+        finally {
+        }
+        return ;
     }
-
     // $ANTLR end rule_attributes
 
+
     // $ANTLR start rule_attribute
-    // C:\\dev\\jbossrules\\trunk3\\drools-compiler\\src\\main\\resources\\org\\drools\\lang\\DRL.g:440:1: rule_attribute returns [AttributeDescr d] : ( ( salience )=>a= salience | ( no_loop )=>a= no_loop | ( agenda_group )=>a= agenda_group | ( duration )=>a= duration | ( activation_group )=>a= activation_group | ( auto_focus )=>a= auto_focus | ( date_effective )=>a= date_effective | ( date_expires )=>a= date_expires | ( enabled )=>a= enabled | ( ruleflow_group )=>a= ruleflow_group | a= lock_on_active );
-    public AttributeDescr rule_attribute() throws RecognitionException {
+    // C:\\dev\\jbossrules\\trunk3\\drools-compiler\\src\\main\\resources\\org\\drools\\lang\\DRL.g:440:1: rule_attribute returns [AttributeDescr d] : (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 );
+    public final AttributeDescr rule_attribute() throws RecognitionException {
         AttributeDescr d = null;
 
         AttributeDescr a = null;
 
-        d = null;
 
+        
+        		d = null;
+        	
         try {
-            // C:\\dev\\jbossrules\\trunk3\\drools-compiler\\src\\main\\resources\\org\\drools\\lang\\DRL.g:445:4: ( ( salience )=>a= salience | ( no_loop )=>a= no_loop | ( agenda_group )=>a= agenda_group | ( duration )=>a= duration | ( activation_group )=>a= activation_group | ( auto_focus )=>a= auto_focus | ( date_effective )=>a= date_effective | ( date_expires )=>a= date_expires | ( enabled )=>a= enabled | ( ruleflow_group )=>a= ruleflow_group | a= lock_on_active )
-            int alt18 = 11;
-            switch ( this.input.LA( 1 ) ) {
-                case SALIENCE :
-                    alt18 = 1;
-                    break;
-                case NO_LOOP :
-                    alt18 = 2;
-                    break;
-                case AGENDA_GROUP :
-                    alt18 = 3;
-                    break;
-                case DURATION :
-                    alt18 = 4;
-                    break;
-                case ACTIVATION_GROUP :
-                    alt18 = 5;
-                    break;
-                case AUTO_FOCUS :
-                    alt18 = 6;
-                    break;
-                case DATE_EFFECTIVE :
-                    alt18 = 7;
-                    break;
-                case DATE_EXPIRES :
-                    alt18 = 8;
-                    break;
-                case ENABLED :
-                    alt18 = 9;
-                    break;
-                case RULEFLOW_GROUP :
-                    alt18 = 10;
-                    break;
-                case LOCK_ON_ACTIVE :
-                    alt18 = 11;
-                    break;
-                default :
-                    if ( this.backtracking > 0 ) {
-                        this.failed = true;
-                        return d;
-                    }
-                    final NoViableAltException nvae = new NoViableAltException( "440:1: rule_attribute returns [AttributeDescr d] : ( ( salience )=>a= salience | ( no_loop )=>a= no_loop | ( agenda_group )=>a= agenda_group | ( duration )=>a= duration | ( activation_group )=>a= activation_group | ( auto_focus )=>a= auto_focus | ( date_effective )=>a= date_effective | ( date_expires )=>a= date_expires | ( enabled )=>a= enabled | ( ruleflow_group )=>a= ruleflow_group | a= lock_on_active );",
-                                                                          18,
-                                                                          0,
-                                                                          this.input );
+            // C:\\dev\\jbossrules\\trunk3\\drools-compiler\\src\\main\\resources\\org\\drools\\lang\\DRL.g:445:4: (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 )
+            int alt18=11;
+            switch ( input.LA(1) ) {
+            case SALIENCE:
+                {
+                alt18=1;
+                }
+                break;
+            case NO_LOOP:
+                {
+                alt18=2;
+                }
+                break;
+            case AGENDA_GROUP:
+                {
+                alt18=3;
+                }
+                break;
+            case DURATION:
+                {
+                alt18=4;
+                }
+                break;
+            case ACTIVATION_GROUP:
+                {
+                alt18=5;
+                }
+                break;
+            case AUTO_FOCUS:
+                {
+                alt18=6;
+                }
+                break;
+            case DATE_EFFECTIVE:
+                {
+                alt18=7;
+                }
+                break;
+            case DATE_EXPIRES:
+                {
+                alt18=8;
+                }
+                break;
+            case ENABLED:
+                {
+                alt18=9;
+                }
+                break;
+            case RULEFLOW_GROUP:
+                {
+                alt18=10;
+                }
+                break;
+            case LOCK_ON_ACTIVE:
+                {
+                alt18=11;
+                }
+                break;
+            default:
+                if (backtracking>0) {failed=true; return d;}
+                NoViableAltException nvae =
+                    new NoViableAltException("440:1: rule_attribute returns [AttributeDescr d] : (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 );", 18, 0, input);
 
-                    throw nvae;
+                throw nvae;
             }
 
-            switch ( alt18 ) {
+            switch (alt18) {
                 case 1 :
-                    // C:\\dev\\jbossrules\\trunk3\\drools-compiler\\src\\main\\resources\\org\\drools\\lang\\DRL.g:445:4: ( salience )=>a= salience
-                {
-                    pushFollow( FOLLOW_salience_in_rule_attribute941 );
-                    a = salience();
-                    this._fsp--;
-                    if ( this.failed ) {
-                        return d;
+                    // C:\\dev\\jbossrules\\trunk3\\drools-compiler\\src\\main\\resources\\org\\drools\\lang\\DRL.g:445:4: a= salience
+                    {
+                    pushFollow(FOLLOW_salience_in_rule_attribute941);
+                    a=salience();
+                    _fsp--;
+                    if (failed) return d;
+                    if ( backtracking==0 ) {
+                       d = a; 
                     }
-                    if ( this.backtracking == 0 ) {
-                        d = a;
-                    }
 
-                }
+                    }
                     break;
                 case 2 :
-                    // C:\\dev\\jbossrules\\trunk3\\drools-compiler\\src\\main\\resources\\org\\drools\\lang\\DRL.g:446:5: ( no_loop )=>a= no_loop
-                {
-                    pushFollow( FOLLOW_no_loop_in_rule_attribute951 );
-                    a = no_loop();
-                    this._fsp--;
-                    if ( this.failed ) {
-                        return d;
+                    // C:\\dev\\jbossrules\\trunk3\\drools-compiler\\src\\main\\resources\\org\\drools\\lang\\DRL.g:446:5: a= no_loop
+                    {
+                    pushFollow(FOLLOW_no_loop_in_rule_attribute951);
+                    a=no_loop();
+                    _fsp--;
+                    if (failed) return d;
+                    if ( backtracking==0 ) {
+                       d = a; 
                     }
-                    if ( this.backtracking == 0 ) {
-                        d = a;
-                    }
 
-                }
+                    }
                     break;
                 case 3 :
-                    // C:\\dev\\jbossrules\\trunk3\\drools-compiler\\src\\main\\resources\\org\\drools\\lang\\DRL.g:447:5: ( agenda_group )=>a= agenda_group
-                {
-                    pushFollow( FOLLOW_agenda_group_in_rule_attribute962 );
-                    a = agenda_group();
-                    this._fsp--;
-                    if ( this.failed ) {
-                        return d;
+                    // C:\\dev\\jbossrules\\trunk3\\drools-compiler\\src\\main\\resources\\org\\drools\\lang\\DRL.g:447:5: a= agenda_group
+                    {
+                    pushFollow(FOLLOW_agenda_group_in_rule_attribute962);
+                    a=agenda_group();
+                    _fsp--;
+                    if (failed) return d;
+                    if ( backtracking==0 ) {
+                       d = a; 
                     }
-                    if ( this.backtracking == 0 ) {
-                        d = a;
-                    }
 
-                }
+                    }
                     break;
                 case 4 :
-                    // C:\\dev\\jbossrules\\trunk3\\drools-compiler\\src\\main\\resources\\org\\drools\\lang\\DRL.g:448:5: ( duration )=>a= duration
-                {
-                    pushFollow( FOLLOW_duration_in_rule_attribute975 );
-                    a = duration();
-                    this._fsp--;
-                    if ( this.failed ) {
-                        return d;
+                    // C:\\dev\\jbossrules\\trunk3\\drools-compiler\\src\\main\\resources\\org\\drools\\lang\\DRL.g:448:5: a= duration
+                    {
+                    pushFollow(FOLLOW_duration_in_rule_attribute975);
+                    a=duration();
+                    _fsp--;
+                    if (failed) return d;
+                    if ( backtracking==0 ) {
+                       d = a; 
                     }
-                    if ( this.backtracking == 0 ) {
-                        d = a;
-                    }
 
-                }
+                    }
                     break;
                 case 5 :
-                    // C:\\dev\\jbossrules\\trunk3\\drools-compiler\\src\\main\\resources\\org\\drools\\lang\\DRL.g:449:5: ( activation_group )=>a= activation_group
-                {
-                    pushFollow( FOLLOW_activation_group_in_rule_attribute989 );
-                    a = activation_group();
-                    this._fsp--;
-                    if ( this.failed ) {
-                        return d;
+                    // C:\\dev\\jbossrules\\trunk3\\drools-compiler\\src\\main\\resources\\org\\drools\\lang\\DRL.g:449:5: a= activation_group
+                    {
+                    pushFollow(FOLLOW_activation_group_in_rule_attribute989);
+                    a=activation_group();
+                    _fsp--;
+                    if (failed) return d;
+                    if ( backtracking==0 ) {
+                       d = a; 
                     }
-                    if ( this.backtracking == 0 ) {
-                        d = a;
-                    }
 
-                }
+                    }
                     break;
                 case 6 :
-                    // C:\\dev\\jbossrules\\trunk3\\drools-compiler\\src\\main\\resources\\org\\drools\\lang\\DRL.g:450:5: ( auto_focus )=>a= auto_focus
-                {
-                    pushFollow( FOLLOW_auto_focus_in_rule_attribute1000 );
-                    a = auto_focus();
-                    this._fsp--;
-                    if ( this.failed ) {
-                        return d;
+                    // C:\\dev\\jbossrules\\trunk3\\drools-compiler\\src\\main\\resources\\org\\drools\\lang\\DRL.g:450:5: a= auto_focus
+                    {
+                    pushFollow(FOLLOW_auto_focus_in_rule_attribute1000);
+                    a=auto_focus();
+                    _fsp--;
+                    if (failed) return d;
+                    if ( backtracking==0 ) {
+                       d = a; 
                     }
-                    if ( this.backtracking == 0 ) {
-                        d = a;
-                    }
 
-                }
+                    }
                     break;
                 case 7 :
-                    // C:\\dev\\jbossrules\\trunk3\\drools-compiler\\src\\main\\resources\\org\\drools\\lang\\DRL.g:451:5: ( date_effective )=>a= date_effective
-                {
-                    pushFollow( FOLLOW_date_effective_in_rule_attribute1011 );
-                    a = date_effective();
-                    this._fsp--;
-                    if ( this.failed ) {
-                        return d;
+                    // C:\\dev\\jbossrules\\trunk3\\drools-compiler\\src\\main\\resources\\org\\drools\\lang\\DRL.g:451:5: a= date_effective
+                    {
+                    pushFollow(FOLLOW_date_effective_in_rule_attribute1011);
+                    a=date_effective();
+                    _fsp--;
+                    if (failed) return d;
+                    if ( backtracking==0 ) {
+                      d = a; 
                     }
-                    if ( this.backtracking == 0 ) {
-                        d = a;
-                    }
 
-                }
+                    }
                     break;
                 case 8 :
-                    // C:\\dev\\jbossrules\\trunk3\\drools-compiler\\src\\main\\resources\\org\\drools\\lang\\DRL.g:452:5: ( date_expires )=>a= date_expires
-                {
-                    pushFollow( FOLLOW_date_expires_in_rule_attribute1021 );
-                    a = date_expires();
-                    this._fsp--;
-                    if ( this.failed ) {
-                        return d;
+                    // C:\\dev\\jbossrules\\trunk3\\drools-compiler\\src\\main\\resources\\org\\drools\\lang\\DRL.g:452:5: a= date_expires
+                    {
+                    pushFollow(FOLLOW_date_expires_in_rule_attribute1021);
+                    a=date_expires();
+                    _fsp--;
+                    if (failed) return d;
+                    if ( backtracking==0 ) {
+                      d = a; 
                     }
-                    if ( this.backtracking == 0 ) {
-                        d = a;
-                    }
 
-                }
+                    }
                     break;
                 case 9 :
-                    // C:\\dev\\jbossrules\\trunk3\\drools-compiler\\src\\main\\resources\\org\\drools\\lang\\DRL.g:453:5: ( enabled )=>a= enabled
-                {
-                    pushFollow( FOLLOW_enabled_in_rule_attribute1031 );
-                    a = enabled();
-                    this._fsp--;
-                    if ( this.failed ) {
-                        return d;
+                    // C:\\dev\\jbossrules\\trunk3\\drools-compiler\\src\\main\\resources\\org\\drools\\lang\\DRL.g:453:5: a= enabled
+                    {
+                    pushFollow(FOLLOW_enabled_in_rule_attribute1031);
+                    a=enabled();
+                    _fsp--;
+                    if (failed) return d;
+                    if ( backtracking==0 ) {
+                      d=a;
                     }
-                    if ( this.backtracking == 0 ) {
-                        d = a;
-                    }
 
-                }
+                    }
                     break;
                 case 10 :
-                    // C:\\dev\\jbossrules\\trunk3\\drools-compiler\\src\\main\\resources\\org\\drools\\lang\\DRL.g:454:5: ( ruleflow_group )=>a= ruleflow_group
-                {
-                    pushFollow( FOLLOW_ruleflow_group_in_rule_attribute1041 );
-                    a = ruleflow_group();
-                    this._fsp--;
-                    if ( this.failed ) {
-                        return d;
+                    // C:\\dev\\jbossrules\\trunk3\\drools-compiler\\src\\main\\resources\\org\\drools\\lang\\DRL.g:454:5: a= ruleflow_group
+                    {
+                    pushFollow(FOLLOW_ruleflow_group_in_rule_attribute1041);
+                    a=ruleflow_group();
+                    _fsp--;
+                    if (failed) return d;
+                    if ( backtracking==0 ) {
+                       d = a; 
                     }
-                    if ( this.backtracking == 0 ) {
-                        d = a;
-                    }
 
-                }
+                    }
                     break;
                 case 11 :
                     // C:\\dev\\jbossrules\\trunk3\\drools-compiler\\src\\main\\resources\\org\\drools\\lang\\DRL.g:455:5: a= lock_on_active
-                {
-                    pushFollow( FOLLOW_lock_on_active_in_rule_attribute1051 );
-                    a = lock_on_active();
-                    this._fsp--;
-                    if ( this.failed ) {
-                        return d;
+                    {
+                    pushFollow(FOLLOW_lock_on_active_in_rule_attribute1051);
+                    a=lock_on_active();
+                    _fsp--;
+                    if (failed) return d;
+                    if ( backtracking==0 ) {
+                       d = a; 
                     }
-                    if ( this.backtracking == 0 ) {
-                        d = a;
-                    }
 
-                }
+                    }
                     break;
 
             }
-        } catch ( final RecognitionException re ) {
-            reportError( re );
-            recover( this.input,
-                     re );
-        } finally {
         }
+        catch (RecognitionException re) {
+            reportError(re);
+            recover(input,re);
+        }
+        finally {
+        }
         return d;
     }
-
     // $ANTLR end rule_attribute
 
+
     // $ANTLR start date_effective
     // C:\\dev\\jbossrules\\trunk3\\drools-compiler\\src\\main\\resources\\org\\drools\\lang\\DRL.g:459:1: date_effective returns [AttributeDescr d] : loc= DATE_EFFECTIVE val= STRING ;
-    public AttributeDescr date_effective() throws RecognitionException {
+    public final AttributeDescr date_effective() throws RecognitionException {
         AttributeDescr d = null;
 
-        Token loc = null;
-        Token val = null;
+        Token loc=null;
+        Token val=null;
 
-        d = null;
-
+        
+        		d = null;
+        	
         try {
             // C:\\dev\\jbossrules\\trunk3\\drools-compiler\\src\\main\\resources\\org\\drools\\lang\\DRL.g:464:3: (loc= DATE_EFFECTIVE val= STRING )
             // C:\\dev\\jbossrules\\trunk3\\drools-compiler\\src\\main\\resources\\org\\drools\\lang\\DRL.g:464:3: loc= DATE_EFFECTIVE val= STRING
             {
-                loc = (Token) this.input.LT( 1 );
-                match( this.input,
-                       DATE_EFFECTIVE,
-                       FOLLOW_DATE_EFFECTIVE_in_date_effective1082 );
-                if ( this.failed ) {
-                    return d;
-                }
-                val = (Token) this.input.LT( 1 );
-                match( this.input,
-                       STRING,
-                       FOLLOW_STRING_in_date_effective1086 );
-                if ( this.failed ) {
-                    return d;
-                }
-                if ( this.backtracking == 0 ) {
+            loc=(Token)input.LT(1);
+            match(input,DATE_EFFECTIVE,FOLLOW_DATE_EFFECTIVE_in_date_effective1082); if (failed) return d;
+            val=(Token)input.LT(1);
+            match(input,STRING,FOLLOW_STRING_in_date_effective1086); if (failed) return d;
+            if ( backtracking==0 ) {
+              
+              			d = new AttributeDescr( "date-effective", getString( val ) );
+              			d.setLocation( offset(loc.getLine()), loc.getCharPositionInLine() );
+              			d.setStartCharacter( ((CommonToken)loc).getStartIndex() );
+              			d.setEndCharacter( ((CommonToken)val).getStopIndex() );
+              		
+            }
 
-                    d = new AttributeDescr( "date-effective",
-                                            getString( val ) );
-                    d.setLocation( offset( loc.getLine() ),
-                                   loc.getCharPositionInLine() );
-                    d.setStartCharacter( ((CommonToken) loc).getStartIndex() );
-                    d.setEndCharacter( ((CommonToken) val).getStopIndex() );
-
-                }
-
             }
 
-        } catch ( final RecognitionException re ) {
-            reportError( re );
-            recover( this.input,
-                     re );
-        } finally {
         }
+        catch (RecognitionException re) {
+            reportError(re);
+            recover(input,re);
+        }
+        finally {
+        }
         return d;
     }
-
     // $ANTLR end date_effective
 
+
     // $ANTLR start date_expires
     // C:\\dev\\jbossrules\\trunk3\\drools-compiler\\src\\main\\resources\\org\\drools\\lang\\DRL.g:474:1: date_expires returns [AttributeDescr d] : loc= DATE_EXPIRES val= STRING ;
-    public AttributeDescr date_expires() throws RecognitionException {
+    public final AttributeDescr date_expires() throws RecognitionException {
         AttributeDescr d = null;
 
-        Token loc = null;
-        Token val = null;
+        Token loc=null;
+        Token val=null;
 
-        d = null;
-
+        
+        		d = null;
+        	
         try {
             // C:\\dev\\jbossrules\\trunk3\\drools-compiler\\src\\main\\resources\\org\\drools\\lang\\DRL.g:479:3: (loc= DATE_EXPIRES val= STRING )
             // C:\\dev\\jbossrules\\trunk3\\drools-compiler\\src\\main\\resources\\org\\drools\\lang\\DRL.g:479:3: loc= DATE_EXPIRES val= STRING
             {
-                loc = (Token) this.input.LT( 1 );
-                match( this.input,
-                       DATE_EXPIRES,
-                       FOLLOW_DATE_EXPIRES_in_date_expires1119 );
-                if ( this.failed ) {
-                    return d;
-                }
-                val = (Token) this.input.LT( 1 );
-                match( this.input,
-                       STRING,
-                       FOLLOW_STRING_in_date_expires1123 );
-                if ( this.failed ) {
-                    return d;
-                }
-                if ( this.backtracking == 0 ) {
+            loc=(Token)input.LT(1);
+            match(input,DATE_EXPIRES,FOLLOW_DATE_EXPIRES_in_date_expires1119); if (failed) return d;
+            val=(Token)input.LT(1);
+            match(input,STRING,FOLLOW_STRING_in_date_expires1123); if (failed) return d;
+            if ( backtracking==0 ) {
+              
+              			d = new AttributeDescr( "date-expires", getString( val ) );
+              			d.setLocation( offset(loc.getLine()), loc.getCharPositionInLine() );
+              			d.setStartCharacter( ((CommonToken)loc).getStartIndex() );
+              			d.setEndCharacter( ((CommonToken)val).getStopIndex() );
+              		
+            }
 
-                    d = new AttributeDescr( "date-expires",
-                                            getString( val ) );
-                    d.setLocation( offset( loc.getLine() ),
-                                   loc.getCharPositionInLine() );
-                    d.setStartCharacter( ((CommonToken) loc).getStartIndex() );
-                    d.setEndCharacter( ((CommonToken) val).getStopIndex() );
-
-                }
-
             }
 
-        } catch ( final RecognitionException re ) {
-            reportError( re );
-            recover( this.input,
-                     re );
-        } finally {
         }
+        catch (RecognitionException re) {
+            reportError(re);
+            recover(input,re);
+        }
+        finally {
+        }
         return d;
     }
-
     // $ANTLR end date_expires
 
+
     // $ANTLR start enabled
     // C:\\dev\\jbossrules\\trunk3\\drools-compiler\\src\\main\\resources\\org\\drools\\lang\\DRL.g:490:1: enabled returns [AttributeDescr d] : loc= ENABLED t= BOOL ;
-    public AttributeDescr enabled() throws RecognitionException {
+    public final AttributeDescr enabled() throws RecognitionException {
         AttributeDescr d = null;
 
-        Token loc = null;
-        Token t = null;
+        Token loc=null;
+        Token t=null;
 
-        d = null;
-
+        
+        		d = null;
+        	
         try {
             // C:\\dev\\jbossrules\\trunk3\\drools-compiler\\src\\main\\resources\\org\\drools\\lang\\DRL.g:495:4: (loc= ENABLED t= BOOL )
             // C:\\dev\\jbossrules\\trunk3\\drools-compiler\\src\\main\\resources\\org\\drools\\lang\\DRL.g:495:4: loc= ENABLED t= BOOL
             {
-                loc = (Token) this.input.LT( 1 );
-                match( this.input,
-                       ENABLED,
-                       FOLLOW_ENABLED_in_enabled1158 );
-                if ( this.failed ) {
-                    return d;
-                }
-                t = (Token) this.input.LT( 1 );
-                match( this.input,
-                       BOOL,
-                       FOLLOW_BOOL_in_enabled1162 );
-                if ( this.failed ) {
-                    return d;
-                }
-                if ( this.backtracking == 0 ) {
+            loc=(Token)input.LT(1);
+            match(input,ENABLED,FOLLOW_ENABLED_in_enabled1158); if (failed) return d;
+            t=(Token)input.LT(1);
+            match(input,BOOL,FOLLOW_BOOL_in_enabled1162); if (failed) return d;
+            if ( backtracking==0 ) {
+              
+              				d = new AttributeDescr( "enabled", t.getText() );
+              				d.setLocation( offset(loc.getLine()), loc.getCharPositionInLine() );
+              				d.setStartCharacter( ((CommonToken)loc).getStartIndex() );
+              				d.setEndCharacter( ((CommonToken)t).getStopIndex() );
+              			
+            }
 
-                    d = new AttributeDescr( "enabled",
-                                            t.getText() );
-                    d.setLocation( offset( loc.getLine() ),
-                                   loc.getCharPositionInLine() );
-                    d.setStartCharacter( ((CommonToken) loc).getStartIndex() );
-                    d.setEndCharacter( ((CommonToken) t).getStopIndex() );
-
-                }
-
             }
 
-        } catch ( final RecognitionException re ) {
-            reportError( re );
-            recover( this.input,
-                     re );
-        } finally {
         }
+        catch (RecognitionException re) {
+            reportError(re);
+            recover(input,re);
+        }
+        finally {
+        }
         return d;
     }
-
     // $ANTLR end enabled
 
+
     // $ANTLR start salience
     // C:\\dev\\jbossrules\\trunk3\\drools-compiler\\src\\main\\resources\\org\\drools\\lang\\DRL.g:508:1: salience returns [AttributeDescr d ] : loc= SALIENCE i= INT ;
-    public AttributeDescr salience() throws RecognitionException {
+    public final AttributeDescr salience() throws RecognitionException {
         AttributeDescr d = null;
 
-        Token loc = null;
-        Token i = null;
+        Token loc=null;
+        Token i=null;
 
-        d = null;
-
+        
+        		d = null;
+        	
         try {
             // C:\\dev\\jbossrules\\trunk3\\drools-compiler\\src\\main\\resources\\org\\drools\\lang\\DRL.g:513:3: (loc= SALIENCE i= INT )
             // C:\\dev\\jbossrules\\trunk3\\drools-compiler\\src\\main\\resources\\org\\drools\\lang\\DRL.g:513:3: loc= SALIENCE i= INT
             {
-                loc = (Token) this.input.LT( 1 );
-                match( this.input,
-                       SALIENCE,
-                       FOLLOW_SALIENCE_in_salience1207 );
-                if ( this.failed ) {
-                    return d;
-                }
-                i = (Token) this.input.LT( 1 );
-                match( this.input,
-                       INT,
-                       FOLLOW_INT_in_salience1211 );
-                if ( this.failed ) {
-                    return d;
-                }
-                if ( this.backtracking == 0 ) {
+            loc=(Token)input.LT(1);
+            match(input,SALIENCE,FOLLOW_SALIENCE_in_salience1207); if (failed) return d;
+            i=(Token)input.LT(1);
+            match(input,INT,FOLLOW_INT_in_salience1211); if (failed) return d;
+            if ( backtracking==0 ) {
+              
+              			d = new AttributeDescr( "salience", i.getText() );
+              			d.setLocation( offset(loc.getLine()), loc.getCharPositionInLine() );
+              			d.setStartCharacter( ((CommonToken)loc).getStartIndex() );
+              			d.setEndCharacter( ((CommonToken)i).getStopIndex() );
+              		
+            }
 
-                    d = new AttributeDescr( "salience",
-                                            i.getText() );
-                    d.setLocation( offset( loc.getLine() ),
-                                   loc.getCharPositionInLine() );
-                    d.setStartCharacter( ((CommonToken) loc).getStartIndex() );
-                    d.setEndCharacter( ((CommonToken) i).getStopIndex() );
-
-                }
-
             }
 
-        } catch ( final RecognitionException re ) {
-            reportError( re );
-            recover( this.input,
-                     re );
-        } finally {
         }
+        catch (RecognitionException re) {
+            reportError(re);
+            recover(input,re);
+        }
+        finally {
+        }
         return d;
     }
-
     // $ANTLR end salience
 
+
     // $ANTLR start no_loop
-    // C:\\dev\\jbossrules\\trunk3\\drools-compiler\\src\\main\\resources\\org\\drools\\lang\\DRL.g:522:1: no_loop returns [AttributeDescr d] : ( ( ( NO_LOOP ) )=> (loc= NO_LOOP ) | (loc= NO_LOOP t= BOOL ) );
-    public AttributeDescr no_loop() throws RecognitionException {
+    // C:\\dev\\jbossrules\\trunk3\\drools-compiler\\src\\main\\resources\\org\\drools\\lang\\DRL.g:522:1: no_loop returns [AttributeDescr d] : ( (loc= NO_LOOP ) | (loc= NO_LOOP t= BOOL ) );
+    public final AttributeDescr no_loop() throws RecognitionException {
         AttributeDescr d = null;
 
-        Token loc = null;
-        Token t = null;
+        Token loc=null;
+        Token t=null;
 
-        d = null;
-
+        
+        		d = null;
+        	
         try {
-            // C:\\dev\\jbossrules\\trunk3\\drools-compiler\\src\\main\\resources\\org\\drools\\lang\\DRL.g:527:3: ( ( ( NO_LOOP ) )=> (loc= NO_LOOP ) | (loc= NO_LOOP t= BOOL ) )
-            int alt19 = 2;
-            final int LA19_0 = this.input.LA( 1 );
-            if ( (LA19_0 == NO_LOOP) ) {
-                final int LA19_1 = this.input.LA( 2 );
-                if ( (LA19_1 == BOOL) ) {
-                    alt19 = 2;
-                } else if ( (LA19_1 == EOF || LA19_1 == WHEN || LA19_1 == DATE_EFFECTIVE || (LA19_1 >= DATE_EXPIRES && LA19_1 <= ENABLED) || LA19_1 == SALIENCE || (LA19_1 >= NO_LOOP && LA19_1 <= LOCK_ON_ACTIVE) || LA19_1 == THEN || LA19_1 == 66) ) {
-                    alt19 = 1;
-                } else {
-                    if ( this.backtracking > 0 ) {
-                        this.failed = true;
-                        return d;
-                    }
-                    final NoViableAltException nvae = new NoViableAltException( "522:1: no_loop returns [AttributeDescr d] : ( ( ( NO_LOOP ) )=> (loc= NO_LOOP ) | (loc= NO_LOOP t= BOOL ) );",
-                                                                          19,
-                                                                          1,
-                                                                          this.input );
+            // C:\\dev\\jbossrules\\trunk3\\drools-compiler\\src\\main\\resources\\org\\drools\\lang\\DRL.g:527:3: ( (loc= NO_LOOP ) | (loc= NO_LOOP t= BOOL ) )
+            int alt19=2;
+            int LA19_0 = input.LA(1);
 
-                    throw nvae;
+            if ( (LA19_0==NO_LOOP) ) {
+                int LA19_1 = input.LA(2);
+
+                if ( (LA19_1==BOOL) ) {
+                    alt19=2;
                 }
-            } else {
-                if ( this.backtracking > 0 ) {
-                    this.failed = true;
-                    return d;
+                else if ( (LA19_1==EOF||LA19_1==WHEN||LA19_1==DATE_EFFECTIVE||(LA19_1>=DATE_EXPIRES && LA19_1<=ENABLED)||LA19_1==SALIENCE||(LA19_1>=NO_LOOP && LA19_1<=LOCK_ON_ACTIVE)||LA19_1==THEN||LA19_1==66) ) {
+                    alt19=1;
                 }
-                final NoViableAltException nvae = new NoViableAltException( "522:1: no_loop returns [AttributeDescr d] : ( ( ( NO_LOOP ) )=> (loc= NO_LOOP ) | (loc= NO_LOOP t= BOOL ) );",
-                                                                      19,
-                                                                      0,
-                                                                      this.input );
+                else {
+                    if (backtracking>0) {failed=true; return d;}
+                    NoViableAltException nvae =
+                        new NoViableAltException("522:1: no_loop returns [AttributeDescr d] : ( (loc= NO_LOOP ) | (loc= NO_LOOP t= BOOL ) );", 19, 1, input);
 
+                    throw nvae;
+                }
+            }
+            else {
+                if (backtracking>0) {failed=true; return d;}
+                NoViableAltException nvae =
+                    new NoViableAltException("522:1: no_loop returns [AttributeDescr d] : ( (loc= NO_LOOP ) | (loc= NO_LOOP t= BOOL ) );", 19, 0, input);
+
                 throw nvae;
             }
-            switch ( alt19 ) {
+            switch (alt19) {
                 case 1 :
-                    // C:\\dev\\jbossrules\\trunk3\\drools-compiler\\src\\main\\resources\\org\\drools\\lang\\DRL.g:527:3: ( ( NO_LOOP ) )=> (loc= NO_LOOP )
-                {
                     // C:\\dev\\jbossrules\\trunk3\\drools-compiler\\src\\main\\resources\\org\\drools\\lang\\DRL.g:527:3: (loc= NO_LOOP )
+                    {
+                    // C:\\dev\\jbossrules\\trunk3\\drools-compiler\\src\\main\\resources\\org\\drools\\lang\\DRL.g:527:3: (loc= NO_LOOP )
                     // C:\\dev\\jbossrules\\trunk3\\drools-compiler\\src\\main\\resources\\org\\drools\\lang\\DRL.g:528:4: loc= NO_LOOP
                     {
-                        loc = (Token) this.input.LT( 1 );
-                        match( this.input,
-                               NO_LOOP,
-                               FOLLOW_NO_LOOP_in_no_loop1249 );
-                        if ( this.failed ) {
-                            return d;
-                        }
-                        if ( this.backtracking == 0 ) {
+                    loc=(Token)input.LT(1);
+                    match(input,NO_LOOP,FOLLOW_NO_LOOP_in_no_loop1249); if (failed) return d;
+                    if ( backtracking==0 ) {
+                      
+                      				d = new AttributeDescr( "no-loop", "true" );
+                      				d.setLocation( offset(loc.getLine()), loc.getCharPositionInLine() );
+                      				d.setStartCharacter( ((CommonToken)loc).getStartIndex() );
+                      				d.setEndCharacter( ((CommonToken)loc).getStopIndex() );
+                      			
+                    }
 
-                            d = new AttributeDescr( "no-loop",
-                                                    "true" );
-                            d.setLocation( offset( loc.getLine() ),
-                                           loc.getCharPositionInLine() );
-                            d.setStartCharacter( ((CommonToken) loc).getStartIndex() );
-                            d.setEndCharacter( ((CommonToken) loc).getStopIndex() );
+                    }
 
-                        }
 
                     }
-
-                }
                     break;
                 case 2 :
                     // C:\\dev\\jbossrules\\trunk3\\drools-compiler\\src\\main\\resources\\org\\drools\\lang\\DRL.g:537:3: (loc= NO_LOOP t= BOOL )
-                {
+                    {
                     // C:\\dev\\jbossrules\\trunk3\\drools-compiler\\src\\main\\resources\\org\\drools\\lang\\DRL.g:537:3: (loc= NO_LOOP t= BOOL )
                     // C:\\dev\\jbossrules\\trunk3\\drools-compiler\\src\\main\\resources\\org\\drools\\lang\\DRL.g:538:4: loc= NO_LOOP t= BOOL
                     {
-                        loc = (Token) this.input.LT( 1 );
-                        match( this.input,
-                               NO_LOOP,
-                               FOLLOW_NO_LOOP_in_no_loop1277 );
-                        if ( this.failed ) {
-                            return d;
-                        }
-                        t = (Token) this.input.LT( 1 );
-                        match( this.input,
-                               BOOL,
-                               FOLLOW_BOOL_in_no_loop1281 );
-                        if ( this.failed ) {
-                            return d;
-                        }
-                        if ( this.backtracking == 0 ) {
+                    loc=(Token)input.LT(1);
+                    match(input,NO_LOOP,FOLLOW_NO_LOOP_in_no_loop1277); if (failed) return d;
+                    t=(Token)input.LT(1);
+                    match(input,BOOL,FOLLOW_BOOL_in_no_loop1281); if (failed) return d;
+                    if ( backtracking==0 ) {
+                      
+                      				d = new AttributeDescr( "no-loop", t.getText() );
+                      				d.setLocation( offset(loc.getLine()), loc.getCharPositionInLine() );
+                      				d.setStartCharacter( ((CommonToken)loc).getStartIndex() );
+                      				d.setEndCharacter( ((CommonToken)t).getStopIndex() );
+                      			
+                    }
 
-                            d = new AttributeDescr( "no-loop",
-                                                    t.getText() );
-                            d.setLocation( offset( loc.getLine() ),
-                                           loc.getCharPositionInLine() );
-                            d.setStartCharacter( ((CommonToken) loc).getStartIndex() );
-                            d.setEndCharacter( ((CommonToken) t).getStopIndex() );
+                    }
 
-                        }
 
                     }
-
-                }
                     break;
 
             }
-        } catch ( final RecognitionException re ) {
-            reportError( re );
-            recover( this.input,
-                     re );
-        } finally {
         }
+        catch (RecognitionException re) {
+            reportError(re);
+            recover(input,re);
+        }
+        finally {
+        }
         return d;
     }
-
     // $ANTLR end no_loop
 
+
     // $ANTLR start auto_focus
-    // C:\\dev\\jbossrules\\trunk3\\drools-compiler\\src\\main\\resources\\org\\drools\\lang\\DRL.g:550:1: auto_focus returns [AttributeDescr d] : ( ( ( AUTO_FOCUS ) )=> (loc= AUTO_FOCUS ) | (loc= AUTO_FOCUS t= BOOL ) );
-    public AttributeDescr auto_focus() throws RecognitionException {
+    // C:\\dev\\jbossrules\\trunk3\\drools-compiler\\src\\main\\resources\\org\\drools\\lang\\DRL.g:550:1: auto_focus returns [AttributeDescr d] : ( (loc= AUTO_FOCUS ) | (loc= AUTO_FOCUS t= BOOL ) );
+    public final AttributeDescr auto_focus() throws RecognitionException {
         AttributeDescr d = null;
 
-        Token loc = null;
-        Token t = null;
+        Token loc=null;
+        Token t=null;
 
-        d = null;
-
+        
+        		d = null;
+        	
         try {
-            // C:\\dev\\jbossrules\\trunk3\\drools-compiler\\src\\main\\resources\\org\\drools\\lang\\DRL.g:555:3: ( ( ( AUTO_FOCUS ) )=> (loc= AUTO_FOCUS ) | (loc= AUTO_FOCUS t= BOOL ) )
-            int alt20 = 2;
-            final int LA20_0 = this.input.LA( 1 );
-            if ( (LA20_0 == AUTO_FOCUS) ) {
-                final int LA20_1 = this.input.LA( 2 );
-                if ( (LA20_1 == BOOL) ) {
-                    alt20 = 2;
-                } else if ( (LA20_1 == EOF || LA20_1 == WHEN || LA20_1 == DATE_EFFECTIVE || (LA20_1 >= DATE_EXPIRES && LA20_1 <= ENABLED) || LA20_1 == SALIENCE || (LA20_1 >= NO_LOOP && LA20_1 <= LOCK_ON_ACTIVE) || LA20_1 == THEN || LA20_1 == 66) ) {
-                    alt20 = 1;
-                } else {
-                    if ( this.backtracking > 0 ) {
-                        this.failed = true;
-                        return d;
-                    }
-                    final NoViableAltException nvae = new NoViableAltException( "550:1: auto_focus returns [AttributeDescr d] : ( ( ( AUTO_FOCUS ) )=> (loc= AUTO_FOCUS ) | (loc= AUTO_FOCUS t= BOOL ) );",
-                                                                          20,
-                                                                          1,
-                                                                          this.input );
+            // C:\\dev\\jbossrules\\trunk3\\drools-compiler\\src\\main\\resources\\org\\drools\\lang\\DRL.g:555:3: ( (loc= AUTO_FOCUS ) | (loc= AUTO_FOCUS t= BOOL ) )
+            int alt20=2;
+            int LA20_0 = input.LA(1);
 
-                    throw nvae;
+            if ( (LA20_0==AUTO_FOCUS) ) {
+                int LA20_1 = input.LA(2);
+
+                if ( (LA20_1==BOOL) ) {
+                    alt20=2;
                 }
-            } else {
-                if ( this.backtracking > 0 ) {
-                    this.failed = true;
-                    return d;
+                else if ( (LA20_1==EOF||LA20_1==WHEN||LA20_1==DATE_EFFECTIVE||(LA20_1>=DATE_EXPIRES && LA20_1<=ENABLED)||LA20_1==SALIENCE||(LA20_1>=NO_LOOP && LA20_1<=LOCK_ON_ACTIVE)||LA20_1==THEN||LA20_1==66) ) {
+                    alt20=1;
                 }
-                final NoViableAltException nvae = new NoViableAltException( "550:1: auto_focus returns [AttributeDescr d] : ( ( ( AUTO_FOCUS ) )=> (loc= AUTO_FOCUS ) | (loc= AUTO_FOCUS t= BOOL ) );",
-                                                                      20,
-                                                                      0,
-                                                                      this.input );
+                else {
+                    if (backtracking>0) {failed=true; return d;}
+                    NoViableAltException nvae =
+                        new NoViableAltException("550:1: auto_focus returns [AttributeDescr d] : ( (loc= AUTO_FOCUS ) | (loc= AUTO_FOCUS t= BOOL ) );", 20, 1, input);
 
+                    throw nvae;
+                }
+            }
+            else {
+                if (backtracking>0) {failed=true; return d;}
+                NoViableAltException nvae =
+                    new NoViableAltException("550:1: auto_focus returns [AttributeDescr d] : ( (loc= AUTO_FOCUS ) | (loc= AUTO_FOCUS t= BOOL ) );", 20, 0, input);
+
                 throw nvae;
             }
-            switch ( alt20 ) {
+            switch (alt20) {
                 case 1 :
-                    // C:\\dev\\jbossrules\\trunk3\\drools-compiler\\src\\main\\resources\\org\\drools\\lang\\DRL.g:555:3: ( ( AUTO_FOCUS ) )=> (loc= AUTO_FOCUS )
-                {
                     // C:\\dev\\jbossrules\\trunk3\\drools-compiler\\src\\main\\resources\\org\\drools\\lang\\DRL.g:555:3: (loc= AUTO_FOCUS )
+                    {
+                    // C:\\dev\\jbossrules\\trunk3\\drools-compiler\\src\\main\\resources\\org\\drools\\lang\\DRL.g:555:3: (loc= AUTO_FOCUS )
                     // C:\\dev\\jbossrules\\trunk3\\drools-compiler\\src\\main\\resources\\org\\drools\\lang\\DRL.g:556:4: loc= AUTO_FOCUS
                     {
-                        loc = (Token) this.input.LT( 1 );
-                        match( this.input,
-                               AUTO_FOCUS,
-                               FOLLOW_AUTO_FOCUS_in_auto_focus1330 );
-                        if ( this.failed ) {
-                            return d;
-                        }
-                        if ( this.backtracking == 0 ) {
+                    loc=(Token)input.LT(1);
+                    match(input,AUTO_FOCUS,FOLLOW_AUTO_FOCUS_in_auto_focus1330); if (failed) return d;
+                    if ( backtracking==0 ) {
+                      
+                      				d = new AttributeDescr( "auto-focus", "true" );
+                      				d.setLocation( offset(loc.getLine()), loc.getCharPositionInLine() );
+                      				d.setStartCharacter( ((CommonToken)loc).getStartIndex() );
+                      				d.setEndCharacter( ((CommonToken)loc).getStopIndex() );
+                      			
+                    }
 
-                            d = new AttributeDescr( "auto-focus",
-                                                    "true" );
-                            d.setLocation( offset( loc.getLine() ),
-                                           loc.getCharPositionInLine() );
-                            d.setStartCharacter( ((CommonToken) loc).getStartIndex() );
-                            d.setEndCharacter( ((CommonToken) loc).getStopIndex() );
+                    }
 
-                        }
 
                     }
-
-                }
                     break;
                 case 2 :
                     // C:\\dev\\jbossrules\\trunk3\\drools-compiler\\src\\main\\resources\\org\\drools\\lang\\DRL.g:565:3: (loc= AUTO_FOCUS t= BOOL )
-                {
+                    {
                     // C:\\dev\\jbossrules\\trunk3\\drools-compiler\\src\\main\\resources\\org\\drools\\lang\\DRL.g:565:3: (loc= AUTO_FOCUS t= BOOL )
                     // C:\\dev\\jbossrules\\trunk3\\drools-compiler\\src\\main\\resources\\org\\drools\\lang\\DRL.g:566:4: loc= AUTO_FOCUS t= BOOL
                     {
-                        loc = (Token) this.input.LT( 1 );
-                        match( this.input,
-                               AUTO_FOCUS,
-                               FOLLOW_AUTO_FOCUS_in_auto_focus1358 );
-                        if ( this.failed ) {
-                            return d;
-                        }
-                        t = (Token) this.input.LT( 1 );
-                        match( this.input,
-                               BOOL,
-                               FOLLOW_BOOL_in_auto_focus1362 );
-                        if ( this.failed ) {
-                            return d;
-                        }
-                        if ( this.backtracking == 0 ) {
+                    loc=(Token)input.LT(1);
+                    match(input,AUTO_FOCUS,FOLLOW_AUTO_FOCUS_in_auto_focus1358); if (failed) return d;
+                    t=(Token)input.LT(1);
+                    match(input,BOOL,FOLLOW_BOOL_in_auto_focus1362); if (failed) return d;
+                    if ( backtracking==0 ) {
+                      
+                      				d = new AttributeDescr( "auto-focus", t.getText() );
+                      				d.setLocation( offset(loc.getLine()), loc.getCharPositionInLine() );
+                      				d.setStartCharacter( ((CommonToken)loc).getStartIndex() );
+                      				d.setEndCharacter( ((CommonToken)t).getStopIndex() );
+                      			
+                    }
 
-                            d = new AttributeDescr( "auto-focus",
-                                                    t.getText() );
-                            d.setLocation( offset( loc.getLine() ),
-                                           loc.getCharPositionInLine() );
-                            d.setStartCharacter( ((CommonToken) loc).getStartIndex() );
-                            d.setEndCharacter( ((CommonToken) t).getStopIndex() );
+                    }
 
-                        }
 
                     }
-
-                }
                     break;
 
             }
-        } catch ( final RecognitionException re ) {
-            reportError( re );
-            recover( this.input,
-                     re );
-        } finally {
         }
+        catch (RecognitionException re) {
+            reportError(re);
+            recover(input,re);
+        }
+        finally {
+        }
         return d;
     }
-
     // $ANTLR end auto_focus
 
+
     // $ANTLR start activation_group
     // C:\\dev\\jbossrules\\trunk3\\drools-compiler\\src\\main\\resources\\org\\drools\\lang\\DRL.g:578:1: activation_group returns [AttributeDescr d] : loc= ACTIVATION_GROUP n= STRING ;
-    public AttributeDescr activation_group() throws RecognitionException {
+    public final AttributeDescr activation_group() throws RecognitionException {
         AttributeDescr d = null;
 
-        Token loc = null;
-        Token n = null;
+        Token loc=null;
+        Token n=null;
 
-        d = null;
-
+        
+        		d = null;
+        	
         try {
             // C:\\dev\\jbossrules\\trunk3\\drools-compiler\\src\\main\\resources\\org\\drools\\lang\\DRL.g:583:3: (loc= ACTIVATION_GROUP n= STRING )
             // C:\\dev\\jbossrules\\trunk3\\drools-compiler\\src\\main\\resources\\org\\drools\\lang\\DRL.g:583:3: loc= ACTIVATION_GROUP n= STRING
             {
-                loc = (Token) this.input.LT( 1 );
-                match( this.input,
-                       ACTIVATION_GROUP,
-                       FOLLOW_ACTIVATION_GROUP_in_activation_group1407 );
-                if ( this.failed ) {
-                    return d;
-                }
-                n = (Token) this.input.LT( 1 );
-                match( this.input,
-                       STRING,
-                       FOLLOW_STRING_in_activation_group1411 );
-                if ( this.failed ) {
-                    return d;
-                }
-                if ( this.backtracking == 0 ) {
+            loc=(Token)input.LT(1);
+            match(input,ACTIVATION_GROUP,FOLLOW_ACTIVATION_GROUP_in_activation_group1407); if (failed) return d;
+            n=(Token)input.LT(1);
+            match(input,STRING,FOLLOW_STRING_in_activation_group1411); if (failed) return d;
+            if ( backtracking==0 ) {
+              
+              			d = new AttributeDescr( "activation-group", getString( n ) );
+              			d.setLocation( offset(loc.getLine()), loc.getCharPositionInLine() );
+              			d.setStartCharacter( ((CommonToken)loc).getStartIndex() );
+              			d.setEndCharacter( ((CommonToken)n).getStopIndex() );
+              		
+            }
 
-                    d = new AttributeDescr( "activation-group",
-                                            getString( n ) );
-                    d.setLocation( offset( loc.getLine() ),
-                                   loc.getCharPositionInLine() );
-                    d.setStartCharacter( ((CommonToken) loc).getStartIndex() );
-                    d.setEndCharacter( ((CommonToken) n).getStopIndex() );
-
-                }
-
             }
 
-        } catch ( final RecognitionException re ) {
-            reportError( re );
-            recover( this.input,
-                     re );
-        } finally {
         }
+        catch (RecognitionException re) {
+            reportError(re);
+            recover(input,re);
+        }
+        finally {
+        }
         return d;
     }
-
     // $ANTLR end activation_group
 
+
     // $ANTLR start ruleflow_group
     // C:\\dev\\jbossrules\\trunk3\\drools-compiler\\src\\main\\resources\\org\\drools\\lang\\DRL.g:592:1: ruleflow_group returns [AttributeDescr d] : loc= RULEFLOW_GROUP n= STRING ;
-    public AttributeDescr ruleflow_group() throws RecognitionException {
+    public final AttributeDescr ruleflow_group() throws RecognitionException {
         AttributeDescr d = null;
 
-        Token loc = null;
-        Token n = null;
+        Token loc=null;
+        Token n=null;
 
-        d = null;
-
+        
+        		d = null;
+        	
         try {
             // C:\\dev\\jbossrules\\trunk3\\drools-compiler\\src\\main\\resources\\org\\drools\\lang\\DRL.g:597:3: (loc= RULEFLOW_GROUP n= STRING )
             // C:\\dev\\jbossrules\\trunk3\\drools-compiler\\src\\main\\resources\\org\\drools\\lang\\DRL.g:597:3: loc= RULEFLOW_GROUP n= STRING
             {
-                loc = (Token) this.input.LT( 1 );
-                match( this.input,
-                       RULEFLOW_GROUP,
-                       FOLLOW_RULEFLOW_GROUP_in_ruleflow_group1443 );
-                if ( this.failed ) {
-                    return d;
-                }
-                n = (Token) this.input.LT( 1 );
-                match( this.input,
-                       STRING,
-                       FOLLOW_STRING_in_ruleflow_group1447 );
-                if ( this.failed ) {
-                    return d;
-                }
-                if ( this.backtracking == 0 ) {
+            loc=(Token)input.LT(1);
+            match(input,RULEFLOW_GROUP,FOLLOW_RULEFLOW_GROUP_in_ruleflow_group1443); if (failed) return d;
+            n=(Token)input.LT(1);
+            match(input,STRING,FOLLOW_STRING_in_ruleflow_group1447); if (failed) return d;
+            if ( backtracking==0 ) {
+              
+              			d = new AttributeDescr( "ruleflow-group", getString( n ) );
+              			d.setLocation( offset(loc.getLine()), loc.getCharPositionInLine() );
+              			d.setStartCharacter( ((CommonToken)loc).getStartIndex() );
+              			d.setEndCharacter( ((CommonToken)n).getStopIndex() );
+              		
+            }
 
-                    d = new AttributeDescr( "ruleflow-group",
-                                            getString( n ) );
-                    d.setLocation( offset( loc.getLine() ),
-                                   loc.getCharPositionInLine() );
-                    d.setStartCharacter( ((CommonToken) loc).getStartIndex() );
-                    d.setEndCharacter( ((CommonToken) n).getStopIndex() );
-
-                }
-
             }
 
-        } catch ( final RecognitionException re ) {
-            reportError( re );
-            recover( this.input,
-                     re );
-        } finally {
         }
+        catch (RecognitionException re) {
+            reportError(re);
+            recover(input,re);
+        }
+        finally {
+        }
         return d;
     }
-
     // $ANTLR end ruleflow_group
 
+
     // $ANTLR start agenda_group
     // C:\\dev\\jbossrules\\trunk3\\drools-compiler\\src\\main\\resources\\org\\drools\\lang\\DRL.g:606:1: agenda_group returns [AttributeDescr d] : loc= AGENDA_GROUP n= STRING ;
-    public AttributeDescr agenda_group() throws RecognitionException {
+    public final AttributeDescr agenda_group() throws RecognitionException {
         AttributeDescr d = null;
 
-        Token loc = null;
-        Token n = null;
+        Token loc=null;
+        Token n=null;
 
-        d = null;
-
+        
+        		d = null;
+        	
         try {
             // C:\\dev\\jbossrules\\trunk3\\drools-compiler\\src\\main\\resources\\org\\drools\\lang\\DRL.g:611:3: (loc= AGENDA_GROUP n= STRING )
             // C:\\dev\\jbossrules\\trunk3\\drools-compiler\\src\\main\\resources\\org\\drools\\lang\\DRL.g:611:3: loc= AGENDA_GROUP n= STRING
             {
-                loc = (Token) this.input.LT( 1 );
-                match( this.input,
-                       AGENDA_GROUP,
-                       FOLLOW_AGENDA_GROUP_in_agenda_group1479 );
-                if ( this.failed ) {
-                    return d;
-                }
-                n = (Token) this.input.LT( 1 );
-                match( this.input,
-                       STRING,
-                       FOLLOW_STRING_in_agenda_group1483 );
-                if ( this.failed ) {
-                    return d;
-                }
-                if ( this.backtracking == 0 ) {
+            loc=(Token)input.LT(1);
+            match(input,AGENDA_GROUP,FOLLOW_AGENDA_GROUP_in_agenda_group1479); if (failed) return d;
+            n=(Token)input.LT(1);
+            match(input,STRING,FOLLOW_STRING_in_agenda_group1483); if (failed) return d;
+            if ( backtracking==0 ) {
+              
+              			d = new AttributeDescr( "agenda-group", getString( n ) );
+              			d.setLocation( offset(loc.getLine()), loc.getCharPositionInLine() );
+              			d.setStartCharacter( ((CommonToken)loc).getStartIndex() );
+              			d.setEndCharacter( ((CommonToken)n).getStopIndex() );
+              		
+            }
 
-                    d = new AttributeDescr( "agenda-group",
-                                            getString( n ) );
-                    d.setLocation( offset( loc.getLine() ),
-                                   loc.getCharPositionInLine() );
-                    d.setStartCharacter( ((CommonToken) loc).getStartIndex() );
-                    d.setEndCharacter( ((CommonToken) n).getStopIndex() );
-
-                }
-
             }
 
-        } catch ( final RecognitionException re ) {
-            reportError( re );
-            recover( this.input,
-                     re );
-        } finally {
         }
+        catch (RecognitionException re) {
+            reportError(re);
+            recover(input,re);
+        }
+        finally {
+        }
         return d;
     }
-
     // $ANTLR end agenda_group
 
+
     // $ANTLR start duration
     // C:\\dev\\jbossrules\\trunk3\\drools-compiler\\src\\main\\resources\\org\\drools\\lang\\DRL.g:621:1: duration returns [AttributeDescr d] : loc= DURATION i= INT ;
-    public AttributeDescr duration() throws RecognitionException {
+    public final AttributeDescr duration() throws RecognitionException {
         AttributeDescr d = null;
 
-        Token loc = null;
-        Token i = null;
+        Token loc=null;
+        Token i=null;
 
-        d = null;
-
+        
+        		d = null;
+        	
         try {
             // C:\\dev\\jbossrules\\trunk3\\drools-compiler\\src\\main\\resources\\org\\drools\\lang\\DRL.g:626:3: (loc= DURATION i= INT )
             // C:\\dev\\jbossrules\\trunk3\\drools-compiler\\src\\main\\resources\\org\\drools\\lang\\DRL.g:626:3: loc= DURATION i= INT
             {
-                loc = (Token) this.input.LT( 1 );
-                match( this.input,
-                       DURATION,
-                       FOLLOW_DURATION_in_duration1518 );
-                if ( this.failed ) {
-                    return d;
-                }
-                i = (Token) this.input.LT( 1 );
-                match( this.input,
-                       INT,
-                       FOLLOW_INT_in_duration1522 );
-                if ( this.failed ) {
-                    return d;
-                }
-                if ( this.backtracking == 0 ) {
+            loc=(Token)input.LT(1);
+            match(input,DURATION,FOLLOW_DURATION_in_duration1518); if (failed) return d;
+            i=(Token)input.LT(1);
+            match(input,INT,FOLLOW_INT_in_duration1522); if (failed) return d;
+            if ( backtracking==0 ) {
+              
+              			d = new AttributeDescr( "duration", i.getText() );
+              			d.setLocation( offset(loc.getLine()), loc.getCharPositionInLine() );
+              			d.setStartCharacter( ((CommonToken)loc).getStartIndex() );
+              			d.setEndCharacter( ((CommonToken)i).getStopIndex() );
+              		
+            }
 
-                    d = new AttributeDescr( "duration",
-                                            i.getText() );
-                    d.setLocation( offset( loc.getLine() ),
-                                   loc.getCharPositionInLine() );
-                    d.setStartCharacter( ((CommonToken) loc).getStartIndex() );
-                    d.setEndCharacter( ((CommonToken) i).getStopIndex() );
-
-                }
-
             }
 
-        } catch ( final RecognitionException re ) {
-            reportError( re );
-            recover( this.input,
-                     re );
-        } finally {
         }
+        catch (RecognitionException re) {
+            reportError(re);
+            recover(input,re);
+        }
+        finally {
+        }
         return d;
     }
-
     // $ANTLR end duration
 
+
     // $ANTLR start lock_on_active
-    // C:\\dev\\jbossrules\\trunk3\\drools-compiler\\src\\main\\resources\\org\\drools\\lang\\DRL.g:637:1: lock_on_active returns [AttributeDescr d] : ( ( ( LOCK_ON_ACTIVE ) )=> (loc= LOCK_ON_ACTIVE ) | (loc= LOCK_ON_ACTIVE t= BOOL ) );
-    public AttributeDescr lock_on_active() throws RecognitionException {
+    // C:\\dev\\jbossrules\\trunk3\\drools-compiler\\src\\main\\resources\\org\\drools\\lang\\DRL.g:637:1: lock_on_active returns [AttributeDescr d] : ( (loc= LOCK_ON_ACTIVE ) | (loc= LOCK_ON_ACTIVE t= BOOL ) );
+    public final AttributeDescr lock_on_active() throws RecognitionException {
         AttributeDescr d = null;
 
-        Token loc = null;
-        Token t = null;
+        Token loc=null;
+        Token t=null;
 
-        d = null;
-
+        
+        		d = null;
+        	
         try {
-            // C:\\dev\\jbossrules\\trunk3\\drools-compiler\\src\\main\\resources\\org\\drools\\lang\\DRL.g:642:3: ( ( ( LOCK_ON_ACTIVE ) )=> (loc= LOCK_ON_ACTIVE ) | (loc= LOCK_ON_ACTIVE t= BOOL ) )
-            int alt21 = 2;
-            final int LA21_0 = this.input.LA( 1 );
-            if ( (LA21_0 == LOCK_ON_ACTIVE) ) {
-                final int LA21_1 = this.input.LA( 2 );
-                if ( (LA21_1 == BOOL) ) {
-                    alt21 = 2;
-                } else if ( (LA21_1 == EOF || LA21_1 == WHEN || LA21_1 == DATE_EFFECTIVE || (LA21_1 >= DATE_EXPIRES && LA21_1 <= ENABLED) || LA21_1 == SALIENCE || (LA21_1 >= NO_LOOP && LA21_1 <= LOCK_ON_ACTIVE) || LA21_1 == THEN || LA21_1 == 66) ) {
-                    alt21 = 1;
-                } else {
-                    if ( this.backtracking > 0 ) {
-                        this.failed = true;
-                        return d;
-                    }
-                    final NoViableAltException nvae = new NoViableAltException( "637:1: lock_on_active returns [AttributeDescr d] : ( ( ( LOCK_ON_ACTIVE ) )=> (loc= LOCK_ON_ACTIVE ) | (loc= LOCK_ON_ACTIVE t= BOOL ) );",
-                                                                          21,
-                                                                          1,
-                                                                          this.input );
+            // C:\\dev\\jbossrules\\trunk3\\drools-compiler\\src\\main\\resources\\org\\drools\\lang\\DRL.g:642:3: ( (loc= LOCK_ON_ACTIVE ) | (loc= LOCK_ON_ACTIVE t= BOOL ) )
+            int alt21=2;
+            int LA21_0 = input.LA(1);
 
-                    throw nvae;
+            if ( (LA21_0==LOCK_ON_ACTIVE) ) {
+                int LA21_1 = input.LA(2);
+
+                if ( (LA21_1==BOOL) ) {
+                    alt21=2;
                 }
-            } else {
-                if ( this.backtracking > 0 ) {
-                    this.failed = true;
-                    return d;
+                else if ( (LA21_1==EOF||LA21_1==WHEN||LA21_1==DATE_EFFECTIVE||(LA21_1>=DATE_EXPIRES && LA21_1<=ENABLED)||LA21_1==SALIENCE||(LA21_1>=NO_LOOP && LA21_1<=LOCK_ON_ACTIVE)||LA21_1==THEN||LA21_1==66) ) {
+                    alt21=1;
                 }
-                final NoViableAltException nvae = new NoViableAltException( "637:1: lock_on_active returns [AttributeDescr d] : ( ( ( LOCK_ON_ACTIVE ) )=> (loc= LOCK_ON_ACTIVE ) | (loc= LOCK_ON_ACTIVE t= BOOL ) );",
-                                                                      21,
-                                                                      0,
-                                                                      this.input );
+                else {
+                    if (backtracking>0) {failed=true; return d;}
+                    NoViableAltException nvae =
+                        new NoViableAltException("637:1: lock_on_active returns [AttributeDescr d] : ( (loc= LOCK_ON_ACTIVE ) | (loc= LOCK_ON_ACTIVE t= BOOL ) );", 21, 1, input);
 
+                    throw nvae;
+                }
+            }
+            else {
+                if (backtracking>0) {failed=true; return d;}
+                NoViableAltException nvae =
+                    new NoViableAltException("637:1: lock_on_active returns [AttributeDescr d] : ( (loc= LOCK_ON_ACTIVE ) | (loc= LOCK_ON_ACTIVE t= BOOL ) );", 21, 0, input);
+
                 throw nvae;
             }
-            switch ( alt21 ) {
+            switch (alt21) {
                 case 1 :
-                    // C:\\dev\\jbossrules\\trunk3\\drools-compiler\\src\\main\\resources\\org\\drools\\lang\\DRL.g:642:3: ( ( LOCK_ON_ACTIVE ) )=> (loc= LOCK_ON_ACTIVE )
-                {
                     // C:\\dev\\jbossrules\\trunk3\\drools-compiler\\src\\main\\resources\\org\\drools\\lang\\DRL.g:642:3: (loc= LOCK_ON_ACTIVE )
+                    {
+                    // C:\\dev\\jbossrules\\trunk3\\drools-compiler\\src\\main\\resources\\org\\drools\\lang\\DRL.g:642:3: (loc= LOCK_ON_ACTIVE )
                     // C:\\dev\\jbossrules\\trunk3\\drools-compiler\\src\\main\\resources\\org\\drools\\lang\\DRL.g:643:4: loc= LOCK_ON_ACTIVE
                     {
-                        loc = (Token) this.input.LT( 1 );
-                        match( this.input,
-                               LOCK_ON_ACTIVE,
-                               FOLLOW_LOCK_ON_ACTIVE_in_lock_on_active1564 );
-                        if ( this.failed ) {
-                            return d;
-                        }
-                        if ( this.backtracking == 0 ) {
+                    loc=(Token)input.LT(1);
+                    match(input,LOCK_ON_ACTIVE,FOLLOW_LOCK_ON_ACTIVE_in_lock_on_active1564); if (failed) return d;
+                    if ( backtracking==0 ) {
+                      
+                      				d = new AttributeDescr( "lock-on-active", "true" );
+                      				d.setLocation( offset(loc.getLine()), loc.getCharPositionInLine() );
+                      				d.setStartCharacter( ((CommonToken)loc).getStartIndex() );
+                      				d.setEndCharacter( ((CommonToken)loc).getStopIndex() );
+                      			
+                    }
 
-                            d = new AttributeDescr( "lock-on-active",
-                                                    "true" );
-                            d.setLocation( offset( loc.getLine() ),
-                                           loc.getCharPositionInLine() );
-                            d.setStartCharacter( ((CommonToken) loc).getStartIndex() );
-                            d.setEndCharacter( ((CommonToken) loc).getStopIndex() );
+                    }
 
-                        }
 
                     }
-
-                }
                     break;
                 case 2 :
                     // C:\\dev\\jbossrules\\trunk3\\drools-compiler\\src\\main\\resources\\org\\drools\\lang\\DRL.g:652:3: (loc= LOCK_ON_ACTIVE t= BOOL )
-                {
+                    {
                     // C:\\dev\\jbossrules\\trunk3\\drools-compiler\\src\\main\\resources\\org\\drools\\lang\\DRL.g:652:3: (loc= LOCK_ON_ACTIVE t= BOOL )
                     // C:\\dev\\jbossrules\\trunk3\\drools-compiler\\src\\main\\resources\\org\\drools\\lang\\DRL.g:653:4: loc= LOCK_ON_ACTIVE t= BOOL
                     {
-                        loc = (Token) this.input.LT( 1 );
-                        match( this.input,
-                               LOCK_ON_ACTIVE,
-                               FOLLOW_LOCK_ON_ACTIVE_in_lock_on_active1592 );
-                        if ( this.failed ) {
-                            return d;
-                        }
-                        t = (Token) this.input.LT( 1 );
-                        match( this.input,
-                               BOOL,
-                               FOLLOW_BOOL_in_lock_on_active1596 );
-                        if ( this.failed ) {
-                            return d;
-                        }
-                        if ( this.backtracking == 0 ) {
+                    loc=(Token)input.LT(1);
+                    match(input,LOCK_ON_ACTIVE,FOLLOW_LOCK_ON_ACTIVE_in_lock_on_active1592); if (failed) return d;
+                    t=(Token)input.LT(1);
+                    match(input,BOOL,FOLLOW_BOOL_in_lock_on_active1596); if (failed) return d;
+                    if ( backtracking==0 ) {
+                      
+                      				d = new AttributeDescr( "lock-on-active", t.getText() );
+                      				d.setLocation( offset(loc.getLine()), loc.getCharPositionInLine() );
+                      				d.setStartCharacter( ((CommonToken)loc).getStartIndex() );
+                      				d.setEndCharacter( ((CommonToken)t).getStopIndex() );
+                      			
+                    }
 
-                            d = new AttributeDescr( "lock-on-active",
-                                                    t.getText() );
-                            d.setLocation( offset( loc.getLine() ),
-                                           loc.getCharPositionInLine() );
-                            d.setStartCharacter( ((CommonToken) loc).getStartIndex() );
-                            d.setEndCharacter( ((CommonToken) t).getStopIndex() );
+                    }
 
-                        }
 
                     }
-
-                }
                     break;
 
             }
-        } catch ( final RecognitionException re ) {
-            reportError( re );
-            recover( this.input,
-                     re );
-        } finally {
         }
+        catch (RecognitionException re) {
+            reportError(re);
+            recover(input,re);
+        }
+        finally {
+        }
         return d;
     }
-
     // $ANTLR end lock_on_active
 
+
     // $ANTLR start normal_lhs_block
-    // C:\\dev\\jbossrules\\trunk3\\drools-compiler\\src\\main\\resources\\org\\drools\\lang\\DRL.g:665:1: normal_lhs_block[AndDescr descr] : ( ( lhs[descr] )=>d= lhs[descr] )* ;
-    public void normal_lhs_block(final AndDescr descr) throws RecognitionException {
+    // C:\\dev\\jbossrules\\trunk3\\drools-compiler\\src\\main\\resources\\org\\drools\\lang\\DRL.g:665:1: normal_lhs_block[AndDescr descr] : (d= lhs[descr] )* ;
+    public final void normal_lhs_block(AndDescr descr) throws RecognitionException {
         BaseDescr d = null;
 
+
         try {
-            // C:\\dev\\jbossrules\\trunk3\\drools-compiler\\src\\main\\resources\\org\\drools\\lang\\DRL.g:667:3: ( ( ( lhs[descr] )=>d= lhs[descr] )* )
-            // C:\\dev\\jbossrules\\trunk3\\drools-compiler\\src\\main\\resources\\org\\drools\\lang\\DRL.g:667:3: ( ( lhs[descr] )=>d= lhs[descr] )*
+            // C:\\dev\\jbossrules\\trunk3\\drools-compiler\\src\\main\\resources\\org\\drools\\lang\\DRL.g:667:3: ( (d= lhs[descr] )* )
+            // C:\\dev\\jbossrules\\trunk3\\drools-compiler\\src\\main\\resources\\org\\drools\\lang\\DRL.g:667:3: (d= lhs[descr] )*
             {
-                // C:\\dev\\jbossrules\\trunk3\\drools-compiler\\src\\main\\resources\\org\\drools\\lang\\DRL.g:667:3: ( ( lhs[descr] )=>d= lhs[descr] )*
-                loop22 : do {
-                    int alt22 = 2;
-                    final int LA22_0 = this.input.LA( 1 );
-                    if ( (LA22_0 == ID || LA22_0 == LEFT_PAREN || (LA22_0 >= EXISTS && LA22_0 <= FORALL)) ) {
-                        alt22 = 1;
-                    }
+            // C:\\dev\\jbossrules\\trunk3\\drools-compiler\\src\\main\\resources\\org\\drools\\lang\\DRL.g:667:3: (d= lhs[descr] )*
+            loop22:
+            do {
+                int alt22=2;
+                int LA22_0 = input.LA(1);
 
-                    switch ( alt22 ) {
-                        case 1 :
-                            // C:\\dev\\jbossrules\\trunk3\\drools-compiler\\src\\main\\resources\\org\\drools\\lang\\DRL.g:667:5: ( lhs[descr] )=>d= lhs[descr]
-                        {
-                            pushFollow( FOLLOW_lhs_in_normal_lhs_block1634 );
-                            d = lhs( descr );
-                            this._fsp--;
-                            if ( this.failed ) {
-                                return;
-                            }
-                            if ( this.backtracking == 0 ) {
-                                if ( d != null ) {
-                                    descr.addDescr( d );
-                                }
-                            }
+                if ( (LA22_0==ID||LA22_0==LEFT_PAREN||(LA22_0>=EXISTS && LA22_0<=FORALL)) ) {
+                    alt22=1;
+                }
 
-                        }
-                            break;
 
-                        default :
-                            break loop22;
-                    }
-                } while ( true );
+                switch (alt22) {
+            	case 1 :
+            	    // C:\\dev\\jbossrules\\trunk3\\drools-compiler\\src\\main\\resources\\org\\drools\\lang\\DRL.g:667:5: d= lhs[descr]
+            	    {
+            	    pushFollow(FOLLOW_lhs_in_normal_lhs_block1634);
+            	    d=lhs(descr);
+            	    _fsp--;
+            	    if (failed) return ;
+            	    if ( backtracking==0 ) {
+            	       if(d != null) descr.addDescr( d ); 
+            	    }
 
+            	    }
+            	    break;
+
+            	default :
+            	    break loop22;
+                }
+            } while (true);
+
+
             }
 
-        } catch ( final RecognitionException re ) {
-            reportError( re );
-            recover( this.input,
-                     re );
-        } finally {
         }
-        return;
+        catch (RecognitionException re) {
+            reportError(re);
+            recover(input,re);
+        }
+        finally {
+        }
+        return ;
     }
-
     // $ANTLR end normal_lhs_block
 
+
     // $ANTLR start lhs
     // C:\\dev\\jbossrules\\trunk3\\drools-compiler\\src\\main\\resources\\org\\drools\\lang\\DRL.g:673:1: lhs[ConditionalElementDescr ce] returns [BaseDescr d] : l= lhs_or ;
-    public BaseDescr lhs(final ConditionalElementDescr ce) throws RecognitionException {
+    public final BaseDescr lhs(ConditionalElementDescr ce) throws RecognitionException {
         BaseDescr d = null;
 
         BaseDescr l = null;
 
-        d = null;
 
+        
+        		d=null;
+        	
         try {
             // C:\\dev\\jbossrules\\trunk3\\drools-compiler\\src\\main\\resources\\org\\drools\\lang\\DRL.g:677:4: (l= lhs_or )
             // C:\\dev\\jbossrules\\trunk3\\drools-compiler\\src\\main\\resources\\org\\drools\\lang\\DRL.g:677:4: l= lhs_or
             {
-                pushFollow( FOLLOW_lhs_or_in_lhs1671 );
-                l = lhs_or();
-                this._fsp--;
-                if ( this.failed ) {
-                    return d;
-                }
-                if ( this.backtracking == 0 ) {
-                    d = l;
-                }
+            pushFollow(FOLLOW_lhs_or_in_lhs1671);
+            l=lhs_or();
+            _fsp--;
+            if (failed) return d;
+            if ( backtracking==0 ) {
+               d = l; 
+            }
 
             }
 
-        } catch ( final RecognitionException re ) {
-            reportError( re );
-            recover( this.input,
-                     re );
-        } finally {
         }
+        catch (RecognitionException re) {
+            reportError(re);
+            recover(input,re);
+        }
+        finally {
+        }
         return d;
     }
-
     // $ANTLR end lhs
 
-    // $ANTLR start lhs_column
-    // C:\\dev\\jbossrules\\trunk3\\drools-compiler\\src\\main\\resources\\org\\drools\\lang\\DRL.g:681:1: lhs_column returns [BaseDescr d] : ( ( fact_binding )=>f= fact_binding | f= fact );
-    public BaseDescr lhs_column() throws RecognitionException {
+
+    // $ANTLR start lhs_pattern
+    // C:\\dev\\jbossrules\\trunk3\\drools-compiler\\src\\main\\resources\\org\\drools\\lang\\DRL.g:681:1: lhs_pattern returns [BaseDescr d] : (f= fact_binding | f= fact );
+    public final BaseDescr lhs_pattern() throws RecognitionException {
         BaseDescr d = null;
 
         BaseDescr f = null;
 
-        d = null;
 
+        
+        		d=null;
+        	
         try {
-            // C:\\dev\\jbossrules\\trunk3\\drools-compiler\\src\\main\\resources\\org\\drools\\lang\\DRL.g:685:4: ( ( fact_binding )=>f= fact_binding | f= fact )
-            int alt23 = 2;
-            final int LA23_0 = this.input.LA( 1 );
-            if ( (LA23_0 == ID) ) {
-                final int LA23_1 = this.input.LA( 2 );
-                if ( (LA23_1 == 67) ) {
-                    alt23 = 1;
-                } else if ( (LA23_1 == LEFT_PAREN || LA23_1 == LEFT_SQUARE || LA23_1 == 64) ) {
-                    alt23 = 2;
-                } else {
-                    if ( this.backtracking > 0 ) {
-                        this.failed = true;
-                        return d;
-                    }
-                    final NoViableAltException nvae = new NoViableAltException( "681:1: lhs_column returns [BaseDescr d] : ( ( fact_binding )=>f= fact_binding | f= fact );",
-                                                                          23,
-                                                                          1,
-                                                                          this.input );
+            // C:\\dev\\jbossrules\\trunk3\\drools-compiler\\src\\main\\resources\\org\\drools\\lang\\DRL.g:685:4: (f= fact_binding | f= fact )
+            int alt23=2;
+            int LA23_0 = input.LA(1);
 
-                    throw nvae;
+            if ( (LA23_0==ID) ) {
+                int LA23_1 = input.LA(2);
+
+                if ( (LA23_1==67) ) {
+                    alt23=1;
                 }
-            } else {
-                if ( this.backtracking > 0 ) {
-                    this.failed = true;
-                    return d;
+                else if ( (LA23_1==LEFT_PAREN||LA23_1==LEFT_SQUARE||LA23_1==64) ) {
+                    alt23=2;
                 }
-                final NoViableAltException nvae = new NoViableAltException( "681:1: lhs_column returns [BaseDescr d] : ( ( fact_binding )=>f= fact_binding | f= fact );",
-                                                                      23,
-                                                                      0,
-                                                                      this.input );
+                else {
+                    if (backtracking>0) {failed=true; return d;}
+                    NoViableAltException nvae =
+                        new NoViableAltException("681:1: lhs_pattern returns [BaseDescr d] : (f= fact_binding | f= fact );", 23, 1, input);
 
+                    throw nvae;
+                }
+            }
+            else {
+                if (backtracking>0) {failed=true; return d;}
+                NoViableAltException nvae =
+                    new NoViableAltException("681:1: lhs_pattern returns [BaseDescr d] : (f= fact_binding | f= fact );", 23, 0, input);
+
                 throw nvae;
             }
-            switch ( alt23 ) {
+            switch (alt23) {
                 case 1 :
-                    // C:\\dev\\jbossrules\\trunk3\\drools-compiler\\src\\main\\resources\\org\\drools\\lang\\DRL.g:685:4: ( fact_binding )=>f= fact_binding
-                {
-                    pushFollow( FOLLOW_fact_binding_in_lhs_column1699 );
-                    f = fact_binding();
-                    this._fsp--;
-                    if ( this.failed ) {
-                        return d;
+                    // C:\\dev\\jbossrules\\trunk3\\drools-compiler\\src\\main\\resources\\org\\drools\\lang\\DRL.g:685:4: f= fact_binding
+                    {
+                    pushFollow(FOLLOW_fact_binding_in_lhs_pattern1699);
+                    f=fact_binding();
+                    _fsp--;
+                    if (failed) return d;
+                    if ( backtracking==0 ) {
+                       d = f; 
                     }
-                    if ( this.backtracking == 0 ) {
-                        d = f;
-                    }
 
-                }
+                    }
                     break;
                 case 2 :
                     // C:\\dev\\jbossrules\\trunk3\\drools-compiler\\src\\main\\resources\\org\\drools\\lang\\DRL.g:686:4: f= fact
-                {
-                    pushFollow( FOLLOW_fact_in_lhs_column1708 );
-                    f = fact();
-                    this._fsp--;
-                    if ( this.failed ) {
-                        return d;
+                    {
+                    pushFollow(FOLLOW_fact_in_lhs_pattern1708);
+                    f=fact();
+                    _fsp--;
+                    if (failed) return d;
+                    if ( backtracking==0 ) {
+                       d = f; 
                     }
-                    if ( this.backtracking == 0 ) {
-                        d = f;
-                    }
 
-                }
+                    }
                     break;
 
             }
-        } catch ( final RecognitionException re ) {
-            reportError( re );
-            recover( this.input,
-                     re );
-        } finally {
         }
+        catch (RecognitionException re) {
+            reportError(re);
+            recover(input,re);
+        }
+        finally {
+        }
         return d;
     }
+    // $ANTLR end lhs_pattern
 
-    // $ANTLR end lhs_column
 
     // $ANTLR start from_statement
     // C:\\dev\\jbossrules\\trunk3\\drools-compiler\\src\\main\\resources\\org\\drools\\lang\\DRL.g:689:1: from_statement returns [FromDescr d] : ds= from_source[d] ;
-    public FromDescr from_statement() throws RecognitionException {
+    public final FromDescr from_statement() throws RecognitionException {
         FromDescr d = null;
 
         DeclarativeInvokerDescr ds = null;
 
-        d = this.factory.createFrom();
 
+        
+        		d=factory.createFrom();
+        	
         try {
             // C:\\dev\\jbossrules\\trunk3\\drools-compiler\\src\\main\\resources\\org\\drools\\lang\\DRL.g:694:2: (ds= from_source[d] )
             // C:\\dev\\jbossrules\\trunk3\\drools-compiler\\src\\main\\resources\\org\\drools\\lang\\DRL.g:694:2: ds= from_source[d]
             {
-                pushFollow( FOLLOW_from_source_in_from_statement1735 );
-                ds = from_source( d );
-                this._fsp--;
-                if ( this.failed ) {
-                    return d;
-                }
-                if ( this.backtracking == 0 ) {
+            pushFollow(FOLLOW_from_source_in_from_statement1735);
+            ds=from_source(d);
+            _fsp--;
+            if (failed) return d;
+            if ( backtracking==0 ) {
+              
+              			d.setDataSource(ds);
+              		
+              		
+            }
 
-                    d.setDataSource( ds );
-
-                }
-
             }
 
-        } catch ( final RecognitionException re ) {
-            reportError( re );
-            recover( this.input,
-                     re );
-        } finally {
         }
+        catch (RecognitionException re) {
+            reportError(re);
+            recover(input,re);
+        }
+        finally {
+        }
         return d;
     }
-
     // $ANTLR end from_statement
 
+
     // $ANTLR start from_source
-    // C:\\dev\\jbossrules\\trunk3\\drools-compiler\\src\\main\\resources\\org\\drools\\lang\\DRL.g:704:1: from_source[FromDescr from] returns [DeclarativeInvokerDescr ds] : ident= identifier ( ( paren_chunk[from] )=>args= paren_chunk[from] )? ( ( expression_chain[from, ad] )=> expression_chain[from, ad] )? ;
-    public DeclarativeInvokerDescr from_source(final FromDescr from) throws RecognitionException {
+    // C:\\dev\\jbossrules\\trunk3\\drools-compiler\\src\\main\\resources\\org\\drools\\lang\\DRL.g:704:1: from_source[FromDescr from] returns [DeclarativeInvokerDescr ds] : ident= identifier (args= paren_chunk[from] )? ( expression_chain[from, ad] )? ;
+    public final DeclarativeInvokerDescr from_source(FromDescr from) throws RecognitionException {
         DeclarativeInvokerDescr ds = null;
 
         Token ident = null;
 
         String args = null;
 
-        ds = null;
-        AccessorDescr ad = null;
 
+        
+        		ds = null;
+        		AccessorDescr ad = null;
+        	
         try {
-            // C:\\dev\\jbossrules\\trunk3\\drools-compiler\\src\\main\\resources\\org\\drools\\lang\\DRL.g:710:3: (ident= identifier ( ( paren_chunk[from] )=>args= paren_chunk[from] )? ( ( expression_chain[from, ad] )=> expression_chain[from, ad] )? )
-            // C:\\dev\\jbossrules\\trunk3\\drools-compiler\\src\\main\\resources\\org\\drools\\lang\\DRL.g:710:3: ident= identifier ( ( paren_chunk[from] )=>args= paren_chunk[from] )? ( ( expression_chain[from, ad] )=> expression_chain[from, ad] )?
+            // C:\\dev\\jbossrules\\trunk3\\drools-compiler\\src\\main\\resources\\org\\drools\\lang\\DRL.g:710:3: (ident= identifier (args= paren_chunk[from] )? ( expression_chain[from, ad] )? )
+            // C:\\dev\\jbossrules\\trunk3\\drools-compiler\\src\\main\\resources\\org\\drools\\lang\\DRL.g:710:3: ident= identifier (args= paren_chunk[from] )? ( expression_chain[from, ad] )?
             {
-                pushFollow( FOLLOW_identifier_in_from_source1777 );
-                ident = identifier();
-                this._fsp--;
-                if ( this.failed ) {
-                    return ds;
-                }
-                if ( this.backtracking == 0 ) {
+            pushFollow(FOLLOW_identifier_in_from_source1777);
+            ident=identifier();
+            _fsp--;
+            if (failed) return ds;
+            if ( backtracking==0 ) {
+              
+              			ad = new AccessorDescr(ident.getText());	
+              			ad.setLocation( offset(ident.getLine()), ident.getCharPositionInLine() );
+              			ad.setStartCharacter( ((CommonToken)ident).getStartIndex() );
+              			ad.setEndCharacter( ((CommonToken)ident).getStopIndex() );
+              			ds = ad;
+              		
+            }
+            // C:\\dev\\jbossrules\\trunk3\\drools-compiler\\src\\main\\resources\\org\\drools\\lang\\DRL.g:718:3: (args= paren_chunk[from] )?
+            int alt24=2;
+            int LA24_0 = input.LA(1);
 
-                    ad = new AccessorDescr( ident.getText() );
-                    ad.setLocation( offset( ident.getLine() ),
-                                    ident.getCharPositionInLine() );
-                    ad.setStartCharacter( ((CommonToken) ident).getStartIndex() );
-                    ad.setEndCharacter( ((CommonToken) ident).getStopIndex() );
-                    ds = ad;
+            if ( (LA24_0==LEFT_PAREN) ) {
+                int LA24_1 = input.LA(2);
 
+                if ( (synpred38()) ) {
+                    alt24=1;
                 }
-                // C:\\dev\\jbossrules\\trunk3\\drools-compiler\\src\\main\\resources\\org\\drools\\lang\\DRL.g:718:3: ( ( paren_chunk[from] )=>args= paren_chunk[from] )?
-                int alt24 = 2;
-                final int LA24_0 = this.input.LA( 1 );
-                if ( (LA24_0 == LEFT_PAREN) ) {
-                    if ( (synpred38()) ) {
-                        alt24 = 1;
-                    }
-                }
-                switch ( alt24 ) {
-                    case 1 :
-                        // C:\\dev\\jbossrules\\trunk3\\drools-compiler\\src\\main\\resources\\org\\drools\\lang\\DRL.g:718:4: ( paren_chunk[from] )=>args= paren_chunk[from]
+            }
+            switch (alt24) {
+                case 1 :
+                    // C:\\dev\\jbossrules\\trunk3\\drools-compiler\\src\\main\\resources\\org\\drools\\lang\\DRL.g:718:4: args= paren_chunk[from]
                     {
-                        pushFollow( FOLLOW_paren_chunk_in_from_source1788 );
-                        args = paren_chunk( from );
-                        this._fsp--;
-                        if ( this.failed ) {
-                            return ds;
-                        }
-                        if ( this.backtracking == 0 ) {
+                    pushFollow(FOLLOW_paren_chunk_in_from_source1788);
+                    args=paren_chunk(from);
+                    _fsp--;
+                    if (failed) return ds;
+                    if ( backtracking==0 ) {
+                      
+                      			if( args != null ) {
+                      				ad.setVariableName( null );
+                      				FunctionCallDescr fc = new FunctionCallDescr(ident.getText());
+                      				fc.setLocation( offset(ident.getLine()), ident.getCharPositionInLine() );			
+                      				fc.setArguments(args);
+                      				fc.setStartCharacter( ((CommonToken)ident).getStartIndex() );
+                      				fc.setEndCharacter( ((CommonToken)ident).getStopIndex() );
+                      				ad.addInvoker(fc);
+                      			}
+                      		
+                    }
 
-                            if ( args != null ) {
-                                ad.setVariableName( null );
-                                final FunctionCallDescr fc = new FunctionCallDescr( ident.getText() );
-                                fc.setLocation( offset( ident.getLine() ),
-                                                ident.getCharPositionInLine() );
-                                fc.setArguments( args );
-                                fc.setStartCharacter( ((CommonToken) ident).getStartIndex() );
-                                fc.setEndCharacter( ((CommonToken) ident).getStopIndex() );
-                                ad.addInvoker( fc );
-                            }
-
-                        }
-
                     }
-                        break;
+                    break;
 
-                }
+            }
 
-                // C:\\dev\\jbossrules\\trunk3\\drools-compiler\\src\\main\\resources\\org\\drools\\lang\\DRL.g:731:3: ( ( expression_chain[from, ad] )=> expression_chain[from, ad] )?
-                int alt25 = 2;
-                final int LA25_0 = this.input.LA( 1 );
-                if ( (LA25_0 == 64) ) {
-                    alt25 = 1;
-                }
-                switch ( alt25 ) {
-                    case 1 :
-                        // C:\\dev\\jbossrules\\trunk3\\drools-compiler\\src\\main\\resources\\org\\drools\\lang\\DRL.g:0:0: ( expression_chain[from, ad] )=> expression_chain[from, ad]
+            // C:\\dev\\jbossrules\\trunk3\\drools-compiler\\src\\main\\resources\\org\\drools\\lang\\DRL.g:731:3: ( expression_chain[from, ad] )?
+            int alt25=2;
+            int LA25_0 = input.LA(1);
+
+            if ( (LA25_0==64) ) {
+                alt25=1;
+            }
+            switch (alt25) {
+                case 1 :
+                    // C:\\dev\\jbossrules\\trunk3\\drools-compiler\\src\\main\\resources\\org\\drools\\lang\\DRL.g:0:0: expression_chain[from, ad]
                     {
-                        pushFollow( FOLLOW_expression_chain_in_from_source1802 );
-                        expression_chain( from,
-                                          ad );
-                        this._fsp--;
-                        if ( this.failed ) {
-                            return ds;
-                        }
+                    pushFollow(FOLLOW_expression_chain_in_from_source1802);
+                    expression_chain(from,  ad);
+                    _fsp--;
+                    if (failed) return ds;
 
                     }
-                        break;
+                    break;
 
-                }
+            }
 
+
             }
 
-        } catch ( final RecognitionException re ) {
-            reportError( re );
-            recover( this.input,
-                     re );
-        } finally {
         }
+        catch (RecognitionException re) {
+            reportError(re);
+            recover(input,re);
+        }
+        finally {
+        }
         return ds;
     }
-
     // $ANTLR end from_source
 
+
     // $ANTLR start expression_chain
-    // C:\\dev\\jbossrules\\trunk3\\drools-compiler\\src\\main\\resources\\org\\drools\\lang\\DRL.g:734:1: expression_chain[FromDescr from, AccessorDescr as] : ( '.' field= identifier ( ( LEFT_SQUARE )=>sqarg= square_chunk[from] | ( LEFT_PAREN )=>paarg= paren_chunk[from] )? ( ( expression_chain[from, as] )=> expression_chain[from, as] )? ) ;
-    public void expression_chain(final FromDescr from,
-                                 final AccessorDescr as) throws RecognitionException {
+    // C:\\dev\\jbossrules\\trunk3\\drools-compiler\\src\\main\\resources\\org\\drools\\lang\\DRL.g:734:1: expression_chain[FromDescr from, AccessorDescr as] : ( '.' field= identifier ( ( LEFT_SQUARE )=>sqarg= square_chunk[from] | ( LEFT_PAREN )=>paarg= paren_chunk[from] )? ( expression_chain[from, as] )? ) ;
+    public final void expression_chain(FromDescr from, AccessorDescr as) throws RecognitionException {
         Token field = null;
 
         String sqarg = null;
 
         String paarg = null;
 
-        FieldAccessDescr fa = null;
-        MethodAccessDescr ma = null;
 
+        
+          		FieldAccessDescr fa = null;
+        	    	MethodAccessDescr ma = null;	
+        	
         try {
-            // C:\\dev\\jbossrules\\trunk3\\drools-compiler\\src\\main\\resources\\org\\drools\\lang\\DRL.g:740:2: ( ( '.' field= identifier ( ( LEFT_SQUARE )=>sqarg= square_chunk[from] | ( LEFT_PAREN )=>paarg= paren_chunk[from] )? ( ( expression_chain[from, as] )=> expression_chain[from, as] )? ) )
-            // C:\\dev\\jbossrules\\trunk3\\drools-compiler\\src\\main\\resources\\org\\drools\\lang\\DRL.g:740:2: ( '.' field= identifier ( ( LEFT_SQUARE )=>sqarg= square_chunk[from] | ( LEFT_PAREN )=>paarg= paren_chunk[from] )? ( ( expression_chain[from, as] )=> expression_chain[from, as] )? )
+            // C:\\dev\\jbossrules\\trunk3\\drools-compiler\\src\\main\\resources\\org\\drools\\lang\\DRL.g:740:2: ( ( '.' field= identifier ( ( LEFT_SQUARE )=>sqarg= square_chunk[from] | ( LEFT_PAREN )=>paarg= paren_chunk[from] )? ( expression_chain[from, as] )? ) )
+            // C:\\dev\\jbossrules\\trunk3\\drools-compiler\\src\\main\\resources\\org\\drools\\lang\\DRL.g:740:2: ( '.' field= identifier ( ( LEFT_SQUARE )=>sqarg= square_chunk[from] | ( LEFT_PAREN )=>paarg= paren_chunk[from] )? ( expression_chain[from, as] )? )
             {
-                // C:\\dev\\jbossrules\\trunk3\\drools-compiler\\src\\main\\resources\\org\\drools\\lang\\DRL.g:740:2: ( '.' field= identifier ( ( LEFT_SQUARE )=>sqarg= square_chunk[from] | ( LEFT_PAREN )=>paarg= paren_chunk[from] )? ( ( expression_chain[from, as] )=> expression_chain[from, as] )? )
-                // C:\\dev\\jbossrules\\trunk3\\drools-compiler\\src\\main\\resources\\org\\drools\\lang\\DRL.g:740:4: '.' field= identifier ( ( LEFT_SQUARE )=>sqarg= square_chunk[from] | ( LEFT_PAREN )=>paarg= paren_chunk[from] )? ( ( expression_chain[from, as] )=> expression_chain[from, as] )?
-                {
-                    match( this.input,
-                           64,
-                           FOLLOW_64_in_expression_chain1827 );
-                    if ( this.failed ) {
-                        return;
-                    }
-                    pushFollow( FOLLOW_identifier_in_expression_chain1831 );
-                    field = identifier();
-                    this._fsp--;
-                    if ( this.failed ) {
-                        return;
-                    }
-                    if ( this.backtracking == 0 ) {
+            // C:\\dev\\jbossrules\\trunk3\\drools-compiler\\src\\main\\resources\\org\\drools\\lang\\DRL.g:740:2: ( '.' field= identifier ( ( LEFT_SQUARE )=>sqarg= square_chunk[from] | ( LEFT_PAREN )=>paarg= paren_chunk[from] )? ( expression_chain[from, as] )? )
+            // C:\\dev\\jbossrules\\trunk3\\drools-compiler\\src\\main\\resources\\org\\drools\\lang\\DRL.g:740:4: '.' field= identifier ( ( LEFT_SQUARE )=>sqarg= square_chunk[from] | ( LEFT_PAREN )=>paarg= paren_chunk[from] )? ( expression_chain[from, as] )?
+            {
+            match(input,64,FOLLOW_64_in_expression_chain1827); if (failed) return ;
+            pushFollow(FOLLOW_identifier_in_expression_chain1831);
+            field=identifier();
+            _fsp--;
+            if (failed) return ;
+            if ( backtracking==0 ) {
+              
+              	        fa = new FieldAccessDescr(field.getText());	
+              		fa.setLocation( offset(field.getLine()), field.getCharPositionInLine() );
+              		fa.setStartCharacter( ((CommonToken)field).getStartIndex() );
+              		fa.setEndCharacter( ((CommonToken)field).getStopIndex() );
+              	    
+            }
+            // C:\\dev\\jbossrules\\trunk3\\drools-compiler\\src\\main\\resources\\org\\drools\\lang\\DRL.g:747:4: ( ( LEFT_SQUARE )=>sqarg= square_chunk[from] | ( LEFT_PAREN )=>paarg= paren_chunk[from] )?
+            int alt26=3;
+            int LA26_0 = input.LA(1);
 
-                        fa = new FieldAccessDescr( field.getText() );
-                        fa.setLocation( offset( field.getLine() ),
-                                        field.getCharPositionInLine() );
-                        fa.setStartCharacter( ((CommonToken) field).getStartIndex() );
-                        fa.setEndCharacter( ((CommonToken) field).getStopIndex() );
+            if ( (LA26_0==LEFT_SQUARE) && (synpred40())) {
+                alt26=1;
+            }
+            else if ( (LA26_0==LEFT_PAREN) ) {
+                int LA26_2 = input.LA(2);
 
+                if ( (synpred41()) ) {
+                    alt26=2;
+                }
+            }
+            switch (alt26) {
+                case 1 :
+                    // C:\\dev\\jbossrules\\trunk3\\drools-compiler\\src\\main\\resources\\org\\drools\\lang\\DRL.g:748:6: ( LEFT_SQUARE )=>sqarg= square_chunk[from]
+                    {
+                    pushFollow(FOLLOW_square_chunk_in_expression_chain1862);
+                    sqarg=square_chunk(from);
+                    _fsp--;
+                    if (failed) return ;
+                    if ( backtracking==0 ) {
+                      
+                      	          fa.setArgument( sqarg );	
+                      	      
                     }
-                    // C:\\dev\\jbossrules\\trunk3\\drools-compiler\\src\\main\\resources\\org\\drools\\lang\\DRL.g:747:4: ( ( LEFT_SQUARE )=>sqarg= square_chunk[from] | ( LEFT_PAREN )=>paarg= paren_chunk[from] )?
-                    int alt26 = 3;
-                    final int LA26_0 = this.input.LA( 1 );
-                    if ( (LA26_0 == LEFT_SQUARE) ) {
-                        alt26 = 1;
-                    } else if ( (LA26_0 == LEFT_PAREN) ) {
-                        if ( (synpred41()) ) {
-                            alt26 = 2;
-                        }
+
                     }
-                    switch ( alt26 ) {
-                        case 1 :
-                            // C:\\dev\\jbossrules\\trunk3\\drools-compiler\\src\\main\\resources\\org\\drools\\lang\\DRL.g:748:6: ( LEFT_SQUARE )=>sqarg= square_chunk[from]
-                        {
-                            pushFollow( FOLLOW_square_chunk_in_expression_chain1862 );
-                            sqarg = square_chunk( from );
-                            this._fsp--;
-                            if ( this.failed ) {
-                                return;
-                            }
-                            if ( this.backtracking == 0 ) {
+                    break;
+                case 2 :
+                    // C:\\dev\\jbossrules\\trunk3\\drools-compiler\\src\\main\\resources\\org\\drools\\lang\\DRL.g:753:6: ( LEFT_PAREN )=>paarg= paren_chunk[from]
+                    {
+                    pushFollow(FOLLOW_paren_chunk_in_expression_chain1896);
+                    paarg=paren_chunk(from);
+                    _fsp--;
+                    if (failed) return ;
+                    if ( backtracking==0 ) {
+                      
+                      	    	  ma = new MethodAccessDescr( field.getText(), paarg );	
+                      		  ma.setLocation( offset(field.getLine()), field.getCharPositionInLine() );
+                      		  ma.setStartCharacter( ((CommonToken)field).getStartIndex() );
+                      		
+                    }
 
-                                fa.setArgument( sqarg );
+                    }
+                    break;
 
-                            }
+            }
 
-                        }
-                            break;
-                        case 2 :
-                            // C:\\dev\\jbossrules\\trunk3\\drools-compiler\\src\\main\\resources\\org\\drools\\lang\\DRL.g:753:6: ( LEFT_PAREN )=>paarg= paren_chunk[from]
-                        {
-                            pushFollow( FOLLOW_paren_chunk_in_expression_chain1896 );
-                            paarg = paren_chunk( from );
-                            this._fsp--;
-                            if ( this.failed ) {
-                                return;
-                            }
-                            if ( this.backtracking == 0 ) {
+            if ( backtracking==0 ) {
+              
+              	      if( ma != null ) {
+              	          as.addInvoker( ma );
+              	      } else {
+              	          as.addInvoker( fa );
+              	      }
+              	  
+            }
+            // C:\\dev\\jbossrules\\trunk3\\drools-compiler\\src\\main\\resources\\org\\drools\\lang\\DRL.g:767:4: ( expression_chain[from, as] )?
+            int alt27=2;
+            int LA27_0 = input.LA(1);
 
-                                ma = new MethodAccessDescr( field.getText(),
-                                                            paarg );
-                                ma.setLocation( offset( field.getLine() ),
-                                                field.getCharPositionInLine() );
-                                ma.setStartCharacter( ((CommonToken) field).getStartIndex() );
+            if ( (LA27_0==64) ) {
+                alt27=1;
+            }
+            switch (alt27) {
+                case 1 :
+                    // C:\\dev\\jbossrules\\trunk3\\drools-compiler\\src\\main\\resources\\org\\drools\\lang\\DRL.g:0:0: expression_chain[from, as]
+                    {
+                    pushFollow(FOLLOW_expression_chain_in_expression_chain1917);
+                    expression_chain(from,  as);
+                    _fsp--;
+                    if (failed) return ;
 
-                            }
-
-                        }
-                            break;
-
                     }
+                    break;
 
-                    if ( this.backtracking == 0 ) {
+            }
 
-                        if ( ma != null ) {
-                            as.addInvoker( ma );
-                        } else {
-                            as.addInvoker( fa );
-                        }
 
-                    }
-                    // C:\\dev\\jbossrules\\trunk3\\drools-compiler\\src\\main\\resources\\org\\drools\\lang\\DRL.g:767:4: ( ( expression_chain[from, as] )=> expression_chain[from, as] )?
-                    int alt27 = 2;
-                    final int LA27_0 = this.input.LA( 1 );
-                    if ( (LA27_0 == 64) ) {
-                        alt27 = 1;
-                    }
-                    switch ( alt27 ) {
-                        case 1 :
-                            // C:\\dev\\jbossrules\\trunk3\\drools-compiler\\src\\main\\resources\\org\\drools\\lang\\DRL.g:0:0: ( expression_chain[from, as] )=> expression_chain[from, as]
-                        {
-                            pushFollow( FOLLOW_expression_chain_in_expression_chain1917 );
-                            expression_chain( from,
-                                              as );
-                            this._fsp--;
-                            if ( this.failed ) {
-                                return;
-                            }
+            }
 
-                        }
-                            break;
 
-                    }
-
-                }
-
             }
 
-        } catch ( final RecognitionException re ) {
-            reportError( re );
-            recover( this.input,
-                     re );
-        } finally {
         }
-        return;
+        catch (RecognitionException re) {
+            reportError(re);
+            recover(input,re);
+        }
+        finally {
+        }
+        return ;
     }
-
     // $ANTLR end expression_chain
 
+
     // $ANTLR start accumulate_statement
-    // C:\\dev\\jbossrules\\trunk3\\drools-compiler\\src\\main\\resources\\org\\drools\\lang\\DRL.g:771:1: accumulate_statement returns [AccumulateDescr d] : loc= ACCUMULATE '(' column= lhs_column ',' INIT text= paren_chunk[null] ',' ACTION text= paren_chunk[null] ',' RESULT text= paren_chunk[null] loc= ')' ;
-    public AccumulateDescr accumulate_statement() throws RecognitionException {
+    // C:\\dev\\jbossrules\\trunk3\\drools-compiler\\src\\main\\resources\\org\\drools\\lang\\DRL.g:771:1: accumulate_statement returns [AccumulateDescr d] : loc= ACCUMULATE '(' pattern= lhs_pattern ',' INIT text= paren_chunk[null] ',' ACTION text= paren_chunk[null] ',' RESULT text= paren_chunk[null] loc= ')' ;
+    public final AccumulateDescr accumulate_statement() throws RecognitionException {
         AccumulateDescr d = null;
 
-        Token loc = null;
-        BaseDescr column = null;
+        Token loc=null;
+        BaseDescr pattern = null;
 
         String text = null;
 
-        d = this.factory.createAccumulate();
 
+        
+        		d = factory.createAccumulate();
+        	
         try {
-            // C:\\dev\\jbossrules\\trunk3\\drools-compiler\\src\\main\\resources\\org\\drools\\lang\\DRL.g:776:10: (loc= ACCUMULATE '(' column= lhs_column ',' INIT text= paren_chunk[null] ',' ACTION text= paren_chunk[null] ',' RESULT text= paren_chunk[null] loc= ')' )
-            // C:\\dev\\jbossrules\\trunk3\\drools-compiler\\src\\main\\resources\\org\\drools\\lang\\DRL.g:776:10: loc= ACCUMULATE '(' column= lhs_column ',' INIT text= paren_chunk[null] ',' ACTION text= paren_chunk[null] ',' RESULT text= paren_chunk[null] loc= ')'
+            // C:\\dev\\jbossrules\\trunk3\\drools-compiler\\src\\main\\resources\\org\\drools\\lang\\DRL.g:776:10: (loc= ACCUMULATE '(' pattern= lhs_pattern ',' INIT text= paren_chunk[null] ',' ACTION text= paren_chunk[null] ',' RESULT text= paren_chunk[null] loc= ')' )
+            // C:\\dev\\jbossrules\\trunk3\\drools-compiler\\src\\main\\resources\\org\\drools\\lang\\DRL.g:776:10: loc= ACCUMULATE '(' pattern= lhs_pattern ',' INIT text= paren_chunk[null] ',' ACTION text= paren_chunk[null] ',' RESULT text= paren_chunk[null] loc= ')'
             {
-                loc = (Token) this.input.LT( 1 );
-                match( this.input,
-                       ACCUMULATE,
-                       FOLLOW_ACCUMULATE_in_accumulate_statement1958 );
-                if ( this.failed ) {
-                    return d;
-                }
-                if ( this.backtracking == 0 ) {
+            loc=(Token)input.LT(1);
+            match(input,ACCUMULATE,FOLLOW_ACCUMULATE_in_accumulate_statement1958); if (failed) return d;
+            if ( backtracking==0 ) {
+               
+              			d.setLocation( offset(loc.getLine()), loc.getCharPositionInLine() );
+              			d.setStartCharacter( ((CommonToken)loc).getStartIndex() );
+              		
+            }
+            match(input,LEFT_PAREN,FOLLOW_LEFT_PAREN_in_accumulate_statement1968); if (failed) return d;
+            pushFollow(FOLLOW_lhs_pattern_in_accumulate_statement1972);
+            pattern=lhs_pattern();
+            _fsp--;
+            if (failed) return d;
+            match(input,66,FOLLOW_66_in_accumulate_statement1974); if (failed) return d;
+            if ( backtracking==0 ) {
+              
+              		        d.setSourcePattern( (PatternDescr)pattern );
+              		
+            }
+            match(input,INIT,FOLLOW_INIT_in_accumulate_statement1983); if (failed) return d;
+            pushFollow(FOLLOW_paren_chunk_in_accumulate_statement1987);
+            text=paren_chunk(null);
+            _fsp--;
+            if (failed) return d;
+            match(input,66,FOLLOW_66_in_accumulate_statement1990); if (failed) return d;
+            if ( backtracking==0 ) {
+              
+              		        d.setInitCode( text.substring(1, text.length()-1) );
+              		
+            }
+            match(input,ACTION,FOLLOW_ACTION_in_accumulate_statement1999); if (failed) return d;
+            pushFollow(FOLLOW_paren_chunk_in_accumulate_statement2003);
+            text=paren_chunk(null);
+            _fsp--;
+            if (failed) return d;
+            match(input,66,FOLLOW_66_in_accumulate_statement2006); if (failed) return d;
+            if ( backtracking==0 ) {
+              
+              		        d.setActionCode( text.substring(1, text.length()-1) );
+              		
+            }
+            match(input,RESULT,FOLLOW_RESULT_in_accumulate_statement2015); if (failed) return d;
+            pushFollow(FOLLOW_paren_chunk_in_accumulate_statement2019);
+            text=paren_chunk(null);
+            _fsp--;
+            if (failed) return d;
+            loc=(Token)input.LT(1);
+            match(input,RIGHT_PAREN,FOLLOW_RIGHT_PAREN_in_accumulate_statement2024); if (failed) return d;
+            if ( backtracking==0 ) {
+              
+              		        d.setResultCode( text.substring(1, text.length()-1) );
+              			d.setEndCharacter( ((CommonToken)loc).getStopIndex() );
+              		
+            }
 
-                    d.setLocation( offset( loc.getLine() ),
-                                   loc.getCharPositionInLine() );
-                    d.setStartCharacter( ((CommonToken) loc).getStartIndex() );
-
-                }
-                match( this.input,
-                       LEFT_PAREN,
-                       FOLLOW_LEFT_PAREN_in_accumulate_statement1968 );
-                if ( this.failed ) {
-                    return d;
-                }
-                pushFollow( FOLLOW_lhs_column_in_accumulate_statement1972 );
-                column = lhs_column();
-                this._fsp--;
-                if ( this.failed ) {
-                    return d;
-                }
-                match( this.input,
-                       66,
-                       FOLLOW_66_in_accumulate_statement1974 );
-                if ( this.failed ) {
-                    return d;
-                }
-                if ( this.backtracking == 0 ) {
-
-                    d.setSourceColumn( (ColumnDescr) column );
-
-                }
-                match( this.input,
-                       INIT,
-                       FOLLOW_INIT_in_accumulate_statement1983 );
-                if ( this.failed ) {
-                    return d;
-                }
-                pushFollow( FOLLOW_paren_chunk_in_accumulate_statement1987 );
-                text = paren_chunk( null );
-                this._fsp--;
-                if ( this.failed ) {
-                    return d;
-                }
-                match( this.input,
-                       66,
-                       FOLLOW_66_in_accumulate_statement1990 );
-                if ( this.failed ) {
-                    return d;
-                }
-                if ( this.backtracking == 0 ) {
-
-                    d.setInitCode( text.substring( 1,
-                                                   text.length() - 1 ) );
-
-                }
-                match( this.input,
-                       ACTION,
-                       FOLLOW_ACTION_in_accumulate_statement1999 );
-                if ( this.failed ) {
-                    return d;
-                }
-                pushFollow( FOLLOW_paren_chunk_in_accumulate_statement2003 );
-                text = paren_chunk( null );
-                this._fsp--;
-                if ( this.failed ) {
-                    return d;
-                }
-                match( this.input,
-                       66,
-                       FOLLOW_66_in_accumulate_statement2006 );
-                if ( this.failed ) {
-                    return d;
-                }
-                if ( this.backtracking == 0 ) {
-
-                    d.setActionCode( text.substring( 1,
-                                                     text.length() - 1 ) );
-
-                }
-                match( this.input,
-                       RESULT,
-                       FOLLOW_RESULT_in_accumulate_statement2015 );
-                if ( this.failed ) {
-                    return d;
-                }
-                pushFollow( FOLLOW_paren_chunk_in_accumulate_statement2019 );
-                text = paren_chunk( null );
-                this._fsp--;
-                if ( this.failed ) {
-                    return d;
-                }
-                loc = (Token) this.input.LT( 1 );
-                match( this.input,
-                       RIGHT_PAREN,
-                       FOLLOW_RIGHT_PAREN_in_accumulate_statement2024 );
-                if ( this.failed ) {
-                    return d;
-                }
-                if ( this.backtracking == 0 ) {
-
-                    d.setResultCode( text.substring( 1,
-                                                     text.length() - 1 ) );
-                    d.setEndCharacter( ((CommonToken) loc).getStopIndex() );
-
-                }
-
             }
 
-        } catch ( final RecognitionException re ) {
-            reportError( re );
-            recover( this.input,
-                     re );
-        } finally {
         }
+        catch (RecognitionException re) {
+            reportError(re);
+            recover(input,re);
+        }
+        finally {
+        }
         return d;
     }
-
     // $ANTLR end accumulate_statement
 
+
     // $ANTLR start collect_statement
-    // C:\\dev\\jbossrules\\trunk3\\drools-compiler\\src\\main\\resources\\org\\drools\\lang\\DRL.g:800:1: collect_statement returns [CollectDescr d] : loc= COLLECT '(' column= lhs_column loc= ')' ;
-    public CollectDescr collect_statement() throws RecognitionException {
+    // C:\\dev\\jbossrules\\trunk3\\drools-compiler\\src\\main\\resources\\org\\drools\\lang\\DRL.g:800:1: collect_statement returns [CollectDescr d] : loc= COLLECT '(' pattern= lhs_pattern loc= ')' ;
+    public final CollectDescr collect_statement() throws RecognitionException {
         CollectDescr d = null;
 
-        Token loc = null;
-        BaseDescr column = null;
+        Token loc=null;
+        BaseDescr pattern = null;
 
-        d = this.factory.createCollect();
 
+        
+        		d = factory.createCollect();
+        	
         try {
-            // C:\\dev\\jbossrules\\trunk3\\drools-compiler\\src\\main\\resources\\org\\drools\\lang\\DRL.g:805:10: (loc= COLLECT '(' column= lhs_column loc= ')' )
-            // C:\\dev\\jbossrules\\trunk3\\drools-compiler\\src\\main\\resources\\org\\drools\\lang\\DRL.g:805:10: loc= COLLECT '(' column= lhs_column loc= ')'
+            // C:\\dev\\jbossrules\\trunk3\\drools-compiler\\src\\main\\resources\\org\\drools\\lang\\DRL.g:805:10: (loc= COLLECT '(' pattern= lhs_pattern loc= ')' )
+            // C:\\dev\\jbossrules\\trunk3\\drools-compiler\\src\\main\\resources\\org\\drools\\lang\\DRL.g:805:10: loc= COLLECT '(' pattern= lhs_pattern loc= ')'
             {
-                loc = (Token) this.input.LT( 1 );
-                match( this.input,
-                       COLLECT,
-                       FOLLOW_COLLECT_in_collect_statement2067 );
-                if ( this.failed ) {
-                    return d;
-                }
-                if ( this.backtracking == 0 ) {
+            loc=(Token)input.LT(1);
+            match(input,COLLECT,FOLLOW_COLLECT_in_collect_statement2067); if (failed) return d;
+            if ( backtracking==0 ) {
+               
+              			d.setLocation( offset(loc.getLine()), loc.getCharPositionInLine() );
+              			d.setStartCharacter( ((CommonToken)loc).getStartIndex() );
+              		
+            }
+            match(input,LEFT_PAREN,FOLLOW_LEFT_PAREN_in_collect_statement2077); if (failed) return d;
+            pushFollow(FOLLOW_lhs_pattern_in_collect_statement2081);
+            pattern=lhs_pattern();
+            _fsp--;
+            if (failed) return d;
+            loc=(Token)input.LT(1);
+            match(input,RIGHT_PAREN,FOLLOW_RIGHT_PAREN_in_collect_statement2085); if (failed) return d;
+            if ( backtracking==0 ) {
+              
+              		        d.setSourcePattern( (PatternDescr)pattern );
+              			d.setEndCharacter( ((CommonToken)loc).getStopIndex() );
+              		
+            }
 
-                    d.setLocation( offset( loc.getLine() ),
-                                   loc.getCharPositionInLine() );
-                    d.setStartCharacter( ((CommonToken) loc).getStartIndex() );
-
-                }
-                match( this.input,
-                       LEFT_PAREN,
-                       FOLLOW_LEFT_PAREN_in_collect_statement2077 );
-                if ( this.failed ) {
-                    return d;
-                }
-                pushFollow( FOLLOW_lhs_column_in_collect_statement2081 );
-                column = lhs_column();
-                this._fsp--;
-                if ( this.failed ) {
-                    return d;
-                }
-                loc = (Token) this.input.LT( 1 );
-                match( this.input,
-                       RIGHT_PAREN,
-                       FOLLOW_RIGHT_PAREN_in_collect_statement2085 );
-                if ( this.failed ) {
-                    return d;
-                }
-                if ( this.backtracking == 0 ) {
-
-                    d.setSourceColumn( (ColumnDescr) column );
-                    d.setEndCharacter( ((CommonToken) loc).getStopIndex() );
-
-                }
-
             }
 
-        } catch ( final RecognitionException re ) {
-            reportError( re );
-            recover( this.input,
-                     re );
-        } finally {
         }
+        catch (RecognitionException re) {
+            reportError(re);
+            recover(input,re);
+        }
+        finally {
+        }
         return d;
     }
-
     // $ANTLR end collect_statement
 
+
     // $ANTLR start fact_binding
     // C:\\dev\\jbossrules\\trunk3\\drools-compiler\\src\\main\\resources\\org\\drools\\lang\\DRL.g:817:1: fact_binding returns [BaseDescr d] : id= ID ':' fe= fact_expression[id.getText()] ;
-    public BaseDescr fact_binding() throws RecognitionException {
+    public final BaseDescr fact_binding() throws RecognitionException {
         BaseDescr d = null;
 
-        Token id = null;
+        Token id=null;
         BaseDescr fe = null;
 
-        d = null;
-        final boolean multi = false;
 
+        
+        		d=null;
+        		boolean multi=false;
+        	
         try {
             // C:\\dev\\jbossrules\\trunk3\\drools-compiler\\src\\main\\resources\\org\\drools\\lang\\DRL.g:823:4: (id= ID ':' fe= fact_expression[id.getText()] )
             // C:\\dev\\jbossrules\\trunk3\\drools-compiler\\src\\main\\resources\\org\\drools\\lang\\DRL.g:823:4: id= ID ':' fe= fact_expression[id.getText()]
             {
-                id = (Token) this.input.LT( 1 );
-                match( this.input,
-                       ID,
-                       FOLLOW_ID_in_fact_binding2119 );
-                if ( this.failed ) {
-                    return d;
-                }
-                match( this.input,
-                       67,
-                       FOLLOW_67_in_fact_binding2121 );
-                if ( this.failed ) {
-                    return d;
-                }
-                if ( this.backtracking == 0 ) {
+            id=(Token)input.LT(1);
+            match(input,ID,FOLLOW_ID_in_fact_binding2119); if (failed) return d;
+            match(input,67,FOLLOW_67_in_fact_binding2121); if (failed) return d;
+            if ( backtracking==0 ) {
+              
+               		        // handling incomplete parsing
+               		        d = new PatternDescr( );
+               		        ((PatternDescr) d).setIdentifier( id.getText() );
+               		
+            }
+            pushFollow(FOLLOW_fact_expression_in_fact_binding2134);
+            fe=fact_expression(id.getText());
+            _fsp--;
+            if (failed) return d;
+            if ( backtracking==0 ) {
+              
+               		        // override previously instantiated pattern
+               			d=fe;
+               			if( d != null ) {
+                 			    d.setStartCharacter( ((CommonToken)id).getStartIndex() );
+                 			}
+               		
+            }
 
-                    // handling incomplete parsing
-                    d = new ColumnDescr();
-                    ((ColumnDescr) d).setIdentifier( id.getText() );
-
-                }
-                pushFollow( FOLLOW_fact_expression_in_fact_binding2134 );
-                fe = fact_expression( id.getText() );
-                this._fsp--;
-                if ( this.failed ) {
-                    return d;
-                }
-                if ( this.backtracking == 0 ) {
-
-                    // override previously instantiated column
-                    d = fe;
-                    if ( d != null ) {
-                        d.setStartCharacter( ((CommonToken) id).getStartIndex() );
-                    }
-
-                }
-
             }
 
-        } catch ( final RecognitionException re ) {
-            reportError( re );
-            recover( this.input,
-                     re );
-        } finally {
         }
+        catch (RecognitionException re) {
+            reportError(re);
+            recover(input,re);
+        }
+        finally {
+        }
         return d;
     }
-
     // $ANTLR end fact_binding
 
+
     // $ANTLR start fact_expression
-    // C:\\dev\\jbossrules\\trunk3\\drools-compiler\\src\\main\\resources\\org\\drools\\lang\\DRL.g:839:2: fact_expression[String id] returns [BaseDescr pd] : ( ( '(' fact_expression[id] ')' )=> '(' fe= fact_expression[id] ')' | f= fact ( ( (OR|'||') fact )=> (OR|'||')f= fact )* );
-    public BaseDescr fact_expression(final String id) throws RecognitionException {
+    // C:\\dev\\jbossrules\\trunk3\\drools-compiler\\src\\main\\resources\\org\\drools\\lang\\DRL.g:839:2: fact_expression[String id] returns [BaseDescr pd] : ( '(' fe= fact_expression[id] ')' | f= fact ( ( OR | '||' ) f= fact )* );
+    public final BaseDescr fact_expression(String id) throws RecognitionException {
         BaseDescr pd = null;
 
         BaseDescr fe = null;
 
         BaseDescr f = null;
 
-        pd = null;
-        boolean multi = false;
 
+        
+         		pd = null;
+         		boolean multi = false;
+         	
         try {
-            // C:\\dev\\jbossrules\\trunk3\\drools-compiler\\src\\main\\resources\\org\\drools\\lang\\DRL.g:844:5: ( ( '(' fact_expression[id] ')' )=> '(' fe= fact_expression[id] ')' | f= fact ( ( (OR|'||') fact )=> (OR|'||')f= fact )* )
-            int alt29 = 2;
-            final int LA29_0 = this.input.LA( 1 );
-            if ( (LA29_0 == LEFT_PAREN) ) {
-                alt29 = 1;
-            } else if ( (LA29_0 == ID) ) {
-                alt29 = 2;
-            } else {
-                if ( this.backtracking > 0 ) {
-                    this.failed = true;
-                    return pd;
-                }
-                final NoViableAltException nvae = new NoViableAltException( "839:2: fact_expression[String id] returns [BaseDescr pd] : ( ( '(' fact_expression[id] ')' )=> '(' fe= fact_expression[id] ')' | f= fact ( ( (OR|'||') fact )=> (OR|'||')f= fact )* );",
-                                                                      29,
-                                                                      0,
-                                                                      this.input );
+            // C:\\dev\\jbossrules\\trunk3\\drools-compiler\\src\\main\\resources\\org\\drools\\lang\\DRL.g:844:5: ( '(' fe= fact_expression[id] ')' | f= fact ( ( OR | '||' ) f= fact )* )
+            int alt29=2;
+            int LA29_0 = input.LA(1);
 
+            if ( (LA29_0==LEFT_PAREN) ) {
+                alt29=1;
+            }
+            else if ( (LA29_0==ID) ) {
+                alt29=2;
+            }
+            else {
+                if (backtracking>0) {failed=true; return pd;}
+                NoViableAltException nvae =
+                    new NoViableAltException("839:2: fact_expression[String id] returns [BaseDescr pd] : ( '(' fe= fact_expression[id] ')' | f= fact ( ( OR | '||' ) f= fact )* );", 29, 0, input);
+
                 throw nvae;
             }
-            switch ( alt29 ) {
+            switch (alt29) {
                 case 1 :
-                    // C:\\dev\\jbossrules\\trunk3\\drools-compiler\\src\\main\\resources\\org\\drools\\lang\\DRL.g:844:5: ( '(' fact_expression[id] ')' )=> '(' fe= fact_expression[id] ')'
-                {
-                    match( this.input,
-                           LEFT_PAREN,
-                           FOLLOW_LEFT_PAREN_in_fact_expression2166 );
-                    if ( this.failed ) {
-                        return pd;
+                    // C:\\dev\\jbossrules\\trunk3\\drools-compiler\\src\\main\\resources\\org\\drools\\lang\\DRL.g:844:5: '(' fe= fact_expression[id] ')'
+                    {
+                    match(input,LEFT_PAREN,FOLLOW_LEFT_PAREN_in_fact_expression2166); if (failed) return pd;
+                    pushFollow(FOLLOW_fact_expression_in_fact_expression2170);
+                    fe=fact_expression(id);
+                    _fsp--;
+                    if (failed) return pd;
+                    match(input,RIGHT_PAREN,FOLLOW_RIGHT_PAREN_in_fact_expression2173); if (failed) return pd;
+                    if ( backtracking==0 ) {
+                       pd=fe; 
                     }
-                    pushFollow( FOLLOW_fact_expression_in_fact_expression2170 );
-                    fe = fact_expression( id );
-                    this._fsp--;
-                    if ( this.failed ) {
-                        return pd;
-                    }
-                    match( this.input,
-                           RIGHT_PAREN,
-                           FOLLOW_RIGHT_PAREN_in_fact_expression2173 );
-                    if ( this.failed ) {
-                        return pd;
-                    }
-                    if ( this.backtracking == 0 ) {
-                        pd = fe;
-                    }
 
-                }
+                    }
                     break;
                 case 2 :
-                    // C:\\dev\\jbossrules\\trunk3\\drools-compiler\\src\\main\\resources\\org\\drools\\lang\\DRL.g:845:6: f= fact ( ( (OR|'||') fact )=> (OR|'||')f= fact )*
-                {
-                    pushFollow( FOLLOW_fact_in_fact_expression2184 );
-                    f = fact();
-                    this._fsp--;
-                    if ( this.failed ) {
-                        return pd;
+                    // C:\\dev\\jbossrules\\trunk3\\drools-compiler\\src\\main\\resources\\org\\drools\\lang\\DRL.g:845:6: f= fact ( ( OR | '||' ) f= fact )*
+                    {
+                    pushFollow(FOLLOW_fact_in_fact_expression2184);
+                    f=fact();
+                    _fsp--;
+                    if (failed) return pd;
+                    if ( backtracking==0 ) {
+                      
+                       			((PatternDescr)f).setIdentifier( id );
+                       			pd = f;
+                       		
                     }
-                    if ( this.backtracking == 0 ) {
+                    // C:\\dev\\jbossrules\\trunk3\\drools-compiler\\src\\main\\resources\\org\\drools\\lang\\DRL.g:850:4: ( ( OR | '||' ) f= fact )*
+                    loop28:
+                    do {
+                        int alt28=2;
+                        int LA28_0 = input.LA(1);
 
-                        ((ColumnDescr) f).setIdentifier( id );
-                        pd = f;
+                        if ( (LA28_0==OR||LA28_0==68) ) {
+                            int LA28_6 = input.LA(2);
 
-                    }
-                    // C:\\dev\\jbossrules\\trunk3\\drools-compiler\\src\\main\\resources\\org\\drools\\lang\\DRL.g:850:4: ( ( (OR|'||') fact )=> (OR|'||')f= fact )*
-                    loop28 : do {
-                        int alt28 = 2;
-                        final int LA28_0 = this.input.LA( 1 );
-                        if ( (LA28_0 == OR || LA28_0 == 68) ) {
-                            if ( (synpred44()) ) {
-                                alt28 = 1;
+                            if ( (synpred45()) ) {
+                                alt28=1;
                             }
 
+
                         }
 
-                        switch ( alt28 ) {
-                            case 1 :
-                                // C:\\dev\\jbossrules\\trunk3\\drools-compiler\\src\\main\\resources\\org\\drools\\lang\\DRL.g:850:6: ( (OR|'||') fact )=> (OR|'||')f= fact
-                            {
-                                if ( this.input.LA( 1 ) == OR || this.input.LA( 1 ) == 68 ) {
-                                    this.input.consume();
-                                    this.errorRecovery = false;
-                                    this.failed = false;
-                                } else {
-                                    if ( this.backtracking > 0 ) {
-                                        this.failed = true;
-                                        return pd;
-                                    }
-                                    final MismatchedSetException mse = new MismatchedSetException( null,
-                                                                                             this.input );
-                                    recoverFromMismatchedSet( this.input,
-                                                              mse,
-                                                              FOLLOW_set_in_fact_expression2197 );
-                                    throw mse;
-                                }
 
-                                if ( this.backtracking == 0 ) {
-                                    if ( !multi ) {
-                                        final BaseDescr first = pd;
-                                        pd = new OrDescr();
-                                        ((OrDescr) pd).addDescr( first );
-                                        multi = true;
-                                    }
+                        switch (alt28) {
+                    	case 1 :
+                    	    // C:\\dev\\jbossrules\\trunk3\\drools-compiler\\src\\main\\resources\\org\\drools\\lang\\DRL.g:850:6: ( OR | '||' ) f= fact
+                    	    {
+                    	    if ( input.LA(1)==OR||input.LA(1)==68 ) {
+                    	        input.consume();
+                    	        errorRecovery=false;failed=false;
+                    	    }
+                    	    else {
+                    	        if (backtracking>0) {failed=true; return pd;}
+                    	        MismatchedSetException mse =
+                    	            new MismatchedSetException(null,input);
+                    	        recoverFromMismatchedSet(input,mse,FOLLOW_set_in_fact_expression2196);    throw mse;
+                    	    }
 
-                                }
-                                pushFollow( FOLLOW_fact_in_fact_expression2214 );
-                                f = fact();
-                                this._fsp--;
-                                if ( this.failed ) {
-                                    return pd;
-                                }
-                                if ( this.backtracking == 0 ) {
+                    	    if ( backtracking==0 ) {
+                    	      	if ( ! multi ) {
+                    	       					BaseDescr first = pd;
+                    	       					pd = new OrDescr();
+                    	       					((OrDescr)pd).addDescr( first );
+                    	       					multi=true;
+                    	       				}
+                    	       			
+                    	    }
+                    	    pushFollow(FOLLOW_fact_in_fact_expression2214);
+                    	    f=fact();
+                    	    _fsp--;
+                    	    if (failed) return pd;
+                    	    if ( backtracking==0 ) {
+                    	      
+                    	       				((PatternDescr)f).setIdentifier( id );
+                    	       				((OrDescr)pd).addDescr( f );
+                    	       			
+                    	    }
 
-                                    ((ColumnDescr) f).setIdentifier( id );
-                                    ((OrDescr) pd).addDescr( f );
+                    	    }
+                    	    break;
 
-                                }
-
-                            }
-                                break;
-
-                            default :
-                                break loop28;
+                    	default :
+                    	    break loop28;
                         }
-                    } while ( true );
+                    } while (true);
 
-                }
+
+                    }
                     break;
 
             }
-        } catch ( final RecognitionException re ) {
-            reportError( re );
-            recover( this.input,
-                     re );
-        } finally {
         }
+        catch (RecognitionException re) {
+            reportError(re);
+            recover(input,re);
+        }
+        finally {
+        }
         return pd;
     }
-
     // $ANTLR end fact_expression
 
+
     // $ANTLR start fact
-    // C:\\dev\\jbossrules\\trunk3\\drools-compiler\\src\\main\\resources\\org\\drools\\lang\\DRL.g:866:1: fact returns [BaseDescr d] : id= dotted_name[d] loc= LEFT_PAREN ( ( constraints[column] )=> constraints[column] )? endLoc= RIGHT_PAREN ;
-    public BaseDescr fact() throws RecognitionException {
+    // C:\\dev\\jbossrules\\trunk3\\drools-compiler\\src\\main\\resources\\org\\drools\\lang\\DRL.g:866:1: fact returns [BaseDescr d] : id= dotted_name[d] loc= LEFT_PAREN ( constraints[pattern] )? endLoc= RIGHT_PAREN ;
+    public final BaseDescr fact() throws RecognitionException {
         BaseDescr d = null;
 
-        Token loc = null;
-        Token endLoc = null;
+        Token loc=null;
+        Token endLoc=null;
         String id = null;
 
-        d = null;
-        ColumnDescr column = null;
 
+        
+        		d=null;
+        		PatternDescr pattern = null;
+        	
         try {
-            // C:\\dev\\jbossrules\\trunk3\\drools-compiler\\src\\main\\resources\\org\\drools\\lang\\DRL.g:872:11: (id= dotted_name[d] loc= LEFT_PAREN ( ( constraints[column] )=> constraints[column] )? endLoc= RIGHT_PAREN )
-            // C:\\dev\\jbossrules\\trunk3\\drools-compiler\\src\\main\\resources\\org\\drools\\lang\\DRL.g:872:11: id= dotted_name[d] loc= LEFT_PAREN ( ( constraints[column] )=> constraints[column] )? endLoc= RIGHT_PAREN
+            // C:\\dev\\jbossrules\\trunk3\\drools-compiler\\src\\main\\resources\\org\\drools\\lang\\DRL.g:872:11: (id= dotted_name[d] loc= LEFT_PAREN ( constraints[pattern] )? endLoc= RIGHT_PAREN )
+            // C:\\dev\\jbossrules\\trunk3\\drools-compiler\\src\\main\\resources\\org\\drools\\lang\\DRL.g:872:11: id= dotted_name[d] loc= LEFT_PAREN ( constraints[pattern] )? endLoc= RIGHT_PAREN
             {
-                if ( this.backtracking == 0 ) {
+            if ( backtracking==0 ) {
+              
+               			pattern = new PatternDescr( );
+               			d = pattern; 
+               	        
+            }
+            pushFollow(FOLLOW_dotted_name_in_fact2275);
+            id=dotted_name(d);
+            _fsp--;
+            if (failed) return d;
+            if ( backtracking==0 ) {
+               
+               		        pattern.setObjectType( id );
+               		        pattern.setEndCharacter( -1 );
+               		
+            }
+            loc=(Token)input.LT(1);
+            match(input,LEFT_PAREN,FOLLOW_LEFT_PAREN_in_fact2289); if (failed) return d;
+            if ( backtracking==0 ) {
+              
+               				pattern.setLocation( offset(loc.getLine()), loc.getCharPositionInLine() );
+               			        pattern.setLeftParentCharacter( ((CommonToken)loc).getStartIndex() );
+               			
+            }
+            // C:\\dev\\jbossrules\\trunk3\\drools-compiler\\src\\main\\resources\\org\\drools\\lang\\DRL.g:885:4: ( constraints[pattern] )?
+            int alt30=2;
+            int LA30_0 = input.LA(1);
 
-                    column = new ColumnDescr();
-                    d = column;
-
-                }
-                pushFollow( FOLLOW_dotted_name_in_fact2275 );
-                id = dotted_name( d );
-                this._fsp--;
-                if ( this.failed ) {
-                    return d;
-                }
-                if ( this.backtracking == 0 ) {
-
-                    column.setObjectType( id );
-                    column.setEndCharacter( -1 );
-
-                }
-                loc = (Token) this.input.LT( 1 );
-                match( this.input,
-                       LEFT_PAREN,
-                       FOLLOW_LEFT_PAREN_in_fact2289 );
-                if ( this.failed ) {
-                    return d;
-                }
-                if ( this.backtracking == 0 ) {
-
-                    column.setLocation( offset( loc.getLine() ),
-                                        loc.getCharPositionInLine() );
-                    column.setLeftParentCharacter( ((CommonToken) loc).getStartIndex() );
-
-                }
-                // C:\\dev\\jbossrules\\trunk3\\drools-compiler\\src\\main\\resources\\org\\drools\\lang\\DRL.g:885:4: ( ( constraints[column] )=> constraints[column] )?
-                int alt30 = 2;
-                final int LA30_0 = this.input.LA( 1 );
-                if ( ((LA30_0 >= PACKAGE && LA30_0 <= ATTRIBUTES) || LA30_0 == ENABLED || LA30_0 == SALIENCE || LA30_0 == DURATION || (LA30_0 >= ACCUMULATE && LA30_0 <= LEFT_PAREN) || (LA30_0 >= CONTAINS && LA30_0 <= EXCLUDES) || LA30_0 == NULL || (LA30_0 >= AND && LA30_0 <= THEN)) ) {
-                    alt30 = 1;
-                }
-                switch ( alt30 ) {
-                    case 1 :
-                        // C:\\dev\\jbossrules\\trunk3\\drools-compiler\\src\\main\\resources\\org\\drools\\lang\\DRL.g:885:6: ( constraints[column] )=> constraints[column]
+            if ( ((LA30_0>=PACKAGE && LA30_0<=ATTRIBUTES)||LA30_0==ENABLED||LA30_0==SALIENCE||LA30_0==DURATION||(LA30_0>=ACCUMULATE && LA30_0<=LEFT_PAREN)||(LA30_0>=CONTAINS && LA30_0<=EXCLUDES)||LA30_0==NULL||(LA30_0>=AND && LA30_0<=THEN)) ) {
+                alt30=1;
+            }
+            switch (alt30) {
+                case 1 :
+                    // C:\\dev\\jbossrules\\trunk3\\drools-compiler\\src\\main\\resources\\org\\drools\\lang\\DRL.g:885:6: constraints[pattern]
                     {
-                        pushFollow( FOLLOW_constraints_in_fact2299 );
-                        constraints( column );
-                        this._fsp--;
-                        if ( this.failed ) {
-                            return d;
-                        }
+                    pushFollow(FOLLOW_constraints_in_fact2299);
+                    constraints(pattern);
+                    _fsp--;
+                    if (failed) return d;
 
                     }
-                        break;
+                    break;
 
-                }
+            }
 
-                endLoc = (Token) this.input.LT( 1 );
-                match( this.input,
-                       RIGHT_PAREN,
-                       FOLLOW_RIGHT_PAREN_in_fact2312 );
-                if ( this.failed ) {
-                    return d;
-                }
-                if ( this.backtracking == 0 ) {
+            endLoc=(Token)input.LT(1);
+            match(input,RIGHT_PAREN,FOLLOW_RIGHT_PAREN_in_fact2312); if (failed) return d;
+            if ( backtracking==0 ) {
+              
+              		        if( endLoc.getType() == RIGHT_PAREN ) {
+              				pattern.setEndLocation( offset(endLoc.getLine()), endLoc.getCharPositionInLine() );	
+              				pattern.setEndCharacter( ((CommonToken)endLoc).getStopIndex() );
+               			        pattern.setRightParentCharacter( ((CommonToken)endLoc).getStartIndex() );
+              			}
+               		
+            }
 
-                    if ( endLoc.getType() == RIGHT_PAREN ) {
-                        column.setEndLocation( offset( endLoc.getLine() ),
-                                               endLoc.getCharPositionInLine() );
-                        column.setEndCharacter( ((CommonToken) endLoc).getStopIndex() );
-                        column.setRightParentCharacter( ((CommonToken) endLoc).getStartIndex() );
-                    }
-
-                }
-
             }
 
-        } catch ( final RecognitionException re ) {
-            reportError( re );
-            recover( this.input,
-                     re );
-        } finally {
         }
+        catch (RecognitionException re) {
+            reportError(re);
+            recover(input,re);
+        }
+        finally {
+        }
         return d;
     }
-
     // $ANTLR end fact
 
+
     // $ANTLR start constraints
-    // C:\\dev\\jbossrules\\trunk3\\drools-compiler\\src\\main\\resources\\org\\drools\\lang\\DRL.g:897:1: constraints[ColumnDescr column] : ( ( constraint[column] )=> constraint[column] | predicate[column] ) ( ( ',' ( ( constraint[column] )=> constraint[column] | predicate[column] ) )=> ',' ( ( constraint[column] )=> constraint[column] | predicate[column] ) )* ;
-    public void constraints(final ColumnDescr column) throws RecognitionException {
+    // C:\\dev\\jbossrules\\trunk3\\drools-compiler\\src\\main\\resources\\org\\drools\\lang\\DRL.g:897:1: constraints[PatternDescr pattern] : ( constraint[pattern] | predicate[pattern] ) ( ',' ( constraint[pattern] | predicate[pattern] ) )* ;
+    public final void constraints(PatternDescr pattern) throws RecognitionException {
         try {
-            // C:\\dev\\jbossrules\\trunk3\\drools-compiler\\src\\main\\resources\\org\\drools\\lang\\DRL.g:898:4: ( ( ( constraint[column] )=> constraint[column] | predicate[column] ) ( ( ',' ( ( constraint[column] )=> constraint[column] | predicate[column] ) )=> ',' ( ( constraint[column] )=> constraint[column] | predicate[column] ) )* )
-            // C:\\dev\\jbossrules\\trunk3\\drools-compiler\\src\\main\\resources\\org\\drools\\lang\\DRL.g:898:4: ( ( constraint[column] )=> constraint[column] | predicate[column] ) ( ( ',' ( ( constraint[column] )=> constraint[column] | predicate[column] ) )=> ',' ( ( constraint[column] )=> constraint[column] | predicate[column] ) )*
+            // C:\\dev\\jbossrules\\trunk3\\drools-compiler\\src\\main\\resources\\org\\drools\\lang\\DRL.g:898:4: ( ( constraint[pattern] | predicate[pattern] ) ( ',' ( constraint[pattern] | predicate[pattern] ) )* )
+            // C:\\dev\\jbossrules\\trunk3\\drools-compiler\\src\\main\\resources\\org\\drools\\lang\\DRL.g:898:4: ( constraint[pattern] | predicate[pattern] ) ( ',' ( constraint[pattern] | predicate[pattern] ) )*
             {
-                // C:\\dev\\jbossrules\\trunk3\\drools-compiler\\src\\main\\resources\\org\\drools\\lang\\DRL.g:898:4: ( ( constraint[column] )=> constraint[column] | predicate[column] )
-                int alt31 = 2;
-                final int LA31_0 = this.input.LA( 1 );
-                if ( ((LA31_0 >= PACKAGE && LA31_0 <= ATTRIBUTES) || LA31_0 == ENABLED || LA31_0 == SALIENCE || LA31_0 == DURATION || (LA31_0 >= ACCUMULATE && LA31_0 <= OR) || (LA31_0 >= CONTAINS && LA31_0 <= EXCLUDES) || LA31_0 == NULL || (LA31_0 >= AND && LA31_0 <= THEN)) ) {
-                    alt31 = 1;
-                } else if ( (LA31_0 == LEFT_PAREN) ) {
-                    alt31 = 2;
-                } else {
-                    if ( this.backtracking > 0 ) {
-                        this.failed = true;
-                        return;
-                    }
-                    final NoViableAltException nvae = new NoViableAltException( "898:4: ( ( constraint[column] )=> constraint[column] | predicate[column] )",
-                                                                          31,
-                                                                          0,
-                                                                          this.input );
+            // C:\\dev\\jbossrules\\trunk3\\drools-compiler\\src\\main\\resources\\org\\drools\\lang\\DRL.g:898:4: ( constraint[pattern] | predicate[pattern] )
+            int alt31=2;
+            int LA31_0 = input.LA(1);
 
-                    throw nvae;
-                }
-                switch ( alt31 ) {
-                    case 1 :
-                        // C:\\dev\\jbossrules\\trunk3\\drools-compiler\\src\\main\\resources\\org\\drools\\lang\\DRL.g:898:5: ( constraint[column] )=> constraint[column]
+            if ( ((LA31_0>=PACKAGE && LA31_0<=ATTRIBUTES)||LA31_0==ENABLED||LA31_0==SALIENCE||LA31_0==DURATION||(LA31_0>=ACCUMULATE && LA31_0<=OR)||(LA31_0>=CONTAINS && LA31_0<=EXCLUDES)||LA31_0==NULL||(LA31_0>=AND && LA31_0<=THEN)) ) {
+                alt31=1;
+            }
+            else if ( (LA31_0==LEFT_PAREN) ) {
+                alt31=2;
+            }
+            else {
+                if (backtracking>0) {failed=true; return ;}
+                NoViableAltException nvae =
+                    new NoViableAltException("898:4: ( constraint[pattern] | predicate[pattern] )", 31, 0, input);
+
+                throw nvae;
+            }
+            switch (alt31) {
+                case 1 :
+                    // C:\\dev\\jbossrules\\trunk3\\drools-compiler\\src\\main\\resources\\org\\drools\\lang\\DRL.g:898:5: constraint[pattern]
                     {
-                        pushFollow( FOLLOW_constraint_in_constraints2333 );
-                        constraint( column );
-                        this._fsp--;
-                        if ( this.failed ) {
-                            return;
-                        }
+                    pushFollow(FOLLOW_constraint_in_constraints2333);
+                    constraint(pattern);
+                    _fsp--;
+                    if (failed) return ;
 
                     }
-                        break;
-                    case 2 :
-                        // C:\\dev\\jbossrules\\trunk3\\drools-compiler\\src\\main\\resources\\org\\drools\\lang\\DRL.g:898:24: predicate[column]
+                    break;
+                case 2 :
+                    // C:\\dev\\jbossrules\\trunk3\\drools-compiler\\src\\main\\resources\\org\\drools\\lang\\DRL.g:898:25: predicate[pattern]
                     {
-                        pushFollow( FOLLOW_predicate_in_constraints2336 );
-                        predicate( column );
-                        this._fsp--;
-                        if ( this.failed ) {
-                            return;
-                        }
+                    pushFollow(FOLLOW_predicate_in_constraints2336);
+                    predicate(pattern);
+                    _fsp--;
+                    if (failed) return ;
 
                     }
-                        break;
+                    break;
 
+            }
+
+            // C:\\dev\\jbossrules\\trunk3\\drools-compiler\\src\\main\\resources\\org\\drools\\lang\\DRL.g:899:3: ( ',' ( constraint[pattern] | predicate[pattern] ) )*
+            loop33:
+            do {
+                int alt33=2;
+                int LA33_0 = input.LA(1);
+
+                if ( (LA33_0==66) ) {
+                    alt33=1;
                 }
 
-                // C:\\dev\\jbossrules\\trunk3\\drools-compiler\\src\\main\\resources\\org\\drools\\lang\\DRL.g:899:3: ( ( ',' ( ( constraint[column] )=> constraint[column] | predicate[column] ) )=> ',' ( ( constraint[column] )=> constraint[column] | predicate[column] ) )*
-                loop33 : do {
-                    int alt33 = 2;
-                    final int LA33_0 = this.input.LA( 1 );
-                    if ( (LA33_0 == 66) ) {
-                        alt33 = 1;
-                    }
 
-                    switch ( alt33 ) {
-                        case 1 :
-                            // C:\\dev\\jbossrules\\trunk3\\drools-compiler\\src\\main\\resources\\org\\drools\\lang\\DRL.g:899:5: ( ',' ( ( constraint[column] )=> constraint[column] | predicate[column] ) )=> ',' ( ( constraint[column] )=> constraint[column] | predicate[column] )
-                        {
-                            match( this.input,
-                                   66,
-                                   FOLLOW_66_in_constraints2344 );
-                            if ( this.failed ) {
-                                return;
-                            }
-                            // C:\\dev\\jbossrules\\trunk3\\drools-compiler\\src\\main\\resources\\org\\drools\\lang\\DRL.g:899:9: ( ( constraint[column] )=> constraint[column] | predicate[column] )
-                            int alt32 = 2;
-                            final int LA32_0 = this.input.LA( 1 );
-                            if ( ((LA32_0 >= PACKAGE && LA32_0 <= ATTRIBUTES) || LA32_0 == ENABLED || LA32_0 == SALIENCE || LA32_0 == DURATION || (LA32_0 >= ACCUMULATE && LA32_0 <= OR) || (LA32_0 >= CONTAINS && LA32_0 <= EXCLUDES) || LA32_0 == NULL || (LA32_0 >= AND && LA32_0 <= THEN)) ) {
-                                alt32 = 1;
-                            } else if ( (LA32_0 == LEFT_PAREN) ) {
-                                alt32 = 2;
-                            } else {
-                                if ( this.backtracking > 0 ) {
-                                    this.failed = true;
-                                    return;
-                                }
-                                final NoViableAltException nvae = new NoViableAltException( "899:9: ( ( constraint[column] )=> constraint[column] | predicate[column] )",
-                                                                                      32,
-                                                                                      0,
-                                                                                      this.input );
+                switch (alt33) {
+            	case 1 :
+            	    // C:\\dev\\jbossrules\\trunk3\\drools-compiler\\src\\main\\resources\\org\\drools\\lang\\DRL.g:899:5: ',' ( constraint[pattern] | predicate[pattern] )
+            	    {
+            	    match(input,66,FOLLOW_66_in_constraints2344); if (failed) return ;
+            	    // C:\\dev\\jbossrules\\trunk3\\drools-compiler\\src\\main\\resources\\org\\drools\\lang\\DRL.g:899:9: ( constraint[pattern] | predicate[pattern] )
+            	    int alt32=2;
+            	    int LA32_0 = input.LA(1);
 
-                                throw nvae;
-                            }
-                            switch ( alt32 ) {
-                                case 1 :
-                                    // C:\\dev\\jbossrules\\trunk3\\drools-compiler\\src\\main\\resources\\org\\drools\\lang\\DRL.g:899:10: ( constraint[column] )=> constraint[column]
-                                {
-                                    pushFollow( FOLLOW_constraint_in_constraints2347 );
-                                    constraint( column );
-                                    this._fsp--;
-                                    if ( this.failed ) {
-                                        return;
-                                    }
+            	    if ( ((LA32_0>=PACKAGE && LA32_0<=ATTRIBUTES)||LA32_0==ENABLED||LA32_0==SALIENCE||LA32_0==DURATION||(LA32_0>=ACCUMULATE && LA32_0<=OR)||(LA32_0>=CONTAINS && LA32_0<=EXCLUDES)||LA32_0==NULL||(LA32_0>=AND && LA32_0<=THEN)) ) {
+            	        alt32=1;
+            	    }
+            	    else if ( (LA32_0==LEFT_PAREN) ) {
+            	        alt32=2;
+            	    }
+            	    else {
+            	        if (backtracking>0) {failed=true; return ;}
+            	        NoViableAltException nvae =
+            	            new NoViableAltException("899:9: ( constraint[pattern] | predicate[pattern] )", 32, 0, input);
 
-                                }
-                                    break;
-                                case 2 :
-                                    // C:\\dev\\jbossrules\\trunk3\\drools-compiler\\src\\main\\resources\\org\\drools\\lang\\DRL.g:899:29: predicate[column]
-                                {
-                                    pushFollow( FOLLOW_predicate_in_constraints2350 );
-                                    predicate( column );
-                                    this._fsp--;
-                                    if ( this.failed ) {
-                                        return;
-                                    }
+            	        throw nvae;
+            	    }
+            	    switch (alt32) {
+            	        case 1 :
+            	            // C:\\dev\\jbossrules\\trunk3\\drools-compiler\\src\\main\\resources\\org\\drools\\lang\\DRL.g:899:10: constraint[pattern]
+            	            {
+            	            pushFollow(FOLLOW_constraint_in_constraints2347);
+            	            constraint(pattern);
+            	            _fsp--;
+            	            if (failed) return ;
 
-                                }
-                                    break;
+            	            }
+            	            break;
+            	        case 2 :
+            	            // C:\\dev\\jbossrules\\trunk3\\drools-compiler\\src\\main\\resources\\org\\drools\\lang\\DRL.g:899:30: predicate[pattern]
+            	            {
+            	            pushFollow(FOLLOW_predicate_in_constraints2350);
+            	            predicate(pattern);
+            	            _fsp--;
+            	            if (failed) return ;
 
-                            }
+            	            }
+            	            break;
 
-                        }
-                            break;
+            	    }
 
-                        default :
-                            break loop33;
-                    }
-                } while ( true );
 
+            	    }
+            	    break;
+
+            	default :
+            	    break loop33;
+                }
+            } while (true);
+
+
             }
 
-        } catch ( final RecognitionException re ) {
-            reportError( re );
-            recover( this.input,
-                     re );
-        } finally {
         }
-        return;
+        catch (RecognitionException re) {
+            reportError(re);
+            recover(input,re);
+        }
+        finally {
+        }
+        return ;
     }
-
     // $ANTLR end constraints
 
+
     // $ANTLR start constraint
-    // C:\\dev\\jbossrules\\trunk3\\drools-compiler\\src\\main\\resources\\org\\drools\\lang\\DRL.g:902:1: constraint[ColumnDescr column] : ( ( ID ':' )=>fb= ID ':' )? f= identifier ( ( ( constraint_expression ( ( ('&'|'|') constraint_expression )=> ('&'|'|') constraint_expression )* ) )=> (rd= constraint_expression ( ( ('&'|'|') constraint_expression )=>con= ('&'|'|')rd= constraint_expression )* ) | ( '->' predicate[column] )=> '->' predicate[column] )? ;
-    public void constraint(final ColumnDescr column) throws RecognitionException {
-        Token fb = null;
-        Token con = null;
+    // C:\\dev\\jbossrules\\trunk3\\drools-compiler\\src\\main\\resources\\org\\drools\\lang\\DRL.g:902:1: constraint[PatternDescr pattern] : (fb= ID ':' )? f= identifier ( (rd= constraint_expression (con= ( '&' | '|' ) rd= constraint_expression )* ) | '->' predicate[pattern] )? ;
+    public final void constraint(PatternDescr pattern) throws RecognitionException {
+        Token fb=null;
+        Token con=null;
         Token f = null;
 
         RestrictionDescr rd = null;
 
-        FieldBindingDescr fbd = null;
-        FieldConstraintDescr fc = null;
 
+        
+        		FieldBindingDescr fbd = null;
+        		FieldConstraintDescr fc = null;
+        	
         try {
-            // C:\\dev\\jbossrules\\trunk3\\drools-compiler\\src\\main\\resources\\org\\drools\\lang\\DRL.g:908:3: ( ( ( ID ':' )=>fb= ID ':' )? f= identifier ( ( ( constraint_expression ( ( ('&'|'|') constraint_expression )=> ('&'|'|') constraint_expression )* ) )=> (rd= constraint_expression ( ( ('&'|'|') constraint_expression )=>con= ('&'|'|')rd= constraint_expression )* ) | ( '->' predicate[column] )=> '->' predicate[column] )? )
-            // C:\\dev\\jbossrules\\trunk3\\drools-compiler\\src\\main\\resources\\org\\drools\\lang\\DRL.g:908:3: ( ( ID ':' )=>fb= ID ':' )? f= identifier ( ( ( constraint_expression ( ( ('&'|'|') constraint_expression )=> ('&'|'|') constraint_expression )* ) )=> (rd= constraint_expression ( ( ('&'|'|') constraint_expression )=>con= ('&'|'|')rd= constraint_expression )* ) | ( '->' predicate[column] )=> '->' predicate[column] )?
+            // C:\\dev\\jbossrules\\trunk3\\drools-compiler\\src\\main\\resources\\org\\drools\\lang\\DRL.g:908:3: ( (fb= ID ':' )? f= identifier ( (rd= constraint_expression (con= ( '&' | '|' ) rd= constraint_expression )* ) | '->' predicate[pattern] )? )
+            // C:\\dev\\jbossrules\\trunk3\\drools-compiler\\src\\main\\resources\\org\\drools\\lang\\DRL.g:908:3: (fb= ID ':' )? f= identifier ( (rd= constraint_expression (con= ( '&' | '|' ) rd= constraint_expression )* ) | '->' predicate[pattern] )?
             {
-                // C:\\dev\\jbossrules\\trunk3\\drools-compiler\\src\\main\\resources\\org\\drools\\lang\\DRL.g:908:3: ( ( ID ':' )=>fb= ID ':' )?
-                int alt34 = 2;
-                final int LA34_0 = this.input.LA( 1 );
-                if ( (LA34_0 == ID) ) {
-                    final int LA34_1 = this.input.LA( 2 );
-                    if ( (LA34_1 == 67) ) {
-                        alt34 = 1;
-                    }
+            // C:\\dev\\jbossrules\\trunk3\\drools-compiler\\src\\main\\resources\\org\\drools\\lang\\DRL.g:908:3: (fb= ID ':' )?
+            int alt34=2;
+            int LA34_0 = input.LA(1);
+
+            if ( (LA34_0==ID) ) {
+                int LA34_1 = input.LA(2);
+
+                if ( (LA34_1==67) ) {
+                    alt34=1;
                 }
-                switch ( alt34 ) {
-                    case 1 :
-                        // C:\\dev\\jbossrules\\trunk3\\drools-compiler\\src\\main\\resources\\org\\drools\\lang\\DRL.g:908:5: ( ID ':' )=>fb= ID ':'
+            }
+            switch (alt34) {
+                case 1 :
+                    // C:\\dev\\jbossrules\\trunk3\\drools-compiler\\src\\main\\resources\\org\\drools\\lang\\DRL.g:908:5: fb= ID ':'
                     {
-                        fb = (Token) this.input.LT( 1 );
-                        match( this.input,
-                               ID,
-                               FOLLOW_ID_in_constraint2379 );
-                        if ( this.failed ) {
-                            return;
-                        }
-                        match( this.input,
-                               67,
-                               FOLLOW_67_in_constraint2381 );
-                        if ( this.failed ) {
-                            return;
-                        }
-                        if ( this.backtracking == 0 ) {
+                    fb=(Token)input.LT(1);
+                    match(input,ID,FOLLOW_ID_in_constraint2379); if (failed) return ;
+                    match(input,67,FOLLOW_67_in_constraint2381); if (failed) return ;
+                    if ( backtracking==0 ) {
+                       
+                      			fbd = new FieldBindingDescr();
+                      			fbd.setIdentifier( fb.getText() );
+                      			fbd.setLocation( offset(fb.getLine()), fb.getCharPositionInLine() );
+                      			fbd.setStartCharacter( ((CommonToken)fb).getStartIndex() );
+                      			pattern.addDescr( fbd );
+                      
+                      		    
+                    }
 
-                            fbd = new FieldBindingDescr();
-                            fbd.setIdentifier( fb.getText() );
-                            fbd.setLocation( offset( fb.getLine() ),
-                                             fb.getCharPositionInLine() );
-                            fbd.setStartCharacter( ((CommonToken) fb).getStartIndex() );
-                            column.addDescr( fbd );
-
-                        }
-
                     }
-                        break;
+                    break;
 
-                }
+            }
 
-                pushFollow( FOLLOW_identifier_in_constraint2402 );
-                f = identifier();
-                this._fsp--;
-                if ( this.failed ) {
-                    return;
-                }
-                if ( this.backtracking == 0 ) {
+            pushFollow(FOLLOW_identifier_in_constraint2402);
+            f=identifier();
+            _fsp--;
+            if (failed) return ;
+            if ( backtracking==0 ) {
+              
+              		    if( f != null ) {
+              		    
+              			if ( fbd != null ) {
+              			    fbd.setFieldName( f.getText() );
+               			    fbd.setEndCharacter( ((CommonToken)f).getStopIndex() );
+              			} 
+              			fc = new FieldConstraintDescr(f.getText());
+              			fc.setLocation( offset(f.getLine()), f.getCharPositionInLine() );
+              			fc.setStartCharacter( ((CommonToken)f).getStartIndex() );
+              			
+              			// it must be a field constraint, as it is not a binding
+              			if( fb == null ) {
+              			    pattern.addDescr( fc );
+              			}
+              		    }
+              		
+            }
+            // C:\\dev\\jbossrules\\trunk3\\drools-compiler\\src\\main\\resources\\org\\drools\\lang\\DRL.g:936:3: ( (rd= constraint_expression (con= ( '&' | '|' ) rd= constraint_expression )* ) | '->' predicate[pattern] )?
+            int alt36=3;
+            int LA36_0 = input.LA(1);
 
-                    if ( f != null ) {
+            if ( ((LA36_0>=CONTAINS && LA36_0<=EXCLUDES)||(LA36_0>=72 && LA36_0<=77)) ) {
+                alt36=1;
+            }
+            else if ( (LA36_0==71) ) {
+                alt36=2;
+            }
+            switch (alt36) {
+                case 1 :
+                    // C:\\dev\\jbossrules\\trunk3\\drools-compiler\\src\\main\\resources\\org\\drools\\lang\\DRL.g:937:4: (rd= constraint_expression (con= ( '&' | '|' ) rd= constraint_expression )* )
+                    {
+                    // C:\\dev\\jbossrules\\trunk3\\drools-compiler\\src\\main\\resources\\org\\drools\\lang\\DRL.g:937:4: (rd= constraint_expression (con= ( '&' | '|' ) rd= constraint_expression )* )
+                    // C:\\dev\\jbossrules\\trunk3\\drools-compiler\\src\\main\\resources\\org\\drools\\lang\\DRL.g:937:6: rd= constraint_expression (con= ( '&' | '|' ) rd= constraint_expression )*
+                    {
+                    pushFollow(FOLLOW_constraint_expression_in_constraint2420);
+                    rd=constraint_expression();
+                    _fsp--;
+                    if (failed) return ;
+                    if ( backtracking==0 ) {
+                      
+                      					fc.addRestriction(rd);
+                      					// we must add now as we didn't before
+                      					if( fb != null) {
+                      					    pattern.addDescr( fc );
+                      					}
+                      				
+                    }
+                    // C:\\dev\\jbossrules\\trunk3\\drools-compiler\\src\\main\\resources\\org\\drools\\lang\\DRL.g:945:5: (con= ( '&' | '|' ) rd= constraint_expression )*
+                    loop35:
+                    do {
+                        int alt35=2;
+                        int LA35_0 = input.LA(1);
 
-                        if ( fbd != null ) {
-                            fbd.setFieldName( f.getText() );
-                            fbd.setEndCharacter( ((CommonToken) f).getStopIndex() );
+                        if ( ((LA35_0>=69 && LA35_0<=70)) ) {
+                            alt35=1;
                         }
-                        fc = new FieldConstraintDescr( f.getText() );
-                        fc.setLocation( offset( f.getLine() ),
-                                        f.getCharPositionInLine() );
-                        fc.setStartCharacter( ((CommonToken) f).getStartIndex() );
 
-                        // it must be a field constraint, as it is not a binding
-                        if ( fb == null ) {
-                            column.addDescr( fc );
-                        }
-                    }
 
-                }
-                // C:\\dev\\jbossrules\\trunk3\\drools-compiler\\src\\main\\resources\\org\\drools\\lang\\DRL.g:936:3: ( ( ( constraint_expression ( ( ('&'|'|') constraint_expression )=> ('&'|'|') constraint_expression )* ) )=> (rd= constraint_expression ( ( ('&'|'|') constraint_expression )=>con= ('&'|'|')rd= constraint_expression )* ) | ( '->' predicate[column] )=> '->' predicate[column] )?
-                int alt36 = 3;
-                final int LA36_0 = this.input.LA( 1 );
-                if ( ((LA36_0 >= CONTAINS && LA36_0 <= EXCLUDES) || (LA36_0 >= 72 && LA36_0 <= 77)) ) {
-                    alt36 = 1;
-                } else if ( (LA36_0 == 71) ) {
-                    alt36 = 2;
-                }
-                switch ( alt36 ) {
-                    case 1 :
-                        // C:\\dev\\jbossrules\\trunk3\\drools-compiler\\src\\main\\resources\\org\\drools\\lang\\DRL.g:937:4: ( ( constraint_expression ( ( ('&'|'|') constraint_expression )=> ('&'|'|') constraint_expression )* ) )=> (rd= constraint_expression ( ( ('&'|'|') constraint_expression )=>con= ('&'|'|')rd= constraint_expression )* )
-                    {
-                        // C:\\dev\\jbossrules\\trunk3\\drools-compiler\\src\\main\\resources\\org\\drools\\lang\\DRL.g:937:4: (rd= constraint_expression ( ( ('&'|'|') constraint_expression )=>con= ('&'|'|')rd= constraint_expression )* )
-                        // C:\\dev\\jbossrules\\trunk3\\drools-compiler\\src\\main\\resources\\org\\drools\\lang\\DRL.g:937:6: rd= constraint_expression ( ( ('&'|'|') constraint_expression )=>con= ('&'|'|')rd= constraint_expression )*
-                        {
-                            pushFollow( FOLLOW_constraint_expression_in_constraint2420 );
-                            rd = constraint_expression();
-                            this._fsp--;
-                            if ( this.failed ) {
-                                return;
-                            }
-                            if ( this.backtracking == 0 ) {
+                        switch (alt35) {
+                    	case 1 :
+                    	    // C:\\dev\\jbossrules\\trunk3\\drools-compiler\\src\\main\\resources\\org\\drools\\lang\\DRL.g:946:6: con= ( '&' | '|' ) rd= constraint_expression
+                    	    {
+                    	    con=(Token)input.LT(1);
+                    	    if ( (input.LA(1)>=69 && input.LA(1)<=70) ) {
+                    	        input.consume();
+                    	        errorRecovery=false;failed=false;
+                    	    }
+                    	    else {
+                    	        if (backtracking>0) {failed=true; return ;}
+                    	        MismatchedSetException mse =
+                    	            new MismatchedSetException(null,input);
+                    	        recoverFromMismatchedSet(input,mse,FOLLOW_set_in_constraint2441);    throw mse;
+                    	    }
 
-                                fc.addRestriction( rd );
-                                // we must add now as we didn't before
-                                if ( fb != null ) {
-                                    column.addDescr( fc );
-                                }
+                    	    if ( backtracking==0 ) {
+                    	      
+                    	      						if (con.getText().equals("&") ) {								
+                    	      							fc.addRestriction(new RestrictionConnectiveDescr(RestrictionConnectiveDescr.AND));	
+                    	      						} else {
+                    	      							fc.addRestriction(new RestrictionConnectiveDescr(RestrictionConnectiveDescr.OR));	
+                    	      						}							
+                    	      					
+                    	    }
+                    	    pushFollow(FOLLOW_constraint_expression_in_constraint2461);
+                    	    rd=constraint_expression();
+                    	    _fsp--;
+                    	    if (failed) return ;
+                    	    if ( backtracking==0 ) {
+                    	      
+                    	      					        if( rd != null ) {
+                    	      							fc.addRestriction(rd);
+                    	      					        }
+                    	      					
+                    	    }
 
-                            }
-                            // C:\\dev\\jbossrules\\trunk3\\drools-compiler\\src\\main\\resources\\org\\drools\\lang\\DRL.g:945:5: ( ( ('&'|'|') constraint_expression )=>con= ('&'|'|')rd= constraint_expression )*
-                            loop35 : do {
-                                int alt35 = 2;
-                                final int LA35_0 = this.input.LA( 1 );
-                                if ( ((LA35_0 >= 69 && LA35_0 <= 70)) ) {
-                                    alt35 = 1;
-                                }
+                    	    }
+                    	    break;
 
-                                switch ( alt35 ) {
-                                    case 1 :
-                                        // C:\\dev\\jbossrules\\trunk3\\drools-compiler\\src\\main\\resources\\org\\drools\\lang\\DRL.g:946:6: ( ('&'|'|') constraint_expression )=>con= ('&'|'|')rd= constraint_expression
-                                    {
-                                        con = (Token) this.input.LT( 1 );
-                                        if ( (this.input.LA( 1 ) >= 69 && this.input.LA( 1 ) <= 70) ) {
-                                            this.input.consume();
-                                            this.errorRecovery = false;
-                                            this.failed = false;
-                                        } else {
-                                            if ( this.backtracking > 0 ) {
-                                                this.failed = true;
-                                                return;
-                                            }
-                                            final MismatchedSetException mse = new MismatchedSetException( null,
-                                                                                                     this.input );
-                                            recoverFromMismatchedSet( this.input,
-                                                                      mse,
-                                                                      FOLLOW_set_in_constraint2442 );
-                                            throw mse;
-                                        }
+                    	default :
+                    	    break loop35;
+                        }
+                    } while (true);
 
-                                        if ( this.backtracking == 0 ) {
 
-                                            if ( con.getText().equals( "&" ) ) {
-                                                fc.addRestriction( new RestrictionConnectiveDescr( RestrictionConnectiveDescr.AND ) );
-                                            } else {
-                                                fc.addRestriction( new RestrictionConnectiveDescr( RestrictionConnectiveDescr.OR ) );
-                                            }
+                    }
 
-                                        }
-                                        pushFollow( FOLLOW_constraint_expression_in_constraint2461 );
-                                        rd = constraint_expression();
-                                        this._fsp--;
-                                        if ( this.failed ) {
-                                            return;
-                                        }
-                                        if ( this.backtracking == 0 ) {
 
-                                            if ( rd != null ) {
-                                                fc.addRestriction( rd );
-                                            }
-
-                                        }
-
-                                    }
-                                        break;
-
-                                    default :
-                                        break loop35;
-                                }
-                            } while ( true );
-
-                        }
-
                     }
-                        break;
-                    case 2 :
-                        // C:\\dev\\jbossrules\\trunk3\\drools-compiler\\src\\main\\resources\\org\\drools\\lang\\DRL.g:963:4: ( '->' predicate[column] )=> '->' predicate[column]
+                    break;
+                case 2 :
+                    // C:\\dev\\jbossrules\\trunk3\\drools-compiler\\src\\main\\resources\\org\\drools\\lang\\DRL.g:963:4: '->' predicate[pattern]
                     {
-                        match( this.input,
-                               71,
-                               FOLLOW_71_in_constraint2489 );
-                        if ( this.failed ) {
-                            return;
-                        }
-                        pushFollow( FOLLOW_predicate_in_constraint2491 );
-                        predicate( column );
-                        this._fsp--;
-                        if ( this.failed ) {
-                            return;
-                        }
+                    match(input,71,FOLLOW_71_in_constraint2489); if (failed) return ;
+                    pushFollow(FOLLOW_predicate_in_constraint2491);
+                    predicate(pattern);
+                    _fsp--;
+                    if (failed) return ;
 
                     }
-                        break;
+                    break;
 
-                }
+            }
 
+
             }
 
-        } catch ( final RecognitionException re ) {
-            reportError( re );
-            recover( this.input,
-                     re );
-        } finally {
         }
-        return;
+        catch (RecognitionException re) {
+            reportError(re);
+            recover(input,re);
+        }
+        finally {
+        }
+        return ;
     }
-
     // $ANTLR end constraint
 
+
     // $ANTLR start constraint_expression
-    // C:\\dev\\jbossrules\\trunk3\\drools-compiler\\src\\main\\resources\\org\\drools\\lang\\DRL.g:967:1: constraint_expression returns [RestrictionDescr rd] : op= ('=='|'>'|'>='|'<'|'<='|'!='|CONTAINS|MATCHES|EXCLUDES) ( ( ID )=>bvc= ID | ( enum_constraint )=>lc= enum_constraint | ( literal_constraint )=>lc= literal_constraint | rvc= retval_constraint ) ;
-    public RestrictionDescr constraint_expression() throws RecognitionException {
+    // C:\\dev\\jbossrules\\trunk3\\drools-compiler\\src\\main\\resources\\org\\drools\\lang\\DRL.g:967:1: constraint_expression returns [RestrictionDescr rd] : op= ( '==' | '>' | '>=' | '<' | '<=' | '!=' | CONTAINS | MATCHES | EXCLUDES ) (bvc= ID | lc= enum_constraint | lc= literal_constraint | rvc= retval_constraint ) ;
+    public final RestrictionDescr constraint_expression() throws RecognitionException {
         RestrictionDescr rd = null;
 
-        Token op = null;
-        Token bvc = null;
+        Token op=null;
+        Token bvc=null;
         String lc = null;
 
         String rvc = null;
 
+
         try {
-            // C:\\dev\\jbossrules\\trunk3\\drools-compiler\\src\\main\\resources\\org\\drools\\lang\\DRL.g:969:3: (op= ('=='|'>'|'>='|'<'|'<='|'!='|CONTAINS|MATCHES|EXCLUDES) ( ( ID )=>bvc= ID | ( enum_constraint )=>lc= enum_constraint | ( literal_constraint )=>lc= literal_constraint | rvc= retval_constraint ) )
-            // C:\\dev\\jbossrules\\trunk3\\drools-compiler\\src\\main\\resources\\org\\drools\\lang\\DRL.g:969:3: op= ('=='|'>'|'>='|'<'|'<='|'!='|CONTAINS|MATCHES|EXCLUDES) ( ( ID )=>bvc= ID | ( enum_constraint )=>lc= enum_constraint | ( literal_constraint )=>lc= literal_constraint | rvc= retval_constraint )
+            // C:\\dev\\jbossrules\\trunk3\\drools-compiler\\src\\main\\resources\\org\\drools\\lang\\DRL.g:969:3: (op= ( '==' | '>' | '>=' | '<' | '<=' | '!=' | CONTAINS | MATCHES | EXCLUDES ) (bvc= ID | lc= enum_constraint | lc= literal_constraint | rvc= retval_constraint ) )
+            // C:\\dev\\jbossrules\\trunk3\\drools-compiler\\src\\main\\resources\\org\\drools\\lang\\DRL.g:969:3: op= ( '==' | '>' | '>=' | '<' | '<=' | '!=' | CONTAINS | MATCHES | EXCLUDES ) (bvc= ID | lc= enum_constraint | lc= literal_constraint | rvc= retval_constraint )
             {
-                op = (Token) this.input.LT( 1 );
-                if ( (this.input.LA( 1 ) >= CONTAINS && this.input.LA( 1 ) <= EXCLUDES) || (this.input.LA( 1 ) >= 72 && this.input.LA( 1 ) <= 77) ) {
-                    this.input.consume();
-                    this.errorRecovery = false;
-                    this.failed = false;
-                } else {
-                    if ( this.backtracking > 0 ) {
-                        this.failed = true;
-                        return rd;
-                    }
-                    final MismatchedSetException mse = new MismatchedSetException( null,
-                                                                             this.input );
-                    recoverFromMismatchedSet( this.input,
-                                              mse,
-                                              FOLLOW_set_in_constraint_expression2528 );
-                    throw mse;
-                }
+            op=(Token)input.LT(1);
+            if ( (input.LA(1)>=CONTAINS && input.LA(1)<=EXCLUDES)||(input.LA(1)>=72 && input.LA(1)<=77) ) {
+                input.consume();
+                errorRecovery=false;failed=false;
+            }
+            else {
+                if (backtracking>0) {failed=true; return rd;}
+                MismatchedSetException mse =
+                    new MismatchedSetException(null,input);
+                recoverFromMismatchedSet(input,mse,FOLLOW_set_in_constraint_expression2526);    throw mse;
+            }
 
-                // C:\\dev\\jbossrules\\trunk3\\drools-compiler\\src\\main\\resources\\org\\drools\\lang\\DRL.g:979:3: ( ( ID )=>bvc= ID | ( enum_constraint )=>lc= enum_constraint | ( literal_constraint )=>lc= literal_constraint | rvc= retval_constraint )
-                int alt37 = 4;
-                switch ( this.input.LA( 1 ) ) {
-                    case ID :
-                        final int LA37_1 = this.input.LA( 2 );
-                        if ( (LA37_1 == 64) ) {
-                            alt37 = 2;
-                        } else if ( (LA37_1 == EOF || LA37_1 == RIGHT_PAREN || LA37_1 == 66 || (LA37_1 >= 69 && LA37_1 <= 70)) ) {
-                            alt37 = 1;
-                        } else {
-                            if ( this.backtracking > 0 ) {
-                                this.failed = true;
-                                return rd;
-                            }
-                            final NoViableAltException nvae = new NoViableAltException( "979:3: ( ( ID )=>bvc= ID | ( enum_constraint )=>lc= enum_constraint | ( literal_constraint )=>lc= literal_constraint | rvc= retval_constraint )",
-                                                                                  37,
-                                                                                  1,
-                                                                                  this.input );
+            // C:\\dev\\jbossrules\\trunk3\\drools-compiler\\src\\main\\resources\\org\\drools\\lang\\DRL.g:979:3: (bvc= ID | lc= enum_constraint | lc= literal_constraint | rvc= retval_constraint )
+            int alt37=4;
+            switch ( input.LA(1) ) {
+            case ID:
+                {
+                int LA37_1 = input.LA(2);
 
-                            throw nvae;
-                        }
-                        break;
-                    case STRING :
-                    case BOOL :
-                    case INT :
-                    case FLOAT :
-                    case NULL :
-                        alt37 = 3;
-                        break;
-                    case LEFT_PAREN :
-                        alt37 = 4;
-                        break;
-                    default :
-                        if ( this.backtracking > 0 ) {
-                            this.failed = true;
-                            return rd;
-                        }
-                        final NoViableAltException nvae = new NoViableAltException( "979:3: ( ( ID )=>bvc= ID | ( enum_constraint )=>lc= enum_constraint | ( literal_constraint )=>lc= literal_constraint | rvc= retval_constraint )",
-                                                                              37,
-                                                                              0,
-                                                                              this.input );
+                if ( (LA37_1==EOF||LA37_1==RIGHT_PAREN||LA37_1==66||(LA37_1>=69 && LA37_1<=70)) ) {
+                    alt37=1;
+                }
+                else if ( (LA37_1==64) ) {
+                    alt37=2;
+                }
+                else {
+                    if (backtracking>0) {failed=true; return rd;}
+                    NoViableAltException nvae =
+                        new NoViableAltException("979:3: (bvc= ID | lc= enum_constraint | lc= literal_constraint | rvc= retval_constraint )", 37, 1, input);
 
-                        throw nvae;
+                    throw nvae;
                 }
+                }
+                break;
+            case STRING:
+            case BOOL:
+            case INT:
+            case FLOAT:
+            case NULL:
+                {
+                alt37=3;
+                }
+                break;
+            case LEFT_PAREN:
+                {
+                alt37=4;
+                }
+                break;
+            default:
+                if (backtracking>0) {failed=true; return rd;}
+                NoViableAltException nvae =
+                    new NoViableAltException("979:3: (bvc= ID | lc= enum_constraint | lc= literal_constraint | rvc= retval_constraint )", 37, 0, input);
 
-                switch ( alt37 ) {
-                    case 1 :
-                        // C:\\dev\\jbossrules\\trunk3\\drools-compiler\\src\\main\\resources\\org\\drools\\lang\\DRL.g:979:5: ( ID )=>bvc= ID
+                throw nvae;
+            }
+
+            switch (alt37) {
+                case 1 :
+                    // C:\\dev\\jbossrules\\trunk3\\drools-compiler\\src\\main\\resources\\org\\drools\\lang\\DRL.g:979:5: bvc= ID
                     {
-                        bvc = (Token) this.input.LT( 1 );
-                        match( this.input,
-                               ID,
-                               FOLLOW_ID_in_constraint_expression2595 );
-                        if ( this.failed ) {
-                            return rd;
-                        }
-                        if ( this.backtracking == 0 ) {
+                    bvc=(Token)input.LT(1);
+                    match(input,ID,FOLLOW_ID_in_constraint_expression2595); if (failed) return rd;
+                    if ( backtracking==0 ) {
+                      
+                      				rd = new VariableRestrictionDescr(op.getText(), bvc.getText());
+                      			
+                    }
 
-                            rd = new VariableRestrictionDescr( op.getText(),
-                                                               bvc.getText() );
-
-                        }
-
                     }
-                        break;
-                    case 2 :
-                        // C:\\dev\\jbossrules\\trunk3\\drools-compiler\\src\\main\\resources\\org\\drools\\lang\\DRL.g:984:4: ( enum_constraint )=>lc= enum_constraint
+                    break;
+                case 2 :
+                    // C:\\dev\\jbossrules\\trunk3\\drools-compiler\\src\\main\\resources\\org\\drools\\lang\\DRL.g:984:4: lc= enum_constraint
                     {
-                        pushFollow( FOLLOW_enum_constraint_in_constraint_expression2611 );
-                        lc = enum_constraint();
-                        this._fsp--;
-                        if ( this.failed ) {
-                            return rd;
-                        }
-                        if ( this.backtracking == 0 ) {
+                    pushFollow(FOLLOW_enum_constraint_in_constraint_expression2611);
+                    lc=enum_constraint();
+                    _fsp--;
+                    if (failed) return rd;
+                    if ( backtracking==0 ) {
+                       
+                      				rd  = new LiteralRestrictionDescr(op.getText(), lc, true);
+                      			
+                    }
 
-                            rd = new LiteralRestrictionDescr( op.getText(),
-                                                              lc,
-                                                              true );
-
-                        }
-
                     }
-                        break;
-                    case 3 :
-                        // C:\\dev\\jbossrules\\trunk3\\drools-compiler\\src\\main\\resources\\org\\drools\\lang\\DRL.g:989:4: ( literal_constraint )=>lc= literal_constraint
+                    break;
+                case 3 :
+                    // C:\\dev\\jbossrules\\trunk3\\drools-compiler\\src\\main\\resources\\org\\drools\\lang\\DRL.g:989:4: lc= literal_constraint
                     {
-                        pushFollow( FOLLOW_literal_constraint_in_constraint_expression2634 );
-                        lc = literal_constraint();
-                        this._fsp--;
-                        if ( this.failed ) {
-                            return rd;
-                        }
-                        if ( this.backtracking == 0 ) {
+                    pushFollow(FOLLOW_literal_constraint_in_constraint_expression2634);
+                    lc=literal_constraint();
+                    _fsp--;
+                    if (failed) return rd;
+                    if ( backtracking==0 ) {
+                       
+                      				rd  = new LiteralRestrictionDescr(op.getText(), lc);
+                      			
+                    }
 
-                            rd = new LiteralRestrictionDescr( op.getText(),
-                                                              lc );
-
-                        }
-
                     }
-                        break;
-                    case 4 :
-                        // C:\\dev\\jbossrules\\trunk3\\drools-compiler\\src\\main\\resources\\org\\drools\\lang\\DRL.g:993:5: rvc= retval_constraint
+                    break;
+                case 4 :
+                    // C:\\dev\\jbossrules\\trunk3\\drools-compiler\\src\\main\\resources\\org\\drools\\lang\\DRL.g:993:5: rvc= retval_constraint
                     {
-                        pushFollow( FOLLOW_retval_constraint_in_constraint_expression2648 );
-                        rvc = retval_constraint();
-                        this._fsp--;
-                        if ( this.failed ) {
-                            return rd;
-                        }
-                        if ( this.backtracking == 0 ) {
+                    pushFollow(FOLLOW_retval_constraint_in_constraint_expression2648);
+                    rvc=retval_constraint();
+                    _fsp--;
+                    if (failed) return rd;
+                    if ( backtracking==0 ) {
+                       
+                      				rd = new ReturnValueRestrictionDescr(op.getText(), rvc);							
+                      			
+                    }
 
-                            rd = new ReturnValueRestrictionDescr( op.getText(),
-                                                                  rvc );
-
-                        }
-
                     }
-                        break;
+                    break;
 
-                }
+            }
 
+
             }
 
-        } catch ( final RecognitionException re ) {
-            reportError( re );
-            recover( this.input,
-                     re );
-        } finally {
         }
+        catch (RecognitionException re) {
+            reportError(re);
+            recover(input,re);
+        }
+        finally {
+        }
         return rd;
     }
-
     // $ANTLR end constraint_expression
 
+
     // $ANTLR start literal_constraint
-    // C:\\dev\\jbossrules\\trunk3\\drools-compiler\\src\\main\\resources\\org\\drools\\lang\\DRL.g:1000:1: literal_constraint returns [String text] : ( ( STRING )=>t= STRING | ( INT )=>t= INT | ( FLOAT )=>t= FLOAT | ( BOOL )=>t= BOOL | t= NULL ) ;
-    public String literal_constraint() throws RecognitionException {
+    // C:\\dev\\jbossrules\\trunk3\\drools-compiler\\src\\main\\resources\\org\\drools\\lang\\DRL.g:1000:1: literal_constraint returns [String text] : (t= STRING | t= INT | t= FLOAT | t= BOOL | t= NULL ) ;
+    public final String literal_constraint() throws RecognitionException {
         String text = null;
 
-        Token t = null;
+        Token t=null;
 
-        text = null;
-
+        
+        		text = null;
+        	
         try {
-            // C:\\dev\\jbossrules\\trunk3\\drools-compiler\\src\\main\\resources\\org\\drools\\lang\\DRL.g:1004:4: ( ( ( STRING )=>t= STRING | ( INT )=>t= INT | ( FLOAT )=>t= FLOAT | ( BOOL )=>t= BOOL | t= NULL ) )
-            // C:\\dev\\jbossrules\\trunk3\\drools-compiler\\src\\main\\resources\\org\\drools\\lang\\DRL.g:1004:4: ( ( STRING )=>t= STRING | ( INT )=>t= INT | ( FLOAT )=>t= FLOAT | ( BOOL )=>t= BOOL | t= NULL )
+            // C:\\dev\\jbossrules\\trunk3\\drools-compiler\\src\\main\\resources\\org\\drools\\lang\\DRL.g:1004:4: ( (t= STRING | t= INT | t= FLOAT | t= BOOL | t= NULL ) )
+            // C:\\dev\\jbossrules\\trunk3\\drools-compiler\\src\\main\\resources\\org\\drools\\lang\\DRL.g:1004:4: (t= STRING | t= INT | t= FLOAT | t= BOOL | t= NULL )
             {
-                // C:\\dev\\jbossrules\\trunk3\\drools-compiler\\src\\main\\resources\\org\\drools\\lang\\DRL.g:1004:4: ( ( STRING )=>t= STRING | ( INT )=>t= INT | ( FLOAT )=>t= FLOAT | ( BOOL )=>t= BOOL | t= NULL )
-                int alt38 = 5;
-                switch ( this.input.LA( 1 ) ) {
-                    case STRING :
-                        alt38 = 1;
-                        break;
-                    case INT :
-                        alt38 = 2;
-                        break;
-                    case FLOAT :
-                        alt38 = 3;
-                        break;
-                    case BOOL :
-                        alt38 = 4;
-                        break;
-                    case NULL :
-                        alt38 = 5;
-                        break;
-                    default :
-                        if ( this.backtracking > 0 ) {
-                            this.failed = true;
-                            return text;
-                        }
-                        final NoViableAltException nvae = new NoViableAltException( "1004:4: ( ( STRING )=>t= STRING | ( INT )=>t= INT | ( FLOAT )=>t= FLOAT | ( BOOL )=>t= BOOL | t= NULL )",
-                                                                              38,
-                                                                              0,
-                                                                              this.input );
-
-                        throw nvae;
+            // C:\\dev\\jbossrules\\trunk3\\drools-compiler\\src\\main\\resources\\org\\drools\\lang\\DRL.g:1004:4: (t= STRING | t= INT | t= FLOAT | t= BOOL | t= NULL )
+            int alt38=5;
+            switch ( input.LA(1) ) {
+            case STRING:
+                {
+                alt38=1;
                 }
+                break;
+            case INT:
+                {
+                alt38=2;
+                }
+                break;
+            case FLOAT:
+                {
+                alt38=3;
+                }
+                break;
+            case BOOL:
+                {
+                alt38=4;
+                }
+                break;
+            case NULL:
+                {
+                alt38=5;
+                }
+                break;
+            default:
+                if (backtracking>0) {failed=true; return text;}
+                NoViableAltException nvae =
+                    new NoViableAltException("1004:4: (t= STRING | t= INT | t= FLOAT | t= BOOL | t= NULL )", 38, 0, input);
 
-                switch ( alt38 ) {
-                    case 1 :
-                        // C:\\dev\\jbossrules\\trunk3\\drools-compiler\\src\\main\\resources\\org\\drools\\lang\\DRL.g:1004:6: ( STRING )=>t= STRING
+                throw nvae;
+            }
+
+            switch (alt38) {
+                case 1 :
+                    // C:\\dev\\jbossrules\\trunk3\\drools-compiler\\src\\main\\resources\\org\\drools\\lang\\DRL.g:1004:6: t= STRING
                     {
-                        t = (Token) this.input.LT( 1 );
-                        match( this.input,
-                               STRING,
-                               FOLLOW_STRING_in_literal_constraint2687 );
-                        if ( this.failed ) {
-                            return text;
-                        }
-                        if ( this.backtracking == 0 ) {
-                            text = getString( t );
-                        }
+                    t=(Token)input.LT(1);
+                    match(input,STRING,FOLLOW_STRING_in_literal_constraint2687); if (failed) return text;
+                    if ( backtracking==0 ) {
+                       text = getString( t ); 
+                    }
 
                     }
-                        break;
-                    case 2 :
-                        // C:\\dev\\jbossrules\\trunk3\\drools-compiler\\src\\main\\resources\\org\\drools\\lang\\DRL.g:1005:5: ( INT )=>t= INT
+                    break;
+                case 2 :
+                    // C:\\dev\\jbossrules\\trunk3\\drools-compiler\\src\\main\\resources\\org\\drools\\lang\\DRL.g:1005:5: t= INT
                     {
-                        t = (Token) this.input.LT( 1 );
-                        match( this.input,
-                               INT,
-                               FOLLOW_INT_in_literal_constraint2698 );
-                        if ( this.failed ) {
-                            return text;
-                        }
-                        if ( this.backtracking == 0 ) {
-                            text = t.getText();
-                        }
+                    t=(Token)input.LT(1);
+                    match(input,INT,FOLLOW_INT_in_literal_constraint2698); if (failed) return text;
+                    if ( backtracking==0 ) {
+                       text = t.getText(); 
+                    }
 
                     }
-                        break;
-                    case 3 :
-                        // C:\\dev\\jbossrules\\trunk3\\drools-compiler\\src\\main\\resources\\org\\drools\\lang\\DRL.g:1006:5: ( FLOAT )=>t= FLOAT
+                    break;
+                case 3 :
+                    // C:\\dev\\jbossrules\\trunk3\\drools-compiler\\src\\main\\resources\\org\\drools\\lang\\DRL.g:1006:5: t= FLOAT
                     {
-                        t = (Token) this.input.LT( 1 );
-                        match( this.input,
-                               FLOAT,
-                               FOLLOW_FLOAT_in_literal_constraint2711 );
-                        if ( this.failed ) {
-                            return text;
-                        }
-                        if ( this.backtracking == 0 ) {
-                            text = t.getText();
-                        }
+                    t=(Token)input.LT(1);
+                    match(input,FLOAT,FOLLOW_FLOAT_in_literal_constraint2711); if (failed) return text;
+                    if ( backtracking==0 ) {
+                       text = t.getText(); 
+                    }
 
                     }
-                        break;
-                    case 4 :
-                        // C:\\dev\\jbossrules\\trunk3\\drools-compiler\\src\\main\\resources\\org\\drools\\lang\\DRL.g:1007:5: ( BOOL )=>t= BOOL
+                    break;
+                case 4 :
+                    // C:\\dev\\jbossrules\\trunk3\\drools-compiler\\src\\main\\resources\\org\\drools\\lang\\DRL.g:1007:5: t= BOOL
                     {
-                        t = (Token) this.input.LT( 1 );
-                        match( this.input,
-                               BOOL,
-                               FOLLOW_BOOL_in_literal_constraint2722 );
-                        if ( this.failed ) {
-                            return text;
-                        }
-                        if ( this.backtracking == 0 ) {
-                            text = t.getText();
-                        }
+                    t=(Token)input.LT(1);
+                    match(input,BOOL,FOLLOW_BOOL_in_literal_constraint2722); if (failed) return text;
+                    if ( backtracking==0 ) {
+                       text = t.getText(); 
+                    }
 
                     }
-                        break;
-                    case 5 :
-                        // C:\\dev\\jbossrules\\trunk3\\drools-compiler\\src\\main\\resources\\org\\drools\\lang\\DRL.g:1008:5: t= NULL
+                    break;
+                case 5 :
+                    // C:\\dev\\jbossrules\\trunk3\\drools-compiler\\src\\main\\resources\\org\\drools\\lang\\DRL.g:1008:5: t= NULL
                     {
-                        t = (Token) this.input.LT( 1 );
-                        match( this.input,
-                               NULL,
-                               FOLLOW_NULL_in_literal_constraint2734 );
-                        if ( this.failed ) {
-                            return text;
-                        }
-                        if ( this.backtracking == 0 ) {
-                            text = null;
-                        }
+                    t=(Token)input.LT(1);
+                    match(input,NULL,FOLLOW_NULL_in_literal_constraint2734); if (failed) return text;
+                    if ( backtracking==0 ) {
+                       text = null; 
+                    }
 
                     }
-                        break;
+                    break;
 
-                }
+            }
 
+
             }
 
-        } catch ( final RecognitionException re ) {
-            reportError( re );
-            recover( this.input,
-                     re );
-        } finally {
         }
+        catch (RecognitionException re) {
+            reportError(re);
+            recover(input,re);
+        }
+        finally {
+        }
         return text;
     }
-
     // $ANTLR end literal_constraint
 
+
     // $ANTLR start enum_constraint
-    // C:\\dev\\jbossrules\\trunk3\\drools-compiler\\src\\main\\resources\\org\\drools\\lang\\DRL.g:1012:1: enum_constraint returns [String text] : id= ID ( ( '.' identifier )=> '.' ident= identifier )+ ;
-    public String enum_constraint() throws RecognitionException {
+    // C:\\dev\\jbossrules\\trunk3\\drools-compiler\\src\\main\\resources\\org\\drools\\lang\\DRL.g:1012:1: enum_constraint returns [String text] : id= ID ( '.' ident= identifier )+ ;
+    public final String enum_constraint() throws RecognitionException {
         String text = null;
 
-        Token id = null;
+        Token id=null;
         Token ident = null;
 
-        text = null;
 
+        
+        		text = null;
+        	
         try {
-            // C:\\dev\\jbossrules\\trunk3\\drools-compiler\\src\\main\\resources\\org\\drools\\lang\\DRL.g:1017:3: (id= ID ( ( '.' identifier )=> '.' ident= identifier )+ )
-            // C:\\dev\\jbossrules\\trunk3\\drools-compiler\\src\\main\\resources\\org\\drools\\lang\\DRL.g:1017:3: id= ID ( ( '.' identifier )=> '.' ident= identifier )+
+            // C:\\dev\\jbossrules\\trunk3\\drools-compiler\\src\\main\\resources\\org\\drools\\lang\\DRL.g:1017:3: (id= ID ( '.' ident= identifier )+ )
+            // C:\\dev\\jbossrules\\trunk3\\drools-compiler\\src\\main\\resources\\org\\drools\\lang\\DRL.g:1017:3: id= ID ( '.' ident= identifier )+
             {
-                id = (Token) this.input.LT( 1 );
-                match( this.input,
-                       ID,
-                       FOLLOW_ID_in_enum_constraint2769 );
-                if ( this.failed ) {
-                    return text;
+            id=(Token)input.LT(1);
+            match(input,ID,FOLLOW_ID_in_enum_constraint2769); if (failed) return text;
+            if ( backtracking==0 ) {
+               text=id.getText(); 
+            }
+            // C:\\dev\\jbossrules\\trunk3\\drools-compiler\\src\\main\\resources\\org\\drools\\lang\\DRL.g:1017:32: ( '.' ident= identifier )+
+            int cnt39=0;
+            loop39:
+            do {
+                int alt39=2;
+                int LA39_0 = input.LA(1);
+
+                if ( (LA39_0==64) ) {
+                    alt39=1;
                 }
-                if ( this.backtracking == 0 ) {
-                    text = id.getText();
-                }
-                // C:\\dev\\jbossrules\\trunk3\\drools-compiler\\src\\main\\resources\\org\\drools\\lang\\DRL.g:1017:32: ( ( '.' identifier )=> '.' ident= identifier )+
-                int cnt39 = 0;
-                loop39 : do {
-                    int alt39 = 2;
-                    final int LA39_0 = this.input.LA( 1 );
-                    if ( (LA39_0 == 64) ) {
-                        alt39 = 1;
-                    }
 
-                    switch ( alt39 ) {
-                        case 1 :
-                            // C:\\dev\\jbossrules\\trunk3\\drools-compiler\\src\\main\\resources\\org\\drools\\lang\\DRL.g:1017:34: ( '.' identifier )=> '.' ident= identifier
-                        {
-                            match( this.input,
-                                   64,
-                                   FOLLOW_64_in_enum_constraint2775 );
-                            if ( this.failed ) {
-                                return text;
-                            }
-                            pushFollow( FOLLOW_identifier_in_enum_constraint2779 );
-                            ident = identifier();
-                            this._fsp--;
-                            if ( this.failed ) {
-                                return text;
-                            }
-                            if ( this.backtracking == 0 ) {
-                                text += "." + ident.getText();
-                            }
 
-                        }
-                            break;
+                switch (alt39) {
+            	case 1 :
+            	    // C:\\dev\\jbossrules\\trunk3\\drools-compiler\\src\\main\\resources\\org\\drools\\lang\\DRL.g:1017:34: '.' ident= identifier
+            	    {
+            	    match(input,64,FOLLOW_64_in_enum_constraint2775); if (failed) return text;
+            	    pushFollow(FOLLOW_identifier_in_enum_constraint2779);
+            	    ident=identifier();
+            	    _fsp--;
+            	    if (failed) return text;
+            	    if ( backtracking==0 ) {
+            	       text += "." + ident.getText(); 
+            	    }
 
-                        default :
-                            if ( cnt39 >= 1 ) {
-                                break loop39;
-                            }
-                            if ( this.backtracking > 0 ) {
-                                this.failed = true;
-                                return text;
-                            }
-                            final EarlyExitException eee = new EarlyExitException( 39,
-                                                                             this.input );
-                            throw eee;
-                    }
-                    cnt39++;
-                } while ( true );
+            	    }
+            	    break;
 
+            	default :
+            	    if ( cnt39 >= 1 ) break loop39;
+            	    if (backtracking>0) {failed=true; return text;}
+                        EarlyExitException eee =
+                            new EarlyExitException(39, input);
+                        throw eee;
+                }
+                cnt39++;
+            } while (true);
+
+
             }
 
-        } catch ( final RecognitionException re ) {
-            reportError( re );
-            recover( this.input,
-                     re );
-        } finally {
         }
+        catch (RecognitionException re) {
+            reportError(re);
+            recover(input,re);
+        }
+        finally {
+        }
         return text;
     }
-
     // $ANTLR end enum_constraint
 
+
     // $ANTLR start predicate
-    // C:\\dev\\jbossrules\\trunk3\\drools-compiler\\src\\main\\resources\\org\\drools\\lang\\DRL.g:1021:1: predicate[ColumnDescr column] : text= paren_chunk[d] ;
-    public void predicate(final ColumnDescr column) throws RecognitionException {
+    // C:\\dev\\jbossrules\\trunk3\\drools-compiler\\src\\main\\resources\\org\\drools\\lang\\DRL.g:1021:1: predicate[PatternDescr pattern] : text= paren_chunk[d] ;
+    public final void predicate(PatternDescr pattern) throws RecognitionException {
         String text = null;
 
-        PredicateDescr d = null;
 
+        
+        		PredicateDescr d = null;
+                
         try {
             // C:\\dev\\jbossrules\\trunk3\\drools-compiler\\src\\main\\resources\\org\\drools\\lang\\DRL.g:1026:3: (text= paren_chunk[d] )
             // C:\\dev\\jbossrules\\trunk3\\drools-compiler\\src\\main\\resources\\org\\drools\\lang\\DRL.g:1026:3: text= paren_chunk[d]
             {
-                if ( this.backtracking == 0 ) {
+            if ( backtracking==0 ) {
+              
+              			d = new PredicateDescr( );
+              		
+            }
+            pushFollow(FOLLOW_paren_chunk_in_predicate2821);
+            text=paren_chunk(d);
+            _fsp--;
+            if (failed) return ;
+            if ( backtracking==0 ) {
+              
+              		        if( text != null ) {
+              			        String body = text.substring(1, text.length()-1);
+              			        d.setContent( body );
+              				pattern.addDescr( d );
+              		        }
+              		
+            }
 
-                    d = new PredicateDescr();
-
-                }
-                pushFollow( FOLLOW_paren_chunk_in_predicate2821 );
-                text = paren_chunk( d );
-                this._fsp--;
-                if ( this.failed ) {
-                    return;
-                }
-                if ( this.backtracking == 0 ) {
-
-                    if ( text != null ) {
-                        final String body = text.substring( 1,
-                                                      text.length() - 1 );
-                        d.setContent( body );
-                        column.addDescr( d );
-                    }
-
-                }
-
             }
 
-        } catch ( final RecognitionException re ) {
-            reportError( re );
-            recover( this.input,
-                     re );
-        } finally {
         }
-        return;
+        catch (RecognitionException re) {
+            reportError(re);
+            recover(input,re);
+        }
+        finally {
+        }
+        return ;
     }
-
     // $ANTLR end predicate
 
+
     // $ANTLR start paren_chunk
-    // C:\\dev\\jbossrules\\trunk3\\drools-compiler\\src\\main\\resources\\org\\drools\\lang\\DRL.g:1039:1: paren_chunk[BaseDescr descr] returns [String text] : loc= LEFT_PAREN ( (~ (LEFT_PAREN|RIGHT_PAREN))=>~ (LEFT_PAREN|RIGHT_PAREN) | ( paren_chunk[null] )=>chunk= paren_chunk[null] )* loc= RIGHT_PAREN ;
-    public String paren_chunk(final BaseDescr descr) throws RecognitionException {
+    // C:\\dev\\jbossrules\\trunk3\\drools-compiler\\src\\main\\resources\\org\\drools\\lang\\DRL.g:1039:1: paren_chunk[BaseDescr descr] returns [String text] : loc= LEFT_PAREN (~ ( LEFT_PAREN | RIGHT_PAREN ) | chunk= paren_chunk[null] )* loc= RIGHT_PAREN ;
+    public final String paren_chunk(BaseDescr descr) throws RecognitionException {
         String text = null;
 
-        Token loc = null;
+        Token loc=null;
         String chunk = null;
 
-        StringBuffer buf = null;
-        Integer channel = null;
 
+        
+                   StringBuffer buf = null;
+                   Integer channel = null;
+                
         try {
-            // C:\\dev\\jbossrules\\trunk3\\drools-compiler\\src\\main\\resources\\org\\drools\\lang\\DRL.g:1045:10: (loc= LEFT_PAREN ( (~ (LEFT_PAREN|RIGHT_PAREN))=>~ (LEFT_PAREN|RIGHT_PAREN) | ( paren_chunk[null] )=>chunk= paren_chunk[null] )* loc= RIGHT_PAREN )
-            // C:\\dev\\jbossrules\\trunk3\\drools-compiler\\src\\main\\resources\\org\\drools\\lang\\DRL.g:1045:10: loc= LEFT_PAREN ( (~ (LEFT_PAREN|RIGHT_PAREN))=>~ (LEFT_PAREN|RIGHT_PAREN) | ( paren_chunk[null] )=>chunk= paren_chunk[null] )* loc= RIGHT_PAREN
+            // C:\\dev\\jbossrules\\trunk3\\drools-compiler\\src\\main\\resources\\org\\drools\\lang\\DRL.g:1045:10: (loc= LEFT_PAREN (~ ( LEFT_PAREN | RIGHT_PAREN ) | chunk= paren_chunk[null] )* loc= RIGHT_PAREN )
+            // C:\\dev\\jbossrules\\trunk3\\drools-compiler\\src\\main\\resources\\org\\drools\\lang\\DRL.g:1045:10: loc= LEFT_PAREN (~ ( LEFT_PAREN | RIGHT_PAREN ) | chunk= paren_chunk[null] )* loc= RIGHT_PAREN
             {
-                if ( this.backtracking == 0 ) {
+            if ( backtracking==0 ) {
+              
+              	            channel = ((SwitchingCommonTokenStream)input).getTokenTypeChannel( WS ); 
+              		    ((SwitchingCommonTokenStream)input).setTokenTypeChannel( WS, Token.DEFAULT_CHANNEL );
+              		    buf = new StringBuffer();
+              	        
+            }
+            loc=(Token)input.LT(1);
+            match(input,LEFT_PAREN,FOLLOW_LEFT_PAREN_in_paren_chunk2870); if (failed) return text;
+            if ( backtracking==0 ) {
+              
+              		    buf.append( loc.getText());
+               
+              		
+            }
+            // C:\\dev\\jbossrules\\trunk3\\drools-compiler\\src\\main\\resources\\org\\drools\\lang\\DRL.g:1055:3: (~ ( LEFT_PAREN | RIGHT_PAREN ) | chunk= paren_chunk[null] )*
+            loop40:
+            do {
+                int alt40=3;
+                int LA40_0 = input.LA(1);
 
-                    channel = ((SwitchingCommonTokenStream) this.input).getTokenTypeChannel( WS );
-                    ((SwitchingCommonTokenStream) this.input).setTokenTypeChannel( WS,
-                                                                              Token.DEFAULT_CHANNEL );
-                    buf = new StringBuffer();
-
+                if ( ((LA40_0>=PACKAGE && LA40_0<=OR)||(LA40_0>=CONTAINS && LA40_0<=78)) ) {
+                    alt40=1;
                 }
-                loc = (Token) this.input.LT( 1 );
-                match( this.input,
-                       LEFT_PAREN,
-                       FOLLOW_LEFT_PAREN_in_paren_chunk2870 );
-                if ( this.failed ) {
-                    return text;
+                else if ( (LA40_0==LEFT_PAREN) ) {
+                    alt40=2;
                 }
-                if ( this.backtracking == 0 ) {
 
-                    buf.append( loc.getText() );
 
-                }
-                // C:\\dev\\jbossrules\\trunk3\\drools-compiler\\src\\main\\resources\\org\\drools\\lang\\DRL.g:1055:3: ( (~ (LEFT_PAREN|RIGHT_PAREN))=>~ (LEFT_PAREN|RIGHT_PAREN) | ( paren_chunk[null] )=>chunk= paren_chunk[null] )*
-                loop40 : do {
-                    int alt40 = 3;
-                    final int LA40_0 = this.input.LA( 1 );
-                    if ( ((LA40_0 >= PACKAGE && LA40_0 <= OR) || (LA40_0 >= CONTAINS && LA40_0 <= 78)) ) {
-                        alt40 = 1;
-                    } else if ( (LA40_0 == LEFT_PAREN) ) {
-                        alt40 = 2;
-                    }
+                switch (alt40) {
+            	case 1 :
+            	    // C:\\dev\\jbossrules\\trunk3\\drools-compiler\\src\\main\\resources\\org\\drools\\lang\\DRL.g:1056:4: ~ ( LEFT_PAREN | RIGHT_PAREN )
+            	    {
+            	    if ( (input.LA(1)>=PACKAGE && input.LA(1)<=OR)||(input.LA(1)>=CONTAINS && input.LA(1)<=78) ) {
+            	        input.consume();
+            	        errorRecovery=false;failed=false;
+            	    }
+            	    else {
+            	        if (backtracking>0) {failed=true; return text;}
+            	        MismatchedSetException mse =
+            	            new MismatchedSetException(null,input);
+            	        recoverFromMismatchedSet(input,mse,FOLLOW_set_in_paren_chunk2886);    throw mse;
+            	    }
 
-                    switch ( alt40 ) {
-                        case 1 :
-                            // C:\\dev\\jbossrules\\trunk3\\drools-compiler\\src\\main\\resources\\org\\drools\\lang\\DRL.g:1056:4: (~ (LEFT_PAREN|RIGHT_PAREN))=>~ (LEFT_PAREN|RIGHT_PAREN)
-                        {
-                            if ( (this.input.LA( 1 ) >= PACKAGE && this.input.LA( 1 ) <= OR) || (this.input.LA( 1 ) >= CONTAINS && this.input.LA( 1 ) <= 78) ) {
-                                this.input.consume();
-                                this.errorRecovery = false;
-                                this.failed = false;
-                            } else {
-                                if ( this.backtracking > 0 ) {
-                                    this.failed = true;
-                                    return text;
-                                }
-                                final MismatchedSetException mse = new MismatchedSetException( null,
-                                                                                         this.input );
-                                recoverFromMismatchedSet( this.input,
-                                                          mse,
-                                                          FOLLOW_set_in_paren_chunk2886 );
-                                throw mse;
-                            }
+            	    if ( backtracking==0 ) {
+            	      
+            	      			    buf.append( input.LT(-1).getText() );
+            	      			  
+            	    }
 
-                            if ( this.backtracking == 0 ) {
+            	    }
+            	    break;
+            	case 2 :
+            	    // C:\\dev\\jbossrules\\trunk3\\drools-compiler\\src\\main\\resources\\org\\drools\\lang\\DRL.g:1061:4: chunk= paren_chunk[null]
+            	    {
+            	    pushFollow(FOLLOW_paren_chunk_in_paren_chunk2910);
+            	    chunk=paren_chunk(null);
+            	    _fsp--;
+            	    if (failed) return text;
+            	    if ( backtracking==0 ) {
+            	      
+            	      			    buf.append( chunk );
+            	      			  
+            	    }
 
-                                buf.append( this.input.LT( -1 ).getText() );
+            	    }
+            	    break;
 
-                            }
-
-                        }
-                            break;
-                        case 2 :
-                            // C:\\dev\\jbossrules\\trunk3\\drools-compiler\\src\\main\\resources\\org\\drools\\lang\\DRL.g:1061:4: ( paren_chunk[null] )=>chunk= paren_chunk[null]
-                        {
-                            pushFollow( FOLLOW_paren_chunk_in_paren_chunk2910 );
-                            chunk = paren_chunk( null );
-                            this._fsp--;
-                            if ( this.failed ) {
-                                return text;
-                            }
-                            if ( this.backtracking == 0 ) {
-
-                                buf.append( chunk );
-
-                            }
-
-                        }
-                            break;
-
-                        default :
-                            break loop40;
-                    }
-                } while ( true );
-
-                if ( this.backtracking == 0 ) {
-
-                    if ( channel != null ) {
-                        ((SwitchingCommonTokenStream) this.input).setTokenTypeChannel( WS,
-                                                                                  channel.intValue() );
-                    } else {
-                        ((SwitchingCommonTokenStream) this.input).setTokenTypeChannel( WS,
-                                                                                  Token.HIDDEN_CHANNEL );
-                    }
-
+            	default :
+            	    break loop40;
                 }
-                loc = (Token) this.input.LT( 1 );
-                match( this.input,
-                       RIGHT_PAREN,
-                       FOLLOW_RIGHT_PAREN_in_paren_chunk2947 );
-                if ( this.failed ) {
-                    return text;
-                }
-                if ( this.backtracking == 0 ) {
+            } while (true);
 
-                    buf.append( loc.getText() );
-                    text = buf.toString();
-                    if ( descr != null ) {
-                        descr.setEndCharacter( ((CommonToken) loc).getStopIndex() );
-                    }
+            if ( backtracking==0 ) {
+              
+              		    if( channel != null ) {
+              			    ((SwitchingCommonTokenStream)input).setTokenTypeChannel(WS, channel.intValue());
+              		    } else {
+              			    ((SwitchingCommonTokenStream)input).setTokenTypeChannel(WS, Token.HIDDEN_CHANNEL);
+              		    }
+              		
+            }
+            loc=(Token)input.LT(1);
+            match(input,RIGHT_PAREN,FOLLOW_RIGHT_PAREN_in_paren_chunk2947); if (failed) return text;
+            if ( backtracking==0 ) {
+              
+                                  buf.append( loc.getText() );
+              		    text = buf.toString();
+              		    if( descr != null ) {
+              		        descr.setEndCharacter( ((CommonToken)loc).getStopIndex() );
+              		    }
+                              
+            }
 
-                }
-
             }
 
-        } catch ( final RecognitionException re ) {
-            reportError( re );
-            recover( this.input,
-                     re );
-        } finally {
         }
+        catch (RecognitionException re) {
+            reportError(re);
+            recover(input,re);
+        }
+        finally {
+        }
         return text;
     }
-
     // $ANTLR end paren_chunk
 
+
     // $ANTLR start curly_chunk
-    // C:\\dev\\jbossrules\\trunk3\\drools-compiler\\src\\main\\resources\\org\\drools\\lang\\DRL.g:1083:1: curly_chunk[BaseDescr descr] returns [String text] : loc= LEFT_CURLY ( (~ (LEFT_CURLY|RIGHT_CURLY))=>~ (LEFT_CURLY|RIGHT_CURLY) | ( curly_chunk[descr] )=>chunk= curly_chunk[descr] )* loc= RIGHT_CURLY ;
-    public String curly_chunk(final BaseDescr descr) throws RecognitionException {
+    // C:\\dev\\jbossrules\\trunk3\\drools-compiler\\src\\main\\resources\\org\\drools\\lang\\DRL.g:1083:1: curly_chunk[BaseDescr descr] returns [String text] : loc= LEFT_CURLY (~ ( LEFT_CURLY | RIGHT_CURLY ) | chunk= curly_chunk[descr] )* loc= RIGHT_CURLY ;
+    public final String curly_chunk(BaseDescr descr) throws RecognitionException {
         String text = null;
 
-        Token loc = null;
+        Token loc=null;
         String chunk = null;
 
-        StringBuffer buf = null;
-        Integer channel = null;
 
+        
+                   StringBuffer buf = null;
+                   Integer channel = null;
+                
         try {
-            // C:\\dev\\jbossrules\\trunk3\\drools-compiler\\src\\main\\resources\\org\\drools\\lang\\DRL.g:1089:3: (loc= LEFT_CURLY ( (~ (LEFT_CURLY|RIGHT_CURLY))=>~ (LEFT_CURLY|RIGHT_CURLY) | ( curly_chunk[descr] )=>chunk= curly_chunk[descr] )* loc= RIGHT_CURLY )
-            // C:\\dev\\jbossrules\\trunk3\\drools-compiler\\src\\main\\resources\\org\\drools\\lang\\DRL.g:1089:3: loc= LEFT_CURLY ( (~ (LEFT_CURLY|RIGHT_CURLY))=>~ (LEFT_CURLY|RIGHT_CURLY) | ( curly_chunk[descr] )=>chunk= curly_chunk[descr] )* loc= RIGHT_CURLY
+            // C:\\dev\\jbossrules\\trunk3\\drools-compiler\\src\\main\\resources\\org\\drools\\lang\\DRL.g:1089:3: (loc= LEFT_CURLY (~ ( LEFT_CURLY | RIGHT_CURLY ) | chunk= curly_chunk[descr] )* loc= RIGHT_CURLY )
+            // C:\\dev\\jbossrules\\trunk3\\drools-compiler\\src\\main\\resources\\org\\drools\\lang\\DRL.g:1089:3: loc= LEFT_CURLY (~ ( LEFT_CURLY | RIGHT_CURLY ) | chunk= curly_chunk[descr] )* loc= RIGHT_CURLY
             {
-                loc = (Token) this.input.LT( 1 );
-                match( this.input,
-                       LEFT_CURLY,
-                       FOLLOW_LEFT_CURLY_in_curly_chunk2998 );
-                if ( this.failed ) {
-                    return text;
-                }
-                if ( this.backtracking == 0 ) {
+            loc=(Token)input.LT(1);
+            match(input,LEFT_CURLY,FOLLOW_LEFT_CURLY_in_curly_chunk2998); if (failed) return text;
+            if ( backtracking==0 ) {
+              
+              	            channel = ((SwitchingCommonTokenStream)input).getTokenTypeChannel( WS ); 
+              		    ((SwitchingCommonTokenStream)input).setTokenTypeChannel( WS, Token.DEFAULT_CHANNEL );
+              		    buf = new StringBuffer();
+              		    
+              		    buf.append( loc.getText() );
+              		
+            }
+            // C:\\dev\\jbossrules\\trunk3\\drools-compiler\\src\\main\\resources\\org\\drools\\lang\\DRL.g:1097:3: (~ ( LEFT_CURLY | RIGHT_CURLY ) | chunk= curly_chunk[descr] )*
+            loop41:
+            do {
+                int alt41=3;
+                int LA41_0 = input.LA(1);
 
-                    channel = ((SwitchingCommonTokenStream) this.input).getTokenTypeChannel( WS );
-                    ((SwitchingCommonTokenStream) this.input).setTokenTypeChannel( WS,
-                                                                              Token.DEFAULT_CHANNEL );
-                    buf = new StringBuffer();
-
-                    buf.append( loc.getText() );
-
+                if ( ((LA41_0>=PACKAGE && LA41_0<=NULL)||(LA41_0>=LEFT_SQUARE && LA41_0<=78)) ) {
+                    alt41=1;
                 }
-                // C:\\dev\\jbossrules\\trunk3\\drools-compiler\\src\\main\\resources\\org\\drools\\lang\\DRL.g:1097:3: ( (~ (LEFT_CURLY|RIGHT_CURLY))=>~ (LEFT_CURLY|RIGHT_CURLY) | ( curly_chunk[descr] )=>chunk= curly_chunk[descr] )*
-                loop41 : do {
-                    int alt41 = 3;
-                    final int LA41_0 = this.input.LA( 1 );
-                    if ( ((LA41_0 >= PACKAGE && LA41_0 <= NULL) || (LA41_0 >= LEFT_SQUARE && LA41_0 <= 78)) ) {
-                        alt41 = 1;
-                    } else if ( (LA41_0 == LEFT_CURLY) ) {
-                        alt41 = 2;
-                    }
+                else if ( (LA41_0==LEFT_CURLY) ) {
+                    alt41=2;
+                }
 
-                    switch ( alt41 ) {
-                        case 1 :
-                            // C:\\dev\\jbossrules\\trunk3\\drools-compiler\\src\\main\\resources\\org\\drools\\lang\\DRL.g:1098:4: (~ (LEFT_CURLY|RIGHT_CURLY))=>~ (LEFT_CURLY|RIGHT_CURLY)
-                        {
-                            if ( (this.input.LA( 1 ) >= PACKAGE && this.input.LA( 1 ) <= NULL) || (this.input.LA( 1 ) >= LEFT_SQUARE && this.input.LA( 1 ) <= 78) ) {
-                                this.input.consume();
-                                this.errorRecovery = false;
-                                this.failed = false;
-                            } else {
-                                if ( this.backtracking > 0 ) {
-                                    this.failed = true;
-                                    return text;
-                                }
-                                final MismatchedSetException mse = new MismatchedSetException( null,
-                                                                                         this.input );
-                                recoverFromMismatchedSet( this.input,
-                                                          mse,
-                                                          FOLLOW_set_in_curly_chunk3014 );
-                                throw mse;
-                            }
 
-                            if ( this.backtracking == 0 ) {
+                switch (alt41) {
+            	case 1 :
+            	    // C:\\dev\\jbossrules\\trunk3\\drools-compiler\\src\\main\\resources\\org\\drools\\lang\\DRL.g:1098:4: ~ ( LEFT_CURLY | RIGHT_CURLY )
+            	    {
+            	    if ( (input.LA(1)>=PACKAGE && input.LA(1)<=NULL)||(input.LA(1)>=LEFT_SQUARE && input.LA(1)<=78) ) {
+            	        input.consume();
+            	        errorRecovery=false;failed=false;
+            	    }
+            	    else {
+            	        if (backtracking>0) {failed=true; return text;}
+            	        MismatchedSetException mse =
+            	            new MismatchedSetException(null,input);
+            	        recoverFromMismatchedSet(input,mse,FOLLOW_set_in_curly_chunk3014);    throw mse;
+            	    }
 
-                                buf.append( this.input.LT( -1 ).getText() );
+            	    if ( backtracking==0 ) {
+            	      
+            	      			    buf.append( input.LT(-1).getText() );
+            	      			  
+            	    }
 
-                            }
+            	    }
+            	    break;
+            	case 2 :
+            	    // C:\\dev\\jbossrules\\trunk3\\drools-compiler\\src\\main\\resources\\org\\drools\\lang\\DRL.g:1103:4: chunk= curly_chunk[descr]
+            	    {
+            	    pushFollow(FOLLOW_curly_chunk_in_curly_chunk3038);
+            	    chunk=curly_chunk(descr);
+            	    _fsp--;
+            	    if (failed) return text;
+            	    if ( backtracking==0 ) {
+            	      
+            	      			    buf.append( chunk );
+            	      			  
+            	    }
 
-                        }
-                            break;
-                        case 2 :
-                            // C:\\dev\\jbossrules\\trunk3\\drools-compiler\\src\\main\\resources\\org\\drools\\lang\\DRL.g:1103:4: ( curly_chunk[descr] )=>chunk= curly_chunk[descr]
-                        {
-                            pushFollow( FOLLOW_curly_chunk_in_curly_chunk3038 );
-                            chunk = curly_chunk( descr );
-                            this._fsp--;
-                            if ( this.failed ) {
-                                return text;
-                            }
-                            if ( this.backtracking == 0 ) {
+            	    }
+            	    break;
 
-                                buf.append( chunk );
-
-                            }
-
-                        }
-                            break;
-
-                        default :
-                            break loop41;
-                    }
-                } while ( true );
-
-                if ( this.backtracking == 0 ) {
-
-                    if ( channel != null ) {
-                        ((SwitchingCommonTokenStream) this.input).setTokenTypeChannel( WS,
-                                                                                  channel.intValue() );
-                    } else {
-                        ((SwitchingCommonTokenStream) this.input).setTokenTypeChannel( WS,
-                                                                                  Token.HIDDEN_CHANNEL );
-                    }
-
+            	default :
+            	    break loop41;
                 }
-                loc = (Token) this.input.LT( 1 );
-                match( this.input,
-                       RIGHT_CURLY,
-                       FOLLOW_RIGHT_CURLY_in_curly_chunk3075 );
-                if ( this.failed ) {
-                    return text;
-                }
-                if ( this.backtracking == 0 ) {
+            } while (true);
 
-                    buf.append( loc.getText() );
-                    text = buf.toString();
-                    if ( descr != null ) {
-                        descr.setEndCharacter( ((CommonToken) loc).getStopIndex() );
-                    }
+            if ( backtracking==0 ) {
+              
+              		    if( channel != null ) {
+              			    ((SwitchingCommonTokenStream)input).setTokenTypeChannel(WS, channel.intValue());
+              		    } else {
+              			    ((SwitchingCommonTokenStream)input).setTokenTypeChannel(WS, Token.HIDDEN_CHANNEL);
+              		    }
+              		
+            }
+            loc=(Token)input.LT(1);
+            match(input,RIGHT_CURLY,FOLLOW_RIGHT_CURLY_in_curly_chunk3075); if (failed) return text;
+            if ( backtracking==0 ) {
+              
+                                  buf.append( loc.getText() );
+              		    text = buf.toString();
+              		    if( descr != null ) {
+              		        descr.setEndCharacter( ((CommonToken)loc).getStopIndex() );
+              		    }
+                              
+            }
 
-                }
-
             }
 
-        } catch ( final RecognitionException re ) {
-            reportError( re );
-            recover( this.input,
-                     re );
-        } finally {
         }
+        catch (RecognitionException re) {
+            reportError(re);
+            recover(input,re);
+        }
+        finally {
+        }
         return text;
     }
-
     // $ANTLR end curly_chunk
 
+
     // $ANTLR start square_chunk
-    // C:\\dev\\jbossrules\\trunk3\\drools-compiler\\src\\main\\resources\\org\\drools\\lang\\DRL.g:1125:1: square_chunk[BaseDescr descr] returns [String text] : loc= LEFT_SQUARE ( (~ (LEFT_SQUARE|RIGHT_SQUARE))=>~ (LEFT_SQUARE|RIGHT_SQUARE) | ( square_chunk[null] )=>chunk= square_chunk[null] )* loc= RIGHT_SQUARE ;
-    public String square_chunk(final BaseDescr descr) throws RecognitionException {
+    // C:\\dev\\jbossrules\\trunk3\\drools-compiler\\src\\main\\resources\\org\\drools\\lang\\DRL.g:1125:1: square_chunk[BaseDescr descr] returns [String text] : loc= LEFT_SQUARE (~ ( LEFT_SQUARE | RIGHT_SQUARE ) | chunk= square_chunk[null] )* loc= RIGHT_SQUARE ;
+    public final String square_chunk(BaseDescr descr) throws RecognitionException {
         String text = null;
 
-        Token loc = null;
+        Token loc=null;
         String chunk = null;
 
-        StringBuffer buf = null;
-        Integer channel = null;
 
+        
+                   StringBuffer buf = null;
+                   Integer channel = null;
+                
         try {
-            // C:\\dev\\jbossrules\\trunk3\\drools-compiler\\src\\main\\resources\\org\\drools\\lang\\DRL.g:1131:10: (loc= LEFT_SQUARE ( (~ (LEFT_SQUARE|RIGHT_SQUARE))=>~ (LEFT_SQUARE|RIGHT_SQUARE) | ( square_chunk[null] )=>chunk= square_chunk[null] )* loc= RIGHT_SQUARE )
-            // C:\\dev\\jbossrules\\trunk3\\drools-compiler\\src\\main\\resources\\org\\drools\\lang\\DRL.g:1131:10: loc= LEFT_SQUARE ( (~ (LEFT_SQUARE|RIGHT_SQUARE))=>~ (LEFT_SQUARE|RIGHT_SQUARE) | ( square_chunk[null] )=>chunk= square_chunk[null] )* loc= RIGHT_SQUARE
+            // C:\\dev\\jbossrules\\trunk3\\drools-compiler\\src\\main\\resources\\org\\drools\\lang\\DRL.g:1131:10: (loc= LEFT_SQUARE (~ ( LEFT_SQUARE | RIGHT_SQUARE ) | chunk= square_chunk[null] )* loc= RIGHT_SQUARE )
+            // C:\\dev\\jbossrules\\trunk3\\drools-compiler\\src\\main\\resources\\org\\drools\\lang\\DRL.g:1131:10: loc= LEFT_SQUARE (~ ( LEFT_SQUARE | RIGHT_SQUARE ) | chunk= square_chunk[null] )* loc= RIGHT_SQUARE
             {
-                if ( this.backtracking == 0 ) {
+            if ( backtracking==0 ) {
+              
+              	            channel = ((SwitchingCommonTokenStream)input).getTokenTypeChannel( WS ); 
+              		    ((SwitchingCommonTokenStream)input).setTokenTypeChannel( WS, Token.DEFAULT_CHANNEL );
+              		    buf = new StringBuffer();
+              	        
+            }
+            loc=(Token)input.LT(1);
+            match(input,LEFT_SQUARE,FOLLOW_LEFT_SQUARE_in_square_chunk3138); if (failed) return text;
+            if ( backtracking==0 ) {
+              
+              		    buf.append( loc.getText());
+               
+              		
+            }
+            // C:\\dev\\jbossrules\\trunk3\\drools-compiler\\src\\main\\resources\\org\\drools\\lang\\DRL.g:1141:3: (~ ( LEFT_SQUARE | RIGHT_SQUARE ) | chunk= square_chunk[null] )*
+            loop42:
+            do {
+                int alt42=3;
+                int LA42_0 = input.LA(1);
 
-                    channel = ((SwitchingCommonTokenStream) this.input).getTokenTypeChannel( WS );
-                    ((SwitchingCommonTokenStream) this.input).setTokenTypeChannel( WS,
-                                                                              Token.DEFAULT_CHANNEL );
-                    buf = new StringBuffer();
-
+                if ( ((LA42_0>=PACKAGE && LA42_0<=RIGHT_CURLY)||(LA42_0>=AND && LA42_0<=78)) ) {
+                    alt42=1;
                 }
-                loc = (Token) this.input.LT( 1 );
-                match( this.input,
-                       LEFT_SQUARE,
-                       FOLLOW_LEFT_SQUARE_in_square_chunk3138 );
-                if ( this.failed ) {
-                    return text;
+                else if ( (LA42_0==LEFT_SQUARE) ) {
+                    alt42=2;
                 }
-                if ( this.backtracking == 0 ) {
 
-                    buf.append( loc.getText() );
 
-                }
-                // C:\\dev\\jbossrules\\trunk3\\drools-compiler\\src\\main\\resources\\org\\drools\\lang\\DRL.g:1141:3: ( (~ (LEFT_SQUARE|RIGHT_SQUARE))=>~ (LEFT_SQUARE|RIGHT_SQUARE) | ( square_chunk[null] )=>chunk= square_chunk[null] )*
-                loop42 : do {
-                    int alt42 = 3;
-                    final int LA42_0 = this.input.LA( 1 );
-                    if ( ((LA42_0 >= PACKAGE && LA42_0 <= RIGHT_CURLY) || (LA42_0 >= AND && LA42_0 <= 78)) ) {
-                        alt42 = 1;
-                    } else if ( (LA42_0 == LEFT_SQUARE) ) {
-                        alt42 = 2;
-                    }
+                switch (alt42) {
+            	case 1 :
+            	    // C:\\dev\\jbossrules\\trunk3\\drools-compiler\\src\\main\\resources\\org\\drools\\lang\\DRL.g:1142:4: ~ ( LEFT_SQUARE | RIGHT_SQUARE )
+            	    {
+            	    if ( (input.LA(1)>=PACKAGE && input.LA(1)<=RIGHT_CURLY)||(input.LA(1)>=AND && input.LA(1)<=78) ) {
+            	        input.consume();
+            	        errorRecovery=false;failed=false;
+            	    }
+            	    else {
+            	        if (backtracking>0) {failed=true; return text;}
+            	        MismatchedSetException mse =
+            	            new MismatchedSetException(null,input);
+            	        recoverFromMismatchedSet(input,mse,FOLLOW_set_in_square_chunk3154);    throw mse;
+            	    }
 
-                    switch ( alt42 ) {
-                        case 1 :
-                            // C:\\dev\\jbossrules\\trunk3\\drools-compiler\\src\\main\\resources\\org\\drools\\lang\\DRL.g:1142:4: (~ (LEFT_SQUARE|RIGHT_SQUARE))=>~ (LEFT_SQUARE|RIGHT_SQUARE)
-                        {
-                            if ( (this.input.LA( 1 ) >= PACKAGE && this.input.LA( 1 ) <= RIGHT_CURLY) || (this.input.LA( 1 ) >= AND && this.input.LA( 1 ) <= 78) ) {
-                                this.input.consume();
-                                this.errorRecovery = false;
-                                this.failed = false;
-                            } else {
-                                if ( this.backtracking > 0 ) {
-                                    this.failed = true;
-                                    return text;
-                                }
-                                final MismatchedSetException mse = new MismatchedSetException( null,
-                                                                                         this.input );
-                                recoverFromMismatchedSet( this.input,
-                                                          mse,
-                                                          FOLLOW_set_in_square_chunk3154 );
-                                throw mse;
-                            }
+            	    if ( backtracking==0 ) {
+            	      
+            	      			    buf.append( input.LT(-1).getText() );
+            	      			  
+            	    }
 
-                            if ( this.backtracking == 0 ) {
+            	    }
+            	    break;
+            	case 2 :
+            	    // C:\\dev\\jbossrules\\trunk3\\drools-compiler\\src\\main\\resources\\org\\drools\\lang\\DRL.g:1147:4: chunk= square_chunk[null]
+            	    {
+            	    pushFollow(FOLLOW_square_chunk_in_square_chunk3178);
+            	    chunk=square_chunk(null);
+            	    _fsp--;
+            	    if (failed) return text;
+            	    if ( backtracking==0 ) {
+            	      
+            	      			    buf.append( chunk );
+            	      			  
+            	    }
 
-                                buf.append( this.input.LT( -1 ).getText() );
+            	    }
+            	    break;
 
-                            }
-
-                        }
-                            break;
-                        case 2 :
-                            // C:\\dev\\jbossrules\\trunk3\\drools-compiler\\src\\main\\resources\\org\\drools\\lang\\DRL.g:1147:4: ( square_chunk[null] )=>chunk= square_chunk[null]
-                        {
-                            pushFollow( FOLLOW_square_chunk_in_square_chunk3178 );
-                            chunk = square_chunk( null );
-                            this._fsp--;
-                            if ( this.failed ) {
-                                return text;
-                            }
-                            if ( this.backtracking == 0 ) {
-
-                                buf.append( chunk );
-
-                            }
-
-                        }
-                            break;
-
-                        default :
-                            break loop42;
-                    }
-                } while ( true );
-
-                if ( this.backtracking == 0 ) {
-
-                    if ( channel != null ) {
-                        ((SwitchingCommonTokenStream) this.input).setTokenTypeChannel( WS,
-                                                                                  channel.intValue() );
-                    } else {
-                        ((SwitchingCommonTokenStream) this.input).setTokenTypeChannel( WS,
-                                                                                  Token.HIDDEN_CHANNEL );
-                    }
-
+            	default :
+            	    break loop42;
                 }
-                loc = (Token) this.input.LT( 1 );
-                match( this.input,
-                       RIGHT_SQUARE,
-                       FOLLOW_RIGHT_SQUARE_in_square_chunk3215 );
-                if ( this.failed ) {
-                    return text;
-                }
-                if ( this.backtracking == 0 ) {
+            } while (true);
 
-                    buf.append( loc.getText() );
-                    text = buf.toString();
-                    if ( descr != null ) {
-                        descr.setEndCharacter( ((CommonToken) loc).getStopIndex() );
-                    }
+            if ( backtracking==0 ) {
+              
+              		    if( channel != null ) {
+              			    ((SwitchingCommonTokenStream)input).setTokenTypeChannel(WS, channel.intValue());
+              		    } else {
+              			    ((SwitchingCommonTokenStream)input).setTokenTypeChannel(WS, Token.HIDDEN_CHANNEL);
+              		    }
+              		
+            }
+            loc=(Token)input.LT(1);
+            match(input,RIGHT_SQUARE,FOLLOW_RIGHT_SQUARE_in_square_chunk3215); if (failed) return text;
+            if ( backtracking==0 ) {
+              
+                                  buf.append( loc.getText() );
+              		    text = buf.toString();
+              		    if( descr != null ) {
+              		        descr.setEndCharacter( ((CommonToken)loc).getStopIndex() );
+              		    }
+                              
+            }
 
-                }
-
             }
 
-        } catch ( final RecognitionException re ) {
-            reportError( re );
-            recover( this.input,
-                     re );
-        } finally {
         }
+        catch (RecognitionException re) {
+            reportError(re);
+            recover(input,re);
+        }
+        finally {
+        }
         return text;
     }
-
     // $ANTLR end square_chunk
 
+
     // $ANTLR start retval_constraint
     // C:\\dev\\jbossrules\\trunk3\\drools-compiler\\src\\main\\resources\\org\\drools\\lang\\DRL.g:1169:1: retval_constraint returns [String text] : c= paren_chunk[null] ;
-    public String retval_constraint() throws RecognitionException {
+    public final String retval_constraint() throws RecognitionException {
         String text = null;
 
         String c = null;
 
-        text = null;
 
+        
+        		text = null;
+        	
         try {
             // C:\\dev\\jbossrules\\trunk3\\drools-compiler\\src\\main\\resources\\org\\drools\\lang\\DRL.g:1174:3: (c= paren_chunk[null] )
             // C:\\dev\\jbossrules\\trunk3\\drools-compiler\\src\\main\\resources\\org\\drools\\lang\\DRL.g:1174:3: c= paren_chunk[null]
             {
-                pushFollow( FOLLOW_paren_chunk_in_retval_constraint3260 );
-                c = paren_chunk( null );
-                this._fsp--;
-                if ( this.failed ) {
-                    return text;
-                }
-                if ( this.backtracking == 0 ) {
-                    text = c.substring( 1,
-                                        c.length() - 1 );
-                }
+            pushFollow(FOLLOW_paren_chunk_in_retval_constraint3260);
+            c=paren_chunk(null);
+            _fsp--;
+            if (failed) return text;
+            if ( backtracking==0 ) {
+               text = c.substring(1, c.length()-1); 
+            }
 
             }
 
-        } catch ( final RecognitionException re ) {
-            reportError( re );
-            recover( this.input,
-                     re );
-        } finally {
         }
+        catch (RecognitionException re) {
+            reportError(re);
+            recover(input,re);
+        }
+        finally {
+        }
         return text;
     }
-
     // $ANTLR end retval_constraint
 
+
     // $ANTLR start lhs_or
-    // C:\\dev\\jbossrules\\trunk3\\drools-compiler\\src\\main\\resources\\org\\drools\\lang\\DRL.g:1177:1: lhs_or returns [BaseDescr d] : left= lhs_and ( ( (OR|'||') lhs_and )=> (OR|'||')right= lhs_and )* ;
-    public BaseDescr lhs_or() throws RecognitionException {
+    // C:\\dev\\jbossrules\\trunk3\\drools-compiler\\src\\main\\resources\\org\\drools\\lang\\DRL.g:1177:1: lhs_or returns [BaseDescr d] : left= lhs_and ( ( OR | '||' ) right= lhs_and )* ;
+    public final BaseDescr lhs_or() throws RecognitionException {
         BaseDescr d = null;
 
         BaseDescr left = null;
 
         BaseDescr right = null;
 
-        d = null;
-        OrDescr or = null;
 
+        
+        		d = null;
+        		OrDescr or = null;
+        	
         try {
-            // C:\\dev\\jbossrules\\trunk3\\drools-compiler\\src\\main\\resources\\org\\drools\\lang\\DRL.g:1183:3: (left= lhs_and ( ( (OR|'||') lhs_and )=> (OR|'||')right= lhs_and )* )
-            // C:\\dev\\jbossrules\\trunk3\\drools-compiler\\src\\main\\resources\\org\\drools\\lang\\DRL.g:1183:3: left= lhs_and ( ( (OR|'||') lhs_and )=> (OR|'||')right= lhs_and )*
+            // C:\\dev\\jbossrules\\trunk3\\drools-compiler\\src\\main\\resources\\org\\drools\\lang\\DRL.g:1183:3: (left= lhs_and ( ( OR | '||' ) right= lhs_and )* )
+            // C:\\dev\\jbossrules\\trunk3\\drools-compiler\\src\\main\\resources\\org\\drools\\lang\\DRL.g:1183:3: left= lhs_and ( ( OR | '||' ) right= lhs_and )*
             {
-                pushFollow( FOLLOW_lhs_and_in_lhs_or3288 );
-                left = lhs_and();
-                this._fsp--;
-                if ( this.failed ) {
-                    return d;
+            pushFollow(FOLLOW_lhs_and_in_lhs_or3288);
+            left=lhs_and();
+            _fsp--;
+            if (failed) return d;
+            if ( backtracking==0 ) {
+              d = left; 
+            }
+            // C:\\dev\\jbossrules\\trunk3\\drools-compiler\\src\\main\\resources\\org\\drools\\lang\\DRL.g:1184:3: ( ( OR | '||' ) right= lhs_and )*
+            loop43:
+            do {
+                int alt43=2;
+                int LA43_0 = input.LA(1);
+
+                if ( (LA43_0==OR||LA43_0==68) ) {
+                    alt43=1;
                 }
-                if ( this.backtracking == 0 ) {
-                    d = left;
-                }
-                // C:\\dev\\jbossrules\\trunk3\\drools-compiler\\src\\main\\resources\\org\\drools\\lang\\DRL.g:1184:3: ( ( (OR|'||') lhs_and )=> (OR|'||')right= lhs_and )*
-                loop43 : do {
-                    int alt43 = 2;
-                    final int LA43_0 = this.input.LA( 1 );
-                    if ( (LA43_0 == OR || LA43_0 == 68) ) {
-                        alt43 = 1;
-                    }
 
-                    switch ( alt43 ) {
-                        case 1 :
-                            // C:\\dev\\jbossrules\\trunk3\\drools-compiler\\src\\main\\resources\\org\\drools\\lang\\DRL.g:1184:5: ( (OR|'||') lhs_and )=> (OR|'||')right= lhs_and
-                        {
-                            if ( this.input.LA( 1 ) == OR || this.input.LA( 1 ) == 68 ) {
-                                this.input.consume();
-                                this.errorRecovery = false;
-                                this.failed = false;
-                            } else {
-                                if ( this.backtracking > 0 ) {
-                                    this.failed = true;
-                                    return d;
-                                }
-                                final MismatchedSetException mse = new MismatchedSetException( null,
-                                                                                         this.input );
-                                recoverFromMismatchedSet( this.input,
-                                                          mse,
-                                                          FOLLOW_set_in_lhs_or3297 );
-                                throw mse;
-                            }
 
-                            pushFollow( FOLLOW_lhs_and_in_lhs_or3307 );
-                            right = lhs_and();
-                            this._fsp--;
-                            if ( this.failed ) {
-                                return d;
-                            }
-                            if ( this.backtracking == 0 ) {
+                switch (alt43) {
+            	case 1 :
+            	    // C:\\dev\\jbossrules\\trunk3\\drools-compiler\\src\\main\\resources\\org\\drools\\lang\\DRL.g:1184:5: ( OR | '||' ) right= lhs_and
+            	    {
+            	    if ( input.LA(1)==OR||input.LA(1)==68 ) {
+            	        input.consume();
+            	        errorRecovery=false;failed=false;
+            	    }
+            	    else {
+            	        if (backtracking>0) {failed=true; return d;}
+            	        MismatchedSetException mse =
+            	            new MismatchedSetException(null,input);
+            	        recoverFromMismatchedSet(input,mse,FOLLOW_set_in_lhs_or3296);    throw mse;
+            	    }
 
-                                if ( or == null ) {
-                                    or = new OrDescr();
-                                    or.addDescr( left );
-                                    d = or;
-                                }
+            	    pushFollow(FOLLOW_lhs_and_in_lhs_or3307);
+            	    right=lhs_and();
+            	    _fsp--;
+            	    if (failed) return d;
+            	    if ( backtracking==0 ) {
+            	      
+            	      				if ( or == null ) {
+            	      					or = new OrDescr();
+            	      					or.addDescr( left );
+            	      					d = or;
+            	      				}
+            	      				
+            	      				or.addDescr( right );
+            	      			
+            	    }
 
-                                or.addDescr( right );
+            	    }
+            	    break;
 
-                            }
+            	default :
+            	    break loop43;
+                }
+            } while (true);
 
-                        }
-                            break;
 
-                        default :
-                            break loop43;
-                    }
-                } while ( true );
-
             }
 
-        } catch ( final RecognitionException re ) {
-            reportError( re );
-            recover( this.input,
-                     re );
-        } finally {
         }
+        catch (RecognitionException re) {
+            reportError(re);
+            recover(input,re);
+        }
+        finally {
+        }
         return d;
     }
-
     // $ANTLR end lhs_or
 
+
     // $ANTLR start lhs_and
-    // C:\\dev\\jbossrules\\trunk3\\drools-compiler\\src\\main\\resources\\org\\drools\\lang\\DRL.g:1198:1: lhs_and returns [BaseDescr d] : left= lhs_unary ( ( (AND|'&&') lhs_unary )=> (AND|'&&')right= lhs_unary )* ;
-    public BaseDescr lhs_and() throws RecognitionException {
+    // C:\\dev\\jbossrules\\trunk3\\drools-compiler\\src\\main\\resources\\org\\drools\\lang\\DRL.g:1198:1: lhs_and returns [BaseDescr d] : left= lhs_unary ( ( AND | '&&' ) right= lhs_unary )* ;
+    public final BaseDescr lhs_and() throws RecognitionException {
         BaseDescr d = null;
 
         BaseDescr left = null;
 
         BaseDescr right = null;
 
-        d = null;
-        AndDescr and = null;
 
+        
+        		d = null;
+        		AndDescr and = null;
+        	
         try {
-            // C:\\dev\\jbossrules\\trunk3\\drools-compiler\\src\\main\\resources\\org\\drools\\lang\\DRL.g:1204:3: (left= lhs_unary ( ( (AND|'&&') lhs_unary )=> (AND|'&&')right= lhs_unary )* )
-            // C:\\dev\\jbossrules\\trunk3\\drools-compiler\\src\\main\\resources\\org\\drools\\lang\\DRL.g:1204:3: left= lhs_unary ( ( (AND|'&&') lhs_unary )=> (AND|'&&')right= lhs_unary )*
+            // C:\\dev\\jbossrules\\trunk3\\drools-compiler\\src\\main\\resources\\org\\drools\\lang\\DRL.g:1204:3: (left= lhs_unary ( ( AND | '&&' ) right= lhs_unary )* )
+            // C:\\dev\\jbossrules\\trunk3\\drools-compiler\\src\\main\\resources\\org\\drools\\lang\\DRL.g:1204:3: left= lhs_unary ( ( AND | '&&' ) right= lhs_unary )*
             {
-                pushFollow( FOLLOW_lhs_unary_in_lhs_and3343 );
-                left = lhs_unary();
-                this._fsp--;
-                if ( this.failed ) {
-                    return d;
+            pushFollow(FOLLOW_lhs_unary_in_lhs_and3343);
+            left=lhs_unary();
+            _fsp--;
+            if (failed) return d;
+            if ( backtracking==0 ) {
+               d = left; 
+            }
+            // C:\\dev\\jbossrules\\trunk3\\drools-compiler\\src\\main\\resources\\org\\drools\\lang\\DRL.g:1205:3: ( ( AND | '&&' ) right= lhs_unary )*
+            loop44:
+            do {
+                int alt44=2;
+                int LA44_0 = input.LA(1);
+
+                if ( (LA44_0==AND||LA44_0==78) ) {
+                    alt44=1;
                 }
-                if ( this.backtracking == 0 ) {
-                    d = left;
-                }
-                // C:\\dev\\jbossrules\\trunk3\\drools-compiler\\src\\main\\resources\\org\\drools\\lang\\DRL.g:1205:3: ( ( (AND|'&&') lhs_unary )=> (AND|'&&')right= lhs_unary )*
-                loop44 : do {
-                    int alt44 = 2;
-                    final int LA44_0 = this.input.LA( 1 );
-                    if ( (LA44_0 == AND || LA44_0 == 78) ) {
-                        alt44 = 1;
-                    }
 
-                    switch ( alt44 ) {
-                        case 1 :
-                            // C:\\dev\\jbossrules\\trunk3\\drools-compiler\\src\\main\\resources\\org\\drools\\lang\\DRL.g:1205:5: ( (AND|'&&') lhs_unary )=> (AND|'&&')right= lhs_unary
-                        {
-                            if ( this.input.LA( 1 ) == AND || this.input.LA( 1 ) == 78 ) {
-                                this.input.consume();
-                                this.errorRecovery = false;
-                                this.failed = false;
-                            } else {
-                                if ( this.backtracking > 0 ) {
-                                    this.failed = true;
-                                    return d;
-                                }
-                                final MismatchedSetException mse = new MismatchedSetException( null,
-                                                                                         this.input );
-                                recoverFromMismatchedSet( this.input,
-                                                          mse,
-                                                          FOLLOW_set_in_lhs_and3352 );
-                                throw mse;
-                            }
 
-                            pushFollow( FOLLOW_lhs_unary_in_lhs_and3362 );
-                            right = lhs_unary();
-                            this._fsp--;
-                            if ( this.failed ) {
-                                return d;
-                            }
-                            if ( this.backtracking == 0 ) {
+                switch (alt44) {
+            	case 1 :
+            	    // C:\\dev\\jbossrules\\trunk3\\drools-compiler\\src\\main\\resources\\org\\drools\\lang\\DRL.g:1205:5: ( AND | '&&' ) right= lhs_unary
+            	    {
+            	    if ( input.LA(1)==AND||input.LA(1)==78 ) {
+            	        input.consume();
+            	        errorRecovery=false;failed=false;
+            	    }
+            	    else {
+            	        if (backtracking>0) {failed=true; return d;}
+            	        MismatchedSetException mse =
+            	            new MismatchedSetException(null,input);
+            	        recoverFromMismatchedSet(input,mse,FOLLOW_set_in_lhs_and3351);    throw mse;
+            	    }
 
-                                if ( and == null ) {
-                                    and = new AndDescr();
-                                    and.addDescr( left );
-                                    d = and;
-                                }
+            	    pushFollow(FOLLOW_lhs_unary_in_lhs_and3362);
+            	    right=lhs_unary();
+            	    _fsp--;
+            	    if (failed) return d;
+            	    if ( backtracking==0 ) {
+            	      
+            	      				if ( and == null ) {
+            	      					and = new AndDescr();
+            	      					and.addDescr( left );
+            	      					d = and;
+            	      				}
+            	      				
+            	      				and.addDescr( right );
+            	      			
+            	    }
 
-                                and.addDescr( right );
+            	    }
+            	    break;
 
-                            }
+            	default :
+            	    break loop44;
+                }
+            } while (true);
 
-                        }
-                            break;
 
-                        default :
-                            break loop44;
-                    }
-                } while ( true );
-
             }
 
-        } catch ( final RecognitionException re ) {
-            reportError( re );
-            recover( this.input,
-                     re );
-        } finally {
         }
+        catch (RecognitionException re) {
+            reportError(re);
+            recover(input,re);
+        }
+        finally {
+        }
         return d;
     }
-
     // $ANTLR end lhs_and
 
+
     // $ANTLR start lhs_unary
-    // C:\\dev\\jbossrules\\trunk3\\drools-compiler\\src\\main\\resources\\org\\drools\\lang\\DRL.g:1219:1: lhs_unary returns [BaseDescr d] : ( ( lhs_exist )=>u= lhs_exist | ( lhs_not )=>u= lhs_not | ( lhs_eval )=>u= lhs_eval | ( lhs_column ( ( FROM ( ( ACCUMULATE )=> ( accumulate_statement ) | ( COLLECT )=> ( collect_statement ) | (~ (ACCUMULATE|COLLECT))=> ( from_statement ) ) )=> FROM ( ( ACCUMULATE )=> ( accumulate_statement ) | ( COLLECT )=> ( collect_statement ) | (~ (ACCUMULATE|COLLECT))=> ( from_statement ) ) )? )=>u= lhs_column ( ( FROM ( ( ACCUMULATE )=> ( accumulate_statement ) | ( COLLECT )=> ( collect_statement ) | (~ (ACCUMULATE|COLLECT))=> ( from_statement ) ) )=> FROM ( ( ACCUMULATE )=> (ac= accumulate_statement ) | ( COLLECT )=> (cs= collect_statement ) | (~ (ACCUMULATE|COLLECT))=> (fm= from_statement ) ) )? | ( lhs_forall )=>u= lhs_forall | '(' u= lhs_or ')' ) opt_semicolon ;
-    public BaseDescr lhs_unary() throws RecognitionException {
+    // C:\\dev\\jbossrules\\trunk3\\drools-compiler\\src\\main\\resources\\org\\drools\\lang\\DRL.g:1219:1: lhs_unary returns [BaseDescr d] : (u= lhs_exist | u= lhs_not | u= lhs_eval | u= lhs_pattern ( FROM ( ( ACCUMULATE )=> (ac= accumulate_statement ) | ( COLLECT )=> (cs= collect_statement ) | (~ ( ACCUMULATE | COLLECT ) )=> (fm= from_statement ) ) )? | u= lhs_forall | '(' u= lhs_or ')' ) opt_semicolon ;
+    public final BaseDescr lhs_unary() throws RecognitionException {
         BaseDescr d = null;
 
         BaseDescr u = null;
@@ -5052,2347 +4546,2103 @@
 
         FromDescr fm = null;
 
-        d = null;
 
+        
+        		d = null;
+        	
         try {
-            // C:\\dev\\jbossrules\\trunk3\\drools-compiler\\src\\main\\resources\\org\\drools\\lang\\DRL.g:1223:4: ( ( ( lhs_exist )=>u= lhs_exist | ( lhs_not )=>u= lhs_not | ( lhs_eval )=>u= lhs_eval | ( lhs_column ( ( FROM ( ( ACCUMULATE )=> ( accumulate_statement ) | ( COLLECT )=> ( collect_statement ) | (~ (ACCUMULATE|COLLECT))=> ( from_statement ) ) )=> FROM ( ( ACCUMULATE )=> ( accumulate_statement ) | ( COLLECT )=> ( collect_statement ) | (~ (ACCUMULATE|COLLECT))=> ( from_statement ) ) )? )=>u= lhs_column ( ( FROM ( ( ACCUMULATE )=> ( accumulate_statement ) | ( COLLECT )=> ( collect_statement ) | (~ (ACCUMULATE|COLLECT))=> ( from_statement ) ) )=> FROM ( ( ACCUMULATE )=> (ac= accumulate_statement ) | ( COLLECT )=> (cs= collect_statement ) | (~ (ACCUMULATE|COLLECT))=> (fm= from_statement ) ) )? | ( lhs_forall )=>u= lhs_forall | '(' u= lhs_or ')' ) opt_semicolon )
-            // C:\\dev\\jbossrules\\trunk3\\drools-compiler\\src\\main\\resources\\org\\drools\\lang\\DRL.g:1223:4: ( ( lhs_exist )=>u= lhs_exist | ( lhs_not )=>u= lhs_not | ( lhs_eval )=>u= lhs_eval | ( lhs_column ( ( FROM ( ( ACCUMULATE )=> ( accumulate_statement ) | ( COLLECT )=> ( collect_statement ) | (~ (ACCUMULATE|COLLECT))=> ( from_statement ) ) )=> FROM ( ( ACCUMULATE )=> ( accumulate_statement ) | ( COLLECT )=> ( collect_statement ) | (~ (ACCUMULATE|COLLECT))=> ( from_statement ) ) )? )=>u= lhs_column ( ( FROM ( ( ACCUMULATE )=> ( accumulate_statement ) | ( COLLECT )=> ( collect_statement ) | (~ (ACCUMULATE|COLLECT))=> ( from_statement ) ) )=> FROM ( ( ACCUMULATE )=> (ac= accumulate_statement ) | ( COLLECT )=> (cs= collect_statement ) | (~ (ACCUMULATE|COLLECT))=> (fm= from_statement ) ) )? | ( lhs_forall )=>u= lhs_forall | '(' u= lhs_or ')' ) opt_semicolon
+            // C:\\dev\\jbossrules\\trunk3\\drools-compiler\\src\\main\\resources\\org\\drools\\lang\\DRL.g:1223:4: ( (u= lhs_exist | u= lhs_not | u= lhs_eval | u= lhs_pattern ( FROM ( ( ACCUMULATE )=> (ac= accumulate_statement ) | ( COLLECT )=> (cs= collect_statement ) | (~ ( ACCUMULATE | COLLECT ) )=> (fm= from_statement ) ) )? | u= lhs_forall | '(' u= lhs_or ')' ) opt_semicolon )
+            // C:\\dev\\jbossrules\\trunk3\\drools-compiler\\src\\main\\resources\\org\\drools\\lang\\DRL.g:1223:4: (u= lhs_exist | u= lhs_not | u= lhs_eval | u= lhs_pattern ( FROM ( ( ACCUMULATE )=> (ac= accumulate_statement ) | ( COLLECT )=> (cs= collect_statement ) | (~ ( ACCUMULATE | COLLECT ) )=> (fm= from_statement ) ) )? | u= lhs_forall | '(' u= lhs_or ')' ) opt_semicolon
             {
-                // C:\\dev\\jbossrules\\trunk3\\drools-compiler\\src\\main\\resources\\org\\drools\\lang\\DRL.g:1223:4: ( ( lhs_exist )=>u= lhs_exist | ( lhs_not )=>u= lhs_not | ( lhs_eval )=>u= lhs_eval | ( lhs_column ( ( FROM ( ( ACCUMULATE )=> ( accumulate_statement ) | ( COLLECT )=> ( collect_statement ) | (~ (ACCUMULATE|COLLECT))=> ( from_statement ) ) )=> FROM ( ( ACCUMULATE )=> ( accumulate_statement ) | ( COLLECT )=> ( collect_statement ) | (~ (ACCUMULATE|COLLECT))=> ( from_statement ) ) )? )=>u= lhs_column ( ( FROM ( ( ACCUMULATE )=> ( accumulate_statement ) | ( COLLECT )=> ( collect_statement ) | (~ (ACCUMULATE|COLLECT))=> ( from_statement ) ) )=> FROM ( ( ACCUMULATE )=> (ac= accumulate_statement ) | ( COLLECT )=> (cs= collect_statement ) | (~ (ACCUMULATE|COLLECT))=> (fm= from_statement ) ) )? | ( lhs_forall )=>u= lhs_forall | '(' u= lhs_or ')' )
-                int alt47 = 6;
-                switch ( this.input.LA( 1 ) ) {
-                    case EXISTS :
-                        alt47 = 1;
-                        break;
-                    case NOT :
-                        alt47 = 2;
-                        break;
-                    case EVAL :
-                        alt47 = 3;
-                        break;
-                    case ID :
-                        alt47 = 4;
-                        break;
-                    case FORALL :
-                        alt47 = 5;
-                        break;
-                    case LEFT_PAREN :
-                        alt47 = 6;
-                        break;
-                    default :
-                        if ( this.backtracking > 0 ) {
-                            this.failed = true;
-                            return d;
-                        }
-                        final NoViableAltException nvae = new NoViableAltException( "1223:4: ( ( lhs_exist )=>u= lhs_exist | ( lhs_not )=>u= lhs_not | ( lhs_eval )=>u= lhs_eval | ( lhs_column ( ( FROM ( ( ACCUMULATE )=> ( accumulate_statement ) | ( COLLECT )=> ( collect_statement ) | (~ (ACCUMULATE|COLLECT))=> ( from_statement ) ) )=> FROM ( ( ACCUMULATE )=> ( accumulate_statement ) | ( COLLECT )=> ( collect_statement ) | (~ (ACCUMULATE|COLLECT))=> ( from_statement ) ) )? )=>u= lhs_column ( ( FROM ( ( ACCUMULATE )=> ( accumulate_statement ) | ( COLLECT )=> ( collect_statement ) | (~ (ACCUMULATE|COLLECT))=> ( from_statement ) ) )=> FROM ( ( ACCUMULATE )=> (ac= accumulate_statement ) | ( COLLECT )=> (cs= collect_statement ) | (~ (ACCUMULATE|COLLECT))=> (fm= from_statement ) ) )? | ( lhs_forall )=>u= lhs_forall | '(' u= lhs_or ')' )",
-                                                                              47,
-                                                                              0,
-                                                                              this.input );
-
-                        throw nvae;
+            // C:\\dev\\jbossrules\\trunk3\\drools-compiler\\src\\main\\resources\\org\\drools\\lang\\DRL.g:1223:4: (u= lhs_exist | u= lhs_not | u= lhs_eval | u= lhs_pattern ( FROM ( ( ACCUMULATE )=> (ac= accumulate_statement ) | ( COLLECT )=> (cs= collect_statement ) | (~ ( ACCUMULATE | COLLECT ) )=> (fm= from_statement ) ) )? | u= lhs_forall | '(' u= lhs_or ')' )
+            int alt47=6;
+            switch ( input.LA(1) ) {
+            case EXISTS:
+                {
+                alt47=1;
                 }
+                break;
+            case NOT:
+                {
+                alt47=2;
+                }
+                break;
+            case EVAL:
+                {
+                alt47=3;
+                }
+                break;
+            case ID:
+                {
+                alt47=4;
+                }
+                break;
+            case FORALL:
+                {
+                alt47=5;
+                }
+                break;
+            case LEFT_PAREN:
+                {
+                alt47=6;
+                }
+                break;
+            default:
+                if (backtracking>0) {failed=true; return d;}
+                NoViableAltException nvae =
+                    new NoViableAltException("1223:4: (u= lhs_exist | u= lhs_not | u= lhs_eval | u= lhs_pattern ( FROM ( ( ACCUMULATE )=> (ac= accumulate_statement ) | ( COLLECT )=> (cs= collect_statement ) | (~ ( ACCUMULATE | COLLECT ) )=> (fm= from_statement ) ) )? | u= lhs_forall | '(' u= lhs_or ')' )", 47, 0, input);
 
-                switch ( alt47 ) {
-                    case 1 :
-                        // C:\\dev\\jbossrules\\trunk3\\drools-compiler\\src\\main\\resources\\org\\drools\\lang\\DRL.g:1223:6: ( lhs_exist )=>u= lhs_exist
+                throw nvae;
+            }
+
+            switch (alt47) {
+                case 1 :
+                    // C:\\dev\\jbossrules\\trunk3\\drools-compiler\\src\\main\\resources\\org\\drools\\lang\\DRL.g:1223:6: u= lhs_exist
                     {
-                        pushFollow( FOLLOW_lhs_exist_in_lhs_unary3399 );
-                        u = lhs_exist();
-                        this._fsp--;
-                        if ( this.failed ) {
-                            return d;
-                        }
+                    pushFollow(FOLLOW_lhs_exist_in_lhs_unary3399);
+                    u=lhs_exist();
+                    _fsp--;
+                    if (failed) return d;
 
                     }
-                        break;
-                    case 2 :
-                        // C:\\dev\\jbossrules\\trunk3\\drools-compiler\\src\\main\\resources\\org\\drools\\lang\\DRL.g:1224:5: ( lhs_not )=>u= lhs_not
+                    break;
+                case 2 :
+                    // C:\\dev\\jbossrules\\trunk3\\drools-compiler\\src\\main\\resources\\org\\drools\\lang\\DRL.g:1224:5: u= lhs_not
                     {
-                        pushFollow( FOLLOW_lhs_not_in_lhs_unary3407 );
-                        u = lhs_not();
-                        this._fsp--;
-                        if ( this.failed ) {
-                            return d;
-                        }
+                    pushFollow(FOLLOW_lhs_not_in_lhs_unary3407);
+                    u=lhs_not();
+                    _fsp--;
+                    if (failed) return d;
 
                     }
-                        break;
-                    case 3 :
-                        // C:\\dev\\jbossrules\\trunk3\\drools-compiler\\src\\main\\resources\\org\\drools\\lang\\DRL.g:1225:5: ( lhs_eval )=>u= lhs_eval
+                    break;
+                case 3 :
+                    // C:\\dev\\jbossrules\\trunk3\\drools-compiler\\src\\main\\resources\\org\\drools\\lang\\DRL.g:1225:5: u= lhs_eval
                     {
-                        pushFollow( FOLLOW_lhs_eval_in_lhs_unary3415 );
-                        u = lhs_eval();
-                        this._fsp--;
-                        if ( this.failed ) {
-                            return d;
-                        }
+                    pushFollow(FOLLOW_lhs_eval_in_lhs_unary3415);
+                    u=lhs_eval();
+                    _fsp--;
+                    if (failed) return d;
 
                     }
-                        break;
-                    case 4 :
-                        // C:\\dev\\jbossrules\\trunk3\\drools-compiler\\src\\main\\resources\\org\\drools\\lang\\DRL.g:1226:5: ( lhs_column ( ( FROM ( ( ACCUMULATE )=> ( accumulate_statement ) | ( COLLECT )=> ( collect_statement ) | (~ (ACCUMULATE|COLLECT))=> ( from_statement ) ) )=> FROM ( ( ACCUMULATE )=> ( accumulate_statement ) | ( COLLECT )=> ( collect_statement ) | (~ (ACCUMULATE|COLLECT))=> ( from_statement ) ) )? )=>u= lhs_column ( ( FROM ( ( ACCUMULATE )=> ( accumulate_statement ) | ( COLLECT )=> ( collect_statement ) | (~ (ACCUMULATE|COLLECT))=> ( from_statement ) ) )=> FROM ( ( ACCUMULATE )=> (ac= accumulate_statement ) | ( COLLECT )=> (cs= collect_statement ) | (~ (ACCUMULATE|COLLECT))=> (fm= from_statement ) ) )?
+                    break;
+                case 4 :
+                    // C:\\dev\\jbossrules\\trunk3\\drools-compiler\\src\\main\\resources\\org\\drools\\lang\\DRL.g:1226:5: u= lhs_pattern ( FROM ( ( ACCUMULATE )=> (ac= accumulate_statement ) | ( COLLECT )=> (cs= collect_statement ) | (~ ( ACCUMULATE | COLLECT ) )=> (fm= from_statement ) ) )?
                     {
-                        pushFollow( FOLLOW_lhs_column_in_lhs_unary3423 );
-                        u = lhs_column();
-                        this._fsp--;
-                        if ( this.failed ) {
-                            return d;
-                        }
-                        // C:\\dev\\jbossrules\\trunk3\\drools-compiler\\src\\main\\resources\\org\\drools\\lang\\DRL.g:1226:18: ( ( FROM ( ( ACCUMULATE )=> ( accumulate_statement ) | ( COLLECT )=> ( collect_statement ) | (~ (ACCUMULATE|COLLECT))=> ( from_statement ) ) )=> FROM ( ( ACCUMULATE )=> (ac= accumulate_statement ) | ( COLLECT )=> (cs= collect_statement ) | (~ (ACCUMULATE|COLLECT))=> (fm= from_statement ) ) )?
-                        int alt46 = 2;
-                        final int LA46_0 = this.input.LA( 1 );
-                        if ( (LA46_0 == FROM) ) {
-                            alt46 = 1;
-                        }
-                        switch ( alt46 ) {
-                            case 1 :
-                                // C:\\dev\\jbossrules\\trunk3\\drools-compiler\\src\\main\\resources\\org\\drools\\lang\\DRL.g:1227:13: ( FROM ( ( ACCUMULATE )=> ( accumulate_statement ) | ( COLLECT )=> ( collect_statement ) | (~ (ACCUMULATE|COLLECT))=> ( from_statement ) ) )=> FROM ( ( ACCUMULATE )=> (ac= accumulate_statement ) | ( COLLECT )=> (cs= collect_statement ) | (~ (ACCUMULATE|COLLECT))=> (fm= from_statement ) )
+                    pushFollow(FOLLOW_lhs_pattern_in_lhs_unary3423);
+                    u=lhs_pattern();
+                    _fsp--;
+                    if (failed) return d;
+                    // C:\\dev\\jbossrules\\trunk3\\drools-compiler\\src\\main\\resources\\org\\drools\\lang\\DRL.g:1226:19: ( FROM ( ( ACCUMULATE )=> (ac= accumulate_statement ) | ( COLLECT )=> (cs= collect_statement ) | (~ ( ACCUMULATE | COLLECT ) )=> (fm= from_statement ) ) )?
+                    int alt46=2;
+                    int LA46_0 = input.LA(1);
+
+                    if ( (LA46_0==FROM) ) {
+                        alt46=1;
+                    }
+                    switch (alt46) {
+                        case 1 :
+                            // C:\\dev\\jbossrules\\trunk3\\drools-compiler\\src\\main\\resources\\org\\drools\\lang\\DRL.g:1227:13: FROM ( ( ACCUMULATE )=> (ac= accumulate_statement ) | ( COLLECT )=> (cs= collect_statement ) | (~ ( ACCUMULATE | COLLECT ) )=> (fm= from_statement ) )
                             {
-                                match( this.input,
-                                       FROM,
-                                       FOLLOW_FROM_in_lhs_unary3439 );
-                                if ( this.failed ) {
-                                    return d;
+                            match(input,FROM,FOLLOW_FROM_in_lhs_unary3439); if (failed) return d;
+                            // C:\\dev\\jbossrules\\trunk3\\drools-compiler\\src\\main\\resources\\org\\drools\\lang\\DRL.g:1227:18: ( ( ACCUMULATE )=> (ac= accumulate_statement ) | ( COLLECT )=> (cs= collect_statement ) | (~ ( ACCUMULATE | COLLECT ) )=> (fm= from_statement ) )
+                            int alt45=3;
+                            int LA45_0 = input.LA(1);
+
+                            if ( (LA45_0==ACCUMULATE) && ((synpred90()||synpred87()))) {
+                                int LA45_1 = input.LA(2);
+
+                                if ( (synpred87()) ) {
+                                    alt45=1;
                                 }
-                                // C:\\dev\\jbossrules\\trunk3\\drools-compiler\\src\\main\\resources\\org\\drools\\lang\\DRL.g:1227:18: ( ( ACCUMULATE )=> (ac= accumulate_statement ) | ( COLLECT )=> (cs= collect_statement ) | (~ (ACCUMULATE|COLLECT))=> (fm= from_statement ) )
-                                int alt45 = 3;
-                                switch ( this.input.LA( 1 ) ) {
-                                    case ACCUMULATE :
-                                        if ( (synpred72()) ) {
-                                            alt45 = 1;
-                                        } else if ( (synpred74()) ) {
-                                            alt45 = 3;
-                                        } else {
-                                            if ( this.backtracking > 0 ) {
-                                                this.failed = true;
-                                                return d;
-                                            }
-                                            final NoViableAltException nvae = new NoViableAltException( "1227:18: ( ( ACCUMULATE )=> (ac= accumulate_statement ) | ( COLLECT )=> (cs= collect_statement ) | (~ (ACCUMULATE|COLLECT))=> (fm= from_statement ) )",
-                                                                                                  45,
-                                                                                                  1,
-                                                                                                  this.input );
+                                else if ( (synpred90()) ) {
+                                    alt45=3;
+                                }
+                                else {
+                                    if (backtracking>0) {failed=true; return d;}
+                                    NoViableAltException nvae =
+                                        new NoViableAltException("1227:18: ( ( ACCUMULATE )=> (ac= accumulate_statement ) | ( COLLECT )=> (cs= collect_statement ) | (~ ( ACCUMULATE | COLLECT ) )=> (fm= from_statement ) )", 45, 1, input);
 
-                                            throw nvae;
-                                        }
-                                        break;
-                                    case COLLECT :
-                                        if ( (synpred73()) ) {
-                                            alt45 = 2;
-                                        } else if ( (synpred74()) ) {
-                                            alt45 = 3;
-                                        } else {
-                                            if ( this.backtracking > 0 ) {
-                                                this.failed = true;
-                                                return d;
-                                            }
-                                            final NoViableAltException nvae = new NoViableAltException( "1227:18: ( ( ACCUMULATE )=> (ac= accumulate_statement ) | ( COLLECT )=> (cs= collect_statement ) | (~ (ACCUMULATE|COLLECT))=> (fm= from_statement ) )",
-                                                                                                  45,
-                                                                                                  2,
-                                                                                                  this.input );
+                                    throw nvae;
+                                }
+                            }
+                            else if ( (LA45_0==COLLECT) && ((synpred90()||synpred88()))) {
+                                int LA45_2 = input.LA(2);
 
-                                            throw nvae;
-                                        }
-                                        break;
-                                    case PACKAGE :
-                                    case IMPORT :
-                                    case FUNCTION :
-                                    case GLOBAL :
-                                    case QUERY :
-                                    case END :
-                                    case TEMPLATE :
-                                    case RULE :
-                                    case WHEN :
-                                    case ATTRIBUTES :
-                                    case ENABLED :
-                                    case SALIENCE :
-                                    case DURATION :
-                                    case INIT :
-                                    case ACTION :
-                                    case RESULT :
-                                    case ID :
-                                    case OR :
-                                    case CONTAINS :
-                                    case MATCHES :
-                                    case EXCLUDES :
-                                    case NULL :
-                                    case AND :
-                                    case FROM :
-                                    case EXISTS :
-                                    case NOT :
-                                    case EVAL :
-                                    case FORALL :
-                                    case THEN :
-                                        alt45 = 3;
-                                        break;
-                                    default :
-                                        if ( this.backtracking > 0 ) {
-                                            this.failed = true;
-                                            return d;
-                                        }
-                                        final NoViableAltException nvae = new NoViableAltException( "1227:18: ( ( ACCUMULATE )=> (ac= accumulate_statement ) | ( COLLECT )=> (cs= collect_statement ) | (~ (ACCUMULATE|COLLECT))=> (fm= from_statement ) )",
-                                                                                              45,
-                                                                                              0,
-                                                                                              this.input );
+                                if ( (synpred88()) ) {
+                                    alt45=2;
+                                }
+                                else if ( (synpred90()) ) {
+                                    alt45=3;
+                                }
+                                else {
+                                    if (backtracking>0) {failed=true; return d;}
+                                    NoViableAltException nvae =
+                                        new NoViableAltException("1227:18: ( ( ACCUMULATE )=> (ac= accumulate_statement ) | ( COLLECT )=> (cs= collect_statement ) | (~ ( ACCUMULATE | COLLECT ) )=> (fm= from_statement ) )", 45, 2, input);
 
-                                        throw nvae;
+                                    throw nvae;
                                 }
+                            }
+                            else if ( ((LA45_0>=PACKAGE && LA45_0<=ATTRIBUTES)||LA45_0==ENABLED||LA45_0==SALIENCE||LA45_0==DURATION||(LA45_0>=INIT && LA45_0<=RESULT)||(LA45_0>=ID && LA45_0<=OR)||(LA45_0>=CONTAINS && LA45_0<=EXCLUDES)||LA45_0==NULL||(LA45_0>=AND && LA45_0<=THEN)) && (synpred90())) {
+                                alt45=3;
+                            }
+                            else {
+                                if (backtracking>0) {failed=true; return d;}
+                                NoViableAltException nvae =
+                                    new NoViableAltException("1227:18: ( ( ACCUMULATE )=> (ac= accumulate_statement ) | ( COLLECT )=> (cs= collect_statement ) | (~ ( ACCUMULATE | COLLECT ) )=> (fm= from_statement ) )", 45, 0, input);
 
-                                switch ( alt45 ) {
-                                    case 1 :
-                                        // C:\\dev\\jbossrules\\trunk3\\drools-compiler\\src\\main\\resources\\org\\drools\\lang\\DRL.g:1228:14: ( ACCUMULATE )=> (ac= accumulate_statement )
+                                throw nvae;
+                            }
+                            switch (alt45) {
+                                case 1 :
+                                    // C:\\dev\\jbossrules\\trunk3\\drools-compiler\\src\\main\\resources\\org\\drools\\lang\\DRL.g:1228:14: ( ACCUMULATE )=> (ac= accumulate_statement )
                                     {
-                                        // C:\\dev\\jbossrules\\trunk3\\drools-compiler\\src\\main\\resources\\org\\drools\\lang\\DRL.g:1228:32: (ac= accumulate_statement )
-                                        // C:\\dev\\jbossrules\\trunk3\\drools-compiler\\src\\main\\resources\\org\\drools\\lang\\DRL.g:1228:33: ac= accumulate_statement
-                                        {
-                                            pushFollow( FOLLOW_accumulate_statement_in_lhs_unary3467 );
-                                            ac = accumulate_statement();
-                                            this._fsp--;
-                                            if ( this.failed ) {
-                                                return d;
-                                            }
-                                            if ( this.backtracking == 0 ) {
-                                                ac.setResultColumn( (ColumnDescr) u );
-                                                u = ac;
-                                            }
+                                    // C:\\dev\\jbossrules\\trunk3\\drools-compiler\\src\\main\\resources\\org\\drools\\lang\\DRL.g:1228:32: (ac= accumulate_statement )
+                                    // C:\\dev\\jbossrules\\trunk3\\drools-compiler\\src\\main\\resources\\org\\drools\\lang\\DRL.g:1228:33: ac= accumulate_statement
+                                    {
+                                    pushFollow(FOLLOW_accumulate_statement_in_lhs_unary3467);
+                                    ac=accumulate_statement();
+                                    _fsp--;
+                                    if (failed) return d;
+                                    if ( backtracking==0 ) {
+                                      ac.setResultPattern((PatternDescr) u); u=ac;
+                                    }
 
-                                        }
+                                    }
 
+
                                     }
-                                        break;
-                                    case 2 :
-                                        // C:\\dev\\jbossrules\\trunk3\\drools-compiler\\src\\main\\resources\\org\\drools\\lang\\DRL.g:1229:14: ( COLLECT )=> (cs= collect_statement )
+                                    break;
+                                case 2 :
+                                    // C:\\dev\\jbossrules\\trunk3\\drools-compiler\\src\\main\\resources\\org\\drools\\lang\\DRL.g:1229:14: ( COLLECT )=> (cs= collect_statement )
                                     {
-                                        // C:\\dev\\jbossrules\\trunk3\\drools-compiler\\src\\main\\resources\\org\\drools\\lang\\DRL.g:1229:29: (cs= collect_statement )
-                                        // C:\\dev\\jbossrules\\trunk3\\drools-compiler\\src\\main\\resources\\org\\drools\\lang\\DRL.g:1229:30: cs= collect_statement
-                                        {
-                                            pushFollow( FOLLOW_collect_statement_in_lhs_unary3496 );
-                                            cs = collect_statement();
-                                            this._fsp--;
-                                            if ( this.failed ) {
-                                                return d;
-                                            }
-                                            if ( this.backtracking == 0 ) {
-                                                cs.setResultColumn( (ColumnDescr) u );
-                                                u = cs;
-                                            }
+                                    // C:\\dev\\jbossrules\\trunk3\\drools-compiler\\src\\main\\resources\\org\\drools\\lang\\DRL.g:1229:29: (cs= collect_statement )
+                                    // C:\\dev\\jbossrules\\trunk3\\drools-compiler\\src\\main\\resources\\org\\drools\\lang\\DRL.g:1229:30: cs= collect_statement
+                                    {
+                                    pushFollow(FOLLOW_collect_statement_in_lhs_unary3496);
+                                    cs=collect_statement();
+                                    _fsp--;
+                                    if (failed) return d;
+                                    if ( backtracking==0 ) {
+                                      cs.setResultPattern((PatternDescr) u); u=cs;
+                                    }
 
-                                        }
+                                    }
 
+
                                     }
-                                        break;
-                                    case 3 :
-                                        // C:\\dev\\jbossrules\\trunk3\\drools-compiler\\src\\main\\resources\\org\\drools\\lang\\DRL.g:1230:14: (~ (ACCUMULATE|COLLECT))=> (fm= from_statement )
+                                    break;
+                                case 3 :
+                                    // C:\\dev\\jbossrules\\trunk3\\drools-compiler\\src\\main\\resources\\org\\drools\\lang\\DRL.g:1230:14: (~ ( ACCUMULATE | COLLECT ) )=> (fm= from_statement )
                                     {
-                                        // C:\\dev\\jbossrules\\trunk3\\drools-compiler\\src\\main\\resources\\org\\drools\\lang\\DRL.g:1230:43: (fm= from_statement )
-                                        // C:\\dev\\jbossrules\\trunk3\\drools-compiler\\src\\main\\resources\\org\\drools\\lang\\DRL.g:1230:44: fm= from_statement
-                                        {
-                                            pushFollow( FOLLOW_from_statement_in_lhs_unary3531 );
-                                            fm = from_statement();
-                                            this._fsp--;
-                                            if ( this.failed ) {
-                                                return d;
-                                            }
-                                            if ( this.backtracking == 0 ) {
-                                                fm.setColumn( (ColumnDescr) u );
-                                                u = fm;
-                                            }
+                                    // C:\\dev\\jbossrules\\trunk3\\drools-compiler\\src\\main\\resources\\org\\drools\\lang\\DRL.g:1230:43: (fm= from_statement )
+                                    // C:\\dev\\jbossrules\\trunk3\\drools-compiler\\src\\main\\resources\\org\\drools\\lang\\DRL.g:1230:44: fm= from_statement
+                                    {
+                                    pushFollow(FOLLOW_from_statement_in_lhs_unary3531);
+                                    fm=from_statement();
+                                    _fsp--;
+                                    if (failed) return d;
+                                    if ( backtracking==0 ) {
+                                      fm.setPattern((PatternDescr) u); u=fm;
+                                    }
 
-                                        }
+                                    }
 
+
                                     }
-                                        break;
+                                    break;
 
-                                }
+                            }
 
+
                             }
-                                break;
+                            break;
 
-                        }
+                    }
 
+
                     }
-                        break;
-                    case 5 :
-                        // C:\\dev\\jbossrules\\trunk3\\drools-compiler\\src\\main\\resources\\org\\drools\\lang\\DRL.g:1233:5: ( lhs_forall )=>u= lhs_forall
+                    break;
+                case 5 :
+                    // C:\\dev\\jbossrules\\trunk3\\drools-compiler\\src\\main\\resources\\org\\drools\\lang\\DRL.g:1233:5: u= lhs_forall
                     {
-                        pushFollow( FOLLOW_lhs_forall_in_lhs_unary3570 );
-                        u = lhs_forall();
-                        this._fsp--;
-                        if ( this.failed ) {
-                            return d;
-                        }
+                    pushFollow(FOLLOW_lhs_forall_in_lhs_unary3570);
+                    u=lhs_forall();
+                    _fsp--;
+                    if (failed) return d;
 
                     }
-                        break;
-                    case 6 :
-                        // C:\\dev\\jbossrules\\trunk3\\drools-compiler\\src\\main\\resources\\org\\drools\\lang\\DRL.g:1234:5: '(' u= lhs_or ')'
+                    break;
+                case 6 :
+                    // C:\\dev\\jbossrules\\trunk3\\drools-compiler\\src\\main\\resources\\org\\drools\\lang\\DRL.g:1234:5: '(' u= lhs_or ')'
                     {
-                        match( this.input,
-                               LEFT_PAREN,
-                               FOLLOW_LEFT_PAREN_in_lhs_unary3578 );
-                        if ( this.failed ) {
-                            return d;
-                        }
-                        pushFollow( FOLLOW_lhs_or_in_lhs_unary3582 );
-                        u = lhs_or();
-                        this._fsp--;
-                        if ( this.failed ) {
-                            return d;
-                        }
-                        match( this.input,
-                               RIGHT_PAREN,
-                               FOLLOW_RIGHT_PAREN_in_lhs_unary3584 );
-                        if ( this.failed ) {
-                            return d;
-                        }
+                    match(input,LEFT_PAREN,FOLLOW_LEFT_PAREN_in_lhs_unary3578); if (failed) return d;
+                    pushFollow(FOLLOW_lhs_or_in_lhs_unary3582);
+                    u=lhs_or();
+                    _fsp--;
+                    if (failed) return d;
+                    match(input,RIGHT_PAREN,FOLLOW_RIGHT_PAREN_in_lhs_unary3584); if (failed) return d;
 
                     }
-                        break;
+                    break;
 
-                }
+            }
 
-                if ( this.backtracking == 0 ) {
-                    d = u;
-                }
-                pushFollow( FOLLOW_opt_semicolon_in_lhs_unary3594 );
-                opt_semicolon();
-                this._fsp--;
-                if ( this.failed ) {
-                    return d;
-                }
+            if ( backtracking==0 ) {
+               d = u; 
+            }
+            pushFollow(FOLLOW_opt_semicolon_in_lhs_unary3594);
+            opt_semicolon();
+            _fsp--;
+            if (failed) return d;
 
             }
 
-        } catch ( final RecognitionException re ) {
-            reportError( re );
-            recover( this.input,
-                     re );
-        } finally {
         }
+        catch (RecognitionException re) {
+            reportError(re);
+            recover(input,re);
+        }
+        finally {
+        }
         return d;
     }
-
     // $ANTLR end lhs_unary
 
+
     // $ANTLR start lhs_exist
-    // C:\\dev\\jbossrules\\trunk3\\drools-compiler\\src\\main\\resources\\org\\drools\\lang\\DRL.g:1239:1: lhs_exist returns [BaseDescr d] : loc= EXISTS ( ( ( '(' lhs_or ')' ) )=> ( '(' column= lhs_or end= ')' ) | column= lhs_column ) ;
-    public BaseDescr lhs_exist() throws RecognitionException {
+    // C:\\dev\\jbossrules\\trunk3\\drools-compiler\\src\\main\\resources\\org\\drools\\lang\\DRL.g:1239:1: lhs_exist returns [BaseDescr d] : loc= EXISTS ( ( '(' pattern= lhs_or end= ')' ) | pattern= lhs_pattern ) ;
+    public final BaseDescr lhs_exist() throws RecognitionException {
         BaseDescr d = null;
 
-        Token loc = null;
-        Token end = null;
-        BaseDescr column = null;
+        Token loc=null;
+        Token end=null;
+        BaseDescr pattern = null;
 
-        d = null;
 
+        
+        		d = null;
+        	
         try {
-            // C:\\dev\\jbossrules\\trunk3\\drools-compiler\\src\\main\\resources\\org\\drools\\lang\\DRL.g:1243:4: (loc= EXISTS ( ( ( '(' lhs_or ')' ) )=> ( '(' column= lhs_or end= ')' ) | column= lhs_column ) )
-            // C:\\dev\\jbossrules\\trunk3\\drools-compiler\\src\\main\\resources\\org\\drools\\lang\\DRL.g:1243:4: loc= EXISTS ( ( ( '(' lhs_or ')' ) )=> ( '(' column= lhs_or end= ')' ) | column= lhs_column )
+            // C:\\dev\\jbossrules\\trunk3\\drools-compiler\\src\\main\\resources\\org\\drools\\lang\\DRL.g:1243:4: (loc= EXISTS ( ( '(' pattern= lhs_or end= ')' ) | pattern= lhs_pattern ) )
+            // C:\\dev\\jbossrules\\trunk3\\drools-compiler\\src\\main\\resources\\org\\drools\\lang\\DRL.g:1243:4: loc= EXISTS ( ( '(' pattern= lhs_or end= ')' ) | pattern= lhs_pattern )
             {
-                loc = (Token) this.input.LT( 1 );
-                match( this.input,
-                       EXISTS,
-                       FOLLOW_EXISTS_in_lhs_exist3618 );
-                if ( this.failed ) {
-                    return d;
-                }
-                if ( this.backtracking == 0 ) {
+            loc=(Token)input.LT(1);
+            match(input,EXISTS,FOLLOW_EXISTS_in_lhs_exist3618); if (failed) return d;
+            if ( backtracking==0 ) {
+              
+              			d = new ExistsDescr( ); 
+              			d.setLocation( offset(loc.getLine()), loc.getCharPositionInLine() );
+              			d.setStartCharacter( ((CommonToken)loc).getStartIndex() );
+              		
+            }
+            // C:\\dev\\jbossrules\\trunk3\\drools-compiler\\src\\main\\resources\\org\\drools\\lang\\DRL.g:1249:10: ( ( '(' pattern= lhs_or end= ')' ) | pattern= lhs_pattern )
+            int alt48=2;
+            int LA48_0 = input.LA(1);
 
-                    d = new ExistsDescr();
-                    d.setLocation( offset( loc.getLine() ),
-                                   loc.getCharPositionInLine() );
-                    d.setStartCharacter( ((CommonToken) loc).getStartIndex() );
+            if ( (LA48_0==LEFT_PAREN) ) {
+                alt48=1;
+            }
+            else if ( (LA48_0==ID) ) {
+                alt48=2;
+            }
+            else {
+                if (backtracking>0) {failed=true; return d;}
+                NoViableAltException nvae =
+                    new NoViableAltException("1249:10: ( ( '(' pattern= lhs_or end= ')' ) | pattern= lhs_pattern )", 48, 0, input);
 
-                }
-                // C:\\dev\\jbossrules\\trunk3\\drools-compiler\\src\\main\\resources\\org\\drools\\lang\\DRL.g:1249:10: ( ( ( '(' lhs_or ')' ) )=> ( '(' column= lhs_or end= ')' ) | column= lhs_column )
-                int alt48 = 2;
-                final int LA48_0 = this.input.LA( 1 );
-                if ( (LA48_0 == LEFT_PAREN) ) {
-                    alt48 = 1;
-                } else if ( (LA48_0 == ID) ) {
-                    alt48 = 2;
-                } else {
-                    if ( this.backtracking > 0 ) {
-                        this.failed = true;
-                        return d;
+                throw nvae;
+            }
+            switch (alt48) {
+                case 1 :
+                    // C:\\dev\\jbossrules\\trunk3\\drools-compiler\\src\\main\\resources\\org\\drools\\lang\\DRL.g:1249:12: ( '(' pattern= lhs_or end= ')' )
+                    {
+                    // C:\\dev\\jbossrules\\trunk3\\drools-compiler\\src\\main\\resources\\org\\drools\\lang\\DRL.g:1249:12: ( '(' pattern= lhs_or end= ')' )
+                    // C:\\dev\\jbossrules\\trunk3\\drools-compiler\\src\\main\\resources\\org\\drools\\lang\\DRL.g:1249:14: '(' pattern= lhs_or end= ')'
+                    {
+                    match(input,LEFT_PAREN,FOLLOW_LEFT_PAREN_in_lhs_exist3638); if (failed) return d;
+                    pushFollow(FOLLOW_lhs_or_in_lhs_exist3642);
+                    pattern=lhs_or();
+                    _fsp--;
+                    if (failed) return d;
+                    if ( backtracking==0 ) {
+                       if ( pattern != null ) ((ExistsDescr)d).addDescr( pattern ); 
                     }
-                    final NoViableAltException nvae = new NoViableAltException( "1249:10: ( ( ( '(' lhs_or ')' ) )=> ( '(' column= lhs_or end= ')' ) | column= lhs_column )",
-                                                                          48,
-                                                                          0,
-                                                                          this.input );
+                    end=(Token)input.LT(1);
+                    match(input,RIGHT_PAREN,FOLLOW_RIGHT_PAREN_in_lhs_exist3674); if (failed) return d;
+                    if ( backtracking==0 ) {
+                       if ( end != null ) d.setEndCharacter( ((CommonToken)end).getStopIndex() ); 
+                    }
 
-                    throw nvae;
-                }
-                switch ( alt48 ) {
-                    case 1 :
-                        // C:\\dev\\jbossrules\\trunk3\\drools-compiler\\src\\main\\resources\\org\\drools\\lang\\DRL.g:1249:12: ( ( '(' lhs_or ')' ) )=> ( '(' column= lhs_or end= ')' )
-                    {
-                        // C:\\dev\\jbossrules\\trunk3\\drools-compiler\\src\\main\\resources\\org\\drools\\lang\\DRL.g:1249:12: ( '(' column= lhs_or end= ')' )
-                        // C:\\dev\\jbossrules\\trunk3\\drools-compiler\\src\\main\\resources\\org\\drools\\lang\\DRL.g:1249:14: '(' column= lhs_or end= ')'
-                        {
-                            match( this.input,
-                                   LEFT_PAREN,
-                                   FOLLOW_LEFT_PAREN_in_lhs_exist3638 );
-                            if ( this.failed ) {
-                                return d;
-                            }
-                            pushFollow( FOLLOW_lhs_or_in_lhs_exist3642 );
-                            column = lhs_or();
-                            this._fsp--;
-                            if ( this.failed ) {
-                                return d;
-                            }
-                            if ( this.backtracking == 0 ) {
-                                if ( column != null ) {
-                                    ((ExistsDescr) d).addDescr( column );
-                                }
-                            }
-                            end = (Token) this.input.LT( 1 );
-                            match( this.input,
-                                   RIGHT_PAREN,
-                                   FOLLOW_RIGHT_PAREN_in_lhs_exist3674 );
-                            if ( this.failed ) {
-                                return d;
-                            }
-                            if ( this.backtracking == 0 ) {
-                                if ( end != null ) {
-                                    d.setEndCharacter( ((CommonToken) end).getStopIndex() );
-                                }
-                            }
+                    }
 
-                        }
 
                     }
-                        break;
-                    case 2 :
-                        // C:\\dev\\jbossrules\\trunk3\\drools-compiler\\src\\main\\resources\\org\\drools\\lang\\DRL.g:1254:12: column= lhs_column
+                    break;
+                case 2 :
+                    // C:\\dev\\jbossrules\\trunk3\\drools-compiler\\src\\main\\resources\\org\\drools\\lang\\DRL.g:1254:12: pattern= lhs_pattern
                     {
-                        pushFollow( FOLLOW_lhs_column_in_lhs_exist3724 );
-                        column = lhs_column();
-                        this._fsp--;
-                        if ( this.failed ) {
-                            return d;
-                        }
-                        if ( this.backtracking == 0 ) {
+                    pushFollow(FOLLOW_lhs_pattern_in_lhs_exist3724);
+                    pattern=lhs_pattern();
+                    _fsp--;
+                    if (failed) return d;
+                    if ( backtracking==0 ) {
+                      
+                      	                	if ( pattern != null ) {
+                      	                		((ExistsDescr)d).addDescr( pattern );
+                      	                		d.setEndCharacter( pattern.getEndCharacter() );
+                      	                	}
+                      	                
+                    }
 
-                            if ( column != null ) {
-                                ((ExistsDescr) d).addDescr( column );
-                                d.setEndCharacter( column.getEndCharacter() );
-                            }
-
-                        }
-
                     }
-                        break;
+                    break;
 
-                }
+            }
 
+
             }
 
-        } catch ( final RecognitionException re ) {
-            reportError( re );
-            recover( this.input,
-                     re );
-        } finally {
         }
+        catch (RecognitionException re) {
+            reportError(re);
+            recover(input,re);
+        }
+        finally {
+        }
         return d;
     }
-
     // $ANTLR end lhs_exist
 
+
     // $ANTLR start lhs_not
-    // C:\\dev\\jbossrules\\trunk3\\drools-compiler\\src\\main\\resources\\org\\drools\\lang\\DRL.g:1264:1: lhs_not returns [NotDescr d] : loc= NOT ( ( ( '(' lhs_or ')' ) )=> ( '(' column= lhs_or end= ')' ) | column= lhs_column ) ;
-    public NotDescr lhs_not() throws RecognitionException {
+    // C:\\dev\\jbossrules\\trunk3\\drools-compiler\\src\\main\\resources\\org\\drools\\lang\\DRL.g:1264:1: lhs_not returns [NotDescr d] : loc= NOT ( ( '(' pattern= lhs_or end= ')' ) | pattern= lhs_pattern ) ;
+    public final NotDescr lhs_not() throws RecognitionException {
         NotDescr d = null;
 
-        Token loc = null;
-        Token end = null;
-        BaseDescr column = null;
+        Token loc=null;
+        Token end=null;
+        BaseDescr pattern = null;
 
-        d = null;
 
+        
+        		d = null;
+        	
         try {
-            // C:\\dev\\jbossrules\\trunk3\\drools-compiler\\src\\main\\resources\\org\\drools\\lang\\DRL.g:1268:4: (loc= NOT ( ( ( '(' lhs_or ')' ) )=> ( '(' column= lhs_or end= ')' ) | column= lhs_column ) )
-            // C:\\dev\\jbossrules\\trunk3\\drools-compiler\\src\\main\\resources\\org\\drools\\lang\\DRL.g:1268:4: loc= NOT ( ( ( '(' lhs_or ')' ) )=> ( '(' column= lhs_or end= ')' ) | column= lhs_column )
+            // C:\\dev\\jbossrules\\trunk3\\drools-compiler\\src\\main\\resources\\org\\drools\\lang\\DRL.g:1268:4: (loc= NOT ( ( '(' pattern= lhs_or end= ')' ) | pattern= lhs_pattern ) )
+            // C:\\dev\\jbossrules\\trunk3\\drools-compiler\\src\\main\\resources\\org\\drools\\lang\\DRL.g:1268:4: loc= NOT ( ( '(' pattern= lhs_or end= ')' ) | pattern= lhs_pattern )
             {
-                loc = (Token) this.input.LT( 1 );
-                match( this.input,
-                       NOT,
-                       FOLLOW_NOT_in_lhs_not3778 );
-                if ( this.failed ) {
-                    return d;
-                }
-                if ( this.backtracking == 0 ) {
+            loc=(Token)input.LT(1);
+            match(input,NOT,FOLLOW_NOT_in_lhs_not3778); if (failed) return d;
+            if ( backtracking==0 ) {
+              
+              			d = new NotDescr( ); 
+              			d.setLocation( offset(loc.getLine()), loc.getCharPositionInLine() );
+              			d.setStartCharacter( ((CommonToken)loc).getStartIndex() );
+              		
+            }
+            // C:\\dev\\jbossrules\\trunk3\\drools-compiler\\src\\main\\resources\\org\\drools\\lang\\DRL.g:1274:3: ( ( '(' pattern= lhs_or end= ')' ) | pattern= lhs_pattern )
+            int alt49=2;
+            int LA49_0 = input.LA(1);
 
-                    d = new NotDescr();
-                    d.setLocation( offset( loc.getLine() ),
-                                   loc.getCharPositionInLine() );
-                    d.setStartCharacter( ((CommonToken) loc).getStartIndex() );
+            if ( (LA49_0==LEFT_PAREN) ) {
+                alt49=1;
+            }
+            else if ( (LA49_0==ID) ) {
+                alt49=2;
+            }
+            else {
+                if (backtracking>0) {failed=true; return d;}
+                NoViableAltException nvae =
+                    new NoViableAltException("1274:3: ( ( '(' pattern= lhs_or end= ')' ) | pattern= lhs_pattern )", 49, 0, input);
 
-                }
-                // C:\\dev\\jbossrules\\trunk3\\drools-compiler\\src\\main\\resources\\org\\drools\\lang\\DRL.g:1274:3: ( ( ( '(' lhs_or ')' ) )=> ( '(' column= lhs_or end= ')' ) | column= lhs_column )
-                int alt49 = 2;
-                final int LA49_0 = this.input.LA( 1 );
-                if ( (LA49_0 == LEFT_PAREN) ) {
-                    alt49 = 1;
-                } else if ( (LA49_0 == ID) ) {
-                    alt49 = 2;
-                } else {
-                    if ( this.backtracking > 0 ) {
-                        this.failed = true;
-                        return d;
+                throw nvae;
+            }
+            switch (alt49) {
+                case 1 :
+                    // C:\\dev\\jbossrules\\trunk3\\drools-compiler\\src\\main\\resources\\org\\drools\\lang\\DRL.g:1274:5: ( '(' pattern= lhs_or end= ')' )
+                    {
+                    // C:\\dev\\jbossrules\\trunk3\\drools-compiler\\src\\main\\resources\\org\\drools\\lang\\DRL.g:1274:5: ( '(' pattern= lhs_or end= ')' )
+                    // C:\\dev\\jbossrules\\trunk3\\drools-compiler\\src\\main\\resources\\org\\drools\\lang\\DRL.g:1274:7: '(' pattern= lhs_or end= ')'
+                    {
+                    match(input,LEFT_PAREN,FOLLOW_LEFT_PAREN_in_lhs_not3791); if (failed) return d;
+                    pushFollow(FOLLOW_lhs_or_in_lhs_not3795);
+                    pattern=lhs_or();
+                    _fsp--;
+                    if (failed) return d;
+                    if ( backtracking==0 ) {
+                       if ( pattern != null ) d.addDescr( pattern ); 
                     }
-                    final NoViableAltException nvae = new NoViableAltException( "1274:3: ( ( ( '(' lhs_or ')' ) )=> ( '(' column= lhs_or end= ')' ) | column= lhs_column )",
-                                                                          49,
-                                                                          0,
-                                                                          this.input );
+                    end=(Token)input.LT(1);
+                    match(input,RIGHT_PAREN,FOLLOW_RIGHT_PAREN_in_lhs_not3828); if (failed) return d;
+                    if ( backtracking==0 ) {
+                       if ( end != null ) d.setEndCharacter( ((CommonToken)end).getStopIndex() ); 
+                    }
 
-                    throw nvae;
-                }
-                switch ( alt49 ) {
-                    case 1 :
-                        // C:\\dev\\jbossrules\\trunk3\\drools-compiler\\src\\main\\resources\\org\\drools\\lang\\DRL.g:1274:5: ( ( '(' lhs_or ')' ) )=> ( '(' column= lhs_or end= ')' )
-                    {
-                        // C:\\dev\\jbossrules\\trunk3\\drools-compiler\\src\\main\\resources\\org\\drools\\lang\\DRL.g:1274:5: ( '(' column= lhs_or end= ')' )
-                        // C:\\dev\\jbossrules\\trunk3\\drools-compiler\\src\\main\\resources\\org\\drools\\lang\\DRL.g:1274:7: '(' column= lhs_or end= ')'
-                        {
-                            match( this.input,
-                                   LEFT_PAREN,
-                                   FOLLOW_LEFT_PAREN_in_lhs_not3791 );
-                            if ( this.failed ) {
-                                return d;
-                            }
-                            pushFollow( FOLLOW_lhs_or_in_lhs_not3795 );
-                            column = lhs_or();
-                            this._fsp--;
-                            if ( this.failed ) {
-                                return d;
-                            }
-                            if ( this.backtracking == 0 ) {
-                                if ( column != null ) {
-                                    d.addDescr( column );
-                                }
-                            }
-                            end = (Token) this.input.LT( 1 );
-                            match( this.input,
-                                   RIGHT_PAREN,
-                                   FOLLOW_RIGHT_PAREN_in_lhs_not3828 );
-                            if ( this.failed ) {
-                                return d;
-                            }
-                            if ( this.backtracking == 0 ) {
-                                if ( end != null ) {
-                                    d.setEndCharacter( ((CommonToken) end).getStopIndex() );
-                                }
-                            }
+                    }
 
-                        }
 
                     }
-                        break;
-                    case 2 :
-                        // C:\\dev\\jbossrules\\trunk3\\drools-compiler\\src\\main\\resources\\org\\drools\\lang\\DRL.g:1280:3: column= lhs_column
+                    break;
+                case 2 :
+                    // C:\\dev\\jbossrules\\trunk3\\drools-compiler\\src\\main\\resources\\org\\drools\\lang\\DRL.g:1280:3: pattern= lhs_pattern
                     {
-                        pushFollow( FOLLOW_lhs_column_in_lhs_not3865 );
-                        column = lhs_column();
-                        this._fsp--;
-                        if ( this.failed ) {
-                            return d;
-                        }
-                        if ( this.backtracking == 0 ) {
+                    pushFollow(FOLLOW_lhs_pattern_in_lhs_not3865);
+                    pattern=lhs_pattern();
+                    _fsp--;
+                    if (failed) return d;
+                    if ( backtracking==0 ) {
+                      
+                      	                	if ( pattern != null ) {
+                      	                		d.addDescr( pattern );
+                      	                		d.setEndCharacter( pattern.getEndCharacter() );
+                      	                	}
+                      	                
+                    }
 
-                            if ( column != null ) {
-                                d.addDescr( column );
-                                d.setEndCharacter( column.getEndCharacter() );
-                            }
-
-                        }
-
                     }
-                        break;
+                    break;
 
-                }
+            }
 
+
             }
 
-        } catch ( final RecognitionException re ) {
-            reportError( re );
-            recover( this.input,
-                     re );
-        } finally {
         }
+        catch (RecognitionException re) {
+            reportError(re);
+            recover(input,re);
+        }
+        finally {
+        }
         return d;
     }
-
     // $ANTLR end lhs_not
 
+
     // $ANTLR start lhs_eval
     // C:\\dev\\jbossrules\\trunk3\\drools-compiler\\src\\main\\resources\\org\\drools\\lang\\DRL.g:1290:1: lhs_eval returns [BaseDescr d] : loc= EVAL c= paren_chunk[d] ;
-    public BaseDescr lhs_eval() throws RecognitionException {
+    public final BaseDescr lhs_eval() throws RecognitionException {
         BaseDescr d = null;
 
-        Token loc = null;
+        Token loc=null;
         String c = null;
 
-        d = new EvalDescr();
 
+        
+        		d = new EvalDescr( );
+        	
         try {
             // C:\\dev\\jbossrules\\trunk3\\drools-compiler\\src\\main\\resources\\org\\drools\\lang\\DRL.g:1295:3: (loc= EVAL c= paren_chunk[d] )
             // C:\\dev\\jbossrules\\trunk3\\drools-compiler\\src\\main\\resources\\org\\drools\\lang\\DRL.g:1295:3: loc= EVAL c= paren_chunk[d]
             {
-                loc = (Token) this.input.LT( 1 );
-                match( this.input,
-                       EVAL,
-                       FOLLOW_EVAL_in_lhs_eval3913 );
-                if ( this.failed ) {
-                    return d;
-                }
-                pushFollow( FOLLOW_paren_chunk_in_lhs_eval3917 );
-                c = paren_chunk( d );
-                this._fsp--;
-                if ( this.failed ) {
-                    return d;
-                }
-                if ( this.backtracking == 0 ) {
+            loc=(Token)input.LT(1);
+            match(input,EVAL,FOLLOW_EVAL_in_lhs_eval3913); if (failed) return d;
+            pushFollow(FOLLOW_paren_chunk_in_lhs_eval3917);
+            c=paren_chunk(d);
+            _fsp--;
+            if (failed) return d;
+            if ( backtracking==0 ) {
+               
+              			if ( loc != null ) d.setStartCharacter( ((CommonToken)loc).getStartIndex() );
+              		        if( c != null ) {
+              		            String body = c.substring(1, c.length()-1);
+              			    checkTrailingSemicolon( body, offset(loc.getLine()) );
+              			    ((EvalDescr) d).setContent( body );
+              			}
+              		
+            }
 
-                    if ( loc != null ) {
-                        d.setStartCharacter( ((CommonToken) loc).getStartIndex() );
-                    }
-                    if ( c != null ) {
-                        final String body = c.substring( 1,
-                                                   c.length() - 1 );
-                        checkTrailingSemicolon( body,
-                                                offset( loc.getLine() ) );
-                        ((EvalDescr) d).setContent( body );
-                    }
-
-                }
-
             }
 
-        } catch ( final RecognitionException re ) {
-            reportError( re );
-            recover( this.input,
-                     re );
-        } finally {
         }
+        catch (RecognitionException re) {
+            reportError(re);
+            recover(input,re);
+        }
+        finally {
+        }
         return d;
     }
-
     // $ANTLR end lhs_eval
 
+
     // $ANTLR start lhs_forall
-    // C:\\dev\\jbossrules\\trunk3\\drools-compiler\\src\\main\\resources\\org\\drools\\lang\\DRL.g:1306:1: lhs_forall returns [ForallDescr d] : loc= FORALL '(' base= lhs_column ( ( ( ( ',' )=> ',' )? lhs_column )=> ( ( ',' )=> ',' )? column= lhs_column )+ end= ')' ;
-    public ForallDescr lhs_forall() throws RecognitionException {
+    // C:\\dev\\jbossrules\\trunk3\\drools-compiler\\src\\main\\resources\\org\\drools\\lang\\DRL.g:1306:1: lhs_forall returns [ForallDescr d] : loc= FORALL '(' base= lhs_pattern ( ( ',' )? pattern= lhs_pattern )+ end= ')' ;
+    public final ForallDescr lhs_forall() throws RecognitionException {
         ForallDescr d = null;
 
-        Token loc = null;
-        Token end = null;
+        Token loc=null;
+        Token end=null;
         BaseDescr base = null;
 
-        BaseDescr column = null;
+        BaseDescr pattern = null;
 
-        d = this.factory.createForall();
 
+        
+        		d = factory.createForall();
+        	
         try {
-            // C:\\dev\\jbossrules\\trunk3\\drools-compiler\\src\\main\\resources\\org\\drools\\lang\\DRL.g:1310:4: (loc= FORALL '(' base= lhs_column ( ( ( ( ',' )=> ',' )? lhs_column )=> ( ( ',' )=> ',' )? column= lhs_column )+ end= ')' )
-            // C:\\dev\\jbossrules\\trunk3\\drools-compiler\\src\\main\\resources\\org\\drools\\lang\\DRL.g:1310:4: loc= FORALL '(' base= lhs_column ( ( ( ( ',' )=> ',' )? lhs_column )=> ( ( ',' )=> ',' )? column= lhs_column )+ end= ')'
+            // C:\\dev\\jbossrules\\trunk3\\drools-compiler\\src\\main\\resources\\org\\drools\\lang\\DRL.g:1310:4: (loc= FORALL '(' base= lhs_pattern ( ( ',' )? pattern= lhs_pattern )+ end= ')' )
+            // C:\\dev\\jbossrules\\trunk3\\drools-compiler\\src\\main\\resources\\org\\drools\\lang\\DRL.g:1310:4: loc= FORALL '(' base= lhs_pattern ( ( ',' )? pattern= lhs_pattern )+ end= ')'
             {
-                loc = (Token) this.input.LT( 1 );
-                match( this.input,
-                       FORALL,
-                       FOLLOW_FORALL_in_lhs_forall3946 );
-                if ( this.failed ) {
-                    return d;
-                }
-                match( this.input,
-                       LEFT_PAREN,
-                       FOLLOW_LEFT_PAREN_in_lhs_forall3948 );
-                if ( this.failed ) {
-                    return d;
-                }
-                pushFollow( FOLLOW_lhs_column_in_lhs_forall3952 );
-                base = lhs_column();
-                this._fsp--;
-                if ( this.failed ) {
-                    return d;
-                }
-                if ( this.backtracking == 0 ) {
+            loc=(Token)input.LT(1);
+            match(input,FORALL,FOLLOW_FORALL_in_lhs_forall3946); if (failed) return d;
+            match(input,LEFT_PAREN,FOLLOW_LEFT_PAREN_in_lhs_forall3948); if (failed) return d;
+            pushFollow(FOLLOW_lhs_pattern_in_lhs_forall3952);
+            base=lhs_pattern();
+            _fsp--;
+            if (failed) return d;
+            if ( backtracking==0 ) {
+              
+              			if ( loc != null ) d.setStartCharacter( ((CommonToken)loc).getStartIndex() );
+              		        // adding the base pattern
+              		        d.addDescr( base );
+              			d.setLocation( offset(loc.getLine()), loc.getCharPositionInLine() );
+              		
+            }
+            // C:\\dev\\jbossrules\\trunk3\\drools-compiler\\src\\main\\resources\\org\\drools\\lang\\DRL.g:1317:3: ( ( ',' )? pattern= lhs_pattern )+
+            int cnt51=0;
+            loop51:
+            do {
+                int alt51=2;
+                int LA51_0 = input.LA(1);
 
-                    if ( loc != null ) {
-                        d.setStartCharacter( ((CommonToken) loc).getStartIndex() );
-                    }
-                    // adding the base column
-                    d.addDescr( base );
-                    d.setLocation( offset( loc.getLine() ),
-                                   loc.getCharPositionInLine() );
-
+                if ( (LA51_0==ID||LA51_0==66) ) {
+                    alt51=1;
                 }
-                // C:\\dev\\jbossrules\\trunk3\\drools-compiler\\src\\main\\resources\\org\\drools\\lang\\DRL.g:1317:3: ( ( ( ( ',' )=> ',' )? lhs_column )=> ( ( ',' )=> ',' )? column= lhs_column )+
-                int cnt51 = 0;
-                loop51 : do {
-                    int alt51 = 2;
-                    final int LA51_0 = this.input.LA( 1 );
-                    if ( (LA51_0 == ID || LA51_0 == 66) ) {
-                        alt51 = 1;
-                    }
 
-                    switch ( alt51 ) {
-                        case 1 :
-                            // C:\\dev\\jbossrules\\trunk3\\drools-compiler\\src\\main\\resources\\org\\drools\\lang\\DRL.g:1317:5: ( ( ( ',' )=> ',' )? lhs_column )=> ( ( ',' )=> ',' )? column= lhs_column
-                        {
-                            // C:\\dev\\jbossrules\\trunk3\\drools-compiler\\src\\main\\resources\\org\\drools\\lang\\DRL.g:1317:5: ( ( ',' )=> ',' )?
-                            int alt50 = 2;
-                            final int LA50_0 = this.input.LA( 1 );
-                            if ( (LA50_0 == 66) ) {
-                                alt50 = 1;
-                            }
-                            switch ( alt50 ) {
-                                case 1 :
-                                    // C:\\dev\\jbossrules\\trunk3\\drools-compiler\\src\\main\\resources\\org\\drools\\lang\\DRL.g:1317:6: ( ',' )=> ','
-                                {
-                                    match( this.input,
-                                           66,
-                                           FOLLOW_66_in_lhs_forall3966 );
-                                    if ( this.failed ) {
-                                        return d;
-                                    }
 
-                                }
-                                    break;
+                switch (alt51) {
+            	case 1 :
+            	    // C:\\dev\\jbossrules\\trunk3\\drools-compiler\\src\\main\\resources\\org\\drools\\lang\\DRL.g:1317:5: ( ',' )? pattern= lhs_pattern
+            	    {
+            	    // C:\\dev\\jbossrules\\trunk3\\drools-compiler\\src\\main\\resources\\org\\drools\\lang\\DRL.g:1317:5: ( ',' )?
+            	    int alt50=2;
+            	    int LA50_0 = input.LA(1);
 
-                            }
+            	    if ( (LA50_0==66) ) {
+            	        alt50=1;
+            	    }
+            	    switch (alt50) {
+            	        case 1 :
+            	            // C:\\dev\\jbossrules\\trunk3\\drools-compiler\\src\\main\\resources\\org\\drools\\lang\\DRL.g:1317:6: ','
+            	            {
+            	            match(input,66,FOLLOW_66_in_lhs_forall3966); if (failed) return d;
 
-                            pushFollow( FOLLOW_lhs_column_in_lhs_forall3972 );
-                            column = lhs_column();
-                            this._fsp--;
-                            if ( this.failed ) {
-                                return d;
-                            }
-                            if ( this.backtracking == 0 ) {
+            	            }
+            	            break;
 
-                                // adding additional columns
-                                d.addDescr( column );
+            	    }
 
-                            }
+            	    pushFollow(FOLLOW_lhs_pattern_in_lhs_forall3972);
+            	    pattern=lhs_pattern();
+            	    _fsp--;
+            	    if (failed) return d;
+            	    if ( backtracking==0 ) {
+            	      
+            	      		        // adding additional patterns
+            	      			d.addDescr( pattern );
+            	      		
+            	    }
 
-                        }
-                            break;
+            	    }
+            	    break;
 
-                        default :
-                            if ( cnt51 >= 1 ) {
-                                break loop51;
-                            }
-                            if ( this.backtracking > 0 ) {
-                                this.failed = true;
-                                return d;
-                            }
-                            final EarlyExitException eee = new EarlyExitException( 51,
-                                                                             this.input );
-                            throw eee;
-                    }
-                    cnt51++;
-                } while ( true );
-
-                end = (Token) this.input.LT( 1 );
-                match( this.input,
-                       RIGHT_PAREN,
-                       FOLLOW_RIGHT_PAREN_in_lhs_forall3987 );
-                if ( this.failed ) {
-                    return d;
+            	default :
+            	    if ( cnt51 >= 1 ) break loop51;
+            	    if (backtracking>0) {failed=true; return d;}
+                        EarlyExitException eee =
+                            new EarlyExitException(51, input);
+                        throw eee;
                 }
-                if ( this.backtracking == 0 ) {
+                cnt51++;
+            } while (true);
 
-                    if ( end != null ) {
-                        d.setEndCharacter( ((CommonToken) end).getStopIndex() );
-                    }
+            end=(Token)input.LT(1);
+            match(input,RIGHT_PAREN,FOLLOW_RIGHT_PAREN_in_lhs_forall3987); if (failed) return d;
+            if ( backtracking==0 ) {
+              
+              		        if ( end != null ) d.setEndCharacter( ((CommonToken)end).getStopIndex() );
+              		
+            }
 
-                }
-
             }
 
-        } catch ( final RecognitionException re ) {
-            reportError( re );
-            recover( this.input,
-                     re );
-        } finally {
         }
+        catch (RecognitionException re) {
+            reportError(re);
+            recover(input,re);
+        }
+        finally {
+        }
         return d;
     }
-
     // $ANTLR end lhs_forall
 
+
     // $ANTLR start dotted_name
-    // C:\\dev\\jbossrules\\trunk3\\drools-compiler\\src\\main\\resources\\org\\drools\\lang\\DRL.g:1329:1: dotted_name[BaseDescr descr] returns [String name] : id= ID ( ( '.' identifier )=> '.' ident= identifier )* ( ( '[' ']' )=> '[' loc= ']' )* ;
-    public String dotted_name(final BaseDescr descr) throws RecognitionException {
+    // C:\\dev\\jbossrules\\trunk3\\drools-compiler\\src\\main\\resources\\org\\drools\\lang\\DRL.g:1329:1: dotted_name[BaseDescr descr] returns [String name] : id= ID ( '.' ident= identifier )* ( '[' loc= ']' )* ;
+    public final String dotted_name(BaseDescr descr) throws RecognitionException {
         String name = null;
 
-        Token id = null;
-        Token loc = null;
+        Token id=null;
+        Token loc=null;
         Token ident = null;
 
-        name = null;
 
+        
+        		name = null;
+        	
         try {
-            // C:\\dev\\jbossrules\\trunk3\\drools-compiler\\src\\main\\resources\\org\\drools\\lang\\DRL.g:1334:3: (id= ID ( ( '.' identifier )=> '.' ident= identifier )* ( ( '[' ']' )=> '[' loc= ']' )* )
-            // C:\\dev\\jbossrules\\trunk3\\drools-compiler\\src\\main\\resources\\org\\drools\\lang\\DRL.g:1334:3: id= ID ( ( '.' identifier )=> '.' ident= identifier )* ( ( '[' ']' )=> '[' loc= ']' )*
+            // C:\\dev\\jbossrules\\trunk3\\drools-compiler\\src\\main\\resources\\org\\drools\\lang\\DRL.g:1334:3: (id= ID ( '.' ident= identifier )* ( '[' loc= ']' )* )
+            // C:\\dev\\jbossrules\\trunk3\\drools-compiler\\src\\main\\resources\\org\\drools\\lang\\DRL.g:1334:3: id= ID ( '.' ident= identifier )* ( '[' loc= ']' )*
             {
-                id = (Token) this.input.LT( 1 );
-                match( this.input,
-                       ID,
-                       FOLLOW_ID_in_dotted_name4018 );
-                if ( this.failed ) {
-                    return name;
-                }
-                if ( this.backtracking == 0 ) {
+            id=(Token)input.LT(1);
+            match(input,ID,FOLLOW_ID_in_dotted_name4018); if (failed) return name;
+            if ( backtracking==0 ) {
+               
+              		    name=id.getText(); 
+              		    if( descr != null ) {
+              			descr.setStartCharacter( ((CommonToken)id).getStartIndex() );
+              			descr.setEndCharacter( ((CommonToken)id).getStopIndex() );
+              		    }
+              		
+            }
+            // C:\\dev\\jbossrules\\trunk3\\drools-compiler\\src\\main\\resources\\org\\drools\\lang\\DRL.g:1342:3: ( '.' ident= identifier )*
+            loop52:
+            do {
+                int alt52=2;
+                int LA52_0 = input.LA(1);
 
-                    name = id.getText();
-                    if ( descr != null ) {
-                        descr.setStartCharacter( ((CommonToken) id).getStartIndex() );
-                        descr.setEndCharacter( ((CommonToken) id).getStopIndex() );
-                    }
-
+                if ( (LA52_0==64) ) {
+                    alt52=1;
                 }
-                // C:\\dev\\jbossrules\\trunk3\\drools-compiler\\src\\main\\resources\\org\\drools\\lang\\DRL.g:1342:3: ( ( '.' identifier )=> '.' ident= identifier )*
-                loop52 : do {
-                    int alt52 = 2;
-                    final int LA52_0 = this.input.LA( 1 );
-                    if ( (LA52_0 == 64) ) {
-                        alt52 = 1;
-                    }
 
-                    switch ( alt52 ) {
-                        case 1 :
-                            // C:\\dev\\jbossrules\\trunk3\\drools-compiler\\src\\main\\resources\\org\\drools\\lang\\DRL.g:1342:5: ( '.' identifier )=> '.' ident= identifier
-                        {
-                            match( this.input,
-                                   64,
-                                   FOLLOW_64_in_dotted_name4030 );
-                            if ( this.failed ) {
-                                return name;
-                            }
-                            pushFollow( FOLLOW_identifier_in_dotted_name4034 );
-                            ident = identifier();
-                            this._fsp--;
-                            if ( this.failed ) {
-                                return name;
-                            }
-                            if ( this.backtracking == 0 ) {
 
-                                name = name + "." + ident.getText();
-                                if ( descr != null ) {
-                                    descr.setEndCharacter( ((CommonToken) ident).getStopIndex() );
-                                }
+                switch (alt52) {
+            	case 1 :
+            	    // C:\\dev\\jbossrules\\trunk3\\drools-compiler\\src\\main\\resources\\org\\drools\\lang\\DRL.g:1342:5: '.' ident= identifier
+            	    {
+            	    match(input,64,FOLLOW_64_in_dotted_name4030); if (failed) return name;
+            	    pushFollow(FOLLOW_identifier_in_dotted_name4034);
+            	    ident=identifier();
+            	    _fsp--;
+            	    if (failed) return name;
+            	    if ( backtracking==0 ) {
+            	       
+            	      		        name = name + "." + ident.getText(); 
+            	          		        if( descr != null ) {
+            	      			    descr.setEndCharacter( ((CommonToken)ident).getStopIndex() );
+            	      		        }
+            	      		    
+            	    }
 
-                            }
+            	    }
+            	    break;
 
-                        }
-                            break;
+            	default :
+            	    break loop52;
+                }
+            } while (true);
 
-                        default :
-                            break loop52;
-                    }
-                } while ( true );
+            // C:\\dev\\jbossrules\\trunk3\\drools-compiler\\src\\main\\resources\\org\\drools\\lang\\DRL.g:1350:3: ( '[' loc= ']' )*
+            loop53:
+            do {
+                int alt53=2;
+                int LA53_0 = input.LA(1);
 
-                // C:\\dev\\jbossrules\\trunk3\\drools-compiler\\src\\main\\resources\\org\\drools\\lang\\DRL.g:1350:3: ( ( '[' ']' )=> '[' loc= ']' )*
-                loop53 : do {
-                    int alt53 = 2;
-                    final int LA53_0 = this.input.LA( 1 );
-                    if ( (LA53_0 == LEFT_SQUARE) ) {
-                        alt53 = 1;
-                    }
+                if ( (LA53_0==LEFT_SQUARE) ) {
+                    alt53=1;
+                }
 
-                    switch ( alt53 ) {
-                        case 1 :
-                            // C:\\dev\\jbossrules\\trunk3\\drools-compiler\\src\\main\\resources\\org\\drools\\lang\\DRL.g:1350:5: ( '[' ']' )=> '[' loc= ']'
-                        {
-                            match( this.input,
-                                   LEFT_SQUARE,
-                                   FOLLOW_LEFT_SQUARE_in_dotted_name4056 );
-                            if ( this.failed ) {
-                                return name;
-                            }
-                            loc = (Token) this.input.LT( 1 );
-                            match( this.input,
-                                   RIGHT_SQUARE,
-                                   FOLLOW_RIGHT_SQUARE_in_dotted_name4060 );
-                            if ( this.failed ) {
-                                return name;
-                            }
-                            if ( this.backtracking == 0 ) {
 
-                                name = name + "[]";
-                                if ( descr != null ) {
-                                    descr.setEndCharacter( ((CommonToken) loc).getStopIndex() );
-                                }
+                switch (alt53) {
+            	case 1 :
+            	    // C:\\dev\\jbossrules\\trunk3\\drools-compiler\\src\\main\\resources\\org\\drools\\lang\\DRL.g:1350:5: '[' loc= ']'
+            	    {
+            	    match(input,LEFT_SQUARE,FOLLOW_LEFT_SQUARE_in_dotted_name4056); if (failed) return name;
+            	    loc=(Token)input.LT(1);
+            	    match(input,RIGHT_SQUARE,FOLLOW_RIGHT_SQUARE_in_dotted_name4060); if (failed) return name;
+            	    if ( backtracking==0 ) {
+            	       
+            	      		        name = name + "[]";
+            	          		        if( descr != null ) {
+            	      			    descr.setEndCharacter( ((CommonToken)loc).getStopIndex() );
+            	      		        }
+            	      		    
+            	    }
 
-                            }
+            	    }
+            	    break;
 
-                        }
-                            break;
+            	default :
+            	    break loop53;
+                }
+            } while (true);
 
-                        default :
-                            break loop53;
-                    }
-                } while ( true );
 
             }
 
-        } catch ( final RecognitionException re ) {
-            reportError( re );
-            recover( this.input,
-                     re );
-        } finally {
         }
+        catch (RecognitionException re) {
+            reportError(re);
+            recover(input,re);
+        }
+        finally {
+        }
         return name;
     }
-
     // $ANTLR end dotted_name
 
+
     // $ANTLR start argument
-    // C:\\dev\\jbossrules\\trunk3\\drools-compiler\\src\\main\\resources\\org\\drools\\lang\\DRL.g:1360:1: argument returns [String name] : id= identifier ( ( '[' ']' )=> '[' ']' )* ;
-    public String argument() throws RecognitionException {
+    // C:\\dev\\jbossrules\\trunk3\\drools-compiler\\src\\main\\resources\\org\\drools\\lang\\DRL.g:1360:1: argument returns [String name] : id= identifier ( '[' ']' )* ;
+    public final String argument() throws RecognitionException {
         String name = null;
 
         Token id = null;
 
-        name = null;
 
+        
+        		name = null;
+        	
         try {
-            // C:\\dev\\jbossrules\\trunk3\\drools-compiler\\src\\main\\resources\\org\\drools\\lang\\DRL.g:1365:3: (id= identifier ( ( '[' ']' )=> '[' ']' )* )
-            // C:\\dev\\jbossrules\\trunk3\\drools-compiler\\src\\main\\resources\\org\\drools\\lang\\DRL.g:1365:3: id= identifier ( ( '[' ']' )=> '[' ']' )*
+            // C:\\dev\\jbossrules\\trunk3\\drools-compiler\\src\\main\\resources\\org\\drools\\lang\\DRL.g:1365:3: (id= identifier ( '[' ']' )* )
+            // C:\\dev\\jbossrules\\trunk3\\drools-compiler\\src\\main\\resources\\org\\drools\\lang\\DRL.g:1365:3: id= identifier ( '[' ']' )*
             {
-                pushFollow( FOLLOW_identifier_in_argument4099 );
-                id = identifier();
-                this._fsp--;
-                if ( this.failed ) {
-                    return name;
+            pushFollow(FOLLOW_identifier_in_argument4099);
+            id=identifier();
+            _fsp--;
+            if (failed) return name;
+            if ( backtracking==0 ) {
+               name=id.getText(); 
+            }
+            // C:\\dev\\jbossrules\\trunk3\\drools-compiler\\src\\main\\resources\\org\\drools\\lang\\DRL.g:1365:40: ( '[' ']' )*
+            loop54:
+            do {
+                int alt54=2;
+                int LA54_0 = input.LA(1);
+
+                if ( (LA54_0==LEFT_SQUARE) ) {
+                    alt54=1;
                 }
-                if ( this.backtracking == 0 ) {
-                    name = id.getText();
-                }
-                // C:\\dev\\jbossrules\\trunk3\\drools-compiler\\src\\main\\resources\\org\\drools\\lang\\DRL.g:1365:40: ( ( '[' ']' )=> '[' ']' )*
-                loop54 : do {
-                    int alt54 = 2;
-                    final int LA54_0 = this.input.LA( 1 );
-                    if ( (LA54_0 == LEFT_SQUARE) ) {
-                        alt54 = 1;
-                    }
 
-                    switch ( alt54 ) {
-                        case 1 :
-                            // C:\\dev\\jbossrules\\trunk3\\drools-compiler\\src\\main\\resources\\org\\drools\\lang\\DRL.g:1365:42: ( '[' ']' )=> '[' ']'
-                        {
-                            match( this.input,
-                                   LEFT_SQUARE,
-                                   FOLLOW_LEFT_SQUARE_in_argument4105 );
-                            if ( this.failed ) {
-                                return name;
-                            }
-                            match( this.input,
-                                   RIGHT_SQUARE,
-                                   FOLLOW_RIGHT_SQUARE_in_argument4107 );
-                            if ( this.failed ) {
-                                return name;
-                            }
-                            if ( this.backtracking == 0 ) {
-                                name = name + "[]";
-                            }
 
-                        }
-                            break;
+                switch (alt54) {
+            	case 1 :
+            	    // C:\\dev\\jbossrules\\trunk3\\drools-compiler\\src\\main\\resources\\org\\drools\\lang\\DRL.g:1365:42: '[' ']'
+            	    {
+            	    match(input,LEFT_SQUARE,FOLLOW_LEFT_SQUARE_in_argument4105); if (failed) return name;
+            	    match(input,RIGHT_SQUARE,FOLLOW_RIGHT_SQUARE_in_argument4107); if (failed) return name;
+            	    if ( backtracking==0 ) {
+            	       name = name + "[]";
+            	    }
 
-                        default :
-                            break loop54;
-                    }
-                } while ( true );
+            	    }
+            	    break;
 
+            	default :
+            	    break loop54;
+                }
+            } while (true);
+
+
             }
 
-        } catch ( final RecognitionException re ) {
-            reportError( re );
-            recover( this.input,
-                     re );
-        } finally {
         }
+        catch (RecognitionException re) {
+            reportError(re);
+            recover(input,re);
+        }
+        finally {
+        }
         return name;
     }
-
     // $ANTLR end argument
 
+
     // $ANTLR start rhs_chunk
-    // C:\\dev\\jbossrules\\trunk3\\drools-compiler\\src\\main\\resources\\org\\drools\\lang\\DRL.g:1368:1: rhs_chunk[RuleDescr rule] : start= THEN ( (~ END )=>~ END )* loc= END ;
-    public void rhs_chunk(final RuleDescr rule) throws RecognitionException {
-        Token start = null;
-        Token loc = null;
+    // C:\\dev\\jbossrules\\trunk3\\drools-compiler\\src\\main\\resources\\org\\drools\\lang\\DRL.g:1368:1: rhs_chunk[RuleDescr rule] : start= THEN (~ END )* loc= END ;
+    public final void rhs_chunk(RuleDescr rule) throws RecognitionException {
+        Token start=null;
+        Token loc=null;
 
-        StringBuffer buf = null;
-        Integer channel = null;
-
+        
+                   StringBuffer buf = null;
+                   Integer channel = null;
+                
         try {
-            // C:\\dev\\jbossrules\\trunk3\\drools-compiler\\src\\main\\resources\\org\\drools\\lang\\DRL.g:1374:10: (start= THEN ( (~ END )=>~ END )* loc= END )
-            // C:\\dev\\jbossrules\\trunk3\\drools-compiler\\src\\main\\resources\\org\\drools\\lang\\DRL.g:1374:10: start= THEN ( (~ END )=>~ END )* loc= END
+            // C:\\dev\\jbossrules\\trunk3\\drools-compiler\\src\\main\\resources\\org\\drools\\lang\\DRL.g:1374:10: (start= THEN (~ END )* loc= END )
+            // C:\\dev\\jbossrules\\trunk3\\drools-compiler\\src\\main\\resources\\org\\drools\\lang\\DRL.g:1374:10: start= THEN (~ END )* loc= END
             {
-                if ( this.backtracking == 0 ) {
+            if ( backtracking==0 ) {
+              
+              	            channel = ((SwitchingCommonTokenStream)input).getTokenTypeChannel( WS ); 
+              		    ((SwitchingCommonTokenStream)input).setTokenTypeChannel( WS, Token.DEFAULT_CHANNEL );
+              		    buf = new StringBuffer();
+              	        
+            }
+            start=(Token)input.LT(1);
+            match(input,THEN,FOLLOW_THEN_in_rhs_chunk4151); if (failed) return ;
+            // C:\\dev\\jbossrules\\trunk3\\drools-compiler\\src\\main\\resources\\org\\drools\\lang\\DRL.g:1380:3: (~ END )*
+            loop55:
+            do {
+                int alt55=2;
+                int LA55_0 = input.LA(1);
 
-                    channel = ((SwitchingCommonTokenStream) this.input).getTokenTypeChannel( WS );
-                    ((SwitchingCommonTokenStream) this.input).setTokenTypeChannel( WS,
-                                                                              Token.DEFAULT_CHANNEL );
-                    buf = new StringBuffer();
-
+                if ( ((LA55_0>=PACKAGE && LA55_0<=QUERY)||(LA55_0>=TEMPLATE && LA55_0<=78)) ) {
+                    alt55=1;
                 }
-                start = (Token) this.input.LT( 1 );
-                match( this.input,
-                       THEN,
-                       FOLLOW_THEN_in_rhs_chunk4151 );
-                if ( this.failed ) {
-                    return;
-                }
-                // C:\\dev\\jbossrules\\trunk3\\drools-compiler\\src\\main\\resources\\org\\drools\\lang\\DRL.g:1380:3: ( (~ END )=>~ END )*
-                loop55 : do {
-                    int alt55 = 2;
-                    final int LA55_0 = this.input.LA( 1 );
-                    if ( ((LA55_0 >= PACKAGE && LA55_0 <= QUERY) || (LA55_0 >= TEMPLATE && LA55_0 <= 78)) ) {
-                        alt55 = 1;
-                    }
 
-                    switch ( alt55 ) {
-                        case 1 :
-                            // C:\\dev\\jbossrules\\trunk3\\drools-compiler\\src\\main\\resources\\org\\drools\\lang\\DRL.g:1381:6: (~ END )=>~ END
-                        {
-                            if ( (this.input.LA( 1 ) >= PACKAGE && this.input.LA( 1 ) <= QUERY) || (this.input.LA( 1 ) >= TEMPLATE && this.input.LA( 1 ) <= 78) ) {
-                                this.input.consume();
-                                this.errorRecovery = false;
-                                this.failed = false;
-                            } else {
-                                if ( this.backtracking > 0 ) {
-                                    this.failed = true;
-                                    return;
-                                }
-                                final MismatchedSetException mse = new MismatchedSetException( null,
-                                                                                         this.input );
-                                recoverFromMismatchedSet( this.input,
-                                                          mse,
-                                                          FOLLOW_set_in_rhs_chunk4163 );
-                                throw mse;
-                            }
 
-                            if ( this.backtracking == 0 ) {
+                switch (alt55) {
+            	case 1 :
+            	    // C:\\dev\\jbossrules\\trunk3\\drools-compiler\\src\\main\\resources\\org\\drools\\lang\\DRL.g:1381:6: ~ END
+            	    {
+            	    if ( (input.LA(1)>=PACKAGE && input.LA(1)<=QUERY)||(input.LA(1)>=TEMPLATE && input.LA(1)<=78) ) {
+            	        input.consume();
+            	        errorRecovery=false;failed=false;
+            	    }
+            	    else {
+            	        if (backtracking>0) {failed=true; return ;}
+            	        MismatchedSetException mse =
+            	            new MismatchedSetException(null,input);
+            	        recoverFromMismatchedSet(input,mse,FOLLOW_set_in_rhs_chunk4163);    throw mse;
+            	    }
 
-                                buf.append( this.input.LT( -1 ).getText() );
+            	    if ( backtracking==0 ) {
+            	      
+            	      			    buf.append( input.LT(-1).getText() );
+            	      			  
+            	    }
 
-                            }
+            	    }
+            	    break;
 
-                        }
-                            break;
-
-                        default :
-                            break loop55;
-                    }
-                } while ( true );
-
-                if ( this.backtracking == 0 ) {
-
-                    if ( channel != null ) {
-                        ((SwitchingCommonTokenStream) this.input).setTokenTypeChannel( WS,
-                                                                                  channel.intValue() );
-                    } else {
-                        ((SwitchingCommonTokenStream) this.input).setTokenTypeChannel( WS,
-                                                                                  Token.HIDDEN_CHANNEL );
-                    }
-
+            	default :
+            	    break loop55;
                 }
-                loc = (Token) this.input.LT( 1 );
-                match( this.input,
-                       END,
-                       FOLLOW_END_in_rhs_chunk4200 );
-                if ( this.failed ) {
-                    return;
-                }
-                if ( this.backtracking == 0 ) {
+            } while (true);
 
-                    // ignoring first line in the consequence
-                    int index = 0;
-                    while ( (index < buf.length()) && Character.isWhitespace( buf.charAt( index ) ) && (buf.charAt( index ) != 10) && (buf.charAt( index ) != 13) ) {
-                        index++;
-                    }
-                    if ( (index < buf.length()) && (buf.charAt( index ) == '\r') ) {
-                        index++;
-                    }
-                    if ( (index < buf.length()) && (buf.charAt( index ) == '\n') ) {
-                        index++;
-                    }
+            if ( backtracking==0 ) {
+              
+              		    if( channel != null ) {
+              			    ((SwitchingCommonTokenStream)input).setTokenTypeChannel(WS, channel.intValue());
+              		    } else {
+              			    ((SwitchingCommonTokenStream)input).setTokenTypeChannel(WS, Token.HIDDEN_CHANNEL);
+              		    }
+              		
+            }
+            loc=(Token)input.LT(1);
+            match(input,END,FOLLOW_END_in_rhs_chunk4200); if (failed) return ;
+            if ( backtracking==0 ) {
+              
+                                  // ignoring first line in the consequence
+                                  int index = 0;
+                                  while( (index < buf.length() ) && Character.isWhitespace( buf.charAt( index ) ) &&
+                                         (buf.charAt( index ) != 10 ) && (buf.charAt( index ) != 13 ))
+                                             index++;
+                                  if( (index < buf.length() ) && ( buf.charAt( index ) == '\r' ) )
+                                      index++;
+                                  if( (index < buf.length() ) && ( buf.charAt( index ) == '\n' ) )
+                                      index++;
+                                  
+              		    rule.setConsequence( buf.substring( index ) );
+                   		    rule.setConsequenceLocation(offset(start.getLine()), start.getCharPositionInLine());
+               		    rule.setEndCharacter( ((CommonToken)loc).getStopIndex() );
+                              
+            }
 
-                    rule.setConsequence( buf.substring( index ) );
-                    rule.setConsequenceLocation( offset( start.getLine() ),
-                                                 start.getCharPositionInLine() );
-                    rule.setEndCharacter( ((CommonToken) loc).getStopIndex() );
-
-                }
-
             }
 
-        } catch ( final RecognitionException re ) {
-            reportError( re );
-            recover( this.input,
-                     re );
-        } finally {
         }
-        return;
+        catch (RecognitionException re) {
+            reportError(re);
+            recover(input,re);
+        }
+        finally {
+        }
+        return ;
     }
-
     // $ANTLR end rhs_chunk
 
+
     // $ANTLR start name
-    // C:\\dev\\jbossrules\\trunk3\\drools-compiler\\src\\main\\resources\\org\\drools\\lang\\DRL.g:1411:1: name returns [String s] : ( ( ID )=>tok= ID | str= STRING ) ;
-    public String name() throws RecognitionException {
+    // C:\\dev\\jbossrules\\trunk3\\drools-compiler\\src\\main\\resources\\org\\drools\\lang\\DRL.g:1411:1: name returns [String s] : (tok= ID | str= STRING ) ;
+    public final String name() throws RecognitionException {
         String s = null;
 
-        Token tok = null;
-        Token str = null;
+        Token tok=null;
+        Token str=null;
 
         try {
-            // C:\\dev\\jbossrules\\trunk3\\drools-compiler\\src\\main\\resources\\org\\drools\\lang\\DRL.g:1413:2: ( ( ( ID )=>tok= ID | str= STRING ) )
-            // C:\\dev\\jbossrules\\trunk3\\drools-compiler\\src\\main\\resources\\org\\drools\\lang\\DRL.g:1413:2: ( ( ID )=>tok= ID | str= STRING )
+            // C:\\dev\\jbossrules\\trunk3\\drools-compiler\\src\\main\\resources\\org\\drools\\lang\\DRL.g:1413:2: ( (tok= ID | str= STRING ) )
+            // C:\\dev\\jbossrules\\trunk3\\drools-compiler\\src\\main\\resources\\org\\drools\\lang\\DRL.g:1413:2: (tok= ID | str= STRING )
             {
-                // C:\\dev\\jbossrules\\trunk3\\drools-compiler\\src\\main\\resources\\org\\drools\\lang\\DRL.g:1413:2: ( ( ID )=>tok= ID | str= STRING )
-                int alt56 = 2;
-                final int LA56_0 = this.input.LA( 1 );
-                if ( (LA56_0 == ID) ) {
-                    alt56 = 1;
-                } else if ( (LA56_0 == STRING) ) {
-                    alt56 = 2;
-                } else {
-                    if ( this.backtracking > 0 ) {
-                        this.failed = true;
-                        return s;
-                    }
-                    final NoViableAltException nvae = new NoViableAltException( "1413:2: ( ( ID )=>tok= ID | str= STRING )",
-                                                                          56,
-                                                                          0,
-                                                                          this.input );
+            // C:\\dev\\jbossrules\\trunk3\\drools-compiler\\src\\main\\resources\\org\\drools\\lang\\DRL.g:1413:2: (tok= ID | str= STRING )
+            int alt56=2;
+            int LA56_0 = input.LA(1);
 
-                    throw nvae;
-                }
-                switch ( alt56 ) {
-                    case 1 :
-                        // C:\\dev\\jbossrules\\trunk3\\drools-compiler\\src\\main\\resources\\org\\drools\\lang\\DRL.g:1414:6: ( ID )=>tok= ID
+            if ( (LA56_0==ID) ) {
+                alt56=1;
+            }
+            else if ( (LA56_0==STRING) ) {
+                alt56=2;
+            }
+            else {
+                if (backtracking>0) {failed=true; return s;}
+                NoViableAltException nvae =
+                    new NoViableAltException("1413:2: (tok= ID | str= STRING )", 56, 0, input);
+
+                throw nvae;
+            }
+            switch (alt56) {
+                case 1 :
+                    // C:\\dev\\jbossrules\\trunk3\\drools-compiler\\src\\main\\resources\\org\\drools\\lang\\DRL.g:1414:6: tok= ID
                     {
-                        tok = (Token) this.input.LT( 1 );
-                        match( this.input,
-                               ID,
-                               FOLLOW_ID_in_name4244 );
-                        if ( this.failed ) {
-                            return s;
-                        }
-                        if ( this.backtracking == 0 ) {
+                    tok=(Token)input.LT(1);
+                    match(input,ID,FOLLOW_ID_in_name4244); if (failed) return s;
+                    if ( backtracking==0 ) {
+                      
+                      	        s = tok.getText();
+                      	    
+                    }
 
-                            s = tok.getText();
-
-                        }
-
                     }
-                        break;
-                    case 2 :
-                        // C:\\dev\\jbossrules\\trunk3\\drools-compiler\\src\\main\\resources\\org\\drools\\lang\\DRL.g:1419:6: str= STRING
+                    break;
+                case 2 :
+                    // C:\\dev\\jbossrules\\trunk3\\drools-compiler\\src\\main\\resources\\org\\drools\\lang\\DRL.g:1419:6: str= STRING
                     {
-                        str = (Token) this.input.LT( 1 );
-                        match( this.input,
-                               STRING,
-                               FOLLOW_STRING_in_name4263 );
-                        if ( this.failed ) {
-                            return s;
-                        }
-                        if ( this.backtracking == 0 ) {
+                    str=(Token)input.LT(1);
+                    match(input,STRING,FOLLOW_STRING_in_name4263); if (failed) return s;
+                    if ( backtracking==0 ) {
+                      
+                      	       s = getString( str );
+                      	    
+                    }
 
-                            s = getString( str );
-
-                        }
-
                     }
-                        break;
+                    break;
 
-                }
+            }
 
+
             }
 
-        } catch ( final RecognitionException re ) {
-            reportError( re );
-            recover( this.input,
-                     re );
-        } finally {
         }
+        catch (RecognitionException re) {
+            reportError(re);
+            recover(input,re);
+        }
+        finally {
+        }
         return s;
     }
-
     // $ANTLR end name
 
+
     // $ANTLR start identifier
-    // C:\\dev\\jbossrules\\trunk3\\drools-compiler\\src\\main\\resources\\org\\drools\\lang\\DRL.g:1426:1: identifier returns [Token tok] : ( ( ID )=>t= ID | ( PACKAGE )=>t= PACKAGE | ( FUNCTION )=>t= FUNCTION | ( GLOBAL )=>t= GLOBAL | ( IMPORT )=>t= IMPORT | ( RULE )=>t= RULE | ( QUERY )=>t= QUERY | ( TEMPLATE )=>t= TEMPLATE | ( ATTRIBUTES )=>t= ATTRIBUTES | ( ENABLED )=>t= ENABLED | ( SALIENCE )=>t= SALIENCE | ( DURATION )=>t= DURATION | ( FROM )=>t= FROM | ( ACCUMULATE )=>t= ACCUMULATE | ( INIT )=>t= INIT | ( ACTION )=>t= ACTION | ( RESULT )=>t= RESULT | ( COLLECT )=>t= COLLECT | ( OR )=>t= OR | ( AND )=>t= AND | ( CONTAINS )=>t= CONTAINS | ( EXCLUDES )=>t= EXCLUDES | ( MATCHES )=>t= MATCHES | ( NULL )=>t= NULL | ( EXISTS )=>t= EXISTS | ( NOT )=>t= NOT | ( EVAL )=>t= EVAL | ( FORALL )=>t= FORALL | ( WHEN )=>t= WHEN | ( THEN )=>t= THEN | t= END ) ;
-    public Token identifier() throws RecognitionException {
+    // C:\\dev\\jbossrules\\trunk3\\drools-compiler\\src\\main\\resources\\org\\drools\\lang\\DRL.g:1426:1: identifier returns [Token tok] : (t= ID | t= PACKAGE | t= FUNCTION | t= GLOBAL | t= IMPORT | t= RULE | t= QUERY | t= TEMPLATE | t= ATTRIBUTES | t= ENABLED | t= SALIENCE | t= DURATION | t= FROM | t= ACCUMULATE | t= INIT | t= ACTION | t= RESULT | t= COLLECT | t= OR | t= AND | t= CONTAINS | t= EXCLUDES | t= MATCHES | t= NULL | t= EXISTS | t= NOT | t= EVAL | t= FORALL | t= WHEN | t= THEN | t= END ) ;
+    public final Token identifier() throws RecognitionException {
         Token tok = null;
 
-        Token t = null;
+        Token t=null;
 
         try {
-            // C:\\dev\\jbossrules\\trunk3\\drools-compiler\\src\\main\\resources\\org\\drools\\lang\\DRL.g:1428:2: ( ( ( ID )=>t= ID | ( PACKAGE )=>t= PACKAGE | ( FUNCTION )=>t= FUNCTION | ( GLOBAL )=>t= GLOBAL | ( IMPORT )=>t= IMPORT | ( RULE )=>t= RULE | ( QUERY )=>t= QUERY | ( TEMPLATE )=>t= TEMPLATE | ( ATTRIBUTES )=>t= ATTRIBUTES | ( ENABLED )=>t= ENABLED | ( SALIENCE )=>t= SALIENCE | ( DURATION )=>t= DURATION | ( FROM )=>t= FROM | ( ACCUMULATE )=>t= ACCUMULATE | ( INIT )=>t= INIT | ( ACTION )=>t= ACTION | ( RESULT )=>t= RESULT | ( COLLECT )=>t= COLLECT | ( OR )=>t= OR | ( AND )=>t= AND | ( CONTAINS )=>t= CONTAINS | ( EXCLUDES )=>t= EXCLUDES | ( MATCHES )=>t= MATCHES | ( NULL )=>t= NULL | ( EXISTS )=>t= EXISTS | ( NOT )=>t= NOT | ( EVAL )=>t= EVAL | ( FORALL )=>t= FORALL | ( WHEN )=>t= WHEN | ( THEN )=>t= THEN | t= END ) )
-            // C:\\dev\\jbossrules\\trunk3\\drools-compiler\\src\\main\\resources\\org\\drools\\lang\\DRL.g:1428:2: ( ( ID )=>t= ID | ( PACKAGE )=>t= PACKAGE | ( FUNCTION )=>t= FUNCTION | ( GLOBAL )=>t= GLOBAL | ( IMPORT )=>t= IMPORT | ( RULE )=>t= RULE | ( QUERY )=>t= QUERY | ( TEMPLATE )=>t= TEMPLATE | ( ATTRIBUTES )=>t= ATTRIBUTES | ( ENABLED )=>t= ENABLED | ( SALIENCE )=>t= SALIENCE | ( DURATION )=>t= DURATION | ( FROM )=>t= FROM | ( ACCUMULATE )=>t= ACCUMULATE | ( INIT )=>t= INIT | ( ACTION )=>t= ACTION | ( RESULT )=>t= RESULT | ( COLLECT )=>t= COLLECT | ( OR )=>t= OR | ( AND )=>t= AND | ( CONTAINS )=>t= CONTAINS | ( EXCLUDES )=>t= EXCLUDES | ( MATCHES )=>t= MATCHES | ( NULL )=>t= NULL | ( EXISTS )=>t= EXISTS | ( NOT )=>t= NOT | ( EVAL )=>t= EVAL | ( FORALL )=>t= FORALL | ( WHEN )=>t= WHEN | ( THEN )=>t= THEN | t= END )
+            // C:\\dev\\jbossrules\\trunk3\\drools-compiler\\src\\main\\resources\\org\\drools\\lang\\DRL.g:1428:2: ( (t= ID | t= PACKAGE | t= FUNCTION | t= GLOBAL | t= IMPORT | t= RULE | t= QUERY | t= TEMPLATE | t= ATTRIBUTES | t= ENABLED | t= SALIENCE | t= DURATION | t= FROM | t= ACCUMULATE | t= INIT | t= ACTION | t= RESULT | t= COLLECT | t= OR | t= AND | t= CONTAINS | t= EXCLUDES | t= MATCHES | t= NULL | t= EXISTS | t= NOT | t= EVAL | t= FORALL | t= WHEN | t= THEN | t= END ) )
+            // C:\\dev\\jbossrules\\trunk3\\drools-compiler\\src\\main\\resources\\org\\drools\\lang\\DRL.g:1428:2: (t= ID | t= PACKAGE | t= FUNCTION | t= GLOBAL | t= IMPORT | t= RULE | t= QUERY | t= TEMPLATE | t= ATTRIBUTES | t= ENABLED | t= SALIENCE | t= DURATION | t= FROM | t= ACCUMULATE | t= INIT | t= ACTION | t= RESULT | t= COLLECT | t= OR | t= AND | t= CONTAINS | t= EXCLUDES | t= MATCHES | t= NULL | t= EXISTS | t= NOT | t= EVAL | t= FORALL | t= WHEN | t= THEN | t= END )
             {
-                // C:\\dev\\jbossrules\\trunk3\\drools-compiler\\src\\main\\resources\\org\\drools\\lang\\DRL.g:1428:2: ( ( ID )=>t= ID | ( PACKAGE )=>t= PACKAGE | ( FUNCTION )=>t= FUNCTION | ( GLOBAL )=>t= GLOBAL | ( IMPORT )=>t= IMPORT | ( RULE )=>t= RULE | ( QUERY )=>t= QUERY | ( TEMPLATE )=>t= TEMPLATE | ( ATTRIBUTES )=>t= ATTRIBUTES | ( ENABLED )=>t= ENABLED | ( SALIENCE )=>t= SALIENCE | ( DURATION )=>t= DURATION | ( FROM )=>t= FROM | ( ACCUMULATE )=>t= ACCUMULATE | ( INIT )=>t= INIT | ( ACTION )=>t= ACTION | ( RESULT )=>t= RESULT | ( COLLECT )=>t= COLLECT | ( OR )=>t= OR | ( AND )=>t= AND | ( CONTAINS )=>t= CONTAINS | ( EXCLUDES )=>t= EXCLUDES | ( MATCHES )=>t= MATCHES | ( NULL )=>t= NULL | ( EXISTS )=>t= EXISTS | ( NOT )=>t= NOT | ( EVAL )=>t= EVAL | ( FORALL )=>t= FORALL | ( WHEN )=>t= WHEN | ( THEN )=>t= THEN | t= END )
-                int alt57 = 31;
-                switch ( this.input.LA( 1 ) ) {
-                    case ID :
-                        alt57 = 1;
-                        break;
-                    case PACKAGE :
-                        alt57 = 2;
-                        break;
-                    case FUNCTION :
-                        alt57 = 3;
-                        break;
-                    case GLOBAL :
-                        alt57 = 4;
-                        break;
-                    case IMPORT :
-                        alt57 = 5;
-                        break;
-                    case RULE :
-                        alt57 = 6;
-                        break;
-                    case QUERY :
-                        alt57 = 7;
-                        break;
-                    case TEMPLATE :
-                        alt57 = 8;
-                        break;
-                    case ATTRIBUTES :
-                        alt57 = 9;
-                        break;
-                    case ENABLED :
-                        alt57 = 10;
-                        break;
-                    case SALIENCE :
-                        alt57 = 11;
-                        break;
-                    case DURATION :
-                        alt57 = 12;
-                        break;
-                    case FROM :
-                        alt57 = 13;
-                        break;
-                    case ACCUMULATE :
-                        alt57 = 14;
-                        break;
-                    case INIT :
-                        alt57 = 15;
-                        break;
-                    case ACTION :
-                        alt57 = 16;
-                        break;
-                    case RESULT :
-                        alt57 = 17;
-                        break;
-                    case COLLECT :
-                        alt57 = 18;
-                        break;
-                    case OR :
-                        alt57 = 19;
-                        break;
-                    case AND :
-                        alt57 = 20;
-                        break;
-                    case CONTAINS :
-                        alt57 = 21;
-                        break;
-                    case EXCLUDES :
-                        alt57 = 22;
-                        break;
-                    case MATCHES :
-                        alt57 = 23;
-                        break;
-                    case NULL :
-                        alt57 = 24;
-                        break;
-                    case EXISTS :
-                        alt57 = 25;
-                        break;
-                    case NOT :
-                        alt57 = 26;
-                        break;
-                    case EVAL :
-                        alt57 = 27;
-                        break;
-                    case FORALL :
-                        alt57 = 28;
-                        break;
-                    case WHEN :
-                        alt57 = 29;
-                        break;
-                    case THEN :
-                        alt57 = 30;
-                        break;
-                    case END :
-                        alt57 = 31;
-                        break;
-                    default :
-                        if ( this.backtracking > 0 ) {
-                            this.failed = true;
-                            return tok;
-                        }
-                        final NoViableAltException nvae = new NoViableAltException( "1428:2: ( ( ID )=>t= ID | ( PACKAGE )=>t= PACKAGE | ( FUNCTION )=>t= FUNCTION | ( GLOBAL )=>t= GLOBAL | ( IMPORT )=>t= IMPORT | ( RULE )=>t= RULE | ( QUERY )=>t= QUERY | ( TEMPLATE )=>t= TEMPLATE | ( ATTRIBUTES )=>t= ATTRIBUTES | ( ENABLED )=>t= ENABLED | ( SALIENCE )=>t= SALIENCE | ( DURATION )=>t= DURATION | ( FROM )=>t= FROM | ( ACCUMULATE )=>t= ACCUMULATE | ( INIT )=>t= INIT | ( ACTION )=>t= ACTION | ( RESULT )=>t= RESULT | ( COLLECT )=>t= COLLECT | ( OR )=>t= OR | ( AND )=>t= AND | ( CONTAINS )=>t= CONTAINS | ( EXCLUDES )=>t= EXCLUDES | ( MATCHES )=>t= MATCHES | ( NULL )=>t= NULL | ( EXISTS )=>t= EXISTS | ( NOT )=>t= NOT | ( EVAL )=>t= EVAL | ( FORALL )=>t= FORALL | ( WHEN )=>t= WHEN | ( THEN )=>t= THEN | t= END )",
-                                                                              57,
-                                                                              0,
-                                                                              this.input );
-
-                        throw nvae;
+            // C:\\dev\\jbossrules\\trunk3\\drools-compiler\\src\\main\\resources\\org\\drools\\lang\\DRL.g:1428:2: (t= ID | t= PACKAGE | t= FUNCTION | t= GLOBAL | t= IMPORT | t= RULE | t= QUERY | t= TEMPLATE | t= ATTRIBUTES | t= ENABLED | t= SALIENCE | t= DURATION | t= FROM | t= ACCUMULATE | t= INIT | t= ACTION | t= RESULT | t= COLLECT | t= OR | t= AND | t= CONTAINS | t= EXCLUDES | t= MATCHES | t= NULL | t= EXISTS | t= NOT | t= EVAL | t= FORALL | t= WHEN | t= THEN | t= END )
+            int alt57=31;
+            switch ( input.LA(1) ) {
+            case ID:
+                {
+                alt57=1;
                 }
+                break;
+            case PACKAGE:
+                {
+                alt57=2;
+                }
+                break;
+            case FUNCTION:
+                {
+                alt57=3;
+                }
+                break;
+            case GLOBAL:
+                {
+                alt57=4;
+                }
+                break;
+            case IMPORT:
+                {
+                alt57=5;
+                }
+                break;
+            case RULE:
+                {
+                alt57=6;
+                }
+                break;
+            case QUERY:
+                {
+                alt57=7;
+                }
+                break;
+            case TEMPLATE:
+                {
+                alt57=8;
+                }
+                break;
+            case ATTRIBUTES:
+                {
+                alt57=9;
+                }
+                break;
+            case ENABLED:
+                {
+                alt57=10;
+                }
+                break;
+            case SALIENCE:
+                {
+                alt57=11;
+                }
+                break;
+            case DURATION:
+                {
+                alt57=12;
+                }
+                break;
+            case FROM:
+                {
+                alt57=13;
+                }
+                break;
+            case ACCUMULATE:
+                {
+                alt57=14;
+                }
+                break;
+            case INIT:
+                {
+                alt57=15;
+                }
+                break;
+            case ACTION:
+                {
+                alt57=16;
+                }
+                break;
+            case RESULT:
+                {
+                alt57=17;
+                }
+                break;
+            case COLLECT:
+                {
+                alt57=18;
+                }
+                break;
+            case OR:
+                {
+                alt57=19;
+                }
+                break;
+            case AND:
+                {
+                alt57=20;
+                }
+                break;
+            case CONTAINS:
+                {
+                alt57=21;
+                }
+                break;
+            case EXCLUDES:
+                {
+                alt57=22;
+                }
+                break;
+            case MATCHES:
+                {
+                alt57=23;
+                }
+                break;
+            case NULL:
+                {
+                alt57=24;
+                }
+                break;
+            case EXISTS:
+                {
+                alt57=25;
+                }
+                break;
+            case NOT:
+                {
+                alt57=26;
+                }
+                break;
+            case EVAL:
+                {
+                alt57=27;
+                }
+                break;
+            case FORALL:
+                {
+                alt57=28;
+                }
+                break;
+            case WHEN:
+                {
+                alt57=29;
+                }
+                break;
+            case THEN:
+                {
+                alt57=30;
+                }
+                break;
+            case END:
+                {
+                alt57=31;
+                }
+                break;
+            default:
+                if (backtracking>0) {failed=true; return tok;}
+                NoViableAltException nvae =
+                    new NoViableAltException("1428:2: (t= ID | t= PACKAGE | t= FUNCTION | t= GLOBAL | t= IMPORT | t= RULE | t= QUERY | t= TEMPLATE | t= ATTRIBUTES | t= ENABLED | t= SALIENCE | t= DURATION | t= FROM | t= ACCUMULATE | t= INIT | t= ACTION | t= RESULT | t= COLLECT | t= OR | t= AND | t= CONTAINS | t= EXCLUDES | t= MATCHES | t= NULL | t= EXISTS | t= NOT | t= EVAL | t= FORALL | t= WHEN | t= THEN | t= END )", 57, 0, input);
 
-                switch ( alt57 ) {
-                    case 1 :
-                        // C:\\dev\\jbossrules\\trunk3\\drools-compiler\\src\\main\\resources\\org\\drools\\lang\\DRL.g:1428:10: ( ID )=>t= ID
+                throw nvae;
+            }
+
+            switch (alt57) {
+                case 1 :
+                    // C:\\dev\\jbossrules\\trunk3\\drools-compiler\\src\\main\\resources\\org\\drools\\lang\\DRL.g:1428:10: t= ID
                     {
-                        t = (Token) this.input.LT( 1 );
-                        match( this.input,
-                               ID,
-                               FOLLOW_ID_in_identifier4301 );
-                        if ( this.failed ) {
-                            return tok;
-                        }
+                    t=(Token)input.LT(1);
+                    match(input,ID,FOLLOW_ID_in_identifier4301); if (failed) return tok;
 
                     }
-                        break;
-                    case 2 :
-                        // C:\\dev\\jbossrules\\trunk3\\drools-compiler\\src\\main\\resources\\org\\drools\\lang\\DRL.g:1429:4: ( PACKAGE )=>t= PACKAGE
+                    break;
+                case 2 :
+                    // C:\\dev\\jbossrules\\trunk3\\drools-compiler\\src\\main\\resources\\org\\drools\\lang\\DRL.g:1429:4: t= PACKAGE
                     {
-                        t = (Token) this.input.LT( 1 );
-                        match( this.input,
-                               PACKAGE,
-                               FOLLOW_PACKAGE_in_identifier4314 );
-                        if ( this.failed ) {
-                            return tok;
-                        }
+                    t=(Token)input.LT(1);
+                    match(input,PACKAGE,FOLLOW_PACKAGE_in_identifier4314); if (failed) return tok;
 
                     }
-                        break;
-                    case 3 :
-                        // C:\\dev\\jbossrules\\trunk3\\drools-compiler\\src\\main\\resources\\org\\drools\\lang\\DRL.g:1430:4: ( FUNCTION )=>t= FUNCTION
+                    break;
+                case 3 :
+                    // C:\\dev\\jbossrules\\trunk3\\drools-compiler\\src\\main\\resources\\org\\drools\\lang\\DRL.g:1430:4: t= FUNCTION
                     {
-                        t = (Token) this.input.LT( 1 );
-                        match( this.input,
-                               FUNCTION,
-                               FOLLOW_FUNCTION_in_identifier4321 );
-                        if ( this.failed ) {
-                            return tok;
-                        }
+                    t=(Token)input.LT(1);
+                    match(input,FUNCTION,FOLLOW_FUNCTION_in_identifier4321); if (failed) return tok;
 
                     }
-                        break;
-                    case 4 :
-                        // C:\\dev\\jbossrules\\trunk3\\drools-compiler\\src\\main\\resources\\org\\drools\\lang\\DRL.g:1431:4: ( GLOBAL )=>t= GLOBAL
+                    break;
+                case 4 :
+                    // C:\\dev\\jbossrules\\trunk3\\drools-compiler\\src\\main\\resources\\org\\drools\\lang\\DRL.g:1431:4: t= GLOBAL
                     {
-                        t = (Token) this.input.LT( 1 );
-                        match( this.input,
-                               GLOBAL,
-                               FOLLOW_GLOBAL_in_identifier4328 );
-                        if ( this.failed ) {
-                            return tok;
-                        }
+                    t=(Token)input.LT(1);
+                    match(input,GLOBAL,FOLLOW_GLOBAL_in_identifier4328); if (failed) return tok;
 
                     }
-                        break;
-                    case 5 :
-                        // C:\\dev\\jbossrules\\trunk3\\drools-compiler\\src\\main\\resources\\org\\drools\\lang\\DRL.g:1432:4: ( IMPORT )=>t= IMPORT
+                    break;
+                case 5 :
+                    // C:\\dev\\jbossrules\\trunk3\\drools-compiler\\src\\main\\resources\\org\\drools\\lang\\DRL.g:1432:4: t= IMPORT
                     {
-                        t = (Token) this.input.LT( 1 );
-                        match( this.input,
-                               IMPORT,
-                               FOLLOW_IMPORT_in_identifier4335 );
-                        if ( this.failed ) {
-                            return tok;
-                        }
+                    t=(Token)input.LT(1);
+                    match(input,IMPORT,FOLLOW_IMPORT_in_identifier4335); if (failed) return tok;
 
                     }
-                        break;
-                    case 6 :
-                        // C:\\dev\\jbossrules\\trunk3\\drools-compiler\\src\\main\\resources\\org\\drools\\lang\\DRL.g:1433:4: ( RULE )=>t= RULE
+                    break;
+                case 6 :
+                    // C:\\dev\\jbossrules\\trunk3\\drools-compiler\\src\\main\\resources\\org\\drools\\lang\\DRL.g:1433:4: t= RULE
                     {
-                        t = (Token) this.input.LT( 1 );
-                        match( this.input,
-                               RULE,
-                               FOLLOW_RULE_in_identifier4344 );
-                        if ( this.failed ) {
-                            return tok;
-                        }
+                    t=(Token)input.LT(1);
+                    match(input,RULE,FOLLOW_RULE_in_identifier4344); if (failed) return tok;
 
                     }
-                        break;
-                    case 7 :
-                        // C:\\dev\\jbossrules\\trunk3\\drools-compiler\\src\\main\\resources\\org\\drools\\lang\\DRL.g:1434:4: ( QUERY )=>t= QUERY
+                    break;
+                case 7 :
+                    // C:\\dev\\jbossrules\\trunk3\\drools-compiler\\src\\main\\resources\\org\\drools\\lang\\DRL.g:1434:4: t= QUERY
                     {
-                        t = (Token) this.input.LT( 1 );
-                        match( this.input,
-                               QUERY,
-                               FOLLOW_QUERY_in_identifier4351 );
-                        if ( this.failed ) {
-                            return tok;
-                        }
+                    t=(Token)input.LT(1);
+                    match(input,QUERY,FOLLOW_QUERY_in_identifier4351); if (failed) return tok;
 
                     }
-                        break;
-                    case 8 :
-                        // C:\\dev\\jbossrules\\trunk3\\drools-compiler\\src\\main\\resources\\org\\drools\\lang\\DRL.g:1435:17: ( TEMPLATE )=>t= TEMPLATE
+                    break;
+                case 8 :
+                    // C:\\dev\\jbossrules\\trunk3\\drools-compiler\\src\\main\\resources\\org\\drools\\lang\\DRL.g:1435:17: t= TEMPLATE
                     {
-                        t = (Token) this.input.LT( 1 );
-                        match( this.input,
-                               TEMPLATE,
-                               FOLLOW_TEMPLATE_in_identifier4372 );
-                        if ( this.failed ) {
-                            return tok;
-                        }
+                    t=(Token)input.LT(1);
+                    match(input,TEMPLATE,FOLLOW_TEMPLATE_in_identifier4372); if (failed) return tok;
 
                     }
-                        break;
-                    case 9 :
-                        // C:\\dev\\jbossrules\\trunk3\\drools-compiler\\src\\main\\resources\\org\\drools\\lang\\DRL.g:1436:17: ( ATTRIBUTES )=>t= ATTRIBUTES
+                    break;
+                case 9 :
+                    // C:\\dev\\jbossrules\\trunk3\\drools-compiler\\src\\main\\resources\\org\\drools\\lang\\DRL.g:1436:17: t= ATTRIBUTES
                     {
-                        t = (Token) this.input.LT( 1 );
-                        match( this.input,
-                               ATTRIBUTES,
-                               FOLLOW_ATTRIBUTES_in_identifier4400 );
-                        if ( this.failed ) {
-                            return tok;
-                        }
+                    t=(Token)input.LT(1);
+                    match(input,ATTRIBUTES,FOLLOW_ATTRIBUTES_in_identifier4400); if (failed) return tok;
 
                     }
-                        break;
-                    case 10 :
-                        // C:\\dev\\jbossrules\\trunk3\\drools-compiler\\src\\main\\resources\\org\\drools\\lang\\DRL.g:1437:17: ( ENABLED )=>t= ENABLED
+                    break;
+                case 10 :
+                    // C:\\dev\\jbossrules\\trunk3\\drools-compiler\\src\\main\\resources\\org\\drools\\lang\\DRL.g:1437:17: t= ENABLED
                     {
-                        t = (Token) this.input.LT( 1 );
-                        match( this.input,
-                               ENABLED,
-                               FOLLOW_ENABLED_in_identifier4426 );
-                        if ( this.failed ) {
-                            return tok;
-                        }
+                    t=(Token)input.LT(1);
+                    match(input,ENABLED,FOLLOW_ENABLED_in_identifier4426); if (failed) return tok;
 
                     }
-                        break;
-                    case 11 :
-                        // C:\\dev\\jbossrules\\trunk3\\drools-compiler\\src\\main\\resources\\org\\drools\\lang\\DRL.g:1438:17: ( SALIENCE )=>t= SALIENCE
+                    break;
+                case 11 :
+                    // C:\\dev\\jbossrules\\trunk3\\drools-compiler\\src\\main\\resources\\org\\drools\\lang\\DRL.g:1438:17: t= SALIENCE
                     {
-                        t = (Token) this.input.LT( 1 );
-                        match( this.input,
-                               SALIENCE,
-                               FOLLOW_SALIENCE_in_identifier4455 );
-                        if ( this.failed ) {
-                            return tok;
-                        }
+                    t=(Token)input.LT(1);
+                    match(input,SALIENCE,FOLLOW_SALIENCE_in_identifier4455); if (failed) return tok;
 
                     }
-                        break;
-                    case 12 :
-                        // C:\\dev\\jbossrules\\trunk3\\drools-compiler\\src\\main\\resources\\org\\drools\\lang\\DRL.g:1439:17: ( DURATION )=>t= DURATION
+                    break;
+                case 12 :
+                    // C:\\dev\\jbossrules\\trunk3\\drools-compiler\\src\\main\\resources\\org\\drools\\lang\\DRL.g:1439:17: t= DURATION
                     {
-                        t = (Token) this.input.LT( 1 );
-                        match( this.input,
-                               DURATION,
-                               FOLLOW_DURATION_in_identifier4477 );
-                        if ( this.failed ) {
-                            return tok;
-                        }
+                    t=(Token)input.LT(1);
+                    match(input,DURATION,FOLLOW_DURATION_in_identifier4477); if (failed) return tok;
 
                     }
-                        break;
-                    case 13 :
-                        // C:\\dev\\jbossrules\\trunk3\\drools-compiler\\src\\main\\resources\\org\\drools\\lang\\DRL.g:1440:17: ( FROM )=>t= FROM
+                    break;
+                case 13 :
+                    // C:\\dev\\jbossrules\\trunk3\\drools-compiler\\src\\main\\resources\\org\\drools\\lang\\DRL.g:1440:17: t= FROM
                     {
-                        t = (Token) this.input.LT( 1 );
-                        match( this.input,
-                               FROM,
-                               FOLLOW_FROM_in_identifier4499 );
-                        if ( this.failed ) {
-                            return tok;
-                        }
+                    t=(Token)input.LT(1);
+                    match(input,FROM,FOLLOW_FROM_in_identifier4499); if (failed) return tok;
 
                     }
-                        break;
-                    case 14 :
-                        // C:\\dev\\jbossrules\\trunk3\\drools-compiler\\src\\main\\resources\\org\\drools\\lang\\DRL.g:1441:17: ( ACCUMULATE )=>t= ACCUMULATE
+                    break;
+                case 14 :
+                    // C:\\dev\\jbossrules\\trunk3\\drools-compiler\\src\\main\\resources\\org\\drools\\lang\\DRL.g:1441:17: t= ACCUMULATE
                     {
-                        t = (Token) this.input.LT( 1 );
-                        match( this.input,
-                               ACCUMULATE,
-                               FOLLOW_ACCUMULATE_in_identifier4528 );
-                        if ( this.failed ) {
-                            return tok;
-                        }
+                    t=(Token)input.LT(1);
+                    match(input,ACCUMULATE,FOLLOW_ACCUMULATE_in_identifier4528); if (failed) return tok;
 
                     }
-                        break;
-                    case 15 :
-                        // C:\\dev\\jbossrules\\trunk3\\drools-compiler\\src\\main\\resources\\org\\drools\\lang\\DRL.g:1442:17: ( INIT )=>t= INIT
+                    break;
+                case 15 :
+                    // C:\\dev\\jbossrules\\trunk3\\drools-compiler\\src\\main\\resources\\org\\drools\\lang\\DRL.g:1442:17: t= INIT
                     {
-                        t = (Token) this.input.LT( 1 );
-                        match( this.input,
-                               INIT,
-                               FOLLOW_INIT_in_identifier4550 );
-                        if ( this.failed ) {
-                            return tok;
-                        }
+                    t=(Token)input.LT(1);
+                    match(input,INIT,FOLLOW_INIT_in_identifier4550); if (failed) return tok;
 
                     }
-                        break;
-                    case 16 :
-                        // C:\\dev\\jbossrules\\trunk3\\drools-compiler\\src\\main\\resources\\org\\drools\\lang\\DRL.g:1443:17: ( ACTION )=>t= ACTION
+                    break;
+                case 16 :
+                    // C:\\dev\\jbossrules\\trunk3\\drools-compiler\\src\\main\\resources\\org\\drools\\lang\\DRL.g:1443:17: t= ACTION
                     {
-                        t = (Token) this.input.LT( 1 );
-                        match( this.input,
-                               ACTION,
-                               FOLLOW_ACTION_in_identifier4579 );
-                        if ( this.failed ) {
-                            return tok;
-                        }
+                    t=(Token)input.LT(1);
+                    match(input,ACTION,FOLLOW_ACTION_in_identifier4579); if (failed) return tok;
 
                     }
-                        break;
-                    case 17 :
-                        // C:\\dev\\jbossrules\\trunk3\\drools-compiler\\src\\main\\resources\\org\\drools\\lang\\DRL.g:1444:17: ( RESULT )=>t= RESULT
+                    break;
+                case 17 :
+                    // C:\\dev\\jbossrules\\trunk3\\drools-compiler\\src\\main\\resources\\org\\drools\\lang\\DRL.g:1444:17: t= RESULT
                     {
-                        t = (Token) this.input.LT( 1 );
-                        match( this.input,
-                               RESULT,
-                               FOLLOW_RESULT_in_identifier4608 );
-                        if ( this.failed ) {
-                            return tok;
-                        }
+                    t=(Token)input.LT(1);
+                    match(input,RESULT,FOLLOW_RESULT_in_identifier4608); if (failed) return tok;
 
                     }
-                        break;
-                    case 18 :
-                        // C:\\dev\\jbossrules\\trunk3\\drools-compiler\\src\\main\\resources\\org\\drools\\lang\\DRL.g:1445:17: ( COLLECT )=>t= COLLECT
+                    break;
+                case 18 :
+                    // C:\\dev\\jbossrules\\trunk3\\drools-compiler\\src\\main\\resources\\org\\drools\\lang\\DRL.g:1445:17: t= COLLECT
                     {
-                        t = (Token) this.input.LT( 1 );
-                        match( this.input,
-                               COLLECT,
-                               FOLLOW_COLLECT_in_identifier4637 );
-                        if ( this.failed ) {
-                            return tok;
-                        }
+                    t=(Token)input.LT(1);
+                    match(input,COLLECT,FOLLOW_COLLECT_in_identifier4637); if (failed) return tok;
 
                     }
-                        break;
-                    case 19 :
-                        // C:\\dev\\jbossrules\\trunk3\\drools-compiler\\src\\main\\resources\\org\\drools\\lang\\DRL.g:1446:17: ( OR )=>t= OR
+                    break;
+                case 19 :
+                    // C:\\dev\\jbossrules\\trunk3\\drools-compiler\\src\\main\\resources\\org\\drools\\lang\\DRL.g:1446:17: t= OR
                     {
-                        t = (Token) this.input.LT( 1 );
-                        match( this.input,
-                               OR,
-                               FOLLOW_OR_in_identifier4666 );
-                        if ( this.failed ) {
-                            return tok;
-                        }
+                    t=(Token)input.LT(1);
+                    match(input,OR,FOLLOW_OR_in_identifier4666); if (failed) return tok;
 
                     }
-                        break;
-                    case 20 :
-                        // C:\\dev\\jbossrules\\trunk3\\drools-compiler\\src\\main\\resources\\org\\drools\\lang\\DRL.g:1447:17: ( AND )=>t= AND
+                    break;
+                case 20 :
+                    // C:\\dev\\jbossrules\\trunk3\\drools-compiler\\src\\main\\resources\\org\\drools\\lang\\DRL.g:1447:17: t= AND
                     {
-                        t = (Token) this.input.LT( 1 );
-                        match( this.input,
-                               AND,
-                               FOLLOW_AND_in_identifier4695 );
-                        if ( this.failed ) {
-                            return tok;
-                        }
+                    t=(Token)input.LT(1);
+                    match(input,AND,FOLLOW_AND_in_identifier4695); if (failed) return tok;
 
                     }
-                        break;
-                    case 21 :
-                        // C:\\dev\\jbossrules\\trunk3\\drools-compiler\\src\\main\\resources\\org\\drools\\lang\\DRL.g:1448:17: ( CONTAINS )=>t= CONTAINS
+                    break;
+                case 21 :
+                    // C:\\dev\\jbossrules\\trunk3\\drools-compiler\\src\\main\\resources\\org\\drools\\lang\\DRL.g:1448:17: t= CONTAINS
                     {
-                        t = (Token) this.input.LT( 1 );
-                        match( this.input,
-                               CONTAINS,
-                               FOLLOW_CONTAINS_in_identifier4724 );
-                        if ( this.failed ) {
-                            return tok;
-                        }
+                    t=(Token)input.LT(1);
+                    match(input,CONTAINS,FOLLOW_CONTAINS_in_identifier4724); if (failed) return tok;
 
                     }
-                        break;
-                    case 22 :
-                        // C:\\dev\\jbossrules\\trunk3\\drools-compiler\\src\\main\\resources\\org\\drools\\lang\\DRL.g:1449:17: ( EXCLUDES )=>t= EXCLUDES
+                    break;
+                case 22 :
+                    // C:\\dev\\jbossrules\\trunk3\\drools-compiler\\src\\main\\resources\\org\\drools\\lang\\DRL.g:1449:17: t= EXCLUDES
                     {
-                        t = (Token) this.input.LT( 1 );
-                        match( this.input,
-                               EXCLUDES,
-                               FOLLOW_EXCLUDES_in_identifier4746 );
-                        if ( this.failed ) {
-                            return tok;
-                        }
+                    t=(Token)input.LT(1);
+                    match(input,EXCLUDES,FOLLOW_EXCLUDES_in_identifier4746); if (failed) return tok;
 
                     }
-                        break;
-                    case 23 :
-                        // C:\\dev\\jbossrules\\trunk3\\drools-compiler\\src\\main\\resources\\org\\drools\\lang\\DRL.g:1450:17: ( MATCHES )=>t= MATCHES
+                    break;
+                case 23 :
+                    // C:\\dev\\jbossrules\\trunk3\\drools-compiler\\src\\main\\resources\\org\\drools\\lang\\DRL.g:1450:17: t= MATCHES
                     {
-                        t = (Token) this.input.LT( 1 );
-                        match( this.input,
-                               MATCHES,
-                               FOLLOW_MATCHES_in_identifier4768 );
-                        if ( this.failed ) {
-                            return tok;
-                        }
+                    t=(Token)input.LT(1);
+                    match(input,MATCHES,FOLLOW_MATCHES_in_identifier4768); if (failed) return tok;
 
                     }
-                        break;
-                    case 24 :
-                        // C:\\dev\\jbossrules\\trunk3\\drools-compiler\\src\\main\\resources\\org\\drools\\lang\\DRL.g:1451:17: ( NULL )=>t= NULL
+                    break;
+                case 24 :
+                    // C:\\dev\\jbossrules\\trunk3\\drools-compiler\\src\\main\\resources\\org\\drools\\lang\\DRL.g:1451:17: t= NULL
                     {
-                        t = (Token) this.input.LT( 1 );
-                        match( this.input,
-                               NULL,
-                               FOLLOW_NULL_in_identifier4797 );
-                        if ( this.failed ) {
-                            return tok;
-                        }
+                    t=(Token)input.LT(1);
+                    match(input,NULL,FOLLOW_NULL_in_identifier4797); if (failed) return tok;
 
                     }
-                        break;
-                    case 25 :
-                        // C:\\dev\\jbossrules\\trunk3\\drools-compiler\\src\\main\\resources\\org\\drools\\lang\\DRL.g:1452:17: ( EXISTS )=>t= EXISTS
+                    break;
+                case 25 :
+                    // C:\\dev\\jbossrules\\trunk3\\drools-compiler\\src\\main\\resources\\org\\drools\\lang\\DRL.g:1452:17: t= EXISTS
                     {
-                        t = (Token) this.input.LT( 1 );
-                        match( this.input,
-                               EXISTS,
-                               FOLLOW_EXISTS_in_identifier4826 );
-                        if ( this.failed ) {
-                            return tok;
-                        }
+                    t=(Token)input.LT(1);
+                    match(input,EXISTS,FOLLOW_EXISTS_in_identifier4826); if (failed) return tok;
 
                     }
-                        break;
-                    case 26 :
-                        // C:\\dev\\jbossrules\\trunk3\\drools-compiler\\src\\main\\resources\\org\\drools\\lang\\DRL.g:1453:17: ( NOT )=>t= NOT
+                    break;
+                case 26 :
+                    // C:\\dev\\jbossrules\\trunk3\\drools-compiler\\src\\main\\resources\\org\\drools\\lang\\DRL.g:1453:17: t= NOT
                     {
-                        t = (Token) this.input.LT( 1 );
-                        match( this.input,
-                               NOT,
-                               FOLLOW_NOT_in_identifier4855 );
-                        if ( this.failed ) {
-                            return tok;
-                        }
+                    t=(Token)input.LT(1);
+                    match(input,NOT,FOLLOW_NOT_in_identifier4855); if (failed) return tok;
 
                     }
-                        break;
-                    case 27 :
-                        // C:\\dev\\jbossrules\\trunk3\\drools-compiler\\src\\main\\resources\\org\\drools\\lang\\DRL.g:1454:17: ( EVAL )=>t= EVAL
+                    break;
+                case 27 :
+                    // C:\\dev\\jbossrules\\trunk3\\drools-compiler\\src\\main\\resources\\org\\drools\\lang\\DRL.g:1454:17: t= EVAL
                     {
-                        t = (Token) this.input.LT( 1 );
-                        match( this.input,
-                               EVAL,
-                               FOLLOW_EVAL_in_identifier4884 );
-                        if ( this.failed ) {
-                            return tok;
-                        }
+                    t=(Token)input.LT(1);
+                    match(input,EVAL,FOLLOW_EVAL_in_identifier4884); if (failed) return tok;
 
                     }
-                        break;
-                    case 28 :
-                        // C:\\dev\\jbossrules\\trunk3\\drools-compiler\\src\\main\\resources\\org\\drools\\lang\\DRL.g:1455:17: ( FORALL )=>t= FORALL
+                    break;
+                case 28 :
+                    // C:\\dev\\jbossrules\\trunk3\\drools-compiler\\src\\main\\resources\\org\\drools\\lang\\DRL.g:1455:17: t= FORALL
                     {
-                        t = (Token) this.input.LT( 1 );
-                        match( this.input,
-                               FORALL,
-                               FOLLOW_FORALL_in_identifier4913 );
-                        if ( this.failed ) {
-                            return tok;
-                        }
+                    t=(Token)input.LT(1);
+                    match(input,FORALL,FOLLOW_FORALL_in_identifier4913); if (failed) return tok;
 
                     }
-                        break;
-                    case 29 :
-                        // C:\\dev\\jbossrules\\trunk3\\drools-compiler\\src\\main\\resources\\org\\drools\\lang\\DRL.g:1456:17: ( WHEN )=>t= WHEN
+                    break;
+                case 29 :
+                    // C:\\dev\\jbossrules\\trunk3\\drools-compiler\\src\\main\\resources\\org\\drools\\lang\\DRL.g:1456:17: t= WHEN
                     {
-                        t = (Token) this.input.LT( 1 );
-                        match( this.input,
-                               WHEN,
-                               FOLLOW_WHEN_in_identifier4951 );
-                        if ( this.failed ) {
-                            return tok;
-                        }
+                    t=(Token)input.LT(1);
+                    match(input,WHEN,FOLLOW_WHEN_in_identifier4951); if (failed) return tok;
 
                     }
-                        break;
-                    case 30 :
-                        // C:\\dev\\jbossrules\\trunk3\\drools-compiler\\src\\main\\resources\\org\\drools\\lang\\DRL.g:1457:17: ( THEN )=>t= THEN
+                    break;
+                case 30 :
+                    // C:\\dev\\jbossrules\\trunk3\\drools-compiler\\src\\main\\resources\\org\\drools\\lang\\DRL.g:1457:17: t= THEN
                     {
-                        t = (Token) this.input.LT( 1 );
-                        match( this.input,
-                               THEN,
-                               FOLLOW_THEN_in_identifier4983 );
-                        if ( this.failed ) {
-                            return tok;
-                        }
+                    t=(Token)input.LT(1);
+                    match(input,THEN,FOLLOW_THEN_in_identifier4983); if (failed) return tok;
 
                     }
-                        break;
-                    case 31 :
-                        // C:\\dev\\jbossrules\\trunk3\\drools-compiler\\src\\main\\resources\\org\\drools\\lang\\DRL.g:1458:17: t= END
+                    break;
+                case 31 :
+                    // C:\\dev\\jbossrules\\trunk3\\drools-compiler\\src\\main\\resources\\org\\drools\\lang\\DRL.g:1458:17: t= END
                     {
-                        t = (Token) this.input.LT( 1 );
-                        match( this.input,
-                               END,
-                               FOLLOW_END_in_identifier5012 );
-                        if ( this.failed ) {
-                            return tok;
-                        }
+                    t=(Token)input.LT(1);
+                    match(input,END,FOLLOW_END_in_identifier5012); if (failed) return tok;
 
                     }
-                        break;
+                    break;
 
-                }
+            }
 
-                if ( this.backtracking == 0 ) {
+            if ( backtracking==0 ) {
+              
+              	    tok = t;
+              	
+            }
 
-                    tok = t;
-
-                }
-
             }
 
-        } catch ( final RecognitionException re ) {
-            reportError( re );
-            recover( this.input,
-                     re );
-        } finally {
         }
+        catch (RecognitionException re) {
+            reportError(re);
+            recover(input,re);
+        }
+        finally {
+        }
         return tok;
     }
-
     // $ANTLR end identifier
 
     // $ANTLR start synpred4
-    public void synpred4_fragment() throws RecognitionException {
+    public final void synpred4_fragment() throws RecognitionException {   
         // C:\\dev\\jbossrules\\trunk3\\drools-compiler\\src\\main\\resources\\org\\drools\\lang\\DRL.g:189:4: ( function_import_statement )
         // C:\\dev\\jbossrules\\trunk3\\drools-compiler\\src\\main\\resources\\org\\drools\\lang\\DRL.g:189:4: function_import_statement
         {
-            pushFollow( FOLLOW_function_import_statement_in_synpred4114 );
-            function_import_statement();
-            this._fsp--;
-            if ( this.failed ) {
-                return;
-            }
+        pushFollow(FOLLOW_function_import_statement_in_synpred4114);
+        function_import_statement();
+        _fsp--;
+        if (failed) return ;
 
         }
     }
-
     // $ANTLR end synpred4
 
     // $ANTLR start synpred5
-    public void synpred5_fragment() throws RecognitionException {
+    public final void synpred5_fragment() throws RecognitionException {   
         // C:\\dev\\jbossrules\\trunk3\\drools-compiler\\src\\main\\resources\\org\\drools\\lang\\DRL.g:190:4: ( import_statement )
         // C:\\dev\\jbossrules\\trunk3\\drools-compiler\\src\\main\\resources\\org\\drools\\lang\\DRL.g:190:4: import_statement
         {
-            pushFollow( FOLLOW_import_statement_in_synpred5120 );
-            import_statement();
-            this._fsp--;
-            if ( this.failed ) {
-                return;
-            }
+        pushFollow(FOLLOW_import_statement_in_synpred5120);
+        import_statement();
+        _fsp--;
+        if (failed) return ;
 
         }
     }
-
     // $ANTLR end synpred5
 
     // $ANTLR start synpred38
-    public void synpred38_fragment() throws RecognitionException {
+    public final void synpred38_fragment() throws RecognitionException {   
         // C:\\dev\\jbossrules\\trunk3\\drools-compiler\\src\\main\\resources\\org\\drools\\lang\\DRL.g:718:4: ( paren_chunk[from] )
         // C:\\dev\\jbossrules\\trunk3\\drools-compiler\\src\\main\\resources\\org\\drools\\lang\\DRL.g:718:4: paren_chunk[from]
         {
-            pushFollow( FOLLOW_paren_chunk_in_synpred381788 );
-            paren_chunk( this.from );
-            this._fsp--;
-            if ( this.failed ) {
-                return;
-            }
+        pushFollow(FOLLOW_paren_chunk_in_synpred381788);
+        paren_chunk(from);
+        _fsp--;
+        if (failed) return ;
 
         }
     }
-
     // $ANTLR end synpred38
 
+    // $ANTLR start synpred40
+    public final void synpred40_fragment() throws RecognitionException {   
+        // C:\\dev\\jbossrules\\trunk3\\drools-compiler\\src\\main\\resources\\org\\drools\\lang\\DRL.g:748:6: ( LEFT_SQUARE )
+        // C:\\dev\\jbossrules\\trunk3\\drools-compiler\\src\\main\\resources\\org\\drools\\lang\\DRL.g:748:8: LEFT_SQUARE
+        {
+        match(input,LEFT_SQUARE,FOLLOW_LEFT_SQUARE_in_synpred401854); if (failed) return ;
+
+        }
+    }
+    // $ANTLR end synpred40
+
     // $ANTLR start synpred41
-    public void synpred41_fragment() throws RecognitionException {
+    public final void synpred41_fragment() throws RecognitionException {   
         // C:\\dev\\jbossrules\\trunk3\\drools-compiler\\src\\main\\resources\\org\\drools\\lang\\DRL.g:753:6: ( LEFT_PAREN )
         // C:\\dev\\jbossrules\\trunk3\\drools-compiler\\src\\main\\resources\\org\\drools\\lang\\DRL.g:753:8: LEFT_PAREN
         {
-            match( this.input,
-                   LEFT_PAREN,
-                   FOLLOW_LEFT_PAREN_in_synpred411888 );
-            if ( this.failed ) {
-                return;
-            }
+        match(input,LEFT_PAREN,FOLLOW_LEFT_PAREN_in_synpred411888); if (failed) return ;
 
         }
     }
-
     // $ANTLR end synpred41
 
-    // $ANTLR start synpred44
-    public void synpred44_fragment() throws RecognitionException {
-        // C:\\dev\\jbossrules\\trunk3\\drools-compiler\\src\\main\\resources\\org\\drools\\lang\\DRL.g:850:6: ( (OR|'||') fact )
-        // C:\\dev\\jbossrules\\trunk3\\drools-compiler\\src\\main\\resources\\org\\drools\\lang\\DRL.g:850:6: (OR|'||') fact
+    // $ANTLR start synpred45
+    public final void synpred45_fragment() throws RecognitionException {   
+        // C:\\dev\\jbossrules\\trunk3\\drools-compiler\\src\\main\\resources\\org\\drools\\lang\\DRL.g:850:6: ( ( OR | '||' ) fact )
+        // C:\\dev\\jbossrules\\trunk3\\drools-compiler\\src\\main\\resources\\org\\drools\\lang\\DRL.g:850:6: ( OR | '||' ) fact
         {
-            if ( this.input.LA( 1 ) == OR || this.input.LA( 1 ) == 68 ) {
-                this.input.consume();
-                this.errorRecovery = false;
-                this.failed = false;
-            } else {
-                if ( this.backtracking > 0 ) {
-                    this.failed = true;
-                    return;
-                }
-                final MismatchedSetException mse = new MismatchedSetException( null,
-                                                                         this.input );
-                recoverFromMismatchedSet( this.input,
-                                          mse,
-                                          FOLLOW_set_in_synpred442197 );
-                throw mse;
-            }
+        if ( input.LA(1)==OR||input.LA(1)==68 ) {
+            input.consume();
+            errorRecovery=false;failed=false;
+        }
+        else {
+            if (backtracking>0) {failed=true; return ;}
+            MismatchedSetException mse =
+                new MismatchedSetException(null,input);
+            recoverFromMismatchedSet(input,mse,FOLLOW_set_in_synpred452196);    throw mse;
+        }
 
-            pushFollow( FOLLOW_fact_in_synpred442214 );
-            fact();
-            this._fsp--;
-            if ( this.failed ) {
-                return;
-            }
+        pushFollow(FOLLOW_fact_in_synpred452214);
+        fact();
+        _fsp--;
+        if (failed) return ;
 
         }
     }
+    // $ANTLR end synpred45
 
-    // $ANTLR end synpred44
-
-    // $ANTLR start synpred72
-    public void synpred72_fragment() throws RecognitionException {
+    // $ANTLR start synpred87
+    public final void synpred87_fragment() throws RecognitionException {   
         // C:\\dev\\jbossrules\\trunk3\\drools-compiler\\src\\main\\resources\\org\\drools\\lang\\DRL.g:1228:14: ( ACCUMULATE )
         // C:\\dev\\jbossrules\\trunk3\\drools-compiler\\src\\main\\resources\\org\\drools\\lang\\DRL.g:1228:16: ACCUMULATE
         {
-            match( this.input,
-                   ACCUMULATE,
-                   FOLLOW_ACCUMULATE_in_synpred723458 );
-            if ( this.failed ) {
-                return;
-            }
+        match(input,ACCUMULATE,FOLLOW_ACCUMULATE_in_synpred873458); if (failed) return ;
 
         }
     }
+    // $ANTLR end synpred87
 
-    // $ANTLR end synpred72
-
-    // $ANTLR start synpred73
-    public void synpred73_fragment() throws RecognitionException {
+    // $ANTLR start synpred88
+    public final void synpred88_fragment() throws RecognitionException {   
         // C:\\dev\\jbossrules\\trunk3\\drools-compiler\\src\\main\\resources\\org\\drools\\lang\\DRL.g:1229:14: ( COLLECT )
         // C:\\dev\\jbossrules\\trunk3\\drools-compiler\\src\\main\\resources\\org\\drools\\lang\\DRL.g:1229:16: COLLECT
         {
-            match( this.input,
-                   COLLECT,
-                   FOLLOW_COLLECT_in_synpred733487 );
-            if ( this.failed ) {
-                return;
-            }
+        match(input,COLLECT,FOLLOW_COLLECT_in_synpred883487); if (failed) return ;
 
         }
     }
+    // $ANTLR end synpred88
 
-    // $ANTLR end synpred73
-
-    // $ANTLR start synpred74
-    public void synpred74_fragment() throws RecognitionException {
-        // C:\\dev\\jbossrules\\trunk3\\drools-compiler\\src\\main\\resources\\org\\drools\\lang\\DRL.g:1230:14: (~ (ACCUMULATE|COLLECT))
-        // C:\\dev\\jbossrules\\trunk3\\drools-compiler\\src\\main\\resources\\org\\drools\\lang\\DRL.g:1230:16: ~ (ACCUMULATE|COLLECT)
+    // $ANTLR start synpred90
+    public final void synpred90_fragment() throws RecognitionException {   
+        // C:\\dev\\jbossrules\\trunk3\\drools-compiler\\src\\main\\resources\\org\\drools\\lang\\DRL.g:1230:14: (~ ( ACCUMULATE | COLLECT ) )
+        // C:\\dev\\jbossrules\\trunk3\\drools-compiler\\src\\main\\resources\\org\\drools\\lang\\DRL.g:1230:16: ~ ( ACCUMULATE | COLLECT )
         {
-            if ( (this.input.LA( 1 ) >= PACKAGE && this.input.LA( 1 ) <= LOCK_ON_ACTIVE) || (this.input.LA( 1 ) >= INIT && this.input.LA( 1 ) <= RESULT) || (this.input.LA( 1 ) >= ID && this.input.LA( 1 ) <= 78) ) {
-                this.input.consume();
-                this.errorRecovery = false;
-                this.failed = false;
-            } else {
-                if ( this.backtracking > 0 ) {
-                    this.failed = true;
-                    return;
-                }
-                final MismatchedSetException mse = new MismatchedSetException( null,
-                                                                         this.input );
-                recoverFromMismatchedSet( this.input,
-                                          mse,
-                                          FOLLOW_set_in_synpred743517 );
-                throw mse;
-            }
-
+        if ( (input.LA(1)>=PACKAGE && input.LA(1)<=LOCK_ON_ACTIVE)||(input.LA(1)>=INIT && input.LA(1)<=RESULT)||(input.LA(1)>=ID && input.LA(1)<=78) ) {
+            input.consume();
+            errorRecovery=false;failed=false;
         }
-    }
+        else {
+            if (backtracking>0) {failed=true; return ;}
+            MismatchedSetException mse =
+                new MismatchedSetException(null,input);
+            recoverFromMismatchedSet(input,mse,FOLLOW_set_in_synpred903517);    throw mse;
+        }
 
-    // $ANTLR end synpred74
 
-    public boolean synpred44() {
-        this.backtracking++;
-        final int start = this.input.mark();
-        try {
-            synpred44_fragment(); // can never throw exception
-        } catch ( final RecognitionException re ) {
-            System.err.println( "impossible: " + re );
         }
-        final boolean success = !this.failed;
-        this.input.rewind( start );
-        this.backtracking--;
-        this.failed = false;
-        return success;
     }
+    // $ANTLR end synpred90
 
-    public boolean synpred74() {
-        this.backtracking++;
-        final int start = this.input.mark();
+    public final boolean synpred45() {
+        backtracking++;
+        int start = input.mark();
         try {
-            synpred74_fragment(); // can never throw exception
-        } catch ( final RecognitionException re ) {
-            System.err.println( "impossible: " + re );
+            synpred45_fragment(); // can never throw exception
+        } catch (RecognitionException re) {
+            System.err.println("impossible: "+re);
         }
-        final boolean success = !this.failed;
-        this.input.rewind( start );
-        this.backtracking--;
-        this.failed = false;
+        boolean success = !failed;
+        input.rewind(start);
+        backtracking--;
+        failed=false;
         return success;
     }
-
-    public boolean synpred38() {
-        this.backtracking++;
-        final int start = this.input.mark();
+    public final boolean synpred38() {
+        backtracking++;
+        int start = input.mark();
         try {
             synpred38_fragment(); // can never throw exception
-        } catch ( final RecognitionException re ) {
-            System.err.println( "impossible: " + re );
+        } catch (RecognitionException re) {
+            System.err.println("impossible: "+re);
         }
-        final boolean success = !this.failed;
-        this.input.rewind( start );
-        this.backtracking--;
-        this.failed = false;
+        boolean success = !failed;
+        input.rewind(start);
+        backtracking--;
+        failed=false;
         return success;
     }
-
-    public boolean synpred72() {
-        this.backtracking++;
-        final int start = this.input.mark();
+    public final boolean synpred90() {
+        backtracking++;
+        int start = input.mark();
         try {
-            synpred72_fragment(); // can never throw exception
-        } catch ( final RecognitionException re ) {
-            System.err.println( "impossible: " + re );
+            synpred90_fragment(); // can never throw exception
+        } catch (RecognitionException re) {
+            System.err.println("impossible: "+re);
         }
-        final boolean success = !this.failed;
-        this.input.rewind( start );
-        this.backtracking--;
-        this.failed = false;
+        boolean success = !failed;
+        input.rewind(start);
+        backtracking--;
+        failed=false;
         return success;
     }
-
-    public boolean synpred73() {
-        this.backtracking++;
-        final int start = this.input.mark();
+    public final boolean synpred87() {
+        backtracking++;
+        int start = input.mark();
         try {
-            synpred73_fragment(); // can never throw exception
-        } catch ( final RecognitionException re ) {
-            System.err.println( "impossible: " + re );
+            synpred87_fragment(); // can never throw exception
+        } catch (RecognitionException re) {
+            System.err.println("impossible: "+re);
         }
-        final boolean success = !this.failed;
-        this.input.rewind( start );
-        this.backtracking--;
-        this.failed = false;
+        boolean success = !failed;
+        input.rewind(start);
+        backtracking--;
+        failed=false;
         return success;
     }
-
-    public boolean synpred5() {
-        this.backtracking++;
-        final int start = this.input.mark();
+    public final boolean synpred5() {
+        backtracking++;
+        int start = input.mark();
         try {
             synpred5_fragment(); // can never throw exception
-        } catch ( final RecognitionException re ) {
-            System.err.println( "impossible: " + re );
+        } catch (RecognitionException re) {
+            System.err.println("impossible: "+re);
         }
-        final boolean success = !this.failed;
-        this.input.rewind( start );
-        this.backtracking--;
-        this.failed = false;
+        boolean success = !failed;
+        input.rewind(start);
+        backtracking--;
+        failed=false;
         return success;
     }
-
-    public boolean synpred41() {
-        this.backtracking++;
-        final int start = this.input.mark();
+    public final boolean synpred88() {
+        backtracking++;
+        int start = input.mark();
         try {
+            synpred88_fragment(); // can never throw exception
+        } catch (RecognitionException re) {
+            System.err.println("impossible: "+re);
+        }
+        boolean success = !failed;
+        input.rewind(start);
+        backtracking--;
+        failed=false;
+        return success;
+    }
+    public final boolean synpred40() {
+        backtracking++;
+        int start = input.mark();
+        try {
+            synpred40_fragment(); // can never throw exception
+        } catch (RecognitionException re) {
+            System.err.println("impossible: "+re);
+        }
+        boolean success = !failed;
+        input.rewind(start);
+        backtracking--;
+        failed=false;
+        return success;
+    }
+    public final boolean synpred41() {
+        backtracking++;
+        int start = input.mark();
+        try {
             synpred41_fragment(); // can never throw exception
-        } catch ( final RecognitionException re ) {
-            System.err.println( "impossible: " + re );
+        } catch (RecognitionException re) {
+            System.err.println("impossible: "+re);
         }
-        final boolean success = !this.failed;
-        this.input.rewind( start );
-        this.backtracking--;
-        this.failed = false;
+        boolean success = !failed;
+        input.rewind(start);
+        backtracking--;
+        failed=false;
         return success;
     }
-
-    public boolean synpred4() {
-        this.backtracking++;
-        final int start = this.input.mark();
+    public final boolean synpred4() {
+        backtracking++;
+        int start = input.mark();
         try {
             synpred4_fragment(); // can never throw exception
-        } catch ( final RecognitionException re ) {
-            System.err.println( "impossible: " + re );
+        } catch (RecognitionException re) {
+            System.err.println("impossible: "+re);
         }
-        final boolean success = !this.failed;
-        this.input.rewind( start );
-        this.backtracking--;
-        this.failed = false;
+        boolean success = !failed;
+        input.rewind(start);
+        backtracking--;
+        failed=false;
         return success;
     }
 
-    protected DFA8               dfa8            = new DFA8( this );
-    protected DFA9               dfa9            = new DFA9( this );
-    public static final String   DFA8_eotS       = "\6\uffff";
-    public static final String   DFA8_eofS       = "\6\uffff";
-    public static final String   DFA8_minS       = "\2\4\2\uffff\1\55\1\4";
-    public static final String   DFA8_maxS       = "\1\64\1\102\2\uffff\1\55\1\102";
-    public static final String   DFA8_acceptS    = "\2\uffff\1\2\1\1\2\uffff";
-    public static final String   DFA8_specialS   = "\6\uffff}>";
-    public static final String[] DFA8_transition = {"\12\2\3\uffff\1\2\1\uffff\1\2\6\uffff\1\2\1\uffff\5\2\1\1\1\2\2" + "\uffff\3\2\1\uffff\1\2\4\uffff\7\2",
-            "\12\3\3\uffff\1\3\1\uffff\1\3\6\uffff\1\3\1\uffff\7\3\1\uffff\1" + "\2\3\3\1\uffff\1\3\2\uffff\1\4\1\uffff\7\3\13\uffff\1\3\1\uffff" + "\1\2", "", "", "\1\5",
-            "\12\3\3\uffff\1\3\1\uffff\1\3\6\uffff\1\3\1\uffff\7\3\1\uffff\1" + "\2\3\3\1\uffff\1\3\2\uffff\1\4\1\uffff\7\3\15\uffff\1\2"};
 
+    protected DFA8 dfa8 = new DFA8(this);
+    protected DFA9 dfa9 = new DFA9(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\55\1\uffff\1\4";
+    static final String DFA8_maxS =
+        "\1\64\1\102\1\uffff\1\55\1\uffff\1\102";
+    static final String DFA8_acceptS =
+        "\2\uffff\1\2\1\uffff\1\1\1\uffff";
+    static final String DFA8_specialS =
+        "\6\uffff}>";
+    static final String[] DFA8_transitionS = {
+            "\12\2\3\uffff\1\2\1\uffff\1\2\6\uffff\1\2\1\uffff\5\2\1\1\1"+
+            "\2\2\uffff\3\2\1\uffff\1\2\4\uffff\7\2",
+            "\12\4\3\uffff\1\4\1\uffff\1\4\6\uffff\1\4\1\uffff\7\4\1\uffff"+
+            "\1\2\3\4\1\uffff\1\4\2\uffff\1\3\1\uffff\7\4\13\uffff\1\4\1"+
+            "\uffff\1\2",
+            "",
+            "\1\5",
+            "",
+            "\12\4\3\uffff\1\4\1\uffff\1\4\6\uffff\1\4\1\uffff\7\4\1\uffff"+
+            "\1\2\3\4\1\uffff\1\4\2\uffff\1\3\1\uffff\7\4\15\uffff\1\2"
+    };
+
+    static final short[] DFA8_eot = DFA.unpackEncodedString(DFA8_eotS);
+    static final short[] DFA8_eof = DFA.unpackEncodedString(DFA8_eofS);
+    static final char[] DFA8_min = DFA.unpackEncodedStringToUnsignedChars(DFA8_minS);
+    static final char[] DFA8_max = DFA.unpackEncodedStringToUnsignedChars(DFA8_maxS);
+    static final short[] DFA8_accept = DFA.unpackEncodedString(DFA8_acceptS);
+    static final short[] DFA8_special = DFA.unpackEncodedString(DFA8_specialS);
+    static final short[][] DFA8_transition;
+
+    static {
+        int numStates = DFA8_transitionS.length;
+        DFA8_transition = new short[numStates][];
+        for (int i=0; i<numStates; i++) {
+            DFA8_transition[i] = DFA.unpackEncodedString(DFA8_transitionS[i]);
+        }
+    }
+
     class DFA8 extends DFA {
-        public DFA8(final BaseRecognizer recognizer) {
+
+        public DFA8(BaseRecognizer recognizer) {
             this.recognizer = recognizer;
             this.decisionNumber = 8;
-            this.eot = DFA.unpackEncodedString( DFA8_eotS );
-            this.eof = DFA.unpackEncodedString( DFA8_eofS );
-            this.min = DFA.unpackEncodedStringToUnsignedChars( DFA8_minS );
-            this.max = DFA.unpackEncodedStringToUnsignedChars( DFA8_maxS );
-            this.accept = DFA.unpackEncodedString( DFA8_acceptS );
-            this.special = DFA.unpackEncodedString( DFA8_specialS );
-            final int numStates = DFA8_transition.length;
-            this.transition = new short[numStates][];
-            for ( int i = 0; i < numStates; i++ ) {
-                this.transition[i] = DFA.unpackEncodedString( DFA8_transition[i] );
-            }
+            this.eot = DFA8_eot;
+            this.eof = DFA8_eof;
+            this.min = DFA8_min;
+            this.max = DFA8_max;
+            this.accept = DFA8_accept;
+            this.special = DFA8_special;
+            this.transition = DFA8_transition;
         }
-
         public String getDescription() {
-            return "307:6: ( ( dotted_name[null] )=>paramType= dotted_name[null] )?";
+            return "307:6: (paramType= dotted_name[null] )?";
         }
     }
+    static final String DFA9_eotS =
+        "\6\uffff";
+    static final String DFA9_eofS =
+        "\6\uffff";
+    static final String DFA9_minS =
+        "\2\4\1\uffff\1\55\1\uffff\1\4";
+    static final String DFA9_maxS =
+        "\1\64\1\102\1\uffff\1\55\1\uffff\1\102";
+    static final String DFA9_acceptS =
+        "\2\uffff\1\2\1\uffff\1\1\1\uffff";
+    static final String DFA9_specialS =
+        "\6\uffff}>";
+    static final String[] DFA9_transitionS = {
+            "\12\2\3\uffff\1\2\1\uffff\1\2\6\uffff\1\2\1\uffff\5\2\1\1\1"+
+            "\2\2\uffff\3\2\1\uffff\1\2\4\uffff\7\2",
+            "\12\4\3\uffff\1\4\1\uffff\1\4\6\uffff\1\4\1\uffff\7\4\1\uffff"+
+            "\1\2\3\4\1\uffff\1\4\2\uffff\1\3\1\uffff\7\4\13\uffff\1\4\1"+
+            "\uffff\1\2",
+            "",
+            "\1\5",
+            "",
+            "\12\4\3\uffff\1\4\1\uffff\1\4\6\uffff\1\4\1\uffff\7\4\1\uffff"+
+            "\1\2\3\4\1\uffff\1\4\2\uffff\1\3\1\uffff\7\4\15\uffff\1\2"
+    };
 
-    public static final String   DFA9_eotS       = "\6\uffff";
-    public static final String   DFA9_eofS       = "\6\uffff";
-    public static final String   DFA9_minS       = "\2\4\2\uffff\1\55\1\4";
-    public static final String   DFA9_maxS       = "\1\64\1\102\2\uffff\1\55\1\102";
-    public static final String   DFA9_acceptS    = "\2\uffff\1\2\1\1\2\uffff";
-    public static final String   DFA9_specialS   = "\6\uffff}>";
-    public static final String[] DFA9_transition = {"\12\2\3\uffff\1\2\1\uffff\1\2\6\uffff\1\2\1\uffff\5\2\1\1\1\2\2" + "\uffff\3\2\1\uffff\1\2\4\uffff\7\2",
-            "\12\3\3\uffff\1\3\1\uffff\1\3\6\uffff\1\3\1\uffff\7\3\1\uffff\1" + "\2\3\3\1\uffff\1\3\2\uffff\1\4\1\uffff\7\3\13\uffff\1\3\1\uffff" + "\1\2", "", "", "\1\5",
-            "\12\3\3\uffff\1\3\1\uffff\1\3\6\uffff\1\3\1\uffff\7\3\1\uffff\1" + "\2\3\3\1\uffff\1\3\2\uffff\1\4\1\uffff\7\3\15\uffff\1\2"};
+    static final short[] DFA9_eot = DFA.unpackEncodedString(DFA9_eotS);
+    static final short[] DFA9_eof = DFA.unpackEncodedString(DFA9_eofS);
+    static final char[] DFA9_min = DFA.unpackEncodedStringToUnsignedChars(DFA9_minS);
+    static final char[] DFA9_max = DFA.unpackEncodedStringToUnsignedChars(DFA9_maxS);
+    static final short[] DFA9_accept = DFA.unpackEncodedString(DFA9_acceptS);
+    static final short[] DFA9_special = DFA.unpackEncodedString(DFA9_specialS);
+    static final short[][] DFA9_transition;
 
+    static {
+        int numStates = DFA9_transitionS.length;
+        DFA9_transition = new short[numStates][];
+        for (int i=0; i<numStates; i++) {
+            DFA9_transition[i] = DFA.unpackEncodedString(DFA9_transitionS[i]);
+        }
+    }
+
     class DFA9 extends DFA {
-        public DFA9(final BaseRecognizer recognizer) {
+
+        public DFA9(BaseRecognizer recognizer) {
             this.recognizer = recognizer;
             this.decisionNumber = 9;
-            this.eot = DFA.unpackEncodedString( DFA9_eotS );
-            this.eof = DFA.unpackEncodedString( DFA9_eofS );
-            this.min = DFA.unpackEncodedStringToUnsignedChars( DFA9_minS );
-            this.max = DFA.unpackEncodedStringToUnsignedChars( DFA9_maxS );
-            this.accept = DFA.unpackEncodedString( DFA9_acceptS );
-            this.special = DFA.unpackEncodedString( DFA9_specialS );
-            final int numStates = DFA9_transition.length;
-            this.transition = new short[numStates][];
-            for ( int i = 0; i < numStates; i++ ) {
-                this.transition[i] = DFA.unpackEncodedString( DFA9_transition[i] );
-            }
+            this.eot = DFA9_eot;
+            this.eof = DFA9_eof;
+            this.min = DFA9_min;
+            this.max = DFA9_max;
+            this.accept = DFA9_accept;
+            this.special = DFA9_special;
+            this.transition = DFA9_transition;
         }
-
         public String getDescription() {
-            return "311:11: ( ( dotted_name[null] )=>paramType= dotted_name[null] )?";
+            return "311:11: (paramType= dotted_name[null] )?";
         }
     }
+ 
 
-    public static final BitSet FOLLOW_63_in_opt_semicolon46                           = new BitSet( new long[]{0x0000000000000002L} );
-    public static final BitSet FOLLOW_prolog_in_compilation_unit58                    = new BitSet( new long[]{0x0000000000000DE0L} );
-    public static final BitSet FOLLOW_statement_in_compilation_unit65                 = new BitSet( new long[]{0x0000000000000DE2L} );
-    public static final BitSet FOLLOW_package_statement_in_prolog90                   = new BitSet( new long[]{0x0000000000000002L} );
-    public static final BitSet FOLLOW_function_import_statement_in_statement114       = new BitSet( new long[]{0x0000000000000002L} );
-    public static final BitSet FOLLOW_import_statement_in_statement120                = new BitSet( new long[]{0x0000000000000002L} );
-    public static final BitSet FOLLOW_global_in_statement126                          = new BitSet( new long[]{0x0000000000000002L} );
-    public static final BitSet FOLLOW_function_in_statement132                        = new BitSet( new long[]{0x0000000000000002L} );
-    public static final BitSet FOLLOW_template_in_statement146                        = new BitSet( new long[]{0x0000000000000002L} );
-    public static final BitSet FOLLOW_rule_in_statement155                            = new BitSet( new long[]{0x0000000000000002L} );
-    public static final BitSet FOLLOW_query_in_statement167                           = new BitSet( new long[]{0x0000000000000002L} );
-    public static final BitSet FOLLOW_PACKAGE_in_package_statement196                 = new BitSet( new long[]{0x0000000200000000L} );
-    public static final BitSet FOLLOW_dotted_name_in_package_statement200             = new BitSet( new long[]{0x8000000000000002L} );
-    public static final BitSet FOLLOW_opt_semicolon_in_package_statement203           = new BitSet( new long[]{0x0000000000000002L} );
-    public static final BitSet FOLLOW_IMPORT_in_import_statement235                   = new BitSet( new long[]{0x001FC2E7F40A3FF0L} );
-    public static final BitSet FOLLOW_import_name_in_import_statement258              = new BitSet( new long[]{0x8000000000000002L} );
-    public static final BitSet FOLLOW_opt_semicolon_in_import_statement261            = new BitSet( new long[]{0x0000000000000002L} );
-    public static final BitSet FOLLOW_IMPORT_in_function_import_statement287          = new BitSet( new long[]{0x0000000000000040L} );
-    public static final BitSet FOLLOW_FUNCTION_in_function_import_statement289        = new BitSet( new long[]{0x001FC2E7F40A3FF0L} );
-    public static final BitSet FOLLOW_import_name_in_function_import_statement312     = new BitSet( new long[]{0x8000000000000002L} );
-    public static final BitSet FOLLOW_opt_semicolon_in_function_import_statement315   = new BitSet( new long[]{0x0000000000000002L} );
-    public static final BitSet FOLLOW_identifier_in_import_name343                    = new BitSet( new long[]{0x0000000000000002L, 0x0000000000000003L} );
-    public static final BitSet FOLLOW_64_in_import_name355                            = new BitSet( new long[]{0x001FC2E7F40A3FF0L} );
-    public static final BitSet FOLLOW_identifier_in_import_name359                    = new BitSet( new long[]{0x0000000000000002L, 0x0000000000000003L} );
-    public static final BitSet FOLLOW_65_in_import_name383                            = new BitSet( new long[]{0x0000000000000002L} );
-    public static final BitSet FOLLOW_GLOBAL_in_global419                             = new BitSet( new long[]{0x0000000200000000L} );
-    public static final BitSet FOLLOW_dotted_name_in_global430                        = new BitSet( new long[]{0x001FC2E7F40A3FF0L} );
-    public static final BitSet FOLLOW_identifier_in_global442                         = new BitSet( new long[]{0x8000000000000002L} );
-    public static final BitSet FOLLOW_opt_semicolon_in_global444                      = new BitSet( new long[]{0x0000000000000002L} );
-    public static final BitSet FOLLOW_FUNCTION_in_function471                         = new BitSet( new long[]{0x001FC2E7F40A3FF0L} );
-    public static final BitSet FOLLOW_dotted_name_in_function476                      = new BitSet( new long[]{0x001FC2E7F40A3FF0L} );
-    public static final BitSet FOLLOW_identifier_in_function483                       = new BitSet( new long[]{0x0000000800000000L} );
-    public static final BitSet FOLLOW_LEFT_PAREN_in_function492                       = new BitSet( new long[]{0x001FC2F7F40A3FF0L} );
-    public static final BitSet FOLLOW_dotted_name_in_function502                      = new BitSet( new long[]{0x001FC2E7F40A3FF0L} );
-    public static final BitSet FOLLOW_argument_in_function509                         = new BitSet( new long[]{0x0000001000000000L, 0x0000000000000004L} );
-    public static final BitSet FOLLOW_66_in_function523                               = new BitSet( new long[]{0x001FC2E7F40A3FF0L} );
-    public static final BitSet FOLLOW_dotted_name_in_function528                      = new BitSet( new long[]{0x001FC2E7F40A3FF0L} );
-    public static final BitSet FOLLOW_argument_in_function535                         = new BitSet( new long[]{0x0000001000000000L, 0x0000000000000004L} );
-    public static final BitSet FOLLOW_RIGHT_PAREN_in_function559                      = new BitSet( new long[]{0x0000040000000000L} );
-    public static final BitSet FOLLOW_curly_chunk_in_function565                      = new BitSet( new long[]{0x0000000000000002L} );
-    public static final BitSet FOLLOW_QUERY_in_query597                               = new BitSet( new long[]{0x0000000200008000L} );
-    public static final BitSet FOLLOW_name_in_query601                                = new BitSet( new long[]{0x000F000A00000200L} );
-    public static final BitSet FOLLOW_normal_lhs_block_in_query614                    = new BitSet( new long[]{0x0000000000000200L} );
-    public static final BitSet FOLLOW_END_in_query631                                 = new BitSet( new long[]{0x0000000000000002L} );
-    public static final BitSet FOLLOW_TEMPLATE_in_template661                         = new BitSet( new long[]{0x001FC2E7F40A3FF0L} );
-    public static final BitSet FOLLOW_identifier_in_template665                       = new BitSet( new long[]{0x8000000200000000L} );
-    public static final BitSet FOLLOW_opt_semicolon_in_template667                    = new BitSet( new long[]{0x0000000200000000L} );
-    public static final BitSet FOLLOW_template_slot_in_template682                    = new BitSet( new long[]{0x0000000200000200L} );
-    public static final BitSet FOLLOW_END_in_template699                              = new BitSet( new long[]{0x8000000000000002L} );
-    public static final BitSet FOLLOW_opt_semicolon_in_template701                    = new BitSet( new long[]{0x0000000000000002L} );
-    public static final BitSet FOLLOW_dotted_name_in_template_slot747                 = new BitSet( new long[]{0x001FC2E7F40A3FF0L} );
-    public static final BitSet FOLLOW_identifier_in_template_slot765                  = new BitSet( new long[]{0x8000000000000002L} );
-    public static final BitSet FOLLOW_opt_semicolon_in_template_slot767               = new BitSet( new long[]{0x0000000000000002L} );
-    public static final BitSet FOLLOW_RULE_in_rule800                                 = new BitSet( new long[]{0x0000000200008000L} );
-    public static final BitSet FOLLOW_name_in_rule804                                 = new BitSet( new long[]{0x001000000FEB7000L, 0x0000000000000004L} );
-    public static final BitSet FOLLOW_rule_attributes_in_rule813                      = new BitSet( new long[]{0x0010000000001000L} );
-    public static final BitSet FOLLOW_WHEN_in_rule822                                 = new BitSet( new long[]{0x001F000A00000000L, 0x0000000000000008L} );
-    public static final BitSet FOLLOW_67_in_rule824                                   = new BitSet( new long[]{0x001F000A00000000L} );
-    public static final BitSet FOLLOW_normal_lhs_block_in_rule842                     = new BitSet( new long[]{0x0010000000000000L} );
-    public static final BitSet FOLLOW_rhs_chunk_in_rule863                            = new BitSet( new long[]{0x0000000000000002L} );
-    public static final BitSet FOLLOW_ATTRIBUTES_in_rule_attributes884                = new BitSet( new long[]{0x0000000000000000L, 0x0000000000000008L} );
-    public static final BitSet FOLLOW_67_in_rule_attributes886                        = new BitSet( new long[]{0x000000000FEB4002L, 0x0000000000000004L} );
-    public static final BitSet FOLLOW_66_in_rule_attributes895                        = new BitSet( new long[]{0x000000000FEB4000L} );
-    public static final BitSet FOLLOW_rule_attribute_in_rule_attributes900            = new BitSet( new long[]{0x000000000FEB4002L, 0x0000000000000004L} );
-    public static final BitSet FOLLOW_salience_in_rule_attribute941                   = new BitSet( new long[]{0x0000000000000002L} );
-    public static final BitSet FOLLOW_no_loop_in_rule_attribute951                    = new BitSet( new long[]{0x0000000000000002L} );
-    public static final BitSet FOLLOW_agenda_group_in_rule_attribute962               = new BitSet( new long[]{0x0000000000000002L} );
-    public static final BitSet FOLLOW_duration_in_rule_attribute975                   = new BitSet( new long[]{0x0000000000000002L} );
-    public static final BitSet FOLLOW_activation_group_in_rule_attribute989           = new BitSet( new long[]{0x0000000000000002L} );
-    public static final BitSet FOLLOW_auto_focus_in_rule_attribute1000                = new BitSet( new long[]{0x0000000000000002L} );
-    public static final BitSet FOLLOW_date_effective_in_rule_attribute1011            = new BitSet( new long[]{0x0000000000000002L} );
-    public static final BitSet FOLLOW_date_expires_in_rule_attribute1021              = new BitSet( new long[]{0x0000000000000002L} );
-    public static final BitSet FOLLOW_enabled_in_rule_attribute1031                   = new BitSet( new long[]{0x0000000000000002L} );
-    public static final BitSet FOLLOW_ruleflow_group_in_rule_attribute1041            = new BitSet( new long[]{0x0000000000000002L} );
-    public static final BitSet FOLLOW_lock_on_active_in_rule_attribute1051            = new BitSet( new long[]{0x0000000000000002L} );
-    public static final BitSet FOLLOW_DATE_EFFECTIVE_in_date_effective1082            = new BitSet( new long[]{0x0000000000008000L} );
-    public static final BitSet FOLLOW_STRING_in_date_effective1086                    = new BitSet( new long[]{0x0000000000000002L} );
-    public static final BitSet FOLLOW_DATE_EXPIRES_in_date_expires1119                = new BitSet( new long[]{0x0000000000008000L} );
-    public static final BitSet FOLLOW_STRING_in_date_expires1123                      = new BitSet( new long[]{0x0000000000000002L} );
-    public static final BitSet FOLLOW_ENABLED_in_enabled1158                          = new BitSet( new long[]{0x0000000000040000L} );
-    public static final BitSet FOLLOW_BOOL_in_enabled1162                             = new BitSet( new long[]{0x0000000000000002L} );
-    public static final BitSet FOLLOW_SALIENCE_in_salience1207                        = new BitSet( new long[]{0x0000000000100000L} );
-    public static final BitSet FOLLOW_INT_in_salience1211                             = new BitSet( new long[]{0x0000000000000002L} );
-    public static final BitSet FOLLOW_NO_LOOP_in_no_loop1249                          = new BitSet( new long[]{0x0000000000000002L} );
-    public static final BitSet FOLLOW_NO_LOOP_in_no_loop1277                          = new BitSet( new long[]{0x0000000000040000L} );
-    public static final BitSet FOLLOW_BOOL_in_no_loop1281                             = new BitSet( new long[]{0x0000000000000002L} );
-    public static final BitSet FOLLOW_AUTO_FOCUS_in_auto_focus1330                    = new BitSet( new long[]{0x0000000000000002L} );
-    public static final BitSet FOLLOW_AUTO_FOCUS_in_auto_focus1358                    = new BitSet( new long[]{0x0000000000040000L} );
-    public static final BitSet FOLLOW_BOOL_in_auto_focus1362                          = new BitSet( new long[]{0x0000000000000002L} );
-    public static final BitSet FOLLOW_ACTIVATION_GROUP_in_activation_group1407        = new BitSet( new long[]{0x0000000000008000L} );
-    public static final BitSet FOLLOW_STRING_in_activation_group1411                  = new BitSet( new long[]{0x0000000000000002L} );
-    public static final BitSet FOLLOW_RULEFLOW_GROUP_in_ruleflow_group1443            = new BitSet( new long[]{0x0000000000008000L} );
-    public static final BitSet FOLLOW_STRING_in_ruleflow_group1447                    = new BitSet( new long[]{0x0000000000000002L} );
-    public static final BitSet FOLLOW_AGENDA_GROUP_in_agenda_group1479                = new BitSet( new long[]{0x0000000000008000L} );
-    public static final BitSet FOLLOW_STRING_in_agenda_group1483                      = new BitSet( new long[]{0x0000000000000002L} );
-    public static final BitSet FOLLOW_DURATION_in_duration1518                        = new BitSet( new long[]{0x0000000000100000L} );
-    public static final BitSet FOLLOW_INT_in_duration1522                             = new BitSet( new long[]{0x0000000000000002L} );
-    public static final BitSet FOLLOW_LOCK_ON_ACTIVE_in_lock_on_active1564            = new BitSet( new long[]{0x0000000000000002L} );
-    public static final BitSet FOLLOW_LOCK_ON_ACTIVE_in_lock_on_active1592            = new BitSet( new long[]{0x0000000000040000L} );
-    public static final BitSet FOLLOW_BOOL_in_lock_on_active1596                      = new BitSet( new long[]{0x0000000000000002L} );
-    public static final BitSet FOLLOW_lhs_in_normal_lhs_block1634                     = new BitSet( new long[]{0x000F000A00000002L} );
-    public static final BitSet FOLLOW_lhs_or_in_lhs1671                               = new BitSet( new long[]{0x0000000000000002L} );
-    public static final BitSet FOLLOW_fact_binding_in_lhs_column1699                  = new BitSet( new long[]{0x0000000000000002L} );
-    public static final BitSet FOLLOW_fact_in_lhs_column1708                          = new BitSet( new long[]{0x0000000000000002L} );
-    public static final BitSet FOLLOW_from_source_in_from_statement1735               = new BitSet( new long[]{0x0000000000000002L} );
-    public static final BitSet FOLLOW_identifier_in_from_source1777                   = new BitSet( new long[]{0x0000000800000002L, 0x0000000000000001L} );
-    public static final BitSet FOLLOW_paren_chunk_in_from_source1788                  = new BitSet( new long[]{0x0000000000000002L, 0x0000000000000001L} );
-    public static final BitSet FOLLOW_expression_chain_in_from_source1802             = new BitSet( new long[]{0x0000000000000002L} );
-    public static final BitSet FOLLOW_64_in_expression_chain1827                      = new BitSet( new long[]{0x001FC2E7F40A3FF0L} );
-    public static final BitSet FOLLOW_identifier_in_expression_chain1831              = new BitSet( new long[]{0x0000100800000002L, 0x0000000000000001L} );
-    public static final BitSet FOLLOW_square_chunk_in_expression_chain1862            = new BitSet( new long[]{0x0000000000000002L, 0x0000000000000001L} );
-    public static final BitSet FOLLOW_paren_chunk_in_expression_chain1896             = new BitSet( new long[]{0x0000000000000002L, 0x0000000000000001L} );
-    public static final BitSet FOLLOW_expression_chain_in_expression_chain1917        = new BitSet( new long[]{0x0000000000000002L} );
-    public static final BitSet FOLLOW_ACCUMULATE_in_accumulate_statement1958          = new BitSet( new long[]{0x0000000800000000L} );
-    public static final BitSet FOLLOW_LEFT_PAREN_in_accumulate_statement1968          = new BitSet( new long[]{0x0000000200000000L} );
-    public static final BitSet FOLLOW_lhs_column_in_accumulate_statement1972          = new BitSet( new long[]{0x0000000000000000L, 0x0000000000000004L} );
-    public static final BitSet FOLLOW_66_in_accumulate_statement1974                  = new BitSet( new long[]{0x0000000020000000L} );
-    public static final BitSet FOLLOW_INIT_in_accumulate_statement1983                = new BitSet( new long[]{0x0000000800000000L} );
-    public static final BitSet FOLLOW_paren_chunk_in_accumulate_statement1987         = new BitSet( new long[]{0x0000000000000000L, 0x0000000000000004L} );
-    public static final BitSet FOLLOW_66_in_accumulate_statement1990                  = new BitSet( new long[]{0x0000000040000000L} );
-    public static final BitSet FOLLOW_ACTION_in_accumulate_statement1999              = new BitSet( new long[]{0x0000000800000000L} );
-    public static final BitSet FOLLOW_paren_chunk_in_accumulate_statement2003         = new BitSet( new long[]{0x0000000000000000L, 0x0000000000000004L} );
-    public static final BitSet FOLLOW_66_in_accumulate_statement2006                  = new BitSet( new long[]{0x0000000080000000L} );
-    public static final BitSet FOLLOW_RESULT_in_accumulate_statement2015              = new BitSet( new long[]{0x0000000800000000L} );
-    public static final BitSet FOLLOW_paren_chunk_in_accumulate_statement2019         = new BitSet( new long[]{0x0000001000000000L} );
-    public static final BitSet FOLLOW_RIGHT_PAREN_in_accumulate_statement2024         = new BitSet( new long[]{0x0000000000000002L} );
-    public static final BitSet FOLLOW_COLLECT_in_collect_statement2067                = new BitSet( new long[]{0x0000000800000000L} );
-    public static final BitSet FOLLOW_LEFT_PAREN_in_collect_statement2077             = new BitSet( new long[]{0x0000000200000000L} );
-    public static final BitSet FOLLOW_lhs_column_in_collect_statement2081             = new BitSet( new long[]{0x0000001000000000L} );
-    public static final BitSet FOLLOW_RIGHT_PAREN_in_collect_statement2085            = new BitSet( new long[]{0x0000000000000002L} );
-    public static final BitSet FOLLOW_ID_in_fact_binding2119                          = new BitSet( new long[]{0x0000000000000000L, 0x0000000000000008L} );
-    public static final BitSet FOLLOW_67_in_fact_binding2121                          = new BitSet( new long[]{0x0000000A00000000L} );
-    public static final BitSet FOLLOW_fact_expression_in_fact_binding2134             = new BitSet( new long[]{0x0000000000000002L} );
-    public static final BitSet FOLLOW_LEFT_PAREN_in_fact_expression2166               = new BitSet( new long[]{0x0000000A00000000L} );
-    public static final BitSet FOLLOW_fact_expression_in_fact_expression2170          = new BitSet( new long[]{0x0000001000000000L} );
-    public static final BitSet FOLLOW_RIGHT_PAREN_in_fact_expression2173              = new BitSet( new long[]{0x0000000000000002L} );
-    public static final BitSet FOLLOW_fact_in_fact_expression2184                     = new BitSet( new long[]{0x0000000400000002L, 0x0000000000000010L} );
-    public static final BitSet FOLLOW_set_in_fact_expression2197                      = new BitSet( new long[]{0x0000000200000000L} );
-    public static final BitSet FOLLOW_fact_in_fact_expression2214                     = new BitSet( new long[]{0x0000000400000002L, 0x0000000000000010L} );
-    public static final BitSet FOLLOW_dotted_name_in_fact2275                         = new BitSet( new long[]{0x0000000800000000L} );
-    public static final BitSet FOLLOW_LEFT_PAREN_in_fact2289                          = new BitSet( new long[]{0x001FC2FFF40A3FF0L} );
-    public static final BitSet FOLLOW_constraints_in_fact2299                         = new BitSet( new long[]{0x0000001000000000L} );
-    public static final BitSet FOLLOW_RIGHT_PAREN_in_fact2312                         = new BitSet( new long[]{0x0000000000000002L} );
-    public static final BitSet FOLLOW_constraint_in_constraints2333                   = new BitSet( new long[]{0x0000000000000002L, 0x0000000000000004L} );
-    public static final BitSet FOLLOW_predicate_in_constraints2336                    = new BitSet( new long[]{0x0000000000000002L, 0x0000000000000004L} );
-    public static final BitSet FOLLOW_66_in_constraints2344                           = new BitSet( new long[]{0x001FC2EFF40A3FF0L} );
-    public static final BitSet FOLLOW_constraint_in_constraints2347                   = new BitSet( new long[]{0x0000000000000002L, 0x0000000000000004L} );
-    public static final BitSet FOLLOW_predicate_in_constraints2350                    = new BitSet( new long[]{0x0000000000000002L, 0x0000000000000004L} );
-    public static final BitSet FOLLOW_ID_in_constraint2379                            = new BitSet( new long[]{0x0000000000000000L, 0x0000000000000008L} );
-    public static final BitSet FOLLOW_67_in_constraint2381                            = new BitSet( new long[]{0x001FC2E7F40A3FF0L} );
-    public static final BitSet FOLLOW_identifier_in_constraint2402                    = new BitSet( new long[]{0x000000E000000002L, 0x0000000000003F80L} );
-    public static final BitSet FOLLOW_constraint_expression_in_constraint2420         = new BitSet( new long[]{0x0000000000000002L, 0x0000000000000060L} );
-    public static final BitSet FOLLOW_set_in_constraint2442                           = new BitSet( new long[]{0x000000E000000000L, 0x0000000000003F00L} );
-    public static final BitSet FOLLOW_constraint_expression_in_constraint2461         = new BitSet( new long[]{0x0000000000000002L, 0x0000000000000060L} );
-    public static final BitSet FOLLOW_71_in_constraint2489                            = new BitSet( new long[]{0x0000000800000000L} );
-    public static final BitSet FOLLOW_predicate_in_constraint2491                     = new BitSet( new long[]{0x0000000000000002L} );
-    public static final BitSet FOLLOW_set_in_constraint_expression2528                = new BitSet( new long[]{0x0000030A00148000L} );
-    public static final BitSet FOLLOW_ID_in_constraint_expression2595                 = new BitSet( new long[]{0x0000000000000002L} );
-    public static final BitSet FOLLOW_enum_constraint_in_constraint_expression2611    = new BitSet( new long[]{0x0000000000000002L} );
-    public static final BitSet FOLLOW_literal_constraint_in_constraint_expression2634 = new BitSet( new long[]{0x0000000000000002L} );
-    public static final BitSet FOLLOW_retval_constraint_in_constraint_expression2648  = new BitSet( new long[]{0x0000000000000002L} );
-    public static final BitSet FOLLOW_STRING_in_literal_constraint2687                = new BitSet( new long[]{0x0000000000000002L} );
-    public static final BitSet FOLLOW_INT_in_literal_constraint2698                   = new BitSet( new long[]{0x0000000000000002L} );
-    public static final BitSet FOLLOW_FLOAT_in_literal_constraint2711                 = new BitSet( new long[]{0x0000000000000002L} );
-    public static final BitSet FOLLOW_BOOL_in_literal_constraint2722                  = new BitSet( new long[]{0x0000000000000002L} );
-    public static final BitSet FOLLOW_NULL_in_literal_constraint2734                  = new BitSet( new long[]{0x0000000000000002L} );
-    public static final BitSet FOLLOW_ID_in_enum_constraint2769                       = new BitSet( new long[]{0x0000000000000000L, 0x0000000000000001L} );
-    public static final BitSet FOLLOW_64_in_enum_constraint2775                       = new BitSet( new long[]{0x001FC2E7F40A3FF0L} );
-    public static final BitSet FOLLOW_identifier_in_enum_constraint2779               = new BitSet( new long[]{0x0000000000000002L, 0x0000000000000001L} );
-    public static final BitSet FOLLOW_paren_chunk_in_predicate2821                    = new BitSet( new long[]{0x0000000000000002L} );
-    public static final BitSet FOLLOW_LEFT_PAREN_in_paren_chunk2870                   = new BitSet( new long[]{0xFFFFFFFFFFFFFFF0L, 0x0000000000007FFFL} );
-    public static final BitSet FOLLOW_set_in_paren_chunk2886                          = new BitSet( new long[]{0xFFFFFFFFFFFFFFF0L, 0x0000000000007FFFL} );
-    public static final BitSet FOLLOW_paren_chunk_in_paren_chunk2910                  = new BitSet( new long[]{0xFFFFFFFFFFFFFFF0L, 0x0000000000007FFFL} );
-    public static final BitSet FOLLOW_RIGHT_PAREN_in_paren_chunk2947                  = new BitSet( new long[]{0x0000000000000002L} );
-    public static final BitSet FOLLOW_LEFT_CURLY_in_curly_chunk2998                   = new BitSet( new long[]{0xFFFFFFFFFFFFFFF0L, 0x0000000000007FFFL} );
-    public static final BitSet FOLLOW_set_in_curly_chunk3014                          = new BitSet( new long[]{0xFFFFFFFFFFFFFFF0L, 0x0000000000007FFFL} );
-    public static final BitSet FOLLOW_curly_chunk_in_curly_chunk3038                  = new BitSet( new long[]{0xFFFFFFFFFFFFFFF0L, 0x0000000000007FFFL} );
-    public static final BitSet FOLLOW_RIGHT_CURLY_in_curly_chunk3075                  = new BitSet( new long[]{0x0000000000000002L} );
-    public static final BitSet FOLLOW_LEFT_SQUARE_in_square_chunk3138                 = new BitSet( new long[]{0xFFFFFFFFFFFFFFF0L, 0x0000000000007FFFL} );
-    public static final BitSet FOLLOW_set_in_square_chunk3154                         = new BitSet( new long[]{0xFFFFFFFFFFFFFFF0L, 0x0000000000007FFFL} );
-    public static final BitSet FOLLOW_square_chunk_in_square_chunk3178                = new BitSet( new long[]{0xFFFFFFFFFFFFFFF0L, 0x0000000000007FFFL} );
-    public static final BitSet FOLLOW_RIGHT_SQUARE_in_square_chunk3215                = new BitSet( new long[]{0x0000000000000002L} );
-    public static final BitSet FOLLOW_paren_chunk_in_retval_constraint3260            = new BitSet( new long[]{0x0000000000000002L} );
-    public static final BitSet FOLLOW_lhs_and_in_lhs_or3288                           = new BitSet( new long[]{0x0000000400000002L, 0x0000000000000010L} );
-    public static final BitSet FOLLOW_set_in_lhs_or3297                               = new BitSet( new long[]{0x000F000A00000000L} );
-    public static final BitSet FOLLOW_lhs_and_in_lhs_or3307                           = new BitSet( new long[]{0x0000000400000002L, 0x0000000000000010L} );
-    public static final BitSet FOLLOW_lhs_unary_in_lhs_and3343                        = new BitSet( new long[]{0x0000400000000002L, 0x0000000000004000L} );
-    public static final BitSet FOLLOW_set_in_lhs_and3352                              = new BitSet( new long[]{0x000F000A00000000L} );
-    public static final BitSet FOLLOW_lhs_unary_in_lhs_and3362                        = new BitSet( new long[]{0x0000400000000002L, 0x0000000000004000L} );
-    public static final BitSet FOLLOW_lhs_exist_in_lhs_unary3399                      = new BitSet( new long[]{0x8000000000000002L} );
-    public static final BitSet FOLLOW_lhs_not_in_lhs_unary3407                        = new BitSet( new long[]{0x8000000000000002L} );
-    public static final BitSet FOLLOW_lhs_eval_in_lhs_unary3415                       = new BitSet( new long[]{0x8000000000000002L} );
-    public static final BitSet FOLLOW_lhs_column_in_lhs_unary3423                     = new BitSet( new long[]{0x8000800000000002L} );
-    public static final BitSet FOLLOW_FROM_in_lhs_unary3439                           = new BitSet( new long[]{0x001FC2E7F40A3FF0L} );
-    public static final BitSet FOLLOW_accumulate_statement_in_lhs_unary3467           = new BitSet( new long[]{0x8000000000000002L} );
-    public static final BitSet FOLLOW_collect_statement_in_lhs_unary3496              = new BitSet( new long[]{0x8000000000000002L} );
-    public static final BitSet FOLLOW_from_statement_in_lhs_unary3531                 = new BitSet( new long[]{0x8000000000000002L} );
-    public static final BitSet FOLLOW_lhs_forall_in_lhs_unary3570                     = new BitSet( new long[]{0x8000000000000002L} );
-    public static final BitSet FOLLOW_LEFT_PAREN_in_lhs_unary3578                     = new BitSet( new long[]{0x000F000A00000000L} );
-    public static final BitSet FOLLOW_lhs_or_in_lhs_unary3582                         = new BitSet( new long[]{0x0000001000000000L} );
-    public static final BitSet FOLLOW_RIGHT_PAREN_in_lhs_unary3584                    = new BitSet( new long[]{0x8000000000000002L} );
-    public static final BitSet FOLLOW_opt_semicolon_in_lhs_unary3594                  = new BitSet( new long[]{0x0000000000000002L} );
-    public static final BitSet FOLLOW_EXISTS_in_lhs_exist3618                         = new BitSet( new long[]{0x0000000A00000000L} );
-    public static final BitSet FOLLOW_LEFT_PAREN_in_lhs_exist3638                     = new BitSet( new long[]{0x000F000A00000000L} );
-    public static final BitSet FOLLOW_lhs_or_in_lhs_exist3642                         = new BitSet( new long[]{0x0000001000000000L} );
-    public static final BitSet FOLLOW_RIGHT_PAREN_in_lhs_exist3674                    = new BitSet( new long[]{0x0000000000000002L} );
-    public static final BitSet FOLLOW_lhs_column_in_lhs_exist3724                     = new BitSet( new long[]{0x0000000000000002L} );
-    public static final BitSet FOLLOW_NOT_in_lhs_not3778                              = new BitSet( new long[]{0x0000000A00000000L} );
-    public static final BitSet FOLLOW_LEFT_PAREN_in_lhs_not3791                       = new BitSet( new long[]{0x000F000A00000000L} );
-    public static final BitSet FOLLOW_lhs_or_in_lhs_not3795                           = new BitSet( new long[]{0x0000001000000000L} );
-    public static final BitSet FOLLOW_RIGHT_PAREN_in_lhs_not3828                      = new BitSet( new long[]{0x0000000000000002L} );
-    public static final BitSet FOLLOW_lhs_column_in_lhs_not3865                       = new BitSet( new long[]{0x0000000000000002L} );
-    public static final BitSet FOLLOW_EVAL_in_lhs_eval3913                            = new BitSet( new long[]{0x0000000800000000L} );
-    public static final BitSet FOLLOW_paren_chunk_in_lhs_eval3917                     = new BitSet( new long[]{0x0000000000000002L} );
-    public static final BitSet FOLLOW_FORALL_in_lhs_forall3946                        = new BitSet( new long[]{0x0000000800000000L} );
-    public static final BitSet FOLLOW_LEFT_PAREN_in_lhs_forall3948                    = new BitSet( new long[]{0x0000000200000000L} );
-    public static final BitSet FOLLOW_lhs_column_in_lhs_forall3952                    = new BitSet( new long[]{0x0000000200000000L, 0x0000000000000004L} );
-    public static final BitSet FOLLOW_66_in_lhs_forall3966                            = new BitSet( new long[]{0x0000000200000000L} );
-    public static final BitSet FOLLOW_lhs_column_in_lhs_forall3972                    = new BitSet( new long[]{0x0000001200000000L, 0x0000000000000004L} );
-    public static final BitSet FOLLOW_RIGHT_PAREN_in_lhs_forall3987                   = new BitSet( new long[]{0x0000000000000002L} );
-    public static final BitSet FOLLOW_ID_in_dotted_name4018                           = new BitSet( new long[]{0x0000100000000002L, 0x0000000000000001L} );
-    public static final BitSet FOLLOW_64_in_dotted_name4030                           = new BitSet( new long[]{0x001FC2E7F40A3FF0L} );
-    public static final BitSet FOLLOW_identifier_in_dotted_name4034                   = new BitSet( new long[]{0x0000100000000002L, 0x0000000000000001L} );
-    public static final BitSet FOLLOW_LEFT_SQUARE_in_dotted_name4056                  = new BitSet( new long[]{0x0000200000000000L} );
-    public static final BitSet FOLLOW_RIGHT_SQUARE_in_dotted_name4060                 = new BitSet( new long[]{0x0000100000000002L} );
-    public static final BitSet FOLLOW_identifier_in_argument4099                      = new BitSet( new long[]{0x0000100000000002L} );
-    public static final BitSet FOLLOW_LEFT_SQUARE_in_argument4105                     = new BitSet( new long[]{0x0000200000000000L} );
-    public static final BitSet FOLLOW_RIGHT_SQUARE_in_argument4107                    = new BitSet( new long[]{0x0000100000000002L} );
-    public static final BitSet FOLLOW_THEN_in_rhs_chunk4151                           = new BitSet( new long[]{0xFFFFFFFFFFFFFFF0L, 0x0000000000007FFFL} );
-    public static final BitSet FOLLOW_set_in_rhs_chunk4163                            = new BitSet( new long[]{0xFFFFFFFFFFFFFFF0L, 0x0000000000007FFFL} );
-    public static final BitSet FOLLOW_END_in_rhs_chunk4200                            = new BitSet( new long[]{0x0000000000000002L} );
-    public static final BitSet FOLLOW_ID_in_name4244                                  = new BitSet( new long[]{0x0000000000000002L} );
-    public static final BitSet FOLLOW_STRING_in_name4263                              = new BitSet( new long[]{0x0000000000000002L} );
-    public static final BitSet FOLLOW_ID_in_identifier4301                            = new BitSet( new long[]{0x0000000000000002L} );
-    public static final BitSet FOLLOW_PACKAGE_in_identifier4314                       = new BitSet( new long[]{0x0000000000000002L} );
-    public static final BitSet FOLLOW_FUNCTION_in_identifier4321                      = new BitSet( new long[]{0x0000000000000002L} );
-    public static final BitSet FOLLOW_GLOBAL_in_identifier4328                        = new BitSet( new long[]{0x0000000000000002L} );
-    public static final BitSet FOLLOW_IMPORT_in_identifier4335                        = new BitSet( new long[]{0x0000000000000002L} );
-    public static final BitSet FOLLOW_RULE_in_identifier4344                          = new BitSet( new long[]{0x0000000000000002L} );
-    public static final BitSet FOLLOW_QUERY_in_identifier4351                         = new BitSet( new long[]{0x0000000000000002L} );
-    public static final BitSet FOLLOW_TEMPLATE_in_identifier4372                      = new BitSet( new long[]{0x0000000000000002L} );
-    public static final BitSet FOLLOW_ATTRIBUTES_in_identifier4400                    = new BitSet( new long[]{0x0000000000000002L} );
-    public static final BitSet FOLLOW_ENABLED_in_identifier4426                       = new BitSet( new long[]{0x0000000000000002L} );
-    public static final BitSet FOLLOW_SALIENCE_in_identifier4455                      = new BitSet( new long[]{0x0000000000000002L} );
-    public static final BitSet FOLLOW_DURATION_in_identifier4477                      = new BitSet( new long[]{0x0000000000000002L} );
-    public static final BitSet FOLLOW_FROM_in_identifier4499                          = new BitSet( new long[]{0x0000000000000002L} );
-    public static final BitSet FOLLOW_ACCUMULATE_in_identifier4528                    = new BitSet( new long[]{0x0000000000000002L} );
-    public static final BitSet FOLLOW_INIT_in_identifier4550                          = new BitSet( new long[]{0x0000000000000002L} );
-    public static final BitSet FOLLOW_ACTION_in_identifier4579                        = new BitSet( new long[]{0x0000000000000002L} );
-    public static final BitSet FOLLOW_RESULT_in_identifier4608                        = new BitSet( new long[]{0x0000000000000002L} );
-    public static final BitSet FOLLOW_COLLECT_in_identifier4637                       = new BitSet( new long[]{0x0000000000000002L} );
-    public static final BitSet FOLLOW_OR_in_identifier4666                            = new BitSet( new long[]{0x0000000000000002L} );
-    public static final BitSet FOLLOW_AND_in_identifier4695                           = new BitSet( new long[]{0x0000000000000002L} );
-    public static final BitSet FOLLOW_CONTAINS_in_identifier4724                      = new BitSet( new long[]{0x0000000000000002L} );
-    public static final BitSet FOLLOW_EXCLUDES_in_identifier4746                      = new BitSet( new long[]{0x0000000000000002L} );
-    public static final BitSet FOLLOW_MATCHES_in_identifier4768                       = new BitSet( new long[]{0x0000000000000002L} );
-    public static final BitSet FOLLOW_NULL_in_identifier4797                          = new BitSet( new long[]{0x0000000000000002L} );
-    public static final BitSet FOLLOW_EXISTS_in_identifier4826                        = new BitSet( new long[]{0x0000000000000002L} );
-    public static final BitSet FOLLOW_NOT_in_identifier4855                           = new BitSet( new long[]{0x0000000000000002L} );
-    public static final BitSet FOLLOW_EVAL_in_identifier4884                          = new BitSet( new long[]{0x0000000000000002L} );
-    public static final BitSet FOLLOW_FORALL_in_identifier4913                        = new BitSet( new long[]{0x0000000000000002L} );
-    public static final BitSet FOLLOW_WHEN_in_identifier4951                          = new BitSet( new long[]{0x0000000000000002L} );
-    public static final BitSet FOLLOW_THEN_in_identifier4983                          = new BitSet( new long[]{0x0000000000000002L} );
-    public static final BitSet FOLLOW_END_in_identifier5012                           = new BitSet( new long[]{0x0000000000000002L} );
-    public static final BitSet FOLLOW_function_import_statement_in_synpred4114        = new BitSet( new long[]{0x0000000000000002L} );
-    public static final BitSet FOLLOW_import_statement_in_synpred5120                 = new BitSet( new long[]{0x0000000000000002L} );
-    public static final BitSet FOLLOW_paren_chunk_in_synpred381788                    = new BitSet( new long[]{0x0000000000000002L} );
-    public static final BitSet FOLLOW_LEFT_PAREN_in_synpred411888                     = new BitSet( new long[]{0x0000000000000002L} );
-    public static final BitSet FOLLOW_set_in_synpred442197                            = new BitSet( new long[]{0x0000000200000000L} );
-    public static final BitSet FOLLOW_fact_in_synpred442214                           = new BitSet( new long[]{0x0000000000000002L} );
-    public static final BitSet FOLLOW_ACCUMULATE_in_synpred723458                     = new BitSet( new long[]{0x0000000000000002L} );
-    public static final BitSet FOLLOW_COLLECT_in_synpred733487                        = new BitSet( new long[]{0x0000000000000002L} );
-    public static final BitSet FOLLOW_set_in_synpred743517                            = new BitSet( new long[]{0x0000000000000002L} );
+    public static final BitSet FOLLOW_63_in_opt_semicolon46 = new BitSet(new long[]{0x0000000000000002L});
+    public static final BitSet FOLLOW_prolog_in_compilation_unit58 = new BitSet(new long[]{0x0000000000000DE0L});
+    public static final BitSet FOLLOW_statement_in_compilation_unit65 = new BitSet(new long[]{0x0000000000000DE2L});
+    public static final BitSet FOLLOW_package_statement_in_prolog90 = new BitSet(new long[]{0x0000000000000002L});
+    public static final BitSet FOLLOW_function_import_statement_in_statement114 = new BitSet(new long[]{0x0000000000000002L});
+    public static final BitSet FOLLOW_import_statement_in_statement120 = new BitSet(new long[]{0x0000000000000002L});
+    public static final BitSet FOLLOW_global_in_statement126 = new BitSet(new long[]{0x0000000000000002L});
+    public static final BitSet FOLLOW_function_in_statement132 = new BitSet(new long[]{0x0000000000000002L});
+    public static final BitSet FOLLOW_template_in_statement146 = new BitSet(new long[]{0x0000000000000002L});
+    public static final BitSet FOLLOW_rule_in_statement155 = new BitSet(new long[]{0x0000000000000002L});
+    public static final BitSet FOLLOW_query_in_statement167 = new BitSet(new long[]{0x0000000000000002L});
+    public static final BitSet FOLLOW_PACKAGE_in_package_statement196 = new BitSet(new long[]{0x0000000200000000L});
+    public static final BitSet FOLLOW_dotted_name_in_package_statement200 = new BitSet(new long[]{0x8000000000000002L});
+    public static final BitSet FOLLOW_opt_semicolon_in_package_statement203 = new BitSet(new long[]{0x0000000000000002L});
+    public static final BitSet FOLLOW_IMPORT_in_import_statement235 = new BitSet(new long[]{0x001FC2E7F40A3FF0L});
+    public static final BitSet FOLLOW_import_name_in_import_statement258 = new BitSet(new long[]{0x8000000000000002L});
+    public static final BitSet FOLLOW_opt_semicolon_in_import_statement261 = new BitSet(new long[]{0x0000000000000002L});
+    public static final BitSet FOLLOW_IMPORT_in_function_import_statement287 = new BitSet(new long[]{0x0000000000000040L});
+    public static final BitSet FOLLOW_FUNCTION_in_function_import_statement289 = new BitSet(new long[]{0x001FC2E7F40A3FF0L});
+    public static final BitSet FOLLOW_import_name_in_function_import_statement312 = new BitSet(new long[]{0x8000000000000002L});
+    public static final BitSet FOLLOW_opt_semicolon_in_function_import_statement315 = new BitSet(new long[]{0x0000000000000002L});
+    public static final BitSet FOLLOW_identifier_in_import_name343 = new BitSet(new long[]{0x0000000000000002L,0x0000000000000003L});
+    public static final BitSet FOLLOW_64_in_import_name355 = new BitSet(new long[]{0x001FC2E7F40A3FF0L});
+    public static final BitSet FOLLOW_identifier_in_import_name359 = new BitSet(new long[]{0x0000000000000002L,0x0000000000000003L});
+    public static final BitSet FOLLOW_65_in_import_name383 = new BitSet(new long[]{0x0000000000000002L});
+    public static final BitSet FOLLOW_GLOBAL_in_global419 = new BitSet(new long[]{0x0000000200000000L});
+    public static final BitSet FOLLOW_dotted_name_in_global430 = new BitSet(new long[]{0x001FC2E7F40A3FF0L});
+    public static final BitSet FOLLOW_identifier_in_global442 = new BitSet(new long[]{0x8000000000000002L});
+    public static final BitSet FOLLOW_opt_semicolon_in_global444 = new BitSet(new long[]{0x0000000000000002L});
+    public static final BitSet FOLLOW_FUNCTION_in_function471 = new BitSet(new long[]{0x001FC2E7F40A3FF0L});
+    public static final BitSet FOLLOW_dotted_name_in_function476 = new BitSet(new long[]{0x001FC2E7F40A3FF0L});
+    public static final BitSet FOLLOW_identifier_in_function483 = new BitSet(new long[]{0x0000000800000000L});
+    public static final BitSet FOLLOW_LEFT_PAREN_in_function492 = new BitSet(new long[]{0x001FC2F7F40A3FF0L});
+    public static final BitSet FOLLOW_dotted_name_in_function502 = new BitSet(new long[]{0x001FC2E7F40A3FF0L});
+    public static final BitSet FOLLOW_argument_in_function509 = new BitSet(new long[]{0x0000001000000000L,0x0000000000000004L});
+    public static final BitSet FOLLOW_66_in_function523 = new BitSet(new long[]{0x001FC2E7F40A3FF0L});
+    public static final BitSet FOLLOW_dotted_name_in_function528 = new BitSet(new long[]{0x001FC2E7F40A3FF0L});
+    public static final BitSet FOLLOW_argument_in_function535 = new BitSet(new long[]{0x0000001000000000L,0x0000000000000004L});
+    public static final BitSet FOLLOW_RIGHT_PAREN_in_function559 = new BitSet(new long[]{0x0000040000000000L});
+    public static final BitSet FOLLOW_curly_chunk_in_function565 = new BitSet(new long[]{0x0000000000000002L});
+    public static final BitSet FOLLOW_QUERY_in_query597 = new BitSet(new long[]{0x0000000200008000L});
+    public static final BitSet FOLLOW_name_in_query601 = new BitSet(new long[]{0x000F000A00000200L});
+    public static final BitSet FOLLOW_normal_lhs_block_in_query614 = new BitSet(new long[]{0x0000000000000200L});
+    public static final BitSet FOLLOW_END_in_query631 = new BitSet(new long[]{0x0000000000000002L});
+    public static final BitSet FOLLOW_TEMPLATE_in_template661 = new BitSet(new long[]{0x001FC2E7F40A3FF0L});
+    public static final BitSet FOLLOW_identifier_in_template665 = new BitSet(new long[]{0x8000000200000000L});
+    public static final BitSet FOLLOW_opt_semicolon_in_template667 = new BitSet(new long[]{0x0000000200000000L});
+    public static final BitSet FOLLOW_template_slot_in_template682 = new BitSet(new long[]{0x0000000200000200L});
+    public static final BitSet FOLLOW_END_in_template699 = new BitSet(new long[]{0x8000000000000002L});
+    public static final BitSet FOLLOW_opt_semicolon_in_template701 = new BitSet(new long[]{0x0000000000000002L});
+    public static final BitSet FOLLOW_dotted_name_in_template_slot747 = new BitSet(new long[]{0x001FC2E7F40A3FF0L});
+    public static final BitSet FOLLOW_identifier_in_template_slot765 = new BitSet(new long[]{0x8000000000000002L});
+    public static final BitSet FOLLOW_opt_semicolon_in_template_slot767 = new BitSet(new long[]{0x0000000000000002L});
+    public static final BitSet FOLLOW_RULE_in_rule800 = new BitSet(new long[]{0x0000000200008000L});
+    public static final BitSet FOLLOW_name_in_rule804 = new BitSet(new long[]{0x001000000FEB7000L,0x0000000000000004L});
+    public static final BitSet FOLLOW_rule_attributes_in_rule813 = new BitSet(new long[]{0x0010000000001000L});
+    public static final BitSet FOLLOW_WHEN_in_rule822 = new BitSet(new long[]{0x001F000A00000000L,0x0000000000000008L});
+    public static final BitSet FOLLOW_67_in_rule824 = new BitSet(new long[]{0x001F000A00000000L});
+    public static final BitSet FOLLOW_normal_lhs_block_in_rule842 = new BitSet(new long[]{0x0010000000000000L});
+    public static final BitSet FOLLOW_rhs_chunk_in_rule863 = new BitSet(new long[]{0x0000000000000002L});
+    public static final BitSet FOLLOW_ATTRIBUTES_in_rule_attributes884 = new BitSet(new long[]{0x0000000000000000L,0x0000000000000008L});
+    public static final BitSet FOLLOW_67_in_rule_attributes886 = new BitSet(new long[]{0x000000000FEB4002L,0x0000000000000004L});
+    public static final BitSet FOLLOW_66_in_rule_attributes895 = new BitSet(new long[]{0x000000000FEB4000L});
+    public static final BitSet FOLLOW_rule_attribute_in_rule_attributes900 = new BitSet(new long[]{0x000000000FEB4002L,0x0000000000000004L});
+    public static final BitSet FOLLOW_salience_in_rule_attribute941 = new BitSet(new long[]{0x0000000000000002L});
+    public static final BitSet FOLLOW_no_loop_in_rule_attribute951 = new BitSet(new long[]{0x0000000000000002L});
+    public static final BitSet FOLLOW_agenda_group_in_rule_attribute962 = new BitSet(new long[]{0x0000000000000002L});
+    public static final BitSet FOLLOW_duration_in_rule_attribute975 = new BitSet(new long[]{0x0000000000000002L});
+    public static final BitSet FOLLOW_activation_group_in_rule_attribute989 = new BitSet(new long[]{0x0000000000000002L});
+    public static final BitSet FOLLOW_auto_focus_in_rule_attribute1000 = new BitSet(new long[]{0x0000000000000002L});
+    public static final BitSet FOLLOW_date_effective_in_rule_attribute1011 = new BitSet(new long[]{0x0000000000000002L});
+    public static final BitSet FOLLOW_date_expires_in_rule_attribute1021 = new BitSet(new long[]{0x0000000000000002L});
+    public static final BitSet FOLLOW_enabled_in_rule_attribute1031 = new BitSet(new long[]{0x0000000000000002L});
+    public static final BitSet FOLLOW_ruleflow_group_in_rule_attribute1041 = new BitSet(new long[]{0x0000000000000002L});
+    public static final BitSet FOLLOW_lock_on_active_in_rule_attribute1051 = new BitSet(new long[]{0x0000000000000002L});
+    public static final BitSet FOLLOW_DATE_EFFECTIVE_in_date_effective1082 = new BitSet(new long[]{0x0000000000008000L});
+    public static final BitSet FOLLOW_STRING_in_date_effective1086 = new BitSet(new long[]{0x0000000000000002L});
+    public static final BitSet FOLLOW_DATE_EXPIRES_in_date_expires1119 = new BitSet(new long[]{0x0000000000008000L});
+    public static final BitSet FOLLOW_STRING_in_date_expires1123 = new BitSet(new long[]{0x0000000000000002L});
+    public static final BitSet FOLLOW_ENABLED_in_enabled1158 = new BitSet(new long[]{0x0000000000040000L});
+    public static final BitSet FOLLOW_BOOL_in_enabled1162 = new BitSet(new long[]{0x0000000000000002L});
+    public static final BitSet FOLLOW_SALIENCE_in_salience1207 = new BitSet(new long[]{0x0000000000100000L});
+    public static final BitSet FOLLOW_INT_in_salience1211 = new BitSet(new long[]{0x0000000000000002L});
+    public static final BitSet FOLLOW_NO_LOOP_in_no_loop1249 = new BitSet(new long[]{0x0000000000000002L});
+    public static final BitSet FOLLOW_NO_LOOP_in_no_loop1277 = new BitSet(new long[]{0x0000000000040000L});
+    public static final BitSet FOLLOW_BOOL_in_no_loop1281 = new BitSet(new long[]{0x0000000000000002L});
+    public static final BitSet FOLLOW_AUTO_FOCUS_in_auto_focus1330 = new BitSet(new long[]{0x0000000000000002L});
+    public static final BitSet FOLLOW_AUTO_FOCUS_in_auto_focus1358 = new BitSet(new long[]{0x0000000000040000L});
+    public static final BitSet FOLLOW_BOOL_in_auto_focus1362 = new BitSet(new long[]{0x0000000000000002L});
+    public static final BitSet FOLLOW_ACTIVATION_GROUP_in_activation_group1407 = new BitSet(new long[]{0x0000000000008000L});
+    public static final BitSet FOLLOW_STRING_in_activation_group1411 = new BitSet(new long[]{0x0000000000000002L});
+    public static final BitSet FOLLOW_RULEFLOW_GROUP_in_ruleflow_group1443 = new BitSet(new long[]{0x0000000000008000L});
+    public static final BitSet FOLLOW_STRING_in_ruleflow_group1447 = new BitSet(new long[]{0x0000000000000002L});
+    public static final BitSet FOLLOW_AGENDA_GROUP_in_agenda_group1479 = new BitSet(new long[]{0x0000000000008000L});
+    public static final BitSet FOLLOW_STRING_in_agenda_group1483 = new BitSet(new long[]{0x0000000000000002L});
+    public static final BitSet FOLLOW_DURATION_in_duration1518 = new BitSet(new long[]{0x0000000000100000L});
+    public static final BitSet FOLLOW_INT_in_duration1522 = new BitSet(new long[]{0x0000000000000002L});
+    public static final BitSet FOLLOW_LOCK_ON_ACTIVE_in_lock_on_active1564 = new BitSet(new long[]{0x0000000000000002L});
+    public static final BitSet FOLLOW_LOCK_ON_ACTIVE_in_lock_on_active1592 = new BitSet(new long[]{0x0000000000040000L});
+    public static final BitSet FOLLOW_BOOL_in_lock_on_active1596 = new BitSet(new long[]{0x0000000000000002L});
+    public static final BitSet FOLLOW_lhs_in_normal_lhs_block1634 = new BitSet(new long[]{0x000F000A00000002L});
+    public static final BitSet FOLLOW_lhs_or_in_lhs1671 = new BitSet(new long[]{0x0000000000000002L});
+    public static final BitSet FOLLOW_fact_binding_in_lhs_pattern1699 = new BitSet(new long[]{0x0000000000000002L});
+    public static final BitSet FOLLOW_fact_in_lhs_pattern1708 = new BitSet(new long[]{0x0000000000000002L});
+    public static final BitSet FOLLOW_from_source_in_from_statement1735 = new BitSet(new long[]{0x0000000000000002L});
+    public static final BitSet FOLLOW_identifier_in_from_source1777 = new BitSet(new long[]{0x0000000800000002L,0x0000000000000001L});
+    public static final BitSet FOLLOW_paren_chunk_in_from_source1788 = new BitSet(new long[]{0x0000000000000002L,0x0000000000000001L});
+    public static final BitSet FOLLOW_expression_chain_in_from_source1802 = new BitSet(new long[]{0x0000000000000002L});
+    public static final BitSet FOLLOW_64_in_expression_chain1827 = new BitSet(new long[]{0x001FC2E7F40A3FF0L});
+    public static final BitSet FOLLOW_identifier_in_expression_chain1831 = new BitSet(new long[]{0x0000100800000002L,0x0000000000000001L});
+    public static final BitSet FOLLOW_square_chunk_in_expression_chain1862 = new BitSet(new long[]{0x0000000000000002L,0x0000000000000001L});
+    public static final BitSet FOLLOW_paren_chunk_in_expression_chain1896 = new BitSet(new long[]{0x0000000000000002L,0x0000000000000001L});
+    public static final BitSet FOLLOW_expression_chain_in_expression_chain1917 = new BitSet(new long[]{0x0000000000000002L});
+    public static final BitSet FOLLOW_ACCUMULATE_in_accumulate_statement1958 = new BitSet(new long[]{0x0000000800000000L});
+    public static final BitSet FOLLOW_LEFT_PAREN_in_accumulate_statement1968 = new BitSet(new long[]{0x0000000200000000L});
+    public static final BitSet FOLLOW_lhs_pattern_in_accumulate_statement1972 = new BitSet(new long[]{0x0000000000000000L,0x0000000000000004L});
+    public static final BitSet FOLLOW_66_in_accumulate_statement1974 = new BitSet(new long[]{0x0000000020000000L});
+    public static final BitSet FOLLOW_INIT_in_accumulate_statement1983 = new BitSet(new long[]{0x0000000800000000L});
+    public static final BitSet FOLLOW_paren_chunk_in_accumulate_statement1987 = new BitSet(new long[]{0x0000000000000000L,0x0000000000000004L});
+    public static final BitSet FOLLOW_66_in_accumulate_statement1990 = new BitSet(new long[]{0x0000000040000000L});
+    public static final BitSet FOLLOW_ACTION_in_accumulate_statement1999 = new BitSet(new long[]{0x0000000800000000L});
+    public static final BitSet FOLLOW_paren_chunk_in_accumulate_statement2003 = new BitSet(new long[]{0x0000000000000000L,0x0000000000000004L});
+    public static final BitSet FOLLOW_66_in_accumulate_statement2006 = new BitSet(new long[]{0x0000000080000000L});
+    public static final BitSet FOLLOW_RESULT_in_accumulate_statement2015 = new BitSet(new long[]{0x0000000800000000L});
+    public static final BitSet FOLLOW_paren_chunk_in_accumulate_statement2019 = new BitSet(new long[]{0x0000001000000000L});
+    public static final BitSet FOLLOW_RIGHT_PAREN_in_accumulate_statement2024 = new BitSet(new long[]{0x0000000000000002L});
+    public static final BitSet FOLLOW_COLLECT_in_collect_statement2067 = new BitSet(new long[]{0x0000000800000000L});
+    public static final BitSet FOLLOW_LEFT_PAREN_in_collect_statement2077 = new BitSet(new long[]{0x0000000200000000L});
+    public static final BitSet FOLLOW_lhs_pattern_in_collect_statement2081 = new BitSet(new long[]{0x0000001000000000L});
+    public static final BitSet FOLLOW_RIGHT_PAREN_in_collect_statement2085 = new BitSet(new long[]{0x0000000000000002L});
+    public static final BitSet FOLLOW_ID_in_fact_binding2119 = new BitSet(new long[]{0x0000000000000000L,0x0000000000000008L});
+    public static final BitSet FOLLOW_67_in_fact_binding2121 = new BitSet(new long[]{0x0000000A00000000L});
+    public static final BitSet FOLLOW_fact_expression_in_fact_binding2134 = new BitSet(new long[]{0x0000000000000002L});
+    public static final BitSet FOLLOW_LEFT_PAREN_in_fact_expression2166 = new BitSet(new long[]{0x0000000A00000000L});
+    public static final BitSet FOLLOW_fact_expression_in_fact_expression2170 = new BitSet(new long[]{0x0000001000000000L});
+    public static final BitSet FOLLOW_RIGHT_PAREN_in_fact_expression2173 = new BitSet(new long[]{0x0000000000000002L});
+    public static final BitSet FOLLOW_fact_in_fact_expression2184 = new BitSet(new long[]{0x0000000400000002L,0x0000000000000010L});
+    public static final BitSet FOLLOW_set_in_fact_expression2196 = new BitSet(new long[]{0x0000000200000000L});
+    public static final BitSet FOLLOW_fact_in_fact_expression2214 = new BitSet(new long[]{0x0000000400000002L,0x0000000000000010L});
+    public static final BitSet FOLLOW_dotted_name_in_fact2275 = new BitSet(new long[]{0x0000000800000000L});
+    public static final BitSet FOLLOW_LEFT_PAREN_in_fact2289 = new BitSet(new long[]{0x001FC2FFF40A3FF0L});
+    public static final BitSet FOLLOW_constraints_in_fact2299 = new BitSet(new long[]{0x0000001000000000L});
+    public static final BitSet FOLLOW_RIGHT_PAREN_in_fact2312 = new BitSet(new long[]{0x0000000000000002L});
+    public static final BitSet FOLLOW_constraint_in_constraints2333 = new BitSet(new long[]{0x0000000000000002L,0x0000000000000004L});
+    public static final BitSet FOLLOW_predicate_in_constraints2336 = new BitSet(new long[]{0x0000000000000002L,0x0000000000000004L});
+    public static final BitSet FOLLOW_66_in_constraints2344 = new BitSet(new long[]{0x001FC2EFF40A3FF0L});
+    public static final BitSet FOLLOW_constraint_in_constraints2347 = new BitSet(new long[]{0x0000000000000002L,0x0000000000000004L});
+    public static final BitSet FOLLOW_predicate_in_constraints2350 = new BitSet(new long[]{0x0000000000000002L,0x0000000000000004L});
+    public static final BitSet FOLLOW_ID_in_constraint2379 = new BitSet(new long[]{0x0000000000000000L,0x0000000000000008L});
+    public static final BitSet FOLLOW_67_in_constraint2381 = new BitSet(new long[]{0x001FC2E7F40A3FF0L});
+    public static final BitSet FOLLOW_identifier_in_constraint2402 = new BitSet(new long[]{0x000000E000000002L,0x0000000000003F80L});
+    public static final BitSet FOLLOW_constraint_expression_in_constraint2420 = new BitSet(new long[]{0x0000000000000002L,0x0000000000000060L});
+    public static final BitSet FOLLOW_set_in_constraint2441 = new BitSet(new long[]{0x000000E000000000L,0x0000000000003F00L});
+    public static final BitSet FOLLOW_constraint_expression_in_constraint2461 = new BitSet(new long[]{0x0000000000000002L,0x0000000000000060L});
+    public static final BitSet FOLLOW_71_in_constraint2489 = new BitSet(new long[]{0x0000000800000000L});
+    public static final BitSet FOLLOW_predicate_in_constraint2491 = new BitSet(new long[]{0x0000000000000002L});
+    public static final BitSet FOLLOW_set_in_constraint_expression2526 = new BitSet(new long[]{0x0000030A00148000L});
+    public static final BitSet FOLLOW_ID_in_constraint_expression2595 = new BitSet(new long[]{0x0000000000000002L});
+    public static final BitSet FOLLOW_enum_constraint_in_constraint_expression2611 = new BitSet(new long[]{0x0000000000000002L});
+    public static final BitSet FOLLOW_literal_constraint_in_constraint_expression2634 = new BitSet(new long[]{0x0000000000000002L});
+    public static final BitSet FOLLOW_retval_constraint_in_constraint_expression2648 = new BitSet(new long[]{0x0000000000000002L});
+    public static final BitSet FOLLOW_STRING_in_literal_constraint2687 = new BitSet(new long[]{0x0000000000000002L});
+    public static final BitSet FOLLOW_INT_in_literal_constraint2698 = new BitSet(new long[]{0x0000000000000002L});
+    public static final BitSet FOLLOW_FLOAT_in_literal_constraint2711 = new BitSet(new long[]{0x0000000000000002L});
+    public static final BitSet FOLLOW_BOOL_in_literal_constraint2722 = new BitSet(new long[]{0x0000000000000002L});
+    public static final BitSet FOLLOW_NULL_in_literal_constraint2734 = new BitSet(new long[]{0x0000000000000002L});
+    public static final BitSet FOLLOW_ID_in_enum_constraint2769 = new BitSet(new long[]{0x0000000000000000L,0x0000000000000001L});
+    public static final BitSet FOLLOW_64_in_enum_constraint2775 = new BitSet(new long[]{0x001FC2E7F40A3FF0L});
+    public static final BitSet FOLLOW_identifier_in_enum_constraint2779 = new BitSet(new long[]{0x0000000000000002L,0x0000000000000001L});
+    public static final BitSet FOLLOW_paren_chunk_in_predicate2821 = new BitSet(new long[]{0x0000000000000002L});
+    public static final BitSet FOLLOW_LEFT_PAREN_in_paren_chunk2870 = new BitSet(new long[]{0xFFFFFFFFFFFFFFF0L,0x0000000000007FFFL});
+    public static final BitSet FOLLOW_set_in_paren_chunk2886 = new BitSet(new long[]{0xFFFFFFFFFFFFFFF0L,0x0000000000007FFFL});
+    public static final BitSet FOLLOW_paren_chunk_in_paren_chunk2910 = new BitSet(new long[]{0xFFFFFFFFFFFFFFF0L,0x0000000000007FFFL});
+    public static final BitSet FOLLOW_RIGHT_PAREN_in_paren_chunk2947 = new BitSet(new long[]{0x0000000000000002L});
+    public static final BitSet FOLLOW_LEFT_CURLY_in_curly_chunk2998 = new BitSet(new long[]{0xFFFFFFFFFFFFFFF0L,0x0000000000007FFFL});
+    public static final BitSet FOLLOW_set_in_curly_chunk3014 = new BitSet(new long[]{0xFFFFFFFFFFFFFFF0L,0x0000000000007FFFL});
+    public static final BitSet FOLLOW_curly_chunk_in_curly_chunk3038 = new BitSet(new long[]{0xFFFFFFFFFFFFFFF0L,0x0000000000007FFFL});
+    public static final BitSet FOLLOW_RIGHT_CURLY_in_curly_chunk3075 = new BitSet(new long[]{0x0000000000000002L});
+    public static final BitSet FOLLOW_LEFT_SQUARE_in_square_chunk3138 = new BitSet(new long[]{0xFFFFFFFFFFFFFFF0L,0x0000000000007FFFL});
+    public static final BitSet FOLLOW_set_in_square_chunk3154 = new BitSet(new long[]{0xFFFFFFFFFFFFFFF0L,0x0000000000007FFFL});
+    public static final BitSet FOLLOW_square_chunk_in_square_chunk3178 = new BitSet(new long[]{0xFFFFFFFFFFFFFFF0L,0x0000000000007FFFL});
+    public static final BitSet FOLLOW_RIGHT_SQUARE_in_square_chunk3215 = new BitSet(new long[]{0x0000000000000002L});
+    public static final BitSet FOLLOW_paren_chunk_in_retval_constraint3260 = new BitSet(new long[]{0x0000000000000002L});
+    public static final BitSet FOLLOW_lhs_and_in_lhs_or3288 = new BitSet(new long[]{0x0000000400000002L,0x0000000000000010L});
+    public static final BitSet FOLLOW_set_in_lhs_or3296 = new BitSet(new long[]{0x000F000A00000000L});
+    public static final BitSet FOLLOW_lhs_and_in_lhs_or3307 = new BitSet(new long[]{0x0000000400000002L,0x0000000000000010L});
+    public static final BitSet FOLLOW_lhs_unary_in_lhs_and3343 = new BitSet(new long[]{0x0000400000000002L,0x0000000000004000L});
+    public static final BitSet FOLLOW_set_in_lhs_and3351 = new BitSet(new long[]{0x000F000A00000000L});
+    public static final BitSet FOLLOW_lhs_unary_in_lhs_and3362 = new BitSet(new long[]{0x0000400000000002L,0x0000000000004000L});
+    public static final BitSet FOLLOW_lhs_exist_in_lhs_unary3399 = new BitSet(new long[]{0x8000000000000002L});
+    public static final BitSet FOLLOW_lhs_not_in_lhs_unary3407 = new BitSet(new long[]{0x8000000000000002L});
+    public static final BitSet FOLLOW_lhs_eval_in_lhs_unary3415 = new BitSet(new long[]{0x8000000000000002L});
+    public static final BitSet FOLLOW_lhs_pattern_in_lhs_unary3423 = new BitSet(new long[]{0x8000800000000002L});
+    public static final BitSet FOLLOW_FROM_in_lhs_unary3439 = new BitSet(new long[]{0x001FC2E7F40A3FF0L});
+    public static final BitSet FOLLOW_accumulate_statement_in_lhs_unary3467 = new BitSet(new long[]{0x8000000000000002L});
+    public static final BitSet FOLLOW_collect_statement_in_lhs_unary3496 = new BitSet(new long[]{0x8000000000000002L});
+    public static final BitSet FOLLOW_from_statement_in_lhs_unary3531 = new BitSet(new long[]{0x8000000000000002L});
+    public static final BitSet FOLLOW_lhs_forall_in_lhs_unary3570 = new BitSet(new long[]{0x8000000000000002L});
+    public static final BitSet FOLLOW_LEFT_PAREN_in_lhs_unary3578 = new BitSet(new long[]{0x000F000A00000000L});
+    public static final BitSet FOLLOW_lhs_or_in_lhs_unary3582 = new BitSet(new long[]{0x0000001000000000L});
+    public static final BitSet FOLLOW_RIGHT_PAREN_in_lhs_unary3584 = new BitSet(new long[]{0x8000000000000002L});
+    public static final BitSet FOLLOW_opt_semicolon_in_lhs_unary3594 = new BitSet(new long[]{0x0000000000000002L});
+    public static final BitSet FOLLOW_EXISTS_in_lhs_exist3618 = new BitSet(new long[]{0x0000000A00000000L});
+    public static final BitSet FOLLOW_LEFT_PAREN_in_lhs_exist3638 = new BitSet(new long[]{0x000F000A00000000L});
+    public static final BitSet FOLLOW_lhs_or_in_lhs_exist3642 = new BitSet(new long[]{0x0000001000000000L});
+    public static final BitSet FOLLOW_RIGHT_PAREN_in_lhs_exist3674 = new BitSet(new long[]{0x0000000000000002L});
+    public static final BitSet FOLLOW_lhs_pattern_in_lhs_exist3724 = new BitSet(new long[]{0x0000000000000002L});
+    public static final BitSet FOLLOW_NOT_in_lhs_not3778 = new BitSet(new long[]{0x0000000A00000000L});
+    public static final BitSet FOLLOW_LEFT_PAREN_in_lhs_not3791 = new BitSet(new long[]{0x000F000A00000000L});
+    public static final BitSet FOLLOW_lhs_or_in_lhs_not3795 = new BitSet(new long[]{0x0000001000000000L});
+    public static final BitSet FOLLOW_RIGHT_PAREN_in_lhs_not3828 = new BitSet(new long[]{0x0000000000000002L});
+    public static final BitSet FOLLOW_lhs_pattern_in_lhs_not3865 = new BitSet(new long[]{0x0000000000000002L});
+    public static final BitSet FOLLOW_EVAL_in_lhs_eval3913 = new BitSet(new long[]{0x0000000800000000L});
+    public static final BitSet FOLLOW_paren_chunk_in_lhs_eval3917 = new BitSet(new long[]{0x0000000000000002L});
+    public static final BitSet FOLLOW_FORALL_in_lhs_forall3946 = new BitSet(new long[]{0x0000000800000000L});
+    public static final BitSet FOLLOW_LEFT_PAREN_in_lhs_forall3948 = new BitSet(new long[]{0x0000000200000000L});
+    public static final BitSet FOLLOW_lhs_pattern_in_lhs_forall3952 = new BitSet(new long[]{0x0000000200000000L,0x0000000000000004L});
+    public static final BitSet FOLLOW_66_in_lhs_forall3966 = new BitSet(new long[]{0x0000000200000000L});
+    public static final BitSet FOLLOW_lhs_pattern_in_lhs_forall3972 = new BitSet(new long[]{0x0000001200000000L,0x0000000000000004L});
+    public static final BitSet FOLLOW_RIGHT_PAREN_in_lhs_forall3987 = new BitSet(new long[]{0x0000000000000002L});
+    public static final BitSet FOLLOW_ID_in_dotted_name4018 = new BitSet(new long[]{0x0000100000000002L,0x0000000000000001L});
+    public static final BitSet FOLLOW_64_in_dotted_name4030 = new BitSet(new long[]{0x001FC2E7F40A3FF0L});
+    public static final BitSet FOLLOW_identifier_in_dotted_name4034 = new BitSet(new long[]{0x0000100000000002L,0x0000000000000001L});
+    public static final BitSet FOLLOW_LEFT_SQUARE_in_dotted_name4056 = new BitSet(new long[]{0x0000200000000000L});
+    public static final BitSet FOLLOW_RIGHT_SQUARE_in_dotted_name4060 = new BitSet(new long[]{0x0000100000000002L});
+    public static final BitSet FOLLOW_identifier_in_argument4099 = new BitSet(new long[]{0x0000100000000002L});
+    public static final BitSet FOLLOW_LEFT_SQUARE_in_argument4105 = new BitSet(new long[]{0x0000200000000000L});
+    public static final BitSet FOLLOW_RIGHT_SQUARE_in_argument4107 = new BitSet(new long[]{0x0000100000000002L});
+    public static final BitSet FOLLOW_THEN_in_rhs_chunk4151 = new BitSet(new long[]{0xFFFFFFFFFFFFFFF0L,0x0000000000007FFFL});
+    public static final BitSet FOLLOW_set_in_rhs_chunk4163 = new BitSet(new long[]{0xFFFFFFFFFFFFFFF0L,0x0000000000007FFFL});
+    public static final BitSet FOLLOW_END_in_rhs_chunk4200 = new BitSet(new long[]{0x0000000000000002L});
+    public static final BitSet FOLLOW_ID_in_name4244 = new BitSet(new long[]{0x0000000000000002L});
+    public static final BitSet FOLLOW_STRING_in_name4263 = new BitSet(new long[]{0x0000000000000002L});
+    public static final BitSet FOLLOW_ID_in_identifier4301 = new BitSet(new long[]{0x0000000000000002L});
+    public static final BitSet FOLLOW_PACKAGE_in_identifier4314 = new BitSet(new long[]{0x0000000000000002L});
+    public static final BitSet FOLLOW_FUNCTION_in_identifier4321 = new BitSet(new long[]{0x0000000000000002L});
+    public static final BitSet FOLLOW_GLOBAL_in_identifier4328 = new BitSet(new long[]{0x0000000000000002L});
+    public static final BitSet FOLLOW_IMPORT_in_identifier4335 = new BitSet(new long[]{0x0000000000000002L});
+    public static final BitSet FOLLOW_RULE_in_identifier4344 = new BitSet(new long[]{0x0000000000000002L});
+    public static final BitSet FOLLOW_QUERY_in_identifier4351 = new BitSet(new long[]{0x0000000000000002L});
+    public static final BitSet FOLLOW_TEMPLATE_in_identifier4372 = new BitSet(new long[]{0x0000000000000002L});
+    public static final BitSet FOLLOW_ATTRIBUTES_in_identifier4400 = new BitSet(new long[]{0x0000000000000002L});
+    public static final BitSet FOLLOW_ENABLED_in_identifier4426 = new BitSet(new long[]{0x0000000000000002L});
+    public static final BitSet FOLLOW_SALIENCE_in_identifier4455 = new BitSet(new long[]{0x0000000000000002L});
+    public static final BitSet FOLLOW_DURATION_in_identifier4477 = new BitSet(new long[]{0x0000000000000002L});
+    public static final BitSet FOLLOW_FROM_in_identifier4499 = new BitSet(new long[]{0x0000000000000002L});
+    public static final BitSet FOLLOW_ACCUMULATE_in_identifier4528 = new BitSet(new long[]{0x0000000000000002L});
+    public static final BitSet FOLLOW_INIT_in_identifier4550 = new BitSet(new long[]{0x0000000000000002L});
+    public static final BitSet FOLLOW_ACTION_in_identifier4579 = new BitSet(new long[]{0x0000000000000002L});
+    public static final BitSet FOLLOW_RESULT_in_identifier4608 = new BitSet(new long[]{0x0000000000000002L});
+    public static final BitSet FOLLOW_COLLECT_in_identifier4637 = new BitSet(new long[]{0x0000000000000002L});
+    public static final BitSet FOLLOW_OR_in_identifier4666 = new BitSet(new long[]{0x0000000000000002L});
+    public static final BitSet FOLLOW_AND_in_identifier4695 = new BitSet(new long[]{0x0000000000000002L});
+    public static final BitSet FOLLOW_CONTAINS_in_identifier4724 = new BitSet(new long[]{0x0000000000000002L});
+    public static final BitSet FOLLOW_EXCLUDES_in_identifier4746 = new BitSet(new long[]{0x0000000000000002L});
+    public static final BitSet FOLLOW_MATCHES_in_identifier4768 = new BitSet(new long[]{0x0000000000000002L});
+    public static final BitSet FOLLOW_NULL_in_identifier4797 = new BitSet(new long[]{0x0000000000000002L});
+    public static final BitSet FOLLOW_EXISTS_in_identifier4826 = new BitSet(new long[]{0x0000000000000002L});
+    public static final BitSet FOLLOW_NOT_in_identifier4855 = new BitSet(new long[]{0x0000000000000002L});
+    public static final BitSet FOLLOW_EVAL_in_identifier4884 = new BitSet(new long[]{0x0000000000000002L});
+    public static final BitSet FOLLOW_FORALL_in_identifier4913 = new BitSet(new long[]{0x0000000000000002L});
+    public static final BitSet FOLLOW_WHEN_in_identifier4951 = new BitSet(new long[]{0x0000000000000002L});
+    public static final BitSet FOLLOW_THEN_in_identifier4983 = new BitSet(new long[]{0x0000000000000002L});
+    public static final BitSet FOLLOW_END_in_identifier5012 = new BitSet(new long[]{0x0000000000000002L});
+    public static final BitSet FOLLOW_function_import_statement_in_synpred4114 = new BitSet(new long[]{0x0000000000000002L});
+    public static final BitSet FOLLOW_import_statement_in_synpred5120 = new BitSet(new long[]{0x0000000000000002L});
+    public static final BitSet FOLLOW_paren_chunk_in_synpred381788 = new BitSet(new long[]{0x0000000000000002L});
+    public static final BitSet FOLLOW_LEFT_SQUARE_in_synpred401854 = new BitSet(new long[]{0x0000000000000002L});
+    public static final BitSet FOLLOW_LEFT_PAREN_in_synpred411888 = new BitSet(new long[]{0x0000000000000002L});
+    public static final BitSet FOLLOW_set_in_synpred452196 = new BitSet(new long[]{0x0000000200000000L});
+    public static final BitSet FOLLOW_fact_in_synpred452214 = new BitSet(new long[]{0x0000000000000002L});
+    public static final BitSet FOLLOW_ACCUMULATE_in_synpred873458 = new BitSet(new long[]{0x0000000000000002L});
+    public static final BitSet FOLLOW_COLLECT_in_synpred883487 = new BitSet(new long[]{0x0000000000000002L});
+    public static final BitSet FOLLOW_set_in_synpred903517 = new BitSet(new long[]{0x0000000000000002L});
 
 }
\ No newline at end of file

Modified: labs/jbossrules/trunk/drools-compiler/src/main/java/org/drools/lang/DrlDumper.java
===================================================================
--- labs/jbossrules/trunk/drools-compiler/src/main/java/org/drools/lang/DrlDumper.java	2007-04-24 12:26:00 UTC (rev 11294)
+++ labs/jbossrules/trunk/drools-compiler/src/main/java/org/drools/lang/DrlDumper.java	2007-04-24 12:52:09 UTC (rev 11295)
@@ -21,7 +21,7 @@
 
 import org.drools.lang.descr.AndDescr;
 import org.drools.lang.descr.AttributeDescr;
-import org.drools.lang.descr.ColumnDescr;
+import org.drools.lang.descr.PatternDescr;
 import org.drools.lang.descr.EvalDescr;
 import org.drools.lang.descr.ExistsDescr;
 import org.drools.lang.descr.FieldBindingDescr;
@@ -93,7 +93,7 @@
         this.template = descr.getEvaluator() + " " + descr.getIdentifier();
     }
 
-    public void visitColumnDescr(final ColumnDescr descr) {
+    public void visitPatternDescr(final PatternDescr descr) {
         this.template = new String();
         if ( !descr.getDescrs().isEmpty() ) {
             if ( descr.getIdentifier() != null ) {

Modified: labs/jbossrules/trunk/drools-compiler/src/main/java/org/drools/lang/descr/AccumulateDescr.java
===================================================================
--- labs/jbossrules/trunk/drools-compiler/src/main/java/org/drools/lang/descr/AccumulateDescr.java	2007-04-24 12:26:00 UTC (rev 11294)
+++ labs/jbossrules/trunk/drools-compiler/src/main/java/org/drools/lang/descr/AccumulateDescr.java	2007-04-24 12:52:09 UTC (rev 11295)
@@ -28,8 +28,8 @@
 
     private static final long serialVersionUID = 2831283873824863255L;
 
-    private ColumnDescr       sourceColumn;
-    private ColumnDescr       resultColumn;
+    private PatternDescr      sourcePattern;
+    private PatternDescr      resultPattern;
     private String            initCode;
     private String            actionCode;
     private String            resultCode;
@@ -41,15 +41,15 @@
     }
 
     public int getLine() {
-        return this.sourceColumn.getLine();
+        return this.sourcePattern.getLine();
     }
 
-    public void setSourceColumn(final ColumnDescr sourceColumn) {
-        this.sourceColumn = sourceColumn;
+    public void setSourcePattern(final PatternDescr sourcePattern) {
+        this.sourcePattern = sourcePattern;
     }
 
-    public ColumnDescr getSourceColumn() {
-        return this.sourceColumn;
+    public PatternDescr getSourcePattern() {
+        return this.sourcePattern;
     }
 
     public String getClassMethodName() {
@@ -92,16 +92,16 @@
         this.resultCode = resultCode;
     }
 
-    public void setResultColumn(final ColumnDescr resultColumn) {
-        this.resultColumn = resultColumn;
+    public void setResultPattern(final PatternDescr resultPattern) {
+        this.resultPattern = resultPattern;
     }
 
-    public ColumnDescr getResultColumn() {
-        return this.resultColumn;
+    public PatternDescr getResultPattern() {
+        return this.resultPattern;
     }
 
     public String toString() {
-        return "[Accumulate: id=" + this.resultColumn.getIdentifier() + "; objectType=" + this.resultColumn.getObjectType() + "]";
+        return "[Accumulate: id=" + this.resultPattern.getIdentifier() + "; objectType=" + this.resultPattern.getObjectType() + "]";
     }
 
     public void addDescr(final BaseDescr patternDescr) {

Modified: labs/jbossrules/trunk/drools-compiler/src/main/java/org/drools/lang/descr/CollectDescr.java
===================================================================
--- labs/jbossrules/trunk/drools-compiler/src/main/java/org/drools/lang/descr/CollectDescr.java	2007-04-24 12:26:00 UTC (rev 11294)
+++ labs/jbossrules/trunk/drools-compiler/src/main/java/org/drools/lang/descr/CollectDescr.java	2007-04-24 12:52:09 UTC (rev 11295)
@@ -31,8 +31,8 @@
 
     private static final long serialVersionUID = -78056848363435347L;
 
-    private ColumnDescr       sourceColumn;
-    private ColumnDescr       resultColumn;
+    private PatternDescr       sourcePattern;
+    private PatternDescr       resultPattern;
     private String            classMethodName;
 
     CollectDescr() {
@@ -40,15 +40,15 @@
     }
 
     public int getLine() {
-        return this.sourceColumn.getLine();
+        return this.sourcePattern.getLine();
     }
 
-    public void setSourceColumn(final ColumnDescr sourceColumn) {
-        this.sourceColumn = sourceColumn;
+    public void setSourcePattern(final PatternDescr sourcePattern) {
+        this.sourcePattern = sourcePattern;
     }
 
-    public ColumnDescr getSourceColumn() {
-        return this.sourceColumn;
+    public PatternDescr getSourcePattern() {
+        return this.sourcePattern;
     }
 
     public String getClassMethodName() {
@@ -59,16 +59,16 @@
         this.classMethodName = classMethodName;
     }
 
-    public void setResultColumn(final ColumnDescr resultColumn) {
-        this.resultColumn = resultColumn;
+    public void setResultPattern(final PatternDescr resultPattern) {
+        this.resultPattern = resultPattern;
     }
 
-    public ColumnDescr getResultColumn() {
-        return this.resultColumn;
+    public PatternDescr getResultPattern() {
+        return this.resultPattern;
     }
 
     public String toString() {
-        return "[Collect: id=" + this.resultColumn.getIdentifier() + "; objectType=" + this.resultColumn.getObjectType() + "]";
+        return "[Collect: id=" + this.resultPattern.getIdentifier() + "; objectType=" + this.resultPattern.getObjectType() + "]";
     }
 
     public void addDescr(final BaseDescr patternDescr) {

Deleted: labs/jbossrules/trunk/drools-compiler/src/main/java/org/drools/lang/descr/ColumnDescr.java
===================================================================
--- labs/jbossrules/trunk/drools-compiler/src/main/java/org/drools/lang/descr/ColumnDescr.java	2007-04-24 12:26:00 UTC (rev 11294)
+++ labs/jbossrules/trunk/drools-compiler/src/main/java/org/drools/lang/descr/ColumnDescr.java	2007-04-24 12:52:09 UTC (rev 11295)
@@ -1,108 +0,0 @@
-package org.drools.lang.descr;
-
-/*
- * Copyright 2005 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.
- */
-
-import java.util.ArrayList;
-import java.util.Collections;
-import java.util.List;
-
-public class ColumnDescr extends BaseDescr {
-    /**
-     * 
-     */
-    private static final long serialVersionUID     = 63959215220308107L;
-    private String            objectType;
-    private String            identifier;
-    private List              descrs               = Collections.EMPTY_LIST;
-    private int               leftParentCharacter  = -1;
-    private int               rightParentCharacter = -1;
-
-    public ColumnDescr() {
-        this( null,
-              null );
-    }
-
-    public ColumnDescr(final String objectType) {
-        this( objectType,
-              null );
-    }
-
-    public ColumnDescr(final String objectType,
-                       final String identifier) {
-        this.objectType = objectType;
-        this.identifier = identifier;
-    }
-
-    public void addDescr(final BaseDescr baseDescr) {
-        if ( this.descrs == Collections.EMPTY_LIST ) {
-            this.descrs = new ArrayList( 1 );
-        }
-        this.descrs.add( baseDescr );
-    }
-
-    public void setIdentifier(final String identifier) {
-        this.identifier = identifier;
-    }
-
-    public void setObjectType(final String objectType) {
-        this.objectType = objectType;
-    }
-
-    public String getObjectType() {
-        return this.objectType;
-    }
-
-    public String getIdentifier() {
-        return this.identifier;
-    }
-
-    public List getDescrs() {
-        return this.descrs;
-    }
-
-    public String toString() {
-        return "[Column: id=" + this.identifier + "; objectType=" + this.objectType + "]";
-    }
-
-    /**
-     * @return the leftParentCharacter
-     */
-    public int getLeftParentCharacter() {
-        return this.leftParentCharacter;
-    }
-
-    /**
-     * @param leftParentCharacter the leftParentCharacter to set
-     */
-    public void setLeftParentCharacter(final int leftParentCharacter) {
-        this.leftParentCharacter = leftParentCharacter;
-    }
-
-    /**
-     * @return the rightParentCharacter
-     */
-    public int getRightParentCharacter() {
-        return this.rightParentCharacter;
-    }
-
-    /**
-     * @param rightParentCharacter the rightParentCharacter to set
-     */
-    public void setRightParentCharacter(final int rightParentCharacter) {
-        this.rightParentCharacter = rightParentCharacter;
-    }
-}
\ No newline at end of file

Modified: labs/jbossrules/trunk/drools-compiler/src/main/java/org/drools/lang/descr/FieldAccessDescr.java
===================================================================
--- labs/jbossrules/trunk/drools-compiler/src/main/java/org/drools/lang/descr/FieldAccessDescr.java	2007-04-24 12:26:00 UTC (rev 11294)
+++ labs/jbossrules/trunk/drools-compiler/src/main/java/org/drools/lang/descr/FieldAccessDescr.java	2007-04-24 12:52:09 UTC (rev 11295)
@@ -3,7 +3,7 @@
 /**
  * This represents direct field access.
  * Not a whole lot different from what you can do with the method access,
- * but in this case it is just a field by name (same as in a column).
+ * but in this case it is just a field by name (same as in a pattern).
  *
  *
  * eg: foo.bar

Modified: labs/jbossrules/trunk/drools-compiler/src/main/java/org/drools/lang/descr/FieldConstraintDescr.java
===================================================================
--- labs/jbossrules/trunk/drools-compiler/src/main/java/org/drools/lang/descr/FieldConstraintDescr.java	2007-04-24 12:26:00 UTC (rev 11294)
+++ labs/jbossrules/trunk/drools-compiler/src/main/java/org/drools/lang/descr/FieldConstraintDescr.java	2007-04-24 12:52:09 UTC (rev 11295)
@@ -22,7 +22,7 @@
 
 /**
  * This represents a literal node in the rule language. This is
- * a constraint on a single field of a column. 
+ * a constraint on a single field of a pattern. 
  * The "text" contains the content, which may also be an enumeration. 
  */
 public class FieldConstraintDescr extends BaseDescr {

Modified: labs/jbossrules/trunk/drools-compiler/src/main/java/org/drools/lang/descr/ForallDescr.java
===================================================================
--- labs/jbossrules/trunk/drools-compiler/src/main/java/org/drools/lang/descr/ForallDescr.java	2007-04-24 12:26:00 UTC (rev 11294)
+++ labs/jbossrules/trunk/drools-compiler/src/main/java/org/drools/lang/descr/ForallDescr.java	2007-04-24 12:52:09 UTC (rev 11295)
@@ -30,42 +30,42 @@
 
     private static final long serialVersionUID = 1742161904829304893L;
 
-    private List              columns;
+    private List              patterns;
 
     public ForallDescr() {
-        this.columns = new ArrayList( 2 );
+        this.patterns = new ArrayList( 2 );
     }
 
     /* (non-Javadoc)
      * @see org.drools.lang.descr.ConditionalElementDescr#addDescr(org.drools.lang.descr.BaseDescr)
      */
     public void addDescr(final BaseDescr baseDescr) {
-        // cast to make sure we are adding a column descriptor
-        this.columns.add( baseDescr );
+        // cast to make sure we are adding a pattern descriptor
+        this.patterns.add( baseDescr );
     }
 
     /* (non-Javadoc)
      * @see org.drools.lang.descr.ConditionalElementDescr#getDescrs()
      */
     public List getDescrs() {
-        return this.columns;
+        return this.patterns;
     }
 
     /**
-     * Returns the base column from the forall CE
+     * Returns the base pattern from the forall CE
      * @return
      */
-    public ColumnDescr getBaseColumn() {
-        return (this.columns.size() > 0) ? (ColumnDescr) this.columns.get( 0 ) : null;
+    public PatternDescr getBasePattern() {
+        return (this.patterns.size() > 0) ? (PatternDescr) this.patterns.get( 0 ) : null;
     }
 
     /**
-     * Returns the remaining columns from the forall CE
+     * Returns the remaining patterns from the forall CE
      * @return
      */
-    public List getRemainingColumns() {
-        return (this.columns.size() > 1) ? this.columns.subList( 1,
-                                                                 this.columns.size() ) : Collections.EMPTY_LIST;
+    public List getRemainingPatterns() {
+        return (this.patterns.size() > 1) ? this.patterns.subList( 1,
+                                                                 this.patterns.size() ) : Collections.EMPTY_LIST;
     }
 
 }

Modified: labs/jbossrules/trunk/drools-compiler/src/main/java/org/drools/lang/descr/FromDescr.java
===================================================================
--- labs/jbossrules/trunk/drools-compiler/src/main/java/org/drools/lang/descr/FromDescr.java	2007-04-24 12:26:00 UTC (rev 11294)
+++ labs/jbossrules/trunk/drools-compiler/src/main/java/org/drools/lang/descr/FromDescr.java	2007-04-24 12:52:09 UTC (rev 11295)
@@ -6,7 +6,7 @@
 public class FromDescr extends BaseDescr
     implements
     ConditionalElementDescr {
-    private ColumnDescr             column;
+    private PatternDescr             pattern;
     private DeclarativeInvokerDescr dataSource;
 
     FromDescr() {
@@ -14,11 +14,11 @@
     }
 
     public int getLine() {
-        return this.column.getLine();
+        return this.pattern.getLine();
     }
 
-    public void setColumn(final ColumnDescr column) {
-        this.column = column;
+    public void setPattern(final PatternDescr pattern) {
+        this.pattern = pattern;
     }
 
     public DeclarativeInvokerDescr getDataSource() {
@@ -29,8 +29,8 @@
         this.dataSource = dataSource;
     }
 
-    public ColumnDescr getReturnedColumn() {
-        return this.column;
+    public PatternDescr getReturnedPattern() {
+        return this.pattern;
     }
 
     public void addDescr(final BaseDescr baseDescr) {

Modified: labs/jbossrules/trunk/drools-compiler/src/main/java/org/drools/lang/descr/LiteralRestrictionDescr.java
===================================================================
--- labs/jbossrules/trunk/drools-compiler/src/main/java/org/drools/lang/descr/LiteralRestrictionDescr.java	2007-04-24 12:26:00 UTC (rev 11294)
+++ labs/jbossrules/trunk/drools-compiler/src/main/java/org/drools/lang/descr/LiteralRestrictionDescr.java	2007-04-24 12:52:09 UTC (rev 11295)
@@ -18,7 +18,7 @@
 
 /**
  * This represents a literal node in the rule language. This is
- * a constraint on a single field of a column. 
+ * a constraint on a single field of a pattern. 
  * The "text" contains the content, which may also be an enumeration. 
  */
 public class LiteralRestrictionDescr extends RestrictionDescr {

Copied: labs/jbossrules/trunk/drools-compiler/src/main/java/org/drools/lang/descr/PatternDescr.java (from rev 11268, labs/jbossrules/trunk/drools-compiler/src/main/java/org/drools/lang/descr/ColumnDescr.java)
===================================================================
--- labs/jbossrules/trunk/drools-compiler/src/main/java/org/drools/lang/descr/PatternDescr.java	                        (rev 0)
+++ labs/jbossrules/trunk/drools-compiler/src/main/java/org/drools/lang/descr/PatternDescr.java	2007-04-24 12:52:09 UTC (rev 11295)
@@ -0,0 +1,108 @@
+package org.drools.lang.descr;
+
+/*
+ * Copyright 2005 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.
+ */
+
+import java.util.ArrayList;
+import java.util.Collections;
+import java.util.List;
+
+public class PatternDescr extends BaseDescr {
+    /**
+     * 
+     */
+    private static final long serialVersionUID     = 63959215220308107L;
+    private String            objectType;
+    private String            identifier;
+    private List              descrs               = Collections.EMPTY_LIST;
+    private int               leftParentCharacter  = -1;
+    private int               rightParentCharacter = -1;
+
+    public PatternDescr() {
+        this( null,
+              null );
+    }
+
+    public PatternDescr(final String objectType) {
+        this( objectType,
+              null );
+    }
+
+    public PatternDescr(final String objectType,
+                       final String identifier) {
+        this.objectType = objectType;
+        this.identifier = identifier;
+    }
+
+    public void addDescr(final BaseDescr baseDescr) {
+        if ( this.descrs == Collections.EMPTY_LIST ) {
+            this.descrs = new ArrayList( 1 );
+        }
+        this.descrs.add( baseDescr );
+    }
+
+    public void setIdentifier(final String identifier) {
+        this.identifier = identifier;
+    }
+
+    public void setObjectType(final String objectType) {
+        this.objectType = objectType;
+    }
+
+    public String getObjectType() {
+        return this.objectType;
+    }
+
+    public String getIdentifier() {
+        return this.identifier;
+    }
+
+    public List getDescrs() {
+        return this.descrs;
+    }
+
+    public String toString() {
+        return "[Pattern: id=" + this.identifier + "; objectType=" + this.objectType + "]";
+    }
+
+    /**
+     * @return the leftParentCharacter
+     */
+    public int getLeftParentCharacter() {
+        return this.leftParentCharacter;
+    }
+
+    /**
+     * @param leftParentCharacter the leftParentCharacter to set
+     */
+    public void setLeftParentCharacter(final int leftParentCharacter) {
+        this.leftParentCharacter = leftParentCharacter;
+    }
+
+    /**
+     * @return the rightParentCharacter
+     */
+    public int getRightParentCharacter() {
+        return this.rightParentCharacter;
+    }
+
+    /**
+     * @param rightParentCharacter the rightParentCharacter to set
+     */
+    public void setRightParentCharacter(final int rightParentCharacter) {
+        this.rightParentCharacter = rightParentCharacter;
+    }
+}
\ No newline at end of file

Modified: labs/jbossrules/trunk/drools-compiler/src/main/java/org/drools/lang/descr/RestrictionDescr.java
===================================================================
--- labs/jbossrules/trunk/drools-compiler/src/main/java/org/drools/lang/descr/RestrictionDescr.java	2007-04-24 12:26:00 UTC (rev 11294)
+++ labs/jbossrules/trunk/drools-compiler/src/main/java/org/drools/lang/descr/RestrictionDescr.java	2007-04-24 12:52:09 UTC (rev 11295)
@@ -18,7 +18,7 @@
 
 /**
  * This represents a literal node in the rule language. This is
- * a constraint on a single field of a column. 
+ * a constraint on a single field of a pattern. 
  * The "text" contains the content, which may also be an enumeration. 
  */
 public class RestrictionDescr extends BaseDescr {

Modified: labs/jbossrules/trunk/drools-compiler/src/main/java/org/drools/lang/descr/RuleDescr.java
===================================================================
--- labs/jbossrules/trunk/drools-compiler/src/main/java/org/drools/lang/descr/RuleDescr.java	2007-04-24 12:26:00 UTC (rev 11294)
+++ labs/jbossrules/trunk/drools-compiler/src/main/java/org/drools/lang/descr/RuleDescr.java	2007-04-24 12:52:09 UTC (rev 11295)
@@ -31,7 +31,7 @@
     private AndDescr          lhs;
     private Object            consequence;
     private int               consequenceLine;
-    private int               consequenceColumn;
+    private int               consequencePattern;
     private int               offset;
     private List              attributes       = Collections.EMPTY_LIST;
 
@@ -96,9 +96,9 @@
     }
 
     public void setConsequenceLocation(final int line,
-                                       final int column) {
+                                       final int pattern) {
         this.consequenceLine = line;
-        this.consequenceColumn = column;
+        this.consequencePattern = pattern;
     }
 
     public void setConsequenceOffset(final int offset) {
@@ -113,7 +113,7 @@
         return this.consequenceLine;
     }
 
-    public int getConsequenceColumn() {
-        return this.consequenceColumn;
+    public int getConsequencePattern() {
+        return this.consequencePattern;
     }
 }
\ No newline at end of file

Modified: labs/jbossrules/trunk/drools-compiler/src/main/java/org/drools/lang/dsl/DefaultExpander.java
===================================================================
--- labs/jbossrules/trunk/drools-compiler/src/main/java/org/drools/lang/dsl/DefaultExpander.java	2007-04-24 12:26:00 UTC (rev 11294)
+++ labs/jbossrules/trunk/drools-compiler/src/main/java/org/drools/lang/dsl/DefaultExpander.java	2007-04-24 12:52:09 UTC (rev 11295)
@@ -52,8 +52,8 @@
     // bellow we combine and compile above expressions into a pattern object
     private static final Pattern finder       = Pattern.compile( "(" + rulesExpr + "|" + queryExpr + ")",
                                                                  Pattern.DOTALL | Pattern.MULTILINE );
-    // bellow pattern is used to find a column's constraint list
-    private static final Pattern columnFinder = Pattern.compile( "\\((.*?)\\)" );
+    // bellow pattern is used to find a pattern's constraint list
+    private static final Pattern patternFinder = Pattern.compile( "\\((.*?)\\)" );
 
     private final Map                  mappings     = new HashMap();
     private final List                 keywords     = new LinkedList();
@@ -195,7 +195,7 @@
         final String[] lines = lhs.split( "\n" ); // since we assembled the string, we know line breaks are \n
         final String[] expanded = new String[lines.length]; // buffer for expanded lines
         int lastExpanded = -1;
-        int lastColumn = -1;
+        int lastPattern = -1;
         for ( int i = 0; i < lines.length; i++ ) {
             final String trimmed = lines[i].trim();
             expanded[++lastExpanded] = lines[i];
@@ -220,13 +220,13 @@
                                                           i ) );
                 }
                 // but if the original starts with a "-", it means we need to add it
-                // as a constraint to the previous column
+                // as a constraint to the previous pattern
                 if ( trimmed.startsWith( "-" ) && (!lines[i].equals( expanded[lastExpanded] )) ) {
                     int lastMatchStart = -1;
                     int lastMatchEnd = -1;
                     String constraints = "";
-                    if ( lastColumn >= 0 ) {
-                        final Matcher m2 = columnFinder.matcher( expanded[lastColumn] );
+                    if ( lastPattern >= 0 ) {
+                        final Matcher m2 = patternFinder.matcher( expanded[lastPattern] );
                         while ( m2.find() ) {
                             lastMatchStart = m2.start();
                             lastMatchEnd = m2.end();
@@ -234,18 +234,18 @@
                         }
                     }
                     if ( lastMatchStart > -1 ) {
-                        // rebuilding previous column structure
-                        expanded[lastColumn] = expanded[lastColumn].substring( 0,
-                                                                               lastMatchStart ) + "( " + constraints + ((constraints.length() == 0) ? "" : ", ") + expanded[lastExpanded].trim() + " )" + expanded[lastColumn].substring( lastMatchEnd );
+                        // rebuilding previous pattern structure
+                        expanded[lastPattern] = expanded[lastPattern].substring( 0,
+                                                                               lastMatchStart ) + "( " + constraints + ((constraints.length() == 0) ? "" : ", ") + expanded[lastExpanded].trim() + " )" + expanded[lastPattern].substring( lastMatchEnd );
                     } else {
-                        // error, column not found to add constraint to
+                        // error, pattern not found to add constraint to
                         // TODO: can we report character position?
-                        this.addError( new ExpanderException( "No column was found to add the constraint to: " + lines[i],
+                        this.addError( new ExpanderException( "No pattern was found to add the constraint to: " + lines[i],
                                                               i ) );
                     }
                     lastExpanded--;
                 } else {
-                    lastColumn = lastExpanded;
+                    lastPattern = lastExpanded;
                 }
             }
         }

Modified: labs/jbossrules/trunk/drools-compiler/src/main/java/org/drools/rule/builder/AccumulateBuilder.java
===================================================================
--- labs/jbossrules/trunk/drools-compiler/src/main/java/org/drools/rule/builder/AccumulateBuilder.java	2007-04-24 12:26:00 UTC (rev 11294)
+++ labs/jbossrules/trunk/drools-compiler/src/main/java/org/drools/rule/builder/AccumulateBuilder.java	2007-04-24 12:52:09 UTC (rev 11295)
@@ -7,11 +7,11 @@
 public interface AccumulateBuilder {
 
     /* (non-Javadoc)
-     * @see org.drools.semantics.java.builder.ConditionalElementBuilder#build(org.drools.semantics.java.builder.BuildContext, org.drools.semantics.java.builder.BuildUtils, org.drools.semantics.java.builder.ColumnBuilder, org.drools.lang.descr.BaseDescr)
+     * @see org.drools.semantics.java.builder.ConditionalElementBuilder#build(org.drools.semantics.java.builder.BuildContext, org.drools.semantics.java.builder.BuildUtils, org.drools.semantics.java.builder.PatternBuilder, org.drools.lang.descr.BaseDescr)
      */
     public ConditionalElement build(BuildContext context,
                                     BuildUtils utils,
-                                    ColumnBuilder columnBuilder,
+                                    PatternBuilder patternBuilder,
                                     BaseDescr descr);
 
 }
\ No newline at end of file

Modified: labs/jbossrules/trunk/drools-compiler/src/main/java/org/drools/rule/builder/BuildContext.java
===================================================================
--- labs/jbossrules/trunk/drools-compiler/src/main/java/org/drools/rule/builder/BuildContext.java	2007-04-24 12:26:00 UTC (rev 11294)
+++ labs/jbossrules/trunk/drools-compiler/src/main/java/org/drools/rule/builder/BuildContext.java	2007-04-24 12:52:09 UTC (rev 11295)
@@ -52,8 +52,8 @@
     // available declarationResolver 
     private DeclarationScopeResolver declarationResolver;
 
-    // a simple counter for columns
-    private int                      columnId = -1;
+    // a simple counter for patterns
+    private int                      patternId = -1;
 
     // errors found when building the current context
     private List                     errors;
@@ -209,16 +209,16 @@
         return this.counter++;
     }
 
-    public int getColumnId() {
-        return this.columnId;
+    public int getPatternId() {
+        return this.patternId;
     }
 
-    public int getNextColumnId() {
-        return ++this.columnId;
+    public int getNextPatternId() {
+        return ++this.patternId;
     }
 
-    public void setColumnId(final int columnId) {
-        this.columnId = columnId;
+    public void setPatternId(final int patternId) {
+        this.patternId = patternId;
     }
 
     public String getRuleClass() {

Modified: labs/jbossrules/trunk/drools-compiler/src/main/java/org/drools/rule/builder/CollectBuilder.java
===================================================================
--- labs/jbossrules/trunk/drools-compiler/src/main/java/org/drools/rule/builder/CollectBuilder.java	2007-04-24 12:26:00 UTC (rev 11294)
+++ labs/jbossrules/trunk/drools-compiler/src/main/java/org/drools/rule/builder/CollectBuilder.java	2007-04-24 12:52:09 UTC (rev 11295)
@@ -19,7 +19,7 @@
 import org.drools.lang.descr.BaseDescr;
 import org.drools.lang.descr.CollectDescr;
 import org.drools.rule.Collect;
-import org.drools.rule.Column;
+import org.drools.rule.Pattern;
 import org.drools.rule.ConditionalElement;
 import org.drools.rule.builder.dialect.java.BuildUtils;
 
@@ -32,32 +32,32 @@
     ConditionalElementBuilder {
 
     /* (non-Javadoc)
-     * @see org.drools.semantics.java.builder.ConditionalElementBuilder#build(org.drools.semantics.java.builder.BuildContext, org.drools.semantics.java.builder.BuildUtils, org.drools.semantics.java.builder.ColumnBuilder, org.drools.lang.descr.BaseDescr)
+     * @see org.drools.semantics.java.builder.ConditionalElementBuilder#build(org.drools.semantics.java.builder.BuildContext, org.drools.semantics.java.builder.BuildUtils, org.drools.semantics.java.builder.PatternBuilder, org.drools.lang.descr.BaseDescr)
      */
     public ConditionalElement build(final BuildContext context,
                                     final BuildUtils utils,
-                                    final ColumnBuilder columnBuilder,
+                                    final PatternBuilder patternBuilder,
                                     final BaseDescr descr) {
 
         final CollectDescr collectDescr = (CollectDescr) descr;
 
-        final Column sourceColumn = columnBuilder.build( context,
-                                                   utils,
-                                                   collectDescr.getSourceColumn() );
+        final Pattern sourcePattern = patternBuilder.build( context,
+                                                            utils,
+                                                            collectDescr.getSourcePattern() );
 
-        if ( sourceColumn == null ) {
+        if ( sourcePattern == null ) {
             return null;
         }
 
-        final Column resultColumn = columnBuilder.build( context,
-                                                   utils,
-                                                   collectDescr.getResultColumn() );
+        final Pattern resultPattern = patternBuilder.build( context,
+                                                            utils,
+                                                            collectDescr.getResultPattern() );
 
         final String className = "collect" + context.getNextId();
         collectDescr.setClassMethodName( className );
 
-        final Collect collect = new Collect( sourceColumn,
-                                       resultColumn );
+        final Collect collect = new Collect( sourcePattern,
+                                             resultPattern );
         return collect;
     }
 

Deleted: labs/jbossrules/trunk/drools-compiler/src/main/java/org/drools/rule/builder/ColumnBuilder.java
===================================================================
--- labs/jbossrules/trunk/drools-compiler/src/main/java/org/drools/rule/builder/ColumnBuilder.java	2007-04-24 12:26:00 UTC (rev 11294)
+++ labs/jbossrules/trunk/drools-compiler/src/main/java/org/drools/rule/builder/ColumnBuilder.java	2007-04-24 12:52:09 UTC (rev 11295)
@@ -1,679 +0,0 @@
-/*
- * Copyright 2006 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.
- */
-
-package org.drools.rule.builder;
-
-import java.util.ArrayList;
-import java.util.Iterator;
-import java.util.List;
-
-import org.apache.commons.jci.utils.ClassUtils;
-import org.drools.RuntimeDroolsException;
-import org.drools.base.ClassObjectType;
-import org.drools.base.FieldFactory;
-import org.drools.base.ShadowProxyFactory;
-import org.drools.base.ValueType;
-import org.drools.base.evaluators.Operator;
-import org.drools.compiler.RuleError;
-import org.drools.facttemplates.FactTemplate;
-import org.drools.facttemplates.FactTemplateFieldExtractor;
-import org.drools.facttemplates.FactTemplateObjectType;
-import org.drools.lang.descr.BaseDescr;
-import org.drools.lang.descr.ColumnDescr;
-import org.drools.lang.descr.FieldBindingDescr;
-import org.drools.lang.descr.FieldConstraintDescr;
-import org.drools.lang.descr.LiteralRestrictionDescr;
-import org.drools.lang.descr.PredicateDescr;
-import org.drools.lang.descr.RestrictionConnectiveDescr;
-import org.drools.lang.descr.RestrictionDescr;
-import org.drools.lang.descr.ReturnValueRestrictionDescr;
-import org.drools.lang.descr.VariableRestrictionDescr;
-import org.drools.rule.AndCompositeRestriction;
-import org.drools.rule.Column;
-import org.drools.rule.Declaration;
-import org.drools.rule.LiteralConstraint;
-import org.drools.rule.LiteralRestriction;
-import org.drools.rule.MultiRestrictionFieldConstraint;
-import org.drools.rule.OrCompositeRestriction;
-import org.drools.rule.PredicateConstraint;
-import org.drools.rule.ReturnValueConstraint;
-import org.drools.rule.ReturnValueRestriction;
-import org.drools.rule.VariableConstraint;
-import org.drools.rule.VariableRestriction;
-import org.drools.rule.builder.dialect.java.BuildUtils;
-import org.drools.spi.Evaluator;
-import org.drools.spi.FieldExtractor;
-import org.drools.spi.FieldValue;
-import org.drools.spi.ObjectType;
-import org.drools.spi.Restriction;
-
-/**
- * A builder for columns
- * 
- * @author etirelli
- */
-public class ColumnBuilder {
-
-    private Dialect dialect;
-
-    public ColumnBuilder(final Dialect dialect) {
-        this.dialect = dialect;
-    }
-
-    /**
-     * Build a column for the given descriptor in the current 
-     * context and using the given utils object
-     * 
-     * @param context
-     * @param utils
-     * @param columnDescr
-     * @return
-     */
-    public Column build(final BuildContext context,
-                        final BuildUtils utils,
-                        final ColumnDescr columnDescr) {
-
-        if ( columnDescr.getObjectType() == null || columnDescr.getObjectType().equals( "" ) ) {
-            context.getErrors().add( new RuleError( context.getRule(),
-                                                    columnDescr,
-                                                    null,
-                                                    "ObjectType not correctly defined" ) );
-            return null;
-        }
-
-        ObjectType objectType = null;
-
-        final FactTemplate factTemplate = context.getPkg().getFactTemplate( columnDescr.getObjectType() );
-
-        if ( factTemplate != null ) {
-            objectType = new FactTemplateObjectType( factTemplate );
-        } else {
-            try {
-                final Class userProvidedClass = utils.getTypeResolver().resolveType( columnDescr.getObjectType() );
-                final String shadowProxyName = ShadowProxyFactory.getProxyClassNameForClass( userProvidedClass );
-                Class shadowClass = null;
-                try {
-                    // if already loaded
-                    shadowClass = context.getPkg().getPackageCompilationData().getClassLoader().loadClass( shadowProxyName );
-                } catch ( final ClassNotFoundException cnfe ) {
-                    // otherwise, create and load
-                    final byte[] proxyBytes = ShadowProxyFactory.getProxyBytes( userProvidedClass );
-                    if ( proxyBytes != null ) {
-                        context.getPkg().getPackageCompilationData().write( ClassUtils.convertClassToResourcePath( shadowProxyName ),
-                                                                            proxyBytes );
-                        shadowClass = context.getPkg().getPackageCompilationData().getClassLoader().loadClass( shadowProxyName );
-                    }
-
-                }
-                objectType = new ClassObjectType( userProvidedClass,
-                                                  shadowClass );
-            } catch ( final ClassNotFoundException e ) {
-                context.getErrors().add( new RuleError( context.getRule(),
-                                                        columnDescr,
-                                                        null,
-                                                        "Unable to resolve ObjectType '" + columnDescr.getObjectType() + "'" ) );
-                return null;
-            }
-        }
-
-        Column column;
-        if ( columnDescr.getIdentifier() != null && !columnDescr.getIdentifier().equals( "" ) ) {
-
-            if ( context.getDeclarationResolver().isDuplicated( columnDescr.getIdentifier() ) ) {
-                // This declaration already  exists, so throw an Exception
-                context.getErrors().add( new RuleError( context.getRule(),
-                                                        columnDescr,
-                                                        null,
-                                                        "Duplicate declaration for variable '" + columnDescr.getIdentifier() + "' in the rule '" + context.getRule().getName() + "'" ) );
-            }
-
-            column = new Column( context.getNextColumnId(),
-                                 0, // offset is 0 by default
-                                 objectType,
-                                 columnDescr.getIdentifier() );
-        } else {
-            column = new Column( context.getNextColumnId(),
-                                 0, // offset is 0 by default
-                                 objectType,
-                                 null );
-        }
-        // adding the newly created column to the build stack
-        // this is necessary in case of local declaration usage
-        context.getBuildStack().push( column );
-
-        for ( final Iterator it = columnDescr.getDescrs().iterator(); it.hasNext(); ) {
-            final Object object = it.next();
-            if ( object instanceof FieldBindingDescr ) {
-                build( context,
-                       utils,
-                       column,
-                       (FieldBindingDescr) object );
-            } else if ( object instanceof FieldConstraintDescr ) {
-                build( context,
-                       utils,
-                       column,
-                       (FieldConstraintDescr) object );
-            } else if ( object instanceof PredicateDescr ) {
-                build( context,
-                       utils,
-                       column,
-                       (PredicateDescr) object );
-            }
-        }
-        // poping the column
-        context.getBuildStack().pop();
-        return column;
-    }
-
-    private void build(final BuildContext context,
-                       final BuildUtils utils,
-                       final Column column,
-                       final FieldConstraintDescr fieldConstraintDescr) {
-
-        final FieldExtractor extractor = getFieldExtractor( context,
-                                                            utils,
-                                                            fieldConstraintDescr,
-                                                            column.getObjectType(),
-                                                            fieldConstraintDescr.getFieldName(),
-                                                            true );
-        if ( extractor == null ) {
-            // @todo log error
-            return;
-        }
-
-        if ( fieldConstraintDescr.getRestrictions().size() == 1 ) {
-            final Object object = fieldConstraintDescr.getRestrictions().get( 0 );
-
-            final Restriction restriction = buildRestriction( context,
-                                                              utils,
-                                                              column,
-                                                              extractor,
-                                                              fieldConstraintDescr,
-                                                              (RestrictionDescr) object );
-            if ( restriction == null ) {
-                // @todo log errors
-                return;
-            }
-
-            if ( object instanceof LiteralRestrictionDescr ) {
-                column.addConstraint( new LiteralConstraint( extractor,
-                                                             (LiteralRestriction) restriction ) );
-            } else if ( object instanceof VariableRestrictionDescr ) {
-                column.addConstraint( new VariableConstraint( extractor,
-                                                              (VariableRestriction) restriction ) );
-            } else if ( object instanceof ReturnValueRestrictionDescr ) {
-                column.addConstraint( new ReturnValueConstraint( extractor,
-                                                                 (ReturnValueRestriction) restriction ) );
-            }
-
-            return;
-        }
-
-        final List orList = new ArrayList();
-        List andList = null;
-
-        RestrictionDescr currentRestriction = null;
-        RestrictionDescr previousRestriction = null;
-
-        List currentList = null;
-        List previousList = null;
-
-        for ( final Iterator it = fieldConstraintDescr.getRestrictions().iterator(); it.hasNext(); ) {
-            final Object object = it.next();
-
-            // Process an and/or connective 
-            if ( object instanceof RestrictionConnectiveDescr ) {
-
-                // is the connective an 'and'?
-                if ( ((RestrictionConnectiveDescr) object).getConnective() == RestrictionConnectiveDescr.AND ) {
-                    // if andList is null, then we know its the first
-                    if ( andList == null ) {
-                        andList = new ArrayList();
-                    }
-                    previousList = currentList;
-                    currentList = andList;
-                } else {
-                    previousList = currentList;
-                    currentList = orList;
-                }
-            } else {
-                Restriction restriction = null;
-                if ( currentList != null ) {
-                    // Are we are at the first operator? if so treat differently
-                    if ( previousList == null ) {
-                        restriction = buildRestriction( context,
-                                                        utils,
-                                                        column,
-                                                        extractor,
-                                                        fieldConstraintDescr,
-                                                        previousRestriction );
-                        if ( currentList == andList ) {
-                            andList.add( restriction );
-                        } else {
-                            orList.add( restriction );
-                        }
-                    } else {
-                        restriction = buildRestriction( context,
-                                                        utils,
-                                                        column,
-                                                        extractor,
-                                                        fieldConstraintDescr,
-                                                        previousRestriction );
-
-                        if ( previousList == andList && currentList == orList ) {
-                            andList.add( restriction );
-                            if ( andList.size() == 1 ) {
-                                // Can't have an 'and' connective with one child, so add directly to the or list
-                                orList.add( andList.get( 0 ) );
-                            } else {
-                                final Restriction restrictions = new AndCompositeRestriction( (Restriction[]) andList.toArray( new Restriction[andList.size()] ) );
-                                orList.add( restrictions );
-                            }
-                            andList = null;
-                        } else if ( previousList == andList && currentList == andList ) {
-                            andList.add( restriction );
-                        } else if ( previousList == orList && currentList == andList ) {
-                            andList.add( restriction );
-                        } else if ( previousList == orList && currentList == orList ) {
-                            orList.add( restriction );
-                        }
-                    }
-                }
-            }
-            previousRestriction = currentRestriction;
-            currentRestriction = (RestrictionDescr) object;
-        }
-
-        final Restriction restriction = buildRestriction( context,
-                                                          utils,
-                                                          column,
-                                                          extractor,
-                                                          fieldConstraintDescr,
-                                                          currentRestriction );
-        currentList.add( restriction );
-
-        Restriction restrictions = null;
-        if ( currentList == andList && !orList.isEmpty() ) {
-            // Check if it finished with an and, and process it
-            if ( andList != null ) {
-                if ( andList.size() == 1 ) {
-                    // Can't have an 'and' connective with one child, so add directly to the or list
-                    orList.add( andList.get( 0 ) );
-                } else {
-                    orList.add( new AndCompositeRestriction( (Restriction[]) andList.toArray( new Restriction[andList.size()] ) ) );
-                }
-                andList = null;
-            }
-        }
-
-        if ( !orList.isEmpty() ) {
-            restrictions = new OrCompositeRestriction( (Restriction[]) orList.toArray( new Restriction[orList.size()] ) );
-        } else if ( andList != null && !andList.isEmpty() ) {
-            restrictions = new AndCompositeRestriction( (Restriction[]) andList.toArray( new Restriction[andList.size()] ) );
-        } else {
-            // @todo throw error
-        }
-
-        column.addConstraint( new MultiRestrictionFieldConstraint( extractor,
-                                                                   restrictions ) );
-    }
-
-    private void build(final BuildContext context,
-                       final BuildUtils utils,
-                       final Column column,
-                       final FieldBindingDescr fieldBindingDescr) {
-
-        if ( context.getDeclarationResolver().isDuplicated( fieldBindingDescr.getIdentifier() ) ) {
-            // This declaration already  exists, so throw an Exception
-            context.getErrors().add( new RuleError( context.getRule(),
-                                                    fieldBindingDescr,
-                                                    null,
-                                                    "Duplicate declaration for variable '" + fieldBindingDescr.getIdentifier() + "' in the rule '" + context.getRule().getName() + "'" ) );
-            return;
-        }
-
-        final FieldExtractor extractor = getFieldExtractor( context,
-                                                            utils,
-                                                            fieldBindingDescr,
-                                                            column.getObjectType(),
-                                                            fieldBindingDescr.getFieldName(),
-                                                            true );
-        if ( extractor == null ) {
-            return;
-        }
-
-        column.addDeclaration( fieldBindingDescr.getIdentifier(),
-                               extractor );
-    }
-
-    private void build(final BuildContext context,
-                       final BuildUtils utils,
-                       final Column column,
-                       final PredicateDescr predicateDescr) {
-
-        // this will return an array with 3 lists
-        // where first list is from rule local variables
-        // second list is from global variables
-        // and third is for unbound variables
-        final List[] usedIdentifiers = utils.getUsedIdentifiers( context,
-                                                                 predicateDescr,
-                                                                 predicateDescr.getContent() );
-        final List tupleDeclarations = new ArrayList();
-        final List factDeclarations = new ArrayList();
-        for ( int i = 0, size = usedIdentifiers[0].size(); i < size; i++ ) {
-            final Declaration decl = context.getDeclarationResolver().getDeclaration( (String) usedIdentifiers[0].get( i ) );
-            if ( decl.getColumn() == column ) {
-                factDeclarations.add( decl );
-            } else {
-                tupleDeclarations.add( decl );
-            }
-        }
-        final int NOT_BOUND_INDEX = usedIdentifiers.length - 1;
-        this.createImplicitBindings( context,
-                                     utils,
-                                     column,
-                                     usedIdentifiers[NOT_BOUND_INDEX],
-                                     factDeclarations );
-
-        final Declaration[] previousDeclarations = (Declaration[]) tupleDeclarations.toArray( new Declaration[tupleDeclarations.size()] );
-        final Declaration[] localDeclarations = (Declaration[]) factDeclarations.toArray( new Declaration[factDeclarations.size()] );
-        final String[] requiredGlobals = (String[]) usedIdentifiers[1].toArray( new String[usedIdentifiers[1].size()] );
-
-        final PredicateConstraint predicateConstraint = new PredicateConstraint( null,
-                                                                                 previousDeclarations,
-                                                                                 localDeclarations,
-                                                                                 requiredGlobals );
-        column.addConstraint( predicateConstraint );
-
-        final PredicateBuilder builder = this.dialect.getPredicateBuilder();
-
-        builder.build( context,
-                       utils,
-                       usedIdentifiers,
-                       previousDeclarations,
-                       localDeclarations,
-                       predicateConstraint,
-                       predicateDescr );
-
-    }
-
-    /**
-     * @param context
-     * @param utils
-     * @param column
-     * @param usedIdentifiers
-     * @param NOT_BOUND_INDEX
-     * @param factDeclarations
-     */
-    private void createImplicitBindings(final BuildContext context,
-                                        final BuildUtils utils,
-                                        final Column column,
-                                        final List unboundIdentifiers,
-                                        final List factDeclarations) {
-        // the following will create the implicit bindings
-        for ( int i = 0, size = unboundIdentifiers.size(); i < size; i++ ) {
-            final String identifier = (String) unboundIdentifiers.get( i );
-            final FieldBindingDescr implicitBinding = new FieldBindingDescr( identifier,
-                                                                       identifier );
-
-            final FieldExtractor extractor = getFieldExtractor( context,
-                                                                utils,
-                                                                implicitBinding,
-                                                                column.getObjectType(),
-                                                                implicitBinding.getFieldName(),
-                                                                false );
-            if ( extractor == null ) {
-                continue;
-            }
-
-            final Declaration declaration = new Declaration( identifier,
-                                                             extractor,
-                                                             column );
-            factDeclarations.add( declaration );
-        }
-    }
-
-    private Restriction buildRestriction(final BuildContext context,
-                                         final BuildUtils utils,
-                                         final Column column,
-                                         final FieldExtractor extractor,
-                                         final FieldConstraintDescr fieldConstraintDescr,
-                                         final RestrictionDescr restrictionDescr) {
-        Restriction restriction = null;
-        if ( restrictionDescr instanceof LiteralRestrictionDescr ) {
-            restriction = buildRestriction( context,
-                                            utils,
-                                            extractor,
-                                            fieldConstraintDescr,
-                                            (LiteralRestrictionDescr) restrictionDescr );
-        } else if ( restrictionDescr instanceof VariableRestrictionDescr ) {
-            restriction = buildRestriction( context,
-                                            extractor,
-                                            fieldConstraintDescr,
-                                            (VariableRestrictionDescr) restrictionDescr );
-        } else if ( restrictionDescr instanceof ReturnValueRestrictionDescr ) {
-            restriction = buildRestriction( context,
-                                            utils,
-                                            column,
-                                            extractor,
-                                            fieldConstraintDescr,
-                                            (ReturnValueRestrictionDescr) restrictionDescr );
-
-        }
-
-        return restriction;
-    }
-
-    private VariableRestriction buildRestriction(final BuildContext context,
-                                                 final FieldExtractor extractor,
-                                                 final FieldConstraintDescr fieldConstraintDescr,
-                                                 final VariableRestrictionDescr variableRestrictionDescr) {
-        if ( variableRestrictionDescr.getIdentifier() == null || variableRestrictionDescr.getIdentifier().equals( "" ) ) {
-            context.getErrors().add( new RuleError( context.getRule(),
-                                                    variableRestrictionDescr,
-                                                    null,
-                                                    "Identifier not defined for binding field '" + fieldConstraintDescr.getFieldName() + "'" ) );
-            return null;
-        }
-
-        final Declaration declaration = context.getDeclarationResolver().getDeclaration( variableRestrictionDescr.getIdentifier() );
-
-        //        if ( declaration == null ) {
-        //            build( context, th)
-        //            // lazily create teh declaration
-        //        }        
-
-        if ( declaration == null ) {
-            context.getErrors().add( new RuleError( context.getRule(),
-                                                    variableRestrictionDescr,
-                                                    null,
-                                                    "Unable to return Declaration for identifier '" + variableRestrictionDescr.getIdentifier() + "'" ) );
-            return null;
-        }
-
-        final Evaluator evaluator = getEvaluator( context,
-                                                  variableRestrictionDescr,
-                                                  extractor.getValueType(),
-                                                  variableRestrictionDescr.getEvaluator() );
-        if ( evaluator == null ) {
-            return null;
-        }
-
-        return new VariableRestriction( extractor,
-                                        declaration,
-                                        evaluator );
-    }
-
-    private LiteralRestriction buildRestriction(final BuildContext context,
-                                                final BuildUtils utils,
-                                                final FieldExtractor extractor,
-                                                final FieldConstraintDescr fieldConstraintDescr,
-                                                final LiteralRestrictionDescr literalRestrictionDescr) {
-        FieldValue field = null;
-        if ( literalRestrictionDescr.isStaticFieldValue() ) {
-            final int lastDot = literalRestrictionDescr.getText().lastIndexOf( '.' );
-            final String className = literalRestrictionDescr.getText().substring( 0,
-                                                                                  lastDot );
-            final String fieldName = literalRestrictionDescr.getText().substring( lastDot + 1 );
-            try {
-                final Class staticClass = utils.getTypeResolver().resolveType( className );
-                field = FieldFactory.getFieldValue( staticClass.getField( fieldName ).get( null ),
-                                                    extractor.getValueType() );
-            } catch ( final ClassNotFoundException e ) {
-                context.getErrors().add( new RuleError( context.getRule(),
-                                                        literalRestrictionDescr,
-                                                        e,
-                                                        e.getMessage() ) );
-            } catch ( final Exception e ) {
-                context.getErrors().add( new RuleError( context.getRule(),
-                                                        literalRestrictionDescr,
-                                                        e,
-                                                        "Unable to create a Field value of type  '" + extractor.getValueType() + "' and value '" + literalRestrictionDescr.getText() + "'" ) );
-            }
-
-        } else {
-            try {
-                field = FieldFactory.getFieldValue( literalRestrictionDescr.getText(),
-                                                    extractor.getValueType() );
-            } catch ( final Exception e ) {
-                context.getErrors().add( new RuleError( context.getRule(),
-                                                        literalRestrictionDescr,
-                                                        e,
-                                                        "Unable to create a Field value of type  '" + extractor.getValueType() + "' and value '" + literalRestrictionDescr.getText() + "'" ) );
-            }
-        }
-
-        final Evaluator evaluator = getEvaluator( context,
-                                                  literalRestrictionDescr,
-                                                  extractor.getValueType(),
-                                                  literalRestrictionDescr.getEvaluator() );
-        if ( evaluator == null ) {
-            return null;
-        }
-
-        return new LiteralRestriction( field,
-                                       evaluator,
-                                       extractor );
-    }
-
-    private ReturnValueRestriction buildRestriction(final BuildContext context,
-                                                    final BuildUtils utils,
-                                                    final Column column,
-                                                    final FieldExtractor extractor,
-                                                    final FieldConstraintDescr fieldConstraintDescr,
-                                                    final ReturnValueRestrictionDescr returnValueRestrictionDescr) {
-        final List[] usedIdentifiers = utils.getUsedIdentifiers( context,
-                                                                 returnValueRestrictionDescr,
-                                                                 returnValueRestrictionDescr.getContent() );
-
-        final List tupleDeclarations = new ArrayList();
-        final List factDeclarations = new ArrayList();
-        for ( int i = 0, size = usedIdentifiers[0].size(); i < size; i++ ) {
-            final Declaration declaration = context.getDeclarationResolver().getDeclaration( (String) usedIdentifiers[0].get( i ) );
-            if ( declaration.getColumn() == column ) {
-                factDeclarations.add( declaration );
-            } else {
-                tupleDeclarations.add( declaration );
-            }
-        }
-
-        final int NOT_BOUND_INDEX = usedIdentifiers.length - 1;
-        this.createImplicitBindings( context,
-                                     utils,
-                                     column,
-                                     usedIdentifiers[NOT_BOUND_INDEX],
-                                     factDeclarations );
-
-        final Evaluator evaluator = getEvaluator( context,
-                                                  returnValueRestrictionDescr,
-                                                  extractor.getValueType(),
-                                                  returnValueRestrictionDescr.getEvaluator() );
-        if ( evaluator == null ) {
-            return null;
-        }
-
-        final Declaration[] previousDeclarations = (Declaration[]) tupleDeclarations.toArray( new Declaration[tupleDeclarations.size()] );
-        final Declaration[] localDeclarations = (Declaration[]) factDeclarations.toArray( new Declaration[factDeclarations.size()] );
-        final String[] requiredGlobals = (String[]) usedIdentifiers[1].toArray( new String[usedIdentifiers[1].size()] );
-        final ReturnValueRestriction returnValueRestriction = new ReturnValueRestriction( extractor,
-                                                                                          previousDeclarations,
-                                                                                          localDeclarations,
-                                                                                          requiredGlobals,
-                                                                                          evaluator );
-
-        final ReturnValueBuilder builder = this.dialect.getReturnValueBuilder();
-
-        builder.build( context,
-                       utils,
-                       usedIdentifiers,
-                       previousDeclarations,
-                       localDeclarations,
-                       returnValueRestriction,
-                       returnValueRestrictionDescr );
-
-        return returnValueRestriction;
-    }
-
-    private FieldExtractor getFieldExtractor(final BuildContext context,
-                                             final BuildUtils utils,
-                                             final BaseDescr descr,
-                                             final ObjectType objectType,
-                                             final String fieldName,
-                                             final boolean reportError) {
-        FieldExtractor extractor = null;
-
-        if ( objectType.getValueType() == ValueType.FACTTEMPLATE_TYPE ) {
-            //@todo use extractor cache            
-            final FactTemplate factTemplate = ((FactTemplateObjectType) objectType).getFactTemplate();
-            extractor = new FactTemplateFieldExtractor( factTemplate,
-                                                        factTemplate.getFieldTemplateIndex( fieldName ) );
-        } else {
-            try {
-                ClassLoader classloader = context.getPkg().getPackageCompilationData().getClassLoader();
-                extractor = utils.getClassFieldExtractorCache().getExtractor( ((ClassObjectType) objectType).getClassType(),
-                                                                              fieldName,
-                                                                              classloader );
-            } catch ( final RuntimeDroolsException e ) {
-                if ( reportError ) {
-                    context.getErrors().add( new RuleError( context.getRule(),
-                                                            descr,
-                                                            e,
-                                                            "Unable to create Field Extractor for '" + fieldName + "'" ) );
-                }
-            }
-        }
-
-        return extractor;
-    }
-
-    private Evaluator getEvaluator(final BuildContext context,
-                                   final BaseDescr descr,
-                                   final ValueType valueType,
-                                   final String evaluatorString) {
-
-        final Evaluator evaluator = valueType.getEvaluator( Operator.determineOperator( evaluatorString ) );
-
-        if ( evaluator == null ) {
-            context.getErrors().add( new RuleError( context.getRule(),
-                                                    descr,
-                                                    null,
-                                                    "Unable to determine the Evaluator for  '" + valueType + "' and '" + evaluatorString + "'" ) );
-        }
-
-        return evaluator;
-    }
-
-}

Modified: labs/jbossrules/trunk/drools-compiler/src/main/java/org/drools/rule/builder/ConditionalElementBuilder.java
===================================================================
--- labs/jbossrules/trunk/drools-compiler/src/main/java/org/drools/rule/builder/ConditionalElementBuilder.java	2007-04-24 12:26:00 UTC (rev 11294)
+++ labs/jbossrules/trunk/drools-compiler/src/main/java/org/drools/rule/builder/ConditionalElementBuilder.java	2007-04-24 12:52:09 UTC (rev 11295)
@@ -30,7 +30,7 @@
 
     public ConditionalElement build(final BuildContext context,
                                     final BuildUtils utils,
-                                    final ColumnBuilder columnBuilder,
+                                    final PatternBuilder patternBuilder,
                                     final BaseDescr descr);
 
 }

Modified: labs/jbossrules/trunk/drools-compiler/src/main/java/org/drools/rule/builder/ForallBuilder.java
===================================================================
--- labs/jbossrules/trunk/drools-compiler/src/main/java/org/drools/rule/builder/ForallBuilder.java	2007-04-24 12:26:00 UTC (rev 11294)
+++ labs/jbossrules/trunk/drools-compiler/src/main/java/org/drools/rule/builder/ForallBuilder.java	2007-04-24 12:52:09 UTC (rev 11295)
@@ -19,9 +19,9 @@
 import java.util.Iterator;
 
 import org.drools.lang.descr.BaseDescr;
-import org.drools.lang.descr.ColumnDescr;
+import org.drools.lang.descr.PatternDescr;
 import org.drools.lang.descr.ForallDescr;
-import org.drools.rule.Column;
+import org.drools.rule.Pattern;
 import org.drools.rule.ConditionalElement;
 import org.drools.rule.Forall;
 import org.drools.rule.builder.dialect.java.BuildUtils;
@@ -35,33 +35,33 @@
     ConditionalElementBuilder {
 
     /* (non-Javadoc)
-     * @see org.drools.semantics.java.builder.ConditionalElementBuilder#build(org.drools.semantics.java.builder.BuildContext, org.drools.semantics.java.builder.BuildUtils, org.drools.semantics.java.builder.ColumnBuilder, org.drools.lang.descr.BaseDescr)
+     * @see org.drools.semantics.java.builder.ConditionalElementBuilder#build(org.drools.semantics.java.builder.BuildContext, org.drools.semantics.java.builder.BuildUtils, org.drools.semantics.java.builder.PatternBuilder, org.drools.lang.descr.BaseDescr)
      */
     public ConditionalElement build(final BuildContext context,
                                     final BuildUtils utils,
-                                    final ColumnBuilder columnBuilder,
+                                    final PatternBuilder patternBuilder,
                                     final BaseDescr descr) {
         final ForallDescr forallDescr = (ForallDescr) descr;
 
-        final Column baseColumn = columnBuilder.build( context,
+        final Pattern basePattern = patternBuilder.build( context,
                                                  utils,
-                                                 forallDescr.getBaseColumn() );
+                                                 forallDescr.getBasePattern() );
 
-        if ( baseColumn == null ) {
+        if ( basePattern == null ) {
             return null;
         }
 
-        final Forall forall = new Forall( baseColumn );
+        final Forall forall = new Forall( basePattern );
 
         // adding the newly created forall CE to the build stack
         // this is necessary in case of local declaration usage
         context.getBuildStack().push( forall );
 
-        for ( final Iterator it = forallDescr.getRemainingColumns().iterator(); it.hasNext(); ) {
-            final Column anotherColumn = columnBuilder.build( context,
+        for ( final Iterator it = forallDescr.getRemainingPatterns().iterator(); it.hasNext(); ) {
+            final Pattern anotherPattern = patternBuilder.build( context,
                                                         utils,
-                                                        (ColumnDescr) it.next() );
-            forall.addRemainingColumn( anotherColumn );
+                                                        (PatternDescr) it.next() );
+            forall.addRemainingPattern( anotherPattern );
         }
 
         // poping the forall

Modified: labs/jbossrules/trunk/drools-compiler/src/main/java/org/drools/rule/builder/FromBuilder.java
===================================================================
--- labs/jbossrules/trunk/drools-compiler/src/main/java/org/drools/rule/builder/FromBuilder.java	2007-04-24 12:26:00 UTC (rev 11294)
+++ labs/jbossrules/trunk/drools-compiler/src/main/java/org/drools/rule/builder/FromBuilder.java	2007-04-24 12:52:09 UTC (rev 11295)
@@ -11,7 +11,7 @@
      */
     public ConditionalElement build(final BuildContext context,
                                     final BuildUtils utils,
-                                    final ColumnBuilder columnBuilder,
+                                    final PatternBuilder patternBuilder,
                                     final BaseDescr descr);
 
 }
\ No newline at end of file

Modified: labs/jbossrules/trunk/drools-compiler/src/main/java/org/drools/rule/builder/GroupElementBuilder.java
===================================================================
--- labs/jbossrules/trunk/drools-compiler/src/main/java/org/drools/rule/builder/GroupElementBuilder.java	2007-04-24 12:26:00 UTC (rev 11294)
+++ labs/jbossrules/trunk/drools-compiler/src/main/java/org/drools/rule/builder/GroupElementBuilder.java	2007-04-24 12:52:09 UTC (rev 11295)
@@ -21,12 +21,12 @@
 import org.drools.RuntimeDroolsException;
 import org.drools.lang.descr.AndDescr;
 import org.drools.lang.descr.BaseDescr;
-import org.drools.lang.descr.ColumnDescr;
+import org.drools.lang.descr.PatternDescr;
 import org.drools.lang.descr.ConditionalElementDescr;
 import org.drools.lang.descr.ExistsDescr;
 import org.drools.lang.descr.NotDescr;
 import org.drools.lang.descr.OrDescr;
-import org.drools.rule.Column;
+import org.drools.rule.Pattern;
 import org.drools.rule.ConditionalElement;
 import org.drools.rule.GroupElement;
 import org.drools.rule.GroupElementFactory;
@@ -41,11 +41,11 @@
     ConditionalElementBuilder {
 
     /* (non-Javadoc)
-     * @see org.drools.semantics.java.builder.ConditionalElementBuilder#build(org.drools.semantics.java.builder.BuildContext, org.drools.semantics.java.builder.BuildUtils, org.drools.semantics.java.builder.ColumnBuilder, org.drools.lang.descr.BaseDescr)
+     * @see org.drools.semantics.java.builder.ConditionalElementBuilder#build(org.drools.semantics.java.builder.BuildContext, org.drools.semantics.java.builder.BuildUtils, org.drools.semantics.java.builder.PatternBuilder, org.drools.lang.descr.BaseDescr)
      */
     public ConditionalElement build(final BuildContext context,
                                     final BuildUtils utils,
-                                    final ColumnBuilder columnBuilder,
+                                    final PatternBuilder patternBuilder,
                                     final BaseDescr descr) {
         final ConditionalElementDescr cedescr = (ConditionalElementDescr) descr;
 
@@ -63,19 +63,19 @@
             if ( cebuilder != null ) {
                 final ConditionalElement ce = cebuilder.build( context,
                                                          utils,
-                                                         columnBuilder,
+                                                         patternBuilder,
                                                          child );
                 if ( ce != null ) {
                     ge.addChild( ce );
                 }
-            } else if ( child instanceof ColumnDescr ) {
-                final Column column = columnBuilder.build( context,
+            } else if ( child instanceof PatternDescr ) {
+                final Pattern pattern = patternBuilder.build( context,
                                                            utils,
-                                                           (ColumnDescr) child );
-                // in case there is a problem with the column building,
-                // builder will return null. Ex: ClassNotFound for the column type
-                if ( column != null ) {
-                    ge.addChild( column );
+                                                           (PatternDescr) child );
+                // in case there is a problem with the pattern building,
+                // builder will return null. Ex: ClassNotFound for the pattern type
+                if ( pattern != null ) {
+                    ge.addChild( pattern );
                 }
 
             } else {

Copied: labs/jbossrules/trunk/drools-compiler/src/main/java/org/drools/rule/builder/PatternBuilder.java (from rev 11268, labs/jbossrules/trunk/drools-compiler/src/main/java/org/drools/rule/builder/ColumnBuilder.java)
===================================================================
--- labs/jbossrules/trunk/drools-compiler/src/main/java/org/drools/rule/builder/PatternBuilder.java	                        (rev 0)
+++ labs/jbossrules/trunk/drools-compiler/src/main/java/org/drools/rule/builder/PatternBuilder.java	2007-04-24 12:52:09 UTC (rev 11295)
@@ -0,0 +1,679 @@
+/*
+ * Copyright 2006 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.
+ */
+
+package org.drools.rule.builder;
+
+import java.util.ArrayList;
+import java.util.Iterator;
+import java.util.List;
+
+import org.apache.commons.jci.utils.ClassUtils;
+import org.drools.RuntimeDroolsException;
+import org.drools.base.ClassObjectType;
+import org.drools.base.FieldFactory;
+import org.drools.base.ShadowProxyFactory;
+import org.drools.base.ValueType;
+import org.drools.base.evaluators.Operator;
+import org.drools.compiler.RuleError;
+import org.drools.facttemplates.FactTemplate;
+import org.drools.facttemplates.FactTemplateFieldExtractor;
+import org.drools.facttemplates.FactTemplateObjectType;
+import org.drools.lang.descr.BaseDescr;
+import org.drools.lang.descr.PatternDescr;
+import org.drools.lang.descr.FieldBindingDescr;
+import org.drools.lang.descr.FieldConstraintDescr;
+import org.drools.lang.descr.LiteralRestrictionDescr;
+import org.drools.lang.descr.PredicateDescr;
+import org.drools.lang.descr.RestrictionConnectiveDescr;
+import org.drools.lang.descr.RestrictionDescr;
+import org.drools.lang.descr.ReturnValueRestrictionDescr;
+import org.drools.lang.descr.VariableRestrictionDescr;
+import org.drools.rule.AndCompositeRestriction;
+import org.drools.rule.Pattern;
+import org.drools.rule.Declaration;
+import org.drools.rule.LiteralConstraint;
+import org.drools.rule.LiteralRestriction;
+import org.drools.rule.MultiRestrictionFieldConstraint;
+import org.drools.rule.OrCompositeRestriction;
+import org.drools.rule.PredicateConstraint;
+import org.drools.rule.ReturnValueConstraint;
+import org.drools.rule.ReturnValueRestriction;
+import org.drools.rule.VariableConstraint;
+import org.drools.rule.VariableRestriction;
+import org.drools.rule.builder.dialect.java.BuildUtils;
+import org.drools.spi.Evaluator;
+import org.drools.spi.FieldExtractor;
+import org.drools.spi.FieldValue;
+import org.drools.spi.ObjectType;
+import org.drools.spi.Restriction;
+
+/**
+ * A builder for patterns
+ * 
+ * @author etirelli
+ */
+public class PatternBuilder {
+
+    private Dialect dialect;
+
+    public PatternBuilder(final Dialect dialect) {
+        this.dialect = dialect;
+    }
+
+    /**
+     * Build a pattern for the given descriptor in the current 
+     * context and using the given utils object
+     * 
+     * @param context
+     * @param utils
+     * @param patternDescr
+     * @return
+     */
+    public Pattern build(final BuildContext context,
+                        final BuildUtils utils,
+                        final PatternDescr patternDescr) {
+
+        if ( patternDescr.getObjectType() == null || patternDescr.getObjectType().equals( "" ) ) {
+            context.getErrors().add( new RuleError( context.getRule(),
+                                                    patternDescr,
+                                                    null,
+                                                    "ObjectType not correctly defined" ) );
+            return null;
+        }
+
+        ObjectType objectType = null;
+
+        final FactTemplate factTemplate = context.getPkg().getFactTemplate( patternDescr.getObjectType() );
+
+        if ( factTemplate != null ) {
+            objectType = new FactTemplateObjectType( factTemplate );
+        } else {
+            try {
+                final Class userProvidedClass = utils.getTypeResolver().resolveType( patternDescr.getObjectType() );
+                final String shadowProxyName = ShadowProxyFactory.getProxyClassNameForClass( userProvidedClass );
+                Class shadowClass = null;
+                try {
+                    // if already loaded
+                    shadowClass = context.getPkg().getPackageCompilationData().getClassLoader().loadClass( shadowProxyName );
+                } catch ( final ClassNotFoundException cnfe ) {
+                    // otherwise, create and load
+                    final byte[] proxyBytes = ShadowProxyFactory.getProxyBytes( userProvidedClass );
+                    if ( proxyBytes != null ) {
+                        context.getPkg().getPackageCompilationData().write( ClassUtils.convertClassToResourcePath( shadowProxyName ),
+                                                                            proxyBytes );
+                        shadowClass = context.getPkg().getPackageCompilationData().getClassLoader().loadClass( shadowProxyName );
+                    }
+
+                }
+                objectType = new ClassObjectType( userProvidedClass,
+                                                  shadowClass );
+            } catch ( final ClassNotFoundException e ) {
+                context.getErrors().add( new RuleError( context.getRule(),
+                                                        patternDescr,
+                                                        null,
+                                                        "Unable to resolve ObjectType '" + patternDescr.getObjectType() + "'" ) );
+                return null;
+            }
+        }
+
+        Pattern pattern;
+        if ( patternDescr.getIdentifier() != null && !patternDescr.getIdentifier().equals( "" ) ) {
+
+            if ( context.getDeclarationResolver().isDuplicated( patternDescr.getIdentifier() ) ) {
+                // This declaration already  exists, so throw an Exception
+                context.getErrors().add( new RuleError( context.getRule(),
+                                                        patternDescr,
+                                                        null,
+                                                        "Duplicate declaration for variable '" + patternDescr.getIdentifier() + "' in the rule '" + context.getRule().getName() + "'" ) );
+            }
+
+            pattern = new Pattern( context.getNextPatternId(),
+                                 0, // offset is 0 by default
+                                 objectType,
+                                 patternDescr.getIdentifier() );
+        } else {
+            pattern = new Pattern( context.getNextPatternId(),
+                                 0, // offset is 0 by default
+                                 objectType,
+                                 null );
+        }
+        // adding the newly created pattern to the build stack
+        // this is necessary in case of local declaration usage
+        context.getBuildStack().push( pattern );
+
+        for ( final Iterator it = patternDescr.getDescrs().iterator(); it.hasNext(); ) {
+            final Object object = it.next();
+            if ( object instanceof FieldBindingDescr ) {
+                build( context,
+                       utils,
+                       pattern,
+                       (FieldBindingDescr) object );
+            } else if ( object instanceof FieldConstraintDescr ) {
+                build( context,
+                       utils,
+                       pattern,
+                       (FieldConstraintDescr) object );
+            } else if ( object instanceof PredicateDescr ) {
+                build( context,
+                       utils,
+                       pattern,
+                       (PredicateDescr) object );
+            }
+        }
+        // poping the pattern
+        context.getBuildStack().pop();
+        return pattern;
+    }
+
+    private void build(final BuildContext context,
+                       final BuildUtils utils,
+                       final Pattern pattern,
+                       final FieldConstraintDescr fieldConstraintDescr) {
+
+        final FieldExtractor extractor = getFieldExtractor( context,
+                                                            utils,
+                                                            fieldConstraintDescr,
+                                                            pattern.getObjectType(),
+                                                            fieldConstraintDescr.getFieldName(),
+                                                            true );
+        if ( extractor == null ) {
+            // @todo log error
+            return;
+        }
+
+        if ( fieldConstraintDescr.getRestrictions().size() == 1 ) {
+            final Object object = fieldConstraintDescr.getRestrictions().get( 0 );
+
+            final Restriction restriction = buildRestriction( context,
+                                                              utils,
+                                                              pattern,
+                                                              extractor,
+                                                              fieldConstraintDescr,
+                                                              (RestrictionDescr) object );
+            if ( restriction == null ) {
+                // @todo log errors
+                return;
+            }
+
+            if ( object instanceof LiteralRestrictionDescr ) {
+                pattern.addConstraint( new LiteralConstraint( extractor,
+                                                             (LiteralRestriction) restriction ) );
+            } else if ( object instanceof VariableRestrictionDescr ) {
+                pattern.addConstraint( new VariableConstraint( extractor,
+                                                              (VariableRestriction) restriction ) );
+            } else if ( object instanceof ReturnValueRestrictionDescr ) {
+                pattern.addConstraint( new ReturnValueConstraint( extractor,
+                                                                 (ReturnValueRestriction) restriction ) );
+            }
+
+            return;
+        }
+
+        final List orList = new ArrayList();
+        List andList = null;
+
+        RestrictionDescr currentRestriction = null;
+        RestrictionDescr previousRestriction = null;
+
+        List currentList = null;
+        List previousList = null;
+
+        for ( final Iterator it = fieldConstraintDescr.getRestrictions().iterator(); it.hasNext(); ) {
+            final Object object = it.next();
+
+            // Process an and/or connective 
+            if ( object instanceof RestrictionConnectiveDescr ) {
+
+                // is the connective an 'and'?
+                if ( ((RestrictionConnectiveDescr) object).getConnective() == RestrictionConnectiveDescr.AND ) {
+                    // if andList is null, then we know its the first
+                    if ( andList == null ) {
+                        andList = new ArrayList();
+                    }
+                    previousList = currentList;
+                    currentList = andList;
+                } else {
+                    previousList = currentList;
+                    currentList = orList;
+                }
+            } else {
+                Restriction restriction = null;
+                if ( currentList != null ) {
+                    // Are we are at the first operator? if so treat differently
+                    if ( previousList == null ) {
+                        restriction = buildRestriction( context,
+                                                        utils,
+                                                        pattern,
+                                                        extractor,
+                                                        fieldConstraintDescr,
+                                                        previousRestriction );
+                        if ( currentList == andList ) {
+                            andList.add( restriction );
+                        } else {
+                            orList.add( restriction );
+                        }
+                    } else {
+                        restriction = buildRestriction( context,
+                                                        utils,
+                                                        pattern,
+                                                        extractor,
+                                                        fieldConstraintDescr,
+                                                        previousRestriction );
+
+                        if ( previousList == andList && currentList == orList ) {
+                            andList.add( restriction );
+                            if ( andList.size() == 1 ) {
+                                // Can't have an 'and' connective with one child, so add directly to the or list
+                                orList.add( andList.get( 0 ) );
+                            } else {
+                                final Restriction restrictions = new AndCompositeRestriction( (Restriction[]) andList.toArray( new Restriction[andList.size()] ) );
+                                orList.add( restrictions );
+                            }
+                            andList = null;
+                        } else if ( previousList == andList && currentList == andList ) {
+                            andList.add( restriction );
+                        } else if ( previousList == orList && currentList == andList ) {
+                            andList.add( restriction );
+                        } else if ( previousList == orList && currentList == orList ) {
+                            orList.add( restriction );
+                        }
+                    }
+                }
+            }
+            previousRestriction = currentRestriction;
+            currentRestriction = (RestrictionDescr) object;
+        }
+
+        final Restriction restriction = buildRestriction( context,
+                                                          utils,
+                                                          pattern,
+                                                          extractor,
+                                                          fieldConstraintDescr,
+                                                          currentRestriction );
+        currentList.add( restriction );
+
+        Restriction restrictions = null;
+        if ( currentList == andList && !orList.isEmpty() ) {
+            // Check if it finished with an and, and process it
+            if ( andList != null ) {
+                if ( andList.size() == 1 ) {
+                    // Can't have an 'and' connective with one child, so add directly to the or list
+                    orList.add( andList.get( 0 ) );
+                } else {
+                    orList.add( new AndCompositeRestriction( (Restriction[]) andList.toArray( new Restriction[andList.size()] ) ) );
+                }
+                andList = null;
+            }
+        }
+
+        if ( !orList.isEmpty() ) {
+            restrictions = new OrCompositeRestriction( (Restriction[]) orList.toArray( new Restriction[orList.size()] ) );
+        } else if ( andList != null && !andList.isEmpty() ) {
+            restrictions = new AndCompositeRestriction( (Restriction[]) andList.toArray( new Restriction[andList.size()] ) );
+        } else {
+            // @todo throw error
+        }
+
+        pattern.addConstraint( new MultiRestrictionFieldConstraint( extractor,
+                                                                   restrictions ) );
+    }
+
+    private void build(final BuildContext context,
+                       final BuildUtils utils,
+                       final Pattern pattern,
+                       final FieldBindingDescr fieldBindingDescr) {
+
+        if ( context.getDeclarationResolver().isDuplicated( fieldBindingDescr.getIdentifier() ) ) {
+            // This declaration already  exists, so throw an Exception
+            context.getErrors().add( new RuleError( context.getRule(),
+                                                    fieldBindingDescr,
+                                                    null,
+                                                    "Duplicate declaration for variable '" + fieldBindingDescr.getIdentifier() + "' in the rule '" + context.getRule().getName() + "'" ) );
+            return;
+        }
+
+        final FieldExtractor extractor = getFieldExtractor( context,
+                                                            utils,
+                                                            fieldBindingDescr,
+                                                            pattern.getObjectType(),
+                                                            fieldBindingDescr.getFieldName(),
+                                                            true );
+        if ( extractor == null ) {
+            return;
+        }
+
+        pattern.addDeclaration( fieldBindingDescr.getIdentifier(),
+                               extractor );
+    }
+
+    private void build(final BuildContext context,
+                       final BuildUtils utils,
+                       final Pattern pattern,
+                       final PredicateDescr predicateDescr) {
+
+        // this will return an array with 3 lists
+        // where first list is from rule local variables
+        // second list is from global variables
+        // and third is for unbound variables
+        final List[] usedIdentifiers = utils.getUsedIdentifiers( context,
+                                                                 predicateDescr,
+                                                                 predicateDescr.getContent() );
+        final List tupleDeclarations = new ArrayList();
+        final List factDeclarations = new ArrayList();
+        for ( int i = 0, size = usedIdentifiers[0].size(); i < size; i++ ) {
+            final Declaration decl = context.getDeclarationResolver().getDeclaration( (String) usedIdentifiers[0].get( i ) );
+            if ( decl.getPattern() == pattern ) {
+                factDeclarations.add( decl );
+            } else {
+                tupleDeclarations.add( decl );
+            }
+        }
+        final int NOT_BOUND_INDEX = usedIdentifiers.length - 1;
+        this.createImplicitBindings( context,
+                                     utils,
+                                     pattern,
+                                     usedIdentifiers[NOT_BOUND_INDEX],
+                                     factDeclarations );
+
+        final Declaration[] previousDeclarations = (Declaration[]) tupleDeclarations.toArray( new Declaration[tupleDeclarations.size()] );
+        final Declaration[] localDeclarations = (Declaration[]) factDeclarations.toArray( new Declaration[factDeclarations.size()] );
+        final String[] requiredGlobals = (String[]) usedIdentifiers[1].toArray( new String[usedIdentifiers[1].size()] );
+
+        final PredicateConstraint predicateConstraint = new PredicateConstraint( null,
+                                                                                 previousDeclarations,
+                                                                                 localDeclarations,
+                                                                                 requiredGlobals );
+        pattern.addConstraint( predicateConstraint );
+
+        final PredicateBuilder builder = this.dialect.getPredicateBuilder();
+
+        builder.build( context,
+                       utils,
+                       usedIdentifiers,
+                       previousDeclarations,
+                       localDeclarations,
+                       predicateConstraint,
+                       predicateDescr );
+
+    }
+
+    /**
+     * @param context
+     * @param utils
+     * @param pattern
+     * @param usedIdentifiers
+     * @param NOT_BOUND_INDEX
+     * @param factDeclarations
+     */
+    private void createImplicitBindings(final BuildContext context,
+                                        final BuildUtils utils,
+                                        final Pattern pattern,
+                                        final List unboundIdentifiers,
+                                        final List factDeclarations) {
+        // the following will create the implicit bindings
+        for ( int i = 0, size = unboundIdentifiers.size(); i < size; i++ ) {
+            final String identifier = (String) unboundIdentifiers.get( i );
+            final FieldBindingDescr implicitBinding = new FieldBindingDescr( identifier,
+                                                                       identifier );
+
+            final FieldExtractor extractor = getFieldExtractor( context,
+                                                                utils,
+                                                                implicitBinding,
+                                                                pattern.getObjectType(),
+                                                                implicitBinding.getFieldName(),
+                                                                false );
+            if ( extractor == null ) {
+                continue;
+            }
+
+            final Declaration declaration = new Declaration( identifier,
+                                                             extractor,
+                                                             pattern );
+            factDeclarations.add( declaration );
+        }
+    }
+
+    private Restriction buildRestriction(final BuildContext context,
+                                         final BuildUtils utils,
+                                         final Pattern pattern,
+                                         final FieldExtractor extractor,
+                                         final FieldConstraintDescr fieldConstraintDescr,
+                                         final RestrictionDescr restrictionDescr) {
+        Restriction restriction = null;
+        if ( restrictionDescr instanceof LiteralRestrictionDescr ) {
+            restriction = buildRestriction( context,
+                                            utils,
+                                            extractor,
+                                            fieldConstraintDescr,
+                                            (LiteralRestrictionDescr) restrictionDescr );
+        } else if ( restrictionDescr instanceof VariableRestrictionDescr ) {
+            restriction = buildRestriction( context,
+                                            extractor,
+                                            fieldConstraintDescr,
+                                            (VariableRestrictionDescr) restrictionDescr );
+        } else if ( restrictionDescr instanceof ReturnValueRestrictionDescr ) {
+            restriction = buildRestriction( context,
+                                            utils,
+                                            pattern,
+                                            extractor,
+                                            fieldConstraintDescr,
+                                            (ReturnValueRestrictionDescr) restrictionDescr );
+
+        }
+
+        return restriction;
+    }
+
+    private VariableRestriction buildRestriction(final BuildContext context,
+                                                 final FieldExtractor extractor,
+                                                 final FieldConstraintDescr fieldConstraintDescr,
+                                                 final VariableRestrictionDescr variableRestrictionDescr) {
+        if ( variableRestrictionDescr.getIdentifier() == null || variableRestrictionDescr.getIdentifier().equals( "" ) ) {
+            context.getErrors().add( new RuleError( context.getRule(),
+                                                    variableRestrictionDescr,
+                                                    null,
+                                                    "Identifier not defined for binding field '" + fieldConstraintDescr.getFieldName() + "'" ) );
+            return null;
+        }
+
+        final Declaration declaration = context.getDeclarationResolver().getDeclaration( variableRestrictionDescr.getIdentifier() );
+
+        //        if ( declaration == null ) {
+        //            build( context, th)
+        //            // lazily create teh declaration
+        //        }        
+
+        if ( declaration == null ) {
+            context.getErrors().add( new RuleError( context.getRule(),
+                                                    variableRestrictionDescr,
+                                                    null,
+                                                    "Unable to return Declaration for identifier '" + variableRestrictionDescr.getIdentifier() + "'" ) );
+            return null;
+        }
+
+        final Evaluator evaluator = getEvaluator( context,
+                                                  variableRestrictionDescr,
+                                                  extractor.getValueType(),
+                                                  variableRestrictionDescr.getEvaluator() );
+        if ( evaluator == null ) {
+            return null;
+        }
+
+        return new VariableRestriction( extractor,
+                                        declaration,
+                                        evaluator );
+    }
+
+    private LiteralRestriction buildRestriction(final BuildContext context,
+                                                final BuildUtils utils,
+                                                final FieldExtractor extractor,
+                                                final FieldConstraintDescr fieldConstraintDescr,
+                                                final LiteralRestrictionDescr literalRestrictionDescr) {
+        FieldValue field = null;
+        if ( literalRestrictionDescr.isStaticFieldValue() ) {
+            final int lastDot = literalRestrictionDescr.getText().lastIndexOf( '.' );
+            final String className = literalRestrictionDescr.getText().substring( 0,
+                                                                                  lastDot );
+            final String fieldName = literalRestrictionDescr.getText().substring( lastDot + 1 );
+            try {
+                final Class staticClass = utils.getTypeResolver().resolveType( className );
+                field = FieldFactory.getFieldValue( staticClass.getField( fieldName ).get( null ),
+                                                    extractor.getValueType() );
+            } catch ( final ClassNotFoundException e ) {
+                context.getErrors().add( new RuleError( context.getRule(),
+                                                        literalRestrictionDescr,
+                                                        e,
+                                                        e.getMessage() ) );
+            } catch ( final Exception e ) {
+                context.getErrors().add( new RuleError( context.getRule(),
+                                                        literalRestrictionDescr,
+                                                        e,
+                                                        "Unable to create a Field value of type  '" + extractor.getValueType() + "' and value '" + literalRestrictionDescr.getText() + "'" ) );
+            }
+
+        } else {
+            try {
+                field = FieldFactory.getFieldValue( literalRestrictionDescr.getText(),
+                                                    extractor.getValueType() );
+            } catch ( final Exception e ) {
+                context.getErrors().add( new RuleError( context.getRule(),
+                                                        literalRestrictionDescr,
+                                                        e,
+                                                        "Unable to create a Field value of type  '" + extractor.getValueType() + "' and value '" + literalRestrictionDescr.getText() + "'" ) );
+            }
+        }
+
+        final Evaluator evaluator = getEvaluator( context,
+                                                  literalRestrictionDescr,
+                                                  extractor.getValueType(),
+                                                  literalRestrictionDescr.getEvaluator() );
+        if ( evaluator == null ) {
+            return null;
+        }
+
+        return new LiteralRestriction( field,
+                                       evaluator,
+                                       extractor );
+    }
+
+    private ReturnValueRestriction buildRestriction(final BuildContext context,
+                                                    final BuildUtils utils,
+                                                    final Pattern pattern,
+                                                    final FieldExtractor extractor,
+                                                    final FieldConstraintDescr fieldConstraintDescr,
+                                                    final ReturnValueRestrictionDescr returnValueRestrictionDescr) {
+        final List[] usedIdentifiers = utils.getUsedIdentifiers( context,
+                                                                 returnValueRestrictionDescr,
+                                                                 returnValueRestrictionDescr.getContent() );
+
+        final List tupleDeclarations = new ArrayList();
+        final List factDeclarations = new ArrayList();
+        for ( int i = 0, size = usedIdentifiers[0].size(); i < size; i++ ) {
+            final Declaration declaration = context.getDeclarationResolver().getDeclaration( (String) usedIdentifiers[0].get( i ) );
+            if ( declaration.getPattern() == pattern ) {
+                factDeclarations.add( declaration );
+            } else {
+                tupleDeclarations.add( declaration );
+            }
+        }
+
+        final int NOT_BOUND_INDEX = usedIdentifiers.length - 1;
+        this.createImplicitBindings( context,
+                                     utils,
+                                     pattern,
+                                     usedIdentifiers[NOT_BOUND_INDEX],
+                                     factDeclarations );
+
+        final Evaluator evaluator = getEvaluator( context,
+                                                  returnValueRestrictionDescr,
+                                                  extractor.getValueType(),
+                                                  returnValueRestrictionDescr.getEvaluator() );
+        if ( evaluator == null ) {
+            return null;
+        }
+
+        final Declaration[] previousDeclarations = (Declaration[]) tupleDeclarations.toArray( new Declaration[tupleDeclarations.size()] );
+        final Declaration[] localDeclarations = (Declaration[]) factDeclarations.toArray( new Declaration[factDeclarations.size()] );
+        final String[] requiredGlobals = (String[]) usedIdentifiers[1].toArray( new String[usedIdentifiers[1].size()] );
+        final ReturnValueRestriction returnValueRestriction = new ReturnValueRestriction( extractor,
+                                                                                          previousDeclarations,
+                                                                                          localDeclarations,
+                                                                                          requiredGlobals,
+                                                                                          evaluator );
+
+        final ReturnValueBuilder builder = this.dialect.getReturnValueBuilder();
+
+        builder.build( context,
+                       utils,
+                       usedIdentifiers,
+                       previousDeclarations,
+                       localDeclarations,
+                       returnValueRestriction,
+                       returnValueRestrictionDescr );
+
+        return returnValueRestriction;
+    }
+
+    private FieldExtractor getFieldExtractor(final BuildContext context,
+                                             final BuildUtils utils,
+                                             final BaseDescr descr,
+                                             final ObjectType objectType,
+                                             final String fieldName,
+                                             final boolean reportError) {
+        FieldExtractor extractor = null;
+
+        if ( objectType.getValueType() == ValueType.FACTTEMPLATE_TYPE ) {
+            //@todo use extractor cache            
+            final FactTemplate factTemplate = ((FactTemplateObjectType) objectType).getFactTemplate();
+            extractor = new FactTemplateFieldExtractor( factTemplate,
+                                                        factTemplate.getFieldTemplateIndex( fieldName ) );
+        } else {
+            try {
+                ClassLoader classloader = context.getPkg().getPackageCompilationData().getClassLoader();
+                extractor = utils.getClassFieldExtractorCache().getExtractor( ((ClassObjectType) objectType).getClassType(),
+                                                                              fieldName,
+                                                                              classloader );
+            } catch ( final RuntimeDroolsException e ) {
+                if ( reportError ) {
+                    context.getErrors().add( new RuleError( context.getRule(),
+                                                            descr,
+                                                            e,
+                                                            "Unable to create Field Extractor for '" + fieldName + "'" ) );
+                }
+            }
+        }
+
+        return extractor;
+    }
+
+    private Evaluator getEvaluator(final BuildContext context,
+                                   final BaseDescr descr,
+                                   final ValueType valueType,
+                                   final String evaluatorString) {
+
+        final Evaluator evaluator = valueType.getEvaluator( Operator.determineOperator( evaluatorString ) );
+
+        if ( evaluator == null ) {
+            context.getErrors().add( new RuleError( context.getRule(),
+                                                    descr,
+                                                    null,
+                                                    "Unable to determine the Evaluator for  '" + valueType + "' and '" + evaluatorString + "'" ) );
+        }
+
+        return evaluator;
+    }
+
+}

Modified: labs/jbossrules/trunk/drools-compiler/src/main/java/org/drools/rule/builder/RuleBuilder.java
===================================================================
--- labs/jbossrules/trunk/drools-compiler/src/main/java/org/drools/rule/builder/RuleBuilder.java	2007-04-24 12:26:00 UTC (rev 11294)
+++ labs/jbossrules/trunk/drools-compiler/src/main/java/org/drools/rule/builder/RuleBuilder.java	2007-04-24 12:52:09 UTC (rev 11295)
@@ -62,8 +62,8 @@
     // a map of registered builders
     private Map                builders;
 
-    // the builder for columns
-    private ColumnBuilder      columnBuilder;
+    // the builder for patterns
+    private PatternBuilder      patternBuilder;
 
     // the builder for the consequence
     private ConsequenceBuilder consequenceBuilder;
@@ -101,7 +101,7 @@
                       gebuilder );
 
         // dialect specific        
-        this.columnBuilder = new ColumnBuilder( this.dialect );
+        this.patternBuilder = new PatternBuilder( this.dialect );
 
         this.builders.put( FromDescr.class,
                       this.dialect.getFromBuilder() );
@@ -177,7 +177,7 @@
         if ( builder != null ) {
             final GroupElement ce = (GroupElement) builder.build( this.context,
                                                             this.utils,
-                                                            this.columnBuilder,
+                                                            this.patternBuilder,
                                                             ruleDescr.getLhs() );
             this.context.getRule().setLhs( ce );
         } else {

Modified: labs/jbossrules/trunk/drools-compiler/src/main/java/org/drools/rule/builder/dialect/java/JavaAccumulateBuilder.java
===================================================================
--- labs/jbossrules/trunk/drools-compiler/src/main/java/org/drools/rule/builder/dialect/java/JavaAccumulateBuilder.java	2007-04-24 12:26:00 UTC (rev 11294)
+++ labs/jbossrules/trunk/drools-compiler/src/main/java/org/drools/rule/builder/dialect/java/JavaAccumulateBuilder.java	2007-04-24 12:52:09 UTC (rev 11295)
@@ -24,12 +24,12 @@
 import org.drools.lang.descr.AccumulateDescr;
 import org.drools.lang.descr.BaseDescr;
 import org.drools.rule.Accumulate;
-import org.drools.rule.Column;
+import org.drools.rule.Pattern;
 import org.drools.rule.ConditionalElement;
 import org.drools.rule.Declaration;
 import org.drools.rule.builder.AccumulateBuilder;
 import org.drools.rule.builder.BuildContext;
-import org.drools.rule.builder.ColumnBuilder;
+import org.drools.rule.builder.PatternBuilder;
 import org.drools.rule.builder.ConditionalElementBuilder;
 
 /**
@@ -42,29 +42,29 @@
     AccumulateBuilder {
 
     /* (non-Javadoc)
-     * @see org.drools.semantics.java.builder.ConditionalElementBuilder#build(org.drools.semantics.java.builder.BuildContext, org.drools.semantics.java.builder.BuildUtils, org.drools.semantics.java.builder.ColumnBuilder, org.drools.lang.descr.BaseDescr)
+     * @see org.drools.semantics.java.builder.ConditionalElementBuilder#build(org.drools.semantics.java.builder.BuildContext, org.drools.semantics.java.builder.BuildUtils, org.drools.semantics.java.builder.PatternBuilder, org.drools.lang.descr.BaseDescr)
      */
     /* (non-Javadoc)
-     * @see org.drools.semantics.java.builder.AccumulateBuilder#build(org.drools.semantics.java.builder.BuildContext, org.drools.semantics.java.builder.BuildUtils, org.drools.semantics.java.builder.ColumnBuilder, org.drools.lang.descr.BaseDescr)
+     * @see org.drools.semantics.java.builder.AccumulateBuilder#build(org.drools.semantics.java.builder.BuildContext, org.drools.semantics.java.builder.BuildUtils, org.drools.semantics.java.builder.PatternBuilder, org.drools.lang.descr.BaseDescr)
      */
     public ConditionalElement build(final BuildContext context,
                                     final BuildUtils utils,
-                                    final ColumnBuilder columnBuilder,
+                                    final PatternBuilder patternBuilder,
                                     final BaseDescr descr) {
 
         final AccumulateDescr accumDescr = (AccumulateDescr) descr;
 
-        final Column sourceColumn = columnBuilder.build( context,
+        final Pattern sourcePattern = patternBuilder.build( context,
                                                    utils,
-                                                   accumDescr.getSourceColumn() );
+                                                   accumDescr.getSourcePattern() );
 
-        if ( sourceColumn == null ) {
+        if ( sourcePattern == null ) {
             return null;
         }
 
-        final Column resultColumn = columnBuilder.build( context,
+        final Pattern resultPattern = patternBuilder.build( context,
                                                    utils,
-                                                   accumDescr.getResultColumn() );
+                                                   accumDescr.getResultPattern() );
 
         final String className = "accumulate" + context.getNextId();
         accumDescr.setClassMethodName( className );
@@ -91,7 +91,7 @@
         for ( int i = 0, size = requiredDeclarations.size(); i < size; i++ ) {
             declarations[i] = context.getDeclarationResolver().getDeclaration( (String) requiredDeclarations.get( i ) );
         }
-        final Declaration[] sourceDeclArr = (Declaration[]) sourceColumn.getOuterDeclarations().values().toArray( new Declaration[0] );
+        final Declaration[] sourceDeclArr = (Declaration[]) sourcePattern.getOuterDeclarations().values().toArray( new Declaration[0] );
 
         final String[] globals = (String[]) requiredGlobals.toArray( new String[requiredGlobals.size()] );
 
@@ -119,10 +119,10 @@
 
         String resultType = null;
         // TODO: Need to change this... 
-        if ( resultColumn.getObjectType() instanceof ClassObjectType ) {
-            resultType = ((ClassObjectType) resultColumn.getObjectType()).getClassType().getName();
+        if ( resultPattern.getObjectType() instanceof ClassObjectType ) {
+            resultType = ((ClassObjectType) resultPattern.getObjectType()).getClassType().getName();
         } else {
-            resultType = resultColumn.getObjectType().getValueType().getClassType().getName();
+            resultType = resultPattern.getObjectType().getValueType().getClassType().getName();
         }
 
         st.setAttribute( "resultType",
@@ -149,8 +149,8 @@
         st.setAttribute( "hashCode",
                          actionCode.hashCode() );
 
-        final Accumulate accumulate = new Accumulate( sourceColumn,
-                                                resultColumn,
+        final Accumulate accumulate = new Accumulate( sourcePattern,
+                                                resultPattern,
                                                 declarations,
                                                 sourceDeclArr );
         final String invokerClassName = context.getPkg().getName() + "." + context.getRuleDescr().getClassName() + utils.ucFirst( className ) + "Invoker";

Modified: labs/jbossrules/trunk/drools-compiler/src/main/java/org/drools/rule/builder/dialect/java/JavaConsequenceBuilder.java
===================================================================
--- labs/jbossrules/trunk/drools-compiler/src/main/java/org/drools/rule/builder/dialect/java/JavaConsequenceBuilder.java	2007-04-24 12:26:00 UTC (rev 11294)
+++ labs/jbossrules/trunk/drools-compiler/src/main/java/org/drools/rule/builder/dialect/java/JavaConsequenceBuilder.java	2007-04-24 12:52:09 UTC (rev 11295)
@@ -25,7 +25,7 @@
 import org.drools.rule.Declaration;
 import org.drools.rule.builder.BuildContext;
 import org.drools.rule.builder.ConsequenceBuilder;
-import org.drools.spi.ColumnExtractor;
+import org.drools.spi.PatternExtractor;
 
 /**
  * @author etirelli
@@ -95,10 +95,10 @@
         final int[] indexes = new int[declarations.length];
 
         // have to user a String[] as boolean[] is broken in stringtemplate
-        final String[] notColumns = new String[declarations.length];
+        final String[] notPatterns = new String[declarations.length];
         for ( int i = 0, length = declarations.length; i < length; i++ ) {
             indexes[i] = list.indexOf( declarations[i] );
-            notColumns[i] = (declarations[i].getExtractor() instanceof ColumnExtractor) ? null : "true";
+            notPatterns[i] = (declarations[i].getExtractor() instanceof PatternExtractor) ? null : "true";
             if ( indexes[i] == -1 ) {
                 // some defensive code, this should never happen
                 throw new RuntimeDroolsException( "Unable to find declaration in list while generating the consequence invoker" );
@@ -108,8 +108,8 @@
         st.setAttribute( "indexes",
                          indexes );
 
-        st.setAttribute( "notColumns",
-                         notColumns );
+        st.setAttribute( "notPatterns",
+                         notPatterns );
 
         st.setAttribute( "text",
                          ruleDescr.getConsequence() );

Modified: labs/jbossrules/trunk/drools-compiler/src/main/java/org/drools/rule/builder/dialect/java/JavaDialect.java
===================================================================
--- labs/jbossrules/trunk/drools-compiler/src/main/java/org/drools/rule/builder/dialect/java/JavaDialect.java	2007-04-24 12:26:00 UTC (rev 11294)
+++ labs/jbossrules/trunk/drools-compiler/src/main/java/org/drools/rule/builder/dialect/java/JavaDialect.java	2007-04-24 12:52:09 UTC (rev 11295)
@@ -39,7 +39,7 @@
 import org.drools.rule.Rule;
 import org.drools.rule.builder.AccumulateBuilder;
 import org.drools.rule.builder.CollectBuilder;
-import org.drools.rule.builder.ColumnBuilder;
+import org.drools.rule.builder.PatternBuilder;
 import org.drools.rule.builder.ConditionalElementBuilder;
 import org.drools.rule.builder.ConsequenceBuilder;
 import org.drools.rule.builder.Dialect;
@@ -83,8 +83,8 @@
     // a map of registered builders
     private Map                         builders;
 
-    // the builder for columns
-    private ColumnBuilder               columnBuilder;
+    // the builder for patterns
+    private PatternBuilder               patternBuilder;
 
     // the builder for the consequence
     private ConsequenceBuilder          consequenceBuilder;
@@ -127,7 +127,7 @@
                       gebuilder );
 
         // dialect specific        
-        this.columnBuilder = new ColumnBuilder( this );
+        this.patternBuilder = new PatternBuilder( this );
 
         this.builders.put( FromDescr.class,
                       getFromBuilder() );

Modified: labs/jbossrules/trunk/drools-compiler/src/main/java/org/drools/rule/builder/dialect/java/JavaEvalBuilder.java
===================================================================
--- labs/jbossrules/trunk/drools-compiler/src/main/java/org/drools/rule/builder/dialect/java/JavaEvalBuilder.java	2007-04-24 12:26:00 UTC (rev 11294)
+++ labs/jbossrules/trunk/drools-compiler/src/main/java/org/drools/rule/builder/dialect/java/JavaEvalBuilder.java	2007-04-24 12:52:09 UTC (rev 11295)
@@ -25,7 +25,7 @@
 import org.drools.rule.Declaration;
 import org.drools.rule.EvalCondition;
 import org.drools.rule.builder.BuildContext;
-import org.drools.rule.builder.ColumnBuilder;
+import org.drools.rule.builder.PatternBuilder;
 import org.drools.rule.builder.ConditionalElementBuilder;
 
 /**
@@ -41,14 +41,14 @@
      * 
      * @param context The current build context
      * @param utils The current build utils instance
-     * @param columnBuilder not used by EvalBuilder
+     * @param patternBuilder not used by EvalBuilder
      * @param descr The Eval Descriptor to build the eval conditional element from
      * 
      * @return the Eval Conditional Element
      */
     public ConditionalElement build(final BuildContext context,
                                     final BuildUtils utils,
-                                    final ColumnBuilder columnBuilder,
+                                    final PatternBuilder patternBuilder,
                                     final BaseDescr descr) {
         // it must be an EvalDescr
         final EvalDescr evalDescr = (EvalDescr) descr;

Modified: labs/jbossrules/trunk/drools-compiler/src/main/java/org/drools/rule/builder/dialect/java/parser/JavaParserLexer.java
===================================================================
--- labs/jbossrules/trunk/drools-compiler/src/main/java/org/drools/rule/builder/dialect/java/parser/JavaParserLexer.java	2007-04-24 12:26:00 UTC (rev 11294)
+++ labs/jbossrules/trunk/drools-compiler/src/main/java/org/drools/rule/builder/dialect/java/parser/JavaParserLexer.java	2007-04-24 12:52:09 UTC (rev 11295)
@@ -1,5331 +1,4449 @@
-// $ANTLR 3.0b5 D:\\workspace\\jboss\\jbossrules\\drools-compiler\\src\\main\\resources\\org\\drools\\semantics\\java\\parser\\JavaParser.g 2006-11-22 14:58:23
+// $ANTLR 3.0b7 C:\\dev\\jbossrules\\trunk3\\drools-compiler\\src\\main\\resources\\org\\drools\\semantics\\java\\parser\\JavaParser.g 2007-04-24 04:56:12
+
+	package org.drools.rule.builder.dialect.java.parser;
 
-package org.drools.rule.builder.dialect.java.parser;
 
 import org.antlr.runtime.*;
+import java.util.Stack;
+import java.util.List;
+import java.util.ArrayList;
 
 public class JavaParserLexer extends Lexer {
-    public static final int         SR_ASSIGN         = 22;
-    public static final int         COMMA             = 12;
-    public static final int         MINUS             = 44;
-    public static final int         T70               = 70;
-    public static final int         T74               = 74;
-    public static final int         T85               = 85;
-    public static final int         BOR               = 31;
-    public static final int         DOT               = 7;
-    public static final int         SR                = 41;
-    public static final int         T102              = 102;
-    public static final int         LCURLY            = 9;
-    public static final int         T114              = 114;
-    public static final int         T103              = 103;
-    public static final int         STRING_LITERAL    = 53;
-    public static final int         LE                = 38;
-    public static final int         T81               = 81;
-    public static final int         RPAREN            = 14;
-    public static final int         STAR_ASSIGN       = 19;
-    public static final int         NUM_INT           = 51;
-    public static final int         PLUS              = 43;
-    public static final int         MINUS_ASSIGN      = 18;
-    public static final int         T113              = 113;
-    public static final int         T109              = 109;
-    public static final int         IDENT             = 6;
-    public static final int         DECIMAL_LITERAL   = 58;
-    public static final int         T68               = 68;
-    public static final int         T73               = 73;
-    public static final int         T84               = 84;
-    public static final int         MOD_ASSIGN        = 21;
-    public static final int         T78               = 78;
-    public static final int         T115              = 115;
-    public static final int         WS                = 55;
-    public static final int         LT                = 36;
-    public static final int         BSR               = 42;
-    public static final int         SL_ASSIGN         = 24;
-    public static final int         T96               = 96;
-    public static final int         T71               = 71;
-    public static final int         T72               = 72;
-    public static final int         T94               = 94;
-    public static final int         LAND              = 30;
-    public static final int         LBRACK            = 4;
-    public static final int         T76               = 76;
-    public static final int         NUM_FLOAT         = 54;
-    public static final int         SEMI              = 10;
-    public static final int         GE                = 39;
-    public static final int         LNOT              = 50;
-    public static final int         DIV_ASSIGN        = 20;
-    public static final int         T75               = 75;
-    public static final int         UNICODE_CHAR      = 66;
-    public static final int         EQUAL             = 35;
-    public static final int         T89               = 89;
-    public static final int         OCTAL_DIGIT       = 65;
-    public static final int         COLON             = 16;
-    public static final int         SL                = 40;
-    public static final int         T82               = 82;
-    public static final int         DIV               = 45;
-    public static final int         T100              = 100;
-    public static final int         EXPONENT_PART     = 62;
-    public static final int         T79               = 79;
-    public static final int         LOR               = 29;
-    public static final int         BNOT              = 49;
-    public static final int         INC               = 47;
-    public static final int         T93               = 93;
-    public static final int         T107              = 107;
-    public static final int         MOD               = 46;
-    public static final int         OCTAL_LITERAL     = 60;
-    public static final int         PLUS_ASSIGN       = 17;
-    public static final int         T83               = 83;
-    public static final int         QUESTION          = 28;
-    public static final int         HEX_LITERAL       = 59;
-    public static final int         T101              = 101;
-    public static final int         FLOAT_TYPE_SUFFIX = 63;
-    public static final int         RCURLY            = 11;
-    public static final int         T91               = 91;
-    public static final int         T105              = 105;
-    public static final int         T86               = 86;
-    public static final int         CHAR_LITERAL      = 52;
-    public static final int         BOR_ASSIGN        = 27;
-    public static final int         ASSIGN            = 15;
-    public static final int         LPAREN            = 13;
-    public static final int         T111              = 111;
-    public static final int         HEX_DIGIT         = 67;
-    public static final int         T77               = 77;
-    public static final int         ML_COMMENT        = 57;
-    public static final int         SL_COMMENT        = 56;
-    public static final int         BAND              = 33;
-    public static final int         T106              = 106;
-    public static final int         T112              = 112;
-    public static final int         T69               = 69;
-    public static final int         NOT_EQUAL         = 34;
-    public static final int         BAND_ASSIGN       = 25;
-    public static final int         T95               = 95;
-    public static final int         DIGITS            = 61;
-    public static final int         T110              = 110;
-    public static final int         T108              = 108;
-    public static final int         T92               = 92;
-    public static final int         BXOR_ASSIGN       = 26;
-    public static final int         GT                = 37;
-    public static final int         BSR_ASSIGN        = 23;
-    public static final int         T88               = 88;
-    public static final int         T98               = 98;
-    public static final int         T87               = 87;
-    public static final int         T80               = 80;
-    public static final int         DEC               = 48;
-    public static final int         T97               = 97;
-    public static final int         ESCAPE_SEQUENCE   = 64;
-    public static final int         EOF               = -1;
-    public static final int         T104              = 104;
-    public static final int         Tokens            = 116;
-    public static final int         RBRACK            = 5;
-    public static final int         T99               = 99;
-    public static final int         STAR              = 8;
-    public static final int         BXOR              = 32;
-    public static final int         T90               = 90;
+    public static final int T114=114;
+    public static final int LOR=29;
+    public static final int T115=115;
+    public static final int LT=36;
+    public static final int STAR=8;
+    public static final int MOD=46;
+    public static final int MOD_ASSIGN=21;
+    public static final int BSR=42;
+    public static final int EOF=-1;
+    public static final int DIV_ASSIGN=20;
+    public static final int OCTAL_DIGIT=65;
+    public static final int SL_ASSIGN=24;
+    public static final int RPAREN=14;
+    public static final int INC=47;
+    public static final int LNOT=50;
+    public static final int STRING_LITERAL=53;
+    public static final int BSR_ASSIGN=23;
+    public static final int NOT_EQUAL=34;
+    public static final int FLOAT_TYPE_SUFFIX=63;
+    public static final int RBRACK=5;
+    public static final int GE=39;
+    public static final int MINUS_ASSIGN=18;
+    public static final int LCURLY=9;
+    public static final int T100=100;
+    public static final int T102=102;
+    public static final int T101=101;
+    public static final int T109=109;
+    public static final int T107=107;
+    public static final int T108=108;
+    public static final int T105=105;
+    public static final int WS=55;
+    public static final int T106=106;
+    public static final int T103=103;
+    public static final int T104=104;
+    public static final int SL_COMMENT=56;
+    public static final int NUM_INT=51;
+    public static final int GT=37;
+    public static final int BNOT=49;
+    public static final int NUM_FLOAT=54;
+    public static final int T113=113;
+    public static final int T112=112;
+    public static final int T111=111;
+    public static final int T110=110;
+    public static final int DECIMAL_LITERAL=58;
+    public static final int LAND=30;
+    public static final int T75=75;
+    public static final int T76=76;
+    public static final int DEC=48;
+    public static final int T73=73;
+    public static final int T74=74;
+    public static final int LBRACK=4;
+    public static final int T79=79;
+    public static final int T77=77;
+    public static final int T78=78;
+    public static final int BXOR_ASSIGN=26;
+    public static final int DIGITS=61;
+    public static final int T72=72;
+    public static final int LPAREN=13;
+    public static final int T71=71;
+    public static final int T70=70;
+    public static final int ESCAPE_SEQUENCE=64;
+    public static final int ML_COMMENT=57;
+    public static final int T68=68;
+    public static final int BOR_ASSIGN=27;
+    public static final int T69=69;
+    public static final int COMMA=12;
+    public static final int EQUAL=35;
+    public static final int BOR=31;
+    public static final int IDENT=6;
+    public static final int PLUS=43;
+    public static final int BXOR=32;
+    public static final int HEX_LITERAL=59;
+    public static final int DOT=7;
+    public static final int T99=99;
+    public static final int T97=97;
+    public static final int T98=98;
+    public static final int T95=95;
+    public static final int T96=96;
+    public static final int OCTAL_LITERAL=60;
+    public static final int HEX_DIGIT=67;
+    public static final int MINUS=44;
+    public static final int T94=94;
+    public static final int Tokens=116;
+    public static final int T93=93;
+    public static final int BAND=33;
+    public static final int T92=92;
+    public static final int SEMI=10;
+    public static final int STAR_ASSIGN=19;
+    public static final int T91=91;
+    public static final int T90=90;
+    public static final int COLON=16;
+    public static final int T88=88;
+    public static final int T89=89;
+    public static final int BAND_ASSIGN=25;
+    public static final int T84=84;
+    public static final int T85=85;
+    public static final int QUESTION=28;
+    public static final int T86=86;
+    public static final int CHAR_LITERAL=52;
+    public static final int T87=87;
+    public static final int SL=40;
+    public static final int RCURLY=11;
+    public static final int SR=41;
+    public static final int PLUS_ASSIGN=17;
+    public static final int ASSIGN=15;
+    public static final int UNICODE_CHAR=66;
+    public static final int DIV=45;
+    public static final int T81=81;
+    public static final int T80=80;
+    public static final int EXPONENT_PART=62;
+    public static final int T83=83;
+    public static final int SR_ASSIGN=22;
+    public static final int T82=82;
+    public static final int LE=38;
+    
+    	public static final CommonToken IGNORE_TOKEN = new CommonToken(null,0,99,0,0);
 
-    public static final CommonToken IGNORE_TOKEN      = new CommonToken( null,
-                                                                         0,
-                                                                         99,
-                                                                         0,
-                                                                         0 );
-
-    public JavaParserLexer() {
-        ;
+    public JavaParserLexer() {;} 
+    public JavaParserLexer(CharStream input) {
+        super(input);
     }
+    public String getGrammarFileName() { return "C:\\dev\\jbossrules\\trunk3\\drools-compiler\\src\\main\\resources\\org\\drools\\semantics\\java\\parser\\JavaParser.g"; }
 
-    public JavaParserLexer(final CharStream input) {
-        super( input );
-    }
-
-    public String getGrammarFileName() {
-        return "D:\\workspace\\jboss\\jbossrules\\drools-compiler\\src\\main\\resources\\org\\drools\\semantics\\java\\parser\\JavaParser.g";
-    }
-
     // $ANTLR start T68
-    public void mT68() throws RecognitionException {
+    public final void mT68() throws RecognitionException {
         try {
-            this.ruleNestingLevel++;
-            final int _type = T68;
-            final int _start = getCharIndex();
-            final int _line = getLine();
-            final int _charPosition = getCharPositionInLine();
-            final int _channel = Token.DEFAULT_CHANNEL;
-            // D:\\workspace\\jboss\\jbossrules\\drools-compiler\\src\\main\\resources\\org\\drools\\semantics\\java\\parser\\JavaParser.g:9:7: ( 'void' )
-            // D:\\workspace\\jboss\\jbossrules\\drools-compiler\\src\\main\\resources\\org\\drools\\semantics\\java\\parser\\JavaParser.g:9:7: 'void'
+            int _type = T68;
+            // C:\\dev\\jbossrules\\trunk3\\drools-compiler\\src\\main\\resources\\org\\drools\\semantics\\java\\parser\\JavaParser.g:9:7: ( 'void' )
+            // C:\\dev\\jbossrules\\trunk3\\drools-compiler\\src\\main\\resources\\org\\drools\\semantics\\java\\parser\\JavaParser.g:9:7: 'void'
             {
-                match( "void" );
+            match("void"); 
 
-            }
 
-            if ( this.token == null && this.ruleNestingLevel == 1 ) {
-                emit( _type,
-                      _line,
-                      _charPosition,
-                      _channel,
-                      _start,
-                      getCharIndex() - 1 );
             }
 
-        } finally {
-            this.ruleNestingLevel--;
+            this.type = _type;
         }
+        finally {
+        }
     }
-
     // $ANTLR end T68
 
     // $ANTLR start T69
-    public void mT69() throws RecognitionException {
+    public final void mT69() throws RecognitionException {
         try {
-            this.ruleNestingLevel++;
-            final int _type = T69;
-            final int _start = getCharIndex();
-            final int _line = getLine();
-            final int _charPosition = getCharPositionInLine();
-            final int _channel = Token.DEFAULT_CHANNEL;
-            // D:\\workspace\\jboss\\jbossrules\\drools-compiler\\src\\main\\resources\\org\\drools\\semantics\\java\\parser\\JavaParser.g:10:7: ( 'boolean' )
-            // D:\\workspace\\jboss\\jbossrules\\drools-compiler\\src\\main\\resources\\org\\drools\\semantics\\java\\parser\\JavaParser.g:10:7: 'boolean'
+            int _type = T69;
+            // C:\\dev\\jbossrules\\trunk3\\drools-compiler\\src\\main\\resources\\org\\drools\\semantics\\java\\parser\\JavaParser.g:10:7: ( 'boolean' )
+            // C:\\dev\\jbossrules\\trunk3\\drools-compiler\\src\\main\\resources\\org\\drools\\semantics\\java\\parser\\JavaParser.g:10:7: 'boolean'
             {
-                match( "boolean" );
+            match("boolean"); 
 
-            }
 
-            if ( this.token == null && this.ruleNestingLevel == 1 ) {
-                emit( _type,
-                      _line,
-                      _charPosition,
-                      _channel,
-                      _start,
-                      getCharIndex() - 1 );
             }
 
-        } finally {
-            this.ruleNestingLevel--;
+            this.type = _type;
         }
+        finally {
+        }
     }
-
     // $ANTLR end T69
 
     // $ANTLR start T70
-    public void mT70() throws RecognitionException {
+    public final void mT70() throws RecognitionException {
         try {
-            this.ruleNestingLevel++;
-            final int _type = T70;
-            final int _start = getCharIndex();
-            final int _line = getLine();
-            final int _charPosition = getCharPositionInLine();
-            final int _channel = Token.DEFAULT_CHANNEL;
-            // D:\\workspace\\jboss\\jbossrules\\drools-compiler\\src\\main\\resources\\org\\drools\\semantics\\java\\parser\\JavaParser.g:11:7: ( 'byte' )
-            // D:\\workspace\\jboss\\jbossrules\\drools-compiler\\src\\main\\resources\\org\\drools\\semantics\\java\\parser\\JavaParser.g:11:7: 'byte'
+            int _type = T70;
+            // C:\\dev\\jbossrules\\trunk3\\drools-compiler\\src\\main\\resources\\org\\drools\\semantics\\java\\parser\\JavaParser.g:11:7: ( 'byte' )
+            // C:\\dev\\jbossrules\\trunk3\\drools-compiler\\src\\main\\resources\\org\\drools\\semantics\\java\\parser\\JavaParser.g:11:7: 'byte'
             {
-                match( "byte" );
+            match("byte"); 
 
-            }
 
-            if ( this.token == null && this.ruleNestingLevel == 1 ) {
-                emit( _type,
-                      _line,
-                      _charPosition,
-                      _channel,
-                      _start,
-                      getCharIndex() - 1 );
             }
 
-        } finally {
-            this.ruleNestingLevel--;
+            this.type = _type;
         }
+        finally {
+        }
     }
-
     // $ANTLR end T70
 
     // $ANTLR start T71
-    public void mT71() throws RecognitionException {
+    public final void mT71() throws RecognitionException {
         try {
-            this.ruleNestingLevel++;
-            final int _type = T71;
-            final int _start = getCharIndex();
-            final int _line = getLine();
-            final int _charPosition = getCharPositionInLine();
-            final int _channel = Token.DEFAULT_CHANNEL;
-            // D:\\workspace\\jboss\\jbossrules\\drools-compiler\\src\\main\\resources\\org\\drools\\semantics\\java\\parser\\JavaParser.g:12:7: ( 'char' )
-            // D:\\workspace\\jboss\\jbossrules\\drools-compiler\\src\\main\\resources\\org\\drools\\semantics\\java\\parser\\JavaParser.g:12:7: 'char'
+            int _type = T71;
+            // C:\\dev\\jbossrules\\trunk3\\drools-compiler\\src\\main\\resources\\org\\drools\\semantics\\java\\parser\\JavaParser.g:12:7: ( 'char' )
+            // C:\\dev\\jbossrules\\trunk3\\drools-compiler\\src\\main\\resources\\org\\drools\\semantics\\java\\parser\\JavaParser.g:12:7: 'char'
             {
-                match( "char" );
+            match("char"); 
 
-            }
 
-            if ( this.token == null && this.ruleNestingLevel == 1 ) {
-                emit( _type,
-                      _line,
-                      _charPosition,
-                      _channel,
-                      _start,
-                      getCharIndex() - 1 );
             }
 
-        } finally {
-            this.ruleNestingLevel--;
+            this.type = _type;
         }
+        finally {
+        }
     }
-
     // $ANTLR end T71
 
     // $ANTLR start T72
-    public void mT72() throws RecognitionException {
+    public final void mT72() throws RecognitionException {
         try {
-            this.ruleNestingLevel++;
-            final int _type = T72;
-            final int _start = getCharIndex();
-            final int _line = getLine();
-            final int _charPosition = getCharPositionInLine();
-            final int _channel = Token.DEFAULT_CHANNEL;
-            // D:\\workspace\\jboss\\jbossrules\\drools-compiler\\src\\main\\resources\\org\\drools\\semantics\\java\\parser\\JavaParser.g:13:7: ( 'short' )
-            // D:\\workspace\\jboss\\jbossrules\\drools-compiler\\src\\main\\resources\\org\\drools\\semantics\\java\\parser\\JavaParser.g:13:7: 'short'
+            int _type = T72;
+            // C:\\dev\\jbossrules\\trunk3\\drools-compiler\\src\\main\\resources\\org\\drools\\semantics\\java\\parser\\JavaParser.g:13:7: ( 'short' )
+            // C:\\dev\\jbossrules\\trunk3\\drools-compiler\\src\\main\\resources\\org\\drools\\semantics\\java\\parser\\JavaParser.g:13:7: 'short'
             {
-                match( "short" );
+            match("short"); 
 
-            }
 
-            if ( this.token == null && this.ruleNestingLevel == 1 ) {
-                emit( _type,
-                      _line,
-                      _charPosition,
-                      _channel,
-                      _start,
-                      getCharIndex() - 1 );
             }
 
-        } finally {
-            this.ruleNestingLevel--;
+            this.type = _type;
         }
+        finally {
+        }
     }
-
     // $ANTLR end T72
 
     // $ANTLR start T73
-    public void mT73() throws RecognitionException {
+    public final void mT73() throws RecognitionException {
         try {
-            this.ruleNestingLevel++;
-            final int _type = T73;
-            final int _start = getCharIndex();
-            final int _line = getLine();
-            final int _charPosition = getCharPositionInLine();
-            final int _channel = Token.DEFAULT_CHANNEL;
-            // D:\\workspace\\jboss\\jbossrules\\drools-compiler\\src\\main\\resources\\org\\drools\\semantics\\java\\parser\\JavaParser.g:14:7: ( 'int' )
-            // D:\\workspace\\jboss\\jbossrules\\drools-compiler\\src\\main\\resources\\org\\drools\\semantics\\java\\parser\\JavaParser.g:14:7: 'int'
+            int _type = T73;
+            // C:\\dev\\jbossrules\\trunk3\\drools-compiler\\src\\main\\resources\\org\\drools\\semantics\\java\\parser\\JavaParser.g:14:7: ( 'int' )
+            // C:\\dev\\jbossrules\\trunk3\\drools-compiler\\src\\main\\resources\\org\\drools\\semantics\\java\\parser\\JavaParser.g:14:7: 'int'
             {
-                match( "int" );
+            match("int"); 
 
-            }
 
-            if ( this.token == null && this.ruleNestingLevel == 1 ) {
-                emit( _type,
-                      _line,
-                      _charPosition,
-                      _channel,
-                      _start,
-                      getCharIndex() - 1 );
             }
 
-        } finally {
-            this.ruleNestingLevel--;
+            this.type = _type;
         }
+        finally {
+        }
     }
-
     // $ANTLR end T73
 
     // $ANTLR start T74
-    public void mT74() throws RecognitionException {
+    public final void mT74() throws RecognitionException {
         try {
-            this.ruleNestingLevel++;
-            final int _type = T74;
-            final int _start = getCharIndex();
-            final int _line = getLine();
-            final int _charPosition = getCharPositionInLine();
-            final int _channel = Token.DEFAULT_CHANNEL;
-            // D:\\workspace\\jboss\\jbossrules\\drools-compiler\\src\\main\\resources\\org\\drools\\semantics\\java\\parser\\JavaParser.g:15:7: ( 'float' )
-            // D:\\workspace\\jboss\\jbossrules\\drools-compiler\\src\\main\\resources\\org\\drools\\semantics\\java\\parser\\JavaParser.g:15:7: 'float'
+            int _type = T74;
+            // C:\\dev\\jbossrules\\trunk3\\drools-compiler\\src\\main\\resources\\org\\drools\\semantics\\java\\parser\\JavaParser.g:15:7: ( 'float' )
+            // C:\\dev\\jbossrules\\trunk3\\drools-compiler\\src\\main\\resources\\org\\drools\\semantics\\java\\parser\\JavaParser.g:15:7: 'float'
             {
-                match( "float" );
+            match("float"); 
 
-            }
 
-            if ( this.token == null && this.ruleNestingLevel == 1 ) {
-                emit( _type,
-                      _line,
-                      _charPosition,
-                      _channel,
-                      _start,
-                      getCharIndex() - 1 );
             }
 
-        } finally {
-            this.ruleNestingLevel--;
+            this.type = _type;
         }
+        finally {
+        }
     }
-
     // $ANTLR end T74
 
     // $ANTLR start T75
-    public void mT75() throws RecognitionException {
+    public final void mT75() throws RecognitionException {
         try {
-            this.ruleNestingLevel++;
-            final int _type = T75;
-            final int _start = getCharIndex();
-            final int _line = getLine();
-            final int _charPosition = getCharPositionInLine();
-            final int _channel = Token.DEFAULT_CHANNEL;
-            // D:\\workspace\\jboss\\jbossrules\\drools-compiler\\src\\main\\resources\\org\\drools\\semantics\\java\\parser\\JavaParser.g:16:7: ( 'long' )
-            // D:\\workspace\\jboss\\jbossrules\\drools-compiler\\src\\main\\resources\\org\\drools\\semantics\\java\\parser\\JavaParser.g:16:7: 'long'
+            int _type = T75;
+            // C:\\dev\\jbossrules\\trunk3\\drools-compiler\\src\\main\\resources\\org\\drools\\semantics\\java\\parser\\JavaParser.g:16:7: ( 'long' )
+            // C:\\dev\\jbossrules\\trunk3\\drools-compiler\\src\\main\\resources\\org\\drools\\semantics\\java\\parser\\JavaParser.g:16:7: 'long'
             {
-                match( "long" );
+            match("long"); 
 
-            }
 
-            if ( this.token == null && this.ruleNestingLevel == 1 ) {
-                emit( _type,
-                      _line,
-                      _charPosition,
-                      _channel,
-                      _start,
-                      getCharIndex() - 1 );
             }
 
-        } finally {
-            this.ruleNestingLevel--;
+            this.type = _type;
         }
+        finally {
+        }
     }
-
     // $ANTLR end T75
 
     // $ANTLR start T76
-    public void mT76() throws RecognitionException {
+    public final void mT76() throws RecognitionException {
         try {
-            this.ruleNestingLevel++;
-            final int _type = T76;
-            final int _start = getCharIndex();
-            final int _line = getLine();
-            final int _charPosition = getCharPositionInLine();
-            final int _channel = Token.DEFAULT_CHANNEL;
-            // D:\\workspace\\jboss\\jbossrules\\drools-compiler\\src\\main\\resources\\org\\drools\\semantics\\java\\parser\\JavaParser.g:17:7: ( 'double' )
-            // D:\\workspace\\jboss\\jbossrules\\drools-compiler\\src\\main\\resources\\org\\drools\\semantics\\java\\parser\\JavaParser.g:17:7: 'double'
+            int _type = T76;
+            // C:\\dev\\jbossrules\\trunk3\\drools-compiler\\src\\main\\resources\\org\\drools\\semantics\\java\\parser\\JavaParser.g:17:7: ( 'double' )
+            // C:\\dev\\jbossrules\\trunk3\\drools-compiler\\src\\main\\resources\\org\\drools\\semantics\\java\\parser\\JavaParser.g:17:7: 'double'
             {
-                match( "double" );
+            match("double"); 
 
-            }
 
-            if ( this.token == null && this.ruleNestingLevel == 1 ) {
-                emit( _type,
-                      _line,
-                      _charPosition,
-                      _channel,
-                      _start,
-                      getCharIndex() - 1 );
             }
 
-        } finally {
-            this.ruleNestingLevel--;
+            this.type = _type;
         }
+        finally {
+        }
     }
-
     // $ANTLR end T76
 
     // $ANTLR start T77
-    public void mT77() throws RecognitionException {
+    public final void mT77() throws RecognitionException {
         try {
-            this.ruleNestingLevel++;
-            final int _type = T77;
-            final int _start = getCharIndex();
-            final int _line = getLine();
-            final int _charPosition = getCharPositionInLine();
-            final int _channel = Token.DEFAULT_CHANNEL;
-            // D:\\workspace\\jboss\\jbossrules\\drools-compiler\\src\\main\\resources\\org\\drools\\semantics\\java\\parser\\JavaParser.g:18:7: ( 'private' )
-            // D:\\workspace\\jboss\\jbossrules\\drools-compiler\\src\\main\\resources\\org\\drools\\semantics\\java\\parser\\JavaParser.g:18:7: 'private'
+            int _type = T77;
+            // C:\\dev\\jbossrules\\trunk3\\drools-compiler\\src\\main\\resources\\org\\drools\\semantics\\java\\parser\\JavaParser.g:18:7: ( 'private' )
+            // C:\\dev\\jbossrules\\trunk3\\drools-compiler\\src\\main\\resources\\org\\drools\\semantics\\java\\parser\\JavaParser.g:18:7: 'private'
             {
-                match( "private" );
+            match("private"); 
 
-            }
 
-            if ( this.token == null && this.ruleNestingLevel == 1 ) {
-                emit( _type,
-                      _line,
-                      _charPosition,
-                      _channel,
-                      _start,
-                      getCharIndex() - 1 );
             }
 
-        } finally {
-            this.ruleNestingLevel--;
+            this.type = _type;
         }
+        finally {
+        }
     }
-
     // $ANTLR end T77
 
     // $ANTLR start T78
-    public void mT78() throws RecognitionException {
+    public final void mT78() throws RecognitionException {
         try {
-            this.ruleNestingLevel++;
-            final int _type = T78;
-            final int _start = getCharIndex();
-            final int _line = getLine();
-            final int _charPosition = getCharPositionInLine();
-            final int _channel = Token.DEFAULT_CHANNEL;
-            // D:\\workspace\\jboss\\jbossrules\\drools-compiler\\src\\main\\resources\\org\\drools\\semantics\\java\\parser\\JavaParser.g:19:7: ( 'public' )
-            // D:\\workspace\\jboss\\jbossrules\\drools-compiler\\src\\main\\resources\\org\\drools\\semantics\\java\\parser\\JavaParser.g:19:7: 'public'
+            int _type = T78;
+            // C:\\dev\\jbossrules\\trunk3\\drools-compiler\\src\\main\\resources\\org\\drools\\semantics\\java\\parser\\JavaParser.g:19:7: ( 'public' )
+            // C:\\dev\\jbossrules\\trunk3\\drools-compiler\\src\\main\\resources\\org\\drools\\semantics\\java\\parser\\JavaParser.g:19:7: 'public'
             {
-                match( "public" );
+            match("public"); 
 
-            }
 
-            if ( this.token == null && this.ruleNestingLevel == 1 ) {
-                emit( _type,
-                      _line,
-                      _charPosition,
-                      _channel,
-                      _start,
-                      getCharIndex() - 1 );
             }
 
-        } finally {
-            this.ruleNestingLevel--;
+            this.type = _type;
         }
+        finally {
+        }
     }
-
     // $ANTLR end T78
 
     // $ANTLR start T79
-    public void mT79() throws RecognitionException {
+    public final void mT79() throws RecognitionException {
         try {
-            this.ruleNestingLevel++;
-            final int _type = T79;
-            final int _start = getCharIndex();
-            final int _line = getLine();
-            final int _charPosition = getCharPositionInLine();
-            final int _channel = Token.DEFAULT_CHANNEL;
-            // D:\\workspace\\jboss\\jbossrules\\drools-compiler\\src\\main\\resources\\org\\drools\\semantics\\java\\parser\\JavaParser.g:20:7: ( 'protected' )
-            // D:\\workspace\\jboss\\jbossrules\\drools-compiler\\src\\main\\resources\\org\\drools\\semantics\\java\\parser\\JavaParser.g:20:7: 'protected'
+            int _type = T79;
+            // C:\\dev\\jbossrules\\trunk3\\drools-compiler\\src\\main\\resources\\org\\drools\\semantics\\java\\parser\\JavaParser.g:20:7: ( 'protected' )
+            // C:\\dev\\jbossrules\\trunk3\\drools-compiler\\src\\main\\resources\\org\\drools\\semantics\\java\\parser\\JavaParser.g:20:7: 'protected'
             {
-                match( "protected" );
+            match("protected"); 
 
-            }
 
-            if ( this.token == null && this.ruleNestingLevel == 1 ) {
-                emit( _type,
-                      _line,
-                      _charPosition,
-                      _channel,
-                      _start,
-                      getCharIndex() - 1 );
             }
 
-        } finally {
-            this.ruleNestingLevel--;
+            this.type = _type;
         }
+        finally {
+        }
     }
-
     // $ANTLR end T79
 
     // $ANTLR start T80
-    public void mT80() throws RecognitionException {
+    public final void mT80() throws RecognitionException {
         try {
-            this.ruleNestingLevel++;
-            final int _type = T80;
-            final int _start = getCharIndex();
-            final int _line = getLine();
-            final int _charPosition = getCharPositionInLine();
-            final int _channel = Token.DEFAULT_CHANNEL;
-            // D:\\workspace\\jboss\\jbossrules\\drools-compiler\\src\\main\\resources\\org\\drools\\semantics\\java\\parser\\JavaParser.g:21:7: ( 'static' )
-            // D:\\workspace\\jboss\\jbossrules\\drools-compiler\\src\\main\\resources\\org\\drools\\semantics\\java\\parser\\JavaParser.g:21:7: 'static'
+            int _type = T80;
+            // C:\\dev\\jbossrules\\trunk3\\drools-compiler\\src\\main\\resources\\org\\drools\\semantics\\java\\parser\\JavaParser.g:21:7: ( 'static' )
+            // C:\\dev\\jbossrules\\trunk3\\drools-compiler\\src\\main\\resources\\org\\drools\\semantics\\java\\parser\\JavaParser.g:21:7: 'static'
             {
-                match( "static" );
+            match("static"); 
 
-            }
 
-            if ( this.token == null && this.ruleNestingLevel == 1 ) {
-                emit( _type,
-                      _line,
-                      _charPosition,
-                      _channel,
-                      _start,
-                      getCharIndex() - 1 );
             }
 
-        } finally {
-            this.ruleNestingLevel--;
+            this.type = _type;
         }
+        finally {
+        }
     }
-
     // $ANTLR end T80
 
     // $ANTLR start T81
-    public void mT81() throws RecognitionException {
+    public final void mT81() throws RecognitionException {
         try {
-            this.ruleNestingLevel++;
-            final int _type = T81;
-            final int _start = getCharIndex();
-            final int _line = getLine();
-            final int _charPosition = getCharPositionInLine();
-            final int _channel = Token.DEFAULT_CHANNEL;
-            // D:\\workspace\\jboss\\jbossrules\\drools-compiler\\src\\main\\resources\\org\\drools\\semantics\\java\\parser\\JavaParser.g:22:7: ( 'transient' )
-            // D:\\workspace\\jboss\\jbossrules\\drools-compiler\\src\\main\\resources\\org\\drools\\semantics\\java\\parser\\JavaParser.g:22:7: 'transient'
+            int _type = T81;
+            // C:\\dev\\jbossrules\\trunk3\\drools-compiler\\src\\main\\resources\\org\\drools\\semantics\\java\\parser\\JavaParser.g:22:7: ( 'transient' )
+            // C:\\dev\\jbossrules\\trunk3\\drools-compiler\\src\\main\\resources\\org\\drools\\semantics\\java\\parser\\JavaParser.g:22:7: 'transient'
             {
-                match( "transient" );
+            match("transient"); 
 
-            }
 
-            if ( this.token == null && this.ruleNestingLevel == 1 ) {
-                emit( _type,
-                      _line,
-                      _charPosition,
-                      _channel,
-                      _start,
-                      getCharIndex() - 1 );
             }
 
-        } finally {
-            this.ruleNestingLevel--;
+            this.type = _type;
         }
+        finally {
+        }
     }
-
     // $ANTLR end T81
 
     // $ANTLR start T82
-    public void mT82() throws RecognitionException {
+    public final void mT82() throws RecognitionException {
         try {
-            this.ruleNestingLevel++;
-            final int _type = T82;
-            final int _start = getCharIndex();
-            final int _line = getLine();
-            final int _charPosition = getCharPositionInLine();
-            final int _channel = Token.DEFAULT_CHANNEL;
-            // D:\\workspace\\jboss\\jbossrules\\drools-compiler\\src\\main\\resources\\org\\drools\\semantics\\java\\parser\\JavaParser.g:23:7: ( 'final' )
-            // D:\\workspace\\jboss\\jbossrules\\drools-compiler\\src\\main\\resources\\org\\drools\\semantics\\java\\parser\\JavaParser.g:23:7: 'final'
+            int _type = T82;
+            // C:\\dev\\jbossrules\\trunk3\\drools-compiler\\src\\main\\resources\\org\\drools\\semantics\\java\\parser\\JavaParser.g:23:7: ( 'final' )
+            // C:\\dev\\jbossrules\\trunk3\\drools-compiler\\src\\main\\resources\\org\\drools\\semantics\\java\\parser\\JavaParser.g:23:7: 'final'
             {
-                match( "final" );
+            match("final"); 
 
-            }
 
-            if ( this.token == null && this.ruleNestingLevel == 1 ) {
-                emit( _type,
-                      _line,
-                      _charPosition,
-                      _channel,
-                      _start,
-                      getCharIndex() - 1 );
             }
 
-        } finally {
-            this.ruleNestingLevel--;
+            this.type = _type;
         }
+        finally {
+        }
     }
-
     // $ANTLR end T82
 
     // $ANTLR start T83
-    public void mT83() throws RecognitionException {
+    public final void mT83() throws RecognitionException {
         try {
-            this.ruleNestingLevel++;
-            final int _type = T83;
-            final int _start = getCharIndex();
-            final int _line = getLine();
-            final int _charPosition = getCharPositionInLine();
-            final int _channel = Token.DEFAULT_CHANNEL;
-            // D:\\workspace\\jboss\\jbossrules\\drools-compiler\\src\\main\\resources\\org\\drools\\semantics\\java\\parser\\JavaParser.g:24:7: ( 'abstract' )
-            // D:\\workspace\\jboss\\jbossrules\\drools-compiler\\src\\main\\resources\\org\\drools\\semantics\\java\\parser\\JavaParser.g:24:7: 'abstract'
+            int _type = T83;
+            // C:\\dev\\jbossrules\\trunk3\\drools-compiler\\src\\main\\resources\\org\\drools\\semantics\\java\\parser\\JavaParser.g:24:7: ( 'abstract' )
+            // C:\\dev\\jbossrules\\trunk3\\drools-compiler\\src\\main\\resources\\org\\drools\\semantics\\java\\parser\\JavaParser.g:24:7: 'abstract'
             {
-                match( "abstract" );
+            match("abstract"); 
 
-            }
 
-            if ( this.token == null && this.ruleNestingLevel == 1 ) {
-                emit( _type,
-                      _line,
-                      _charPosition,
-                      _channel,
-                      _start,
-                      getCharIndex() - 1 );
             }
 
-        } finally {
-            this.ruleNestingLevel--;
+            this.type = _type;
         }
+        finally {
+        }
     }
-
     // $ANTLR end T83
 
     // $ANTLR start T84
-    public void mT84() throws RecognitionException {
+    public final void mT84() throws RecognitionException {
         try {
-            this.ruleNestingLevel++;
-            final int _type = T84;
-            final int _start = getCharIndex();
-            final int _line = getLine();
-            final int _charPosition = getCharPositionInLine();
-            final int _channel = Token.DEFAULT_CHANNEL;
-            // D:\\workspace\\jboss\\jbossrules\\drools-compiler\\src\\main\\resources\\org\\drools\\semantics\\java\\parser\\JavaParser.g:25:7: ( 'native' )
-            // D:\\workspace\\jboss\\jbossrules\\drools-compiler\\src\\main\\resources\\org\\drools\\semantics\\java\\parser\\JavaParser.g:25:7: 'native'
+            int _type = T84;
+            // C:\\dev\\jbossrules\\trunk3\\drools-compiler\\src\\main\\resources\\org\\drools\\semantics\\java\\parser\\JavaParser.g:25:7: ( 'native' )
+            // C:\\dev\\jbossrules\\trunk3\\drools-compiler\\src\\main\\resources\\org\\drools\\semantics\\java\\parser\\JavaParser.g:25:7: 'native'
             {
-                match( "native" );
+            match("native"); 
 
-            }
 
-            if ( this.token == null && this.ruleNestingLevel == 1 ) {
-                emit( _type,
-                      _line,
-                      _charPosition,
-                      _channel,
-                      _start,
-                      getCharIndex() - 1 );
             }
 
-        } finally {
-            this.ruleNestingLevel--;
+            this.type = _type;
         }
+        finally {
+        }
     }
-
     // $ANTLR end T84
 
     // $ANTLR start T85
-    public void mT85() throws RecognitionException {
+    public final void mT85() throws RecognitionException {
         try {
-            this.ruleNestingLevel++;
-            final int _type = T85;
-            final int _start = getCharIndex();
-            final int _line = getLine();
-            final int _charPosition = getCharPositionInLine();
-            final int _channel = Token.DEFAULT_CHANNEL;
-            // D:\\workspace\\jboss\\jbossrules\\drools-compiler\\src\\main\\resources\\org\\drools\\semantics\\java\\parser\\JavaParser.g:26:7: ( 'threadsafe' )
-            // D:\\workspace\\jboss\\jbossrules\\drools-compiler\\src\\main\\resources\\org\\drools\\semantics\\java\\parser\\JavaParser.g:26:7: 'threadsafe'
+            int _type = T85;
+            // C:\\dev\\jbossrules\\trunk3\\drools-compiler\\src\\main\\resources\\org\\drools\\semantics\\java\\parser\\JavaParser.g:26:7: ( 'threadsafe' )
+            // C:\\dev\\jbossrules\\trunk3\\drools-compiler\\src\\main\\resources\\org\\drools\\semantics\\java\\parser\\JavaParser.g:26:7: 'threadsafe'
             {
-                match( "threadsafe" );
+            match("threadsafe"); 
 
-            }
 
-            if ( this.token == null && this.ruleNestingLevel == 1 ) {
-                emit( _type,
-                      _line,
-                      _charPosition,
-                      _channel,
-                      _start,
-                      getCharIndex() - 1 );
             }
 
-        } finally {
-            this.ruleNestingLevel--;
+            this.type = _type;
         }
+        finally {
+        }
     }
-
     // $ANTLR end T85
 
     // $ANTLR start T86
-    public void mT86() throws RecognitionException {
+    public final void mT86() throws RecognitionException {
         try {
-            this.ruleNestingLevel++;
-            final int _type = T86;
-            final int _start = getCharIndex();
-            final int _line = getLine();
-            final int _charPosition = getCharPositionInLine();
-            final int _channel = Token.DEFAULT_CHANNEL;
-            // D:\\workspace\\jboss\\jbossrules\\drools-compiler\\src\\main\\resources\\org\\drools\\semantics\\java\\parser\\JavaParser.g:27:7: ( 'synchronized' )
-            // D:\\workspace\\jboss\\jbossrules\\drools-compiler\\src\\main\\resources\\org\\drools\\semantics\\java\\parser\\JavaParser.g:27:7: 'synchronized'
+            int _type = T86;
+            // C:\\dev\\jbossrules\\trunk3\\drools-compiler\\src\\main\\resources\\org\\drools\\semantics\\java\\parser\\JavaParser.g:27:7: ( 'synchronized' )
+            // C:\\dev\\jbossrules\\trunk3\\drools-compiler\\src\\main\\resources\\org\\drools\\semantics\\java\\parser\\JavaParser.g:27:7: 'synchronized'
             {
-                match( "synchronized" );
+            match("synchronized"); 
 
-            }
 
-            if ( this.token == null && this.ruleNestingLevel == 1 ) {
-                emit( _type,
-                      _line,
-                      _charPosition,
-                      _channel,
-                      _start,
-                      getCharIndex() - 1 );
             }
 
-        } finally {
-            this.ruleNestingLevel--;
+            this.type = _type;
         }
+        finally {
+        }
     }
-
     // $ANTLR end T86
 
     // $ANTLR start T87
-    public void mT87() throws RecognitionException {
+    public final void mT87() throws RecognitionException {
         try {
-            this.ruleNestingLevel++;
-            final int _type = T87;
-            final int _start = getCharIndex();
-            final int _line = getLine();
-            final int _charPosition = getCharPositionInLine();
-            final int _channel = Token.DEFAULT_CHANNEL;
-            // D:\\workspace\\jboss\\jbossrules\\drools-compiler\\src\\main\\resources\\org\\drools\\semantics\\java\\parser\\JavaParser.g:28:7: ( 'volatile' )
-            // D:\\workspace\\jboss\\jbossrules\\drools-compiler\\src\\main\\resources\\org\\drools\\semantics\\java\\parser\\JavaParser.g:28:7: 'volatile'
+            int _type = T87;
+            // C:\\dev\\jbossrules\\trunk3\\drools-compiler\\src\\main\\resources\\org\\drools\\semantics\\java\\parser\\JavaParser.g:28:7: ( 'volatile' )
+            // C:\\dev\\jbossrules\\trunk3\\drools-compiler\\src\\main\\resources\\org\\drools\\semantics\\java\\parser\\JavaParser.g:28:7: 'volatile'
             {
-                match( "volatile" );
+            match("volatile"); 
 
-            }
 
-            if ( this.token == null && this.ruleNestingLevel == 1 ) {
-                emit( _type,
-                      _line,
-                      _charPosition,
-                      _channel,
-                      _start,
-                      getCharIndex() - 1 );
             }
 
-        } finally {
-            this.ruleNestingLevel--;
+            this.type = _type;
         }
+        finally {
+        }
     }
-
     // $ANTLR end T87
 
     // $ANTLR start T88
-    public void mT88() throws RecognitionException {
+    public final void mT88() throws RecognitionException {
         try {
-            this.ruleNestingLevel++;
-            final int _type = T88;
-            final int _start = getCharIndex();
-            final int _line = getLine();
-            final int _charPosition = getCharPositionInLine();
-            final int _channel = Token.DEFAULT_CHANNEL;
-            // D:\\workspace\\jboss\\jbossrules\\drools-compiler\\src\\main\\resources\\org\\drools\\semantics\\java\\parser\\JavaParser.g:29:7: ( 'strictfp' )
-            // D:\\workspace\\jboss\\jbossrules\\drools-compiler\\src\\main\\resources\\org\\drools\\semantics\\java\\parser\\JavaParser.g:29:7: 'strictfp'
+            int _type = T88;
+            // C:\\dev\\jbossrules\\trunk3\\drools-compiler\\src\\main\\resources\\org\\drools\\semantics\\java\\parser\\JavaParser.g:29:7: ( 'strictfp' )
+            // C:\\dev\\jbossrules\\trunk3\\drools-compiler\\src\\main\\resources\\org\\drools\\semantics\\java\\parser\\JavaParser.g:29:7: 'strictfp'
             {
-                match( "strictfp" );
+            match("strictfp"); 
 
-            }
 
-            if ( this.token == null && this.ruleNestingLevel == 1 ) {
-                emit( _type,
-                      _line,
-                      _charPosition,
-                      _channel,
-                      _start,
-                      getCharIndex() - 1 );
             }
 
-        } finally {
-            this.ruleNestingLevel--;
+            this.type = _type;
         }
+        finally {
+        }
     }
-
     // $ANTLR end T88
 
     // $ANTLR start T89
-    public void mT89() throws RecognitionException {
+    public final void mT89() throws RecognitionException {
         try {
-            this.ruleNestingLevel++;
-            final int _type = T89;
-            final int _start = getCharIndex();
-            final int _line = getLine();
-            final int _charPosition = getCharPositionInLine();
-            final int _channel = Token.DEFAULT_CHANNEL;
-            // D:\\workspace\\jboss\\jbossrules\\drools-compiler\\src\\main\\resources\\org\\drools\\semantics\\java\\parser\\JavaParser.g:30:7: ( 'class' )
-            // D:\\workspace\\jboss\\jbossrules\\drools-compiler\\src\\main\\resources\\org\\drools\\semantics\\java\\parser\\JavaParser.g:30:7: 'class'
+            int _type = T89;
+            // C:\\dev\\jbossrules\\trunk3\\drools-compiler\\src\\main\\resources\\org\\drools\\semantics\\java\\parser\\JavaParser.g:30:7: ( 'class' )
+            // C:\\dev\\jbossrules\\trunk3\\drools-compiler\\src\\main\\resources\\org\\drools\\semantics\\java\\parser\\JavaParser.g:30:7: 'class'
             {
-                match( "class" );
+            match("class"); 
 
-            }
 
-            if ( this.token == null && this.ruleNestingLevel == 1 ) {
-                emit( _type,
-                      _line,
-                      _charPosition,
-                      _channel,
-                      _start,
-                      getCharIndex() - 1 );
             }
 
-        } finally {
-            this.ruleNestingLevel--;
+            this.type = _type;
         }
+        finally {
+        }
     }
-
     // $ANTLR end T89
 
     // $ANTLR start T90
-    public void mT90() throws RecognitionException {
+    public final void mT90() throws RecognitionException {
         try {
-            this.ruleNestingLevel++;
-            final int _type = T90;
-            final int _start = getCharIndex();
-            final int _line = getLine();
-            final int _charPosition = getCharPositionInLine();
-            final int _channel = Token.DEFAULT_CHANNEL;
-            // D:\\workspace\\jboss\\jbossrules\\drools-compiler\\src\\main\\resources\\org\\drools\\semantics\\java\\parser\\JavaParser.g:31:7: ( 'extends' )
-            // D:\\workspace\\jboss\\jbossrules\\drools-compiler\\src\\main\\resources\\org\\drools\\semantics\\java\\parser\\JavaParser.g:31:7: 'extends'
+            int _type = T90;
+            // C:\\dev\\jbossrules\\trunk3\\drools-compiler\\src\\main\\resources\\org\\drools\\semantics\\java\\parser\\JavaParser.g:31:7: ( 'extends' )
+            // C:\\dev\\jbossrules\\trunk3\\drools-compiler\\src\\main\\resources\\org\\drools\\semantics\\java\\parser\\JavaParser.g:31:7: 'extends'
             {
-                match( "extends" );
+            match("extends"); 
 
-            }
 
-            if ( this.token == null && this.ruleNestingLevel == 1 ) {
-                emit( _type,
-                      _line,
-                      _charPosition,
-                      _channel,
-                      _start,
-                      getCharIndex() - 1 );
             }
 
-        } finally {
-            this.ruleNestingLevel--;
+            this.type = _type;
         }
+        finally {
+        }
     }
-
     // $ANTLR end T90
 
     // $ANTLR start T91
-    public void mT91() throws RecognitionException {
+    public final void mT91() throws RecognitionException {
         try {
-            this.ruleNestingLevel++;
-            final int _type = T91;
-            final int _start = getCharIndex();
-            final int _line = getLine();
-            final int _charPosition = getCharPositionInLine();
-            final int _channel = Token.DEFAULT_CHANNEL;
-            // D:\\workspace\\jboss\\jbossrules\\drools-compiler\\src\\main\\resources\\org\\drools\\semantics\\java\\parser\\JavaParser.g:32:7: ( 'interface' )
-            // D:\\workspace\\jboss\\jbossrules\\drools-compiler\\src\\main\\resources\\org\\drools\\semantics\\java\\parser\\JavaParser.g:32:7: 'interface'
+            int _type = T91;
+            // C:\\dev\\jbossrules\\trunk3\\drools-compiler\\src\\main\\resources\\org\\drools\\semantics\\java\\parser\\JavaParser.g:32:7: ( 'interface' )
+            // C:\\dev\\jbossrules\\trunk3\\drools-compiler\\src\\main\\resources\\org\\drools\\semantics\\java\\parser\\JavaParser.g:32:7: 'interface'
             {
-                match( "interface" );
+            match("interface"); 
 
-            }
 
-            if ( this.token == null && this.ruleNestingLevel == 1 ) {
-                emit( _type,
-                      _line,
-                      _charPosition,
-                      _channel,
-                      _start,
-                      getCharIndex() - 1 );
             }
 
-        } finally {
-            this.ruleNestingLevel--;
+            this.type = _type;
         }
+        finally {
+        }
     }
-
     // $ANTLR end T91
 
     // $ANTLR start T92
-    public void mT92() throws RecognitionException {
+    public final void mT92() throws RecognitionException {
         try {
-            this.ruleNestingLevel++;
-            final int _type = T92;
-            final int _start = getCharIndex();
-            final int _line = getLine();
-            final int _charPosition = getCharPositionInLine();
-            final int _channel = Token.DEFAULT_CHANNEL;
-            // D:\\workspace\\jboss\\jbossrules\\drools-compiler\\src\\main\\resources\\org\\drools\\semantics\\java\\parser\\JavaParser.g:33:7: ( 'implements' )
-            // D:\\workspace\\jboss\\jbossrules\\drools-compiler\\src\\main\\resources\\org\\drools\\semantics\\java\\parser\\JavaParser.g:33:7: 'implements'
+            int _type = T92;
+            // C:\\dev\\jbossrules\\trunk3\\drools-compiler\\src\\main\\resources\\org\\drools\\semantics\\java\\parser\\JavaParser.g:33:7: ( 'implements' )
+            // C:\\dev\\jbossrules\\trunk3\\drools-compiler\\src\\main\\resources\\org\\drools\\semantics\\java\\parser\\JavaParser.g:33:7: 'implements'
             {
-                match( "implements" );
+            match("implements"); 
 
-            }
 
-            if ( this.token == null && this.ruleNestingLevel == 1 ) {
-                emit( _type,
-                      _line,
-                      _charPosition,
-                      _channel,
-                      _start,
-                      getCharIndex() - 1 );
             }
 
-        } finally {
-            this.ruleNestingLevel--;
+            this.type = _type;
         }
+        finally {
+        }
     }
-
     // $ANTLR end T92
 
     // $ANTLR start T93
-    public void mT93() throws RecognitionException {
+    public final void mT93() throws RecognitionException {
         try {
-            this.ruleNestingLevel++;
-            final int _type = T93;
-            final int _start = getCharIndex();
-            final int _line = getLine();
-            final int _charPosition = getCharPositionInLine();
-            final int _channel = Token.DEFAULT_CHANNEL;
-            // D:\\workspace\\jboss\\jbossrules\\drools-compiler\\src\\main\\resources\\org\\drools\\semantics\\java\\parser\\JavaParser.g:34:7: ( 'this' )
-            // D:\\workspace\\jboss\\jbossrules\\drools-compiler\\src\\main\\resources\\org\\drools\\semantics\\java\\parser\\JavaParser.g:34:7: 'this'
+            int _type = T93;
+            // C:\\dev\\jbossrules\\trunk3\\drools-compiler\\src\\main\\resources\\org\\drools\\semantics\\java\\parser\\JavaParser.g:34:7: ( 'this' )
+            // C:\\dev\\jbossrules\\trunk3\\drools-compiler\\src\\main\\resources\\org\\drools\\semantics\\java\\parser\\JavaParser.g:34:7: 'this'
             {
-                match( "this" );
+            match("this"); 
 
-            }
 
-            if ( this.token == null && this.ruleNestingLevel == 1 ) {
-                emit( _type,
-                      _line,
-                      _charPosition,
-                      _channel,
-                      _start,
-                      getCharIndex() - 1 );
             }
 
-        } finally {
-            this.ruleNestingLevel--;
+            this.type = _type;
         }
+        finally {
+        }
     }
-
     // $ANTLR end T93
 
     // $ANTLR start T94
-    public void mT94() throws RecognitionException {
+    public final void mT94() throws RecognitionException {
         try {
-            this.ruleNestingLevel++;
-            final int _type = T94;
-            final int _start = getCharIndex();
-            final int _line = getLine();
-            final int _charPosition = getCharPositionInLine();
-            final int _channel = Token.DEFAULT_CHANNEL;
-            // D:\\workspace\\jboss\\jbossrules\\drools-compiler\\src\\main\\resources\\org\\drools\\semantics\\java\\parser\\JavaParser.g:35:7: ( 'super' )
-            // D:\\workspace\\jboss\\jbossrules\\drools-compiler\\src\\main\\resources\\org\\drools\\semantics\\java\\parser\\JavaParser.g:35:7: 'super'
+            int _type = T94;
+            // C:\\dev\\jbossrules\\trunk3\\drools-compiler\\src\\main\\resources\\org\\drools\\semantics\\java\\parser\\JavaParser.g:35:7: ( 'super' )
+            // C:\\dev\\jbossrules\\trunk3\\drools-compiler\\src\\main\\resources\\org\\drools\\semantics\\java\\parser\\JavaParser.g:35:7: 'super'
             {
-                match( "super" );
+            match("super"); 
 
-            }
 
-            if ( this.token == null && this.ruleNestingLevel == 1 ) {
-                emit( _type,
-                      _line,
-                      _charPosition,
-                      _channel,
-                      _start,
-                      getCharIndex() - 1 );
             }
 
-        } finally {
-            this.ruleNestingLevel--;
+            this.type = _type;
         }
+        finally {
+        }
     }
-
     // $ANTLR end T94
 
     // $ANTLR start T95
-    public void mT95() throws RecognitionException {
+    public final void mT95() throws RecognitionException {
         try {
-            this.ruleNestingLevel++;
-            final int _type = T95;
-            final int _start = getCharIndex();
-            final int _line = getLine();
-            final int _charPosition = getCharPositionInLine();
-            final int _channel = Token.DEFAULT_CHANNEL;
-            // D:\\workspace\\jboss\\jbossrules\\drools-compiler\\src\\main\\resources\\org\\drools\\semantics\\java\\parser\\JavaParser.g:36:7: ( 'throws' )
-            // D:\\workspace\\jboss\\jbossrules\\drools-compiler\\src\\main\\resources\\org\\drools\\semantics\\java\\parser\\JavaParser.g:36:7: 'throws'
+            int _type = T95;
+            // C:\\dev\\jbossrules\\trunk3\\drools-compiler\\src\\main\\resources\\org\\drools\\semantics\\java\\parser\\JavaParser.g:36:7: ( 'throws' )
+            // C:\\dev\\jbossrules\\trunk3\\drools-compiler\\src\\main\\resources\\org\\drools\\semantics\\java\\parser\\JavaParser.g:36:7: 'throws'
             {
-                match( "throws" );
+            match("throws"); 
 
-            }
 
-            if ( this.token == null && this.ruleNestingLevel == 1 ) {
-                emit( _type,
-                      _line,
-                      _charPosition,
-                      _channel,
-                      _start,
-                      getCharIndex() - 1 );
             }
 
-        } finally {
-            this.ruleNestingLevel--;
+            this.type = _type;
         }
+        finally {
+        }
     }
-
     // $ANTLR end T95
 
     // $ANTLR start T96
-    public void mT96() throws RecognitionException {
+    public final void mT96() throws RecognitionException {
         try {
-            this.ruleNestingLevel++;
-            final int _type = T96;
-            final int _start = getCharIndex();
-            final int _line = getLine();
-            final int _charPosition = getCharPositionInLine();
-            final int _channel = Token.DEFAULT_CHANNEL;
-            // D:\\workspace\\jboss\\jbossrules\\drools-compiler\\src\\main\\resources\\org\\drools\\semantics\\java\\parser\\JavaParser.g:37:7: ( 'if' )
-            // D:\\workspace\\jboss\\jbossrules\\drools-compiler\\src\\main\\resources\\org\\drools\\semantics\\java\\parser\\JavaParser.g:37:7: 'if'
+            int _type = T96;
+            // C:\\dev\\jbossrules\\trunk3\\drools-compiler\\src\\main\\resources\\org\\drools\\semantics\\java\\parser\\JavaParser.g:37:7: ( 'if' )
+            // C:\\dev\\jbossrules\\trunk3\\drools-compiler\\src\\main\\resources\\org\\drools\\semantics\\java\\parser\\JavaParser.g:37:7: 'if'
             {
-                match( "if" );
+            match("if"); 
 
-            }
 
-            if ( this.token == null && this.ruleNestingLevel == 1 ) {
-                emit( _type,
-                      _line,
-                      _charPosition,
-                      _channel,
-                      _start,
-                      getCharIndex() - 1 );
             }
 
-        } finally {
-            this.ruleNestingLevel--;
+            this.type = _type;
         }
+        finally {
+        }
     }
-
     // $ANTLR end T96
 
     // $ANTLR start T97
-    public void mT97() throws RecognitionException {
+    public final void mT97() throws RecognitionException {
         try {
-            this.ruleNestingLevel++;
-            final int _type = T97;
-            final int _start = getCharIndex();
-            final int _line = getLine();
-            final int _charPosition = getCharPositionInLine();
-            final int _channel = Token.DEFAULT_CHANNEL;
-            // D:\\workspace\\jboss\\jbossrules\\drools-compiler\\src\\main\\resources\\org\\drools\\semantics\\java\\parser\\JavaParser.g:38:7: ( 'else' )
-            // D:\\workspace\\jboss\\jbossrules\\drools-compiler\\src\\main\\resources\\org\\drools\\semantics\\java\\parser\\JavaParser.g:38:7: 'else'
+            int _type = T97;
+            // C:\\dev\\jbossrules\\trunk3\\drools-compiler\\src\\main\\resources\\org\\drools\\semantics\\java\\parser\\JavaParser.g:38:7: ( 'else' )
+            // C:\\dev\\jbossrules\\trunk3\\drools-compiler\\src\\main\\resources\\org\\drools\\semantics\\java\\parser\\JavaParser.g:38:7: 'else'
             {
-                match( "else" );
+            match("else"); 
 
-            }
 
-            if ( this.token == null && this.ruleNestingLevel == 1 ) {
-                emit( _type,
-                      _line,
-                      _charPosition,
-                      _channel,
-                      _start,
-                      getCharIndex() - 1 );
             }
 
-        } finally {
-            this.ruleNestingLevel--;
+            this.type = _type;
         }
+        finally {
+        }
     }
-
     // $ANTLR end T97
 
     // $ANTLR start T98
-    public void mT98() throws RecognitionException {
+    public final void mT98() throws RecognitionException {
         try {
-            this.ruleNestingLevel++;
-            final int _type = T98;
-            final int _start = getCharIndex();
-            final int _line = getLine();
-            final int _charPosition = getCharPositionInLine();
-            final int _channel = Token.DEFAULT_CHANNEL;
-            // D:\\workspace\\jboss\\jbossrules\\drools-compiler\\src\\main\\resources\\org\\drools\\semantics\\java\\parser\\JavaParser.g:39:7: ( 'for' )
-            // D:\\workspace\\jboss\\jbossrules\\drools-compiler\\src\\main\\resources\\org\\drools\\semantics\\java\\parser\\JavaParser.g:39:7: 'for'
+            int _type = T98;
+            // C:\\dev\\jbossrules\\trunk3\\drools-compiler\\src\\main\\resources\\org\\drools\\semantics\\java\\parser\\JavaParser.g:39:7: ( 'for' )
+            // C:\\dev\\jbossrules\\trunk3\\drools-compiler\\src\\main\\resources\\org\\drools\\semantics\\java\\parser\\JavaParser.g:39:7: 'for'
             {
-                match( "for" );
+            match("for"); 
 
-            }
 
-            if ( this.token == null && this.ruleNestingLevel == 1 ) {
-                emit( _type,
-                      _line,
-                      _charPosition,
-                      _channel,
-                      _start,
-                      getCharIndex() - 1 );
             }
 
-        } finally {
-            this.ruleNestingLevel--;
+            this.type = _type;
         }
+        finally {
+        }
     }
-
     // $ANTLR end T98
 
     // $ANTLR start T99
-    public void mT99() throws RecognitionException {
+    public final void mT99() throws RecognitionException {
         try {
-            this.ruleNestingLevel++;
-            final int _type = T99;
-            final int _start = getCharIndex();
-            final int _line = getLine();
-            final int _charPosition = getCharPositionInLine();
-            final int _channel = Token.DEFAULT_CHANNEL;
-            // D:\\workspace\\jboss\\jbossrules\\drools-compiler\\src\\main\\resources\\org\\drools\\semantics\\java\\parser\\JavaParser.g:40:7: ( 'while' )
-            // D:\\workspace\\jboss\\jbossrules\\drools-compiler\\src\\main\\resources\\org\\drools\\semantics\\java\\parser\\JavaParser.g:40:7: 'while'
+            int _type = T99;
+            // C:\\dev\\jbossrules\\trunk3\\drools-compiler\\src\\main\\resources\\org\\drools\\semantics\\java\\parser\\JavaParser.g:40:7: ( 'while' )
+            // C:\\dev\\jbossrules\\trunk3\\drools-compiler\\src\\main\\resources\\org\\drools\\semantics\\java\\parser\\JavaParser.g:40:7: 'while'
             {
-                match( "while" );
+            match("while"); 
 
-            }
 
-            if ( this.token == null && this.ruleNestingLevel == 1 ) {
-                emit( _type,
-                      _line,
-                      _charPosition,
-                      _channel,
-                      _start,
-                      getCharIndex() - 1 );
             }
 
-        } finally {
-            this.ruleNestingLevel--;
+            this.type = _type;
         }
+        finally {
+        }
     }
-
     // $ANTLR end T99
 
     // $ANTLR start T100
-    public void mT100() throws RecognitionException {
+    public final void mT100() throws RecognitionException {
         try {
-            this.ruleNestingLevel++;
-            final int _type = T100;
-            final int _start = getCharIndex();
-            final int _line = getLine();
-            final int _charPosition = getCharPositionInLine();
-            final int _channel = Token.DEFAULT_CHANNEL;
-            // D:\\workspace\\jboss\\jbossrules\\drools-compiler\\src\\main\\resources\\org\\drools\\semantics\\java\\parser\\JavaParser.g:41:8: ( 'do' )
-            // D:\\workspace\\jboss\\jbossrules\\drools-compiler\\src\\main\\resources\\org\\drools\\semantics\\java\\parser\\JavaParser.g:41:8: 'do'
+            int _type = T100;
+            // C:\\dev\\jbossrules\\trunk3\\drools-compiler\\src\\main\\resources\\org\\drools\\semantics\\java\\parser\\JavaParser.g:41:8: ( 'do' )
+            // C:\\dev\\jbossrules\\trunk3\\drools-compiler\\src\\main\\resources\\org\\drools\\semantics\\java\\parser\\JavaParser.g:41:8: 'do'
             {
-                match( "do" );
+            match("do"); 
 
-            }
 
-            if ( this.token == null && this.ruleNestingLevel == 1 ) {
-                emit( _type,
-                      _line,
-                      _charPosition,
-                      _channel,
-                      _start,
-                      getCharIndex() - 1 );
             }
 
-        } finally {
-            this.ruleNestingLevel--;
+            this.type = _type;
         }
+        finally {
+        }
     }
-
     // $ANTLR end T100
 
     // $ANTLR start T101
-    public void mT101() throws RecognitionException {
+    public final void mT101() throws RecognitionException {
         try {
-            this.ruleNestingLevel++;
-            final int _type = T101;
-            final int _start = getCharIndex();
-            final int _line = getLine();
-            final int _charPosition = getCharPositionInLine();
-            final int _channel = Token.DEFAULT_CHANNEL;
-            // D:\\workspace\\jboss\\jbossrules\\drools-compiler\\src\\main\\resources\\org\\drools\\semantics\\java\\parser\\JavaParser.g:42:8: ( 'break' )
-            // D:\\workspace\\jboss\\jbossrules\\drools-compiler\\src\\main\\resources\\org\\drools\\semantics\\java\\parser\\JavaParser.g:42:8: 'break'
+            int _type = T101;
+            // C:\\dev\\jbossrules\\trunk3\\drools-compiler\\src\\main\\resources\\org\\drools\\semantics\\java\\parser\\JavaParser.g:42:8: ( 'break' )
+            // C:\\dev\\jbossrules\\trunk3\\drools-compiler\\src\\main\\resources\\org\\drools\\semantics\\java\\parser\\JavaParser.g:42:8: 'break'
             {
-                match( "break" );
+            match("break"); 
 
-            }
 
-            if ( this.token == null && this.ruleNestingLevel == 1 ) {
-                emit( _type,
-                      _line,
-                      _charPosition,
-                      _channel,
-                      _start,
-                      getCharIndex() - 1 );
             }
 
-        } finally {
-            this.ruleNestingLevel--;
+            this.type = _type;
         }
+        finally {
+        }
     }
-
     // $ANTLR end T101
 
     // $ANTLR start T102
-    public void mT102() throws RecognitionException {
+    public final void mT102() throws RecognitionException {
         try {
-            this.ruleNestingLevel++;
-            final int _type = T102;
-            final int _start = getCharIndex();
-            final int _line = getLine();
-            final int _charPosition = getCharPositionInLine();
-            final int _channel = Token.DEFAULT_CHANNEL;
-            // D:\\workspace\\jboss\\jbossrules\\drools-compiler\\src\\main\\resources\\org\\drools\\semantics\\java\\parser\\JavaParser.g:43:8: ( 'continue' )
-            // D:\\workspace\\jboss\\jbossrules\\drools-compiler\\src\\main\\resources\\org\\drools\\semantics\\java\\parser\\JavaParser.g:43:8: 'continue'
+            int _type = T102;
+            // C:\\dev\\jbossrules\\trunk3\\drools-compiler\\src\\main\\resources\\org\\drools\\semantics\\java\\parser\\JavaParser.g:43:8: ( 'continue' )
+            // C:\\dev\\jbossrules\\trunk3\\drools-compiler\\src\\main\\resources\\org\\drools\\semantics\\java\\parser\\JavaParser.g:43:8: 'continue'
             {
-                match( "continue" );
+            match("continue"); 
 
-            }
 
-            if ( this.token == null && this.ruleNestingLevel == 1 ) {
-                emit( _type,
-                      _line,
-                      _charPosition,
-                      _channel,
-                      _start,
-                      getCharIndex() - 1 );
             }
 
-        } finally {
-            this.ruleNestingLevel--;
+            this.type = _type;
         }
+        finally {
+        }
     }
-
     // $ANTLR end T102
 
     // $ANTLR start T103
-    public void mT103() throws RecognitionException {
+    public final void mT103() throws RecognitionException {
         try {
-            this.ruleNestingLevel++;
-            final int _type = T103;
-            final int _start = getCharIndex();
-            final int _line = getLine();
-            final int _charPosition = getCharPositionInLine();
-            final int _channel = Token.DEFAULT_CHANNEL;
-            // D:\\workspace\\jboss\\jbossrules\\drools-compiler\\src\\main\\resources\\org\\drools\\semantics\\java\\parser\\JavaParser.g:44:8: ( 'return' )
-            // D:\\workspace\\jboss\\jbossrules\\drools-compiler\\src\\main\\resources\\org\\drools\\semantics\\java\\parser\\JavaParser.g:44:8: 'return'
+            int _type = T103;
+            // C:\\dev\\jbossrules\\trunk3\\drools-compiler\\src\\main\\resources\\org\\drools\\semantics\\java\\parser\\JavaParser.g:44:8: ( 'return' )
+            // C:\\dev\\jbossrules\\trunk3\\drools-compiler\\src\\main\\resources\\org\\drools\\semantics\\java\\parser\\JavaParser.g:44:8: 'return'
             {
-                match( "return" );
+            match("return"); 
 
-            }
 
-            if ( this.token == null && this.ruleNestingLevel == 1 ) {
-                emit( _type,
-                      _line,
-                      _charPosition,
-                      _channel,
-                      _start,
-                      getCharIndex() - 1 );
             }
 
-        } finally {
-            this.ruleNestingLevel--;
+            this.type = _type;
         }
+        finally {
+        }
     }
-
     // $ANTLR end T103
 
     // $ANTLR start T104
-    public void mT104() throws RecognitionException {
+    public final void mT104() throws RecognitionException {
         try {
-            this.ruleNestingLevel++;
-            final int _type = T104;
-            final int _start = getCharIndex();
-            final int _line = getLine();
-            final int _charPosition = getCharPositionInLine();
-            final int _channel = Token.DEFAULT_CHANNEL;
-            // D:\\workspace\\jboss\\jbossrules\\drools-compiler\\src\\main\\resources\\org\\drools\\semantics\\java\\parser\\JavaParser.g:45:8: ( 'switch' )
-            // D:\\workspace\\jboss\\jbossrules\\drools-compiler\\src\\main\\resources\\org\\drools\\semantics\\java\\parser\\JavaParser.g:45:8: 'switch'
+            int _type = T104;
+            // C:\\dev\\jbossrules\\trunk3\\drools-compiler\\src\\main\\resources\\org\\drools\\semantics\\java\\parser\\JavaParser.g:45:8: ( 'switch' )
+            // C:\\dev\\jbossrules\\trunk3\\drools-compiler\\src\\main\\resources\\org\\drools\\semantics\\java\\parser\\JavaParser.g:45:8: 'switch'
             {
-                match( "switch" );
+            match("switch"); 
 
-            }
 
-            if ( this.token == null && this.ruleNestingLevel == 1 ) {
-                emit( _type,
-                      _line,
-                      _charPosition,
-                      _channel,
-                      _start,
-                      getCharIndex() - 1 );
             }
 
-        } finally {
-            this.ruleNestingLevel--;
+            this.type = _type;
         }
+        finally {
+        }
     }
-
     // $ANTLR end T104
 
     // $ANTLR start T105
-    public void mT105() throws RecognitionException {
+    public final void mT105() throws RecognitionException {
         try {
-            this.ruleNestingLevel++;
-            final int _type = T105;
-            final int _start = getCharIndex();
-            final int _line = getLine();
-            final int _charPosition = getCharPositionInLine();
-            final int _channel = Token.DEFAULT_CHANNEL;
-            // D:\\workspace\\jboss\\jbossrules\\drools-compiler\\src\\main\\resources\\org\\drools\\semantics\\java\\parser\\JavaParser.g:46:8: ( 'throw' )
-            // D:\\workspace\\jboss\\jbossrules\\drools-compiler\\src\\main\\resources\\org\\drools\\semantics\\java\\parser\\JavaParser.g:46:8: 'throw'
+            int _type = T105;
+            // C:\\dev\\jbossrules\\trunk3\\drools-compiler\\src\\main\\resources\\org\\drools\\semantics\\java\\parser\\JavaParser.g:46:8: ( 'throw' )
+            // C:\\dev\\jbossrules\\trunk3\\drools-compiler\\src\\main\\resources\\org\\drools\\semantics\\java\\parser\\JavaParser.g:46:8: 'throw'
             {
-                match( "throw" );
+            match("throw"); 
 
-            }
 
-            if ( this.token == null && this.ruleNestingLevel == 1 ) {
-                emit( _type,
-                      _line,
-                      _charPosition,
-                      _channel,
-                      _start,
-                      getCharIndex() - 1 );
             }
 
-        } finally {
-            this.ruleNestingLevel--;
+            this.type = _type;
         }
+        finally {
+        }
     }
-
     // $ANTLR end T105
 
     // $ANTLR start T106
-    public void mT106() throws RecognitionException {
+    public final void mT106() throws RecognitionException {
         try {
-            this.ruleNestingLevel++;
-            final int _type = T106;
-            final int _start = getCharIndex();
-            final int _line = getLine();
-            final int _charPosition = getCharPositionInLine();
-            final int _channel = Token.DEFAULT_CHANNEL;
-            // D:\\workspace\\jboss\\jbossrules\\drools-compiler\\src\\main\\resources\\org\\drools\\semantics\\java\\parser\\JavaParser.g:47:8: ( 'case' )
-            // D:\\workspace\\jboss\\jbossrules\\drools-compiler\\src\\main\\resources\\org\\drools\\semantics\\java\\parser\\JavaParser.g:47:8: 'case'
+            int _type = T106;
+            // C:\\dev\\jbossrules\\trunk3\\drools-compiler\\src\\main\\resources\\org\\drools\\semantics\\java\\parser\\JavaParser.g:47:8: ( 'case' )
+            // C:\\dev\\jbossrules\\trunk3\\drools-compiler\\src\\main\\resources\\org\\drools\\semantics\\java\\parser\\JavaParser.g:47:8: 'case'
             {
-                match( "case" );
+            match("case"); 
 
-            }
 
-            if ( this.token == null && this.ruleNestingLevel == 1 ) {
-                emit( _type,
-                      _line,
-                      _charPosition,
-                      _channel,
-                      _start,
-                      getCharIndex() - 1 );
             }
 
-        } finally {
-            this.ruleNestingLevel--;
+            this.type = _type;
         }
+        finally {
+        }
     }
-
     // $ANTLR end T106
 
     // $ANTLR start T107
-    public void mT107() throws RecognitionException {
+    public final void mT107() throws RecognitionException {
         try {
-            this.ruleNestingLevel++;
-            final int _type = T107;
-            final int _start = getCharIndex();
-            final int _line = getLine();
-            final int _charPosition = getCharPositionInLine();
-            final int _channel = Token.DEFAULT_CHANNEL;
-            // D:\\workspace\\jboss\\jbossrules\\drools-compiler\\src\\main\\resources\\org\\drools\\semantics\\java\\parser\\JavaParser.g:48:8: ( 'default' )
-            // D:\\workspace\\jboss\\jbossrules\\drools-compiler\\src\\main\\resources\\org\\drools\\semantics\\java\\parser\\JavaParser.g:48:8: 'default'
+            int _type = T107;
+            // C:\\dev\\jbossrules\\trunk3\\drools-compiler\\src\\main\\resources\\org\\drools\\semantics\\java\\parser\\JavaParser.g:48:8: ( 'default' )
+            // C:\\dev\\jbossrules\\trunk3\\drools-compiler\\src\\main\\resources\\org\\drools\\semantics\\java\\parser\\JavaParser.g:48:8: 'default'
             {
-                match( "default" );
+            match("default"); 
 
-            }
 
-            if ( this.token == null && this.ruleNestingLevel == 1 ) {
-                emit( _type,
-                      _line,
-                      _charPosition,
-                      _channel,
-                      _start,
-                      getCharIndex() - 1 );
             }
 
-        } finally {
-            this.ruleNestingLevel--;
+            this.type = _type;
         }
+        finally {
+        }
     }
-
     // $ANTLR end T107
 
     // $ANTLR start T108
-    public void mT108() throws RecognitionException {
+    public final void mT108() throws RecognitionException {
         try {
-            this.ruleNestingLevel++;
-            final int _type = T108;
-            final int _start = getCharIndex();
-            final int _line = getLine();
-            final int _charPosition = getCharPositionInLine();
-            final int _channel = Token.DEFAULT_CHANNEL;
-            // D:\\workspace\\jboss\\jbossrules\\drools-compiler\\src\\main\\resources\\org\\drools\\semantics\\java\\parser\\JavaParser.g:49:8: ( 'try' )
-            // D:\\workspace\\jboss\\jbossrules\\drools-compiler\\src\\main\\resources\\org\\drools\\semantics\\java\\parser\\JavaParser.g:49:8: 'try'
+            int _type = T108;
+            // C:\\dev\\jbossrules\\trunk3\\drools-compiler\\src\\main\\resources\\org\\drools\\semantics\\java\\parser\\JavaParser.g:49:8: ( 'try' )
+            // C:\\dev\\jbossrules\\trunk3\\drools-compiler\\src\\main\\resources\\org\\drools\\semantics\\java\\parser\\JavaParser.g:49:8: 'try'
             {
-                match( "try" );
+            match("try"); 
 
-            }
 
-            if ( this.token == null && this.ruleNestingLevel == 1 ) {
-                emit( _type,
-                      _line,
-                      _charPosition,
-                      _channel,
-                      _start,
-                      getCharIndex() - 1 );
             }
 
-        } finally {
-            this.ruleNestingLevel--;
+            this.type = _type;
         }
+        finally {
+        }
     }
-
     // $ANTLR end T108
 
     // $ANTLR start T109
-    public void mT109() throws RecognitionException {
+    public final void mT109() throws RecognitionException {
         try {
-            this.ruleNestingLevel++;
-            final int _type = T109;
-            final int _start = getCharIndex();
-            final int _line = getLine();
-            final int _charPosition = getCharPositionInLine();
-            final int _channel = Token.DEFAULT_CHANNEL;
-            // D:\\workspace\\jboss\\jbossrules\\drools-compiler\\src\\main\\resources\\org\\drools\\semantics\\java\\parser\\JavaParser.g:50:8: ( 'finally' )
-            // D:\\workspace\\jboss\\jbossrules\\drools-compiler\\src\\main\\resources\\org\\drools\\semantics\\java\\parser\\JavaParser.g:50:8: 'finally'
+            int _type = T109;
+            // C:\\dev\\jbossrules\\trunk3\\drools-compiler\\src\\main\\resources\\org\\drools\\semantics\\java\\parser\\JavaParser.g:50:8: ( 'finally' )
+            // C:\\dev\\jbossrules\\trunk3\\drools-compiler\\src\\main\\resources\\org\\drools\\semantics\\java\\parser\\JavaParser.g:50:8: 'finally'
             {
-                match( "finally" );
+            match("finally"); 
 
-            }
 
-            if ( this.token == null && this.ruleNestingLevel == 1 ) {
-                emit( _type,
-                      _line,
-                      _charPosition,
-                      _channel,
-                      _start,
-                      getCharIndex() - 1 );
             }
 
-        } finally {
-            this.ruleNestingLevel--;
+            this.type = _type;
         }
+        finally {
+        }
     }
-
     // $ANTLR end T109
 
     // $ANTLR start T110
-    public void mT110() throws RecognitionException {
+    public final void mT110() throws RecognitionException {
         try {
-            this.ruleNestingLevel++;
-            final int _type = T110;
-            final int _start = getCharIndex();
-            final int _line = getLine();
-            final int _charPosition = getCharPositionInLine();
-            final int _channel = Token.DEFAULT_CHANNEL;
-            // D:\\workspace\\jboss\\jbossrules\\drools-compiler\\src\\main\\resources\\org\\drools\\semantics\\java\\parser\\JavaParser.g:51:8: ( 'catch' )
-            // D:\\workspace\\jboss\\jbossrules\\drools-compiler\\src\\main\\resources\\org\\drools\\semantics\\java\\parser\\JavaParser.g:51:8: 'catch'
+            int _type = T110;
+            // C:\\dev\\jbossrules\\trunk3\\drools-compiler\\src\\main\\resources\\org\\drools\\semantics\\java\\parser\\JavaParser.g:51:8: ( 'catch' )
+            // C:\\dev\\jbossrules\\trunk3\\drools-compiler\\src\\main\\resources\\org\\drools\\semantics\\java\\parser\\JavaParser.g:51:8: 'catch'
             {
-                match( "catch" );
+            match("catch"); 
 
-            }
 
-            if ( this.token == null && this.ruleNestingLevel == 1 ) {
-                emit( _type,
-                      _line,
-                      _charPosition,
-                      _channel,
-                      _start,
-                      getCharIndex() - 1 );
             }
 
-        } finally {
-            this.ruleNestingLevel--;
+            this.type = _type;
         }
+        finally {
+        }
     }
-
     // $ANTLR end T110
 
     // $ANTLR start T111
-    public void mT111() throws RecognitionException {
+    public final void mT111() throws RecognitionException {
         try {
-            this.ruleNestingLevel++;
-            final int _type = T111;
-            final int _start = getCharIndex();
-            final int _line = getLine();
-            final int _charPosition = getCharPositionInLine();
-            final int _channel = Token.DEFAULT_CHANNEL;
-            // D:\\workspace\\jboss\\jbossrules\\drools-compiler\\src\\main\\resources\\org\\drools\\semantics\\java\\parser\\JavaParser.g:52:8: ( 'instanceof' )
-            // D:\\workspace\\jboss\\jbossrules\\drools-compiler\\src\\main\\resources\\org\\drools\\semantics\\java\\parser\\JavaParser.g:52:8: 'instanceof'
+            int _type = T111;
+            // C:\\dev\\jbossrules\\trunk3\\drools-compiler\\src\\main\\resources\\org\\drools\\semantics\\java\\parser\\JavaParser.g:52:8: ( 'instanceof' )
+            // C:\\dev\\jbossrules\\trunk3\\drools-compiler\\src\\main\\resources\\org\\drools\\semantics\\java\\parser\\JavaParser.g:52:8: 'instanceof'
             {
-                match( "instanceof" );
+            match("instanceof"); 
 
-            }
 
-            if ( this.token == null && this.ruleNestingLevel == 1 ) {
-                emit( _type,
-                      _line,
-                      _charPosition,
-                      _channel,
-                      _start,
-                      getCharIndex() - 1 );
             }
 
-        } finally {
-            this.ruleNestingLevel--;
+            this.type = _type;
         }
+        finally {
+        }
     }
-
     // $ANTLR end T111
 
     // $ANTLR start T112
-    public void mT112() throws RecognitionException {
+    public final void mT112() throws RecognitionException {
         try {
-            this.ruleNestingLevel++;
-            final int _type = T112;
-            final int _start = getCharIndex();
-            final int _line = getLine();
-            final int _charPosition = getCharPositionInLine();
-            final int _channel = Token.DEFAULT_CHANNEL;
-            // D:\\workspace\\jboss\\jbossrules\\drools-compiler\\src\\main\\resources\\org\\drools\\semantics\\java\\parser\\JavaParser.g:53:8: ( 'true' )
-            // D:\\workspace\\jboss\\jbossrules\\drools-compiler\\src\\main\\resources\\org\\drools\\semantics\\java\\parser\\JavaParser.g:53:8: 'true'
+            int _type = T112;
+            // C:\\dev\\jbossrules\\trunk3\\drools-compiler\\src\\main\\resources\\org\\drools\\semantics\\java\\parser\\JavaParser.g:53:8: ( 'true' )
+            // C:\\dev\\jbossrules\\trunk3\\drools-compiler\\src\\main\\resources\\org\\drools\\semantics\\java\\parser\\JavaParser.g:53:8: 'true'
             {
-                match( "true" );
+            match("true"); 
 
-            }
 
-            if ( this.token == null && this.ruleNestingLevel == 1 ) {
-                emit( _type,
-                      _line,
-                      _charPosition,
-                      _channel,
-                      _start,
-                      getCharIndex() - 1 );
             }
 
-        } finally {
-            this.ruleNestingLevel--;
+            this.type = _type;
         }
+        finally {
+        }
     }
-
     // $ANTLR end T112
 
     // $ANTLR start T113
-    public void mT113() throws RecognitionException {
+    public final void mT113() throws RecognitionException {
         try {
-            this.ruleNestingLevel++;
-            final int _type = T113;
-            final int _start = getCharIndex();
-            final int _line = getLine();
-            final int _charPosition = getCharPositionInLine();
-            final int _channel = Token.DEFAULT_CHANNEL;
-            // D:\\workspace\\jboss\\jbossrules\\drools-compiler\\src\\main\\resources\\org\\drools\\semantics\\java\\parser\\JavaParser.g:54:8: ( 'false' )
-            // D:\\workspace\\jboss\\jbossrules\\drools-compiler\\src\\main\\resources\\org\\drools\\semantics\\java\\parser\\JavaParser.g:54:8: 'false'
+            int _type = T113;
+            // C:\\dev\\jbossrules\\trunk3\\drools-compiler\\src\\main\\resources\\org\\drools\\semantics\\java\\parser\\JavaParser.g:54:8: ( 'false' )
+            // C:\\dev\\jbossrules\\trunk3\\drools-compiler\\src\\main\\resources\\org\\drools\\semantics\\java\\parser\\JavaParser.g:54:8: 'false'
             {
-                match( "false" );
+            match("false"); 
 
-            }
 
-            if ( this.token == null && this.ruleNestingLevel == 1 ) {
-                emit( _type,
-                      _line,
-                      _charPosition,
-                      _channel,
-                      _start,
-                      getCharIndex() - 1 );
             }
 
-        } finally {
-            this.ruleNestingLevel--;
+            this.type = _type;
         }
+        finally {
+        }
     }
-
     // $ANTLR end T113
 
     // $ANTLR start T114
-    public void mT114() throws RecognitionException {
+    public final void mT114() throws RecognitionException {
         try {
-            this.ruleNestingLevel++;
-            final int _type = T114;
-            final int _start = getCharIndex();
-            final int _line = getLine();
-            final int _charPosition = getCharPositionInLine();
-            final int _channel = Token.DEFAULT_CHANNEL;
-            // D:\\workspace\\jboss\\jbossrules\\drools-compiler\\src\\main\\resources\\org\\drools\\semantics\\java\\parser\\JavaParser.g:55:8: ( 'null' )
-            // D:\\workspace\\jboss\\jbossrules\\drools-compiler\\src\\main\\resources\\org\\drools\\semantics\\java\\parser\\JavaParser.g:55:8: 'null'
+            int _type = T114;
+            // C:\\dev\\jbossrules\\trunk3\\drools-compiler\\src\\main\\resources\\org\\drools\\semantics\\java\\parser\\JavaParser.g:55:8: ( 'null' )
+            // C:\\dev\\jbossrules\\trunk3\\drools-compiler\\src\\main\\resources\\org\\drools\\semantics\\java\\parser\\JavaParser.g:55:8: 'null'
             {
-                match( "null" );
+            match("null"); 
 
-            }
 
-            if ( this.token == null && this.ruleNestingLevel == 1 ) {
-                emit( _type,
-                      _line,
-                      _charPosition,
-                      _channel,
-                      _start,
-                      getCharIndex() - 1 );
             }
 
-        } finally {
-            this.ruleNestingLevel--;
+            this.type = _type;
         }
+        finally {
+        }
     }
-
     // $ANTLR end T114
 
     // $ANTLR start T115
-    public void mT115() throws RecognitionException {
+    public final void mT115() throws RecognitionException {
         try {
-            this.ruleNestingLevel++;
-            final int _type = T115;
-            final int _start = getCharIndex();
-            final int _line = getLine();
-            final int _charPosition = getCharPositionInLine();
-            final int _channel = Token.DEFAULT_CHANNEL;
-            // D:\\workspace\\jboss\\jbossrules\\drools-compiler\\src\\main\\resources\\org\\drools\\semantics\\java\\parser\\JavaParser.g:56:8: ( 'new' )
-            // D:\\workspace\\jboss\\jbossrules\\drools-compiler\\src\\main\\resources\\org\\drools\\semantics\\java\\parser\\JavaParser.g:56:8: 'new'
+            int _type = T115;
+            // C:\\dev\\jbossrules\\trunk3\\drools-compiler\\src\\main\\resources\\org\\drools\\semantics\\java\\parser\\JavaParser.g:56:8: ( 'new' )
+            // C:\\dev\\jbossrules\\trunk3\\drools-compiler\\src\\main\\resources\\org\\drools\\semantics\\java\\parser\\JavaParser.g:56:8: 'new'
             {
-                match( "new" );
+            match("new"); 
 
-            }
 
-            if ( this.token == null && this.ruleNestingLevel == 1 ) {
-                emit( _type,
-                      _line,
-                      _charPosition,
-                      _channel,
-                      _start,
-                      getCharIndex() - 1 );
             }
 
-        } finally {
-            this.ruleNestingLevel--;
+            this.type = _type;
         }
+        finally {
+        }
     }
-
     // $ANTLR end T115
 
     // $ANTLR start QUESTION
-    public void mQUESTION() throws RecognitionException {
+    public final void mQUESTION() throws RecognitionException {
         try {
-            this.ruleNestingLevel++;
-            final int _type = QUESTION;
-            final int _start = getCharIndex();
-            final int _line = getLine();
-            final int _charPosition = getCharPositionInLine();
-            final int _channel = Token.DEFAULT_CHANNEL;
-            // D:\\workspace\\jboss\\jbossrules\\drools-compiler\\src\\main\\resources\\org\\drools\\semantics\\java\\parser\\JavaParser.g:914:13: ( '?' )
-            // D:\\workspace\\jboss\\jbossrules\\drools-compiler\\src\\main\\resources\\org\\drools\\semantics\\java\\parser\\JavaParser.g:914:13: '?'
+            int _type = QUESTION;
+            // C:\\dev\\jbossrules\\trunk3\\drools-compiler\\src\\main\\resources\\org\\drools\\semantics\\java\\parser\\JavaParser.g:914:13: ( '?' )
+            // C:\\dev\\jbossrules\\trunk3\\drools-compiler\\src\\main\\resources\\org\\drools\\semantics\\java\\parser\\JavaParser.g:914:13: '?'
             {
-                match( '?' );
+            match('?'); 
 
             }
 
-            if ( this.token == null && this.ruleNestingLevel == 1 ) {
-                emit( _type,
-                      _line,
-                      _charPosition,
-                      _channel,
-                      _start,
-                      getCharIndex() - 1 );
-            }
-
-        } finally {
-            this.ruleNestingLevel--;
+            this.type = _type;
         }
+        finally {
+        }
     }
-
     // $ANTLR end QUESTION
 
     // $ANTLR start LPAREN
-    public void mLPAREN() throws RecognitionException {
+    public final void mLPAREN() throws RecognitionException {
         try {
-            this.ruleNestingLevel++;
-            final int _type = LPAREN;
-            final int _start = getCharIndex();
-            final int _line = getLine();
-            final int _charPosition = getCharPositionInLine();
-            final int _channel = Token.DEFAULT_CHANNEL;
-            // D:\\workspace\\jboss\\jbossrules\\drools-compiler\\src\\main\\resources\\org\\drools\\semantics\\java\\parser\\JavaParser.g:917:12: ( '(' )
-            // D:\\workspace\\jboss\\jbossrules\\drools-compiler\\src\\main\\resources\\org\\drools\\semantics\\java\\parser\\JavaParser.g:917:12: '('
+            int _type = LPAREN;
+            // C:\\dev\\jbossrules\\trunk3\\drools-compiler\\src\\main\\resources\\org\\drools\\semantics\\java\\parser\\JavaParser.g:917:12: ( '(' )
+            // C:\\dev\\jbossrules\\trunk3\\drools-compiler\\src\\main\\resources\\org\\drools\\semantics\\java\\parser\\JavaParser.g:917:12: '('
             {
-                match( '(' );
+            match('('); 
 
             }
 
-            if ( this.token == null && this.ruleNestingLevel == 1 ) {
-                emit( _type,
-                      _line,
-                      _charPosition,
-                      _channel,
-                      _start,
-                      getCharIndex() - 1 );
-            }
-
-        } finally {
-            this.ruleNestingLevel--;
+            this.type = _type;
         }
+        finally {
+        }
     }
-
     // $ANTLR end LPAREN
 
     // $ANTLR start RPAREN
-    public void mRPAREN() throws RecognitionException {
+    public final void mRPAREN() throws RecognitionException {
         try {
-            this.ruleNestingLevel++;
-            final int _type = RPAREN;
-            final int _start = getCharIndex();
-            final int _line = getLine();
-            final int _charPosition = getCharPositionInLine();
-            final int _channel = Token.DEFAULT_CHANNEL;
-            // D:\\workspace\\jboss\\jbossrules\\drools-compiler\\src\\main\\resources\\org\\drools\\semantics\\java\\parser\\JavaParser.g:920:12: ( ')' )
-            // D:\\workspace\\jboss\\jbossrules\\drools-compiler\\src\\main\\resources\\org\\drools\\semantics\\java\\parser\\JavaParser.g:920:12: ')'
+            int _type = RPAREN;
+            // C:\\dev\\jbossrules\\trunk3\\drools-compiler\\src\\main\\resources\\org\\drools\\semantics\\java\\parser\\JavaParser.g:920:12: ( ')' )
+            // C:\\dev\\jbossrules\\trunk3\\drools-compiler\\src\\main\\resources\\org\\drools\\semantics\\java\\parser\\JavaParser.g:920:12: ')'
             {
-                match( ')' );
+            match(')'); 
 
             }
 
-            if ( this.token == null && this.ruleNestingLevel == 1 ) {
-                emit( _type,
-                      _line,
-                      _charPosition,
-                      _channel,
-                      _start,
-                      getCharIndex() - 1 );
-            }
-
-        } finally {
-            this.ruleNestingLevel--;
+            this.type = _type;
         }
+        finally {
+        }
     }
-
     // $ANTLR end RPAREN
 
     // $ANTLR start LBRACK
-    public void mLBRACK() throws RecognitionException {
+    public final void mLBRACK() throws RecognitionException {
         try {
-            this.ruleNestingLevel++;
-            final int _type = LBRACK;
-            final int _start = getCharIndex();
-            final int _line = getLine();
-            final int _charPosition = getCharPositionInLine();
-            final int _channel = Token.DEFAULT_CHANNEL;
-            // D:\\workspace\\jboss\\jbossrules\\drools-compiler\\src\\main\\resources\\org\\drools\\semantics\\java\\parser\\JavaParser.g:923:12: ( '[' )
-            // D:\\workspace\\jboss\\jbossrules\\drools-compiler\\src\\main\\resources\\org\\drools\\semantics\\java\\parser\\JavaParser.g:923:12: '['
+            int _type = LBRACK;
+            // C:\\dev\\jbossrules\\trunk3\\drools-compiler\\src\\main\\resources\\org\\drools\\semantics\\java\\parser\\JavaParser.g:923:12: ( '[' )
+            // C:\\dev\\jbossrules\\trunk3\\drools-compiler\\src\\main\\resources\\org\\drools\\semantics\\java\\parser\\JavaParser.g:923:12: '['
             {
-                match( '[' );
+            match('['); 
 
             }
 
-            if ( this.token == null && this.ruleNestingLevel == 1 ) {
-                emit( _type,
-                      _line,
-                      _charPosition,
-                      _channel,
-                      _start,
-                      getCharIndex() - 1 );
-            }
-
-        } finally {
-            this.ruleNestingLevel--;
+            this.type = _type;
         }
+        finally {
+        }
     }
-
     // $ANTLR end LBRACK
 
     // $ANTLR start RBRACK
-    public void mRBRACK() throws RecognitionException {
+    public final void mRBRACK() throws RecognitionException {
         try {
-            this.ruleNestingLevel++;
-            final int _type = RBRACK;
-            final int _start = getCharIndex();
-            final int _line = getLine();
-            final int _charPosition = getCharPositionInLine();
-            final int _channel = Token.DEFAULT_CHANNEL;
-            // D:\\workspace\\jboss\\jbossrules\\drools-compiler\\src\\main\\resources\\org\\drools\\semantics\\java\\parser\\JavaParser.g:926:12: ( ']' )
-            // D:\\workspace\\jboss\\jbossrules\\drools-compiler\\src\\main\\resources\\org\\drools\\semantics\\java\\parser\\JavaParser.g:926:12: ']'
+            int _type = RBRACK;
+            // C:\\dev\\jbossrules\\trunk3\\drools-compiler\\src\\main\\resources\\org\\drools\\semantics\\java\\parser\\JavaParser.g:926:12: ( ']' )
+            // C:\\dev\\jbossrules\\trunk3\\drools-compiler\\src\\main\\resources\\org\\drools\\semantics\\java\\parser\\JavaParser.g:926:12: ']'
             {
-                match( ']' );
+            match(']'); 
 
             }
 
-            if ( this.token == null && this.ruleNestingLevel == 1 ) {
-                emit( _type,
-                      _line,
-                      _charPosition,
-                      _channel,
-                      _start,
-                      getCharIndex() - 1 );
-            }
-
-        } finally {
-            this.ruleNestingLevel--;
+            this.type = _type;
         }
+        finally {
+        }
     }
-
     // $ANTLR end RBRACK
 
     // $ANTLR start LCURLY
-    public void mLCURLY() throws RecognitionException {
+    public final void mLCURLY() throws RecognitionException {
         try {
-            this.ruleNestingLevel++;
-            final int _type = LCURLY;
-            final int _start = getCharIndex();
-            final int _line = getLine();
-            final int _charPosition = getCharPositionInLine();
-            final int _channel = Token.DEFAULT_CHANNEL;
-            // D:\\workspace\\jboss\\jbossrules\\drools-compiler\\src\\main\\resources\\org\\drools\\semantics\\java\\parser\\JavaParser.g:929:12: ( '{' )
-            // D:\\workspace\\jboss\\jbossrules\\drools-compiler\\src\\main\\resources\\org\\drools\\semantics\\java\\parser\\JavaParser.g:929:12: '{'
+            int _type = LCURLY;
+            // C:\\dev\\jbossrules\\trunk3\\drools-compiler\\src\\main\\resources\\org\\drools\\semantics\\java\\parser\\JavaParser.g:929:12: ( '{' )
+            // C:\\dev\\jbossrules\\trunk3\\drools-compiler\\src\\main\\resources\\org\\drools\\semantics\\java\\parser\\JavaParser.g:929:12: '{'
             {
-                match( '{' );
+            match('{'); 
 
             }
 
-            if ( this.token == null && this.ruleNestingLevel == 1 ) {
-                emit( _type,
-                      _line,
-                      _charPosition,
-                      _channel,
-                      _start,
-                      getCharIndex() - 1 );
-            }
-
-        } finally {
-            this.ruleNestingLevel--;
+            this.type = _type;
         }
+        finally {
+        }
     }
-
     // $ANTLR end LCURLY
 
     // $ANTLR start RCURLY
-    public void mRCURLY() throws RecognitionException {
+    public final void mRCURLY() throws RecognitionException {
         try {
-            this.ruleNestingLevel++;
-            final int _type = RCURLY;
-            final int _start = getCharIndex();
-            final int _line = getLine();
-            final int _charPosition = getCharPositionInLine();
-            final int _channel = Token.DEFAULT_CHANNEL;
-            // D:\\workspace\\jboss\\jbossrules\\drools-compiler\\src\\main\\resources\\org\\drools\\semantics\\java\\parser\\JavaParser.g:932:12: ( '}' )
-            // D:\\workspace\\jboss\\jbossrules\\drools-compiler\\src\\main\\resources\\org\\drools\\semantics\\java\\parser\\JavaParser.g:932:12: '}'
+            int _type = RCURLY;
+            // C:\\dev\\jbossrules\\trunk3\\drools-compiler\\src\\main\\resources\\org\\drools\\semantics\\java\\parser\\JavaParser.g:932:12: ( '}' )
+            // C:\\dev\\jbossrules\\trunk3\\drools-compiler\\src\\main\\resources\\org\\drools\\semantics\\java\\parser\\JavaParser.g:932:12: '}'
             {
-                match( '}' );
+            match('}'); 
 
             }
 
-            if ( this.token == null && this.ruleNestingLevel == 1 ) {
-                emit( _type,
-                      _line,
-                      _charPosition,
-                      _channel,
-                      _start,
-                      getCharIndex() - 1 );
-            }
-
-        } finally {
-            this.ruleNestingLevel--;
+            this.type = _type;
         }
+        finally {
+        }
     }
-
     // $ANTLR end RCURLY
 
     // $ANTLR start COLON
-    public void mCOLON() throws RecognitionException {
+    public final void mCOLON() throws RecognitionException {
         try {
-            this.ruleNestingLevel++;
-            final int _type = COLON;
-            final int _start = getCharIndex();
-            final int _line = getLine();
-            final int _charPosition = getCharPositionInLine();
-            final int _channel = Token.DEFAULT_CHANNEL;
-            // D:\\workspace\\jboss\\jbossrules\\drools-compiler\\src\\main\\resources\\org\\drools\\semantics\\java\\parser\\JavaParser.g:935:11: ( ':' )
-            // D:\\workspace\\jboss\\jbossrules\\drools-compiler\\src\\main\\resources\\org\\drools\\semantics\\java\\parser\\JavaParser.g:935:11: ':'
+            int _type = COLON;
+            // C:\\dev\\jbossrules\\trunk3\\drools-compiler\\src\\main\\resources\\org\\drools\\semantics\\java\\parser\\JavaParser.g:935:11: ( ':' )
+            // C:\\dev\\jbossrules\\trunk3\\drools-compiler\\src\\main\\resources\\org\\drools\\semantics\\java\\parser\\JavaParser.g:935:11: ':'
             {
-                match( ':' );
+            match(':'); 
 
             }
 
-            if ( this.token == null && this.ruleNestingLevel == 1 ) {
-                emit( _type,
-                      _line,
-                      _charPosition,
-                      _channel,
-                      _start,
-                      getCharIndex() - 1 );
-            }
-
-        } finally {
-            this.ruleNestingLevel--;
+            this.type = _type;
         }
+        finally {
+        }
     }
-
     // $ANTLR end COLON
 
     // $ANTLR start COMMA
-    public void mCOMMA() throws RecognitionException {
+    public final void mCOMMA() throws RecognitionException {
         try {
-            this.ruleNestingLevel++;
-            final int _type = COMMA;
-            final int _start = getCharIndex();
-            final int _line = getLine();
-            final int _charPosition = getCharPositionInLine();
-            final int _channel = Token.DEFAULT_CHANNEL;
-            // D:\\workspace\\jboss\\jbossrules\\drools-compiler\\src\\main\\resources\\org\\drools\\semantics\\java\\parser\\JavaParser.g:938:11: ( ',' )
-            // D:\\workspace\\jboss\\jbossrules\\drools-compiler\\src\\main\\resources\\org\\drools\\semantics\\java\\parser\\JavaParser.g:938:11: ','
+            int _type = COMMA;
+            // C:\\dev\\jbossrules\\trunk3\\drools-compiler\\src\\main\\resources\\org\\drools\\semantics\\java\\parser\\JavaParser.g:938:11: ( ',' )
+            // C:\\dev\\jbossrules\\trunk3\\drools-compiler\\src\\main\\resources\\org\\drools\\semantics\\java\\parser\\JavaParser.g:938:11: ','
             {
-                match( ',' );
+            match(','); 
 
             }
 
-            if ( this.token == null && this.ruleNestingLevel == 1 ) {
-                emit( _type,
-                      _line,
-                      _charPosition,
-                      _channel,
-                      _start,
-                      getCharIndex() - 1 );
-            }
-
-        } finally {
-            this.ruleNestingLevel--;
+            this.type = _type;
         }
+        finally {
+        }
     }
-
     // $ANTLR end COMMA
 
     // $ANTLR start DOT
-    public void mDOT() throws RecognitionException {
+    public final void mDOT() throws RecognitionException {
         try {
-            this.ruleNestingLevel++;
-            final int _type = DOT;
-            final int _start = getCharIndex();
-            final int _line = getLine();
-            final int _charPosition = getCharPositionInLine();
-            final int _channel = Token.DEFAULT_CHANNEL;
-            // D:\\workspace\\jboss\\jbossrules\\drools-compiler\\src\\main\\resources\\org\\drools\\semantics\\java\\parser\\JavaParser.g:940:10: ( '.' )
-            // D:\\workspace\\jboss\\jbossrules\\drools-compiler\\src\\main\\resources\\org\\drools\\semantics\\java\\parser\\JavaParser.g:940:10: '.'
+            int _type = DOT;
+            // C:\\dev\\jbossrules\\trunk3\\drools-compiler\\src\\main\\resources\\org\\drools\\semantics\\java\\parser\\JavaParser.g:940:10: ( '.' )
+            // C:\\dev\\jbossrules\\trunk3\\drools-compiler\\src\\main\\resources\\org\\drools\\semantics\\java\\parser\\JavaParser.g:940:10: '.'
             {
-                match( '.' );
+            match('.'); 
 
             }
 
-            if ( this.token == null && this.ruleNestingLevel == 1 ) {
-                emit( _type,
-                      _line,
-                      _charPosition,
-                      _channel,
-                      _start,
-                      getCharIndex() - 1 );
-            }
-
-        } finally {
-            this.ruleNestingLevel--;
+            this.type = _type;
         }
+        finally {
+        }
     }
-
     // $ANTLR end DOT
 
     // $ANTLR start ASSIGN
-    public void mASSIGN() throws RecognitionException {
+    public final void mASSIGN() throws RecognitionException {
         try {
-            this.ruleNestingLevel++;
-            final int _type = ASSIGN;
-            final int _start = getCharIndex();
-            final int _line = getLine();
-            final int _charPosition = getCharPositionInLine();
-            final int _channel = Token.DEFAULT_CHANNEL;
-            // D:\\workspace\\jboss\\jbossrules\\drools-compiler\\src\\main\\resources\\org\\drools\\semantics\\java\\parser\\JavaParser.g:942:12: ( '=' )
-            // D:\\workspace\\jboss\\jbossrules\\drools-compiler\\src\\main\\resources\\org\\drools\\semantics\\java\\parser\\JavaParser.g:942:12: '='
+            int _type = ASSIGN;
+            // C:\\dev\\jbossrules\\trunk3\\drools-compiler\\src\\main\\resources\\org\\drools\\semantics\\java\\parser\\JavaParser.g:942:12: ( '=' )
+            // C:\\dev\\jbossrules\\trunk3\\drools-compiler\\src\\main\\resources\\org\\drools\\semantics\\java\\parser\\JavaParser.g:942:12: '='
             {
-                match( '=' );
+            match('='); 
 
             }
 
-            if ( this.token == null && this.ruleNestingLevel == 1 ) {
-                emit( _type,
-                      _line,
-                      _charPosition,
-                      _channel,
-                      _start,
-                      getCharIndex() - 1 );
-            }
-
-        } finally {
-            this.ruleNestingLevel--;
+            this.type = _type;
         }
+        finally {
+        }
     }
-
     // $ANTLR end ASSIGN
 
     // $ANTLR start EQUAL
-    public void mEQUAL() throws RecognitionException {
+    public final void mEQUAL() throws RecognitionException {
         try {
-            this.ruleNestingLevel++;
-            final int _type = EQUAL;
-            final int _start = getCharIndex();
-            final int _line = getLine();
-            final int _charPosition = getCharPositionInLine();
-            final int _channel = Token.DEFAULT_CHANNEL;
-            // D:\\workspace\\jboss\\jbossrules\\drools-compiler\\src\\main\\resources\\org\\drools\\semantics\\java\\parser\\JavaParser.g:945:11: ( '==' )
-            // D:\\workspace\\jboss\\jbossrules\\drools-compiler\\src\\main\\resources\\org\\drools\\semantics\\java\\parser\\JavaParser.g:945:11: '=='
+            int _type = EQUAL;
+            // C:\\dev\\jbossrules\\trunk3\\drools-compiler\\src\\main\\resources\\org\\drools\\semantics\\java\\parser\\JavaParser.g:945:11: ( '==' )
+            // C:\\dev\\jbossrules\\trunk3\\drools-compiler\\src\\main\\resources\\org\\drools\\semantics\\java\\parser\\JavaParser.g:945:11: '=='
             {
-                match( "==" );
+            match("=="); 
 
-            }
 
-            if ( this.token == null && this.ruleNestingLevel == 1 ) {
-                emit( _type,
-                      _line,
-                      _charPosition,
-                      _channel,
-                      _start,
-                      getCharIndex() - 1 );
             }
 
-        } finally {
-            this.ruleNestingLevel--;
+            this.type = _type;
         }
+        finally {
+        }
     }
-
     // $ANTLR end EQUAL
 
     // $ANTLR start LNOT
-    public void mLNOT() throws RecognitionException {
+    public final void mLNOT() throws RecognitionException {
         try {
-            this.ruleNestingLevel++;
-            final int _type = LNOT;
-            final int _start = getCharIndex();
-            final int _line = getLine();
-            final int _charPosition = getCharPositionInLine();
-            final int _channel = Token.DEFAULT_CHANNEL;
-            // D:\\workspace\\jboss\\jbossrules\\drools-compiler\\src\\main\\resources\\org\\drools\\semantics\\java\\parser\\JavaParser.g:948:10: ( '!' )
-            // D:\\workspace\\jboss\\jbossrules\\drools-compiler\\src\\main\\resources\\org\\drools\\semantics\\java\\parser\\JavaParser.g:948:10: '!'
+            int _type = LNOT;
+            // C:\\dev\\jbossrules\\trunk3\\drools-compiler\\src\\main\\resources\\org\\drools\\semantics\\java\\parser\\JavaParser.g:948:10: ( '!' )
+            // C:\\dev\\jbossrules\\trunk3\\drools-compiler\\src\\main\\resources\\org\\drools\\semantics\\java\\parser\\JavaParser.g:948:10: '!'
             {
-                match( '!' );
+            match('!'); 
 
             }
 
-            if ( this.token == null && this.ruleNestingLevel == 1 ) {
-                emit( _type,
-                      _line,
-                      _charPosition,
-                      _channel,
-                      _start,
-                      getCharIndex() - 1 );
-            }
-
-        } finally {
-            this.ruleNestingLevel--;
+            this.type = _type;
         }
+        finally {
+        }
     }
-
     // $ANTLR end LNOT
 
     // $ANTLR start BNOT
-    public void mBNOT() throws RecognitionException {
+    public final void mBNOT() throws RecognitionException {
         try {
-            this.ruleNestingLevel++;
-            final int _type = BNOT;
-            final int _start = getCharIndex();
-            final int _line = getLine();
-            final int _charPosition = getCharPositionInLine();
-            final int _channel = Token.DEFAULT_CHANNEL;
-            // D:\\workspace\\jboss\\jbossrules\\drools-compiler\\src\\main\\resources\\org\\drools\\semantics\\java\\parser\\JavaParser.g:951:10: ( '~' )
-            // D:\\workspace\\jboss\\jbossrules\\drools-compiler\\src\\main\\resources\\org\\drools\\semantics\\java\\parser\\JavaParser.g:951:10: '~'
+            int _type = BNOT;
+            // C:\\dev\\jbossrules\\trunk3\\drools-compiler\\src\\main\\resources\\org\\drools\\semantics\\java\\parser\\JavaParser.g:951:10: ( '~' )
+            // C:\\dev\\jbossrules\\trunk3\\drools-compiler\\src\\main\\resources\\org\\drools\\semantics\\java\\parser\\JavaParser.g:951:10: '~'
             {
-                match( '~' );
+            match('~'); 
 
             }
 
-            if ( this.token == null && this.ruleNestingLevel == 1 ) {
-                emit( _type,
-                      _line,
-                      _charPosition,
-                      _channel,
-                      _start,
-                      getCharIndex() - 1 );
-            }
-
-        } finally {
-            this.ruleNestingLevel--;
+            this.type = _type;
         }
+        finally {
+        }
     }
-
     // $ANTLR end BNOT
 
     // $ANTLR start NOT_EQUAL
-    public void mNOT_EQUAL() throws RecognitionException {
+    public final void mNOT_EQUAL() throws RecognitionException {
         try {
-            this.ruleNestingLevel++;
-            final int _type = NOT_EQUAL;
-            final int _start = getCharIndex();
-            final int _line = getLine();
-            final int _charPosition = getCharPositionInLine();
-            final int _channel = Token.DEFAULT_CHANNEL;
-            // D:\\workspace\\jboss\\jbossrules\\drools-compiler\\src\\main\\resources\\org\\drools\\semantics\\java\\parser\\JavaParser.g:954:14: ( '!=' )
-            // D:\\workspace\\jboss\\jbossrules\\drools-compiler\\src\\main\\resources\\org\\drools\\semantics\\java\\parser\\JavaParser.g:954:14: '!='
+            int _type = NOT_EQUAL;
+            // C:\\dev\\jbossrules\\trunk3\\drools-compiler\\src\\main\\resources\\org\\drools\\semantics\\java\\parser\\JavaParser.g:954:14: ( '!=' )
+            // C:\\dev\\jbossrules\\trunk3\\drools-compiler\\src\\main\\resources\\org\\drools\\semantics\\java\\parser\\JavaParser.g:954:14: '!='
             {
-                match( "!=" );
+            match("!="); 
 
-            }
 
-            if ( this.token == null && this.ruleNestingLevel == 1 ) {
-                emit( _type,
-                      _line,
-                      _charPosition,
-                      _channel,
-                      _start,
-                      getCharIndex() - 1 );
             }
 
-        } finally {
-            this.ruleNestingLevel--;
+            this.type = _type;
         }
+        finally {
+        }
     }
-
     // $ANTLR end NOT_EQUAL
 
     // $ANTLR start DIV
-    public void mDIV() throws RecognitionException {
+    public final void mDIV() throws RecognitionException {
         try {
-            this.ruleNestingLevel++;
-            final int _type = DIV;
-            final int _start = getCharIndex();
-            final int _line = getLine();
-            final int _charPosition = getCharPositionInLine();
-            final int _channel = Token.DEFAULT_CHANNEL;
-            // D:\\workspace\\jboss\\jbossrules\\drools-compiler\\src\\main\\resources\\org\\drools\\semantics\\java\\parser\\JavaParser.g:957:10: ( '/' )
-            // D:\\workspace\\jboss\\jbossrules\\drools-compiler\\src\\main\\resources\\org\\drools\\semantics\\java\\parser\\JavaParser.g:957:10: '/'
+            int _type = DIV;
+            // C:\\dev\\jbossrules\\trunk3\\drools-compiler\\src\\main\\resources\\org\\drools\\semantics\\java\\parser\\JavaParser.g:957:10: ( '/' )
+            // C:\\dev\\jbossrules\\trunk3\\drools-compiler\\src\\main\\resources\\org\\drools\\semantics\\java\\parser\\JavaParser.g:957:10: '/'
             {
-                match( '/' );
+            match('/'); 
 
             }
 
-            if ( this.token == null && this.ruleNestingLevel == 1 ) {
-                emit( _type,
-                      _line,
-                      _charPosition,
-                      _channel,
-                      _start,
-                      getCharIndex() - 1 );
-            }
-
-        } finally {
-            this.ruleNestingLevel--;
+            this.type = _type;
         }
+        finally {
+        }
     }
-
     // $ANTLR end DIV
 
     // $ANTLR start DIV_ASSIGN
-    public void mDIV_ASSIGN() throws RecognitionException {
+    public final void mDIV_ASSIGN() throws RecognitionException {
         try {
-            this.ruleNestingLevel++;
-            final int _type = DIV_ASSIGN;
-            final int _start = getCharIndex();
-            final int _line = getLine();
-            final int _charPosition = getCharPositionInLine();
-            final int _channel = Token.DEFAULT_CHANNEL;
-            // D:\\workspace\\jboss\\jbossrules\\drools-compiler\\src\\main\\resources\\org\\drools\\semantics\\java\\parser\\JavaParser.g:960:15: ( '/=' )
-            // D:\\workspace\\jboss\\jbossrules\\drools-compiler\\src\\main\\resources\\org\\drools\\semantics\\java\\parser\\JavaParser.g:960:15: '/='
+            int _type = DIV_ASSIGN;
+            // C:\\dev\\jbossrules\\trunk3\\drools-compiler\\src\\main\\resources\\org\\drools\\semantics\\java\\parser\\JavaParser.g:960:15: ( '/=' )
+            // C:\\dev\\jbossrules\\trunk3\\drools-compiler\\src\\main\\resources\\org\\drools\\semantics\\java\\parser\\JavaParser.g:960:15: '/='
             {
-                match( "/=" );
+            match("/="); 
 
-            }
 
-            if ( this.token == null && this.ruleNestingLevel == 1 ) {
-                emit( _type,
-                      _line,
-                      _charPosition,
-                      _channel,
-                      _start,
-                      getCharIndex() - 1 );
             }
 
-        } finally {
-            this.ruleNestingLevel--;
+            this.type = _type;
         }
+        finally {
+        }
     }
-
     // $ANTLR end DIV_ASSIGN
 
     // $ANTLR start PLUS
-    public void mPLUS() throws RecognitionException {
+    public final void mPLUS() throws RecognitionException {
         try {
-            this.ruleNestingLevel++;
-            final int _type = PLUS;
-            final int _start = getCharIndex();
-            final int _line = getLine();
-            final int _charPosition = getCharPositionInLine();
-            final int _channel = Token.DEFAULT_CHANNEL;
-            // D:\\workspace\\jboss\\jbossrules\\drools-compiler\\src\\main\\resources\\org\\drools\\semantics\\java\\parser\\JavaParser.g:963:10: ( '+' )
-            // D:\\workspace\\jboss\\jbossrules\\drools-compiler\\src\\main\\resources\\org\\drools\\semantics\\java\\parser\\JavaParser.g:963:10: '+'
+            int _type = PLUS;
+            // C:\\dev\\jbossrules\\trunk3\\drools-compiler\\src\\main\\resources\\org\\drools\\semantics\\java\\parser\\JavaParser.g:963:10: ( '+' )
+            // C:\\dev\\jbossrules\\trunk3\\drools-compiler\\src\\main\\resources\\org\\drools\\semantics\\java\\parser\\JavaParser.g:963:10: '+'
             {
-                match( '+' );
+            match('+'); 
 
             }
 
-            if ( this.token == null && this.ruleNestingLevel == 1 ) {
-                emit( _type,
-                      _line,
-                      _charPosition,
-                      _channel,
-                      _start,
-                      getCharIndex() - 1 );
-            }
-
-        } finally {
-            this.ruleNestingLevel--;
+            this.type = _type;
         }
+        finally {
+        }
     }
-
     // $ANTLR end PLUS
 
     // $ANTLR start PLUS_ASSIGN
-    public void mPLUS_ASSIGN() throws RecognitionException {
+    public final void mPLUS_ASSIGN() throws RecognitionException {
         try {
-            this.ruleNestingLevel++;
-            final int _type = PLUS_ASSIGN;
-            final int _start = getCharIndex();
-            final int _line = getLine();
-            final int _charPosition = getCharPositionInLine();
-            final int _channel = Token.DEFAULT_CHANNEL;
-            // D:\\workspace\\jboss\\jbossrules\\drools-compiler\\src\\main\\resources\\org\\drools\\semantics\\java\\parser\\JavaParser.g:966:16: ( '+=' )
-            // D:\\workspace\\jboss\\jbossrules\\drools-compiler\\src\\main\\resources\\org\\drools\\semantics\\java\\parser\\JavaParser.g:966:16: '+='
+            int _type = PLUS_ASSIGN;
+            // C:\\dev\\jbossrules\\trunk3\\drools-compiler\\src\\main\\resources\\org\\drools\\semantics\\java\\parser\\JavaParser.g:966:16: ( '+=' )
+            // C:\\dev\\jbossrules\\trunk3\\drools-compiler\\src\\main\\resources\\org\\drools\\semantics\\java\\parser\\JavaParser.g:966:16: '+='
             {
-                match( "+=" );
+            match("+="); 
 
-            }
 
-            if ( this.token == null && this.ruleNestingLevel == 1 ) {
-                emit( _type,
-                      _line,
-                      _charPosition,
-                      _channel,
-                      _start,
-                      getCharIndex() - 1 );
             }
 
-        } finally {
-            this.ruleNestingLevel--;
+            this.type = _type;
         }
+        finally {
+        }
     }
-
     // $ANTLR end PLUS_ASSIGN
 
     // $ANTLR start INC
-    public void mINC() throws RecognitionException {
+    public final void mINC() throws RecognitionException {
         try {
-            this.ruleNestingLevel++;
-            final int _type = INC;
-            final int _start = getCharIndex();
-            final int _line = getLine();
-            final int _charPosition = getCharPositionInLine();
-            final int _channel = Token.DEFAULT_CHANNEL;
-            // D:\\workspace\\jboss\\jbossrules\\drools-compiler\\src\\main\\resources\\org\\drools\\semantics\\java\\parser\\JavaParser.g:969:10: ( '++' )
-            // D:\\workspace\\jboss\\jbossrules\\drools-compiler\\src\\main\\resources\\org\\drools\\semantics\\java\\parser\\JavaParser.g:969:10: '++'
+            int _type = INC;
+            // C:\\dev\\jbossrules\\trunk3\\drools-compiler\\src\\main\\resources\\org\\drools\\semantics\\java\\parser\\JavaParser.g:969:10: ( '++' )
+            // C:\\dev\\jbossrules\\trunk3\\drools-compiler\\src\\main\\resources\\org\\drools\\semantics\\java\\parser\\JavaParser.g:969:10: '++'
             {
-                match( "++" );
+            match("++"); 
 
-            }
 
-            if ( this.token == null && this.ruleNestingLevel == 1 ) {
-                emit( _type,
-                      _line,
-                      _charPosition,
-                      _channel,
-                      _start,
-                      getCharIndex() - 1 );
             }
 
-        } finally {
-            this.ruleNestingLevel--;
+            this.type = _type;
         }
+        finally {
+        }
     }
-
     // $ANTLR end INC
 
     // $ANTLR start MINUS
-    public void mMINUS() throws RecognitionException {
+    public final void mMINUS() throws RecognitionException {
         try {
-            this.ruleNestingLevel++;
-            final int _type = MINUS;
-            final int _start = getCharIndex();
-            final int _line = getLine();
-            final int _charPosition = getCharPositionInLine();
-            final int _channel = Token.DEFAULT_CHANNEL;
-            // D:\\workspace\\jboss\\jbossrules\\drools-compiler\\src\\main\\resources\\org\\drools\\semantics\\java\\parser\\JavaParser.g:972:11: ( '-' )
-            // D:\\workspace\\jboss\\jbossrules\\drools-compiler\\src\\main\\resources\\org\\drools\\semantics\\java\\parser\\JavaParser.g:972:11: '-'
+            int _type = MINUS;
+            // C:\\dev\\jbossrules\\trunk3\\drools-compiler\\src\\main\\resources\\org\\drools\\semantics\\java\\parser\\JavaParser.g:972:11: ( '-' )
+            // C:\\dev\\jbossrules\\trunk3\\drools-compiler\\src\\main\\resources\\org\\drools\\semantics\\java\\parser\\JavaParser.g:972:11: '-'
             {
-                match( '-' );
+            match('-'); 
 
             }
 
-            if ( this.token == null && this.ruleNestingLevel == 1 ) {
-                emit( _type,
-                      _line,
-                      _charPosition,
-                      _channel,
-                      _start,
-                      getCharIndex() - 1 );
-            }
-
-        } finally {
-            this.ruleNestingLevel--;
+            this.type = _type;
         }
+        finally {
+        }
     }
-
     // $ANTLR end MINUS
 
     // $ANTLR start MINUS_ASSIGN
-    public void mMINUS_ASSIGN() throws RecognitionException {
+    public final void mMINUS_ASSIGN() throws RecognitionException {
         try {
-            this.ruleNestingLevel++;
-            final int _type = MINUS_ASSIGN;
-            final int _start = getCharIndex();
-            final int _line = getLine();
-            final int _charPosition = getCharPositionInLine();
-            final int _channel = Token.DEFAULT_CHANNEL;
-            // D:\\workspace\\jboss\\jbossrules\\drools-compiler\\src\\main\\resources\\org\\drools\\semantics\\java\\parser\\JavaParser.g:975:16: ( '-=' )
-            // D:\\workspace\\jboss\\jbossrules\\drools-compiler\\src\\main\\resources\\org\\drools\\semantics\\java\\parser\\JavaParser.g:975:16: '-='
+            int _type = MINUS_ASSIGN;
+            // C:\\dev\\jbossrules\\trunk3\\drools-compiler\\src\\main\\resources\\org\\drools\\semantics\\java\\parser\\JavaParser.g:975:16: ( '-=' )
+            // C:\\dev\\jbossrules\\trunk3\\drools-compiler\\src\\main\\resources\\org\\drools\\semantics\\java\\parser\\JavaParser.g:975:16: '-='
             {
-                match( "-=" );
+            match("-="); 
 
-            }
 
-            if ( this.token == null && this.ruleNestingLevel == 1 ) {
-                emit( _type,
-                      _line,
-                      _charPosition,
-                      _channel,
-                      _start,
-                      getCharIndex() - 1 );
             }
 
-        } finally {
-            this.ruleNestingLevel--;
+            this.type = _type;
         }
+        finally {
+        }
     }
-
     // $ANTLR end MINUS_ASSIGN
 
     // $ANTLR start DEC
-    public void mDEC() throws RecognitionException {
+    public final void mDEC() throws RecognitionException {
         try {
-            this.ruleNestingLevel++;
-            final int _type = DEC;
-            final int _start = getCharIndex();
-            final int _line = getLine();
-            final int _charPosition = getCharPositionInLine();
-            final int _channel = Token.DEFAULT_CHANNEL;
-            // D:\\workspace\\jboss\\jbossrules\\drools-compiler\\src\\main\\resources\\org\\drools\\semantics\\java\\parser\\JavaParser.g:978:10: ( '--' )
-            // D:\\workspace\\jboss\\jbossrules\\drools-compiler\\src\\main\\resources\\org\\drools\\semantics\\java\\parser\\JavaParser.g:978:10: '--'
+            int _type = DEC;
+            // C:\\dev\\jbossrules\\trunk3\\drools-compiler\\src\\main\\resources\\org\\drools\\semantics\\java\\parser\\JavaParser.g:978:10: ( '--' )
+            // C:\\dev\\jbossrules\\trunk3\\drools-compiler\\src\\main\\resources\\org\\drools\\semantics\\java\\parser\\JavaParser.g:978:10: '--'
             {
-                match( "--" );
+            match("--"); 
 
-            }
 
-            if ( this.token == null && this.ruleNestingLevel == 1 ) {
-                emit( _type,
-                      _line,
-                      _charPosition,
-                      _channel,
-                      _start,
-                      getCharIndex() - 1 );
             }
 
-        } finally {
-            this.ruleNestingLevel--;
+            this.type = _type;
         }
+        finally {
+        }
     }
-
     // $ANTLR end DEC
 
     // $ANTLR start STAR
-    public void mSTAR() throws RecognitionException {
+    public final void mSTAR() throws RecognitionException {
         try {
-            this.ruleNestingLevel++;
-            final int _type = STAR;
-            final int _start = getCharIndex();
-            final int _line = getLine();
-            final int _charPosition = getCharPositionInLine();
-            final int _channel = Token.DEFAULT_CHANNEL;
-            // D:\\workspace\\jboss\\jbossrules\\drools-compiler\\src\\main\\resources\\org\\drools\\semantics\\java\\parser\\JavaParser.g:981:10: ( '*' )
-            // D:\\workspace\\jboss\\jbossrules\\drools-compiler\\src\\main\\resources\\org\\drools\\semantics\\java\\parser\\JavaParser.g:981:10: '*'
+            int _type = STAR;
+            // C:\\dev\\jbossrules\\trunk3\\drools-compiler\\src\\main\\resources\\org\\drools\\semantics\\java\\parser\\JavaParser.g:981:10: ( '*' )
+            // C:\\dev\\jbossrules\\trunk3\\drools-compiler\\src\\main\\resources\\org\\drools\\semantics\\java\\parser\\JavaParser.g:981:10: '*'
             {
-                match( '*' );
+            match('*'); 
 
             }
 
-            if ( this.token == null && this.ruleNestingLevel == 1 ) {
-                emit( _type,
-                      _line,
-                      _charPosition,
-                      _channel,
-                      _start,
-                      getCharIndex() - 1 );
-            }
-
-        } finally {
-            this.ruleNestingLevel--;
+            this.type = _type;
         }
+        finally {
+        }
     }
-
     // $ANTLR end STAR
 
     // $ANTLR start STAR_ASSIGN
-    public void mSTAR_ASSIGN() throws RecognitionException {
+    public final void mSTAR_ASSIGN() throws RecognitionException {
         try {
-            this.ruleNestingLevel++;
-            final int _type = STAR_ASSIGN;
-            final int _start = getCharIndex();
-            final int _line = getLine();
-            final int _charPosition = getCharPositionInLine();
-            final int _channel = Token.DEFAULT_CHANNEL;
-            // D:\\workspace\\jboss\\jbossrules\\drools-compiler\\src\\main\\resources\\org\\drools\\semantics\\java\\parser\\JavaParser.g:984:16: ( '*=' )
-            // D:\\workspace\\jboss\\jbossrules\\drools-compiler\\src\\main\\resources\\org\\drools\\semantics\\java\\parser\\JavaParser.g:984:16: '*='
+            int _type = STAR_ASSIGN;
+            // C:\\dev\\jbossrules\\trunk3\\drools-compiler\\src\\main\\resources\\org\\drools\\semantics\\java\\parser\\JavaParser.g:984:16: ( '*=' )
+            // C:\\dev\\jbossrules\\trunk3\\drools-compiler\\src\\main\\resources\\org\\drools\\semantics\\java\\parser\\JavaParser.g:984:16: '*='
             {
-                match( "*=" );
+            match("*="); 
 
-            }
 
-            if ( this.token == null && this.ruleNestingLevel == 1 ) {
-                emit( _type,
-                      _line,
-                      _charPosition,
-                      _channel,
-                      _start,
-                      getCharIndex() - 1 );
             }
 
-        } finally {
-            this.ruleNestingLevel--;
+            this.type = _type;
         }
+        finally {
+        }
     }
-
     // $ANTLR end STAR_ASSIGN
 
     // $ANTLR start MOD
-    public void mMOD() throws RecognitionException {
+    public final void mMOD() throws RecognitionException {
         try {
-            this.ruleNestingLevel++;
-            final int _type = MOD;
-            final int _start = getCharIndex();
-            final int _line = getLine();
-            final int _charPosition = getCharPositionInLine();
-            final int _channel = Token.DEFAULT_CHANNEL;
-            // D:\\workspace\\jboss\\jbossrules\\drools-compiler\\src\\main\\resources\\org\\drools\\semantics\\java\\parser\\JavaParser.g:987:10: ( '%' )
-            // D:\\workspace\\jboss\\jbossrules\\drools-compiler\\src\\main\\resources\\org\\drools\\semantics\\java\\parser\\JavaParser.g:987:10: '%'
+            int _type = MOD;
+            // C:\\dev\\jbossrules\\trunk3\\drools-compiler\\src\\main\\resources\\org\\drools\\semantics\\java\\parser\\JavaParser.g:987:10: ( '%' )
+            // C:\\dev\\jbossrules\\trunk3\\drools-compiler\\src\\main\\resources\\org\\drools\\semantics\\java\\parser\\JavaParser.g:987:10: '%'
             {
-                match( '%' );
+            match('%'); 
 
             }
 
-            if ( this.token == null && this.ruleNestingLevel == 1 ) {
-                emit( _type,
-                      _line,
-                      _charPosition,
-                      _channel,
-                      _start,
-                      getCharIndex() - 1 );
-            }
-
-        } finally {
-            this.ruleNestingLevel--;
+            this.type = _type;
         }
+        finally {
+        }
     }
-
     // $ANTLR end MOD
 
     // $ANTLR start MOD_ASSIGN
-    public void mMOD_ASSIGN() throws RecognitionException {
+    public final void mMOD_ASSIGN() throws RecognitionException {
         try {
-            this.ruleNestingLevel++;
-            final int _type = MOD_ASSIGN;
-            final int _start = getCharIndex();
-            final int _line = getLine();
-            final int _charPosition = getCharPositionInLine();
-            final int _channel = Token.DEFAULT_CHANNEL;
-            // D:\\workspace\\jboss\\jbossrules\\drools-compiler\\src\\main\\resources\\org\\drools\\semantics\\java\\parser\\JavaParser.g:990:15: ( '%=' )
-            // D:\\workspace\\jboss\\jbossrules\\drools-compiler\\src\\main\\resources\\org\\drools\\semantics\\java\\parser\\JavaParser.g:990:15: '%='
+            int _type = MOD_ASSIGN;
+            // C:\\dev\\jbossrules\\trunk3\\drools-compiler\\src\\main\\resources\\org\\drools\\semantics\\java\\parser\\JavaParser.g:990:15: ( '%=' )
+            // C:\\dev\\jbossrules\\trunk3\\drools-compiler\\src\\main\\resources\\org\\drools\\semantics\\java\\parser\\JavaParser.g:990:15: '%='
             {
-                match( "%=" );
+            match("%="); 
 
-            }
 
-            if ( this.token == null && this.ruleNestingLevel == 1 ) {
-                emit( _type,
-                      _line,
-                      _charPosition,
-                      _channel,
-                      _start,
-                      getCharIndex() - 1 );
             }
 
-        } finally {
-            this.ruleNestingLevel--;
+            this.type = _type;
         }
+        finally {
+        }
     }
-
     // $ANTLR end MOD_ASSIGN
 
     // $ANTLR start SR
-    public void mSR() throws RecognitionException {
+    public final void mSR() throws RecognitionException {
         try {
-            this.ruleNestingLevel++;
-            final int _type = SR;
-            final int _start = getCharIndex();
-            final int _line = getLine();
-            final int _charPosition = getCharPositionInLine();
-            final int _channel = Token.DEFAULT_CHANNEL;
-            // D:\\workspace\\jboss\\jbossrules\\drools-compiler\\src\\main\\resources\\org\\drools\\semantics\\java\\parser\\JavaParser.g:993:9: ( '>>' )
-            // D:\\workspace\\jboss\\jbossrules\\drools-compiler\\src\\main\\resources\\org\\drools\\semantics\\java\\parser\\JavaParser.g:993:9: '>>'
+            int _type = SR;
+            // C:\\dev\\jbossrules\\trunk3\\drools-compiler\\src\\main\\resources\\org\\drools\\semantics\\java\\parser\\JavaParser.g:993:9: ( '>>' )
+            // C:\\dev\\jbossrules\\trunk3\\drools-compiler\\src\\main\\resources\\org\\drools\\semantics\\java\\parser\\JavaParser.g:993:9: '>>'
             {
-                match( ">>" );
+            match(">>"); 
 
-            }
 
-            if ( this.token == null && this.ruleNestingLevel == 1 ) {
-                emit( _type,
-                      _line,
-                      _charPosition,
-                      _channel,
-                      _start,
-                      getCharIndex() - 1 );
             }
 
-        } finally {
-            this.ruleNestingLevel--;
+            this.type = _type;
         }
+        finally {
+        }
     }
-
     // $ANTLR end SR
 
     // $ANTLR start SR_ASSIGN
-    public void mSR_ASSIGN() throws RecognitionException {
+    public final void mSR_ASSIGN() throws RecognitionException {
         try {
-            this.ruleNestingLevel++;
-            final int _type = SR_ASSIGN;
-            final int _start = getCharIndex();
-            final int _line = getLine();
-            final int _charPosition = getCharPositionInLine();
-            final int _channel = Token.DEFAULT_CHANNEL;
-            // D:\\workspace\\jboss\\jbossrules\\drools-compiler\\src\\main\\resources\\org\\drools\\semantics\\java\\parser\\JavaParser.g:996:14: ( '>>=' )
-            // D:\\workspace\\jboss\\jbossrules\\drools-compiler\\src\\main\\resources\\org\\drools\\semantics\\java\\parser\\JavaParser.g:996:14: '>>='
+            int _type = SR_ASSIGN;
+            // C:\\dev\\jbossrules\\trunk3\\drools-compiler\\src\\main\\resources\\org\\drools\\semantics\\java\\parser\\JavaParser.g:996:14: ( '>>=' )
+            // C:\\dev\\jbossrules\\trunk3\\drools-compiler\\src\\main\\resources\\org\\drools\\semantics\\java\\parser\\JavaParser.g:996:14: '>>='
             {
-                match( ">>=" );
+            match(">>="); 
 
-            }
 
-            if ( this.token == null && this.ruleNestingLevel == 1 ) {
-                emit( _type,
-                      _line,
-                      _charPosition,
-                      _channel,
-                      _start,
-                      getCharIndex() - 1 );
             }
 
-        } finally {
-            this.ruleNestingLevel--;
+            this.type = _type;
         }
+        finally {
+        }
     }
-
     // $ANTLR end SR_ASSIGN
 
     // $ANTLR start BSR
-    public void mBSR() throws RecognitionException {
+    public final void mBSR() throws RecognitionException {
         try {
-            this.ruleNestingLevel++;
-            final int _type = BSR;
-            final int _start = getCharIndex();
-            final int _line = getLine();
-            final int _charPosition = getCharPositionInLine();
-            final int _channel = Token.DEFAULT_CHANNEL;
-            // D:\\workspace\\jboss\\jbossrules\\drools-compiler\\src\\main\\resources\\org\\drools\\semantics\\java\\parser\\JavaParser.g:999:10: ( '>>>' )
-            // D:\\workspace\\jboss\\jbossrules\\drools-compiler\\src\\main\\resources\\org\\drools\\semantics\\java\\parser\\JavaParser.g:999:10: '>>>'
+            int _type = BSR;
+            // C:\\dev\\jbossrules\\trunk3\\drools-compiler\\src\\main\\resources\\org\\drools\\semantics\\java\\parser\\JavaParser.g:999:10: ( '>>>' )
+            // C:\\dev\\jbossrules\\trunk3\\drools-compiler\\src\\main\\resources\\org\\drools\\semantics\\java\\parser\\JavaParser.g:999:10: '>>>'
             {
-                match( ">>>" );
+            match(">>>"); 
 
-            }
 
-            if ( this.token == null && this.ruleNestingLevel == 1 ) {
-                emit( _type,
-                      _line,
-                      _charPosition,
-                      _channel,
-                      _start,
-                      getCharIndex() - 1 );
             }
 
-        } finally {
-            this.ruleNestingLevel--;
+            this.type = _type;
         }
+        finally {
+        }
     }
-
     // $ANTLR end BSR
 
     // $ANTLR start BSR_ASSIGN
-    public void mBSR_ASSIGN() throws RecognitionException {
+    public final void mBSR_ASSIGN() throws RecognitionException {
         try {
-            this.ruleNestingLevel++;
-            final int _type = BSR_ASSIGN;
-            final int _start = getCharIndex();
-            final int _line = getLine();
-            final int _charPosition = getCharPositionInLine();
-            final int _channel = Token.DEFAULT_CHANNEL;
-            // D:\\workspace\\jboss\\jbossrules\\drools-compiler\\src\\main\\resources\\org\\drools\\semantics\\java\\parser\\JavaParser.g:1002:15: ( '>>>=' )
-            // D:\\workspace\\jboss\\jbossrules\\drools-compiler\\src\\main\\resources\\org\\drools\\semantics\\java\\parser\\JavaParser.g:1002:15: '>>>='
+            int _type = BSR_ASSIGN;
+            // C:\\dev\\jbossrules\\trunk3\\drools-compiler\\src\\main\\resources\\org\\drools\\semantics\\java\\parser\\JavaParser.g:1002:15: ( '>>>=' )
+            // C:\\dev\\jbossrules\\trunk3\\drools-compiler\\src\\main\\resources\\org\\drools\\semantics\\java\\parser\\JavaParser.g:1002:15: '>>>='
             {
-                match( ">>>=" );
+            match(">>>="); 
 
-            }
 
-            if ( this.token == null && this.ruleNestingLevel == 1 ) {
-                emit( _type,
-                      _line,
-                      _charPosition,
-                      _channel,
-                      _start,
-                      getCharIndex() - 1 );
             }
 
-        } finally {
-            this.ruleNestingLevel--;
+            this.type = _type;
         }
+        finally {
+        }
     }
-
     // $ANTLR end BSR_ASSIGN
 
     // $ANTLR start GE
-    public void mGE() throws RecognitionException {
+    public final void mGE() throws RecognitionException {
         try {
-            this.ruleNestingLevel++;
-            final int _type = GE;
-            final int _start = getCharIndex();
-            final int _line = getLine();
-            final int _charPosition = getCharPositionInLine();
-            final int _channel = Token.DEFAULT_CHANNEL;
-            // D:\\workspace\\jboss\\jbossrules\\drools-compiler\\src\\main\\resources\\org\\drools\\semantics\\java\\parser\\JavaParser.g:1005:9: ( '>=' )
-            // D:\\workspace\\jboss\\jbossrules\\drools-compiler\\src\\main\\resources\\org\\drools\\semantics\\java\\parser\\JavaParser.g:1005:9: '>='
+            int _type = GE;
+            // C:\\dev\\jbossrules\\trunk3\\drools-compiler\\src\\main\\resources\\org\\drools\\semantics\\java\\parser\\JavaParser.g:1005:9: ( '>=' )
+            // C:\\dev\\jbossrules\\trunk3\\drools-compiler\\src\\main\\resources\\org\\drools\\semantics\\java\\parser\\JavaParser.g:1005:9: '>='
             {
-                match( ">=" );
+            match(">="); 
 
-            }
 
-            if ( this.token == null && this.ruleNestingLevel == 1 ) {
-                emit( _type,
-                      _line,
-                      _charPosition,
-                      _channel,
-                      _start,
-                      getCharIndex() - 1 );
             }
 
-        } finally {
-            this.ruleNestingLevel--;
+            this.type = _type;
         }
+        finally {
+        }
     }
-
     // $ANTLR end GE
 
     // $ANTLR start GT
-    public void mGT() throws RecognitionException {
+    public final void mGT() throws RecognitionException {
         try {
-            this.ruleNestingLevel++;
-            final int _type = GT;
-            final int _start = getCharIndex();
-            final int _line = getLine();
-            final int _charPosition = getCharPositionInLine();
-            final int _channel = Token.DEFAULT_CHANNEL;
-            // D:\\workspace\\jboss\\jbossrules\\drools-compiler\\src\\main\\resources\\org\\drools\\semantics\\java\\parser\\JavaParser.g:1008:9: ( '>' )
-            // D:\\workspace\\jboss\\jbossrules\\drools-compiler\\src\\main\\resources\\org\\drools\\semantics\\java\\parser\\JavaParser.g:1008:9: '>'
+            int _type = GT;
+            // C:\\dev\\jbossrules\\trunk3\\drools-compiler\\src\\main\\resources\\org\\drools\\semantics\\java\\parser\\JavaParser.g:1008:9: ( '>' )
+            // C:\\dev\\jbossrules\\trunk3\\drools-compiler\\src\\main\\resources\\org\\drools\\semantics\\java\\parser\\JavaParser.g:1008:9: '>'
             {
-                match( '>' );
+            match('>'); 
 
             }
 
-            if ( this.token == null && this.ruleNestingLevel == 1 ) {
-                emit( _type,
-                      _line,
-                      _charPosition,
-                      _channel,
-                      _start,
-                      getCharIndex() - 1 );
-            }
-
-        } finally {
-            this.ruleNestingLevel--;
+            this.type = _type;
         }
+        finally {
+        }
     }
-
     // $ANTLR end GT
 
     // $ANTLR start SL
-    public void mSL() throws RecognitionException {
+    public final void mSL() throws RecognitionException {
         try {
-            this.ruleNestingLevel++;
-            final int _type = SL;
-            final int _start = getCharIndex();
-            final int _line = getLine();
-            final int _charPosition = getCharPositionInLine();
-            final int _channel = Token.DEFAULT_CHANNEL;
-            // D:\\workspace\\jboss\\jbossrules\\drools-compiler\\src\\main\\resources\\org\\drools\\semantics\\java\\parser\\JavaParser.g:1011:9: ( '<<' )
-            // D:\\workspace\\jboss\\jbossrules\\drools-compiler\\src\\main\\resources\\org\\drools\\semantics\\java\\parser\\JavaParser.g:1011:9: '<<'
+            int _type = SL;
+            // C:\\dev\\jbossrules\\trunk3\\drools-compiler\\src\\main\\resources\\org\\drools\\semantics\\java\\parser\\JavaParser.g:1011:9: ( '<<' )
+            // C:\\dev\\jbossrules\\trunk3\\drools-compiler\\src\\main\\resources\\org\\drools\\semantics\\java\\parser\\JavaParser.g:1011:9: '<<'
             {
-                match( "<<" );
+            match("<<"); 
 
-            }
 
-            if ( this.token == null && this.ruleNestingLevel == 1 ) {
-                emit( _type,
-                      _line,
-                      _charPosition,
-                      _channel,
-                      _start,
-                      getCharIndex() - 1 );
             }
 
-        } finally {
-            this.ruleNestingLevel--;
+            this.type = _type;
         }
+        finally {
+        }
     }
-
     // $ANTLR end SL
 
     // $ANTLR start SL_ASSIGN
-    public void mSL_ASSIGN() throws RecognitionException {
+    public final void mSL_ASSIGN() throws RecognitionException {
         try {
-            this.ruleNestingLevel++;
-            final int _type = SL_ASSIGN;
-            final int _start = getCharIndex();
-            final int _line = getLine();
-            final int _charPosition = getCharPositionInLine();
-            final int _channel = Token.DEFAULT_CHANNEL;
-            // D:\\workspace\\jboss\\jbossrules\\drools-compiler\\src\\main\\resources\\org\\drools\\semantics\\java\\parser\\JavaParser.g:1014:14: ( '<<=' )
-            // D:\\workspace\\jboss\\jbossrules\\drools-compiler\\src\\main\\resources\\org\\drools\\semantics\\java\\parser\\JavaParser.g:1014:14: '<<='
+            int _type = SL_ASSIGN;
+            // C:\\dev\\jbossrules\\trunk3\\drools-compiler\\src\\main\\resources\\org\\drools\\semantics\\java\\parser\\JavaParser.g:1014:14: ( '<<=' )
+            // C:\\dev\\jbossrules\\trunk3\\drools-compiler\\src\\main\\resources\\org\\drools\\semantics\\java\\parser\\JavaParser.g:1014:14: '<<='
             {
-                match( "<<=" );
+            match("<<="); 
 
-            }
 
-            if ( this.token == null && this.ruleNestingLevel == 1 ) {
-                emit( _type,
-                      _line,
-                      _charPosition,
-                      _channel,
-                      _start,
-                      getCharIndex() - 1 );
             }
 
-        } finally {
-            this.ruleNestingLevel--;
+            this.type = _type;
         }
+        finally {
+        }
     }
-
     // $ANTLR end SL_ASSIGN
 
     // $ANTLR start LE
-    public void mLE() throws RecognitionException {
+    public final void mLE() throws RecognitionException {
         try {
-            this.ruleNestingLevel++;
-            final int _type = LE;
-            final int _start = getCharIndex();
-            final int _line = getLine();
-            final int _charPosition = getCharPositionInLine();
-            final int _channel = Token.DEFAULT_CHANNEL;
-            // D:\\workspace\\jboss\\jbossrules\\drools-compiler\\src\\main\\resources\\org\\drools\\semantics\\java\\parser\\JavaParser.g:1017:9: ( '<=' )
-            // D:\\workspace\\jboss\\jbossrules\\drools-compiler\\src\\main\\resources\\org\\drools\\semantics\\java\\parser\\JavaParser.g:1017:9: '<='
+            int _type = LE;
+            // C:\\dev\\jbossrules\\trunk3\\drools-compiler\\src\\main\\resources\\org\\drools\\semantics\\java\\parser\\JavaParser.g:1017:9: ( '<=' )
+            // C:\\dev\\jbossrules\\trunk3\\drools-compiler\\src\\main\\resources\\org\\drools\\semantics\\java\\parser\\JavaParser.g:1017:9: '<='
             {
-                match( "<=" );
+            match("<="); 
 
-            }
 
-            if ( this.token == null && this.ruleNestingLevel == 1 ) {
-                emit( _type,
-                      _line,
-                      _charPosition,
-                      _channel,
-                      _start,
-                      getCharIndex() - 1 );
             }
 
-        } finally {
-            this.ruleNestingLevel--;
+            this.type = _type;
         }
+        finally {
+        }
     }
-
     // $ANTLR end LE
 
     // $ANTLR start LT
-    public void mLT() throws RecognitionException {
+    public final void mLT() throws RecognitionException {
         try {
-            this.ruleNestingLevel++;
-            final int _type = LT;
-            final int _start = getCharIndex();
-            final int _line = getLine();
-            final int _charPosition = getCharPositionInLine();
-            final int _channel = Token.DEFAULT_CHANNEL;
-            // D:\\workspace\\jboss\\jbossrules\\drools-compiler\\src\\main\\resources\\org\\drools\\semantics\\java\\parser\\JavaParser.g:1020:9: ( '<' )
-            // D:\\workspace\\jboss\\jbossrules\\drools-compiler\\src\\main\\resources\\org\\drools\\semantics\\java\\parser\\JavaParser.g:1020:9: '<'
+            int _type = LT;
+            // C:\\dev\\jbossrules\\trunk3\\drools-compiler\\src\\main\\resources\\org\\drools\\semantics\\java\\parser\\JavaParser.g:1020:9: ( '<' )
+            // C:\\dev\\jbossrules\\trunk3\\drools-compiler\\src\\main\\resources\\org\\drools\\semantics\\java\\parser\\JavaParser.g:1020:9: '<'
             {
-                match( '<' );
+            match('<'); 
 
             }
 
-            if ( this.token == null && this.ruleNestingLevel == 1 ) {
-                emit( _type,
-                      _line,
-                      _charPosition,
-                      _channel,
-                      _start,
-                      getCharIndex() - 1 );
-            }
-
-        } finally {
-            this.ruleNestingLevel--;
+            this.type = _type;
         }
+        finally {
+        }
     }
-
     // $ANTLR end LT
 
     // $ANTLR start BXOR
-    public void mBXOR() throws RecognitionException {
+    public final void mBXOR() throws RecognitionException {
         try {
-            this.ruleNestingLevel++;
-            final int _type = BXOR;
-            final int _start = getCharIndex();
-            final int _line = getLine();
-            final int _charPosition = getCharPositionInLine();
-            final int _channel = Token.DEFAULT_CHANNEL;
-            // D:\\workspace\\jboss\\jbossrules\\drools-compiler\\src\\main\\resources\\org\\drools\\semantics\\java\\parser\\JavaParser.g:1023:10: ( '^' )
-            // D:\\workspace\\jboss\\jbossrules\\drools-compiler\\src\\main\\resources\\org\\drools\\semantics\\java\\parser\\JavaParser.g:1023:10: '^'
+            int _type = BXOR;
+            // C:\\dev\\jbossrules\\trunk3\\drools-compiler\\src\\main\\resources\\org\\drools\\semantics\\java\\parser\\JavaParser.g:1023:10: ( '^' )
+            // C:\\dev\\jbossrules\\trunk3\\drools-compiler\\src\\main\\resources\\org\\drools\\semantics\\java\\parser\\JavaParser.g:1023:10: '^'
             {
-                match( '^' );
+            match('^'); 
 
             }
 
-            if ( this.token == null && this.ruleNestingLevel == 1 ) {
-                emit( _type,
-                      _line,
-                      _charPosition,
-                      _channel,
-                      _start,
-                      getCharIndex() - 1 );
-            }
-
-        } finally {
-            this.ruleNestingLevel--;
+            this.type = _type;
         }
+        finally {
+        }
     }
-
     // $ANTLR end BXOR
 
     // $ANTLR start BXOR_ASSIGN
-    public void mBXOR_ASSIGN() throws RecognitionException {
+    public final void mBXOR_ASSIGN() throws RecognitionException {
         try {
-            this.ruleNestingLevel++;
-            final int _type = BXOR_ASSIGN;
-            final int _start = getCharIndex();
-            final int _line = getLine();
-            final int _charPosition = getCharPositionInLine();
-            final int _channel = Token.DEFAULT_CHANNEL;
-            // D:\\workspace\\jboss\\jbossrules\\drools-compiler\\src\\main\\resources\\org\\drools\\semantics\\java\\parser\\JavaParser.g:1026:16: ( '^=' )
-            // D:\\workspace\\jboss\\jbossrules\\drools-compiler\\src\\main\\resources\\org\\drools\\semantics\\java\\parser\\JavaParser.g:1026:16: '^='
+            int _type = BXOR_ASSIGN;
+            // C:\\dev\\jbossrules\\trunk3\\drools-compiler\\src\\main\\resources\\org\\drools\\semantics\\java\\parser\\JavaParser.g:1026:16: ( '^=' )
+            // C:\\dev\\jbossrules\\trunk3\\drools-compiler\\src\\main\\resources\\org\\drools\\semantics\\java\\parser\\JavaParser.g:1026:16: '^='
             {
-                match( "^=" );
+            match("^="); 
 
-            }
 
-            if ( this.token == null && this.ruleNestingLevel == 1 ) {
-                emit( _type,
-                      _line,
-                      _charPosition,
-                      _channel,
-                      _start,
-                      getCharIndex() - 1 );
             }
 
-        } finally {
-            this.ruleNestingLevel--;
+            this.type = _type;
         }
+        finally {
+        }
     }
-
     // $ANTLR end BXOR_ASSIGN
 
     // $ANTLR start BOR
-    public void mBOR() throws RecognitionException {
+    public final void mBOR() throws RecognitionException {
         try {
-            this.ruleNestingLevel++;
-            final int _type = BOR;
-            final int _start = getCharIndex();
-            final int _line = getLine();
-            final int _charPosition = getCharPositionInLine();
-            final int _channel = Token.DEFAULT_CHANNEL;
-            // D:\\workspace\\jboss\\jbossrules\\drools-compiler\\src\\main\\resources\\org\\drools\\semantics\\java\\parser\\JavaParser.g:1029:10: ( '|' )
-            // D:\\workspace\\jboss\\jbossrules\\drools-compiler\\src\\main\\resources\\org\\drools\\semantics\\java\\parser\\JavaParser.g:1029:10: '|'
+            int _type = BOR;
+            // C:\\dev\\jbossrules\\trunk3\\drools-compiler\\src\\main\\resources\\org\\drools\\semantics\\java\\parser\\JavaParser.g:1029:10: ( '|' )
+            // C:\\dev\\jbossrules\\trunk3\\drools-compiler\\src\\main\\resources\\org\\drools\\semantics\\java\\parser\\JavaParser.g:1029:10: '|'
             {
-                match( '|' );
+            match('|'); 
 
             }
 
-            if ( this.token == null && this.ruleNestingLevel == 1 ) {
-                emit( _type,
-                      _line,
-                      _charPosition,
-                      _channel,
-                      _start,
-                      getCharIndex() - 1 );
-            }
-
-        } finally {
-            this.ruleNestingLevel--;
+            this.type = _type;
         }
+        finally {
+        }
     }
-
     // $ANTLR end BOR
 
     // $ANTLR start BOR_ASSIGN
-    public void mBOR_ASSIGN() throws RecognitionException {
+    public final void mBOR_ASSIGN() throws RecognitionException {
         try {
-            this.ruleNestingLevel++;
-            final int _type = BOR_ASSIGN;
-            final int _start = getCharIndex();
-            final int _line = getLine();
-            final int _charPosition = getCharPositionInLine();
-            final int _channel = Token.DEFAULT_CHANNEL;
-            // D:\\workspace\\jboss\\jbossrules\\drools-compiler\\src\\main\\resources\\org\\drools\\semantics\\java\\parser\\JavaParser.g:1032:15: ( '|=' )
-            // D:\\workspace\\jboss\\jbossrules\\drools-compiler\\src\\main\\resources\\org\\drools\\semantics\\java\\parser\\JavaParser.g:1032:15: '|='
+            int _type = BOR_ASSIGN;
+            // C:\\dev\\jbossrules\\trunk3\\drools-compiler\\src\\main\\resources\\org\\drools\\semantics\\java\\parser\\JavaParser.g:1032:15: ( '|=' )
+            // C:\\dev\\jbossrules\\trunk3\\drools-compiler\\src\\main\\resources\\org\\drools\\semantics\\java\\parser\\JavaParser.g:1032:15: '|='
             {
-                match( "|=" );
+            match("|="); 
 
-            }
 
-            if ( this.token == null && this.ruleNestingLevel == 1 ) {
-                emit( _type,
-                      _line,
-                      _charPosition,
-                      _channel,
-                      _start,
-                      getCharIndex() - 1 );
             }
 
-        } finally {
-            this.ruleNestingLevel--;
+            this.type = _type;
         }
+        finally {
+        }
     }
-
     // $ANTLR end BOR_ASSIGN
 
     // $ANTLR start LOR
-    public void mLOR() throws RecognitionException {
+    public final void mLOR() throws RecognitionException {
         try {
-            this.ruleNestingLevel++;
-            final int _type = LOR;
-            final int _start = getCharIndex();
-            final int _line = getLine();
-            final int _charPosition = getCharPositionInLine();
-            final int _channel = Token.DEFAULT_CHANNEL;
-            // D:\\workspace\\jboss\\jbossrules\\drools-compiler\\src\\main\\resources\\org\\drools\\semantics\\java\\parser\\JavaParser.g:1035:10: ( '||' )
-            // D:\\workspace\\jboss\\jbossrules\\drools-compiler\\src\\main\\resources\\org\\drools\\semantics\\java\\parser\\JavaParser.g:1035:10: '||'
+            int _type = LOR;
+            // C:\\dev\\jbossrules\\trunk3\\drools-compiler\\src\\main\\resources\\org\\drools\\semantics\\java\\parser\\JavaParser.g:1035:10: ( '||' )
+            // C:\\dev\\jbossrules\\trunk3\\drools-compiler\\src\\main\\resources\\org\\drools\\semantics\\java\\parser\\JavaParser.g:1035:10: '||'
             {
-                match( "||" );
+            match("||"); 
 
-            }
 
-            if ( this.token == null && this.ruleNestingLevel == 1 ) {
-                emit( _type,
-                      _line,
-                      _charPosition,
-                      _channel,
-                      _start,
-                      getCharIndex() - 1 );
             }
 
-        } finally {
-            this.ruleNestingLevel--;
+            this.type = _type;
         }
+        finally {
+        }
     }
-
     // $ANTLR end LOR
 
     // $ANTLR start BAND
-    public void mBAND() throws RecognitionException {
+    public final void mBAND() throws RecognitionException {
         try {
-            this.ruleNestingLevel++;
-            final int _type = BAND;
-            final int _start = getCharIndex();
-            final int _line = getLine();
-            final int _charPosition = getCharPositionInLine();
-            final int _channel = Token.DEFAULT_CHANNEL;
-            // D:\\workspace\\jboss\\jbossrules\\drools-compiler\\src\\main\\resources\\org\\drools\\semantics\\java\\parser\\JavaParser.g:1038:10: ( '&' )
-            // D:\\workspace\\jboss\\jbossrules\\drools-compiler\\src\\main\\resources\\org\\drools\\semantics\\java\\parser\\JavaParser.g:1038:10: '&'
+            int _type = BAND;
+            // C:\\dev\\jbossrules\\trunk3\\drools-compiler\\src\\main\\resources\\org\\drools\\semantics\\java\\parser\\JavaParser.g:1038:10: ( '&' )
+            // C:\\dev\\jbossrules\\trunk3\\drools-compiler\\src\\main\\resources\\org\\drools\\semantics\\java\\parser\\JavaParser.g:1038:10: '&'
             {
-                match( '&' );
+            match('&'); 
 
             }
 
-            if ( this.token == null && this.ruleNestingLevel == 1 ) {
-                emit( _type,
-                      _line,
-                      _charPosition,
-                      _channel,
-                      _start,
-                      getCharIndex() - 1 );
-            }
-
-        } finally {
-            this.ruleNestingLevel--;
+            this.type = _type;
         }
+        finally {
+        }
     }
-
     // $ANTLR end BAND
 
     // $ANTLR start BAND_ASSIGN
-    public void mBAND_ASSIGN() throws RecognitionException {
+    public final void mBAND_ASSIGN() throws RecognitionException {
         try {
-            this.ruleNestingLevel++;
-            final int _type = BAND_ASSIGN;
-            final int _start = getCharIndex();
-            final int _line = getLine();
-            final int _charPosition = getCharPositionInLine();
-            final int _channel = Token.DEFAULT_CHANNEL;
-            // D:\\workspace\\jboss\\jbossrules\\drools-compiler\\src\\main\\resources\\org\\drools\\semantics\\java\\parser\\JavaParser.g:1041:16: ( '&=' )
-            // D:\\workspace\\jboss\\jbossrules\\drools-compiler\\src\\main\\resources\\org\\drools\\semantics\\java\\parser\\JavaParser.g:1041:16: '&='
+            int _type = BAND_ASSIGN;
+            // C:\\dev\\jbossrules\\trunk3\\drools-compiler\\src\\main\\resources\\org\\drools\\semantics\\java\\parser\\JavaParser.g:1041:16: ( '&=' )
+            // C:\\dev\\jbossrules\\trunk3\\drools-compiler\\src\\main\\resources\\org\\drools\\semantics\\java\\parser\\JavaParser.g:1041:16: '&='
             {
-                match( "&=" );
+            match("&="); 
 
-            }
 
-            if ( this.token == null && this.ruleNestingLevel == 1 ) {
-                emit( _type,
-                      _line,
-                      _charPosition,
-                      _channel,
-                      _start,
-                      getCharIndex() - 1 );
             }
 
-        } finally {
-            this.ruleNestingLevel--;
+            this.type = _type;
         }
+        finally {
+        }
     }
-
     // $ANTLR end BAND_ASSIGN
 
     // $ANTLR start LAND
-    public void mLAND() throws RecognitionException {
+    public final void mLAND() throws RecognitionException {
         try {
-            this.ruleNestingLevel++;
-            final int _type = LAND;
-            final int _start = getCharIndex();
-            final int _line = getLine();
-            final int _charPosition = getCharPositionInLine();
-            final int _channel = Token.DEFAULT_CHANNEL;
-            // D:\\workspace\\jboss\\jbossrules\\drools-compiler\\src\\main\\resources\\org\\drools\\semantics\\java\\parser\\JavaParser.g:1044:10: ( '&&' )
-            // D:\\workspace\\jboss\\jbossrules\\drools-compiler\\src\\main\\resources\\org\\drools\\semantics\\java\\parser\\JavaParser.g:1044:10: '&&'
+            int _type = LAND;
+            // C:\\dev\\jbossrules\\trunk3\\drools-compiler\\src\\main\\resources\\org\\drools\\semantics\\java\\parser\\JavaParser.g:1044:10: ( '&&' )
+            // C:\\dev\\jbossrules\\trunk3\\drools-compiler\\src\\main\\resources\\org\\drools\\semantics\\java\\parser\\JavaParser.g:1044:10: '&&'
             {
-                match( "&&" );
+            match("&&"); 
 
-            }
 
-            if ( this.token == null && this.ruleNestingLevel == 1 ) {
-                emit( _type,
-                      _line,
-                      _charPosition,
-                      _channel,
-                      _start,
-                      getCharIndex() - 1 );
             }
 
-        } finally {
-            this.ruleNestingLevel--;
+            this.type = _type;
         }
+        finally {
+        }
     }
-
     // $ANTLR end LAND
 
     // $ANTLR start SEMI
-    public void mSEMI() throws RecognitionException {
+    public final void mSEMI() throws RecognitionException {
         try {
-            this.ruleNestingLevel++;
-            final int _type = SEMI;
-            final int _start = getCharIndex();
-            final int _line = getLine();
-            final int _charPosition = getCharPositionInLine();
-            final int _channel = Token.DEFAULT_CHANNEL;
-            // D:\\workspace\\jboss\\jbossrules\\drools-compiler\\src\\main\\resources\\org\\drools\\semantics\\java\\parser\\JavaParser.g:1047:10: ( ';' )
-            // D:\\workspace\\jboss\\jbossrules\\drools-compiler\\src\\main\\resources\\org\\drools\\semantics\\java\\parser\\JavaParser.g:1047:10: ';'
+            int _type = SEMI;
+            // C:\\dev\\jbossrules\\trunk3\\drools-compiler\\src\\main\\resources\\org\\drools\\semantics\\java\\parser\\JavaParser.g:1047:10: ( ';' )
+            // C:\\dev\\jbossrules\\trunk3\\drools-compiler\\src\\main\\resources\\org\\drools\\semantics\\java\\parser\\JavaParser.g:1047:10: ';'
             {
-                match( ';' );
+            match(';'); 
 
             }
 
-            if ( this.token == null && this.ruleNestingLevel == 1 ) {
-                emit( _type,
-                      _line,
-                      _charPosition,
-                      _channel,
-                      _start,
-                      getCharIndex() - 1 );
-            }
-
-        } finally {
-            this.ruleNestingLevel--;
+            this.type = _type;
         }
+        finally {
+        }
     }
-
     // $ANTLR end SEMI
 
     // $ANTLR start WS
-    public void mWS() throws RecognitionException {
+    public final void mWS() throws RecognitionException {
         try {
-            this.ruleNestingLevel++;
-            final int _type = WS;
-            final int _start = getCharIndex();
-            final int _line = getLine();
-            final int _charPosition = getCharPositionInLine();
-            int _channel = Token.DEFAULT_CHANNEL;
-            // D:\\workspace\\jboss\\jbossrules\\drools-compiler\\src\\main\\resources\\org\\drools\\semantics\\java\\parser\\JavaParser.g:1053:6: ( ( ' ' | '\\t' | '\\f' | ( '\\r\\n' | '\\r' | '\\n' ) )+ )
-            // D:\\workspace\\jboss\\jbossrules\\drools-compiler\\src\\main\\resources\\org\\drools\\semantics\\java\\parser\\JavaParser.g:1053:6: ( ' ' | '\\t' | '\\f' | ( '\\r\\n' | '\\r' | '\\n' ) )+
+            int _type = WS;
+            // C:\\dev\\jbossrules\\trunk3\\drools-compiler\\src\\main\\resources\\org\\drools\\semantics\\java\\parser\\JavaParser.g:1053:6: ( ( ' ' | '\\t' | '\\f' | ( '\\r\\n' | '\\r' | '\\n' ) )+ )
+            // C:\\dev\\jbossrules\\trunk3\\drools-compiler\\src\\main\\resources\\org\\drools\\semantics\\java\\parser\\JavaParser.g:1053:6: ( ' ' | '\\t' | '\\f' | ( '\\r\\n' | '\\r' | '\\n' ) )+
             {
-                // D:\\workspace\\jboss\\jbossrules\\drools-compiler\\src\\main\\resources\\org\\drools\\semantics\\java\\parser\\JavaParser.g:1053:6: ( ' ' | '\\t' | '\\f' | ( '\\r\\n' | '\\r' | '\\n' ) )+
-                int cnt2 = 0;
-                loop2 : do {
-                    int alt2 = 5;
-                    switch ( this.input.LA( 1 ) ) {
-                        case ' ' :
-                            alt2 = 1;
-                            break;
-                        case '\t' :
-                            alt2 = 2;
-                            break;
-                        case '\f' :
-                            alt2 = 3;
-                            break;
-                        case '\n' :
-                        case '\r' :
-                            alt2 = 4;
-                            break;
-
+            // C:\\dev\\jbossrules\\trunk3\\drools-compiler\\src\\main\\resources\\org\\drools\\semantics\\java\\parser\\JavaParser.g:1053:6: ( ' ' | '\\t' | '\\f' | ( '\\r\\n' | '\\r' | '\\n' ) )+
+            int cnt2=0;
+            loop2:
+            do {
+                int alt2=5;
+                switch ( input.LA(1) ) {
+                case ' ':
+                    {
+                    alt2=1;
                     }
+                    break;
+                case '\t':
+                    {
+                    alt2=2;
+                    }
+                    break;
+                case '\f':
+                    {
+                    alt2=3;
+                    }
+                    break;
+                case '\n':
+                case '\r':
+                    {
+                    alt2=4;
+                    }
+                    break;
 
-                    switch ( alt2 ) {
-                        case 1 :
-                            // D:\\workspace\\jboss\\jbossrules\\drools-compiler\\src\\main\\resources\\org\\drools\\semantics\\java\\parser\\JavaParser.g:1053:8: ' '
-                        {
-                            match( ' ' );
+                }
 
-                        }
-                            break;
-                        case 2 :
-                            // D:\\workspace\\jboss\\jbossrules\\drools-compiler\\src\\main\\resources\\org\\drools\\semantics\\java\\parser\\JavaParser.g:1054:5: '\\t'
-                        {
-                            match( '\t' );
+                switch (alt2) {
+            	case 1 :
+            	    // C:\\dev\\jbossrules\\trunk3\\drools-compiler\\src\\main\\resources\\org\\drools\\semantics\\java\\parser\\JavaParser.g:1053:8: ' '
+            	    {
+            	    match(' '); 
 
-                        }
-                            break;
-                        case 3 :
-                            // D:\\workspace\\jboss\\jbossrules\\drools-compiler\\src\\main\\resources\\org\\drools\\semantics\\java\\parser\\JavaParser.g:1055:5: '\\f'
-                        {
-                            match( '\f' );
+            	    }
+            	    break;
+            	case 2 :
+            	    // C:\\dev\\jbossrules\\trunk3\\drools-compiler\\src\\main\\resources\\org\\drools\\semantics\\java\\parser\\JavaParser.g:1054:5: '\\t'
+            	    {
+            	    match('\t'); 
 
-                        }
-                            break;
-                        case 4 :
-                            // D:\\workspace\\jboss\\jbossrules\\drools-compiler\\src\\main\\resources\\org\\drools\\semantics\\java\\parser\\JavaParser.g:1057:5: ( '\\r\\n' | '\\r' | '\\n' )
-                        {
-                            // D:\\workspace\\jboss\\jbossrules\\drools-compiler\\src\\main\\resources\\org\\drools\\semantics\\java\\parser\\JavaParser.g:1057:5: ( '\\r\\n' | '\\r' | '\\n' )
-                            int alt1 = 3;
-                            final int LA1_0 = this.input.LA( 1 );
-                            if ( (LA1_0 == '\r') ) {
-                                final int LA1_1 = this.input.LA( 2 );
-                                if ( (LA1_1 == '\n') ) {
-                                    alt1 = 1;
-                                } else {
-                                    alt1 = 2;
-                                }
-                            } else if ( (LA1_0 == '\n') ) {
-                                alt1 = 3;
-                            } else {
-                                final NoViableAltException nvae = new NoViableAltException( "1057:5: ( '\\r\\n' | '\\r' | '\\n' )",
-                                                                                      1,
-                                                                                      0,
-                                                                                      this.input );
+            	    }
+            	    break;
+            	case 3 :
+            	    // C:\\dev\\jbossrules\\trunk3\\drools-compiler\\src\\main\\resources\\org\\drools\\semantics\\java\\parser\\JavaParser.g:1055:5: '\\f'
+            	    {
+            	    match('\f'); 
 
-                                throw nvae;
-                            }
-                            switch ( alt1 ) {
-                                case 1 :
-                                    // D:\\workspace\\jboss\\jbossrules\\drools-compiler\\src\\main\\resources\\org\\drools\\semantics\\java\\parser\\JavaParser.g:1057:7: '\\r\\n'
-                                {
-                                    match( "\r\n" );
+            	    }
+            	    break;
+            	case 4 :
+            	    // C:\\dev\\jbossrules\\trunk3\\drools-compiler\\src\\main\\resources\\org\\drools\\semantics\\java\\parser\\JavaParser.g:1057:5: ( '\\r\\n' | '\\r' | '\\n' )
+            	    {
+            	    // C:\\dev\\jbossrules\\trunk3\\drools-compiler\\src\\main\\resources\\org\\drools\\semantics\\java\\parser\\JavaParser.g:1057:5: ( '\\r\\n' | '\\r' | '\\n' )
+            	    int alt1=3;
+            	    int LA1_0 = input.LA(1);
 
-                                }
-                                    break;
-                                case 2 :
-                                    // D:\\workspace\\jboss\\jbossrules\\drools-compiler\\src\\main\\resources\\org\\drools\\semantics\\java\\parser\\JavaParser.g:1058:6: '\\r'
-                                {
-                                    match( '\r' );
+            	    if ( (LA1_0=='\r') ) {
+            	        int LA1_1 = input.LA(2);
 
-                                }
-                                    break;
-                                case 3 :
-                                    // D:\\workspace\\jboss\\jbossrules\\drools-compiler\\src\\main\\resources\\org\\drools\\semantics\\java\\parser\\JavaParser.g:1059:6: '\\n'
-                                {
-                                    match( '\n' );
+            	        if ( (LA1_1=='\n') ) {
+            	            alt1=1;
+            	        }
+            	        else {
+            	            alt1=2;}
+            	    }
+            	    else if ( (LA1_0=='\n') ) {
+            	        alt1=3;
+            	    }
+            	    else {
+            	        NoViableAltException nvae =
+            	            new NoViableAltException("1057:5: ( '\\r\\n' | '\\r' | '\\n' )", 1, 0, input);
 
-                                }
-                                    break;
+            	        throw nvae;
+            	    }
+            	    switch (alt1) {
+            	        case 1 :
+            	            // C:\\dev\\jbossrules\\trunk3\\drools-compiler\\src\\main\\resources\\org\\drools\\semantics\\java\\parser\\JavaParser.g:1057:7: '\\r\\n'
+            	            {
+            	            match("\r\n"); 
 
-                            }
 
-                        }
-                            break;
+            	            }
+            	            break;
+            	        case 2 :
+            	            // C:\\dev\\jbossrules\\trunk3\\drools-compiler\\src\\main\\resources\\org\\drools\\semantics\\java\\parser\\JavaParser.g:1058:6: '\\r'
+            	            {
+            	            match('\r'); 
 
-                        default :
-                            if ( cnt2 >= 1 ) {
-                                break loop2;
-                            }
-                            final EarlyExitException eee = new EarlyExitException( 2,
-                                                                             this.input );
-                            throw eee;
-                    }
-                    cnt2++;
-                } while ( true );
+            	            }
+            	            break;
+            	        case 3 :
+            	            // C:\\dev\\jbossrules\\trunk3\\drools-compiler\\src\\main\\resources\\org\\drools\\semantics\\java\\parser\\JavaParser.g:1059:6: '\\n'
+            	            {
+            	            match('\n'); 
 
-                _channel = HIDDEN; /*token = JavaParser.IGNORE_TOKEN;*/
+            	            }
+            	            break;
 
-            }
+            	    }
 
-            if ( this.token == null && this.ruleNestingLevel == 1 ) {
-                emit( _type,
-                      _line,
-                      _charPosition,
-                      _channel,
-                      _start,
-                      getCharIndex() - 1 );
+
+            	    }
+            	    break;
+
+            	default :
+            	    if ( cnt2 >= 1 ) break loop2;
+                        EarlyExitException eee =
+                            new EarlyExitException(2, input);
+                        throw eee;
+                }
+                cnt2++;
+            } while (true);
+
+             channel=HIDDEN; /*token = JavaParser.IGNORE_TOKEN;*/ 
+
             }
 
-        } finally {
-            this.ruleNestingLevel--;
+            this.type = _type;
         }
+        finally {
+        }
     }
-
     // $ANTLR end WS
 
     // $ANTLR start SL_COMMENT
-    public void mSL_COMMENT() throws RecognitionException {
+    public final void mSL_COMMENT() throws RecognitionException {
         try {
-            this.ruleNestingLevel++;
-            final int _type = SL_COMMENT;
-            final int _start = getCharIndex();
-            final int _line = getLine();
-            final int _charPosition = getCharPositionInLine();
-            int _channel = Token.DEFAULT_CHANNEL;
-            // D:\\workspace\\jboss\\jbossrules\\drools-compiler\\src\\main\\resources\\org\\drools\\semantics\\java\\parser\\JavaParser.g:1069:4: ( '//' ( options {greedy=false; } : . )* ( '\\r' )? '\\n' )
-            // D:\\workspace\\jboss\\jbossrules\\drools-compiler\\src\\main\\resources\\org\\drools\\semantics\\java\\parser\\JavaParser.g:1069:4: '//' ( options {greedy=false; } : . )* ( '\\r' )? '\\n'
+            int _type = SL_COMMENT;
+            // C:\\dev\\jbossrules\\trunk3\\drools-compiler\\src\\main\\resources\\org\\drools\\semantics\\java\\parser\\JavaParser.g:1069:4: ( '//' ( options {greedy=false; } : . )* ( '\\r' )? '\\n' )
+            // C:\\dev\\jbossrules\\trunk3\\drools-compiler\\src\\main\\resources\\org\\drools\\semantics\\java\\parser\\JavaParser.g:1069:4: '//' ( options {greedy=false; } : . )* ( '\\r' )? '\\n'
             {
-                match( "//" );
+            match("//"); 
 
-                // D:\\workspace\\jboss\\jbossrules\\drools-compiler\\src\\main\\resources\\org\\drools\\semantics\\java\\parser\\JavaParser.g:1069:9: ( options {greedy=false; } : . )*
-                loop3 : do {
-                    int alt3 = 2;
-                    final int LA3_0 = this.input.LA( 1 );
-                    if ( (LA3_0 == '\r') ) {
-                        alt3 = 2;
-                    } else if ( (LA3_0 == '\n') ) {
-                        alt3 = 2;
-                    } else if ( ((LA3_0 >= '\u0000' && LA3_0 <= '\t') || (LA3_0 >= '\u000B' && LA3_0 <= '\f') || (LA3_0 >= '\u000E' && LA3_0 <= '\uFFFE')) ) {
-                        alt3 = 1;
-                    }
+            // C:\\dev\\jbossrules\\trunk3\\drools-compiler\\src\\main\\resources\\org\\drools\\semantics\\java\\parser\\JavaParser.g:1069:9: ( options {greedy=false; } : . )*
+            loop3:
+            do {
+                int alt3=2;
+                int LA3_0 = input.LA(1);
 
-                    switch ( alt3 ) {
-                        case 1 :
-                            // D:\\workspace\\jboss\\jbossrules\\drools-compiler\\src\\main\\resources\\org\\drools\\semantics\\java\\parser\\JavaParser.g:1069:36: .
-                        {
-                            matchAny();
+                if ( (LA3_0=='\r') ) {
+                    alt3=2;
+                }
+                else if ( (LA3_0=='\n') ) {
+                    alt3=2;
+                }
+                else if ( ((LA3_0>='\u0000' && LA3_0<='\t')||(LA3_0>='\u000B' && LA3_0<='\f')||(LA3_0>='\u000E' && LA3_0<='\uFFFE')) ) {
+                    alt3=1;
+                }
 
-                        }
-                            break;
 
-                        default :
-                            break loop3;
-                    }
-                } while ( true );
+                switch (alt3) {
+            	case 1 :
+            	    // C:\\dev\\jbossrules\\trunk3\\drools-compiler\\src\\main\\resources\\org\\drools\\semantics\\java\\parser\\JavaParser.g:1069:36: .
+            	    {
+            	    matchAny(); 
 
-                // D:\\workspace\\jboss\\jbossrules\\drools-compiler\\src\\main\\resources\\org\\drools\\semantics\\java\\parser\\JavaParser.g:1069:40: ( '\\r' )?
-                int alt4 = 2;
-                final int LA4_0 = this.input.LA( 1 );
-                if ( (LA4_0 == '\r') ) {
-                    alt4 = 1;
+            	    }
+            	    break;
+
+            	default :
+            	    break loop3;
                 }
-                switch ( alt4 ) {
-                    case 1 :
-                        // D:\\workspace\\jboss\\jbossrules\\drools-compiler\\src\\main\\resources\\org\\drools\\semantics\\java\\parser\\JavaParser.g:1069:41: '\\r'
+            } while (true);
+
+            // C:\\dev\\jbossrules\\trunk3\\drools-compiler\\src\\main\\resources\\org\\drools\\semantics\\java\\parser\\JavaParser.g:1069:40: ( '\\r' )?
+            int alt4=2;
+            int LA4_0 = input.LA(1);
+
+            if ( (LA4_0=='\r') ) {
+                alt4=1;
+            }
+            switch (alt4) {
+                case 1 :
+                    // C:\\dev\\jbossrules\\trunk3\\drools-compiler\\src\\main\\resources\\org\\drools\\semantics\\java\\parser\\JavaParser.g:1069:41: '\\r'
                     {
-                        match( '\r' );
+                    match('\r'); 
 
                     }
-                        break;
+                    break;
 
-                }
+            }
 
-                match( '\n' );
-                _channel = HIDDEN; /*token = JavaParser.IGNORE_TOKEN;*/
+            match('\n'); 
+            channel=HIDDEN; /*token = JavaParser.IGNORE_TOKEN;*/
 
             }
 
-            if ( this.token == null && this.ruleNestingLevel == 1 ) {
-                emit( _type,
-                      _line,
-                      _charPosition,
-                      _channel,
-                      _start,
-                      getCharIndex() - 1 );
-            }
-
-        } finally {
-            this.ruleNestingLevel--;
+            this.type = _type;
         }
+        finally {
+        }
     }
-
     // $ANTLR end SL_COMMENT
 
     // $ANTLR start ML_COMMENT
-    public void mML_COMMENT() throws RecognitionException {
+    public final void mML_COMMENT() throws RecognitionException {
         try {
-            this.ruleNestingLevel++;
-            final int _type = ML_COMMENT;
-            final int _start = getCharIndex();
-            final int _line = getLine();
-            final int _charPosition = getCharPositionInLine();
-            int _channel = Token.DEFAULT_CHANNEL;
-            // D:\\workspace\\jboss\\jbossrules\\drools-compiler\\src\\main\\resources\\org\\drools\\semantics\\java\\parser\\JavaParser.g:1077:4: ( '/*' ( options {greedy=false; } : . )* '*/' )
-            // D:\\workspace\\jboss\\jbossrules\\drools-compiler\\src\\main\\resources\\org\\drools\\semantics\\java\\parser\\JavaParser.g:1077:4: '/*' ( options {greedy=false; } : . )* '*/'
+            int _type = ML_COMMENT;
+            // C:\\dev\\jbossrules\\trunk3\\drools-compiler\\src\\main\\resources\\org\\drools\\semantics\\java\\parser\\JavaParser.g:1077:4: ( '/*' ( options {greedy=false; } : . )* '*/' )
+            // C:\\dev\\jbossrules\\trunk3\\drools-compiler\\src\\main\\resources\\org\\drools\\semantics\\java\\parser\\JavaParser.g:1077:4: '/*' ( options {greedy=false; } : . )* '*/'
             {
-                match( "/*" );
+            match("/*"); 
 
-                // D:\\workspace\\jboss\\jbossrules\\drools-compiler\\src\\main\\resources\\org\\drools\\semantics\\java\\parser\\JavaParser.g:1078:3: ( options {greedy=false; } : . )*
-                loop5 : do {
-                    int alt5 = 2;
-                    final int LA5_0 = this.input.LA( 1 );
-                    if ( (LA5_0 == '*') ) {
-                        final int LA5_1 = this.input.LA( 2 );
-                        if ( (LA5_1 == '/') ) {
-                            alt5 = 2;
-                        } else if ( ((LA5_1 >= '\u0000' && LA5_1 <= '.') || (LA5_1 >= '0' && LA5_1 <= '\uFFFE')) ) {
-                            alt5 = 1;
-                        }
+            // C:\\dev\\jbossrules\\trunk3\\drools-compiler\\src\\main\\resources\\org\\drools\\semantics\\java\\parser\\JavaParser.g:1078:3: ( options {greedy=false; } : . )*
+            loop5:
+            do {
+                int alt5=2;
+                int LA5_0 = input.LA(1);
 
-                    } else if ( ((LA5_0 >= '\u0000' && LA5_0 <= ')') || (LA5_0 >= '+' && LA5_0 <= '\uFFFE')) ) {
-                        alt5 = 1;
+                if ( (LA5_0=='*') ) {
+                    int LA5_1 = input.LA(2);
+
+                    if ( (LA5_1=='/') ) {
+                        alt5=2;
                     }
+                    else if ( ((LA5_1>='\u0000' && LA5_1<='.')||(LA5_1>='0' && LA5_1<='\uFFFE')) ) {
+                        alt5=1;
+                    }
 
-                    switch ( alt5 ) {
-                        case 1 :
-                            // D:\\workspace\\jboss\\jbossrules\\drools-compiler\\src\\main\\resources\\org\\drools\\semantics\\java\\parser\\JavaParser.g:1078:31: .
-                        {
-                            matchAny();
 
-                        }
-                            break;
+                }
+                else if ( ((LA5_0>='\u0000' && LA5_0<=')')||(LA5_0>='+' && LA5_0<='\uFFFE')) ) {
+                    alt5=1;
+                }
 
-                        default :
-                            break loop5;
-                    }
-                } while ( true );
 
-                match( "*/" );
+                switch (alt5) {
+            	case 1 :
+            	    // C:\\dev\\jbossrules\\trunk3\\drools-compiler\\src\\main\\resources\\org\\drools\\semantics\\java\\parser\\JavaParser.g:1078:31: .
+            	    {
+            	    matchAny(); 
 
-                _channel = HIDDEN;/*token = JavaParser.IGNORE_TOKEN;*/
+            	    }
+            	    break;
 
-            }
+            	default :
+            	    break loop5;
+                }
+            } while (true);
 
-            if ( this.token == null && this.ruleNestingLevel == 1 ) {
-                emit( _type,
-                      _line,
-                      _charPosition,
-                      _channel,
-                      _start,
-                      getCharIndex() - 1 );
+            match("*/"); 
+
+            channel=HIDDEN;/*token = JavaParser.IGNORE_TOKEN;*/
+
             }
 
-        } finally {
-            this.ruleNestingLevel--;
+            this.type = _type;
         }
+        finally {
+        }
     }
-
     // $ANTLR end ML_COMMENT
 
     // $ANTLR start IDENT
-    public void mIDENT() throws RecognitionException {
+    public final void mIDENT() throws RecognitionException {
         try {
-            this.ruleNestingLevel++;
-            final int _type = IDENT;
-            final int _start = getCharIndex();
-            final int _line = getLine();
-            final int _charPosition = getCharPositionInLine();
-            final int _channel = Token.DEFAULT_CHANNEL;
-            // D:\\workspace\\jboss\\jbossrules\\drools-compiler\\src\\main\\resources\\org\\drools\\semantics\\java\\parser\\JavaParser.g:1084:4: ( ('a'..'z'|'A'..'Z'|'_'|'$') ( ('a'..'z'|'A'..'Z'|'_'|'0'..'9'|'$'))* )
-            // D:\\workspace\\jboss\\jbossrules\\drools-compiler\\src\\main\\resources\\org\\drools\\semantics\\java\\parser\\JavaParser.g:1084:4: ('a'..'z'|'A'..'Z'|'_'|'$') ( ('a'..'z'|'A'..'Z'|'_'|'0'..'9'|'$'))*
+            int _type = IDENT;
+            // C:\\dev\\jbossrules\\trunk3\\drools-compiler\\src\\main\\resources\\org\\drools\\semantics\\java\\parser\\JavaParser.g:1084:4: ( ( 'a' .. 'z' | 'A' .. 'Z' | '_' | '$' ) ( 'a' .. 'z' | 'A' .. 'Z' | '_' | '0' .. '9' | '$' )* )
+            // C:\\dev\\jbossrules\\trunk3\\drools-compiler\\src\\main\\resources\\org\\drools\\semantics\\java\\parser\\JavaParser.g:1084:4: ( 'a' .. 'z' | 'A' .. 'Z' | '_' | '$' ) ( 'a' .. 'z' | 'A' .. 'Z' | '_' | '0' .. '9' | '$' )*
             {
-                if ( this.input.LA( 1 ) == '$' || (this.input.LA( 1 ) >= 'A' && this.input.LA( 1 ) <= 'Z') || this.input.LA( 1 ) == '_' || (this.input.LA( 1 ) >= 'a' && this.input.LA( 1 ) <= 'z') ) {
-                    this.input.consume();
+            if ( input.LA(1)=='$'||(input.LA(1)>='A' && input.LA(1)<='Z')||input.LA(1)=='_'||(input.LA(1)>='a' && input.LA(1)<='z') ) {
+                input.consume();
 
-                } else {
-                    final MismatchedSetException mse = new MismatchedSetException( null,
-                                                                             this.input );
-                    recover( mse );
-                    throw mse;
+            }
+            else {
+                MismatchedSetException mse =
+                    new MismatchedSetException(null,input);
+                recover(mse);    throw mse;
+            }
+
+            // C:\\dev\\jbossrules\\trunk3\\drools-compiler\\src\\main\\resources\\org\\drools\\semantics\\java\\parser\\JavaParser.g:1084:32: ( 'a' .. 'z' | 'A' .. 'Z' | '_' | '0' .. '9' | '$' )*
+            loop6:
+            do {
+                int alt6=2;
+                int LA6_0 = input.LA(1);
+
+                if ( (LA6_0=='$'||(LA6_0>='0' && LA6_0<='9')||(LA6_0>='A' && LA6_0<='Z')||LA6_0=='_'||(LA6_0>='a' && LA6_0<='z')) ) {
+                    alt6=1;
                 }
 
-                // D:\\workspace\\jboss\\jbossrules\\drools-compiler\\src\\main\\resources\\org\\drools\\semantics\\java\\parser\\JavaParser.g:1084:32: ( ('a'..'z'|'A'..'Z'|'_'|'0'..'9'|'$'))*
-                loop6 : do {
-                    int alt6 = 2;
-                    final int LA6_0 = this.input.LA( 1 );
-                    if ( (LA6_0 == '$' || (LA6_0 >= '0' && LA6_0 <= '9') || (LA6_0 >= 'A' && LA6_0 <= 'Z') || LA6_0 == '_' || (LA6_0 >= 'a' && LA6_0 <= 'z')) ) {
-                        alt6 = 1;
-                    }
 
-                    switch ( alt6 ) {
-                        case 1 :
-                            // D:\\workspace\\jboss\\jbossrules\\drools-compiler\\src\\main\\resources\\org\\drools\\semantics\\java\\parser\\JavaParser.g:1084:33: ('a'..'z'|'A'..'Z'|'_'|'0'..'9'|'$')
-                        {
-                            if ( this.input.LA( 1 ) == '$' || (this.input.LA( 1 ) >= '0' && this.input.LA( 1 ) <= '9') || (this.input.LA( 1 ) >= 'A' && this.input.LA( 1 ) <= 'Z') || this.input.LA( 1 ) == '_' || (this.input.LA( 1 ) >= 'a' && this.input.LA( 1 ) <= 'z') ) {
-                                this.input.consume();
+                switch (alt6) {
+            	case 1 :
+            	    // C:\\dev\\jbossrules\\trunk3\\drools-compiler\\src\\main\\resources\\org\\drools\\semantics\\java\\parser\\JavaParser.g:
+            	    {
+            	    if ( input.LA(1)=='$'||(input.LA(1)>='0' && input.LA(1)<='9')||(input.LA(1)>='A' && input.LA(1)<='Z')||input.LA(1)=='_'||(input.LA(1)>='a' && input.LA(1)<='z') ) {
+            	        input.consume();
 
-                            } else {
-                                final MismatchedSetException mse = new MismatchedSetException( null,
-                                                                                         this.input );
-                                recover( mse );
-                                throw mse;
-                            }
+            	    }
+            	    else {
+            	        MismatchedSetException mse =
+            	            new MismatchedSetException(null,input);
+            	        recover(mse);    throw mse;
+            	    }
 
-                        }
-                            break;
 
-                        default :
-                            break loop6;
-                    }
-                } while ( true );
+            	    }
+            	    break;
 
-            }
+            	default :
+            	    break loop6;
+                }
+            } while (true);
 
-            if ( this.token == null && this.ruleNestingLevel == 1 ) {
-                emit( _type,
-                      _line,
-                      _charPosition,
-                      _channel,
-                      _start,
-                      getCharIndex() - 1 );
+
             }
 
-        } finally {
-            this.ruleNestingLevel--;
+            this.type = _type;
         }
+        finally {
+        }
     }
-
     // $ANTLR end IDENT
 
     // $ANTLR start NUM_INT
-    public void mNUM_INT() throws RecognitionException {
+    public final void mNUM_INT() throws RecognitionException {
         try {
-            this.ruleNestingLevel++;
-            final int _type = NUM_INT;
-            final int _start = getCharIndex();
-            final int _line = getLine();
-            final int _charPosition = getCharPositionInLine();
-            final int _channel = Token.DEFAULT_CHANNEL;
-            // D:\\workspace\\jboss\\jbossrules\\drools-compiler\\src\\main\\resources\\org\\drools\\semantics\\java\\parser\\JavaParser.g:1090:7: ( DECIMAL_LITERAL | HEX_LITERAL | OCTAL_LITERAL )
-            int alt7 = 3;
-            final int LA7_0 = this.input.LA( 1 );
-            if ( ((LA7_0 >= '1' && LA7_0 <= '9')) ) {
-                alt7 = 1;
-            } else if ( (LA7_0 == '0') ) {
-                final int LA7_2 = this.input.LA( 2 );
-                if ( (LA7_2 == 'X' || LA7_2 == 'x') ) {
-                    alt7 = 2;
-                } else {
-                    alt7 = 3;
+            int _type = NUM_INT;
+            // C:\\dev\\jbossrules\\trunk3\\drools-compiler\\src\\main\\resources\\org\\drools\\semantics\\java\\parser\\JavaParser.g:1090:7: ( DECIMAL_LITERAL | HEX_LITERAL | OCTAL_LITERAL )
+            int alt7=3;
+            int LA7_0 = input.LA(1);
+
+            if ( ((LA7_0>='1' && LA7_0<='9')) ) {
+                alt7=1;
+            }
+            else if ( (LA7_0=='0') ) {
+                int LA7_2 = input.LA(2);
+
+                if ( (LA7_2=='X'||LA7_2=='x') ) {
+                    alt7=2;
                 }
-            } else {
-                final NoViableAltException nvae = new NoViableAltException( "1089:1: NUM_INT : ( DECIMAL_LITERAL | HEX_LITERAL | OCTAL_LITERAL );",
-                                                                      7,
-                                                                      0,
-                                                                      this.input );
+                else {
+                    alt7=3;}
+            }
+            else {
+                NoViableAltException nvae =
+                    new NoViableAltException("1089:1: NUM_INT : ( DECIMAL_LITERAL | HEX_LITERAL | OCTAL_LITERAL );", 7, 0, input);
 
                 throw nvae;
             }
-            switch ( alt7 ) {
+            switch (alt7) {
                 case 1 :
-                    // D:\\workspace\\jboss\\jbossrules\\drools-compiler\\src\\main\\resources\\org\\drools\\semantics\\java\\parser\\JavaParser.g:1090:7: DECIMAL_LITERAL
-                {
-                    mDECIMAL_LITERAL();
+                    // C:\\dev\\jbossrules\\trunk3\\drools-compiler\\src\\main\\resources\\org\\drools\\semantics\\java\\parser\\JavaParser.g:1090:7: DECIMAL_LITERAL
+                    {
+                    mDECIMAL_LITERAL(); 
 
-                }
+                    }
                     break;
                 case 2 :
-                    // D:\\workspace\\jboss\\jbossrules\\drools-compiler\\src\\main\\resources\\org\\drools\\semantics\\java\\parser\\JavaParser.g:1091:7: HEX_LITERAL
-                {
-                    mHEX_LITERAL();
+                    // C:\\dev\\jbossrules\\trunk3\\drools-compiler\\src\\main\\resources\\org\\drools\\semantics\\java\\parser\\JavaParser.g:1091:7: HEX_LITERAL
+                    {
+                    mHEX_LITERAL(); 
 
-                }
+                    }
                     break;
                 case 3 :
-                    // D:\\workspace\\jboss\\jbossrules\\drools-compiler\\src\\main\\resources\\org\\drools\\semantics\\java\\parser\\JavaParser.g:1092:7: OCTAL_LITERAL
-                {
-                    mOCTAL_LITERAL();
+                    // C:\\dev\\jbossrules\\trunk3\\drools-compiler\\src\\main\\resources\\org\\drools\\semantics\\java\\parser\\JavaParser.g:1092:7: OCTAL_LITERAL
+                    {
+                    mOCTAL_LITERAL(); 
 
-                }
+                    }
                     break;
 
             }
-
-            if ( this.token == null && this.ruleNestingLevel == 1 ) {
-                emit( _type,
-                      _line,
-                      _charPosition,
-                      _channel,
-                      _start,
-                      getCharIndex() - 1 );
-            }
-
-        } finally {
-            this.ruleNestingLevel--;
+            this.type = _type;
         }
+        finally {
+        }
     }
-
     // $ANTLR end NUM_INT
 
     // $ANTLR start DECIMAL_LITERAL
-    public void mDECIMAL_LITERAL() throws RecognitionException {
+    public final void mDECIMAL_LITERAL() throws RecognitionException {
         try {
-            this.ruleNestingLevel++;
-            // D:\\workspace\\jboss\\jbossrules\\drools-compiler\\src\\main\\resources\\org\\drools\\semantics\\java\\parser\\JavaParser.g:1096:18: ( '1' .. '9' ( '0' .. '9' )* ( ('l'|'L'))? )
-            // D:\\workspace\\jboss\\jbossrules\\drools-compiler\\src\\main\\resources\\org\\drools\\semantics\\java\\parser\\JavaParser.g:1096:18: '1' .. '9' ( '0' .. '9' )* ( ('l'|'L'))?
+            // C:\\dev\\jbossrules\\trunk3\\drools-compiler\\src\\main\\resources\\org\\drools\\semantics\\java\\parser\\JavaParser.g:1096:18: ( '1' .. '9' ( '0' .. '9' )* ( 'l' | 'L' )? )
+            // C:\\dev\\jbossrules\\trunk3\\drools-compiler\\src\\main\\resources\\org\\drools\\semantics\\java\\parser\\JavaParser.g:1096:18: '1' .. '9' ( '0' .. '9' )* ( 'l' | 'L' )?
             {
-                matchRange( '1',
-                            '9' );
-                // D:\\workspace\\jboss\\jbossrules\\drools-compiler\\src\\main\\resources\\org\\drools\\semantics\\java\\parser\\JavaParser.g:1096:27: ( '0' .. '9' )*
-                loop8 : do {
-                    int alt8 = 2;
-                    final int LA8_0 = this.input.LA( 1 );
-                    if ( ((LA8_0 >= '0' && LA8_0 <= '9')) ) {
-                        alt8 = 1;
-                    }
+            matchRange('1','9'); 
+            // C:\\dev\\jbossrules\\trunk3\\drools-compiler\\src\\main\\resources\\org\\drools\\semantics\\java\\parser\\JavaParser.g:1096:27: ( '0' .. '9' )*
+            loop8:
+            do {
+                int alt8=2;
+                int LA8_0 = input.LA(1);
 
-                    switch ( alt8 ) {
-                        case 1 :
-                            // D:\\workspace\\jboss\\jbossrules\\drools-compiler\\src\\main\\resources\\org\\drools\\semantics\\java\\parser\\JavaParser.g:1096:28: '0' .. '9'
-                        {
-                            matchRange( '0',
-                                        '9' );
+                if ( ((LA8_0>='0' && LA8_0<='9')) ) {
+                    alt8=1;
+                }
 
-                        }
-                            break;
 
-                        default :
-                            break loop8;
-                    }
-                } while ( true );
+                switch (alt8) {
+            	case 1 :
+            	    // C:\\dev\\jbossrules\\trunk3\\drools-compiler\\src\\main\\resources\\org\\drools\\semantics\\java\\parser\\JavaParser.g:1096:28: '0' .. '9'
+            	    {
+            	    matchRange('0','9'); 
 
-                // D:\\workspace\\jboss\\jbossrules\\drools-compiler\\src\\main\\resources\\org\\drools\\semantics\\java\\parser\\JavaParser.g:1096:39: ( ('l'|'L'))?
-                int alt9 = 2;
-                final int LA9_0 = this.input.LA( 1 );
-                if ( (LA9_0 == 'L' || LA9_0 == 'l') ) {
-                    alt9 = 1;
+            	    }
+            	    break;
+
+            	default :
+            	    break loop8;
                 }
-                switch ( alt9 ) {
-                    case 1 :
-                        // D:\\workspace\\jboss\\jbossrules\\drools-compiler\\src\\main\\resources\\org\\drools\\semantics\\java\\parser\\JavaParser.g:1096:40: ('l'|'L')
+            } while (true);
+
+            // C:\\dev\\jbossrules\\trunk3\\drools-compiler\\src\\main\\resources\\org\\drools\\semantics\\java\\parser\\JavaParser.g:1096:39: ( 'l' | 'L' )?
+            int alt9=2;
+            int LA9_0 = input.LA(1);
+
+            if ( (LA9_0=='L'||LA9_0=='l') ) {
+                alt9=1;
+            }
+            switch (alt9) {
+                case 1 :
+                    // C:\\dev\\jbossrules\\trunk3\\drools-compiler\\src\\main\\resources\\org\\drools\\semantics\\java\\parser\\JavaParser.g:
                     {
-                        if ( this.input.LA( 1 ) == 'L' || this.input.LA( 1 ) == 'l' ) {
-                            this.input.consume();
+                    if ( input.LA(1)=='L'||input.LA(1)=='l' ) {
+                        input.consume();
 
-                        } else {
-                            final MismatchedSetException mse = new MismatchedSetException( null,
-                                                                                     this.input );
-                            recover( mse );
-                            throw mse;
-                        }
+                    }
+                    else {
+                        MismatchedSetException mse =
+                            new MismatchedSetException(null,input);
+                        recover(mse);    throw mse;
+                    }
 
+
                     }
-                        break;
+                    break;
 
-                }
+            }
 
+
             }
 
-        } finally {
-            this.ruleNestingLevel--;
         }
+        finally {
+        }
     }
-
     // $ANTLR end DECIMAL_LITERAL
 
     // $ANTLR start HEX_LITERAL
-    public void mHEX_LITERAL() throws RecognitionException {
+    public final void mHEX_LITERAL() throws RecognitionException {
         try {
-            this.ruleNestingLevel++;
-            // D:\\workspace\\jboss\\jbossrules\\drools-compiler\\src\\main\\resources\\org\\drools\\semantics\\java\\parser\\JavaParser.g:1099:14: ( '0' ('x'|'X') ( ('0'..'9'|'a'..'f'|'A'..'F'))+ ( ('l'|'L'))? )
-            // D:\\workspace\\jboss\\jbossrules\\drools-compiler\\src\\main\\resources\\org\\drools\\semantics\\java\\parser\\JavaParser.g:1099:14: '0' ('x'|'X') ( ('0'..'9'|'a'..'f'|'A'..'F'))+ ( ('l'|'L'))?
+            // C:\\dev\\jbossrules\\trunk3\\drools-compiler\\src\\main\\resources\\org\\drools\\semantics\\java\\parser\\JavaParser.g:1099:14: ( '0' ( 'x' | 'X' ) ( '0' .. '9' | 'a' .. 'f' | 'A' .. 'F' )+ ( 'l' | 'L' )? )
+            // C:\\dev\\jbossrules\\trunk3\\drools-compiler\\src\\main\\resources\\org\\drools\\semantics\\java\\parser\\JavaParser.g:1099:14: '0' ( 'x' | 'X' ) ( '0' .. '9' | 'a' .. 'f' | 'A' .. 'F' )+ ( 'l' | 'L' )?
             {
-                match( '0' );
-                if ( this.input.LA( 1 ) == 'X' || this.input.LA( 1 ) == 'x' ) {
-                    this.input.consume();
+            match('0'); 
+            if ( input.LA(1)=='X'||input.LA(1)=='x' ) {
+                input.consume();
 
-                } else {
-                    final MismatchedSetException mse = new MismatchedSetException( null,
-                                                                             this.input );
-                    recover( mse );
-                    throw mse;
+            }
+            else {
+                MismatchedSetException mse =
+                    new MismatchedSetException(null,input);
+                recover(mse);    throw mse;
+            }
+
+            // C:\\dev\\jbossrules\\trunk3\\drools-compiler\\src\\main\\resources\\org\\drools\\semantics\\java\\parser\\JavaParser.g:1099:28: ( '0' .. '9' | 'a' .. 'f' | 'A' .. 'F' )+
+            int cnt10=0;
+            loop10:
+            do {
+                int alt10=2;
+                int LA10_0 = input.LA(1);
+
+                if ( ((LA10_0>='0' && LA10_0<='9')||(LA10_0>='A' && LA10_0<='F')||(LA10_0>='a' && LA10_0<='f')) ) {
+                    alt10=1;
                 }
 
-                // D:\\workspace\\jboss\\jbossrules\\drools-compiler\\src\\main\\resources\\org\\drools\\semantics\\java\\parser\\JavaParser.g:1099:28: ( ('0'..'9'|'a'..'f'|'A'..'F'))+
-                int cnt10 = 0;
-                loop10 : do {
-                    int alt10 = 2;
-                    final int LA10_0 = this.input.LA( 1 );
-                    if ( ((LA10_0 >= '0' && LA10_0 <= '9') || (LA10_0 >= 'A' && LA10_0 <= 'F') || (LA10_0 >= 'a' && LA10_0 <= 'f')) ) {
-                        alt10 = 1;
-                    }
 
-                    switch ( alt10 ) {
-                        case 1 :
-                            // D:\\workspace\\jboss\\jbossrules\\drools-compiler\\src\\main\\resources\\org\\drools\\semantics\\java\\parser\\JavaParser.g:1099:29: ('0'..'9'|'a'..'f'|'A'..'F')
-                        {
-                            if ( (this.input.LA( 1 ) >= '0' && this.input.LA( 1 ) <= '9') || (this.input.LA( 1 ) >= 'A' && this.input.LA( 1 ) <= 'F') || (this.input.LA( 1 ) >= 'a' && this.input.LA( 1 ) <= 'f') ) {
-                                this.input.consume();
+                switch (alt10) {
+            	case 1 :
+            	    // C:\\dev\\jbossrules\\trunk3\\drools-compiler\\src\\main\\resources\\org\\drools\\semantics\\java\\parser\\JavaParser.g:
+            	    {
+            	    if ( (input.LA(1)>='0' && input.LA(1)<='9')||(input.LA(1)>='A' && input.LA(1)<='F')||(input.LA(1)>='a' && input.LA(1)<='f') ) {
+            	        input.consume();
 
-                            } else {
-                                final MismatchedSetException mse = new MismatchedSetException( null,
-                                                                                         this.input );
-                                recover( mse );
-                                throw mse;
-                            }
+            	    }
+            	    else {
+            	        MismatchedSetException mse =
+            	            new MismatchedSetException(null,input);
+            	        recover(mse);    throw mse;
+            	    }
 
-                        }
-                            break;
 
-                        default :
-                            if ( cnt10 >= 1 ) {
-                                break loop10;
-                            }
-                            final EarlyExitException eee = new EarlyExitException( 10,
-                                                                             this.input );
-                            throw eee;
-                    }
-                    cnt10++;
-                } while ( true );
+            	    }
+            	    break;
 
-                // D:\\workspace\\jboss\\jbossrules\\drools-compiler\\src\\main\\resources\\org\\drools\\semantics\\java\\parser\\JavaParser.g:1099:58: ( ('l'|'L'))?
-                int alt11 = 2;
-                final int LA11_0 = this.input.LA( 1 );
-                if ( (LA11_0 == 'L' || LA11_0 == 'l') ) {
-                    alt11 = 1;
+            	default :
+            	    if ( cnt10 >= 1 ) break loop10;
+                        EarlyExitException eee =
+                            new EarlyExitException(10, input);
+                        throw eee;
                 }
-                switch ( alt11 ) {
-                    case 1 :
-                        // D:\\workspace\\jboss\\jbossrules\\drools-compiler\\src\\main\\resources\\org\\drools\\semantics\\java\\parser\\JavaParser.g:1099:59: ('l'|'L')
+                cnt10++;
+            } while (true);
+
+            // C:\\dev\\jbossrules\\trunk3\\drools-compiler\\src\\main\\resources\\org\\drools\\semantics\\java\\parser\\JavaParser.g:1099:58: ( 'l' | 'L' )?
+            int alt11=2;
+            int LA11_0 = input.LA(1);
+
+            if ( (LA11_0=='L'||LA11_0=='l') ) {
+                alt11=1;
+            }
+            switch (alt11) {
+                case 1 :
+                    // C:\\dev\\jbossrules\\trunk3\\drools-compiler\\src\\main\\resources\\org\\drools\\semantics\\java\\parser\\JavaParser.g:
                     {
-                        if ( this.input.LA( 1 ) == 'L' || this.input.LA( 1 ) == 'l' ) {
-                            this.input.consume();
+                    if ( input.LA(1)=='L'||input.LA(1)=='l' ) {
+                        input.consume();
 
-                        } else {
-                            final MismatchedSetException mse = new MismatchedSetException( null,
-                                                                                     this.input );
-                            recover( mse );
-                            throw mse;
-                        }
+                    }
+                    else {
+                        MismatchedSetException mse =
+                            new MismatchedSetException(null,input);
+                        recover(mse);    throw mse;
+                    }
 
+
                     }
-                        break;
+                    break;
 
-                }
+            }
 
+
             }
 
-        } finally {
-            this.ruleNestingLevel--;
         }
+        finally {
+        }
     }
-
     // $ANTLR end HEX_LITERAL
 
     // $ANTLR start OCTAL_LITERAL
-    public void mOCTAL_LITERAL() throws RecognitionException {
+    public final void mOCTAL_LITERAL() throws RecognitionException {
         try {
-            this.ruleNestingLevel++;
-            // D:\\workspace\\jboss\\jbossrules\\drools-compiler\\src\\main\\resources\\org\\drools\\semantics\\java\\parser\\JavaParser.g:1102:16: ( '0' ( '0' .. '7' )* ( ('l'|'L'))? )
-            // D:\\workspace\\jboss\\jbossrules\\drools-compiler\\src\\main\\resources\\org\\drools\\semantics\\java\\parser\\JavaParser.g:1102:16: '0' ( '0' .. '7' )* ( ('l'|'L'))?
+            // C:\\dev\\jbossrules\\trunk3\\drools-compiler\\src\\main\\resources\\org\\drools\\semantics\\java\\parser\\JavaParser.g:1102:16: ( '0' ( '0' .. '7' )* ( 'l' | 'L' )? )
+            // C:\\dev\\jbossrules\\trunk3\\drools-compiler\\src\\main\\resources\\org\\drools\\semantics\\java\\parser\\JavaParser.g:1102:16: '0' ( '0' .. '7' )* ( 'l' | 'L' )?
             {
-                match( '0' );
-                // D:\\workspace\\jboss\\jbossrules\\drools-compiler\\src\\main\\resources\\org\\drools\\semantics\\java\\parser\\JavaParser.g:1102:20: ( '0' .. '7' )*
-                loop12 : do {
-                    int alt12 = 2;
-                    final int LA12_0 = this.input.LA( 1 );
-                    if ( ((LA12_0 >= '0' && LA12_0 <= '7')) ) {
-                        alt12 = 1;
-                    }
+            match('0'); 
+            // C:\\dev\\jbossrules\\trunk3\\drools-compiler\\src\\main\\resources\\org\\drools\\semantics\\java\\parser\\JavaParser.g:1102:20: ( '0' .. '7' )*
+            loop12:
+            do {
+                int alt12=2;
+                int LA12_0 = input.LA(1);
 
-                    switch ( alt12 ) {
-                        case 1 :
-                            // D:\\workspace\\jboss\\jbossrules\\drools-compiler\\src\\main\\resources\\org\\drools\\semantics\\java\\parser\\JavaParser.g:1102:21: '0' .. '7'
-                        {
-                            matchRange( '0',
-                                        '7' );
+                if ( ((LA12_0>='0' && LA12_0<='7')) ) {
+                    alt12=1;
+                }
 
-                        }
-                            break;
 
-                        default :
-                            break loop12;
-                    }
-                } while ( true );
+                switch (alt12) {
+            	case 1 :
+            	    // C:\\dev\\jbossrules\\trunk3\\drools-compiler\\src\\main\\resources\\org\\drools\\semantics\\java\\parser\\JavaParser.g:1102:21: '0' .. '7'
+            	    {
+            	    matchRange('0','7'); 
 
-                // D:\\workspace\\jboss\\jbossrules\\drools-compiler\\src\\main\\resources\\org\\drools\\semantics\\java\\parser\\JavaParser.g:1102:32: ( ('l'|'L'))?
-                int alt13 = 2;
-                final int LA13_0 = this.input.LA( 1 );
-                if ( (LA13_0 == 'L' || LA13_0 == 'l') ) {
-                    alt13 = 1;
+            	    }
+            	    break;
+
+            	default :
+            	    break loop12;
                 }
-                switch ( alt13 ) {
-                    case 1 :
-                        // D:\\workspace\\jboss\\jbossrules\\drools-compiler\\src\\main\\resources\\org\\drools\\semantics\\java\\parser\\JavaParser.g:1102:33: ('l'|'L')
+            } while (true);
+
+            // C:\\dev\\jbossrules\\trunk3\\drools-compiler\\src\\main\\resources\\org\\drools\\semantics\\java\\parser\\JavaParser.g:1102:32: ( 'l' | 'L' )?
+            int alt13=2;
+            int LA13_0 = input.LA(1);
+
+            if ( (LA13_0=='L'||LA13_0=='l') ) {
+                alt13=1;
+            }
+            switch (alt13) {
+                case 1 :
+                    // C:\\dev\\jbossrules\\trunk3\\drools-compiler\\src\\main\\resources\\org\\drools\\semantics\\java\\parser\\JavaParser.g:
                     {
-                        if ( this.input.LA( 1 ) == 'L' || this.input.LA( 1 ) == 'l' ) {
-                            this.input.consume();
+                    if ( input.LA(1)=='L'||input.LA(1)=='l' ) {
+                        input.consume();
 
-                        } else {
-                            final MismatchedSetException mse = new MismatchedSetException( null,
-                                                                                     this.input );
-                            recover( mse );
-                            throw mse;
-                        }
+                    }
+                    else {
+                        MismatchedSetException mse =
+                            new MismatchedSetException(null,input);
+                        recover(mse);    throw mse;
+                    }
 
+
                     }
-                        break;
+                    break;
 
-                }
+            }
 
+
             }
 
-        } finally {
-            this.ruleNestingLevel--;
         }
+        finally {
+        }
     }
-
     // $ANTLR end OCTAL_LITERAL
 
     // $ANTLR start NUM_FLOAT
-    public void mNUM_FLOAT() throws RecognitionException {
+    public final void mNUM_FLOAT() throws RecognitionException {
         try {
-            this.ruleNestingLevel++;
-            final int _type = NUM_FLOAT;
-            final int _start = getCharIndex();
-            final int _line = getLine();
-            final int _charPosition = getCharPositionInLine();
-            final int _channel = Token.DEFAULT_CHANNEL;
-            // D:\\workspace\\jboss\\jbossrules\\drools-compiler\\src\\main\\resources\\org\\drools\\semantics\\java\\parser\\JavaParser.g:1105:11: ( DIGITS '.' ( DIGITS )? ( EXPONENT_PART )? ( FLOAT_TYPE_SUFFIX )? | '.' DIGITS ( EXPONENT_PART )? ( FLOAT_TYPE_SUFFIX )? | DIGITS EXPONENT_PART FLOAT_TYPE_SUFFIX | DIGITS EXPONENT_PART | DIGITS FLOAT_TYPE_SUFFIX )
-            int alt19 = 5;
-            alt19 = this.dfa19.predict( this.input );
-            switch ( alt19 ) {
+            int _type = NUM_FLOAT;
+            // C:\\dev\\jbossrules\\trunk3\\drools-compiler\\src\\main\\resources\\org\\drools\\semantics\\java\\parser\\JavaParser.g:1105:11: ( DIGITS '.' ( DIGITS )? ( EXPONENT_PART )? ( FLOAT_TYPE_SUFFIX )? | '.' DIGITS ( EXPONENT_PART )? ( FLOAT_TYPE_SUFFIX )? | DIGITS EXPONENT_PART FLOAT_TYPE_SUFFIX | DIGITS EXPONENT_PART | DIGITS FLOAT_TYPE_SUFFIX )
+            int alt19=5;
+            alt19 = dfa19.predict(input);
+            switch (alt19) {
                 case 1 :
-                    // D:\\workspace\\jboss\\jbossrules\\drools-compiler\\src\\main\\resources\\org\\drools\\semantics\\java\\parser\\JavaParser.g:1105:11: DIGITS '.' ( DIGITS )? ( EXPONENT_PART )? ( FLOAT_TYPE_SUFFIX )?
-                {
-                    mDIGITS();
-                    match( '.' );
-                    // D:\\workspace\\jboss\\jbossrules\\drools-compiler\\src\\main\\resources\\org\\drools\\semantics\\java\\parser\\JavaParser.g:1105:22: ( DIGITS )?
-                    int alt14 = 2;
-                    final int LA14_0 = this.input.LA( 1 );
-                    if ( ((LA14_0 >= '0' && LA14_0 <= '9')) ) {
-                        alt14 = 1;
+                    // C:\\dev\\jbossrules\\trunk3\\drools-compiler\\src\\main\\resources\\org\\drools\\semantics\\java\\parser\\JavaParser.g:1105:11: DIGITS '.' ( DIGITS )? ( EXPONENT_PART )? ( FLOAT_TYPE_SUFFIX )?
+                    {
+                    mDIGITS(); 
+                    match('.'); 
+                    // C:\\dev\\jbossrules\\trunk3\\drools-compiler\\src\\main\\resources\\org\\drools\\semantics\\java\\parser\\JavaParser.g:1105:22: ( DIGITS )?
+                    int alt14=2;
+                    int LA14_0 = input.LA(1);
+
+                    if ( ((LA14_0>='0' && LA14_0<='9')) ) {
+                        alt14=1;
                     }
-                    switch ( alt14 ) {
+                    switch (alt14) {
                         case 1 :
-                            // D:\\workspace\\jboss\\jbossrules\\drools-compiler\\src\\main\\resources\\org\\drools\\semantics\\java\\parser\\JavaParser.g:1105:23: DIGITS
-                        {
-                            mDIGITS();
+                            // C:\\dev\\jbossrules\\trunk3\\drools-compiler\\src\\main\\resources\\org\\drools\\semantics\\java\\parser\\JavaParser.g:1105:23: DIGITS
+                            {
+                            mDIGITS(); 
 
-                        }
+                            }
                             break;
 
                     }
 
-                    // D:\\workspace\\jboss\\jbossrules\\drools-compiler\\src\\main\\resources\\org\\drools\\semantics\\java\\parser\\JavaParser.g:1105:32: ( EXPONENT_PART )?
-                    int alt15 = 2;
-                    final int LA15_0 = this.input.LA( 1 );
-                    if ( (LA15_0 == 'E' || LA15_0 == 'e') ) {
-                        alt15 = 1;
+                    // C:\\dev\\jbossrules\\trunk3\\drools-compiler\\src\\main\\resources\\org\\drools\\semantics\\java\\parser\\JavaParser.g:1105:32: ( EXPONENT_PART )?
+                    int alt15=2;
+                    int LA15_0 = input.LA(1);
+
+                    if ( (LA15_0=='E'||LA15_0=='e') ) {
+                        alt15=1;
                     }
-                    switch ( alt15 ) {
+                    switch (alt15) {
                         case 1 :
-                            // D:\\workspace\\jboss\\jbossrules\\drools-compiler\\src\\main\\resources\\org\\drools\\semantics\\java\\parser\\JavaParser.g:1105:33: EXPONENT_PART
-                        {
-                            mEXPONENT_PART();
+                            // C:\\dev\\jbossrules\\trunk3\\drools-compiler\\src\\main\\resources\\org\\drools\\semantics\\java\\parser\\JavaParser.g:1105:33: EXPONENT_PART
+                            {
+                            mEXPONENT_PART(); 
 
-                        }
+                            }
                             break;
 
                     }
 
-                    // D:\\workspace\\jboss\\jbossrules\\drools-compiler\\src\\main\\resources\\org\\drools\\semantics\\java\\parser\\JavaParser.g:1105:49: ( FLOAT_TYPE_SUFFIX )?
-                    int alt16 = 2;
-                    final int LA16_0 = this.input.LA( 1 );
-                    if ( (LA16_0 == 'D' || LA16_0 == 'F' || LA16_0 == 'd' || LA16_0 == 'f') ) {
-                        alt16 = 1;
+                    // C:\\dev\\jbossrules\\trunk3\\drools-compiler\\src\\main\\resources\\org\\drools\\semantics\\java\\parser\\JavaParser.g:1105:49: ( FLOAT_TYPE_SUFFIX )?
+                    int alt16=2;
+                    int LA16_0 = input.LA(1);
+
+                    if ( (LA16_0=='D'||LA16_0=='F'||LA16_0=='d'||LA16_0=='f') ) {
+                        alt16=1;
                     }
-                    switch ( alt16 ) {
+                    switch (alt16) {
                         case 1 :
-                            // D:\\workspace\\jboss\\jbossrules\\drools-compiler\\src\\main\\resources\\org\\drools\\semantics\\java\\parser\\JavaParser.g:1105:50: FLOAT_TYPE_SUFFIX
-                        {
-                            mFLOAT_TYPE_SUFFIX();
+                            // C:\\dev\\jbossrules\\trunk3\\drools-compiler\\src\\main\\resources\\org\\drools\\semantics\\java\\parser\\JavaParser.g:1105:50: FLOAT_TYPE_SUFFIX
+                            {
+                            mFLOAT_TYPE_SUFFIX(); 
 
-                        }
+                            }
                             break;
 
                     }
 
-                }
+
+                    }
                     break;
                 case 2 :
-                    // D:\\workspace\\jboss\\jbossrules\\drools-compiler\\src\\main\\resources\\org\\drools\\semantics\\java\\parser\\JavaParser.g:1106:7: '.' DIGITS ( EXPONENT_PART )? ( FLOAT_TYPE_SUFFIX )?
-                {
-                    match( '.' );
-                    mDIGITS();
-                    // D:\\workspace\\jboss\\jbossrules\\drools-compiler\\src\\main\\resources\\org\\drools\\semantics\\java\\parser\\JavaParser.g:1106:18: ( EXPONENT_PART )?
-                    int alt17 = 2;
-                    final int LA17_0 = this.input.LA( 1 );
-                    if ( (LA17_0 == 'E' || LA17_0 == 'e') ) {
-                        alt17 = 1;
+                    // C:\\dev\\jbossrules\\trunk3\\drools-compiler\\src\\main\\resources\\org\\drools\\semantics\\java\\parser\\JavaParser.g:1106:7: '.' DIGITS ( EXPONENT_PART )? ( FLOAT_TYPE_SUFFIX )?
+                    {
+                    match('.'); 
+                    mDIGITS(); 
+                    // C:\\dev\\jbossrules\\trunk3\\drools-compiler\\src\\main\\resources\\org\\drools\\semantics\\java\\parser\\JavaParser.g:1106:18: ( EXPONENT_PART )?
+                    int alt17=2;
+                    int LA17_0 = input.LA(1);
+
+                    if ( (LA17_0=='E'||LA17_0=='e') ) {
+                        alt17=1;
                     }
-                    switch ( alt17 ) {
+                    switch (alt17) {
                         case 1 :
-                            // D:\\workspace\\jboss\\jbossrules\\drools-compiler\\src\\main\\resources\\org\\drools\\semantics\\java\\parser\\JavaParser.g:1106:19: EXPONENT_PART
-                        {
-                            mEXPONENT_PART();
+                            // C:\\dev\\jbossrules\\trunk3\\drools-compiler\\src\\main\\resources\\org\\drools\\semantics\\java\\parser\\JavaParser.g:1106:19: EXPONENT_PART
+                            {
+                            mEXPONENT_PART(); 
 
-                        }
+                            }
                             break;
 
                     }
 
-                    // D:\\workspace\\jboss\\jbossrules\\drools-compiler\\src\\main\\resources\\org\\drools\\semantics\\java\\parser\\JavaParser.g:1106:35: ( FLOAT_TYPE_SUFFIX )?
-                    int alt18 = 2;
-                    final int LA18_0 = this.input.LA( 1 );
-                    if ( (LA18_0 == 'D' || LA18_0 == 'F' || LA18_0 == 'd' || LA18_0 == 'f') ) {
-                        alt18 = 1;
+                    // C:\\dev\\jbossrules\\trunk3\\drools-compiler\\src\\main\\resources\\org\\drools\\semantics\\java\\parser\\JavaParser.g:1106:35: ( FLOAT_TYPE_SUFFIX )?
+                    int alt18=2;
+                    int LA18_0 = input.LA(1);
+
+                    if ( (LA18_0=='D'||LA18_0=='F'||LA18_0=='d'||LA18_0=='f') ) {
+                        alt18=1;
                     }
-                    switch ( alt18 ) {
+                    switch (alt18) {
                         case 1 :
-                            // D:\\workspace\\jboss\\jbossrules\\drools-compiler\\src\\main\\resources\\org\\drools\\semantics\\java\\parser\\JavaParser.g:1106:36: FLOAT_TYPE_SUFFIX
-                        {
-                            mFLOAT_TYPE_SUFFIX();
+                            // C:\\dev\\jbossrules\\trunk3\\drools-compiler\\src\\main\\resources\\org\\drools\\semantics\\java\\parser\\JavaParser.g:1106:36: FLOAT_TYPE_SUFFIX
+                            {
+                            mFLOAT_TYPE_SUFFIX(); 
 
-                        }
+                            }
                             break;
 
                     }
 
-                }
+
+                    }
                     break;
                 case 3 :
-                    // D:\\workspace\\jboss\\jbossrules\\drools-compiler\\src\\main\\resources\\org\\drools\\semantics\\java\\parser\\JavaParser.g:1107:11: DIGITS EXPONENT_PART FLOAT_TYPE_SUFFIX
-                {
-                    mDIGITS();
-                    mEXPONENT_PART();
-                    mFLOAT_TYPE_SUFFIX();
+                    // C:\\dev\\jbossrules\\trunk3\\drools-compiler\\src\\main\\resources\\org\\drools\\semantics\\java\\parser\\JavaParser.g:1107:11: DIGITS EXPONENT_PART FLOAT_TYPE_SUFFIX
+                    {
+                    mDIGITS(); 
+                    mEXPONENT_PART(); 
+                    mFLOAT_TYPE_SUFFIX(); 
 
-                }
+                    }
                     break;
                 case 4 :
-                    // D:\\workspace\\jboss\\jbossrules\\drools-compiler\\src\\main\\resources\\org\\drools\\semantics\\java\\parser\\JavaParser.g:1108:11: DIGITS EXPONENT_PART
-                {
-                    mDIGITS();
-                    mEXPONENT_PART();
+                    // C:\\dev\\jbossrules\\trunk3\\drools-compiler\\src\\main\\resources\\org\\drools\\semantics\\java\\parser\\JavaParser.g:1108:11: DIGITS EXPONENT_PART
+                    {
+                    mDIGITS(); 
+                    mEXPONENT_PART(); 
 
-                }
+                    }
                     break;
                 case 5 :
-                    // D:\\workspace\\jboss\\jbossrules\\drools-compiler\\src\\main\\resources\\org\\drools\\semantics\\java\\parser\\JavaParser.g:1109:11: DIGITS FLOAT_TYPE_SUFFIX
-                {
-                    mDIGITS();
-                    mFLOAT_TYPE_SUFFIX();
+                    // C:\\dev\\jbossrules\\trunk3\\drools-compiler\\src\\main\\resources\\org\\drools\\semantics\\java\\parser\\JavaParser.g:1109:11: DIGITS FLOAT_TYPE_SUFFIX
+                    {
+                    mDIGITS(); 
+                    mFLOAT_TYPE_SUFFIX(); 
 
-                }
+                    }
                     break;
 
             }
-
-            if ( this.token == null && this.ruleNestingLevel == 1 ) {
-                emit( _type,
-                      _line,
-                      _charPosition,
-                      _channel,
-                      _start,
-                      getCharIndex() - 1 );
-            }
-
-        } finally {
-            this.ruleNestingLevel--;
+            this.type = _type;
         }
+        finally {
+        }
     }
-
     // $ANTLR end NUM_FLOAT
 
     // $ANTLR start DIGITS
-    public void mDIGITS() throws RecognitionException {
+    public final void mDIGITS() throws RecognitionException {
         try {
-            this.ruleNestingLevel++;
-            // D:\\workspace\\jboss\\jbossrules\\drools-compiler\\src\\main\\resources\\org\\drools\\semantics\\java\\parser\\JavaParser.g:1114:10: ( ( '0' .. '9' )+ )
-            // D:\\workspace\\jboss\\jbossrules\\drools-compiler\\src\\main\\resources\\org\\drools\\semantics\\java\\parser\\JavaParser.g:1114:10: ( '0' .. '9' )+
+            // C:\\dev\\jbossrules\\trunk3\\drools-compiler\\src\\main\\resources\\org\\drools\\semantics\\java\\parser\\JavaParser.g:1114:10: ( ( '0' .. '9' )+ )
+            // C:\\dev\\jbossrules\\trunk3\\drools-compiler\\src\\main\\resources\\org\\drools\\semantics\\java\\parser\\JavaParser.g:1114:10: ( '0' .. '9' )+
             {
-                // D:\\workspace\\jboss\\jbossrules\\drools-compiler\\src\\main\\resources\\org\\drools\\semantics\\java\\parser\\JavaParser.g:1114:10: ( '0' .. '9' )+
-                int cnt20 = 0;
-                loop20 : do {
-                    int alt20 = 2;
-                    final int LA20_0 = this.input.LA( 1 );
-                    if ( ((LA20_0 >= '0' && LA20_0 <= '9')) ) {
-                        alt20 = 1;
-                    }
+            // C:\\dev\\jbossrules\\trunk3\\drools-compiler\\src\\main\\resources\\org\\drools\\semantics\\java\\parser\\JavaParser.g:1114:10: ( '0' .. '9' )+
+            int cnt20=0;
+            loop20:
+            do {
+                int alt20=2;
+                int LA20_0 = input.LA(1);
 
-                    switch ( alt20 ) {
-                        case 1 :
-                            // D:\\workspace\\jboss\\jbossrules\\drools-compiler\\src\\main\\resources\\org\\drools\\semantics\\java\\parser\\JavaParser.g:1114:11: '0' .. '9'
-                        {
-                            matchRange( '0',
-                                        '9' );
+                if ( ((LA20_0>='0' && LA20_0<='9')) ) {
+                    alt20=1;
+                }
 
-                        }
-                            break;
 
-                        default :
-                            if ( cnt20 >= 1 ) {
-                                break loop20;
-                            }
-                            final EarlyExitException eee = new EarlyExitException( 20,
-                                                                             this.input );
-                            throw eee;
-                    }
-                    cnt20++;
-                } while ( true );
+                switch (alt20) {
+            	case 1 :
+            	    // C:\\dev\\jbossrules\\trunk3\\drools-compiler\\src\\main\\resources\\org\\drools\\semantics\\java\\parser\\JavaParser.g:1114:11: '0' .. '9'
+            	    {
+            	    matchRange('0','9'); 
 
+            	    }
+            	    break;
+
+            	default :
+            	    if ( cnt20 >= 1 ) break loop20;
+                        EarlyExitException eee =
+                            new EarlyExitException(20, input);
+                        throw eee;
+                }
+                cnt20++;
+            } while (true);
+
+
             }
 
-        } finally {
-            this.ruleNestingLevel--;
         }
+        finally {
+        }
     }
-
     // $ANTLR end DIGITS
 
     // $ANTLR start EXPONENT_PART
-    public void mEXPONENT_PART() throws RecognitionException {
+    public final void mEXPONENT_PART() throws RecognitionException {
         try {
-            this.ruleNestingLevel++;
-            // D:\\workspace\\jboss\\jbossrules\\drools-compiler\\src\\main\\resources\\org\\drools\\semantics\\java\\parser\\JavaParser.g:1122:16: ( ('e'|'E') ( ('+'|'-'))? DIGITS )
-            // D:\\workspace\\jboss\\jbossrules\\drools-compiler\\src\\main\\resources\\org\\drools\\semantics\\java\\parser\\JavaParser.g:1122:16: ('e'|'E') ( ('+'|'-'))? DIGITS
+            // C:\\dev\\jbossrules\\trunk3\\drools-compiler\\src\\main\\resources\\org\\drools\\semantics\\java\\parser\\JavaParser.g:1122:16: ( ( 'e' | 'E' ) ( '+' | '-' )? DIGITS )
+            // C:\\dev\\jbossrules\\trunk3\\drools-compiler\\src\\main\\resources\\org\\drools\\semantics\\java\\parser\\JavaParser.g:1122:16: ( 'e' | 'E' ) ( '+' | '-' )? DIGITS
             {
-                if ( this.input.LA( 1 ) == 'E' || this.input.LA( 1 ) == 'e' ) {
-                    this.input.consume();
+            if ( input.LA(1)=='E'||input.LA(1)=='e' ) {
+                input.consume();
 
-                } else {
-                    final MismatchedSetException mse = new MismatchedSetException( null,
-                                                                             this.input );
-                    recover( mse );
-                    throw mse;
-                }
+            }
+            else {
+                MismatchedSetException mse =
+                    new MismatchedSetException(null,input);
+                recover(mse);    throw mse;
+            }
 
-                // D:\\workspace\\jboss\\jbossrules\\drools-compiler\\src\\main\\resources\\org\\drools\\semantics\\java\\parser\\JavaParser.g:1122:26: ( ('+'|'-'))?
-                int alt21 = 2;
-                final int LA21_0 = this.input.LA( 1 );
-                if ( (LA21_0 == '+' || LA21_0 == '-') ) {
-                    alt21 = 1;
-                }
-                switch ( alt21 ) {
-                    case 1 :
-                        // D:\\workspace\\jboss\\jbossrules\\drools-compiler\\src\\main\\resources\\org\\drools\\semantics\\java\\parser\\JavaParser.g:1122:27: ('+'|'-')
+            // C:\\dev\\jbossrules\\trunk3\\drools-compiler\\src\\main\\resources\\org\\drools\\semantics\\java\\parser\\JavaParser.g:1122:26: ( '+' | '-' )?
+            int alt21=2;
+            int LA21_0 = input.LA(1);
+
+            if ( (LA21_0=='+'||LA21_0=='-') ) {
+                alt21=1;
+            }
+            switch (alt21) {
+                case 1 :
+                    // C:\\dev\\jbossrules\\trunk3\\drools-compiler\\src\\main\\resources\\org\\drools\\semantics\\java\\parser\\JavaParser.g:
                     {
-                        if ( this.input.LA( 1 ) == '+' || this.input.LA( 1 ) == '-' ) {
-                            this.input.consume();
+                    if ( input.LA(1)=='+'||input.LA(1)=='-' ) {
+                        input.consume();
 
-                        } else {
-                            final MismatchedSetException mse = new MismatchedSetException( null,
-                                                                                     this.input );
-                            recover( mse );
-                            throw mse;
-                        }
+                    }
+                    else {
+                        MismatchedSetException mse =
+                            new MismatchedSetException(null,input);
+                        recover(mse);    throw mse;
+                    }
 
+
                     }
-                        break;
+                    break;
 
-                }
+            }
 
-                mDIGITS();
+            mDIGITS(); 
 
             }
 
-        } finally {
-            this.ruleNestingLevel--;
         }
+        finally {
+        }
     }
-
     // $ANTLR end EXPONENT_PART
 
     // $ANTLR start FLOAT_TYPE_SUFFIX
-    public void mFLOAT_TYPE_SUFFIX() throws RecognitionException {
+    public final void mFLOAT_TYPE_SUFFIX() throws RecognitionException {
         try {
-            this.ruleNestingLevel++;
-            // D:\\workspace\\jboss\\jbossrules\\drools-compiler\\src\\main\\resources\\org\\drools\\semantics\\java\\parser\\JavaParser.g:1125:23: ( ('f'|'F'|'d'|'D'))
-            // D:\\workspace\\jboss\\jbossrules\\drools-compiler\\src\\main\\resources\\org\\drools\\semantics\\java\\parser\\JavaParser.g:1125:23: ('f'|'F'|'d'|'D')
+            // C:\\dev\\jbossrules\\trunk3\\drools-compiler\\src\\main\\resources\\org\\drools\\semantics\\java\\parser\\JavaParser.g:1125:23: ( ( 'f' | 'F' | 'd' | 'D' ) )
+            // C:\\dev\\jbossrules\\trunk3\\drools-compiler\\src\\main\\resources\\org\\drools\\semantics\\java\\parser\\JavaParser.g:1125:23: ( 'f' | 'F' | 'd' | 'D' )
             {
-                if ( this.input.LA( 1 ) == 'D' || this.input.LA( 1 ) == 'F' || this.input.LA( 1 ) == 'd' || this.input.LA( 1 ) == 'f' ) {
-                    this.input.consume();
+            if ( input.LA(1)=='D'||input.LA(1)=='F'||input.LA(1)=='d'||input.LA(1)=='f' ) {
+                input.consume();
 
-                } else {
-                    final MismatchedSetException mse = new MismatchedSetException( null,
-                                                                             this.input );
-                    recover( mse );
-                    throw mse;
-                }
+            }
+            else {
+                MismatchedSetException mse =
+                    new MismatchedSetException(null,input);
+                recover(mse);    throw mse;
+            }
 
+
             }
 
-        } finally {
-            this.ruleNestingLevel--;
         }
+        finally {
+        }
     }
-
     // $ANTLR end FLOAT_TYPE_SUFFIX
 
     // $ANTLR start CHAR_LITERAL
-    public void mCHAR_LITERAL() throws RecognitionException {
+    public final void mCHAR_LITERAL() throws RecognitionException {
         try {
-            this.ruleNestingLevel++;
-            final int _type = CHAR_LITERAL;
-            final int _start = getCharIndex();
-            final int _line = getLine();
-            final int _charPosition = getCharPositionInLine();
-            final int _channel = Token.DEFAULT_CHANNEL;
-            // D:\\workspace\\jboss\\jbossrules\\drools-compiler\\src\\main\\resources\\org\\drools\\semantics\\java\\parser\\JavaParser.g:1129:7: ( '\\'' (~ ('\\''|'\\\\') | ESCAPE_SEQUENCE ) '\\'' )
-            // D:\\workspace\\jboss\\jbossrules\\drools-compiler\\src\\main\\resources\\org\\drools\\semantics\\java\\parser\\JavaParser.g:1129:7: '\\'' (~ ('\\''|'\\\\') | ESCAPE_SEQUENCE ) '\\''
+            int _type = CHAR_LITERAL;
+            // C:\\dev\\jbossrules\\trunk3\\drools-compiler\\src\\main\\resources\\org\\drools\\semantics\\java\\parser\\JavaParser.g:1129:7: ( '\\'' (~ ( '\\'' | '\\\\' ) | ESCAPE_SEQUENCE ) '\\'' )
+            // C:\\dev\\jbossrules\\trunk3\\drools-compiler\\src\\main\\resources\\org\\drools\\semantics\\java\\parser\\JavaParser.g:1129:7: '\\'' (~ ( '\\'' | '\\\\' ) | ESCAPE_SEQUENCE ) '\\''
             {
-                match( '\'' );
-                // D:\\workspace\\jboss\\jbossrules\\drools-compiler\\src\\main\\resources\\org\\drools\\semantics\\java\\parser\\JavaParser.g:1130:7: (~ ('\\''|'\\\\') | ESCAPE_SEQUENCE )
-                int alt22 = 2;
-                final int LA22_0 = this.input.LA( 1 );
-                if ( ((LA22_0 >= '\u0000' && LA22_0 <= '&') || (LA22_0 >= '(' && LA22_0 <= '[') || (LA22_0 >= ']' && LA22_0 <= '\uFFFE')) ) {
-                    alt22 = 1;
-                } else if ( (LA22_0 == '\\') ) {
-                    alt22 = 2;
-                } else {
-                    final NoViableAltException nvae = new NoViableAltException( "1130:7: (~ ('\\''|'\\\\') | ESCAPE_SEQUENCE )",
-                                                                          22,
-                                                                          0,
-                                                                          this.input );
+            match('\''); 
+            // C:\\dev\\jbossrules\\trunk3\\drools-compiler\\src\\main\\resources\\org\\drools\\semantics\\java\\parser\\JavaParser.g:1130:7: (~ ( '\\'' | '\\\\' ) | ESCAPE_SEQUENCE )
+            int alt22=2;
+            int LA22_0 = input.LA(1);
 
-                    throw nvae;
-                }
-                switch ( alt22 ) {
-                    case 1 :
-                        // D:\\workspace\\jboss\\jbossrules\\drools-compiler\\src\\main\\resources\\org\\drools\\semantics\\java\\parser\\JavaParser.g:1130:9: ~ ('\\''|'\\\\')
+            if ( ((LA22_0>='\u0000' && LA22_0<='&')||(LA22_0>='(' && LA22_0<='[')||(LA22_0>=']' && LA22_0<='\uFFFE')) ) {
+                alt22=1;
+            }
+            else if ( (LA22_0=='\\') ) {
+                alt22=2;
+            }
+            else {
+                NoViableAltException nvae =
+                    new NoViableAltException("1130:7: (~ ( '\\'' | '\\\\' ) | ESCAPE_SEQUENCE )", 22, 0, input);
+
+                throw nvae;
+            }
+            switch (alt22) {
+                case 1 :
+                    // C:\\dev\\jbossrules\\trunk3\\drools-compiler\\src\\main\\resources\\org\\drools\\semantics\\java\\parser\\JavaParser.g:1130:9: ~ ( '\\'' | '\\\\' )
                     {
-                        if ( (this.input.LA( 1 ) >= '\u0000' && this.input.LA( 1 ) <= '&') || (this.input.LA( 1 ) >= '(' && this.input.LA( 1 ) <= '[') || (this.input.LA( 1 ) >= ']' && this.input.LA( 1 ) <= '\uFFFE') ) {
-                            this.input.consume();
+                    if ( (input.LA(1)>='\u0000' && input.LA(1)<='&')||(input.LA(1)>='(' && input.LA(1)<='[')||(input.LA(1)>=']' && input.LA(1)<='\uFFFE') ) {
+                        input.consume();
 
-                        } else {
-                            final MismatchedSetException mse = new MismatchedSetException( null,
-                                                                                     this.input );
-                            recover( mse );
-                            throw mse;
-                        }
+                    }
+                    else {
+                        MismatchedSetException mse =
+                            new MismatchedSetException(null,input);
+                        recover(mse);    throw mse;
+                    }
 
+
                     }
-                        break;
-                    case 2 :
-                        // D:\\workspace\\jboss\\jbossrules\\drools-compiler\\src\\main\\resources\\org\\drools\\semantics\\java\\parser\\JavaParser.g:1131:9: ESCAPE_SEQUENCE
+                    break;
+                case 2 :
+                    // C:\\dev\\jbossrules\\trunk3\\drools-compiler\\src\\main\\resources\\org\\drools\\semantics\\java\\parser\\JavaParser.g:1131:9: ESCAPE_SEQUENCE
                     {
-                        mESCAPE_SEQUENCE();
+                    mESCAPE_SEQUENCE(); 
 
                     }
-                        break;
+                    break;
 
-                }
+            }
 
-                match( '\'' );
+            match('\''); 
 
             }
 
-            if ( this.token == null && this.ruleNestingLevel == 1 ) {
-                emit( _type,
-                      _line,
-                      _charPosition,
-                      _channel,
-                      _start,
-                      getCharIndex() - 1 );
-            }
-
-        } finally {
-            this.ruleNestingLevel--;
+            this.type = _type;
         }
+        finally {
+        }
     }
-
     // $ANTLR end CHAR_LITERAL
 
     // $ANTLR start STRING_LITERAL
-    public void mSTRING_LITERAL() throws RecognitionException {
+    public final void mSTRING_LITERAL() throws RecognitionException {
         try {
-            this.ruleNestingLevel++;
-            final int _type = STRING_LITERAL;
-            final int _start = getCharIndex();
-            final int _line = getLine();
-            final int _charPosition = getCharPositionInLine();
-            final int _channel = Token.DEFAULT_CHANNEL;
-            // D:\\workspace\\jboss\\jbossrules\\drools-compiler\\src\\main\\resources\\org\\drools\\semantics\\java\\parser\\JavaParser.g:1138:7: ( '\\\"' (~ ('\\\"'|'\\\\') | ESCAPE_SEQUENCE )* '\\\"' )
-            // D:\\workspace\\jboss\\jbossrules\\drools-compiler\\src\\main\\resources\\org\\drools\\semantics\\java\\parser\\JavaParser.g:1138:7: '\\\"' (~ ('\\\"'|'\\\\') | ESCAPE_SEQUENCE )* '\\\"'
+            int _type = STRING_LITERAL;
+            // C:\\dev\\jbossrules\\trunk3\\drools-compiler\\src\\main\\resources\\org\\drools\\semantics\\java\\parser\\JavaParser.g:1138:7: ( '\\\"' (~ ( '\\\"' | '\\\\' ) | ESCAPE_SEQUENCE )* '\\\"' )
+            // C:\\dev\\jbossrules\\trunk3\\drools-compiler\\src\\main\\resources\\org\\drools\\semantics\\java\\parser\\JavaParser.g:1138:7: '\\\"' (~ ( '\\\"' | '\\\\' ) | ESCAPE_SEQUENCE )* '\\\"'
             {
-                match( '\"' );
-                // D:\\workspace\\jboss\\jbossrules\\drools-compiler\\src\\main\\resources\\org\\drools\\semantics\\java\\parser\\JavaParser.g:1139:7: (~ ('\\\"'|'\\\\') | ESCAPE_SEQUENCE )*
-                loop23 : do {
-                    int alt23 = 3;
-                    final int LA23_0 = this.input.LA( 1 );
-                    if ( ((LA23_0 >= '\u0000' && LA23_0 <= '!') || (LA23_0 >= '#' && LA23_0 <= '[') || (LA23_0 >= ']' && LA23_0 <= '\uFFFE')) ) {
-                        alt23 = 1;
-                    } else if ( (LA23_0 == '\\') ) {
-                        alt23 = 2;
-                    }
+            match('\"'); 
+            // C:\\dev\\jbossrules\\trunk3\\drools-compiler\\src\\main\\resources\\org\\drools\\semantics\\java\\parser\\JavaParser.g:1139:7: (~ ( '\\\"' | '\\\\' ) | ESCAPE_SEQUENCE )*
+            loop23:
+            do {
+                int alt23=3;
+                int LA23_0 = input.LA(1);
 
-                    switch ( alt23 ) {
-                        case 1 :
-                            // D:\\workspace\\jboss\\jbossrules\\drools-compiler\\src\\main\\resources\\org\\drools\\semantics\\java\\parser\\JavaParser.g:1139:9: ~ ('\\\"'|'\\\\')
-                        {
-                            if ( (this.input.LA( 1 ) >= '\u0000' && this.input.LA( 1 ) <= '!') || (this.input.LA( 1 ) >= '#' && this.input.LA( 1 ) <= '[') || (this.input.LA( 1 ) >= ']' && this.input.LA( 1 ) <= '\uFFFE') ) {
-                                this.input.consume();
+                if ( ((LA23_0>='\u0000' && LA23_0<='!')||(LA23_0>='#' && LA23_0<='[')||(LA23_0>=']' && LA23_0<='\uFFFE')) ) {
+                    alt23=1;
+                }
+                else if ( (LA23_0=='\\') ) {
+                    alt23=2;
+                }
 
-                            } else {
-                                final MismatchedSetException mse = new MismatchedSetException( null,
-                                                                                         this.input );
-                                recover( mse );
-                                throw mse;
-                            }
 
-                        }
-                            break;
-                        case 2 :
-                            // D:\\workspace\\jboss\\jbossrules\\drools-compiler\\src\\main\\resources\\org\\drools\\semantics\\java\\parser\\JavaParser.g:1140:9: ESCAPE_SEQUENCE
-                        {
-                            mESCAPE_SEQUENCE();
+                switch (alt23) {
+            	case 1 :
+            	    // C:\\dev\\jbossrules\\trunk3\\drools-compiler\\src\\main\\resources\\org\\drools\\semantics\\java\\parser\\JavaParser.g:1139:9: ~ ( '\\\"' | '\\\\' )
+            	    {
+            	    if ( (input.LA(1)>='\u0000' && input.LA(1)<='!')||(input.LA(1)>='#' && input.LA(1)<='[')||(input.LA(1)>=']' && input.LA(1)<='\uFFFE') ) {
+            	        input.consume();
 
-                        }
-                            break;
+            	    }
+            	    else {
+            	        MismatchedSetException mse =
+            	            new MismatchedSetException(null,input);
+            	        recover(mse);    throw mse;
+            	    }
 
-                        default :
-                            break loop23;
-                    }
-                } while ( true );
 
-                match( '\"' );
+            	    }
+            	    break;
+            	case 2 :
+            	    // C:\\dev\\jbossrules\\trunk3\\drools-compiler\\src\\main\\resources\\org\\drools\\semantics\\java\\parser\\JavaParser.g:1140:9: ESCAPE_SEQUENCE
+            	    {
+            	    mESCAPE_SEQUENCE(); 
 
-            }
+            	    }
+            	    break;
 
-            if ( this.token == null && this.ruleNestingLevel == 1 ) {
-                emit( _type,
-                      _line,
-                      _charPosition,
-                      _channel,
-                      _start,
-                      getCharIndex() - 1 );
+            	default :
+            	    break loop23;
+                }
+            } while (true);
+
+            match('\"'); 
+
             }
 
-        } finally {
-            this.ruleNestingLevel--;
+            this.type = _type;
         }
+        finally {
+        }
     }
-
     // $ANTLR end STRING_LITERAL
 
     // $ANTLR start ESCAPE_SEQUENCE
-    public void mESCAPE_SEQUENCE() throws RecognitionException {
+    public final void mESCAPE_SEQUENCE() throws RecognitionException {
         try {
-            this.ruleNestingLevel++;
-            // D:\\workspace\\jboss\\jbossrules\\drools-compiler\\src\\main\\resources\\org\\drools\\semantics\\java\\parser\\JavaParser.g:1147:7: ( '\\\\' 'b' | '\\\\' 't' | '\\\\' 'n' | '\\\\' 'f' | '\\\\' 'r' | '\\\\' '\\\"' | '\\\\' '\\'' | '\\\\' '\\\\' | '\\\\' '0' .. '3' OCTAL_DIGIT OCTAL_DIGIT | '\\\\' OCTAL_DIGIT OCTAL_DIGIT | '\\\\' OCTAL_DIGIT | UNICODE_CHAR )
-            int alt24 = 12;
-            final int LA24_0 = this.input.LA( 1 );
-            if ( (LA24_0 == '\\') ) {
-                switch ( this.input.LA( 2 ) ) {
-                    case 'r' :
-                        alt24 = 5;
-                        break;
-                    case '\\' :
-                        alt24 = 8;
-                        break;
-                    case 't' :
-                        alt24 = 2;
-                        break;
-                    case 'f' :
-                        alt24 = 4;
-                        break;
-                    case '\'' :
-                        alt24 = 7;
-                        break;
-                    case 'u' :
-                        alt24 = 12;
-                        break;
-                    case '0' :
-                    case '1' :
-                    case '2' :
-                    case '3' :
-                        final int LA24_8 = this.input.LA( 3 );
-                        if ( ((LA24_8 >= '0' && LA24_8 <= '7')) ) {
-                            final int LA24_14 = this.input.LA( 4 );
-                            if ( ((LA24_14 >= '0' && LA24_14 <= '7')) ) {
-                                alt24 = 9;
-                            } else {
-                                alt24 = 10;
-                            }
-                        } else {
-                            alt24 = 11;
+            // C:\\dev\\jbossrules\\trunk3\\drools-compiler\\src\\main\\resources\\org\\drools\\semantics\\java\\parser\\JavaParser.g:1147:7: ( '\\\\' 'b' | '\\\\' 't' | '\\\\' 'n' | '\\\\' 'f' | '\\\\' 'r' | '\\\\' '\\\"' | '\\\\' '\\'' | '\\\\' '\\\\' | '\\\\' '0' .. '3' OCTAL_DIGIT OCTAL_DIGIT | '\\\\' OCTAL_DIGIT OCTAL_DIGIT | '\\\\' OCTAL_DIGIT | UNICODE_CHAR )
+            int alt24=12;
+            int LA24_0 = input.LA(1);
+
+            if ( (LA24_0=='\\') ) {
+                switch ( input.LA(2) ) {
+                case '\'':
+                    {
+                    alt24=7;
+                    }
+                    break;
+                case 'u':
+                    {
+                    alt24=12;
+                    }
+                    break;
+                case 'b':
+                    {
+                    alt24=1;
+                    }
+                    break;
+                case '\\':
+                    {
+                    alt24=8;
+                    }
+                    break;
+                case 'r':
+                    {
+                    alt24=5;
+                    }
+                    break;
+                case '0':
+                case '1':
+                case '2':
+                case '3':
+                    {
+                    int LA24_7 = input.LA(3);
+
+                    if ( ((LA24_7>='0' && LA24_7<='7')) ) {
+                        int LA24_14 = input.LA(4);
+
+                        if ( ((LA24_14>='0' && LA24_14<='7')) ) {
+                            alt24=9;
                         }
-                        break;
-                    case 'b' :
-                        alt24 = 1;
-                        break;
-                    case 'n' :
-                        alt24 = 3;
-                        break;
-                    case '\"' :
-                        alt24 = 6;
-                        break;
-                    case '4' :
-                    case '5' :
-                    case '6' :
-                    case '7' :
-                        final int LA24_12 = this.input.LA( 3 );
-                        if ( ((LA24_12 >= '0' && LA24_12 <= '7')) ) {
-                            alt24 = 10;
-                        } else {
-                            alt24 = 11;
-                        }
-                        break;
-                    default :
-                        final NoViableAltException nvae = new NoViableAltException( "1145:1: fragment ESCAPE_SEQUENCE : ( '\\\\' 'b' | '\\\\' 't' | '\\\\' 'n' | '\\\\' 'f' | '\\\\' 'r' | '\\\\' '\\\"' | '\\\\' '\\'' | '\\\\' '\\\\' | '\\\\' '0' .. '3' OCTAL_DIGIT OCTAL_DIGIT | '\\\\' OCTAL_DIGIT OCTAL_DIGIT | '\\\\' OCTAL_DIGIT | UNICODE_CHAR );",
-                                                                              24,
-                                                                              1,
-                                                                              this.input );
+                        else {
+                            alt24=10;}
+                    }
+                    else {
+                        alt24=11;}
+                    }
+                    break;
+                case '\"':
+                    {
+                    alt24=6;
+                    }
+                    break;
+                case 'f':
+                    {
+                    alt24=4;
+                    }
+                    break;
+                case 't':
+                    {
+                    alt24=2;
+                    }
+                    break;
+                case 'n':
+                    {
+                    alt24=3;
+                    }
+                    break;
+                case '4':
+                case '5':
+                case '6':
+                case '7':
+                    {
+                    int LA24_12 = input.LA(3);
 
-                        throw nvae;
+                    if ( ((LA24_12>='0' && LA24_12<='7')) ) {
+                        alt24=10;
+                    }
+                    else {
+                        alt24=11;}
+                    }
+                    break;
+                default:
+                    NoViableAltException nvae =
+                        new NoViableAltException("1145:1: fragment ESCAPE_SEQUENCE : ( '\\\\' 'b' | '\\\\' 't' | '\\\\' 'n' | '\\\\' 'f' | '\\\\' 'r' | '\\\\' '\\\"' | '\\\\' '\\'' | '\\\\' '\\\\' | '\\\\' '0' .. '3' OCTAL_DIGIT OCTAL_DIGIT | '\\\\' OCTAL_DIGIT OCTAL_DIGIT | '\\\\' OCTAL_DIGIT | UNICODE_CHAR );", 24, 1, input);
+
+                    throw nvae;
                 }
 
-            } else {
-                final NoViableAltException nvae = new NoViableAltException( "1145:1: fragment ESCAPE_SEQUENCE : ( '\\\\' 'b' | '\\\\' 't' | '\\\\' 'n' | '\\\\' 'f' | '\\\\' 'r' | '\\\\' '\\\"' | '\\\\' '\\'' | '\\\\' '\\\\' | '\\\\' '0' .. '3' OCTAL_DIGIT OCTAL_DIGIT | '\\\\' OCTAL_DIGIT OCTAL_DIGIT | '\\\\' OCTAL_DIGIT | UNICODE_CHAR );",
-                                                                      24,
-                                                                      0,
-                                                                      this.input );
+            }
+            else {
+                NoViableAltException nvae =
+                    new NoViableAltException("1145:1: fragment ESCAPE_SEQUENCE : ( '\\\\' 'b' | '\\\\' 't' | '\\\\' 'n' | '\\\\' 'f' | '\\\\' 'r' | '\\\\' '\\\"' | '\\\\' '\\'' | '\\\\' '\\\\' | '\\\\' '0' .. '3' OCTAL_DIGIT OCTAL_DIGIT | '\\\\' OCTAL_DIGIT OCTAL_DIGIT | '\\\\' OCTAL_DIGIT | UNICODE_CHAR );", 24, 0, input);
 
                 throw nvae;
             }
-            switch ( alt24 ) {
+            switch (alt24) {
                 case 1 :
-                    // D:\\workspace\\jboss\\jbossrules\\drools-compiler\\src\\main\\resources\\org\\drools\\semantics\\java\\parser\\JavaParser.g:1147:7: '\\\\' 'b'
-                {
-                    match( '\\' );
-                    match( 'b' );
+                    // C:\\dev\\jbossrules\\trunk3\\drools-compiler\\src\\main\\resources\\org\\drools\\semantics\\java\\parser\\JavaParser.g:1147:7: '\\\\' 'b'
+                    {
+                    match('\\'); 
+                    match('b'); 
 
-                }
+                    }
                     break;
                 case 2 :
-                    // D:\\workspace\\jboss\\jbossrules\\drools-compiler\\src\\main\\resources\\org\\drools\\semantics\\java\\parser\\JavaParser.g:1148:9: '\\\\' 't'
-                {
-                    match( '\\' );
-                    match( 't' );
+                    // C:\\dev\\jbossrules\\trunk3\\drools-compiler\\src\\main\\resources\\org\\drools\\semantics\\java\\parser\\JavaParser.g:1148:9: '\\\\' 't'
+                    {
+                    match('\\'); 
+                    match('t'); 
 
-                }
+                    }
                     break;
                 case 3 :
-                    // D:\\workspace\\jboss\\jbossrules\\drools-compiler\\src\\main\\resources\\org\\drools\\semantics\\java\\parser\\JavaParser.g:1149:9: '\\\\' 'n'
-                {
-                    match( '\\' );
-                    match( 'n' );
+                    // C:\\dev\\jbossrules\\trunk3\\drools-compiler\\src\\main\\resources\\org\\drools\\semantics\\java\\parser\\JavaParser.g:1149:9: '\\\\' 'n'
+                    {
+                    match('\\'); 
+                    match('n'); 
 
-                }
+                    }
                     break;
                 case 4 :
-                    // D:\\workspace\\jboss\\jbossrules\\drools-compiler\\src\\main\\resources\\org\\drools\\semantics\\java\\parser\\JavaParser.g:1150:9: '\\\\' 'f'
-                {
-                    match( '\\' );
-                    match( 'f' );
+                    // C:\\dev\\jbossrules\\trunk3\\drools-compiler\\src\\main\\resources\\org\\drools\\semantics\\java\\parser\\JavaParser.g:1150:9: '\\\\' 'f'
+                    {
+                    match('\\'); 
+                    match('f'); 
 
-                }
+                    }
                     break;
                 case 5 :
-                    // D:\\workspace\\jboss\\jbossrules\\drools-compiler\\src\\main\\resources\\org\\drools\\semantics\\java\\parser\\JavaParser.g:1151:9: '\\\\' 'r'
-                {
-                    match( '\\' );
-                    match( 'r' );
+                    // C:\\dev\\jbossrules\\trunk3\\drools-compiler\\src\\main\\resources\\org\\drools\\semantics\\java\\parser\\JavaParser.g:1151:9: '\\\\' 'r'
+                    {
+                    match('\\'); 
+                    match('r'); 
 
-                }
+                    }
                     break;
                 case 6 :
-                    // D:\\workspace\\jboss\\jbossrules\\drools-compiler\\src\\main\\resources\\org\\drools\\semantics\\java\\parser\\JavaParser.g:1152:9: '\\\\' '\\\"'
-                {
-                    match( '\\' );
-                    match( '\"' );
+                    // C:\\dev\\jbossrules\\trunk3\\drools-compiler\\src\\main\\resources\\org\\drools\\semantics\\java\\parser\\JavaParser.g:1152:9: '\\\\' '\\\"'
+                    {
+                    match('\\'); 
+                    match('\"'); 
 
-                }
+                    }
                     break;
                 case 7 :
-                    // D:\\workspace\\jboss\\jbossrules\\drools-compiler\\src\\main\\resources\\org\\drools\\semantics\\java\\parser\\JavaParser.g:1153:9: '\\\\' '\\''
-                {
-                    match( '\\' );
-                    match( '\'' );
+                    // C:\\dev\\jbossrules\\trunk3\\drools-compiler\\src\\main\\resources\\org\\drools\\semantics\\java\\parser\\JavaParser.g:1153:9: '\\\\' '\\''
+                    {
+                    match('\\'); 
+                    match('\''); 
 
-                }
+                    }
                     break;
                 case 8 :
-                    // D:\\workspace\\jboss\\jbossrules\\drools-compiler\\src\\main\\resources\\org\\drools\\semantics\\java\\parser\\JavaParser.g:1154:9: '\\\\' '\\\\'
-                {
-                    match( '\\' );
-                    match( '\\' );
+                    // C:\\dev\\jbossrules\\trunk3\\drools-compiler\\src\\main\\resources\\org\\drools\\semantics\\java\\parser\\JavaParser.g:1154:9: '\\\\' '\\\\'
+                    {
+                    match('\\'); 
+                    match('\\'); 
 
-                }
+                    }
                     break;
                 case 9 :
-                    // D:\\workspace\\jboss\\jbossrules\\drools-compiler\\src\\main\\resources\\org\\drools\\semantics\\java\\parser\\JavaParser.g:1155:7: '\\\\' '0' .. '3' OCTAL_DIGIT OCTAL_DIGIT
-                {
-                    match( '\\' );
-                    matchRange( '0',
-                                '3' );
-                    mOCTAL_DIGIT();
-                    mOCTAL_DIGIT();
+                    // C:\\dev\\jbossrules\\trunk3\\drools-compiler\\src\\main\\resources\\org\\drools\\semantics\\java\\parser\\JavaParser.g:1155:7: '\\\\' '0' .. '3' OCTAL_DIGIT OCTAL_DIGIT
+                    {
+                    match('\\'); 
+                    matchRange('0','3'); 
+                    mOCTAL_DIGIT(); 
+                    mOCTAL_DIGIT(); 
 
-                }
+                    }
                     break;
                 case 10 :
-                    // D:\\workspace\\jboss\\jbossrules\\drools-compiler\\src\\main\\resources\\org\\drools\\semantics\\java\\parser\\JavaParser.g:1156:9: '\\\\' OCTAL_DIGIT OCTAL_DIGIT
-                {
-                    match( '\\' );
-                    mOCTAL_DIGIT();
-                    mOCTAL_DIGIT();
+                    // C:\\dev\\jbossrules\\trunk3\\drools-compiler\\src\\main\\resources\\org\\drools\\semantics\\java\\parser\\JavaParser.g:1156:9: '\\\\' OCTAL_DIGIT OCTAL_DIGIT
+                    {
+                    match('\\'); 
+                    mOCTAL_DIGIT(); 
+                    mOCTAL_DIGIT(); 
 
-                }
+                    }
                     break;
                 case 11 :
-                    // D:\\workspace\\jboss\\jbossrules\\drools-compiler\\src\\main\\resources\\org\\drools\\semantics\\java\\parser\\JavaParser.g:1157:9: '\\\\' OCTAL_DIGIT
-                {
-                    match( '\\' );
-                    mOCTAL_DIGIT();
+                    // C:\\dev\\jbossrules\\trunk3\\drools-compiler\\src\\main\\resources\\org\\drools\\semantics\\java\\parser\\JavaParser.g:1157:9: '\\\\' OCTAL_DIGIT
+                    {
+                    match('\\'); 
+                    mOCTAL_DIGIT(); 
 
-                }
+                    }
                     break;
                 case 12 :
-                    // D:\\workspace\\jboss\\jbossrules\\drools-compiler\\src\\main\\resources\\org\\drools\\semantics\\java\\parser\\JavaParser.g:1158:4: UNICODE_CHAR
-                {
-                    mUNICODE_CHAR();
+                    // C:\\dev\\jbossrules\\trunk3\\drools-compiler\\src\\main\\resources\\org\\drools\\semantics\\java\\parser\\JavaParser.g:1158:4: UNICODE_CHAR
+                    {
+                    mUNICODE_CHAR(); 
 
-                }
+                    }
                     break;
 
             }
-        } finally {
-            this.ruleNestingLevel--;
         }
+        finally {
+        }
     }
-
     // $ANTLR end ESCAPE_SEQUENCE
 
     // $ANTLR start UNICODE_CHAR
-    public void mUNICODE_CHAR() throws RecognitionException {
+    public final void mUNICODE_CHAR() throws RecognitionException {
         try {
-            this.ruleNestingLevel++;
-            // D:\\workspace\\jboss\\jbossrules\\drools-compiler\\src\\main\\resources\\org\\drools\\semantics\\java\\parser\\JavaParser.g:1163:4: ( '\\\\' 'u' HEX_DIGIT HEX_DIGIT HEX_DIGIT HEX_DIGIT )
-            // D:\\workspace\\jboss\\jbossrules\\drools-compiler\\src\\main\\resources\\org\\drools\\semantics\\java\\parser\\JavaParser.g:1163:4: '\\\\' 'u' HEX_DIGIT HEX_DIGIT HEX_DIGIT HEX_DIGIT
+            // C:\\dev\\jbossrules\\trunk3\\drools-compiler\\src\\main\\resources\\org\\drools\\semantics\\java\\parser\\JavaParser.g:1163:4: ( '\\\\' 'u' HEX_DIGIT HEX_DIGIT HEX_DIGIT HEX_DIGIT )
+            // C:\\dev\\jbossrules\\trunk3\\drools-compiler\\src\\main\\resources\\org\\drools\\semantics\\java\\parser\\JavaParser.g:1163:4: '\\\\' 'u' HEX_DIGIT HEX_DIGIT HEX_DIGIT HEX_DIGIT
             {
-                match( '\\' );
-                match( 'u' );
-                mHEX_DIGIT();
-                mHEX_DIGIT();
-                mHEX_DIGIT();
-                mHEX_DIGIT();
+            match('\\'); 
+            match('u'); 
+            mHEX_DIGIT(); 
+            mHEX_DIGIT(); 
+            mHEX_DIGIT(); 
+            mHEX_DIGIT(); 
 
             }
 
-        } finally {
-            this.ruleNestingLevel--;
         }
+        finally {
+        }
     }
-
     // $ANTLR end UNICODE_CHAR
 
     // $ANTLR start HEX_DIGIT
-    public void mHEX_DIGIT() throws RecognitionException {
+    public final void mHEX_DIGIT() throws RecognitionException {
         try {
-            this.ruleNestingLevel++;
-            // D:\\workspace\\jboss\\jbossrules\\drools-compiler\\src\\main\\resources\\org\\drools\\semantics\\java\\parser\\JavaParser.g:1168:2: ( ('0'..'9'|'a'..'f'|'A'..'F'))
-            // D:\\workspace\\jboss\\jbossrules\\drools-compiler\\src\\main\\resources\\org\\drools\\semantics\\java\\parser\\JavaParser.g:1168:4: ('0'..'9'|'a'..'f'|'A'..'F')
+            // C:\\dev\\jbossrules\\trunk3\\drools-compiler\\src\\main\\resources\\org\\drools\\semantics\\java\\parser\\JavaParser.g:1168:4: ( '0' .. '9' | 'a' .. 'f' | 'A' .. 'F' )
+            // C:\\dev\\jbossrules\\trunk3\\drools-compiler\\src\\main\\resources\\org\\drools\\semantics\\java\\parser\\JavaParser.g:
             {
-                if ( (this.input.LA( 1 ) >= '0' && this.input.LA( 1 ) <= '9') || (this.input.LA( 1 ) >= 'A' && this.input.LA( 1 ) <= 'F') || (this.input.LA( 1 ) >= 'a' && this.input.LA( 1 ) <= 'f') ) {
-                    this.input.consume();
+            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();
 
-                } else {
-                    final MismatchedSetException mse = new MismatchedSetException( null,
-                                                                             this.input );
-                    recover( mse );
-                    throw mse;
-                }
+            }
+            else {
+                MismatchedSetException mse =
+                    new MismatchedSetException(null,input);
+                recover(mse);    throw mse;
+            }
 
+
             }
 
-        } finally {
-            this.ruleNestingLevel--;
         }
+        finally {
+        }
     }
-
     // $ANTLR end HEX_DIGIT
 
     // $ANTLR start OCTAL_DIGIT
-    public void mOCTAL_DIGIT() throws RecognitionException {
+    public final void mOCTAL_DIGIT() throws RecognitionException {
         try {
-            this.ruleNestingLevel++;
-            // D:\\workspace\\jboss\\jbossrules\\drools-compiler\\src\\main\\resources\\org\\drools\\semantics\\java\\parser\\JavaParser.g:1173:4: ( '0' .. '7' )
-            // D:\\workspace\\jboss\\jbossrules\\drools-compiler\\src\\main\\resources\\org\\drools\\semantics\\java\\parser\\JavaParser.g:1173:4: '0' .. '7'
+            // C:\\dev\\jbossrules\\trunk3\\drools-compiler\\src\\main\\resources\\org\\drools\\semantics\\java\\parser\\JavaParser.g:1173:4: ( '0' .. '7' )
+            // C:\\dev\\jbossrules\\trunk3\\drools-compiler\\src\\main\\resources\\org\\drools\\semantics\\java\\parser\\JavaParser.g:1173:4: '0' .. '7'
             {
-                matchRange( '0',
-                            '7' );
+            matchRange('0','7'); 
 
             }
 
-        } finally {
-            this.ruleNestingLevel--;
         }
+        finally {
+        }
     }
-
     // $ANTLR end OCTAL_DIGIT
 
     public void mTokens() throws RecognitionException {
-        // D:\\workspace\\jboss\\jbossrules\\drools-compiler\\src\\main\\resources\\org\\drools\\semantics\\java\\parser\\JavaParser.g:1:10: ( T68 | T69 | T70 | T71 | T72 | T73 | T74 | T75 | T76 | T77 | T78 | T79 | T80 | T81 | T82 | T83 | T84 | T85 | T86 | T87 | T88 | T89 | T90 | T91 | T92 | T93 | T94 | T95 | T96 | T97 | T98 | T99 | T100 | T101 | T102 | T103 | T104 | T105 | T106 | T107 | T108 | T109 | T110 | T111 | T112 | T113 | T114 | T115 | QUESTION | LPAREN | RPAREN | LBRACK | RBRACK | LCURLY | RCURLY | COLON | COMMA | DOT | ASSIGN | EQUAL | LNOT | BNOT | NOT_EQUAL | DIV | DIV_ASSIGN | PLUS | PLUS_ASSIGN | INC | MINUS | MINUS_ASSIGN | DEC | STAR | STAR_ASSIGN | MOD | MOD_ASSIGN | SR | SR_ASSIGN | BSR | BSR_ASSIGN | GE | GT | SL | SL_ASSIGN | LE | LT | BXOR | BXOR_ASSIGN | BOR | BOR_ASSIGN | LOR | BAND | BAND_ASSIGN | LAND | SEMI | WS | SL_COMMENT | ML_COMMENT | IDENT | NUM_INT | NUM_FLOAT | CHAR_LITERAL | STRING_LITERAL )
-        int alt25 = 102;
-        alt25 = this.dfa25.predict( this.input );
-        switch ( alt25 ) {
+        // C:\\dev\\jbossrules\\trunk3\\drools-compiler\\src\\main\\resources\\org\\drools\\semantics\\java\\parser\\JavaParser.g:1:10: ( T68 | T69 | T70 | T71 | T72 | T73 | T74 | T75 | T76 | T77 | T78 | T79 | T80 | T81 | T82 | T83 | T84 | T85 | T86 | T87 | T88 | T89 | T90 | T91 | T92 | T93 | T94 | T95 | T96 | T97 | T98 | T99 | T100 | T101 | T102 | T103 | T104 | T105 | T106 | T107 | T108 | T109 | T110 | T111 | T112 | T113 | T114 | T115 | QUESTION | LPAREN | RPAREN | LBRACK | RBRACK | LCURLY | RCURLY | COLON | COMMA | DOT | ASSIGN | EQUAL | LNOT | BNOT | NOT_EQUAL | DIV | DIV_ASSIGN | PLUS | PLUS_ASSIGN | INC | MINUS | MINUS_ASSIGN | DEC | STAR | STAR_ASSIGN | MOD | MOD_ASSIGN | SR | SR_ASSIGN | BSR | BSR_ASSIGN | GE | GT | SL | SL_ASSIGN | LE | LT | BXOR | BXOR_ASSIGN | BOR | BOR_ASSIGN | LOR | BAND | BAND_ASSIGN | LAND | SEMI | WS | SL_COMMENT | ML_COMMENT | IDENT | NUM_INT | NUM_FLOAT | CHAR_LITERAL | STRING_LITERAL )
+        int alt25=102;
+        alt25 = dfa25.predict(input);
+        switch (alt25) {
             case 1 :
-                // D:\\workspace\\jboss\\jbossrules\\drools-compiler\\src\\main\\resources\\org\\drools\\semantics\\java\\parser\\JavaParser.g:1:10: T68
-            {
-                mT68();
+                // C:\\dev\\jbossrules\\trunk3\\drools-compiler\\src\\main\\resources\\org\\drools\\semantics\\java\\parser\\JavaParser.g:1:10: T68
+                {
+                mT68(); 
 
-            }
+                }
                 break;
             case 2 :
-                // D:\\workspace\\jboss\\jbossrules\\drools-compiler\\src\\main\\resources\\org\\drools\\semantics\\java\\parser\\JavaParser.g:1:14: T69
-            {
-                mT69();
+                // C:\\dev\\jbossrules\\trunk3\\drools-compiler\\src\\main\\resources\\org\\drools\\semantics\\java\\parser\\JavaParser.g:1:14: T69
+                {
+                mT69(); 
 
-            }
+                }
                 break;
             case 3 :
-                // D:\\workspace\\jboss\\jbossrules\\drools-compiler\\src\\main\\resources\\org\\drools\\semantics\\java\\parser\\JavaParser.g:1:18: T70
-            {
-                mT70();
+                // C:\\dev\\jbossrules\\trunk3\\drools-compiler\\src\\main\\resources\\org\\drools\\semantics\\java\\parser\\JavaParser.g:1:18: T70
+                {
+                mT70(); 
 
-            }
+                }
                 break;
             case 4 :
-                // D:\\workspace\\jboss\\jbossrules\\drools-compiler\\src\\main\\resources\\org\\drools\\semantics\\java\\parser\\JavaParser.g:1:22: T71
-            {
-                mT71();
+                // C:\\dev\\jbossrules\\trunk3\\drools-compiler\\src\\main\\resources\\org\\drools\\semantics\\java\\parser\\JavaParser.g:1:22: T71
+                {
+                mT71(); 
 
-            }
+                }
                 break;
             case 5 :
-                // D:\\workspace\\jboss\\jbossrules\\drools-compiler\\src\\main\\resources\\org\\drools\\semantics\\java\\parser\\JavaParser.g:1:26: T72
-            {
-                mT72();
+                // C:\\dev\\jbossrules\\trunk3\\drools-compiler\\src\\main\\resources\\org\\drools\\semantics\\java\\parser\\JavaParser.g:1:26: T72
+                {
+                mT72(); 
 
-            }
+                }
                 break;
             case 6 :
-                // D:\\workspace\\jboss\\jbossrules\\drools-compiler\\src\\main\\resources\\org\\drools\\semantics\\java\\parser\\JavaParser.g:1:30: T73
-            {
-                mT73();
+                // C:\\dev\\jbossrules\\trunk3\\drools-compiler\\src\\main\\resources\\org\\drools\\semantics\\java\\parser\\JavaParser.g:1:30: T73
+                {
+                mT73(); 
 
-            }
+                }
                 break;
             case 7 :
-                // D:\\workspace\\jboss\\jbossrules\\drools-compiler\\src\\main\\resources\\org\\drools\\semantics\\java\\parser\\JavaParser.g:1:34: T74
-            {
-                mT74();
+                // C:\\dev\\jbossrules\\trunk3\\drools-compiler\\src\\main\\resources\\org\\drools\\semantics\\java\\parser\\JavaParser.g:1:34: T74
+                {
+                mT74(); 
 
-            }
+                }
                 break;
             case 8 :
-                // D:\\workspace\\jboss\\jbossrules\\drools-compiler\\src\\main\\resources\\org\\drools\\semantics\\java\\parser\\JavaParser.g:1:38: T75
-            {
-                mT75();
+                // C:\\dev\\jbossrules\\trunk3\\drools-compiler\\src\\main\\resources\\org\\drools\\semantics\\java\\parser\\JavaParser.g:1:38: T75
+                {
+                mT75(); 
 
-            }
+                }
                 break;
             case 9 :
-                // D:\\workspace\\jboss\\jbossrules\\drools-compiler\\src\\main\\resources\\org\\drools\\semantics\\java\\parser\\JavaParser.g:1:42: T76
-            {
-                mT76();
+                // C:\\dev\\jbossrules\\trunk3\\drools-compiler\\src\\main\\resources\\org\\drools\\semantics\\java\\parser\\JavaParser.g:1:42: T76
+                {
+                mT76(); 
 
-            }
+                }
                 break;
             case 10 :
-                // D:\\workspace\\jboss\\jbossrules\\drools-compiler\\src\\main\\resources\\org\\drools\\semantics\\java\\parser\\JavaParser.g:1:46: T77
-            {
-                mT77();
+                // C:\\dev\\jbossrules\\trunk3\\drools-compiler\\src\\main\\resources\\org\\drools\\semantics\\java\\parser\\JavaParser.g:1:46: T77
+                {
+                mT77(); 
 
-            }
+                }
                 break;
             case 11 :
-                // D:\\workspace\\jboss\\jbossrules\\drools-compiler\\src\\main\\resources\\org\\drools\\semantics\\java\\parser\\JavaParser.g:1:50: T78
-            {
-                mT78();
+                // C:\\dev\\jbossrules\\trunk3\\drools-compiler\\src\\main\\resources\\org\\drools\\semantics\\java\\parser\\JavaParser.g:1:50: T78
+                {
+                mT78(); 
 
-            }
+                }
                 break;
             case 12 :
-                // D:\\workspace\\jboss\\jbossrules\\drools-compiler\\src\\main\\resources\\org\\drools\\semantics\\java\\parser\\JavaParser.g:1:54: T79
-            {
-                mT79();
+                // C:\\dev\\jbossrules\\trunk3\\drools-compiler\\src\\main\\resources\\org\\drools\\semantics\\java\\parser\\JavaParser.g:1:54: T79
+                {
+                mT79(); 
 
-            }
+                }
                 break;
             case 13 :
-                // D:\\workspace\\jboss\\jbossrules\\drools-compiler\\src\\main\\resources\\org\\drools\\semantics\\java\\parser\\JavaParser.g:1:58: T80
-            {
-                mT80();
+                // C:\\dev\\jbossrules\\trunk3\\drools-compiler\\src\\main\\resources\\org\\drools\\semantics\\java\\parser\\JavaParser.g:1:58: T80
+                {
+                mT80(); 
 
-            }
+                }
                 break;
             case 14 :
-                // D:\\workspace\\jboss\\jbossrules\\drools-compiler\\src\\main\\resources\\org\\drools\\semantics\\java\\parser\\JavaParser.g:1:62: T81
-            {
-                mT81();
+                // C:\\dev\\jbossrules\\trunk3\\drools-compiler\\src\\main\\resources\\org\\drools\\semantics\\java\\parser\\JavaParser.g:1:62: T81
+                {
+                mT81(); 
 
-            }
+                }
                 break;
             case 15 :
-                // D:\\workspace\\jboss\\jbossrules\\drools-compiler\\src\\main\\resources\\org\\drools\\semantics\\java\\parser\\JavaParser.g:1:66: T82
-            {
-                mT82();
+                // C:\\dev\\jbossrules\\trunk3\\drools-compiler\\src\\main\\resources\\org\\drools\\semantics\\java\\parser\\JavaParser.g:1:66: T82
+                {
+                mT82(); 
 
-            }
+                }
                 break;
             case 16 :
-                // D:\\workspace\\jboss\\jbossrules\\drools-compiler\\src\\main\\resources\\org\\drools\\semantics\\java\\parser\\JavaParser.g:1:70: T83
-            {
-                mT83();
+                // C:\\dev\\jbossrules\\trunk3\\drools-compiler\\src\\main\\resources\\org\\drools\\semantics\\java\\parser\\JavaParser.g:1:70: T83
+                {
+                mT83(); 
 
-            }
+                }
                 break;
             case 17 :
-                // D:\\workspace\\jboss\\jbossrules\\drools-compiler\\src\\main\\resources\\org\\drools\\semantics\\java\\parser\\JavaParser.g:1:74: T84
-            {
-                mT84();
+                // C:\\dev\\jbossrules\\trunk3\\drools-compiler\\src\\main\\resources\\org\\drools\\semantics\\java\\parser\\JavaParser.g:1:74: T84
+                {
+                mT84(); 
 
-            }
+                }
                 break;
             case 18 :
-                // D:\\workspace\\jboss\\jbossrules\\drools-compiler\\src\\main\\resources\\org\\drools\\semantics\\java\\parser\\JavaParser.g:1:78: T85
-            {
-                mT85();
+                // C:\\dev\\jbossrules\\trunk3\\drools-compiler\\src\\main\\resources\\org\\drools\\semantics\\java\\parser\\JavaParser.g:1:78: T85
+                {
+                mT85(); 
 
-            }
+                }
                 break;
             case 19 :
-                // D:\\workspace\\jboss\\jbossrules\\drools-compiler\\src\\main\\resources\\org\\drools\\semantics\\java\\parser\\JavaParser.g:1:82: T86
-            {
-                mT86();
+                // C:\\dev\\jbossrules\\trunk3\\drools-compiler\\src\\main\\resources\\org\\drools\\semantics\\java\\parser\\JavaParser.g:1:82: T86
+                {
+                mT86(); 
 
-            }
+                }
                 break;
             case 20 :
-                // D:\\workspace\\jboss\\jbossrules\\drools-compiler\\src\\main\\resources\\org\\drools\\semantics\\java\\parser\\JavaParser.g:1:86: T87
-            {
-                mT87();
+                // C:\\dev\\jbossrules\\trunk3\\drools-compiler\\src\\main\\resources\\org\\drools\\semantics\\java\\parser\\JavaParser.g:1:86: T87
+                {
+                mT87(); 
 
-            }
+                }
                 break;
             case 21 :
-                // D:\\workspace\\jboss\\jbossrules\\drools-compiler\\src\\main\\resources\\org\\drools\\semantics\\java\\parser\\JavaParser.g:1:90: T88
-            {
-                mT88();
+                // C:\\dev\\jbossrules\\trunk3\\drools-compiler\\src\\main\\resources\\org\\drools\\semantics\\java\\parser\\JavaParser.g:1:90: T88
+                {
+                mT88(); 
 
-            }
+                }
                 break;
             case 22 :
-                // D:\\workspace\\jboss\\jbossrules\\drools-compiler\\src\\main\\resources\\org\\drools\\semantics\\java\\parser\\JavaParser.g:1:94: T89
-            {
-                mT89();
+                // C:\\dev\\jbossrules\\trunk3\\drools-compiler\\src\\main\\resources\\org\\drools\\semantics\\java\\parser\\JavaParser.g:1:94: T89
+                {
+                mT89(); 
 
-            }
+                }
                 break;
             case 23 :
-                // D:\\workspace\\jboss\\jbossrules\\drools-compiler\\src\\main\\resources\\org\\drools\\semantics\\java\\parser\\JavaParser.g:1:98: T90
-            {
-                mT90();
+                // C:\\dev\\jbossrules\\trunk3\\drools-compiler\\src\\main\\resources\\org\\drools\\semantics\\java\\parser\\JavaParser.g:1:98: T90
+                {
+                mT90(); 
 
-            }
+                }
                 break;
             case 24 :
-                // D:\\workspace\\jboss\\jbossrules\\drools-compiler\\src\\main\\resources\\org\\drools\\semantics\\java\\parser\\JavaParser.g:1:102: T91
-            {
-                mT91();
+                // C:\\dev\\jbossrules\\trunk3\\drools-compiler\\src\\main\\resources\\org\\drools\\semantics\\java\\parser\\JavaParser.g:1:102: T91
+                {
+                mT91(); 
 
-            }
+                }
                 break;
             case 25 :
-                // D:\\workspace\\jboss\\jbossrules\\drools-compiler\\src\\main\\resources\\org\\drools\\semantics\\java\\parser\\JavaParser.g:1:106: T92
-            {
-                mT92();
+                // C:\\dev\\jbossrules\\trunk3\\drools-compiler\\src\\main\\resources\\org\\drools\\semantics\\java\\parser\\JavaParser.g:1:106: T92
+                {
+                mT92(); 
 
-            }
+                }
                 break;
             case 26 :
-                // D:\\workspace\\jboss\\jbossrules\\drools-compiler\\src\\main\\resources\\org\\drools\\semantics\\java\\parser\\JavaParser.g:1:110: T93
-            {
-                mT93();
+                // C:\\dev\\jbossrules\\trunk3\\drools-compiler\\src\\main\\resources\\org\\drools\\semantics\\java\\parser\\JavaParser.g:1:110: T93
+                {
+                mT93(); 
 
-            }
+                }
                 break;
             case 27 :
-                // D:\\workspace\\jboss\\jbossrules\\drools-compiler\\src\\main\\resources\\org\\drools\\semantics\\java\\parser\\JavaParser.g:1:114: T94
-            {
-                mT94();
+                // C:\\dev\\jbossrules\\trunk3\\drools-compiler\\src\\main\\resources\\org\\drools\\semantics\\java\\parser\\JavaParser.g:1:114: T94
+                {
+                mT94(); 
 
-            }
+                }
                 break;
             case 28 :
-                // D:\\workspace\\jboss\\jbossrules\\drools-compiler\\src\\main\\resources\\org\\drools\\semantics\\java\\parser\\JavaParser.g:1:118: T95
-            {
-                mT95();
+                // C:\\dev\\jbossrules\\trunk3\\drools-compiler\\src\\main\\resources\\org\\drools\\semantics\\java\\parser\\JavaParser.g:1:118: T95
+                {
+                mT95(); 
 
-            }
+                }
                 break;
             case 29 :
-                // D:\\workspace\\jboss\\jbossrules\\drools-compiler\\src\\main\\resources\\org\\drools\\semantics\\java\\parser\\JavaParser.g:1:122: T96
-            {
-                mT96();
+                // C:\\dev\\jbossrules\\trunk3\\drools-compiler\\src\\main\\resources\\org\\drools\\semantics\\java\\parser\\JavaParser.g:1:122: T96
+                {
+                mT96(); 
 
-            }
+                }
                 break;
             case 30 :
-                // D:\\workspace\\jboss\\jbossrules\\drools-compiler\\src\\main\\resources\\org\\drools\\semantics\\java\\parser\\JavaParser.g:1:126: T97
-            {
-                mT97();
+                // C:\\dev\\jbossrules\\trunk3\\drools-compiler\\src\\main\\resources\\org\\drools\\semantics\\java\\parser\\JavaParser.g:1:126: T97
+                {
+                mT97(); 
 
-            }
+                }
                 break;
             case 31 :
-                // D:\\workspace\\jboss\\jbossrules\\drools-compiler\\src\\main\\resources\\org\\drools\\semantics\\java\\parser\\JavaParser.g:1:130: T98
-            {
-                mT98();
+                // C:\\dev\\jbossrules\\trunk3\\drools-compiler\\src\\main\\resources\\org\\drools\\semantics\\java\\parser\\JavaParser.g:1:130: T98
+                {
+                mT98(); 
 
-            }
+                }
                 break;
             case 32 :
-                // D:\\workspace\\jboss\\jbossrules\\drools-compiler\\src\\main\\resources\\org\\drools\\semantics\\java\\parser\\JavaParser.g:1:134: T99
-            {
-                mT99();
+                // C:\\dev\\jbossrules\\trunk3\\drools-compiler\\src\\main\\resources\\org\\drools\\semantics\\java\\parser\\JavaParser.g:1:134: T99
+                {
+                mT99(); 
 
-            }
+                }
                 break;
             case 33 :
-                // D:\\workspace\\jboss\\jbossrules\\drools-compiler\\src\\main\\resources\\org\\drools\\semantics\\java\\parser\\JavaParser.g:1:138: T100
-            {
-                mT100();
+                // C:\\dev\\jbossrules\\trunk3\\drools-compiler\\src\\main\\resources\\org\\drools\\semantics\\java\\parser\\JavaParser.g:1:138: T100
+                {
+                mT100(); 
 
-            }
+                }
                 break;
             case 34 :
-                // D:\\workspace\\jboss\\jbossrules\\drools-compiler\\src\\main\\resources\\org\\drools\\semantics\\java\\parser\\JavaParser.g:1:143: T101
-            {
-                mT101();
+                // C:\\dev\\jbossrules\\trunk3\\drools-compiler\\src\\main\\resources\\org\\drools\\semantics\\java\\parser\\JavaParser.g:1:143: T101
+                {
+                mT101(); 
 
-            }
+                }
                 break;
             case 35 :
-                // D:\\workspace\\jboss\\jbossrules\\drools-compiler\\src\\main\\resources\\org\\drools\\semantics\\java\\parser\\JavaParser.g:1:148: T102
-            {
-                mT102();
+                // C:\\dev\\jbossrules\\trunk3\\drools-compiler\\src\\main\\resources\\org\\drools\\semantics\\java\\parser\\JavaParser.g:1:148: T102
+                {
+                mT102(); 
 
-            }
+                }
                 break;
             case 36 :
-                // D:\\workspace\\jboss\\jbossrules\\drools-compiler\\src\\main\\resources\\org\\drools\\semantics\\java\\parser\\JavaParser.g:1:153: T103
-            {
-                mT103();
+                // C:\\dev\\jbossrules\\trunk3\\drools-compiler\\src\\main\\resources\\org\\drools\\semantics\\java\\parser\\JavaParser.g:1:153: T103
+                {
+                mT103(); 
 
-            }
+                }
                 break;
             case 37 :
-                // D:\\workspace\\jboss\\jbossrules\\drools-compiler\\src\\main\\resources\\org\\drools\\semantics\\java\\parser\\JavaParser.g:1:158: T104
-            {
-                mT104();
+                // C:\\dev\\jbossrules\\trunk3\\drools-compiler\\src\\main\\resources\\org\\drools\\semantics\\java\\parser\\JavaParser.g:1:158: T104
+                {
+                mT104(); 
 
-            }
+                }
                 break;
             case 38 :
-                // D:\\workspace\\jboss\\jbossrules\\drools-compiler\\src\\main\\resources\\org\\drools\\semantics\\java\\parser\\JavaParser.g:1:163: T105
-            {
-                mT105();
+                // C:\\dev\\jbossrules\\trunk3\\drools-compiler\\src\\main\\resources\\org\\drools\\semantics\\java\\parser\\JavaParser.g:1:163: T105
+                {
+                mT105(); 
 
-            }
+                }
                 break;
             case 39 :
-                // D:\\workspace\\jboss\\jbossrules\\drools-compiler\\src\\main\\resources\\org\\drools\\semantics\\java\\parser\\JavaParser.g:1:168: T106
-            {
-                mT106();
+                // C:\\dev\\jbossrules\\trunk3\\drools-compiler\\src\\main\\resources\\org\\drools\\semantics\\java\\parser\\JavaParser.g:1:168: T106
+                {
+                mT106(); 
 
-            }
+                }
                 break;
             case 40 :
-                // D:\\workspace\\jboss\\jbossrules\\drools-compiler\\src\\main\\resources\\org\\drools\\semantics\\java\\parser\\JavaParser.g:1:173: T107
-            {
-                mT107();
+                // C:\\dev\\jbossrules\\trunk3\\drools-compiler\\src\\main\\resources\\org\\drools\\semantics\\java\\parser\\JavaParser.g:1:173: T107
+                {
+                mT107(); 
 
-            }
+                }
                 break;
             case 41 :
-                // D:\\workspace\\jboss\\jbossrules\\drools-compiler\\src\\main\\resources\\org\\drools\\semantics\\java\\parser\\JavaParser.g:1:178: T108
-            {
-                mT108();
+                // C:\\dev\\jbossrules\\trunk3\\drools-compiler\\src\\main\\resources\\org\\drools\\semantics\\java\\parser\\JavaParser.g:1:178: T108
+                {
+                mT108(); 
 
-            }
+                }
                 break;
             case 42 :
-                // D:\\workspace\\jboss\\jbossrules\\drools-compiler\\src\\main\\resources\\org\\drools\\semantics\\java\\parser\\JavaParser.g:1:183: T109
-            {
-                mT109();
+                // C:\\dev\\jbossrules\\trunk3\\drools-compiler\\src\\main\\resources\\org\\drools\\semantics\\java\\parser\\JavaParser.g:1:183: T109
+                {
+                mT109(); 
 
-            }
+                }
                 break;
             case 43 :
-                // D:\\workspace\\jboss\\jbossrules\\drools-compiler\\src\\main\\resources\\org\\drools\\semantics\\java\\parser\\JavaParser.g:1:188: T110
-            {
-                mT110();
+                // C:\\dev\\jbossrules\\trunk3\\drools-compiler\\src\\main\\resources\\org\\drools\\semantics\\java\\parser\\JavaParser.g:1:188: T110
+                {
+                mT110(); 
 
-            }
+                }
                 break;
             case 44 :
-                // D:\\workspace\\jboss\\jbossrules\\drools-compiler\\src\\main\\resources\\org\\drools\\semantics\\java\\parser\\JavaParser.g:1:193: T111
-            {
-                mT111();
+                // C:\\dev\\jbossrules\\trunk3\\drools-compiler\\src\\main\\resources\\org\\drools\\semantics\\java\\parser\\JavaParser.g:1:193: T111
+                {
+                mT111(); 
 
-            }
+                }
                 break;
             case 45 :
-                // D:\\workspace\\jboss\\jbossrules\\drools-compiler\\src\\main\\resources\\org\\drools\\semantics\\java\\parser\\JavaParser.g:1:198: T112
-            {
-                mT112();
+                // C:\\dev\\jbossrules\\trunk3\\drools-compiler\\src\\main\\resources\\org\\drools\\semantics\\java\\parser\\JavaParser.g:1:198: T112
+                {
+                mT112(); 
 
-            }
+                }
                 break;
             case 46 :
-                // D:\\workspace\\jboss\\jbossrules\\drools-compiler\\src\\main\\resources\\org\\drools\\semantics\\java\\parser\\JavaParser.g:1:203: T113
-            {
-                mT113();
+                // C:\\dev\\jbossrules\\trunk3\\drools-compiler\\src\\main\\resources\\org\\drools\\semantics\\java\\parser\\JavaParser.g:1:203: T113
+                {
+                mT113(); 
 
-            }
+                }
                 break;
             case 47 :
-                // D:\\workspace\\jboss\\jbossrules\\drools-compiler\\src\\main\\resources\\org\\drools\\semantics\\java\\parser\\JavaParser.g:1:208: T114
-            {
-                mT114();
+                // C:\\dev\\jbossrules\\trunk3\\drools-compiler\\src\\main\\resources\\org\\drools\\semantics\\java\\parser\\JavaParser.g:1:208: T114
+                {
+                mT114(); 
 
-            }
+                }
                 break;
             case 48 :
-                // D:\\workspace\\jboss\\jbossrules\\drools-compiler\\src\\main\\resources\\org\\drools\\semantics\\java\\parser\\JavaParser.g:1:213: T115
-            {
-                mT115();
+                // C:\\dev\\jbossrules\\trunk3\\drools-compiler\\src\\main\\resources\\org\\drools\\semantics\\java\\parser\\JavaParser.g:1:213: T115
+                {
+                mT115(); 
 
-            }
+                }
                 break;
             case 49 :
-                // D:\\workspace\\jboss\\jbossrules\\drools-compiler\\src\\main\\resources\\org\\drools\\semantics\\java\\parser\\JavaParser.g:1:218: QUESTION
-            {
-                mQUESTION();
+                // C:\\dev\\jbossrules\\trunk3\\drools-compiler\\src\\main\\resources\\org\\drools\\semantics\\java\\parser\\JavaParser.g:1:218: QUESTION
+                {
+                mQUESTION(); 
 
-            }
+                }
                 break;
             case 50 :
-                // D:\\workspace\\jboss\\jbossrules\\drools-compiler\\src\\main\\resources\\org\\drools\\semantics\\java\\parser\\JavaParser.g:1:227: LPAREN
-            {
-                mLPAREN();
+                // C:\\dev\\jbossrules\\trunk3\\drools-compiler\\src\\main\\resources\\org\\drools\\semantics\\java\\parser\\JavaParser.g:1:227: LPAREN
+                {
+                mLPAREN(); 
 
-            }
+                }
                 break;
             case 51 :
-                // D:\\workspace\\jboss\\jbossrules\\drools-compiler\\src\\main\\resources\\org\\drools\\semantics\\java\\parser\\JavaParser.g:1:234: RPAREN
-            {
-                mRPAREN();
+                // C:\\dev\\jbossrules\\trunk3\\drools-compiler\\src\\main\\resources\\org\\drools\\semantics\\java\\parser\\JavaParser.g:1:234: RPAREN
+                {
+                mRPAREN(); 
 
-            }
+                }
                 break;
             case 52 :
-                // D:\\workspace\\jboss\\jbossrules\\drools-compiler\\src\\main\\resources\\org\\drools\\semantics\\java\\parser\\JavaParser.g:1:241: LBRACK
-            {
-                mLBRACK();
+                // C:\\dev\\jbossrules\\trunk3\\drools-compiler\\src\\main\\resources\\org\\drools\\semantics\\java\\parser\\JavaParser.g:1:241: LBRACK
+                {
+                mLBRACK(); 
 
-            }
+                }
                 break;
             case 53 :
-                // D:\\workspace\\jboss\\jbossrules\\drools-compiler\\src\\main\\resources\\org\\drools\\semantics\\java\\parser\\JavaParser.g:1:248: RBRACK
-            {
-                mRBRACK();
+                // C:\\dev\\jbossrules\\trunk3\\drools-compiler\\src\\main\\resources\\org\\drools\\semantics\\java\\parser\\JavaParser.g:1:248: RBRACK
+                {
+                mRBRACK(); 
 
-            }
+                }
                 break;
             case 54 :
-                // D:\\workspace\\jboss\\jbossrules\\drools-compiler\\src\\main\\resources\\org\\drools\\semantics\\java\\parser\\JavaParser.g:1:255: LCURLY
-            {
-                mLCURLY();
+                // C:\\dev\\jbossrules\\trunk3\\drools-compiler\\src\\main\\resources\\org\\drools\\semantics\\java\\parser\\JavaParser.g:1:255: LCURLY
+                {
+                mLCURLY(); 
 
-            }
+                }
                 break;
             case 55 :
-                // D:\\workspace\\jboss\\jbossrules\\drools-compiler\\src\\main\\resources\\org\\drools\\semantics\\java\\parser\\JavaParser.g:1:262: RCURLY
-            {
-                mRCURLY();
+                // C:\\dev\\jbossrules\\trunk3\\drools-compiler\\src\\main\\resources\\org\\drools\\semantics\\java\\parser\\JavaParser.g:1:262: RCURLY
+                {
+                mRCURLY(); 
 
-            }
+                }
                 break;
             case 56 :
-                // D:\\workspace\\jboss\\jbossrules\\drools-compiler\\src\\main\\resources\\org\\drools\\semantics\\java\\parser\\JavaParser.g:1:269: COLON
-            {
-                mCOLON();
+                // C:\\dev\\jbossrules\\trunk3\\drools-compiler\\src\\main\\resources\\org\\drools\\semantics\\java\\parser\\JavaParser.g:1:269: COLON
+                {
+                mCOLON(); 
 
-            }
+                }
                 break;
             case 57 :
-                // D:\\workspace\\jboss\\jbossrules\\drools-compiler\\src\\main\\resources\\org\\drools\\semantics\\java\\parser\\JavaParser.g:1:275: COMMA
-            {
-                mCOMMA();
+                // C:\\dev\\jbossrules\\trunk3\\drools-compiler\\src\\main\\resources\\org\\drools\\semantics\\java\\parser\\JavaParser.g:1:275: COMMA
+                {
+                mCOMMA(); 
 
-            }
+                }
                 break;
             case 58 :
-                // D:\\workspace\\jboss\\jbossrules\\drools-compiler\\src\\main\\resources\\org\\drools\\semantics\\java\\parser\\JavaParser.g:1:281: DOT
-            {
-                mDOT();
+                // C:\\dev\\jbossrules\\trunk3\\drools-compiler\\src\\main\\resources\\org\\drools\\semantics\\java\\parser\\JavaParser.g:1:281: DOT
+                {
+                mDOT(); 
 
-            }
+                }
                 break;
             case 59 :
-                // D:\\workspace\\jboss\\jbossrules\\drools-compiler\\src\\main\\resources\\org\\drools\\semantics\\java\\parser\\JavaParser.g:1:285: ASSIGN
-            {
-                mASSIGN();
+                // C:\\dev\\jbossrules\\trunk3\\drools-compiler\\src\\main\\resources\\org\\drools\\semantics\\java\\parser\\JavaParser.g:1:285: ASSIGN
+                {
+                mASSIGN(); 
 
-            }
+                }
                 break;
             case 60 :
-                // D:\\workspace\\jboss\\jbossrules\\drools-compiler\\src\\main\\resources\\org\\drools\\semantics\\java\\parser\\JavaParser.g:1:292: EQUAL
-            {
-                mEQUAL();
+                // C:\\dev\\jbossrules\\trunk3\\drools-compiler\\src\\main\\resources\\org\\drools\\semantics\\java\\parser\\JavaParser.g:1:292: EQUAL
+                {
+                mEQUAL(); 
 
-            }
+                }
                 break;
             case 61 :
-                // D:\\workspace\\jboss\\jbossrules\\drools-compiler\\src\\main\\resources\\org\\drools\\semantics\\java\\parser\\JavaParser.g:1:298: LNOT
-            {
-                mLNOT();
+                // C:\\dev\\jbossrules\\trunk3\\drools-compiler\\src\\main\\resources\\org\\drools\\semantics\\java\\parser\\JavaParser.g:1:298: LNOT
+                {
+                mLNOT(); 
 
-            }
+                }
                 break;
             case 62 :
-                // D:\\workspace\\jboss\\jbossrules\\drools-compiler\\src\\main\\resources\\org\\drools\\semantics\\java\\parser\\JavaParser.g:1:303: BNOT
-            {
-                mBNOT();
+                // C:\\dev\\jbossrules\\trunk3\\drools-compiler\\src\\main\\resources\\org\\drools\\semantics\\java\\parser\\JavaParser.g:1:303: BNOT
+                {
+                mBNOT(); 
 
-            }
+                }
                 break;
             case 63 :
-                // D:\\workspace\\jboss\\jbossrules\\drools-compiler\\src\\main\\resources\\org\\drools\\semantics\\java\\parser\\JavaParser.g:1:308: NOT_EQUAL
-            {
-                mNOT_EQUAL();
+                // C:\\dev\\jbossrules\\trunk3\\drools-compiler\\src\\main\\resources\\org\\drools\\semantics\\java\\parser\\JavaParser.g:1:308: NOT_EQUAL
+                {
+                mNOT_EQUAL(); 
 
-            }
+                }
                 break;
             case 64 :
-                // D:\\workspace\\jboss\\jbossrules\\drools-compiler\\src\\main\\resources\\org\\drools\\semantics\\java\\parser\\JavaParser.g:1:318: DIV
-            {
-                mDIV();
+                // C:\\dev\\jbossrules\\trunk3\\drools-compiler\\src\\main\\resources\\org\\drools\\semantics\\java\\parser\\JavaParser.g:1:318: DIV
+                {
+                mDIV(); 
 
-            }
+                }
                 break;
             case 65 :
-                // D:\\workspace\\jboss\\jbossrules\\drools-compiler\\src\\main\\resources\\org\\drools\\semantics\\java\\parser\\JavaParser.g:1:322: DIV_ASSIGN
-            {
-                mDIV_ASSIGN();
+                // C:\\dev\\jbossrules\\trunk3\\drools-compiler\\src\\main\\resources\\org\\drools\\semantics\\java\\parser\\JavaParser.g:1:322: DIV_ASSIGN
+                {
+                mDIV_ASSIGN(); 
 
-            }
+                }
                 break;
             case 66 :
-                // D:\\workspace\\jboss\\jbossrules\\drools-compiler\\src\\main\\resources\\org\\drools\\semantics\\java\\parser\\JavaParser.g:1:333: PLUS
-            {
-                mPLUS();
+                // C:\\dev\\jbossrules\\trunk3\\drools-compiler\\src\\main\\resources\\org\\drools\\semantics\\java\\parser\\JavaParser.g:1:333: PLUS
+                {
+                mPLUS(); 
 
-            }
+                }
                 break;
             case 67 :
-                // D:\\workspace\\jboss\\jbossrules\\drools-compiler\\src\\main\\resources\\org\\drools\\semantics\\java\\parser\\JavaParser.g:1:338: PLUS_ASSIGN
-            {
-                mPLUS_ASSIGN();
+                // C:\\dev\\jbossrules\\trunk3\\drools-compiler\\src\\main\\resources\\org\\drools\\semantics\\java\\parser\\JavaParser.g:1:338: PLUS_ASSIGN
+                {
+                mPLUS_ASSIGN(); 
 
-            }
+                }
                 break;
             case 68 :
-                // D:\\workspace\\jboss\\jbossrules\\drools-compiler\\src\\main\\resources\\org\\drools\\semantics\\java\\parser\\JavaParser.g:1:350: INC
-            {
-                mINC();
+                // C:\\dev\\jbossrules\\trunk3\\drools-compiler\\src\\main\\resources\\org\\drools\\semantics\\java\\parser\\JavaParser.g:1:350: INC
+                {
+                mINC(); 
 
-            }
+                }
                 break;
             case 69 :
-                // D:\\workspace\\jboss\\jbossrules\\drools-compiler\\src\\main\\resources\\org\\drools\\semantics\\java\\parser\\JavaParser.g:1:354: MINUS
-            {
-                mMINUS();
+                // C:\\dev\\jbossrules\\trunk3\\drools-compiler\\src\\main\\resources\\org\\drools\\semantics\\java\\parser\\JavaParser.g:1:354: MINUS
+                {
+                mMINUS(); 
 
-            }
+                }
                 break;
             case 70 :
-                // D:\\workspace\\jboss\\jbossrules\\drools-compiler\\src\\main\\resources\\org\\drools\\semantics\\java\\parser\\JavaParser.g:1:360: MINUS_ASSIGN
-            {
-                mMINUS_ASSIGN();
+                // C:\\dev\\jbossrules\\trunk3\\drools-compiler\\src\\main\\resources\\org\\drools\\semantics\\java\\parser\\JavaParser.g:1:360: MINUS_ASSIGN
+                {
+                mMINUS_ASSIGN(); 
 
-            }
+                }
                 break;
             case 71 :
-                // D:\\workspace\\jboss\\jbossrules\\drools-compiler\\src\\main\\resources\\org\\drools\\semantics\\java\\parser\\JavaParser.g:1:373: DEC
-            {
-                mDEC();
+                // C:\\dev\\jbossrules\\trunk3\\drools-compiler\\src\\main\\resources\\org\\drools\\semantics\\java\\parser\\JavaParser.g:1:373: DEC
+                {
+                mDEC(); 
 
-            }
+                }
                 break;
             case 72 :
-                // D:\\workspace\\jboss\\jbossrules\\drools-compiler\\src\\main\\resources\\org\\drools\\semantics\\java\\parser\\JavaParser.g:1:377: STAR
-            {
-                mSTAR();
+                // C:\\dev\\jbossrules\\trunk3\\drools-compiler\\src\\main\\resources\\org\\drools\\semantics\\java\\parser\\JavaParser.g:1:377: STAR
+                {
+                mSTAR(); 
 
-            }
+                }
                 break;
             case 73 :
-                // D:\\workspace\\jboss\\jbossrules\\drools-compiler\\src\\main\\resources\\org\\drools\\semantics\\java\\parser\\JavaParser.g:1:382: STAR_ASSIGN
-            {
-                mSTAR_ASSIGN();
+                // C:\\dev\\jbossrules\\trunk3\\drools-compiler\\src\\main\\resources\\org\\drools\\semantics\\java\\parser\\JavaParser.g:1:382: STAR_ASSIGN
+                {
+                mSTAR_ASSIGN(); 
 
-            }
+                }
                 break;
             case 74 :
-                // D:\\workspace\\jboss\\jbossrules\\drools-compiler\\src\\main\\resources\\org\\drools\\semantics\\java\\parser\\JavaParser.g:1:394: MOD
-            {
-                mMOD();
+                // C:\\dev\\jbossrules\\trunk3\\drools-compiler\\src\\main\\resources\\org\\drools\\semantics\\java\\parser\\JavaParser.g:1:394: MOD
+                {
+                mMOD(); 
 
-            }
+                }
                 break;
             case 75 :
-                // D:\\workspace\\jboss\\jbossrules\\drools-compiler\\src\\main\\resources\\org\\drools\\semantics\\java\\parser\\JavaParser.g:1:398: MOD_ASSIGN
-            {
-                mMOD_ASSIGN();
+                // C:\\dev\\jbossrules\\trunk3\\drools-compiler\\src\\main\\resources\\org\\drools\\semantics\\java\\parser\\JavaParser.g:1:398: MOD_ASSIGN
+                {
+                mMOD_ASSIGN(); 
 
-            }
+                }
                 break;
             case 76 :
-                // D:\\workspace\\jboss\\jbossrules\\drools-compiler\\src\\main\\resources\\org\\drools\\semantics\\java\\parser\\JavaParser.g:1:409: SR
-            {
-                mSR();
+                // C:\\dev\\jbossrules\\trunk3\\drools-compiler\\src\\main\\resources\\org\\drools\\semantics\\java\\parser\\JavaParser.g:1:409: SR
+                {
+                mSR(); 
 
-            }
+                }
                 break;
             case 77 :
-                // D:\\workspace\\jboss\\jbossrules\\drools-compiler\\src\\main\\resources\\org\\drools\\semantics\\java\\parser\\JavaParser.g:1:412: SR_ASSIGN
-            {
-                mSR_ASSIGN();
+                // C:\\dev\\jbossrules\\trunk3\\drools-compiler\\src\\main\\resources\\org\\drools\\semantics\\java\\parser\\JavaParser.g:1:412: SR_ASSIGN
+                {
+                mSR_ASSIGN(); 
 
-            }
+                }
                 break;
             case 78 :
-                // D:\\workspace\\jboss\\jbossrules\\drools-compiler\\src\\main\\resources\\org\\drools\\semantics\\java\\parser\\JavaParser.g:1:422: BSR
-            {
-                mBSR();
+                // C:\\dev\\jbossrules\\trunk3\\drools-compiler\\src\\main\\resources\\org\\drools\\semantics\\java\\parser\\JavaParser.g:1:422: BSR
+                {
+                mBSR(); 
 
-            }
+                }
                 break;
             case 79 :
-                // D:\\workspace\\jboss\\jbossrules\\drools-compiler\\src\\main\\resources\\org\\drools\\semantics\\java\\parser\\JavaParser.g:1:426: BSR_ASSIGN
-            {
-                mBSR_ASSIGN();
+                // C:\\dev\\jbossrules\\trunk3\\drools-compiler\\src\\main\\resources\\org\\drools\\semantics\\java\\parser\\JavaParser.g:1:426: BSR_ASSIGN
+                {
+                mBSR_ASSIGN(); 
 
-            }
+                }
                 break;
             case 80 :
-                // D:\\workspace\\jboss\\jbossrules\\drools-compiler\\src\\main\\resources\\org\\drools\\semantics\\java\\parser\\JavaParser.g:1:437: GE
-            {
-                mGE();
+                // C:\\dev\\jbossrules\\trunk3\\drools-compiler\\src\\main\\resources\\org\\drools\\semantics\\java\\parser\\JavaParser.g:1:437: GE
+                {
+                mGE(); 
 
-            }
+                }
                 break;
             case 81 :
-                // D:\\workspace\\jboss\\jbossrules\\drools-compiler\\src\\main\\resources\\org\\drools\\semantics\\java\\parser\\JavaParser.g:1:440: GT
-            {
-                mGT();
+                // C:\\dev\\jbossrules\\trunk3\\drools-compiler\\src\\main\\resources\\org\\drools\\semantics\\java\\parser\\JavaParser.g:1:440: GT
+                {
+                mGT(); 
 
-            }
+                }
                 break;
             case 82 :
-                // D:\\workspace\\jboss\\jbossrules\\drools-compiler\\src\\main\\resources\\org\\drools\\semantics\\java\\parser\\JavaParser.g:1:443: SL
-            {
-                mSL();
+                // C:\\dev\\jbossrules\\trunk3\\drools-compiler\\src\\main\\resources\\org\\drools\\semantics\\java\\parser\\JavaParser.g:1:443: SL
+                {
+                mSL(); 
 
-            }
+                }
                 break;
             case 83 :
-                // D:\\workspace\\jboss\\jbossrules\\drools-compiler\\src\\main\\resources\\org\\drools\\semantics\\java\\parser\\JavaParser.g:1:446: SL_ASSIGN
-            {
-                mSL_ASSIGN();
+                // C:\\dev\\jbossrules\\trunk3\\drools-compiler\\src\\main\\resources\\org\\drools\\semantics\\java\\parser\\JavaParser.g:1:446: SL_ASSIGN
+                {
+                mSL_ASSIGN(); 
 
-            }
+                }
                 break;
             case 84 :
-                // D:\\workspace\\jboss\\jbossrules\\drools-compiler\\src\\main\\resources\\org\\drools\\semantics\\java\\parser\\JavaParser.g:1:456: LE
-            {
-                mLE();
+                // C:\\dev\\jbossrules\\trunk3\\drools-compiler\\src\\main\\resources\\org\\drools\\semantics\\java\\parser\\JavaParser.g:1:456: LE
+                {
+                mLE(); 
 
-            }
+                }
                 break;
             case 85 :
-                // D:\\workspace\\jboss\\jbossrules\\drools-compiler\\src\\main\\resources\\org\\drools\\semantics\\java\\parser\\JavaParser.g:1:459: LT
-            {
-                mLT();
+                // C:\\dev\\jbossrules\\trunk3\\drools-compiler\\src\\main\\resources\\org\\drools\\semantics\\java\\parser\\JavaParser.g:1:459: LT
+                {
+                mLT(); 
 
-            }
+                }
                 break;
             case 86 :
-                // D:\\workspace\\jboss\\jbossrules\\drools-compiler\\src\\main\\resources\\org\\drools\\semantics\\java\\parser\\JavaParser.g:1:462: BXOR
-            {
-                mBXOR();
+                // C:\\dev\\jbossrules\\trunk3\\drools-compiler\\src\\main\\resources\\org\\drools\\semantics\\java\\parser\\JavaParser.g:1:462: BXOR
+                {
+                mBXOR(); 
 
-            }
+                }
                 break;
             case 87 :
-                // D:\\workspace\\jboss\\jbossrules\\drools-compiler\\src\\main\\resources\\org\\drools\\semantics\\java\\parser\\JavaParser.g:1:467: BXOR_ASSIGN
-            {
-                mBXOR_ASSIGN();
+                // C:\\dev\\jbossrules\\trunk3\\drools-compiler\\src\\main\\resources\\org\\drools\\semantics\\java\\parser\\JavaParser.g:1:467: BXOR_ASSIGN
+                {
+                mBXOR_ASSIGN(); 
 
-            }
+                }
                 break;
             case 88 :
-                // D:\\workspace\\jboss\\jbossrules\\drools-compiler\\src\\main\\resources\\org\\drools\\semantics\\java\\parser\\JavaParser.g:1:479: BOR
-            {
-                mBOR();
+                // C:\\dev\\jbossrules\\trunk3\\drools-compiler\\src\\main\\resources\\org\\drools\\semantics\\java\\parser\\JavaParser.g:1:479: BOR
+                {
+                mBOR(); 
 
-            }
+                }
                 break;
             case 89 :
-                // D:\\workspace\\jboss\\jbossrules\\drools-compiler\\src\\main\\resources\\org\\drools\\semantics\\java\\parser\\JavaParser.g:1:483: BOR_ASSIGN
-            {
-                mBOR_ASSIGN();
+                // C:\\dev\\jbossrules\\trunk3\\drools-compiler\\src\\main\\resources\\org\\drools\\semantics\\java\\parser\\JavaParser.g:1:483: BOR_ASSIGN
+                {
+                mBOR_ASSIGN(); 
 
-            }
+                }
                 break;
             case 90 :
-                // D:\\workspace\\jboss\\jbossrules\\drools-compiler\\src\\main\\resources\\org\\drools\\semantics\\java\\parser\\JavaParser.g:1:494: LOR
-            {
-                mLOR();
+                // C:\\dev\\jbossrules\\trunk3\\drools-compiler\\src\\main\\resources\\org\\drools\\semantics\\java\\parser\\JavaParser.g:1:494: LOR
+                {
+                mLOR(); 
 
-            }
+                }
                 break;
             case 91 :
-                // D:\\workspace\\jboss\\jbossrules\\drools-compiler\\src\\main\\resources\\org\\drools\\semantics\\java\\parser\\JavaParser.g:1:498: BAND
-            {
-                mBAND();
+                // C:\\dev\\jbossrules\\trunk3\\drools-compiler\\src\\main\\resources\\org\\drools\\semantics\\java\\parser\\JavaParser.g:1:498: BAND
+                {
+                mBAND(); 
 
-            }
+                }
                 break;
             case 92 :
-                // D:\\workspace\\jboss\\jbossrules\\drools-compiler\\src\\main\\resources\\org\\drools\\semantics\\java\\parser\\JavaParser.g:1:503: BAND_ASSIGN
-            {
-                mBAND_ASSIGN();
+                // C:\\dev\\jbossrules\\trunk3\\drools-compiler\\src\\main\\resources\\org\\drools\\semantics\\java\\parser\\JavaParser.g:1:503: BAND_ASSIGN
+                {
+                mBAND_ASSIGN(); 
 
-            }
+                }
                 break;
             case 93 :
-                // D:\\workspace\\jboss\\jbossrules\\drools-compiler\\src\\main\\resources\\org\\drools\\semantics\\java\\parser\\JavaParser.g:1:515: LAND
-            {
-                mLAND();
+                // C:\\dev\\jbossrules\\trunk3\\drools-compiler\\src\\main\\resources\\org\\drools\\semantics\\java\\parser\\JavaParser.g:1:515: LAND
+                {
+                mLAND(); 
 
-            }
+                }
                 break;
             case 94 :
-                // D:\\workspace\\jboss\\jbossrules\\drools-compiler\\src\\main\\resources\\org\\drools\\semantics\\java\\parser\\JavaParser.g:1:520: SEMI
-            {
-                mSEMI();
+                // C:\\dev\\jbossrules\\trunk3\\drools-compiler\\src\\main\\resources\\org\\drools\\semantics\\java\\parser\\JavaParser.g:1:520: SEMI
+                {
+                mSEMI(); 
 
-            }
+                }
                 break;
             case 95 :
-                // D:\\workspace\\jboss\\jbossrules\\drools-compiler\\src\\main\\resources\\org\\drools\\semantics\\java\\parser\\JavaParser.g:1:525: WS
-            {
-                mWS();
+                // C:\\dev\\jbossrules\\trunk3\\drools-compiler\\src\\main\\resources\\org\\drools\\semantics\\java\\parser\\JavaParser.g:1:525: WS
+                {
+                mWS(); 
 
-            }
+                }
                 break;
             case 96 :
-                // D:\\workspace\\jboss\\jbossrules\\drools-compiler\\src\\main\\resources\\org\\drools\\semantics\\java\\parser\\JavaParser.g:1:528: SL_COMMENT
-            {
-                mSL_COMMENT();
+                // C:\\dev\\jbossrules\\trunk3\\drools-compiler\\src\\main\\resources\\org\\drools\\semantics\\java\\parser\\JavaParser.g:1:528: SL_COMMENT
+                {
+                mSL_COMMENT(); 
 
-            }
+                }
                 break;
             case 97 :
-                // D:\\workspace\\jboss\\jbossrules\\drools-compiler\\src\\main\\resources\\org\\drools\\semantics\\java\\parser\\JavaParser.g:1:539: ML_COMMENT
-            {
-                mML_COMMENT();
+                // C:\\dev\\jbossrules\\trunk3\\drools-compiler\\src\\main\\resources\\org\\drools\\semantics\\java\\parser\\JavaParser.g:1:539: ML_COMMENT
+                {
+                mML_COMMENT(); 
 
-            }
+                }
                 break;
             case 98 :
-                // D:\\workspace\\jboss\\jbossrules\\drools-compiler\\src\\main\\resources\\org\\drools\\semantics\\java\\parser\\JavaParser.g:1:550: IDENT
-            {
-                mIDENT();
+                // C:\\dev\\jbossrules\\trunk3\\drools-compiler\\src\\main\\resources\\org\\drools\\semantics\\java\\parser\\JavaParser.g:1:550: IDENT
+                {
+                mIDENT(); 
 
-            }
+                }
                 break;
             case 99 :
-                // D:\\workspace\\jboss\\jbossrules\\drools-compiler\\src\\main\\resources\\org\\drools\\semantics\\java\\parser\\JavaParser.g:1:556: NUM_INT
-            {
-                mNUM_INT();
+                // C:\\dev\\jbossrules\\trunk3\\drools-compiler\\src\\main\\resources\\org\\drools\\semantics\\java\\parser\\JavaParser.g:1:556: NUM_INT
+                {
+                mNUM_INT(); 
 
-            }
+                }
                 break;
             case 100 :
-                // D:\\workspace\\jboss\\jbossrules\\drools-compiler\\src\\main\\resources\\org\\drools\\semantics\\java\\parser\\JavaParser.g:1:564: NUM_FLOAT
-            {
-                mNUM_FLOAT();
+                // C:\\dev\\jbossrules\\trunk3\\drools-compiler\\src\\main\\resources\\org\\drools\\semantics\\java\\parser\\JavaParser.g:1:564: NUM_FLOAT
+                {
+                mNUM_FLOAT(); 
 
-            }
+                }
                 break;
             case 101 :
-                // D:\\workspace\\jboss\\jbossrules\\drools-compiler\\src\\main\\resources\\org\\drools\\semantics\\java\\parser\\JavaParser.g:1:574: CHAR_LITERAL
-            {
-                mCHAR_LITERAL();
+                // C:\\dev\\jbossrules\\trunk3\\drools-compiler\\src\\main\\resources\\org\\drools\\semantics\\java\\parser\\JavaParser.g:1:574: CHAR_LITERAL
+                {
+                mCHAR_LITERAL(); 
 
-            }
+                }
                 break;
             case 102 :
-                // D:\\workspace\\jboss\\jbossrules\\drools-compiler\\src\\main\\resources\\org\\drools\\semantics\\java\\parser\\JavaParser.g:1:587: STRING_LITERAL
-            {
-                mSTRING_LITERAL();
+                // C:\\dev\\jbossrules\\trunk3\\drools-compiler\\src\\main\\resources\\org\\drools\\semantics\\java\\parser\\JavaParser.g:1:587: STRING_LITERAL
+                {
+                mSTRING_LITERAL(); 
 
-            }
+                }
                 break;
 
         }
 
     }
 
-    protected DFA19              dfa19            = new DFA19( this );
-    protected DFA25              dfa25            = new DFA25( this );
-    public static final String   DFA19_eotS       = "\7\uffff\1\10\2\uffff";
-    public static final String   DFA19_eofS       = "\12\uffff";
-    public static final String   DFA19_minS       = "\2\56\2\uffff\1\53\1\uffff\2\60\2\uffff";
-    public static final String   DFA19_maxS       = "\1\71\1\146\2\uffff\1\71\1\uffff\1\71\1\146\2\uffff";
-    public static final String   DFA19_acceptS    = "\2\uffff\1\2\1\5\1\uffff\1\1\2\uffff\1\4\1\3";
-    public static final String   DFA19_specialS   = "\12\uffff}>";
-    public static final String[] DFA19_transition = {"\1\2\1\uffff\12\1", "\1\5\1\uffff\12\1\12\uffff\1\3\1\4\1\3\35\uffff\1\3\1\4\1\3", "", "", "\1\6\1\uffff\1\6\2\uffff\12\7", "", "\12\7",
-            "\12\7\12\uffff\1\11\1\uffff\1\11\35\uffff\1\11\1\uffff\1\11", "", ""};
 
+    protected DFA19 dfa19 = new DFA19(this);
+    protected DFA25 dfa25 = new DFA25(this);
+    static final String DFA19_eotS =
+        "\7\uffff\1\10\2\uffff";
+    static final String DFA19_eofS =
+        "\12\uffff";
+    static final String DFA19_minS =
+        "\2\56\2\uffff\1\53\1\uffff\2\60\2\uffff";
+    static final String DFA19_maxS =
+        "\1\71\1\146\2\uffff\1\71\1\uffff\1\71\1\146\2\uffff";
+    static final String DFA19_acceptS =
+        "\2\uffff\1\2\1\1\1\uffff\1\5\2\uffff\1\4\1\3";
+    static final String DFA19_specialS =
+        "\12\uffff}>";
+    static final String[] DFA19_transitionS = {
+            "\1\2\1\uffff\12\1",
+            "\1\3\1\uffff\12\1\12\uffff\1\5\1\4\1\5\35\uffff\1\5\1\4\1\5",
+            "",
+            "",
+            "\1\6\1\uffff\1\6\2\uffff\12\7",
+            "",
+            "\12\7",
+            "\12\7\12\uffff\1\11\1\uffff\1\11\35\uffff\1\11\1\uffff\1\11",
+            "",
+            ""
+    };
+
+    static final short[] DFA19_eot = DFA.unpackEncodedString(DFA19_eotS);
+    static final short[] DFA19_eof = DFA.unpackEncodedString(DFA19_eofS);
+    static final char[] DFA19_min = DFA.unpackEncodedStringToUnsignedChars(DFA19_minS);
+    static final char[] DFA19_max = DFA.unpackEncodedStringToUnsignedChars(DFA19_maxS);
+    static final short[] DFA19_accept = DFA.unpackEncodedString(DFA19_acceptS);
+    static final short[] DFA19_special = DFA.unpackEncodedString(DFA19_specialS);
+    static final short[][] DFA19_transition;
+
+    static {
+        int numStates = DFA19_transitionS.length;
+        DFA19_transition = new short[numStates][];
+        for (int i=0; i<numStates; i++) {
+            DFA19_transition[i] = DFA.unpackEncodedString(DFA19_transitionS[i]);
+        }
+    }
+
     class DFA19 extends DFA {
-        public DFA19(final BaseRecognizer recognizer) {
+
+        public DFA19(BaseRecognizer recognizer) {
             this.recognizer = recognizer;
             this.decisionNumber = 19;
-            this.eot = DFA.unpackEncodedString( DFA19_eotS );
-            this.eof = DFA.unpackEncodedString( DFA19_eofS );
-            this.min = DFA.unpackEncodedStringToUnsignedChars( DFA19_minS );
-            this.max = DFA.unpackEncodedStringToUnsignedChars( DFA19_maxS );
-            this.accept = DFA.unpackEncodedString( DFA19_acceptS );
-            this.special = DFA.unpackEncodedString( DFA19_specialS );
-            final int numStates = DFA19_transition.length;
-            this.transition = new short[numStates][];
-            for ( int i = 0; i < numStates; i++ ) {
-                this.transition[i] = DFA.unpackEncodedString( DFA19_transition[i] );
-            }
+            this.eot = DFA19_eot;
+            this.eof = DFA19_eof;
+            this.min = DFA19_min;
+            this.max = DFA19_max;
+            this.accept = DFA19_accept;
+            this.special = DFA19_special;
+            this.transition = DFA19_transition;
         }
-
         public String getDescription() {
             return "1104:1: NUM_FLOAT : ( DIGITS '.' ( DIGITS )? ( EXPONENT_PART )? ( FLOAT_TYPE_SUFFIX )? | '.' DIGITS ( EXPONENT_PART )? ( FLOAT_TYPE_SUFFIX )? | DIGITS EXPONENT_PART FLOAT_TYPE_SUFFIX | DIGITS EXPONENT_PART | DIGITS FLOAT_TYPE_SUFFIX );";
         }
     }
+    static final String DFA25_eotS =
+        "\1\uffff\17\51\11\uffff\1\121\1\124\1\126\1\uffff\1\132\1\135\1"+
+        "\140\1\142\1\144\1\147\1\152\1\154\1\157\1\162\3\uffff\2\163\2\uffff"+
+        "\16\51\1\u0088\6\51\1\u0090\15\51\25\uffff\1\u00a4\2\uffff\1\u00a6"+
+        "\12\uffff\2\163\21\51\1\u00b9\1\uffff\3\51\1\u00bd\3\51\1\uffff"+
+        "\7\51\1\u00c9\3\51\1\u00cd\5\51\1\u00d4\4\uffff\1\u00d5\2\51\1\u00d8"+
+        "\1\51\1\u00da\1\51\1\u00dc\12\51\1\uffff\3\51\1\uffff\1\51\1\u00eb"+
+        "\7\51\1\u00f3\1\51\1\uffff\1\u00f5\2\51\1\uffff\1\u00f8\1\u00f9"+
+        "\3\51\3\uffff\2\51\1\uffff\1\u00ff\1\uffff\1\u0100\1\uffff\1\u0101"+
+        "\1\51\1\u0103\3\51\1\u0107\4\51\1\u010c\1\u010e\1\u010f\1\uffff"+
+        "\5\51\1\u0116\1\51\1\uffff\1\51\1\uffff\2\51\2\uffff\1\51\1\u011c"+
+        "\3\51\3\uffff\1\51\1\uffff\2\51\1\u0123\1\uffff\1\u0124\3\51\1\uffff"+
+        "\1\51\2\uffff\1\u0129\1\51\1\u012b\2\51\1\u012e\1\uffff\3\51\1\u0132"+
+        "\1\51\1\uffff\1\u0134\1\51\1\u0136\3\51\2\uffff\3\51\1\u013d\1\uffff"+
+        "\1\u013e\1\uffff\1\51\1\u0140\1\uffff\3\51\1\uffff\1\u0144\1\uffff"+
+        "\1\u0145\1\uffff\1\u0146\1\51\1\u0148\3\51\2\uffff\1\51\1\uffff"+
+        "\2\51\1\u014f\3\uffff\1\51\1\uffff\1\51\1\u0152\1\51\1\u0154\1\51"+
+        "\1\u0156\1\uffff\1\51\1\u0158\1\uffff\1\u0159\1\uffff\1\u015a\1"+
+        "\uffff\1\51\3\uffff\1\u015c\1\uffff";
+    static final String DFA25_eofS =
+        "\u015d\uffff";
+    static final String DFA25_minS =
+        "\1\11\2\157\1\141\1\150\1\146\1\141\1\157\1\145\1\162\1\150\1\142"+
+        "\1\141\1\154\1\150\1\145\11\uffff\1\60\2\75\1\uffff\1\52\1\53\1"+
+        "\55\3\75\1\74\2\75\1\46\3\uffff\2\56\2\uffff\1\151\1\157\1\164\1"+
+        "\145\2\141\1\163\1\156\1\157\1\156\1\141\1\160\1\151\1\163\1\44"+
+        "\1\160\1\157\1\156\1\162\1\154\1\156\1\44\1\146\1\142\2\151\1\141"+
+        "\1\163\1\164\1\167\1\154\1\163\1\164\1\151\1\164\25\uffff\1\75\2"+
+        "\uffff\1\75\12\uffff\2\56\1\144\1\141\1\154\1\145\1\141\1\162\1"+
+        "\163\1\145\1\143\1\164\1\162\1\143\1\151\1\164\1\145\2\164\1\44"+
+        "\1\uffff\1\154\2\141\1\44\1\163\1\147\1\142\1\uffff\1\141\1\154"+
+        "\1\164\1\166\1\145\1\163\1\156\1\44\1\145\1\164\1\151\1\44\1\154"+
+        "\2\145\1\154\1\165\1\75\4\uffff\1\44\1\164\1\145\1\44\1\153\1\44"+
+        "\1\163\1\44\1\150\1\151\1\164\1\150\1\143\1\151\1\162\1\143\1\141"+
+        "\1\162\1\uffff\1\145\1\164\1\154\1\uffff\1\145\1\44\1\154\1\165"+
+        "\1\151\1\145\1\141\1\167\1\141\1\44\1\163\1\uffff\1\44\1\162\1\166"+
+        "\1\uffff\2\44\1\156\1\145\1\162\3\uffff\1\151\1\141\1\uffff\1\44"+
+        "\1\uffff\1\44\1\uffff\1\44\1\156\1\44\1\162\1\164\1\143\1\44\1\150"+
+        "\1\156\1\146\1\155\3\44\1\uffff\1\145\1\154\2\143\1\164\1\44\1\144"+
+        "\1\uffff\1\151\1\uffff\1\141\1\145\2\uffff\1\144\1\44\1\156\1\154"+
+        "\1\156\3\uffff\1\165\1\uffff\1\157\1\146\1\44\1\uffff\1\44\1\143"+
+        "\1\141\1\145\1\uffff\1\171\2\uffff\1\44\1\164\1\44\1\164\1\145\1"+
+        "\44\1\uffff\1\163\1\145\1\143\1\44\1\163\1\uffff\1\44\1\145\1\44"+
+        "\1\145\1\156\1\160\2\uffff\1\145\1\143\1\156\1\44\1\uffff\1\44\1"+
+        "\uffff\1\145\1\44\1\uffff\1\141\1\156\1\164\1\uffff\1\44\1\uffff"+
+        "\1\44\1\uffff\1\44\1\151\1\44\1\157\1\145\1\164\2\uffff\1\144\1"+
+        "\uffff\1\146\1\164\1\44\3\uffff\1\172\1\uffff\1\146\1\44\1\163\1"+
+        "\44\1\145\1\44\1\uffff\1\145\1\44\1\uffff\1\44\1\uffff\1\44\1\uffff"+
+        "\1\144\3\uffff\1\44\1\uffff";
+    static final String DFA25_maxS =
+        "\1\176\1\157\1\171\1\157\1\171\1\156\3\157\1\165\1\162\1\142\1\165"+
+        "\1\170\1\150\1\145\11\uffff\1\71\2\75\1\uffff\5\75\1\76\2\75\1\174"+
+        "\1\75\3\uffff\2\146\2\uffff\1\154\1\157\1\164\1\145\2\141\1\164"+
+        "\1\156\1\157\1\156\1\162\1\160\1\151\1\164\1\172\1\160\1\157\1\156"+
+        "\1\162\1\154\1\156\1\172\1\146\1\142\1\157\1\162\1\171\1\163\1\164"+
+        "\1\167\1\154\1\163\1\164\1\151\1\164\25\uffff\1\76\2\uffff\1\75"+
+        "\12\uffff\2\146\1\144\1\141\1\154\1\145\1\141\1\162\1\163\1\145"+
+        "\1\143\1\164\1\162\1\143\1\151\1\164\1\145\2\164\1\172\1\uffff\1"+
+        "\154\2\141\1\172\1\163\1\147\1\142\1\uffff\1\141\1\154\1\164\1\166"+
+        "\1\157\1\163\1\156\1\172\1\145\1\164\1\151\1\172\1\154\2\145\1\154"+
+        "\1\165\1\75\4\uffff\1\172\1\164\1\145\1\172\1\153\1\172\1\163\1"+
+        "\172\1\150\1\151\1\164\1\150\1\143\1\151\1\162\1\143\1\141\1\162"+
+        "\1\uffff\1\145\1\164\1\154\1\uffff\1\145\1\172\1\154\1\165\1\151"+
+        "\1\145\1\141\1\167\1\141\1\172\1\163\1\uffff\1\172\1\162\1\166\1"+
+        "\uffff\2\172\1\156\1\145\1\162\3\uffff\1\151\1\141\1\uffff\1\172"+
+        "\1\uffff\1\172\1\uffff\1\172\1\156\1\172\1\162\1\164\1\143\1\172"+
+        "\1\150\1\156\1\146\1\155\3\172\1\uffff\1\145\1\154\2\143\1\164\1"+
+        "\172\1\144\1\uffff\1\151\1\uffff\1\141\1\145\2\uffff\1\144\1\172"+
+        "\1\156\1\154\1\156\3\uffff\1\165\1\uffff\1\157\1\146\1\172\1\uffff"+
+        "\1\172\1\143\1\141\1\145\1\uffff\1\171\2\uffff\1\172\1\164\1\172"+
+        "\1\164\1\145\1\172\1\uffff\1\163\1\145\1\143\1\172\1\163\1\uffff"+
+        "\1\172\1\145\1\172\1\145\1\156\1\160\2\uffff\1\145\1\143\1\156\1"+
+        "\172\1\uffff\1\172\1\uffff\1\145\1\172\1\uffff\1\141\1\156\1\164"+
+        "\1\uffff\1\172\1\uffff\1\172\1\uffff\1\172\1\151\1\172\1\157\1\145"+
+        "\1\164\2\uffff\1\144\1\uffff\1\146\1\164\1\172\3\uffff\1\172\1\uffff"+
+        "\1\146\1\172\1\163\1\172\1\145\1\172\1\uffff\1\145\1\172\1\uffff"+
+        "\1\172\1\uffff\1\172\1\uffff\1\144\3\uffff\1\172\1\uffff";
+    static final String DFA25_acceptS =
+        "\20\uffff\1\61\1\62\1\63\1\64\1\65\1\66\1\67\1\70\1\71\3\uffff\1"+
+        "\76\12\uffff\1\136\1\137\1\142\2\uffff\1\145\1\146\43\uffff\1\72"+
+        "\1\144\1\74\1\73\1\77\1\75\1\141\1\140\1\101\1\100\1\104\1\103\1"+
+        "\102\1\107\1\106\1\105\1\111\1\110\1\113\1\112\1\120\1\uffff\1\121"+
+        "\1\124\1\uffff\1\125\1\127\1\126\1\131\1\132\1\130\1\134\1\135\1"+
+        "\133\1\143\24\uffff\1\35\7\uffff\1\41\22\uffff\1\115\1\114\1\123"+
+        "\1\122\22\uffff\1\6\3\uffff\1\37\13\uffff\1\51\3\uffff\1\60\5\uffff"+
+        "\1\117\1\116\1\1\2\uffff\1\3\1\uffff\1\4\1\uffff\1\47\16\uffff\1"+
+        "\10\7\uffff\1\32\1\uffff\1\55\2\uffff\1\57\1\36\5\uffff\1\42\1\26"+
+        "\1\53\1\uffff\1\5\3\uffff\1\33\4\uffff\1\7\1\uffff\1\17\1\56\6\uffff"+
+        "\1\46\5\uffff\1\40\6\uffff\1\15\1\45\4\uffff\1\11\1\uffff\1\13\2"+
+        "\uffff\1\34\3\uffff\1\21\1\uffff\1\44\1\uffff\1\2\6\uffff\1\52\1"+
+        "\50\1\uffff\1\12\3\uffff\1\27\1\24\1\43\1\uffff\1\25\6\uffff\1\20"+
+        "\2\uffff\1\30\1\uffff\1\14\1\uffff\1\16\1\uffff\1\54\1\31\1\22\1"+
+        "\uffff\1\23";
+    static final String DFA25_specialS =
+        "\u015d\uffff}>";
+    static final String[] DFA25_transitionS = {
+            "\2\50\1\uffff\2\50\22\uffff\1\50\1\33\1\55\1\uffff\1\51\1\41"+
+            "\1\46\1\54\1\21\1\22\1\40\1\36\1\30\1\37\1\31\1\35\1\53\11\52"+
+            "\1\27\1\47\1\43\1\32\1\42\1\20\1\uffff\32\51\1\23\1\uffff\1"+
+            "\24\1\44\1\51\1\uffff\1\13\1\2\1\3\1\10\1\15\1\6\2\51\1\5\2"+
+            "\51\1\7\1\51\1\14\1\51\1\11\1\51\1\17\1\4\1\12\1\51\1\1\1\16"+
+            "\3\51\1\25\1\45\1\26\1\34",
+            "\1\56",
+            "\1\57\2\uffff\1\61\6\uffff\1\60",
+            "\1\64\6\uffff\1\62\3\uffff\1\63\2\uffff\1\65",
+            "\1\66\13\uffff\1\70\1\71\1\uffff\1\72\1\uffff\1\67",
+            "\1\74\6\uffff\1\75\1\73",
+            "\1\101\7\uffff\1\77\2\uffff\1\76\2\uffff\1\100",
+            "\1\102",
+            "\1\104\11\uffff\1\103",
+            "\1\106\2\uffff\1\105",
+            "\1\107\11\uffff\1\110",
+            "\1\111",
+            "\1\112\3\uffff\1\113\17\uffff\1\114",
+            "\1\115\13\uffff\1\116",
+            "\1\117",
+            "\1\120",
+            "",
+            "",
+            "",
+            "",
+            "",
+            "",
+            "",
+            "",
+            "",
+            "\12\122",
+            "\1\123",
+            "\1\125",
+            "",
+            "\1\127\4\uffff\1\130\15\uffff\1\131",
+            "\1\133\21\uffff\1\134",
+            "\1\136\17\uffff\1\137",
+            "\1\141",
+            "\1\143",
+            "\1\145\1\146",
+            "\1\151\1\150",
+            "\1\153",
+            "\1\155\76\uffff\1\156",
+            "\1\161\26\uffff\1\160",
+            "",
+            "",
+            "",
+            "\1\122\1\uffff\12\164\12\uffff\3\122\35\uffff\3\122",
+            "\1\122\1\uffff\10\165\2\122\12\uffff\3\122\35\uffff\3\122",
+            "",
+            "",
+            "\1\166\2\uffff\1\167",
+            "\1\170",
+            "\1\171",
+            "\1\172",
+            "\1\173",
+            "\1\174",
+            "\1\175\1\176",
+            "\1\177",
+            "\1\u0080",
+            "\1\u0081",
+            "\1\u0083\20\uffff\1\u0082",
+            "\1\u0084",
+            "\1\u0085",
+            "\1\u0086\1\u0087",
+            "\1\51\13\uffff\12\51\7\uffff\32\51\4\uffff\1\51\1\uffff\32\51",
+            "\1\u0089",
+            "\1\u008a",
+            "\1\u008b",
+            "\1\u008c",
+            "\1\u008d",
+            "\1\u008e",
+            "\1\51\13\uffff\12\51\7\uffff\32\51\4\uffff\1\51\1\uffff\24\51"+
+            "\1\u008f\5\51",
+            "\1\u0091",
+            "\1\u0092",
+            "\1\u0094\5\uffff\1\u0093",
+            "\1\u0096\10\uffff\1\u0095",
+            "\1\u0097\23\uffff\1\u0099\3\uffff\1\u0098",
+            "\1\u009a",
+            "\1\u009b",
+            "\1\u009c",
+            "\1\u009d",
+            "\1\u009e",
+            "\1\u009f",
+            "\1\u00a0",
+            "\1\u00a1",
+            "",
+            "",
+            "",
+            "",
+            "",
+            "",
+            "",
+            "",
+            "",
+            "",
+            "",
+            "",
+            "",
+            "",
+            "",
+            "",
+            "",
+            "",
+            "",
+            "",
+            "",
+            "\1\u00a3\1\u00a2",
+            "",
+            "",
+            "\1\u00a5",
+            "",
+            "",
+            "",
+            "",
+            "",
+            "",
+            "",
+            "",
+            "",
+            "",
+            "\1\122\1\uffff\12\164\12\uffff\3\122\35\uffff\3\122",
+            "\1\122\1\uffff\10\165\2\122\12\uffff\3\122\35\uffff\3\122",
+            "\1\u00a7",
+            "\1\u00a8",
+            "\1\u00a9",
+            "\1\u00aa",
+            "\1\u00ab",
+            "\1\u00ac",
+            "\1\u00ad",
+            "\1\u00ae",
+            "\1\u00af",
+            "\1\u00b0",
+            "\1\u00b1",
+            "\1\u00b2",
+            "\1\u00b3",
+            "\1\u00b4",
+            "\1\u00b5",
+            "\1\u00b6",
+            "\1\u00b7",
+            "\1\51\13\uffff\12\51\7\uffff\32\51\4\uffff\1\51\1\uffff\4\51"+
+            "\1\u00b8\25\51",
+            "",
+            "\1\u00ba",
+            "\1\u00bb",
+            "\1\u00bc",
+            "\1\51\13\uffff\12\51\7\uffff\32\51\4\uffff\1\51\1\uffff\32\51",
+            "\1\u00be",
+            "\1\u00bf",
+            "\1\u00c0",
+            "",
+            "\1\u00c1",
+            "\1\u00c2",
+            "\1\u00c3",
+            "\1\u00c4",
+            "\1\u00c6\11\uffff\1\u00c5",
+            "\1\u00c7",
+            "\1\u00c8",
+            "\1\51\13\uffff\12\51\7\uffff\32\51\4\uffff\1\51\1\uffff\32\51",
+            "\1\u00ca",
+            "\1\u00cb",
+            "\1\u00cc",
+            "\1\51\13\uffff\12\51\7\uffff\32\51\4\uffff\1\51\1\uffff\32\51",
+            "\1\u00ce",
+            "\1\u00cf",
+            "\1\u00d0",
+            "\1\u00d1",
+            "\1\u00d2",
+            "\1\u00d3",
+            "",
+            "",
+            "",
+            "",
+            "\1\51\13\uffff\12\51\7\uffff\32\51\4\uffff\1\51\1\uffff\32\51",
+            "\1\u00d6",
+            "\1\u00d7",
+            "\1\51\13\uffff\12\51\7\uffff\32\51\4\uffff\1\51\1\uffff\32\51",
+            "\1\u00d9",
+            "\1\51\13\uffff\12\51\7\uffff\32\51\4\uffff\1\51\1\uffff\32\51",
+            "\1\u00db",
+            "\1\51\13\uffff\12\51\7\uffff\32\51\4\uffff\1\51\1\uffff\32\51",
+            "\1\u00dd",
+            "\1\u00de",
+            "\1\u00df",
+            "\1\u00e0",
+            "\1\u00e1",
+            "\1\u00e2",
+            "\1\u00e3",
+            "\1\u00e4",
+            "\1\u00e5",
+            "\1\u00e6",
+            "",
+            "\1\u00e7",
+            "\1\u00e8",
+            "\1\u00e9",
+            "",
+            "\1\u00ea",
+            "\1\51\13\uffff\12\51\7\uffff\32\51\4\uffff\1\51\1\uffff\32\51",
+            "\1\u00ec",
+            "\1\u00ed",
+            "\1\u00ee",
+            "\1\u00ef",
+            "\1\u00f0",
+            "\1\u00f1",
+            "\1\u00f2",
+            "\1\51\13\uffff\12\51\7\uffff\32\51\4\uffff\1\51\1\uffff\32\51",
+            "\1\u00f4",
+            "",
+            "\1\51\13\uffff\12\51\7\uffff\32\51\4\uffff\1\51\1\uffff\32\51",
+            "\1\u00f6",
+            "\1\u00f7",
+            "",
+            "\1\51\13\uffff\12\51\7\uffff\32\51\4\uffff\1\51\1\uffff\32\51",
+            "\1\51\13\uffff\12\51\7\uffff\32\51\4\uffff\1\51\1\uffff\32\51",
+            "\1\u00fa",
+            "\1\u00fb",
+            "\1\u00fc",
+            "",
+            "",
+            "",
+            "\1\u00fd",
+            "\1\u00fe",
+            "",
+            "\1\51\13\uffff\12\51\7\uffff\32\51\4\uffff\1\51\1\uffff\32\51",
+            "",
+            "\1\51\13\uffff\12\51\7\uffff\32\51\4\uffff\1\51\1\uffff\32\51",
+            "",
+            "\1\51\13\uffff\12\51\7\uffff\32\51\4\uffff\1\51\1\uffff\32\51",
+            "\1\u0102",
+            "\1\51\13\uffff\12\51\7\uffff\32\51\4\uffff\1\51\1\uffff\32\51",
+            "\1\u0104",
+            "\1\u0105",
+            "\1\u0106",
+            "\1\51\13\uffff\12\51\7\uffff\32\51\4\uffff\1\51\1\uffff\32\51",
+            "\1\u0108",
+            "\1\u0109",
+            "\1\u010a",
+            "\1\u010b",
+            "\1\51\13\uffff\12\51\7\uffff\32\51\4\uffff\1\51\1\uffff\32\51",
+            "\1\51\13\uffff\12\51\7\uffff\32\51\4\uffff\1\51\1\uffff\13\51"+
+            "\1\u010d\16\51",
+            "\1\51\13\uffff\12\51\7\uffff\32\51\4\uffff\1\51\1\uffff\32\51",
+            "",
+            "\1\u0110",
+            "\1\u0111",
+            "\1\u0112",
+            "\1\u0113",
+            "\1\u0114",
+            "\1\51\13\uffff\12\51\7\uffff\32\51\4\uffff\1\51\1\uffff\22\51"+
+            "\1\u0115\7\51",
+            "\1\u0117",
+            "",
+            "\1\u0118",
+            "",
+            "\1\u0119",
+            "\1\u011a",
+            "",
+            "",
+            "\1\u011b",
+            "\1\51\13\uffff\12\51\7\uffff\32\51\4\uffff\1\51\1\uffff\32\51",
+            "\1\u011d",
+            "\1\u011e",
+            "\1\u011f",
+            "",
+            "",
+            "",
+            "\1\u0120",
+            "",
+            "\1\u0121",
+            "\1\u0122",
+            "\1\51\13\uffff\12\51\7\uffff\32\51\4\uffff\1\51\1\uffff\32\51",
+            "",
+            "\1\51\13\uffff\12\51\7\uffff\32\51\4\uffff\1\51\1\uffff\32\51",
+            "\1\u0125",
+            "\1\u0126",
+            "\1\u0127",
+            "",
+            "\1\u0128",
+            "",
+            "",
+            "\1\51\13\uffff\12\51\7\uffff\32\51\4\uffff\1\51\1\uffff\32\51",
+            "\1\u012a",
+            "\1\51\13\uffff\12\51\7\uffff\32\51\4\uffff\1\51\1\uffff\32\51",
+            "\1\u012c",
+            "\1\u012d",
+            "\1\51\13\uffff\12\51\7\uffff\32\51\4\uffff\1\51\1\uffff\32\51",
+            "",
+            "\1\u012f",
+            "\1\u0130",
+            "\1\u0131",
+            "\1\51\13\uffff\12\51\7\uffff\32\51\4\uffff\1\51\1\uffff\32\51",
+            "\1\u0133",
+            "",
+            "\1\51\13\uffff\12\51\7\uffff\32\51\4\uffff\1\51\1\uffff\32\51",
+            "\1\u0135",
+            "\1\51\13\uffff\12\51\7\uffff\32\51\4\uffff\1\51\1\uffff\32\51",
+            "\1\u0137",
+            "\1\u0138",
+            "\1\u0139",
+            "",
+            "",
+            "\1\u013a",
+            "\1\u013b",
+            "\1\u013c",
+            "\1\51\13\uffff\12\51\7\uffff\32\51\4\uffff\1\51\1\uffff\32\51",
+            "",
+            "\1\51\13\uffff\12\51\7\uffff\32\51\4\uffff\1\51\1\uffff\32\51",
+            "",
+            "\1\u013f",
+            "\1\51\13\uffff\12\51\7\uffff\32\51\4\uffff\1\51\1\uffff\32\51",
+            "",
+            "\1\u0141",
+            "\1\u0142",
+            "\1\u0143",
+            "",
+            "\1\51\13\uffff\12\51\7\uffff\32\51\4\uffff\1\51\1\uffff\32\51",
+            "",
+            "\1\51\13\uffff\12\51\7\uffff\32\51\4\uffff\1\51\1\uffff\32\51",
+            "",
+            "\1\51\13\uffff\12\51\7\uffff\32\51\4\uffff\1\51\1\uffff\32\51",
+            "\1\u0147",
+            "\1\51\13\uffff\12\51\7\uffff\32\51\4\uffff\1\51\1\uffff\32\51",
+            "\1\u0149",
+            "\1\u014a",
+            "\1\u014b",
+            "",
+            "",
+            "\1\u014c",
+            "",
+            "\1\u014d",
+            "\1\u014e",
+            "\1\51\13\uffff\12\51\7\uffff\32\51\4\uffff\1\51\1\uffff\32\51",
+            "",
+            "",
+            "",
+            "\1\u0150",
+            "",
+            "\1\u0151",
+            "\1\51\13\uffff\12\51\7\uffff\32\51\4\uffff\1\51\1\uffff\32\51",
+            "\1\u0153",
+            "\1\51\13\uffff\12\51\7\uffff\32\51\4\uffff\1\51\1\uffff\32\51",
+            "\1\u0155",
+            "\1\51\13\uffff\12\51\7\uffff\32\51\4\uffff\1\51\1\uffff\32\51",
+            "",
+            "\1\u0157",
+            "\1\51\13\uffff\12\51\7\uffff\32\51\4\uffff\1\51\1\uffff\32\51",
+            "",
+            "\1\51\13\uffff\12\51\7\uffff\32\51\4\uffff\1\51\1\uffff\32\51",
+            "",
+            "\1\51\13\uffff\12\51\7\uffff\32\51\4\uffff\1\51\1\uffff\32\51",
+            "",
+            "\1\u015b",
+            "",
+            "",
+            "",
+            "\1\51\13\uffff\12\51\7\uffff\32\51\4\uffff\1\51\1\uffff\32\51",
+            ""
+    };
 
-    public static final String   DFA25_eotS       = "\1\uffff\17\51\11\uffff\1\122\1\124\1\126\1\uffff\1\132\1\135\1" + "\140\1\142\1\144\1\147\1\152\1\154\1\157\1\162\3\uffff\2\163\2\uffff"
-                                                    + "\17\51\1\u0089\5\51\1\u0090\15\51\25\uffff\1\u00a4\1\uffff\1\u00a6" + "\13\uffff\2\163\21\51\1\u00b9\1\51\1\uffff\1\u00bb\5\51\1\uffff"
-                                                    + "\4\51\1\u00c5\7\51\1\u00ce\4\51\1\u00d4\4\uffff\1\u00d5\3\51\1\u00d9" + "\1\u00da\1\51\1\u00dc\12\51\1\uffff\1\51\1\uffff\3\51\1\u00eb\5"
-                                                    + "\51\1\uffff\1\51\1\u00f2\2\51\1\u00f5\1\51\1\u00f7\1\51\1\uffff" + "\1\u00f9\3\51\3\uffff\2\51\1\u00ff\2\uffff\1\u0100\1\uffff\1\u0101"
-                                                    + "\1\51\1\u0103\4\51\1\u0108\3\51\1\u010c\1\u010e\1\u010f\1\uffff" + "\6\51\1\uffff\1\51\1\u0118\1\uffff\1\51\1\uffff\1\51\1\uffff\1\51"
-                                                    + "\1\u011c\3\51\3\uffff\1\51\1\uffff\2\51\1\u0123\1\u0124\1\uffff" + "\3\51\1\uffff\1\51\2\uffff\1\u0129\1\51\1\u012b\4\51\1\u0130\1\uffff"
-                                                    + "\1\51\1\u0132\1\51\1\uffff\1\u0134\1\51\1\u0136\3\51\2\uffff\3\51" + "\1\u013d\1\uffff\1\u013e\1\uffff\1\51\1\u0140\2\51\1\uffff\1\51"
-                                                    + "\1\uffff\1\u0144\1\uffff\1\u0145\1\uffff\1\u0146\1\51\1\u0148\3" + "\51\2\uffff\1\51\1\uffff\2\51\1\u014f\3\uffff\1\51\1\uffff\1\51"
-                                                    + "\1\u0152\1\51\1\u0154\1\u0155\1\51\1\uffff\1\51\1\u0158\1\uffff" + "\1\u0159\2\uffff\1\u015a\1\51\3\uffff\1\u015c\1\uffff";
-    public static final String   DFA25_eofS       = "\u015d\uffff";
-    public static final String   DFA25_minS       = "\1\11\2\157\1\141\1\150\1\146\1\141\1\157\1\145\1\162\1\150\1\142" + "\1\141\1\154\1\150\1\145\11\uffff\1\60\2\75\1\uffff\1\52\1\53\1"
-                                                    + "\55\3\75\1\74\2\75\1\46\3\uffff\2\56\2\uffff\1\151\1\157\1\145\1" + "\164\1\163\2\141\1\156\1\160\1\156\1\141\1\151\1\157\1\160\1\163"
-                                                    + "\1\44\1\162\1\154\1\156\1\157\1\156\1\44\1\146\1\142\1\151\1\141" + "\1\151\1\163\1\154\1\164\1\167\1\163\1\164\1\151\1\164\25\uffff"
-                                                    + "\1\75\1\uffff\1\75\13\uffff\2\56\1\144\1\141\1\154\1\141\2\145\1" + "\143\1\162\1\163\1\164\1\145\1\143\1\151\2\164\1\162\1\154\1\44"
-                                                    + "\1\164\1\uffff\1\44\1\163\2\141\1\147\1\142\1\uffff\1\141\1\154" + "\1\164\1\166\1\44\1\156\2\145\1\163\1\164\1\154\1\151\1\44\2\145"
-                                                    + "\1\154\1\165\1\75\4\uffff\1\44\1\164\1\145\1\153\2\44\1\150\1\44" + "\1\163\1\151\1\162\1\150\1\143\1\151\1\143\1\164\1\145\1\162\1\uffff"
-                                                    + "\1\141\1\uffff\1\145\1\154\1\164\1\44\1\154\1\165\1\151\1\145\1" + "\141\1\uffff\1\163\1\44\1\141\1\167\1\44\1\162\1\44\1\166\1\uffff"
-                                                    + "\1\44\1\156\1\145\1\162\3\uffff\1\151\1\141\1\44\2\uffff\1\44\1" + "\uffff\1\44\1\156\1\44\1\162\1\164\1\143\1\150\1\44\1\155\1\146"
-                                                    + "\1\156\3\44\1\uffff\1\145\1\154\2\143\1\164\1\151\1\uffff\1\144" + "\1\44\1\uffff\1\141\1\uffff\1\145\1\uffff\1\144\1\44\1\156\1\154"
-                                                    + "\1\156\3\uffff\1\165\1\uffff\1\157\1\146\2\44\1\uffff\1\145\1\141" + "\1\143\1\uffff\1\171\2\uffff\1\44\1\164\1\44\1\164\2\145\1\163\1"
-                                                    + "\44\1\uffff\1\143\1\44\1\163\1\uffff\1\44\1\145\1\44\1\145\1\156" + "\1\160\2\uffff\1\156\1\143\1\145\1\44\1\uffff\1\44\1\uffff\1\145"
-                                                    + "\1\44\1\156\1\141\1\uffff\1\164\1\uffff\1\44\1\uffff\1\44\1\uffff" + "\1\44\1\151\1\44\1\164\1\145\1\157\2\uffff\1\144\1\uffff\1\164\1"
-                                                    + "\146\1\44\3\uffff\1\172\1\uffff\1\163\1\44\1\146\2\44\1\145\1\uffff" + "\1\145\1\44\1\uffff\1\44\2\uffff\1\44\1\144\3\uffff\1\44\1\uffff";
-    public static final String   DFA25_maxS       = "\1\176\1\157\1\171\1\157\1\171\1\156\3\157\1\165\1\162\1\142\1\165" + "\1\170\1\150\1\145\11\uffff\1\71\2\75\1\uffff\5\75\1\76\2\75\1\174"
-                                                    + "\1\75\3\uffff\2\146\2\uffff\1\154\1\157\1\145\2\164\2\141\1\156" + "\1\160\1\156\1\162\1\151\1\157\1\160\1\164\1\172\1\162\1\154\1\156"
-                                                    + "\1\157\1\156\1\172\1\146\1\142\1\157\1\171\1\162\1\163\1\154\1\164" + "\1\167\1\163\1\164\1\151\1\164\25\uffff\1\76\1\uffff\1\75\13\uffff"
-                                                    + "\2\146\1\144\1\141\1\154\1\141\2\145\1\143\1\162\1\163\1\164\1\145" + "\1\143\1\151\2\164\1\162\1\154\1\172\1\164\1\uffff\1\172\1\163\2"
-                                                    + "\141\1\147\1\142\1\uffff\1\141\1\154\1\164\1\166\1\172\1\156\1\145" + "\1\157\1\163\1\164\1\154\1\151\1\172\2\145\1\154\1\165\1\75\4\uffff"
-                                                    + "\1\172\1\164\1\145\1\153\2\172\1\150\1\172\1\163\1\151\1\162\1\150" + "\1\143\1\151\1\143\1\164\1\145\1\162\1\uffff\1\141\1\uffff\1\145"
-                                                    + "\1\154\1\164\1\172\1\154\1\165\1\151\1\145\1\141\1\uffff\1\163\1" + "\172\1\141\1\167\1\172\1\162\1\172\1\166\1\uffff\1\172\1\156\1\145"
-                                                    + "\1\162\3\uffff\1\151\1\141\1\172\2\uffff\1\172\1\uffff\1\172\1\156" + "\1\172\1\162\1\164\1\143\1\150\1\172\1\155\1\146\1\156\3\172\1\uffff"
-                                                    + "\1\145\1\154\2\143\1\164\1\151\1\uffff\1\144\1\172\1\uffff\1\141" + "\1\uffff\1\145\1\uffff\1\144\1\172\1\156\1\154\1\156\3\uffff\1\165"
-                                                    + "\1\uffff\1\157\1\146\2\172\1\uffff\1\145\1\141\1\143\1\uffff\1\171" + "\2\uffff\1\172\1\164\1\172\1\164\2\145\1\163\1\172\1\uffff\1\143"
-                                                    + "\1\172\1\163\1\uffff\1\172\1\145\1\172\1\145\1\156\1\160\2\uffff" + "\1\156\1\143\1\145\1\172\1\uffff\1\172\1\uffff\1\145\1\172\1\156"
-                                                    + "\1\141\1\uffff\1\164\1\uffff\1\172\1\uffff\1\172\1\uffff\1\172\1" + "\151\1\172\1\164\1\145\1\157\2\uffff\1\144\1\uffff\1\164\1\146\1"
-                                                    + "\172\3\uffff\1\172\1\uffff\1\163\1\172\1\146\2\172\1\145\1\uffff" + "\1\145\1\172\1\uffff\1\172\2\uffff\1\172\1\144\3\uffff\1\172\1\uffff";
-    public static final String   DFA25_acceptS    = "\20\uffff\1\61\1\62\1\63\1\64\1\65\1\66\1\67\1\70\1\71\3\uffff\1" + "\76\12\uffff\1\136\1\137\1\142\2\uffff\1\145\1\146\43\uffff\1\144"
-                                                    + "\1\72\1\74\1\73\1\77\1\75\1\140\1\141\1\101\1\100\1\103\1\104\1" + "\102\1\107\1\106\1\105\1\111\1\110\1\113\1\112\1\120\1\uffff\1\121"
-                                                    + "\1\uffff\1\124\1\125\1\127\1\126\1\132\1\131\1\130\1\135\1\134\1" + "\133\1\143\25\uffff\1\35\6\uffff\1\41\22\uffff\1\115\1\114\1\123"
-                                                    + "\1\122\22\uffff\1\6\1\uffff\1\37\11\uffff\1\51\10\uffff\1\60\4\uffff" + "\1\117\1\116\1\1\3\uffff\1\3\1\47\1\uffff\1\4\16\uffff\1\10\6\uffff"
-                                                    + "\1\55\2\uffff\1\32\1\uffff\1\57\1\uffff\1\36\5\uffff\1\42\1\53\1" + "\26\1\uffff\1\33\4\uffff\1\5\3\uffff\1\56\1\uffff\1\17\1\7\10\uffff"
-                                                    + "\1\46\3\uffff\1\40\6\uffff\1\15\1\45\4\uffff\1\11\1\uffff\1\13\4" + "\uffff\1\34\1\uffff\1\21\1\uffff\1\44\1\uffff\1\2\6\uffff\1\52\1"
-                                                    + "\50\1\uffff\1\12\3\uffff\1\27\1\24\1\43\1\uffff\1\25\6\uffff\1\20" + "\2\uffff\1\30\1\uffff\1\14\1\16\2\uffff\1\31\1\54\1\22\1\uffff\1" + "\23";
-    public static final String   DFA25_specialS   = "\u015d\uffff}>";
-    public static final String[] DFA25_transition = {
-            "\2\50\1\uffff\2\50\22\uffff\1\50\1\33\1\55\1\uffff\1\51\1\41\1\46" + "\1\54\1\21\1\22\1\40\1\36\1\30\1\37\1\31\1\35\1\53\11\52\1\27\1" + "\47\1\43\1\32\1\42\1\20\1\uffff\32\51\1\23\1\uffff\1\24\1\44\1\51"
-                    + "\1\uffff\1\13\1\2\1\3\1\10\1\15\1\6\2\51\1\5\2\51\1\7\1\51\1\14" + "\1\51\1\11\1\51\1\17\1\4\1\12\1\51\1\1\1\16\3\51\1\25\1\45\1\26" + "\1\34", "\1\56", "\1\57\2\uffff\1\60\6\uffff\1\61",
-            "\1\62\6\uffff\1\63\3\uffff\1\64\2\uffff\1\65", "\1\72\13\uffff\1\70\1\66\1\uffff\1\71\1\uffff\1\67", "\1\75\6\uffff\1\73\1\74", "\1\77\7\uffff\1\100\2\uffff\1\101\2\uffff\1\76", "\1\102", "\1\104\11\uffff\1\103", "\1\106\2\uffff\1\105",
-            "\1\110\11\uffff\1\107", "\1\111", "\1\113\3\uffff\1\114\17\uffff\1\112", "\1\115\13\uffff\1\116", "\1\117", "\1\120", "", "", "", "", "", "", "", "", "", "\12\121", "\1\123", "\1\125", "", "\1\130\4\uffff\1\127\15\uffff\1\131",
-            "\1\134\21\uffff\1\133", "\1\136\17\uffff\1\137", "\1\141", "\1\143", "\1\145\1\146", "\1\150\1\151", "\1\153", "\1\156\76\uffff\1\155", "\1\160\26\uffff\1\161", "", "", "", "\1\121\1\uffff\12\164\12\uffff\3\121\35\uffff\3\121",
-            "\1\121\1\uffff\10\165\2\121\12\uffff\3\121\35\uffff\3\121", "", "", "\1\166\2\uffff\1\167", "\1\170", "\1\171", "\1\172", "\1\173\1\174", "\1\175", "\1\176", "\1\177", "\1\u0080", "\1\u0081", "\1\u0083\20\uffff\1\u0082", "\1\u0084",
-            "\1\u0085", "\1\u0086", "\1\u0088\1\u0087", "\1\51\13\uffff\12\51\7\uffff\32\51\4\uffff\1\51\1\uffff\32\51", "\1\u008a", "\1\u008b", "\1\u008c", "\1\u008d", "\1\u008e",
-            "\1\51\13\uffff\12\51\7\uffff\32\51\4\uffff\1\51\1\uffff\24\51\1" + "\u008f\5\51", "\1\u0091", "\1\u0092", "\1\u0094\5\uffff\1\u0093", "\1\u0096\23\uffff\1\u0097\3\uffff\1\u0095", "\1\u0099\10\uffff\1\u0098", "\1\u009a", "\1\u009b",
-            "\1\u009c", "\1\u009d", "\1\u009e", "\1\u009f", "\1\u00a0", "\1\u00a1", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "\1\u00a3\1\u00a2", "", "\1\u00a5", "", "", "", "", "", "", "", "", "", "", "",
-            "\1\121\1\uffff\12\164\12\uffff\3\121\35\uffff\3\121", "\1\121\1\uffff\10\165\2\121\12\uffff\3\121\35\uffff\3\121", "\1\u00a7", "\1\u00a8", "\1\u00a9", "\1\u00aa", "\1\u00ab", "\1\u00ac", "\1\u00ad", "\1\u00ae", "\1\u00af", "\1\u00b0",
-            "\1\u00b1", "\1\u00b2", "\1\u00b3", "\1\u00b4", "\1\u00b5", "\1\u00b6", "\1\u00b7", "\1\51\13\uffff\12\51\7\uffff\32\51\4\uffff\1\51\1\uffff\4\51\1\u00b8" + "\25\51", "\1\u00ba", "",
-            "\1\51\13\uffff\12\51\7\uffff\32\51\4\uffff\1\51\1\uffff\32\51", "\1\u00bc", "\1\u00bd", "\1\u00be", "\1\u00bf", "\1\u00c0", "", "\1\u00c1", "\1\u00c2", "\1\u00c3", "\1\u00c4",
-            "\1\51\13\uffff\12\51\7\uffff\32\51\4\uffff\1\51\1\uffff\32\51", "\1\u00c6", "\1\u00c7", "\1\u00c8\11\uffff\1\u00c9", "\1\u00ca", "\1\u00cb", "\1\u00cc", "\1\u00cd", "\1\51\13\uffff\12\51\7\uffff\32\51\4\uffff\1\51\1\uffff\32\51",
-            "\1\u00cf", "\1\u00d0", "\1\u00d1", "\1\u00d2", "\1\u00d3", "", "", "", "", "\1\51\13\uffff\12\51\7\uffff\32\51\4\uffff\1\51\1\uffff\32\51", "\1\u00d6", "\1\u00d7", "\1\u00d8",
-            "\1\51\13\uffff\12\51\7\uffff\32\51\4\uffff\1\51\1\uffff\32\51", "\1\51\13\uffff\12\51\7\uffff\32\51\4\uffff\1\51\1\uffff\32\51", "\1\u00db", "\1\51\13\uffff\12\51\7\uffff\32\51\4\uffff\1\51\1\uffff\32\51", "\1\u00dd", "\1\u00de",
-            "\1\u00df", "\1\u00e0", "\1\u00e1", "\1\u00e2", "\1\u00e3", "\1\u00e4", "\1\u00e5", "\1\u00e6", "", "\1\u00e7", "", "\1\u00e8", "\1\u00e9", "\1\u00ea", "\1\51\13\uffff\12\51\7\uffff\32\51\4\uffff\1\51\1\uffff\32\51", "\1\u00ec",
-            "\1\u00ed", "\1\u00ee", "\1\u00ef", "\1\u00f0", "", "\1\u00f1", "\1\51\13\uffff\12\51\7\uffff\32\51\4\uffff\1\51\1\uffff\32\51", "\1\u00f3", "\1\u00f4", "\1\51\13\uffff\12\51\7\uffff\32\51\4\uffff\1\51\1\uffff\32\51", "\1\u00f6",
-            "\1\51\13\uffff\12\51\7\uffff\32\51\4\uffff\1\51\1\uffff\32\51", "\1\u00f8", "", "\1\51\13\uffff\12\51\7\uffff\32\51\4\uffff\1\51\1\uffff\32\51", "\1\u00fa", "\1\u00fb", "\1\u00fc", "", "", "", "\1\u00fd", "\1\u00fe",
-            "\1\51\13\uffff\12\51\7\uffff\32\51\4\uffff\1\51\1\uffff\32\51", "", "", "\1\51\13\uffff\12\51\7\uffff\32\51\4\uffff\1\51\1\uffff\32\51", "", "\1\51\13\uffff\12\51\7\uffff\32\51\4\uffff\1\51\1\uffff\32\51", "\1\u0102",
-            "\1\51\13\uffff\12\51\7\uffff\32\51\4\uffff\1\51\1\uffff\32\51", "\1\u0104", "\1\u0105", "\1\u0106", "\1\u0107", "\1\51\13\uffff\12\51\7\uffff\32\51\4\uffff\1\51\1\uffff\32\51", "\1\u0109", "\1\u010a", "\1\u010b",
-            "\1\51\13\uffff\12\51\7\uffff\32\51\4\uffff\1\51\1\uffff\32\51", "\1\51\13\uffff\12\51\7\uffff\32\51\4\uffff\1\51\1\uffff\13\51\1" + "\u010d\16\51", "\1\51\13\uffff\12\51\7\uffff\32\51\4\uffff\1\51\1\uffff\32\51", "", "\1\u0110",
-            "\1\u0111", "\1\u0112", "\1\u0113", "\1\u0114", "\1\u0115", "", "\1\u0116", "\1\51\13\uffff\12\51\7\uffff\32\51\4\uffff\1\51\1\uffff\22\51\1" + "\u0117\7\51", "", "\1\u0119", "", "\1\u011a", "", "\1\u011b",
-            "\1\51\13\uffff\12\51\7\uffff\32\51\4\uffff\1\51\1\uffff\32\51", "\1\u011d", "\1\u011e", "\1\u011f", "", "", "", "\1\u0120", "", "\1\u0121", "\1\u0122", "\1\51\13\uffff\12\51\7\uffff\32\51\4\uffff\1\51\1\uffff\32\51",
-            "\1\51\13\uffff\12\51\7\uffff\32\51\4\uffff\1\51\1\uffff\32\51", "", "\1\u0125", "\1\u0126", "\1\u0127", "", "\1\u0128", "", "", "\1\51\13\uffff\12\51\7\uffff\32\51\4\uffff\1\51\1\uffff\32\51", "\1\u012a",
-            "\1\51\13\uffff\12\51\7\uffff\32\51\4\uffff\1\51\1\uffff\32\51", "\1\u012c", "\1\u012d", "\1\u012e", "\1\u012f", "\1\51\13\uffff\12\51\7\uffff\32\51\4\uffff\1\51\1\uffff\32\51", "", "\1\u0131",
-            "\1\51\13\uffff\12\51\7\uffff\32\51\4\uffff\1\51\1\uffff\32\51", "\1\u0133", "", "\1\51\13\uffff\12\51\7\uffff\32\51\4\uffff\1\51\1\uffff\32\51", "\1\u0135", "\1\51\13\uffff\12\51\7\uffff\32\51\4\uffff\1\51\1\uffff\32\51", "\1\u0137",
-            "\1\u0138", "\1\u0139", "", "", "\1\u013a", "\1\u013b", "\1\u013c", "\1\51\13\uffff\12\51\7\uffff\32\51\4\uffff\1\51\1\uffff\32\51", "", "\1\51\13\uffff\12\51\7\uffff\32\51\4\uffff\1\51\1\uffff\32\51", "", "\1\u013f",
-            "\1\51\13\uffff\12\51\7\uffff\32\51\4\uffff\1\51\1\uffff\32\51", "\1\u0141", "\1\u0142", "", "\1\u0143", "", "\1\51\13\uffff\12\51\7\uffff\32\51\4\uffff\1\51\1\uffff\32\51", "",
-            "\1\51\13\uffff\12\51\7\uffff\32\51\4\uffff\1\51\1\uffff\32\51", "", "\1\51\13\uffff\12\51\7\uffff\32\51\4\uffff\1\51\1\uffff\32\51", "\1\u0147", "\1\51\13\uffff\12\51\7\uffff\32\51\4\uffff\1\51\1\uffff\32\51", "\1\u0149", "\1\u014a",
-            "\1\u014b", "", "", "\1\u014c", "", "\1\u014d", "\1\u014e", "\1\51\13\uffff\12\51\7\uffff\32\51\4\uffff\1\51\1\uffff\32\51", "", "", "", "\1\u0150", "", "\1\u0151", "\1\51\13\uffff\12\51\7\uffff\32\51\4\uffff\1\51\1\uffff\32\51",
-            "\1\u0153", "\1\51\13\uffff\12\51\7\uffff\32\51\4\uffff\1\51\1\uffff\32\51", "\1\51\13\uffff\12\51\7\uffff\32\51\4\uffff\1\51\1\uffff\32\51", "\1\u0156", "", "\1\u0157", "\1\51\13\uffff\12\51\7\uffff\32\51\4\uffff\1\51\1\uffff\32\51",
-            "", "\1\51\13\uffff\12\51\7\uffff\32\51\4\uffff\1\51\1\uffff\32\51", "", "", "\1\51\13\uffff\12\51\7\uffff\32\51\4\uffff\1\51\1\uffff\32\51", "\1\u015b", "", "", "", "\1\51\13\uffff\12\51\7\uffff\32\51\4\uffff\1\51\1\uffff\32\51", ""};
+    static final short[] DFA25_eot = DFA.unpackEncodedString(DFA25_eotS);
+    static final short[] DFA25_eof = DFA.unpackEncodedString(DFA25_eofS);
+    static final char[] DFA25_min = DFA.unpackEncodedStringToUnsignedChars(DFA25_minS);
+    static final char[] DFA25_max = DFA.unpackEncodedStringToUnsignedChars(DFA25_maxS);
+    static final short[] DFA25_accept = DFA.unpackEncodedString(DFA25_acceptS);
+    static final short[] DFA25_special = DFA.unpackEncodedString(DFA25_specialS);
+    static final short[][] DFA25_transition;
 
+    static {
+        int numStates = DFA25_transitionS.length;
+        DFA25_transition = new short[numStates][];
+        for (int i=0; i<numStates; i++) {
+            DFA25_transition[i] = DFA.unpackEncodedString(DFA25_transitionS[i]);
+        }
+    }
+
     class DFA25 extends DFA {
-        public DFA25(final BaseRecognizer recognizer) {
+
+        public DFA25(BaseRecognizer recognizer) {
             this.recognizer = recognizer;
             this.decisionNumber = 25;
-            this.eot = DFA.unpackEncodedString( DFA25_eotS );
-            this.eof = DFA.unpackEncodedString( DFA25_eofS );
-            this.min = DFA.unpackEncodedStringToUnsignedChars( DFA25_minS );
-            this.max = DFA.unpackEncodedStringToUnsignedChars( DFA25_maxS );
-            this.accept = DFA.unpackEncodedString( DFA25_acceptS );
-            this.special = DFA.unpackEncodedString( DFA25_specialS );
-            final int numStates = DFA25_transition.length;
-            this.transition = new short[numStates][];
-            for ( int i = 0; i < numStates; i++ ) {
-                this.transition[i] = DFA.unpackEncodedString( DFA25_transition[i] );
-            }
+            this.eot = DFA25_eot;
+            this.eof = DFA25_eof;
+            this.min = DFA25_min;
+            this.max = DFA25_max;
+            this.accept = DFA25_accept;
+            this.special = DFA25_special;
+            this.transition = DFA25_transition;
         }
-
         public String getDescription() {
             return "1:1: Tokens : ( T68 | T69 | T70 | T71 | T72 | T73 | T74 | T75 | T76 | T77 | T78 | T79 | T80 | T81 | T82 | T83 | T84 | T85 | T86 | T87 | T88 | T89 | T90 | T91 | T92 | T93 | T94 | T95 | T96 | T97 | T98 | T99 | T100 | T101 | T102 | T103 | T104 | T105 | T106 | T107 | T108 | T109 | T110 | T111 | T112 | T113 | T114 | T115 | QUESTION | LPAREN | RPAREN | LBRACK | RBRACK | LCURLY | RCURLY | COLON | COMMA | DOT | ASSIGN | EQUAL | LNOT | BNOT | NOT_EQUAL | DIV | DIV_ASSIGN | PLUS | PLUS_ASSIGN | INC | MINUS | MINUS_ASSIGN | DEC | STAR | STAR_ASSIGN | MOD | MOD_ASSIGN | SR | SR_ASSIGN | BSR | BSR_ASSIGN | GE | GT | SL | SL_ASSIGN | LE | LT | BXOR | BXOR_ASSIGN | BOR | BOR_ASSIGN | LOR | BAND | BAND_ASSIGN | LAND | SEMI | WS | SL_COMMENT | ML_COMMENT | IDENT | NUM_INT | NUM_FLOAT | CHAR_LITERAL | STRING_LITERAL );";
         }
     }
+ 
 
 }
\ No newline at end of file

Modified: labs/jbossrules/trunk/drools-compiler/src/main/java/org/drools/rule/builder/dialect/java/parser/JavaParserParser.java
===================================================================
--- labs/jbossrules/trunk/drools-compiler/src/main/java/org/drools/rule/builder/dialect/java/parser/JavaParserParser.java	2007-04-24 12:26:00 UTC (rev 11294)
+++ labs/jbossrules/trunk/drools-compiler/src/main/java/org/drools/rule/builder/dialect/java/parser/JavaParserParser.java	2007-04-24 12:52:09 UTC (rev 11295)
@@ -1,5189 +1,5375 @@
-// $ANTLR 3.0b5 D:\\workspace\\jboss\\jbossrules\\drools-compiler\\src\\main\\resources\\org\\drools\\semantics\\java\\parser\\JavaParser.g 2006-11-22 14:58:22
+// $ANTLR 3.0b7 C:\\dev\\jbossrules\\trunk3\\drools-compiler\\src\\main\\resources\\org\\drools\\semantics\\java\\parser\\JavaParser.g 2007-04-24 04:56:12
+
+	package org.drools.rule.builder.dialect.java.parser;
+	import java.util.Iterator;
 
-package org.drools.rule.builder.dialect.java.parser;
 
-import java.util.Iterator;
-
 import org.antlr.runtime.*;
+import java.util.Stack;
 import java.util.List;
 import java.util.ArrayList;
 
 public class JavaParserParser extends Parser {
-    public static final String[] tokenNames        = new String[]{"<invalid>", "<EOR>", "<DOWN>", "<UP>", "LBRACK", "RBRACK", "IDENT", "DOT", "STAR", "LCURLY", "SEMI", "RCURLY", "COMMA", "LPAREN", "RPAREN", "ASSIGN", "COLON", "PLUS_ASSIGN",
-            "MINUS_ASSIGN", "STAR_ASSIGN", "DIV_ASSIGN", "MOD_ASSIGN", "SR_ASSIGN", "BSR_ASSIGN", "SL_ASSIGN", "BAND_ASSIGN", "BXOR_ASSIGN", "BOR_ASSIGN", "QUESTION", "LOR", "LAND", "BOR", "BXOR", "BAND", "NOT_EQUAL", "EQUAL", "LT", "GT", "LE",
-            "GE", "SL", "SR", "BSR", "PLUS", "MINUS", "DIV", "MOD", "INC", "DEC", "BNOT", "LNOT", "NUM_INT", "CHAR_LITERAL", "STRING_LITERAL", "NUM_FLOAT", "WS", "SL_COMMENT", "ML_COMMENT", "DECIMAL_LITERAL", "HEX_LITERAL", "OCTAL_LITERAL",
-            "DIGITS", "EXPONENT_PART", "FLOAT_TYPE_SUFFIX", "ESCAPE_SEQUENCE", "OCTAL_DIGIT", "UNICODE_CHAR", "HEX_DIGIT", "'void'", "'boolean'", "'byte'", "'char'", "'short'", "'int'", "'float'", "'long'", "'double'", "'private'", "'public'",
-            "'protected'", "'static'", "'transient'", "'final'", "'abstract'", "'native'", "'threadsafe'", "'synchronized'", "'volatile'", "'strictfp'", "'class'", "'extends'", "'interface'", "'implements'", "'this'", "'super'", "'throws'", "'if'",
-            "'else'", "'for'", "'while'", "'do'", "'break'", "'continue'", "'return'", "'switch'", "'throw'", "'case'", "'default'", "'try'", "'finally'", "'catch'", "'instanceof'", "'true'", "'false'", "'null'", "'new'"};
-    public static final int      COMMA             = 12;
-    public static final int      SR_ASSIGN         = 22;
-    public static final int      MINUS             = 44;
-    public static final int      LOR               = 29;
-    public static final int      BNOT              = 49;
-    public static final int      INC               = 47;
-    public static final int      MOD               = 46;
-    public static final int      OCTAL_LITERAL     = 60;
-    public static final int      PLUS_ASSIGN       = 17;
-    public static final int      QUESTION          = 28;
-    public static final int      HEX_LITERAL       = 59;
-    public static final int      BOR               = 31;
-    public static final int      DOT               = 7;
-    public static final int      SR                = 41;
-    public static final int      FLOAT_TYPE_SUFFIX = 63;
-    public static final int      RCURLY            = 11;
-    public static final int      LCURLY            = 9;
-    public static final int      CHAR_LITERAL      = 52;
-    public static final int      BOR_ASSIGN        = 27;
-    public static final int      STRING_LITERAL    = 53;
-    public static final int      ASSIGN            = 15;
-    public static final int      LE                = 38;
-    public static final int      RPAREN            = 14;
-    public static final int      STAR_ASSIGN       = 19;
-    public static final int      NUM_INT           = 51;
-    public static final int      LPAREN            = 13;
-    public static final int      HEX_DIGIT         = 67;
-    public static final int      ML_COMMENT        = 57;
-    public static final int      PLUS              = 43;
-    public static final int      SL_COMMENT        = 56;
-    public static final int      BAND              = 33;
-    public static final int      MINUS_ASSIGN      = 18;
-    public static final int      NOT_EQUAL         = 34;
-    public static final int      BAND_ASSIGN       = 25;
-    public static final int      DIGITS            = 61;
-    public static final int      DECIMAL_LITERAL   = 58;
-    public static final int      IDENT             = 6;
-    public static final int      MOD_ASSIGN        = 21;
-    public static final int      WS                = 55;
-    public static final int      BXOR_ASSIGN       = 26;
-    public static final int      LT                = 36;
-    public static final int      BSR               = 42;
-    public static final int      GT                = 37;
-    public static final int      BSR_ASSIGN        = 23;
-    public static final int      SL_ASSIGN         = 24;
-    public static final int      LAND              = 30;
-    public static final int      LBRACK            = 4;
-    public static final int      NUM_FLOAT         = 54;
-    public static final int      SEMI              = 10;
-    public static final int      GE                = 39;
-    public static final int      LNOT              = 50;
-    public static final int      DIV_ASSIGN        = 20;
-    public static final int      UNICODE_CHAR      = 66;
-    public static final int      DEC               = 48;
-    public static final int      EQUAL             = 35;
-    public static final int      ESCAPE_SEQUENCE   = 64;
-    public static final int      EOF               = -1;
-    public static final int      OCTAL_DIGIT       = 65;
-    public static final int      RBRACK            = 5;
-    public static final int      COLON             = 16;
-    public static final int      SL                = 40;
-    public static final int      DIV               = 45;
-    public static final int      STAR              = 8;
-    public static final int      BXOR              = 32;
-    public static final int      EXPONENT_PART     = 62;
+    public static final String[] tokenNames = new String[] {
+        "<invalid>", "<EOR>", "<DOWN>", "<UP>", "LBRACK", "RBRACK", "IDENT", "DOT", "STAR", "LCURLY", "SEMI", "RCURLY", "COMMA", "LPAREN", "RPAREN", "ASSIGN", "COLON", "PLUS_ASSIGN", "MINUS_ASSIGN", "STAR_ASSIGN", "DIV_ASSIGN", "MOD_ASSIGN", "SR_ASSIGN", "BSR_ASSIGN", "SL_ASSIGN", "BAND_ASSIGN", "BXOR_ASSIGN", "BOR_ASSIGN", "QUESTION", "LOR", "LAND", "BOR", "BXOR", "BAND", "NOT_EQUAL", "EQUAL", "LT", "GT", "LE", "GE", "SL", "SR", "BSR", "PLUS", "MINUS", "DIV", "MOD", "INC", "DEC", "BNOT", "LNOT", "NUM_INT", "CHAR_LITERAL", "STRING_LITERAL", "NUM_FLOAT", "WS", "SL_COMMENT", "ML_COMMENT", "DECIMAL_LITERAL", "HEX_LITERAL", "OCTAL_LITERAL", "DIGITS", "EXPONENT_PART", "FLOAT_TYPE_SUFFIX", "ESCAPE_SEQUENCE", "OCTAL_DIGIT", "UNICODE_CHAR", "HEX_DIGIT", "'void'", "'boolean'", "'byte'", "'char'", "'short'", "'int'", "'float'", "'long'", "'double'", "'private'", "'public'", "'protected'", "'static'", "'transient'", "'final'", "'abstract'", "'native'", "'threadsafe'", "'synchronized'"!
 , "'volatile'", "'strictfp'", "'class'", "'extends'", "'interface'", "'implements'", "'this'", "'super'", "'throws'", "'if'", "'else'", "'for'", "'while'", "'do'", "'break'", "'continue'", "'return'", "'switch'", "'throw'", "'case'", "'default'", "'try'", "'finally'", "'catch'", "'instanceof'", "'true'", "'false'", "'null'", "'new'"
+    };
+    public static final int LOR=29;
+    public static final int DEC=48;
+    public static final int LT=36;
+    public static final int STAR=8;
+    public static final int LBRACK=4;
+    public static final int BXOR_ASSIGN=26;
+    public static final int MOD=46;
+    public static final int DIGITS=61;
+    public static final int MOD_ASSIGN=21;
+    public static final int BSR=42;
+    public static final int EOF=-1;
+    public static final int DIV_ASSIGN=20;
+    public static final int OCTAL_DIGIT=65;
+    public static final int SL_ASSIGN=24;
+    public static final int LPAREN=13;
+    public static final int ESCAPE_SEQUENCE=64;
+    public static final int ML_COMMENT=57;
+    public static final int LNOT=50;
+    public static final int INC=47;
+    public static final int RPAREN=14;
+    public static final int STRING_LITERAL=53;
+    public static final int BSR_ASSIGN=23;
+    public static final int BOR_ASSIGN=27;
+    public static final int COMMA=12;
+    public static final int NOT_EQUAL=34;
+    public static final int BOR=31;
+    public static final int EQUAL=35;
+    public static final int IDENT=6;
+    public static final int BXOR=32;
+    public static final int PLUS=43;
+    public static final int HEX_LITERAL=59;
+    public static final int DOT=7;
+    public static final int FLOAT_TYPE_SUFFIX=63;
+    public static final int RBRACK=5;
+    public static final int GE=39;
+    public static final int MINUS_ASSIGN=18;
+    public static final int OCTAL_LITERAL=60;
+    public static final int HEX_DIGIT=67;
+    public static final int LCURLY=9;
+    public static final int MINUS=44;
+    public static final int BAND=33;
+    public static final int SEMI=10;
+    public static final int STAR_ASSIGN=19;
+    public static final int COLON=16;
+    public static final int WS=55;
+    public static final int BAND_ASSIGN=25;
+    public static final int QUESTION=28;
+    public static final int CHAR_LITERAL=52;
+    public static final int SL=40;
+    public static final int SL_COMMENT=56;
+    public static final int NUM_INT=51;
+    public static final int RCURLY=11;
+    public static final int SR=41;
+    public static final int PLUS_ASSIGN=17;
+    public static final int ASSIGN=15;
+    public static final int GT=37;
+    public static final int UNICODE_CHAR=66;
+    public static final int BNOT=49;
+    public static final int NUM_FLOAT=54;
+    public static final int DIV=45;
+    public static final int EXPONENT_PART=62;
+    public static final int DECIMAL_LITERAL=58;
+    public static final int SR_ASSIGN=22;
+    public static final int LAND=30;
+    public static final int LE=38;
 
-    public JavaParserParser(final TokenStream input) {
-        super( input );
-    }
-
-    public String[] getTokenNames() {
-        return tokenNames;
-    }
-
-    public String getGrammarFileName() {
-        return "D:\\workspace\\jboss\\jbossrules\\drools-compiler\\src\\main\\resources\\org\\drools\\semantics\\java\\parser\\JavaParser.g";
-    }
-
-    private final List identifiers = new ArrayList();
-
-    public List getIdentifiers() {
-        return this.identifiers;
-    }
-
-    public static final CommonToken IGNORE_TOKEN = new CommonToken( null,
-                                                                    0,
-                                                                    99,
-                                                                    0,
-                                                                    0 );
-    private final List                    errors       = new ArrayList();
-
-    private String                  source       = "unknown";
-
-    public void setSource(final String source) {
-        this.source = source;
-    }
-
-    public String getSource() {
-        return this.source;
-    }
-
-    public void reportError(final RecognitionException ex) {
-        // if we've already reported an error and have not matched a token
-        // yet successfully, don't report any errors.
-        if ( this.errorRecovery ) {
-            //System.err.print("[SPURIOUS] ");
-            return;
+        public JavaParserParser(TokenStream input) {
+            super(input);
         }
-        this.errorRecovery = true;
+        
 
-        this.errors.add( ex );
-    }
+    public String[] getTokenNames() { return tokenNames; }
+    public String getGrammarFileName() { return "C:\\dev\\jbossrules\\trunk3\\drools-compiler\\src\\main\\resources\\org\\drools\\semantics\\java\\parser\\JavaParser.g"; }
 
-    /** return the raw RecognitionException errors */
-    public List getErrors() {
-        return this.errors;
-    }
+    
+    	private List identifiers = new ArrayList();
+    	public List getIdentifiers() { return identifiers; }
+    	public static final CommonToken IGNORE_TOKEN = new CommonToken(null,0,99,0,0);
+    	private List errors = new ArrayList();
+    	
+    	private String source = "unknown";
+    	
+    	public void setSource(String source) {
+    		this.source = source;
+    	}
+    	
+    	public String getSource() {
+    		return this.source;
+    	}
+    		
+    	public void reportError(RecognitionException ex) {
+    	        // if we've already reported an error and have not matched a token
+                    // yet successfully, don't report any errors.
+                    if ( errorRecovery ) {
+                            //System.err.print("[SPURIOUS] ");
+                            return;
+                    }
+                    errorRecovery = true;
+    
+    		errors.add( ex ); 
+    	}
+         	
+         	/** return the raw RecognitionException errors */
+         	public List getErrors() {
+         		return errors;
+         	}
+         	
+         	/** Return a list of pretty strings summarising the errors */
+         	public List getErrorMessages() {
+         		List messages = new ArrayList();
+     		for ( Iterator errorIter = errors.iterator() ; errorIter.hasNext() ; ) {
+         	     		messages.add( createErrorMessage( (RecognitionException) errorIter.next() ) );
+         	     	}
+         	     	return messages;
+         	}
+         	
+         	/** return true if any parser errors were accumulated */
+         	public boolean hasErrors() {
+      		return ! errors.isEmpty();
+         	}
+         	
+         	/** This will take a RecognitionException, and create a sensible error message out of it */
+         	public String createErrorMessage(RecognitionException e)
+            {
+    		StringBuffer message = new StringBuffer();		
+                    message.append( source + ":"+e.line+":"+e.charPositionInLine+" ");
+                    if ( e instanceof MismatchedTokenException ) {
+                            MismatchedTokenException mte = (MismatchedTokenException)e;
+                            message.append("mismatched token: "+
+                                                               e.token+
+                                                               "; expecting type "+
+                                                               tokenNames[mte.expecting]);
+                    }
+                    else if ( e instanceof MismatchedTreeNodeException ) {
+                            MismatchedTreeNodeException mtne = (MismatchedTreeNodeException)e;
+                            message.append("mismatched tree node: "+
+                                                               //mtne.foundNode+ FIXME
+                                                               "; expecting type "+
+                                                               tokenNames[mtne.expecting]);
+                    }
+                    else if ( e instanceof NoViableAltException ) {
+                            NoViableAltException nvae = (NoViableAltException)e;
+    			message.append( "Unexpected token '" + e.token.getText() + "'" );
+                            /*
+                            message.append("decision=<<"+nvae.grammarDecisionDescription+">>"+
+                                                               " state "+nvae.stateNumber+
+                                                               " (decision="+nvae.decisionNumber+
+                                                               ") no viable alt; token="+
+                                                               e.token);
+                                                               */
+                    }
+                    else if ( e instanceof EarlyExitException ) {
+                            EarlyExitException eee = (EarlyExitException)e;
+                            message.append("required (...)+ loop (decision="+
+                                                               eee.decisionNumber+
+                                                               ") did not match anything; token="+
+                                                               e.token);
+                    }
+                    else if ( e instanceof MismatchedSetException ) {
+                            MismatchedSetException mse = (MismatchedSetException)e;
+                            message.append("mismatched token '"+
+                                                               e.token+
+                                                               "' expecting set "+mse.expecting);
+                    }
+                    else if ( e instanceof MismatchedNotSetException ) {
+                            MismatchedNotSetException mse = (MismatchedNotSetException)e;
+                            message.append("mismatched token '"+
+                                                               e.token+
+                                                               "' expecting set "+mse.expecting);
+                    }
+                    else if ( e instanceof FailedPredicateException ) {
+                            FailedPredicateException fpe = (FailedPredicateException)e;
+                            message.append("rule "+fpe.ruleName+" failed predicate: {"+
+                                                               fpe.predicateText+"}?");
+    		}
+                   	return message.toString();
+            }   
 
-    /** Return a list of pretty strings summarising the errors */
-    public List getErrorMessages() {
-        final List messages = new ArrayList();
-        for ( final Iterator errorIter = this.errors.iterator(); errorIter.hasNext(); ) {
-            messages.add( createErrorMessage( (RecognitionException) errorIter.next() ) );
-        }
-        return messages;
-    }
 
-    /** return true if any parser errors were accumulated */
-    public boolean hasErrors() {
-        return !this.errors.isEmpty();
-    }
 
-    /** This will take a RecognitionException, and create a sensible error message out of it */
-    public String createErrorMessage(final RecognitionException e) {
-        final StringBuffer message = new StringBuffer();
-        message.append( this.source + ":" + e.line + ":" + e.charPositionInLine + " " );
-        if ( e instanceof MismatchedTokenException ) {
-            final MismatchedTokenException mte = (MismatchedTokenException) e;
-            message.append( "mismatched token: " + e.token + "; expecting type " + tokenNames[mte.expecting] );
-        } else if ( e instanceof MismatchedTreeNodeException ) {
-            final MismatchedTreeNodeException mtne = (MismatchedTreeNodeException) e;
-            message.append( "mismatched tree node: " + mtne.foundNode + "; expecting type " + tokenNames[mtne.expecting] );
-        } else if ( e instanceof NoViableAltException ) {
-            final NoViableAltException nvae = (NoViableAltException) e;
-            message.append( "Unexpected token '" + e.token.getText() + "'" );
-            /*
-             message.append("decision=<<"+nvae.grammarDecisionDescription+">>"+
-             " state "+nvae.stateNumber+
-             " (decision="+nvae.decisionNumber+
-             ") no viable alt; token="+
-             e.token);
-             */
-        } else if ( e instanceof EarlyExitException ) {
-            final EarlyExitException eee = (EarlyExitException) e;
-            message.append( "required (...)+ loop (decision=" + eee.decisionNumber + ") did not match anything; token=" + e.token );
-        } else if ( e instanceof MismatchedSetException ) {
-            final MismatchedSetException mse = (MismatchedSetException) e;
-            message.append( "mismatched token '" + e.token + "' expecting set " + mse.expecting );
-        } else if ( e instanceof MismatchedNotSetException ) {
-            final MismatchedNotSetException mse = (MismatchedNotSetException) e;
-            message.append( "mismatched token '" + e.token + "' expecting set " + mse.expecting );
-        } else if ( e instanceof FailedPredicateException ) {
-            final FailedPredicateException fpe = (FailedPredicateException) e;
-            message.append( "rule " + fpe.ruleName + " failed predicate: {" + fpe.predicateText + "}?" );
-        }
-        return message.toString();
-    }
-
     // $ANTLR start declaration
-    // D:\\workspace\\jboss\\jbossrules\\drools-compiler\\src\\main\\resources\\org\\drools\\semantics\\java\\parser\\JavaParser.g:139:1: declaration : modifiers typeSpec variableDefinitions ;
-    public void declaration() throws RecognitionException {
+    // C:\\dev\\jbossrules\\trunk3\\drools-compiler\\src\\main\\resources\\org\\drools\\semantics\\java\\parser\\JavaParser.g:139:1: declaration : modifiers typeSpec variableDefinitions ;
+    public final void declaration() throws RecognitionException {
         try {
-            // D:\\workspace\\jboss\\jbossrules\\drools-compiler\\src\\main\\resources\\org\\drools\\semantics\\java\\parser\\JavaParser.g:143:4: ( modifiers typeSpec variableDefinitions )
-            // D:\\workspace\\jboss\\jbossrules\\drools-compiler\\src\\main\\resources\\org\\drools\\semantics\\java\\parser\\JavaParser.g:143:4: modifiers typeSpec variableDefinitions
+            // C:\\dev\\jbossrules\\trunk3\\drools-compiler\\src\\main\\resources\\org\\drools\\semantics\\java\\parser\\JavaParser.g:143:4: ( modifiers typeSpec variableDefinitions )
+            // C:\\dev\\jbossrules\\trunk3\\drools-compiler\\src\\main\\resources\\org\\drools\\semantics\\java\\parser\\JavaParser.g:143:4: modifiers typeSpec variableDefinitions
             {
-                pushFollow( FOLLOW_modifiers_in_declaration59 );
-                modifiers();
-                this._fsp--;
+            pushFollow(FOLLOW_modifiers_in_declaration59);
+            modifiers();
+            _fsp--;
 
-                pushFollow( FOLLOW_typeSpec_in_declaration61 );
-                typeSpec();
-                this._fsp--;
+            pushFollow(FOLLOW_typeSpec_in_declaration61);
+            typeSpec();
+            _fsp--;
 
-                pushFollow( FOLLOW_variableDefinitions_in_declaration63 );
-                variableDefinitions();
-                this._fsp--;
+            pushFollow(FOLLOW_variableDefinitions_in_declaration63);
+            variableDefinitions();
+            _fsp--;
 
+
             }
 
-        } catch ( final RecognitionException re ) {
-            reportError( re );
-            recover( this.input,
-                     re );
-        } finally {
         }
-        return;
+        catch (RecognitionException re) {
+            reportError(re);
+            recover(input,re);
+        }
+        finally {
+        }
+        return ;
     }
-
     // $ANTLR end declaration
 
+
     // $ANTLR start typeSpec
-    // D:\\workspace\\jboss\\jbossrules\\drools-compiler\\src\\main\\resources\\org\\drools\\semantics\\java\\parser\\JavaParser.g:149:1: typeSpec : ( classTypeSpec | builtInTypeSpec );
-    public void typeSpec() throws RecognitionException {
+    // C:\\dev\\jbossrules\\trunk3\\drools-compiler\\src\\main\\resources\\org\\drools\\semantics\\java\\parser\\JavaParser.g:149:1: typeSpec : ( classTypeSpec | builtInTypeSpec );
+    public final void typeSpec() throws RecognitionException {
         try {
-            // D:\\workspace\\jboss\\jbossrules\\drools-compiler\\src\\main\\resources\\org\\drools\\semantics\\java\\parser\\JavaParser.g:150:4: ( classTypeSpec | builtInTypeSpec )
-            int alt1 = 2;
-            final int LA1_0 = this.input.LA( 1 );
-            if ( (LA1_0 == IDENT) ) {
-                alt1 = 1;
-            } else if ( ((LA1_0 >= 68 && LA1_0 <= 76)) ) {
-                alt1 = 2;
-            } else {
-                final NoViableAltException nvae = new NoViableAltException( "149:1: typeSpec : ( classTypeSpec | builtInTypeSpec );",
-                                                                      1,
-                                                                      0,
-                                                                      this.input );
+            // C:\\dev\\jbossrules\\trunk3\\drools-compiler\\src\\main\\resources\\org\\drools\\semantics\\java\\parser\\JavaParser.g:150:4: ( classTypeSpec | builtInTypeSpec )
+            int alt1=2;
+            int LA1_0 = input.LA(1);
 
+            if ( (LA1_0==IDENT) ) {
+                alt1=1;
+            }
+            else if ( ((LA1_0>=68 && LA1_0<=76)) ) {
+                alt1=2;
+            }
+            else {
+                NoViableAltException nvae =
+                    new NoViableAltException("149:1: typeSpec : ( classTypeSpec | builtInTypeSpec );", 1, 0, input);
+
                 throw nvae;
             }
-            switch ( alt1 ) {
+            switch (alt1) {
                 case 1 :
-                    // D:\\workspace\\jboss\\jbossrules\\drools-compiler\\src\\main\\resources\\org\\drools\\semantics\\java\\parser\\JavaParser.g:150:4: classTypeSpec
-                {
-                    pushFollow( FOLLOW_classTypeSpec_in_typeSpec79 );
+                    // C:\\dev\\jbossrules\\trunk3\\drools-compiler\\src\\main\\resources\\org\\drools\\semantics\\java\\parser\\JavaParser.g:150:4: classTypeSpec
+                    {
+                    pushFollow(FOLLOW_classTypeSpec_in_typeSpec79);
                     classTypeSpec();
-                    this._fsp--;
+                    _fsp--;
 
-                }
+
+                    }
                     break;
                 case 2 :
-                    // D:\\workspace\\jboss\\jbossrules\\drools-compiler\\src\\main\\resources\\org\\drools\\semantics\\java\\parser\\JavaParser.g:151:4: builtInTypeSpec
-                {
-                    pushFollow( FOLLOW_builtInTypeSpec_in_typeSpec84 );
+                    // C:\\dev\\jbossrules\\trunk3\\drools-compiler\\src\\main\\resources\\org\\drools\\semantics\\java\\parser\\JavaParser.g:151:4: builtInTypeSpec
+                    {
+                    pushFollow(FOLLOW_builtInTypeSpec_in_typeSpec84);
                     builtInTypeSpec();
-                    this._fsp--;
+                    _fsp--;
 
-                }
+
+                    }
                     break;
 
             }
-        } catch ( final RecognitionException re ) {
-            reportError( re );
-            recover( this.input,
-                     re );
-        } finally {
         }
-        return;
+        catch (RecognitionException re) {
+            reportError(re);
+            recover(input,re);
+        }
+        finally {
+        }
+        return ;
     }
-
     // $ANTLR end typeSpec
 
+
     // $ANTLR start classTypeSpec
-    // D:\\workspace\\jboss\\jbossrules\\drools-compiler\\src\\main\\resources\\org\\drools\\semantics\\java\\parser\\JavaParser.g:156:1: classTypeSpec : identifier ( LBRACK RBRACK )* ;
-    public void classTypeSpec() throws RecognitionException {
+    // C:\\dev\\jbossrules\\trunk3\\drools-compiler\\src\\main\\resources\\org\\drools\\semantics\\java\\parser\\JavaParser.g:156:1: classTypeSpec : identifier ( LBRACK RBRACK )* ;
+    public final void classTypeSpec() throws RecognitionException {
         try {
-            // D:\\workspace\\jboss\\jbossrules\\drools-compiler\\src\\main\\resources\\org\\drools\\semantics\\java\\parser\\JavaParser.g:157:4: ( identifier ( LBRACK RBRACK )* )
-            // D:\\workspace\\jboss\\jbossrules\\drools-compiler\\src\\main\\resources\\org\\drools\\semantics\\java\\parser\\JavaParser.g:157:4: identifier ( LBRACK RBRACK )*
+            // C:\\dev\\jbossrules\\trunk3\\drools-compiler\\src\\main\\resources\\org\\drools\\semantics\\java\\parser\\JavaParser.g:157:4: ( identifier ( LBRACK RBRACK )* )
+            // C:\\dev\\jbossrules\\trunk3\\drools-compiler\\src\\main\\resources\\org\\drools\\semantics\\java\\parser\\JavaParser.g:157:4: identifier ( LBRACK RBRACK )*
             {
-                pushFollow( FOLLOW_identifier_in_classTypeSpec97 );
-                identifier();
-                this._fsp--;
+            pushFollow(FOLLOW_identifier_in_classTypeSpec97);
+            identifier();
+            _fsp--;
 
-                // D:\\workspace\\jboss\\jbossrules\\drools-compiler\\src\\main\\resources\\org\\drools\\semantics\\java\\parser\\JavaParser.g:157:15: ( LBRACK RBRACK )*
-                loop2 : do {
-                    int alt2 = 2;
-                    final int LA2_0 = this.input.LA( 1 );
-                    if ( (LA2_0 == LBRACK) ) {
-                        alt2 = 1;
-                    }
+            // C:\\dev\\jbossrules\\trunk3\\drools-compiler\\src\\main\\resources\\org\\drools\\semantics\\java\\parser\\JavaParser.g:157:15: ( LBRACK RBRACK )*
+            loop2:
+            do {
+                int alt2=2;
+                int LA2_0 = input.LA(1);
 
-                    switch ( alt2 ) {
-                        case 1 :
-                            // D:\\workspace\\jboss\\jbossrules\\drools-compiler\\src\\main\\resources\\org\\drools\\semantics\\java\\parser\\JavaParser.g:157:16: LBRACK RBRACK
-                        {
-                            match( this.input,
-                                   LBRACK,
-                                   FOLLOW_LBRACK_in_classTypeSpec100 );
-                            match( this.input,
-                                   RBRACK,
-                                   FOLLOW_RBRACK_in_classTypeSpec103 );
+                if ( (LA2_0==LBRACK) ) {
+                    alt2=1;
+                }
 
-                        }
-                            break;
 
-                        default :
-                            break loop2;
-                    }
-                } while ( true );
+                switch (alt2) {
+            	case 1 :
+            	    // C:\\dev\\jbossrules\\trunk3\\drools-compiler\\src\\main\\resources\\org\\drools\\semantics\\java\\parser\\JavaParser.g:157:16: LBRACK RBRACK
+            	    {
+            	    match(input,LBRACK,FOLLOW_LBRACK_in_classTypeSpec100); 
+            	    match(input,RBRACK,FOLLOW_RBRACK_in_classTypeSpec103); 
 
+            	    }
+            	    break;
+
+            	default :
+            	    break loop2;
+                }
+            } while (true);
+
+
             }
 
-        } catch ( final RecognitionException re ) {
-            reportError( re );
-            recover( this.input,
-                     re );
-        } finally {
         }
-        return;
+        catch (RecognitionException re) {
+            reportError(re);
+            recover(input,re);
+        }
+        finally {
+        }
+        return ;
     }
-
     // $ANTLR end classTypeSpec
 
+
     // $ANTLR start builtInTypeSpec
-    // D:\\workspace\\jboss\\jbossrules\\drools-compiler\\src\\main\\resources\\org\\drools\\semantics\\java\\parser\\JavaParser.g:162:1: builtInTypeSpec : builtInType ( LBRACK RBRACK )* ;
-    public void builtInTypeSpec() throws RecognitionException {
+    // C:\\dev\\jbossrules\\trunk3\\drools-compiler\\src\\main\\resources\\org\\drools\\semantics\\java\\parser\\JavaParser.g:162:1: builtInTypeSpec : builtInType ( LBRACK RBRACK )* ;
+    public final void builtInTypeSpec() throws RecognitionException {
         try {
-            // D:\\workspace\\jboss\\jbossrules\\drools-compiler\\src\\main\\resources\\org\\drools\\semantics\\java\\parser\\JavaParser.g:163:4: ( builtInType ( LBRACK RBRACK )* )
-            // D:\\workspace\\jboss\\jbossrules\\drools-compiler\\src\\main\\resources\\org\\drools\\semantics\\java\\parser\\JavaParser.g:163:4: builtInType ( LBRACK RBRACK )*
+            // C:\\dev\\jbossrules\\trunk3\\drools-compiler\\src\\main\\resources\\org\\drools\\semantics\\java\\parser\\JavaParser.g:163:4: ( builtInType ( LBRACK RBRACK )* )
+            // C:\\dev\\jbossrules\\trunk3\\drools-compiler\\src\\main\\resources\\org\\drools\\semantics\\java\\parser\\JavaParser.g:163:4: builtInType ( LBRACK RBRACK )*
             {
-                pushFollow( FOLLOW_builtInType_in_builtInTypeSpec118 );
-                builtInType();
-                this._fsp--;
+            pushFollow(FOLLOW_builtInType_in_builtInTypeSpec118);
+            builtInType();
+            _fsp--;
 
-                // D:\\workspace\\jboss\\jbossrules\\drools-compiler\\src\\main\\resources\\org\\drools\\semantics\\java\\parser\\JavaParser.g:163:16: ( LBRACK RBRACK )*
-                loop3 : do {
-                    int alt3 = 2;
-                    final int LA3_0 = this.input.LA( 1 );
-                    if ( (LA3_0 == LBRACK) ) {
-                        alt3 = 1;
-                    }
+            // C:\\dev\\jbossrules\\trunk3\\drools-compiler\\src\\main\\resources\\org\\drools\\semantics\\java\\parser\\JavaParser.g:163:16: ( LBRACK RBRACK )*
+            loop3:
+            do {
+                int alt3=2;
+                int LA3_0 = input.LA(1);
 
-                    switch ( alt3 ) {
-                        case 1 :
-                            // D:\\workspace\\jboss\\jbossrules\\drools-compiler\\src\\main\\resources\\org\\drools\\semantics\\java\\parser\\JavaParser.g:163:17: LBRACK RBRACK
-                        {
-                            match( this.input,
-                                   LBRACK,
-                                   FOLLOW_LBRACK_in_builtInTypeSpec121 );
-                            match( this.input,
-                                   RBRACK,
-                                   FOLLOW_RBRACK_in_builtInTypeSpec124 );
+                if ( (LA3_0==LBRACK) ) {
+                    alt3=1;
+                }
 
-                        }
-                            break;
 
-                        default :
-                            break loop3;
-                    }
-                } while ( true );
+                switch (alt3) {
+            	case 1 :
+            	    // C:\\dev\\jbossrules\\trunk3\\drools-compiler\\src\\main\\resources\\org\\drools\\semantics\\java\\parser\\JavaParser.g:163:17: LBRACK RBRACK
+            	    {
+            	    match(input,LBRACK,FOLLOW_LBRACK_in_builtInTypeSpec121); 
+            	    match(input,RBRACK,FOLLOW_RBRACK_in_builtInTypeSpec124); 
 
+            	    }
+            	    break;
+
+            	default :
+            	    break loop3;
+                }
+            } while (true);
+
+
             }
 
-        } catch ( final RecognitionException re ) {
-            reportError( re );
-            recover( this.input,
-                     re );
-        } finally {
         }
-        return;
+        catch (RecognitionException re) {
+            reportError(re);
+            recover(input,re);
+        }
+        finally {
+        }
+        return ;
     }
-
     // $ANTLR end builtInTypeSpec
 
+
     // $ANTLR start type
-    // D:\\workspace\\jboss\\jbossrules\\drools-compiler\\src\\main\\resources\\org\\drools\\semantics\\java\\parser\\JavaParser.g:168:1: type : ( identifier | builtInType );
-    public void type() throws RecognitionException {
+    // C:\\dev\\jbossrules\\trunk3\\drools-compiler\\src\\main\\resources\\org\\drools\\semantics\\java\\parser\\JavaParser.g:168:1: type : ( identifier | builtInType );
+    public final void type() throws RecognitionException {
         try {
-            // D:\\workspace\\jboss\\jbossrules\\drools-compiler\\src\\main\\resources\\org\\drools\\semantics\\java\\parser\\JavaParser.g:169:4: ( identifier | builtInType )
-            int alt4 = 2;
-            final int LA4_0 = this.input.LA( 1 );
-            if ( (LA4_0 == IDENT) ) {
-                alt4 = 1;
-            } else if ( ((LA4_0 >= 68 && LA4_0 <= 76)) ) {
-                alt4 = 2;
-            } else {
-                final NoViableAltException nvae = new NoViableAltException( "168:1: type : ( identifier | builtInType );",
-                                                                      4,
-                                                                      0,
-                                                                      this.input );
+            // C:\\dev\\jbossrules\\trunk3\\drools-compiler\\src\\main\\resources\\org\\drools\\semantics\\java\\parser\\JavaParser.g:169:4: ( identifier | builtInType )
+            int alt4=2;
+            int LA4_0 = input.LA(1);
 
+            if ( (LA4_0==IDENT) ) {
+                alt4=1;
+            }
+            else if ( ((LA4_0>=68 && LA4_0<=76)) ) {
+                alt4=2;
+            }
+            else {
+                NoViableAltException nvae =
+                    new NoViableAltException("168:1: type : ( identifier | builtInType );", 4, 0, input);
+
                 throw nvae;
             }
-            switch ( alt4 ) {
+            switch (alt4) {
                 case 1 :
-                    // D:\\workspace\\jboss\\jbossrules\\drools-compiler\\src\\main\\resources\\org\\drools\\semantics\\java\\parser\\JavaParser.g:169:4: identifier
-                {
-                    pushFollow( FOLLOW_identifier_in_type139 );
+                    // C:\\dev\\jbossrules\\trunk3\\drools-compiler\\src\\main\\resources\\org\\drools\\semantics\\java\\parser\\JavaParser.g:169:4: identifier
+                    {
+                    pushFollow(FOLLOW_identifier_in_type139);
                     identifier();
-                    this._fsp--;
+                    _fsp--;
 
-                }
+
+                    }
                     break;
                 case 2 :
-                    // D:\\workspace\\jboss\\jbossrules\\drools-compiler\\src\\main\\resources\\org\\drools\\semantics\\java\\parser\\JavaParser.g:170:4: builtInType
-                {
-                    pushFollow( FOLLOW_builtInType_in_type144 );
+                    // C:\\dev\\jbossrules\\trunk3\\drools-compiler\\src\\main\\resources\\org\\drools\\semantics\\java\\parser\\JavaParser.g:170:4: builtInType
+                    {
+                    pushFollow(FOLLOW_builtInType_in_type144);
                     builtInType();
-                    this._fsp--;
+                    _fsp--;
 
-                }
+
+                    }
                     break;
 
             }
-        } catch ( final RecognitionException re ) {
-            reportError( re );
-            recover( this.input,
-                     re );
-        } finally {
         }
-        return;
+        catch (RecognitionException re) {
+            reportError(re);
+            recover(input,re);
+        }
+        finally {
+        }
+        return ;
     }
-
     // $ANTLR end type
 
+
     // $ANTLR start builtInType
-    // D:\\workspace\\jboss\\jbossrules\\drools-compiler\\src\\main\\resources\\org\\drools\\semantics\\java\\parser\\JavaParser.g:174:1: builtInType : ('void'|'boolean'|'byte'|'char'|'short'|'int'|'float'|'long'|'double');
-    public void builtInType() throws RecognitionException {
+    // C:\\dev\\jbossrules\\trunk3\\drools-compiler\\src\\main\\resources\\org\\drools\\semantics\\java\\parser\\JavaParser.g:174:1: builtInType : ( 'void' | 'boolean' | 'byte' | 'char' | 'short' | 'int' | 'float' | 'long' | 'double' );
+    public final void builtInType() throws RecognitionException {
         try {
-            // D:\\workspace\\jboss\\jbossrules\\drools-compiler\\src\\main\\resources\\org\\drools\\semantics\\java\\parser\\JavaParser.g:175:2: ( ('void'|'boolean'|'byte'|'char'|'short'|'int'|'float'|'long'|'double'))
-            // D:\\workspace\\jboss\\jbossrules\\drools-compiler\\src\\main\\resources\\org\\drools\\semantics\\java\\parser\\JavaParser.g:175:4: ('void'|'boolean'|'byte'|'char'|'short'|'int'|'float'|'long'|'double')
+            // C:\\dev\\jbossrules\\trunk3\\drools-compiler\\src\\main\\resources\\org\\drools\\semantics\\java\\parser\\JavaParser.g:175:4: ( 'void' | 'boolean' | 'byte' | 'char' | 'short' | 'int' | 'float' | 'long' | 'double' )
+            // C:\\dev\\jbossrules\\trunk3\\drools-compiler\\src\\main\\resources\\org\\drools\\semantics\\java\\parser\\JavaParser.g:
             {
-                if ( (this.input.LA( 1 ) >= 68 && this.input.LA( 1 ) <= 76) ) {
-                    this.input.consume();
-                    this.errorRecovery = false;
-                } else {
-                    final MismatchedSetException mse = new MismatchedSetException( null,
-                                                                             this.input );
-                    recoverFromMismatchedSet( this.input,
-                                              mse,
-                                              FOLLOW_set_in_builtInType156 );
-                    throw mse;
-                }
+            if ( (input.LA(1)>=68 && input.LA(1)<=76) ) {
+                input.consume();
+                errorRecovery=false;
+            }
+            else {
+                MismatchedSetException mse =
+                    new MismatchedSetException(null,input);
+                recoverFromMismatchedSet(input,mse,FOLLOW_set_in_builtInType0);    throw mse;
+            }
 
+
             }
 
-        } catch ( final RecognitionException re ) {
-            reportError( re );
-            recover( this.input,
-                     re );
-        } finally {
         }
-        return;
+        catch (RecognitionException re) {
+            reportError(re);
+            recover(input,re);
+        }
+        finally {
+        }
+        return ;
     }
-
     // $ANTLR end builtInType
 
+
     // $ANTLR start identifier
-    // D:\\workspace\\jboss\\jbossrules\\drools-compiler\\src\\main\\resources\\org\\drools\\semantics\\java\\parser\\JavaParser.g:188:1: identifier : IDENT ( DOT IDENT )* ;
-    public void identifier() throws RecognitionException {
+    // C:\\dev\\jbossrules\\trunk3\\drools-compiler\\src\\main\\resources\\org\\drools\\semantics\\java\\parser\\JavaParser.g:188:1: identifier : IDENT ( DOT IDENT )* ;
+    public final void identifier() throws RecognitionException {
         try {
-            // D:\\workspace\\jboss\\jbossrules\\drools-compiler\\src\\main\\resources\\org\\drools\\semantics\\java\\parser\\JavaParser.g:189:4: ( IDENT ( DOT IDENT )* )
-            // D:\\workspace\\jboss\\jbossrules\\drools-compiler\\src\\main\\resources\\org\\drools\\semantics\\java\\parser\\JavaParser.g:189:4: IDENT ( DOT IDENT )*
+            // C:\\dev\\jbossrules\\trunk3\\drools-compiler\\src\\main\\resources\\org\\drools\\semantics\\java\\parser\\JavaParser.g:189:4: ( IDENT ( DOT IDENT )* )
+            // C:\\dev\\jbossrules\\trunk3\\drools-compiler\\src\\main\\resources\\org\\drools\\semantics\\java\\parser\\JavaParser.g:189:4: IDENT ( DOT IDENT )*
             {
-                match( this.input,
-                       IDENT,
-                       FOLLOW_IDENT_in_identifier209 );
-                // D:\\workspace\\jboss\\jbossrules\\drools-compiler\\src\\main\\resources\\org\\drools\\semantics\\java\\parser\\JavaParser.g:189:11: ( DOT IDENT )*
-                loop5 : do {
-                    int alt5 = 2;
-                    final int LA5_0 = this.input.LA( 1 );
-                    if ( (LA5_0 == DOT) ) {
-                        alt5 = 1;
-                    }
+            match(input,IDENT,FOLLOW_IDENT_in_identifier209); 
+            // C:\\dev\\jbossrules\\trunk3\\drools-compiler\\src\\main\\resources\\org\\drools\\semantics\\java\\parser\\JavaParser.g:189:11: ( DOT IDENT )*
+            loop5:
+            do {
+                int alt5=2;
+                int LA5_0 = input.LA(1);
 
-                    switch ( alt5 ) {
-                        case 1 :
-                            // D:\\workspace\\jboss\\jbossrules\\drools-compiler\\src\\main\\resources\\org\\drools\\semantics\\java\\parser\\JavaParser.g:189:13: DOT IDENT
-                        {
-                            match( this.input,
-                                   DOT,
-                                   FOLLOW_DOT_in_identifier214 );
-                            match( this.input,
-                                   IDENT,
-                                   FOLLOW_IDENT_in_identifier216 );
+                if ( (LA5_0==DOT) ) {
+                    alt5=1;
+                }
 
-                        }
-                            break;
 
-                        default :
-                            break loop5;
-                    }
-                } while ( true );
+                switch (alt5) {
+            	case 1 :
+            	    // C:\\dev\\jbossrules\\trunk3\\drools-compiler\\src\\main\\resources\\org\\drools\\semantics\\java\\parser\\JavaParser.g:189:13: DOT IDENT
+            	    {
+            	    match(input,DOT,FOLLOW_DOT_in_identifier214); 
+            	    match(input,IDENT,FOLLOW_IDENT_in_identifier216); 
 
+            	    }
+            	    break;
+
+            	default :
+            	    break loop5;
+                }
+            } while (true);
+
+
             }
 
-        } catch ( final RecognitionException re ) {
-            reportError( re );
-            recover( this.input,
-                     re );
-        } finally {
         }
-        return;
+        catch (RecognitionException re) {
+            reportError(re);
+            recover(input,re);
+        }
+        finally {
+        }
+        return ;
     }
-
     // $ANTLR end identifier
 
+
     // $ANTLR start identifierStar
-    // D:\\workspace\\jboss\\jbossrules\\drools-compiler\\src\\main\\resources\\org\\drools\\semantics\\java\\parser\\JavaParser.g:192:1: identifierStar : IDENT ( DOT IDENT )* ( DOT STAR )? ;
-    public void identifierStar() throws RecognitionException {
+    // C:\\dev\\jbossrules\\trunk3\\drools-compiler\\src\\main\\resources\\org\\drools\\semantics\\java\\parser\\JavaParser.g:192:1: identifierStar : IDENT ( DOT IDENT )* ( DOT STAR )? ;
+    public final void identifierStar() throws RecognitionException {
         try {
-            // D:\\workspace\\jboss\\jbossrules\\drools-compiler\\src\\main\\resources\\org\\drools\\semantics\\java\\parser\\JavaParser.g:193:4: ( IDENT ( DOT IDENT )* ( DOT STAR )? )
-            // D:\\workspace\\jboss\\jbossrules\\drools-compiler\\src\\main\\resources\\org\\drools\\semantics\\java\\parser\\JavaParser.g:193:4: IDENT ( DOT IDENT )* ( DOT STAR )?
+            // C:\\dev\\jbossrules\\trunk3\\drools-compiler\\src\\main\\resources\\org\\drools\\semantics\\java\\parser\\JavaParser.g:193:4: ( IDENT ( DOT IDENT )* ( DOT STAR )? )
+            // C:\\dev\\jbossrules\\trunk3\\drools-compiler\\src\\main\\resources\\org\\drools\\semantics\\java\\parser\\JavaParser.g:193:4: IDENT ( DOT IDENT )* ( DOT STAR )?
             {
-                match( this.input,
-                       IDENT,
-                       FOLLOW_IDENT_in_identifierStar230 );
-                // D:\\workspace\\jboss\\jbossrules\\drools-compiler\\src\\main\\resources\\org\\drools\\semantics\\java\\parser\\JavaParser.g:194:3: ( DOT IDENT )*
-                loop6 : do {
-                    int alt6 = 2;
-                    final int LA6_0 = this.input.LA( 1 );
-                    if ( (LA6_0 == DOT) ) {
-                        final int LA6_1 = this.input.LA( 2 );
-                        if ( (LA6_1 == IDENT) ) {
-                            alt6 = 1;
-                        }
+            match(input,IDENT,FOLLOW_IDENT_in_identifierStar230); 
+            // C:\\dev\\jbossrules\\trunk3\\drools-compiler\\src\\main\\resources\\org\\drools\\semantics\\java\\parser\\JavaParser.g:194:3: ( DOT IDENT )*
+            loop6:
+            do {
+                int alt6=2;
+                int LA6_0 = input.LA(1);
 
+                if ( (LA6_0==DOT) ) {
+                    int LA6_1 = input.LA(2);
+
+                    if ( (LA6_1==IDENT) ) {
+                        alt6=1;
                     }
 
-                    switch ( alt6 ) {
-                        case 1 :
-                            // D:\\workspace\\jboss\\jbossrules\\drools-compiler\\src\\main\\resources\\org\\drools\\semantics\\java\\parser\\JavaParser.g:194:5: DOT IDENT
-                        {
-                            match( this.input,
-                                   DOT,
-                                   FOLLOW_DOT_in_identifierStar236 );
-                            match( this.input,
-                                   IDENT,
-                                   FOLLOW_IDENT_in_identifierStar238 );
 
-                        }
-                            break;
+                }
 
-                        default :
-                            break loop6;
-                    }
-                } while ( true );
 
-                // D:\\workspace\\jboss\\jbossrules\\drools-compiler\\src\\main\\resources\\org\\drools\\semantics\\java\\parser\\JavaParser.g:195:3: ( DOT STAR )?
-                int alt7 = 2;
-                final int LA7_0 = this.input.LA( 1 );
-                if ( (LA7_0 == DOT) ) {
-                    alt7 = 1;
+                switch (alt6) {
+            	case 1 :
+            	    // C:\\dev\\jbossrules\\trunk3\\drools-compiler\\src\\main\\resources\\org\\drools\\semantics\\java\\parser\\JavaParser.g:194:5: DOT IDENT
+            	    {
+            	    match(input,DOT,FOLLOW_DOT_in_identifierStar236); 
+            	    match(input,IDENT,FOLLOW_IDENT_in_identifierStar238); 
+
+            	    }
+            	    break;
+
+            	default :
+            	    break loop6;
                 }
-                switch ( alt7 ) {
-                    case 1 :
-                        // D:\\workspace\\jboss\\jbossrules\\drools-compiler\\src\\main\\resources\\org\\drools\\semantics\\java\\parser\\JavaParser.g:195:5: DOT STAR
+            } while (true);
+
+            // C:\\dev\\jbossrules\\trunk3\\drools-compiler\\src\\main\\resources\\org\\drools\\semantics\\java\\parser\\JavaParser.g:195:3: ( DOT STAR )?
+            int alt7=2;
+            int LA7_0 = input.LA(1);
+
+            if ( (LA7_0==DOT) ) {
+                alt7=1;
+            }
+            switch (alt7) {
+                case 1 :
+                    // C:\\dev\\jbossrules\\trunk3\\drools-compiler\\src\\main\\resources\\org\\drools\\semantics\\java\\parser\\JavaParser.g:195:5: DOT STAR
                     {
-                        match( this.input,
-                               DOT,
-                               FOLLOW_DOT_in_identifierStar247 );
-                        match( this.input,
-                               STAR,
-                               FOLLOW_STAR_in_identifierStar249 );
+                    match(input,DOT,FOLLOW_DOT_in_identifierStar247); 
+                    match(input,STAR,FOLLOW_STAR_in_identifierStar249); 
 
                     }
-                        break;
+                    break;
 
-                }
+            }
 
+
             }
 
-        } catch ( final RecognitionException re ) {
-            reportError( re );
-            recover( this.input,
-                     re );
-        } finally {
         }
-        return;
+        catch (RecognitionException re) {
+            reportError(re);
+            recover(input,re);
+        }
+        finally {
+        }
+        return ;
     }
-
     // $ANTLR end identifierStar
 
+
     // $ANTLR start modifiers
-    // D:\\workspace\\jboss\\jbossrules\\drools-compiler\\src\\main\\resources\\org\\drools\\semantics\\java\\parser\\JavaParser.g:202:1: modifiers : ( modifier )* ;
-    public void modifiers() throws RecognitionException {
+    // C:\\dev\\jbossrules\\trunk3\\drools-compiler\\src\\main\\resources\\org\\drools\\semantics\\java\\parser\\JavaParser.g:202:1: modifiers : ( modifier )* ;
+    public final void modifiers() throws RecognitionException {
         try {
-            // D:\\workspace\\jboss\\jbossrules\\drools-compiler\\src\\main\\resources\\org\\drools\\semantics\\java\\parser\\JavaParser.g:203:4: ( ( modifier )* )
-            // D:\\workspace\\jboss\\jbossrules\\drools-compiler\\src\\main\\resources\\org\\drools\\semantics\\java\\parser\\JavaParser.g:203:4: ( modifier )*
+            // C:\\dev\\jbossrules\\trunk3\\drools-compiler\\src\\main\\resources\\org\\drools\\semantics\\java\\parser\\JavaParser.g:203:4: ( ( modifier )* )
+            // C:\\dev\\jbossrules\\trunk3\\drools-compiler\\src\\main\\resources\\org\\drools\\semantics\\java\\parser\\JavaParser.g:203:4: ( modifier )*
             {
-                // D:\\workspace\\jboss\\jbossrules\\drools-compiler\\src\\main\\resources\\org\\drools\\semantics\\java\\parser\\JavaParser.g:203:4: ( modifier )*
-                loop8 : do {
-                    int alt8 = 2;
-                    final int LA8_0 = this.input.LA( 1 );
-                    if ( ((LA8_0 >= 77 && LA8_0 <= 88)) ) {
-                        alt8 = 1;
-                    }
+            // C:\\dev\\jbossrules\\trunk3\\drools-compiler\\src\\main\\resources\\org\\drools\\semantics\\java\\parser\\JavaParser.g:203:4: ( modifier )*
+            loop8:
+            do {
+                int alt8=2;
+                int LA8_0 = input.LA(1);
 
-                    switch ( alt8 ) {
-                        case 1 :
-                            // D:\\workspace\\jboss\\jbossrules\\drools-compiler\\src\\main\\resources\\org\\drools\\semantics\\java\\parser\\JavaParser.g:203:6: modifier
-                        {
-                            pushFollow( FOLLOW_modifier_in_modifiers270 );
-                            modifier();
-                            this._fsp--;
+                if ( ((LA8_0>=77 && LA8_0<=88)) ) {
+                    alt8=1;
+                }
 
-                        }
-                            break;
 
-                        default :
-                            break loop8;
-                    }
-                } while ( true );
+                switch (alt8) {
+            	case 1 :
+            	    // C:\\dev\\jbossrules\\trunk3\\drools-compiler\\src\\main\\resources\\org\\drools\\semantics\\java\\parser\\JavaParser.g:203:6: modifier
+            	    {
+            	    pushFollow(FOLLOW_modifier_in_modifiers270);
+            	    modifier();
+            	    _fsp--;
 
+
+            	    }
+            	    break;
+
+            	default :
+            	    break loop8;
+                }
+            } while (true);
+
+
             }
 
-        } catch ( final RecognitionException re ) {
-            reportError( re );
-            recover( this.input,
-                     re );
-        } finally {
         }
-        return;
+        catch (RecognitionException re) {
+            reportError(re);
+            recover(input,re);
+        }
+        finally {
+        }
+        return ;
     }
-
     // $ANTLR end modifiers
 
+
     // $ANTLR start modifier
-    // D:\\workspace\\jboss\\jbossrules\\drools-compiler\\src\\main\\resources\\org\\drools\\semantics\\java\\parser\\JavaParser.g:208:1: modifier : ('private'|'public'|'protected'|'static'|'transient'|'final'|'abstract'|'native'|'threadsafe'|'synchronized'|'volatile'|'strictfp');
-    public void modifier() throws RecognitionException {
+    // C:\\dev\\jbossrules\\trunk3\\drools-compiler\\src\\main\\resources\\org\\drools\\semantics\\java\\parser\\JavaParser.g:208:1: modifier : ( 'private' | 'public' | 'protected' | 'static' | 'transient' | 'final' | 'abstract' | 'native' | 'threadsafe' | 'synchronized' | 'volatile' | 'strictfp' );
+    public final void modifier() throws RecognitionException {
         try {
-            // D:\\workspace\\jboss\\jbossrules\\drools-compiler\\src\\main\\resources\\org\\drools\\semantics\\java\\parser\\JavaParser.g:209:2: ( ('private'|'public'|'protected'|'static'|'transient'|'final'|'abstract'|'native'|'threadsafe'|'synchronized'|'volatile'|'strictfp'))
-            // D:\\workspace\\jboss\\jbossrules\\drools-compiler\\src\\main\\resources\\org\\drools\\semantics\\java\\parser\\JavaParser.g:209:4: ('private'|'public'|'protected'|'static'|'transient'|'final'|'abstract'|'native'|'threadsafe'|'synchronized'|'volatile'|'strictfp')
+            // C:\\dev\\jbossrules\\trunk3\\drools-compiler\\src\\main\\resources\\org\\drools\\semantics\\java\\parser\\JavaParser.g:209:4: ( 'private' | 'public' | 'protected' | 'static' | 'transient' | 'final' | 'abstract' | 'native' | 'threadsafe' | 'synchronized' | 'volatile' | 'strictfp' )
+            // C:\\dev\\jbossrules\\trunk3\\drools-compiler\\src\\main\\resources\\org\\drools\\semantics\\java\\parser\\JavaParser.g:
             {
-                if ( (this.input.LA( 1 ) >= 77 && this.input.LA( 1 ) <= 88) ) {
-                    this.input.consume();
-                    this.errorRecovery = false;
-                } else {
-                    final MismatchedSetException mse = new MismatchedSetException( null,
-                                                                             this.input );
-                    recoverFromMismatchedSet( this.input,
-                                              mse,
-                                              FOLLOW_set_in_modifier288 );
-                    throw mse;
-                }
+            if ( (input.LA(1)>=77 && input.LA(1)<=88) ) {
+                input.consume();
+                errorRecovery=false;
+            }
+            else {
+                MismatchedSetException mse =
+                    new MismatchedSetException(null,input);
+                recoverFromMismatchedSet(input,mse,FOLLOW_set_in_modifier0);    throw mse;
+            }
 
+
             }
 
-        } catch ( final RecognitionException re ) {
-            reportError( re );
-            recover( this.input,
-                     re );
-        } finally {
         }
-        return;
+        catch (RecognitionException re) {
+            reportError(re);
+            recover(input,re);
+        }
+        finally {
+        }
+        return ;
     }
-
     // $ANTLR end modifier
 
+
     // $ANTLR start classDefinition
-    // D:\\workspace\\jboss\\jbossrules\\drools-compiler\\src\\main\\resources\\org\\drools\\semantics\\java\\parser\\JavaParser.g:225:1: classDefinition : 'class' IDENT superClassClause implementsClause classBlock ;
-    public void classDefinition() throws RecognitionException {
+    // C:\\dev\\jbossrules\\trunk3\\drools-compiler\\src\\main\\resources\\org\\drools\\semantics\\java\\parser\\JavaParser.g:225:1: classDefinition : 'class' IDENT superClassClause implementsClause classBlock ;
+    public final void classDefinition() throws RecognitionException {
         try {
-            // D:\\workspace\\jboss\\jbossrules\\drools-compiler\\src\\main\\resources\\org\\drools\\semantics\\java\\parser\\JavaParser.g:226:4: ( 'class' IDENT superClassClause implementsClause classBlock )
-            // D:\\workspace\\jboss\\jbossrules\\drools-compiler\\src\\main\\resources\\org\\drools\\semantics\\java\\parser\\JavaParser.g:226:4: 'class' IDENT superClassClause implementsClause classBlock
+            // C:\\dev\\jbossrules\\trunk3\\drools-compiler\\src\\main\\resources\\org\\drools\\semantics\\java\\parser\\JavaParser.g:226:4: ( 'class' IDENT superClassClause implementsClause classBlock )
+            // C:\\dev\\jbossrules\\trunk3\\drools-compiler\\src\\main\\resources\\org\\drools\\semantics\\java\\parser\\JavaParser.g:226:4: 'class' IDENT superClassClause implementsClause classBlock
             {
-                match( this.input,
-                       89,
-                       FOLLOW_89_in_classDefinition356 );
-                match( this.input,
-                       IDENT,
-                       FOLLOW_IDENT_in_classDefinition358 );
-                pushFollow( FOLLOW_superClassClause_in_classDefinition365 );
-                superClassClause();
-                this._fsp--;
+            match(input,89,FOLLOW_89_in_classDefinition356); 
+            match(input,IDENT,FOLLOW_IDENT_in_classDefinition358); 
+            pushFollow(FOLLOW_superClassClause_in_classDefinition365);
+            superClassClause();
+            _fsp--;
 
-                pushFollow( FOLLOW_implementsClause_in_classDefinition372 );
-                implementsClause();
-                this._fsp--;
+            pushFollow(FOLLOW_implementsClause_in_classDefinition372);
+            implementsClause();
+            _fsp--;
 
-                pushFollow( FOLLOW_classBlock_in_classDefinition379 );
-                classBlock();
-                this._fsp--;
+            pushFollow(FOLLOW_classBlock_in_classDefinition379);
+            classBlock();
+            _fsp--;
 
+
             }
 
-        } catch ( final RecognitionException re ) {
-            reportError( re );
-            recover( this.input,
-                     re );
-        } finally {
         }
-        return;
+        catch (RecognitionException re) {
+            reportError(re);
+            recover(input,re);
+        }
+        finally {
+        }
+        return ;
     }
-
     // $ANTLR end classDefinition
 
+
     // $ANTLR start superClassClause
-    // D:\\workspace\\jboss\\jbossrules\\drools-compiler\\src\\main\\resources\\org\\drools\\semantics\\java\\parser\\JavaParser.g:235:1: superClassClause : ( 'extends' identifier )? ;
-    public void superClassClause() throws RecognitionException {
+    // C:\\dev\\jbossrules\\trunk3\\drools-compiler\\src\\main\\resources\\org\\drools\\semantics\\java\\parser\\JavaParser.g:235:1: superClassClause : ( 'extends' identifier )? ;
+    public final void superClassClause() throws RecognitionException {
         try {
-            // D:\\workspace\\jboss\\jbossrules\\drools-compiler\\src\\main\\resources\\org\\drools\\semantics\\java\\parser\\JavaParser.g:236:4: ( ( 'extends' identifier )? )
-            // D:\\workspace\\jboss\\jbossrules\\drools-compiler\\src\\main\\resources\\org\\drools\\semantics\\java\\parser\\JavaParser.g:236:4: ( 'extends' identifier )?
+            // C:\\dev\\jbossrules\\trunk3\\drools-compiler\\src\\main\\resources\\org\\drools\\semantics\\java\\parser\\JavaParser.g:236:4: ( ( 'extends' identifier )? )
+            // C:\\dev\\jbossrules\\trunk3\\drools-compiler\\src\\main\\resources\\org\\drools\\semantics\\java\\parser\\JavaParser.g:236:4: ( 'extends' identifier )?
             {
-                // D:\\workspace\\jboss\\jbossrules\\drools-compiler\\src\\main\\resources\\org\\drools\\semantics\\java\\parser\\JavaParser.g:236:4: ( 'extends' identifier )?
-                int alt9 = 2;
-                final int LA9_0 = this.input.LA( 1 );
-                if ( (LA9_0 == 90) ) {
-                    alt9 = 1;
-                }
-                switch ( alt9 ) {
-                    case 1 :
-                        // D:\\workspace\\jboss\\jbossrules\\drools-compiler\\src\\main\\resources\\org\\drools\\semantics\\java\\parser\\JavaParser.g:236:6: 'extends' identifier
+            // C:\\dev\\jbossrules\\trunk3\\drools-compiler\\src\\main\\resources\\org\\drools\\semantics\\java\\parser\\JavaParser.g:236:4: ( 'extends' identifier )?
+            int alt9=2;
+            int LA9_0 = input.LA(1);
+
+            if ( (LA9_0==90) ) {
+                alt9=1;
+            }
+            switch (alt9) {
+                case 1 :
+                    // C:\\dev\\jbossrules\\trunk3\\drools-compiler\\src\\main\\resources\\org\\drools\\semantics\\java\\parser\\JavaParser.g:236:6: 'extends' identifier
                     {
-                        match( this.input,
-                               90,
-                               FOLLOW_90_in_superClassClause392 );
-                        pushFollow( FOLLOW_identifier_in_superClassClause394 );
-                        identifier();
-                        this._fsp--;
+                    match(input,90,FOLLOW_90_in_superClassClause392); 
+                    pushFollow(FOLLOW_identifier_in_superClassClause394);
+                    identifier();
+                    _fsp--;
 
+
                     }
-                        break;
+                    break;
 
-                }
+            }
 
+
             }
 
-        } catch ( final RecognitionException re ) {
-            reportError( re );
-            recover( this.input,
-                     re );
-        } finally {
         }
-        return;
+        catch (RecognitionException re) {
+            reportError(re);
+            recover(input,re);
+        }
+        finally {
+        }
+        return ;
     }
-
     // $ANTLR end superClassClause
 
+
     // $ANTLR start interfaceDefinition
-    // D:\\workspace\\jboss\\jbossrules\\drools-compiler\\src\\main\\resources\\org\\drools\\semantics\\java\\parser\\JavaParser.g:241:1: interfaceDefinition : 'interface' IDENT interfaceExtends classBlock ;
-    public void interfaceDefinition() throws RecognitionException {
+    // C:\\dev\\jbossrules\\trunk3\\drools-compiler\\src\\main\\resources\\org\\drools\\semantics\\java\\parser\\JavaParser.g:241:1: interfaceDefinition : 'interface' IDENT interfaceExtends classBlock ;
+    public final void interfaceDefinition() throws RecognitionException {
         try {
-            // D:\\workspace\\jboss\\jbossrules\\drools-compiler\\src\\main\\resources\\org\\drools\\semantics\\java\\parser\\JavaParser.g:242:4: ( 'interface' IDENT interfaceExtends classBlock )
-            // D:\\workspace\\jboss\\jbossrules\\drools-compiler\\src\\main\\resources\\org\\drools\\semantics\\java\\parser\\JavaParser.g:242:4: 'interface' IDENT interfaceExtends classBlock
+            // C:\\dev\\jbossrules\\trunk3\\drools-compiler\\src\\main\\resources\\org\\drools\\semantics\\java\\parser\\JavaParser.g:242:4: ( 'interface' IDENT interfaceExtends classBlock )
+            // C:\\dev\\jbossrules\\trunk3\\drools-compiler\\src\\main\\resources\\org\\drools\\semantics\\java\\parser\\JavaParser.g:242:4: 'interface' IDENT interfaceExtends classBlock
             {
-                match( this.input,
-                       91,
-                       FOLLOW_91_in_interfaceDefinition412 );
-                match( this.input,
-                       IDENT,
-                       FOLLOW_IDENT_in_interfaceDefinition414 );
-                pushFollow( FOLLOW_interfaceExtends_in_interfaceDefinition421 );
-                interfaceExtends();
-                this._fsp--;
+            match(input,91,FOLLOW_91_in_interfaceDefinition412); 
+            match(input,IDENT,FOLLOW_IDENT_in_interfaceDefinition414); 
+            pushFollow(FOLLOW_interfaceExtends_in_interfaceDefinition421);
+            interfaceExtends();
+            _fsp--;
 
-                pushFollow( FOLLOW_classBlock_in_interfaceDefinition428 );
-                classBlock();
-                this._fsp--;
+            pushFollow(FOLLOW_classBlock_in_interfaceDefinition428);
+            classBlock();
+            _fsp--;
 
+
             }
 
-        } catch ( final RecognitionException re ) {
-            reportError( re );
-            recover( this.input,
-                     re );
-        } finally {
         }
-        return;
+        catch (RecognitionException re) {
+            reportError(re);
+            recover(input,re);
+        }
+        finally {
+        }
+        return ;
     }
-
     // $ANTLR end interfaceDefinition
 
+
     // $ANTLR start classBlock
-    // D:\\workspace\\jboss\\jbossrules\\drools-compiler\\src\\main\\resources\\org\\drools\\semantics\\java\\parser\\JavaParser.g:252:1: classBlock : LCURLY ( field | SEMI )* RCURLY ;
-    public void classBlock() throws RecognitionException {
+    // C:\\dev\\jbossrules\\trunk3\\drools-compiler\\src\\main\\resources\\org\\drools\\semantics\\java\\parser\\JavaParser.g:252:1: classBlock : LCURLY ( field | SEMI )* RCURLY ;
+    public final void classBlock() throws RecognitionException {
         try {
-            // D:\\workspace\\jboss\\jbossrules\\drools-compiler\\src\\main\\resources\\org\\drools\\semantics\\java\\parser\\JavaParser.g:253:4: ( LCURLY ( field | SEMI )* RCURLY )
-            // D:\\workspace\\jboss\\jbossrules\\drools-compiler\\src\\main\\resources\\org\\drools\\semantics\\java\\parser\\JavaParser.g:253:4: LCURLY ( field | SEMI )* RCURLY
+            // C:\\dev\\jbossrules\\trunk3\\drools-compiler\\src\\main\\resources\\org\\drools\\semantics\\java\\parser\\JavaParser.g:253:4: ( LCURLY ( field | SEMI )* RCURLY )
+            // C:\\dev\\jbossrules\\trunk3\\drools-compiler\\src\\main\\resources\\org\\drools\\semantics\\java\\parser\\JavaParser.g:253:4: LCURLY ( field | SEMI )* RCURLY
             {
-                match( this.input,
-                       LCURLY,
-                       FOLLOW_LCURLY_in_classBlock442 );
-                // D:\\workspace\\jboss\\jbossrules\\drools-compiler\\src\\main\\resources\\org\\drools\\semantics\\java\\parser\\JavaParser.g:254:4: ( field | SEMI )*
-                loop10 : do {
-                    int alt10 = 3;
-                    final int LA10_0 = this.input.LA( 1 );
-                    if ( (LA10_0 == IDENT || LA10_0 == LCURLY || (LA10_0 >= 68 && LA10_0 <= 89) || LA10_0 == 91) ) {
-                        alt10 = 1;
-                    } else if ( (LA10_0 == SEMI) ) {
-                        alt10 = 2;
-                    }
+            match(input,LCURLY,FOLLOW_LCURLY_in_classBlock442); 
+            // C:\\dev\\jbossrules\\trunk3\\drools-compiler\\src\\main\\resources\\org\\drools\\semantics\\java\\parser\\JavaParser.g:254:4: ( field | SEMI )*
+            loop10:
+            do {
+                int alt10=3;
+                int LA10_0 = input.LA(1);
 
-                    switch ( alt10 ) {
-                        case 1 :
-                            // D:\\workspace\\jboss\\jbossrules\\drools-compiler\\src\\main\\resources\\org\\drools\\semantics\\java\\parser\\JavaParser.g:254:6: field
-                        {
-                            pushFollow( FOLLOW_field_in_classBlock449 );
-                            field();
-                            this._fsp--;
+                if ( (LA10_0==IDENT||LA10_0==LCURLY||(LA10_0>=68 && LA10_0<=89)||LA10_0==91) ) {
+                    alt10=1;
+                }
+                else if ( (LA10_0==SEMI) ) {
+                    alt10=2;
+                }
 
-                        }
-                            break;
-                        case 2 :
-                            // D:\\workspace\\jboss\\jbossrules\\drools-compiler\\src\\main\\resources\\org\\drools\\semantics\\java\\parser\\JavaParser.g:254:14: SEMI
-                        {
-                            match( this.input,
-                                   SEMI,
-                                   FOLLOW_SEMI_in_classBlock453 );
 
-                        }
-                            break;
+                switch (alt10) {
+            	case 1 :
+            	    // C:\\dev\\jbossrules\\trunk3\\drools-compiler\\src\\main\\resources\\org\\drools\\semantics\\java\\parser\\JavaParser.g:254:6: field
+            	    {
+            	    pushFollow(FOLLOW_field_in_classBlock449);
+            	    field();
+            	    _fsp--;
 
-                        default :
-                            break loop10;
-                    }
-                } while ( true );
 
-                match( this.input,
-                       RCURLY,
-                       FOLLOW_RCURLY_in_classBlock460 );
+            	    }
+            	    break;
+            	case 2 :
+            	    // C:\\dev\\jbossrules\\trunk3\\drools-compiler\\src\\main\\resources\\org\\drools\\semantics\\java\\parser\\JavaParser.g:254:14: SEMI
+            	    {
+            	    match(input,SEMI,FOLLOW_SEMI_in_classBlock453); 
 
+            	    }
+            	    break;
+
+            	default :
+            	    break loop10;
+                }
+            } while (true);
+
+            match(input,RCURLY,FOLLOW_RCURLY_in_classBlock460); 
+
             }
 
-        } catch ( final RecognitionException re ) {
-            reportError( re );
-            recover( this.input,
-                     re );
-        } finally {
         }
-        return;
+        catch (RecognitionException re) {
+            reportError(re);
+            recover(input,re);
+        }
+        finally {
+        }
+        return ;
     }
-
     // $ANTLR end classBlock
 
+
     // $ANTLR start interfaceExtends
-    // D:\\workspace\\jboss\\jbossrules\\drools-compiler\\src\\main\\resources\\org\\drools\\semantics\\java\\parser\\JavaParser.g:260:1: interfaceExtends : ( 'extends' identifier ( COMMA identifier )* )? ;
-    public void interfaceExtends() throws RecognitionException {
+    // C:\\dev\\jbossrules\\trunk3\\drools-compiler\\src\\main\\resources\\org\\drools\\semantics\\java\\parser\\JavaParser.g:260:1: interfaceExtends : ( 'extends' identifier ( COMMA identifier )* )? ;
+    public final void interfaceExtends() throws RecognitionException {
         try {
-            // D:\\workspace\\jboss\\jbossrules\\drools-compiler\\src\\main\\resources\\org\\drools\\semantics\\java\\parser\\JavaParser.g:261:4: ( ( 'extends' identifier ( COMMA identifier )* )? )
-            // D:\\workspace\\jboss\\jbossrules\\drools-compiler\\src\\main\\resources\\org\\drools\\semantics\\java\\parser\\JavaParser.g:261:4: ( 'extends' identifier ( COMMA identifier )* )?
+            // C:\\dev\\jbossrules\\trunk3\\drools-compiler\\src\\main\\resources\\org\\drools\\semantics\\java\\parser\\JavaParser.g:261:4: ( ( 'extends' identifier ( COMMA identifier )* )? )
+            // C:\\dev\\jbossrules\\trunk3\\drools-compiler\\src\\main\\resources\\org\\drools\\semantics\\java\\parser\\JavaParser.g:261:4: ( 'extends' identifier ( COMMA identifier )* )?
             {
-                // D:\\workspace\\jboss\\jbossrules\\drools-compiler\\src\\main\\resources\\org\\drools\\semantics\\java\\parser\\JavaParser.g:261:4: ( 'extends' identifier ( COMMA identifier )* )?
-                int alt12 = 2;
-                final int LA12_0 = this.input.LA( 1 );
-                if ( (LA12_0 == 90) ) {
-                    alt12 = 1;
-                }
-                switch ( alt12 ) {
-                    case 1 :
-                        // D:\\workspace\\jboss\\jbossrules\\drools-compiler\\src\\main\\resources\\org\\drools\\semantics\\java\\parser\\JavaParser.g:262:3: 'extends' identifier ( COMMA identifier )*
+            // C:\\dev\\jbossrules\\trunk3\\drools-compiler\\src\\main\\resources\\org\\drools\\semantics\\java\\parser\\JavaParser.g:261:4: ( 'extends' identifier ( COMMA identifier )* )?
+            int alt12=2;
+            int LA12_0 = input.LA(1);
+
+            if ( (LA12_0==90) ) {
+                alt12=1;
+            }
+            switch (alt12) {
+                case 1 :
+                    // C:\\dev\\jbossrules\\trunk3\\drools-compiler\\src\\main\\resources\\org\\drools\\semantics\\java\\parser\\JavaParser.g:262:3: 'extends' identifier ( COMMA identifier )*
                     {
-                        match( this.input,
-                               90,
-                               FOLLOW_90_in_interfaceExtends479 );
-                        pushFollow( FOLLOW_identifier_in_interfaceExtends483 );
-                        identifier();
-                        this._fsp--;
+                    match(input,90,FOLLOW_90_in_interfaceExtends479); 
+                    pushFollow(FOLLOW_identifier_in_interfaceExtends483);
+                    identifier();
+                    _fsp--;
 
-                        // D:\\workspace\\jboss\\jbossrules\\drools-compiler\\src\\main\\resources\\org\\drools\\semantics\\java\\parser\\JavaParser.g:263:14: ( COMMA identifier )*
-                        loop11 : do {
-                            int alt11 = 2;
-                            final int LA11_0 = this.input.LA( 1 );
-                            if ( (LA11_0 == COMMA) ) {
-                                alt11 = 1;
-                            }
+                    // C:\\dev\\jbossrules\\trunk3\\drools-compiler\\src\\main\\resources\\org\\drools\\semantics\\java\\parser\\JavaParser.g:263:14: ( COMMA identifier )*
+                    loop11:
+                    do {
+                        int alt11=2;
+                        int LA11_0 = input.LA(1);
 
-                            switch ( alt11 ) {
-                                case 1 :
-                                    // D:\\workspace\\jboss\\jbossrules\\drools-compiler\\src\\main\\resources\\org\\drools\\semantics\\java\\parser\\JavaParser.g:263:16: COMMA identifier
-                                {
-                                    match( this.input,
-                                           COMMA,
-                                           FOLLOW_COMMA_in_interfaceExtends487 );
-                                    pushFollow( FOLLOW_identifier_in_interfaceExtends489 );
-                                    identifier();
-                                    this._fsp--;
+                        if ( (LA11_0==COMMA) ) {
+                            alt11=1;
+                        }
 
-                                }
-                                    break;
 
-                                default :
-                                    break loop11;
-                            }
-                        } while ( true );
+                        switch (alt11) {
+                    	case 1 :
+                    	    // C:\\dev\\jbossrules\\trunk3\\drools-compiler\\src\\main\\resources\\org\\drools\\semantics\\java\\parser\\JavaParser.g:263:16: COMMA identifier
+                    	    {
+                    	    match(input,COMMA,FOLLOW_COMMA_in_interfaceExtends487); 
+                    	    pushFollow(FOLLOW_identifier_in_interfaceExtends489);
+                    	    identifier();
+                    	    _fsp--;
 
+
+                    	    }
+                    	    break;
+
+                    	default :
+                    	    break loop11;
+                        }
+                    } while (true);
+
+
                     }
-                        break;
+                    break;
 
-                }
+            }
 
+
             }
 
-        } catch ( final RecognitionException re ) {
-            reportError( re );
-            recover( this.input,
-                     re );
-        } finally {
         }
-        return;
+        catch (RecognitionException re) {
+            reportError(re);
+            recover(input,re);
+        }
+        finally {
+        }
+        return ;
     }
-
     // $ANTLR end interfaceExtends
 
+
     // $ANTLR start implementsClause
-    // D:\\workspace\\jboss\\jbossrules\\drools-compiler\\src\\main\\resources\\org\\drools\\semantics\\java\\parser\\JavaParser.g:268:1: implementsClause : ( 'implements' identifier ( COMMA identifier )* )? ;
-    public void implementsClause() throws RecognitionException {
+    // C:\\dev\\jbossrules\\trunk3\\drools-compiler\\src\\main\\resources\\org\\drools\\semantics\\java\\parser\\JavaParser.g:268:1: implementsClause : ( 'implements' identifier ( COMMA identifier )* )? ;
+    public final void implementsClause() throws RecognitionException {
         try {
-            // D:\\workspace\\jboss\\jbossrules\\drools-compiler\\src\\main\\resources\\org\\drools\\semantics\\java\\parser\\JavaParser.g:269:4: ( ( 'implements' identifier ( COMMA identifier )* )? )
-            // D:\\workspace\\jboss\\jbossrules\\drools-compiler\\src\\main\\resources\\org\\drools\\semantics\\java\\parser\\JavaParser.g:269:4: ( 'implements' identifier ( COMMA identifier )* )?
+            // C:\\dev\\jbossrules\\trunk3\\drools-compiler\\src\\main\\resources\\org\\drools\\semantics\\java\\parser\\JavaParser.g:269:4: ( ( 'implements' identifier ( COMMA identifier )* )? )
+            // C:\\dev\\jbossrules\\trunk3\\drools-compiler\\src\\main\\resources\\org\\drools\\semantics\\java\\parser\\JavaParser.g:269:4: ( 'implements' identifier ( COMMA identifier )* )?
             {
-                // D:\\workspace\\jboss\\jbossrules\\drools-compiler\\src\\main\\resources\\org\\drools\\semantics\\java\\parser\\JavaParser.g:269:4: ( 'implements' identifier ( COMMA identifier )* )?
-                int alt14 = 2;
-                final int LA14_0 = this.input.LA( 1 );
-                if ( (LA14_0 == 92) ) {
-                    alt14 = 1;
-                }
-                switch ( alt14 ) {
-                    case 1 :
-                        // D:\\workspace\\jboss\\jbossrules\\drools-compiler\\src\\main\\resources\\org\\drools\\semantics\\java\\parser\\JavaParser.g:270:4: 'implements' identifier ( COMMA identifier )*
+            // C:\\dev\\jbossrules\\trunk3\\drools-compiler\\src\\main\\resources\\org\\drools\\semantics\\java\\parser\\JavaParser.g:269:4: ( 'implements' identifier ( COMMA identifier )* )?
+            int alt14=2;
+            int LA14_0 = input.LA(1);
+
+            if ( (LA14_0==92) ) {
+                alt14=1;
+            }
+            switch (alt14) {
+                case 1 :
+                    // C:\\dev\\jbossrules\\trunk3\\drools-compiler\\src\\main\\resources\\org\\drools\\semantics\\java\\parser\\JavaParser.g:270:4: 'implements' identifier ( COMMA identifier )*
                     {
-                        match( this.input,
-                               92,
-                               FOLLOW_92_in_implementsClause514 );
-                        pushFollow( FOLLOW_identifier_in_implementsClause516 );
-                        identifier();
-                        this._fsp--;
+                    match(input,92,FOLLOW_92_in_implementsClause514); 
+                    pushFollow(FOLLOW_identifier_in_implementsClause516);
+                    identifier();
+                    _fsp--;
 
-                        // D:\\workspace\\jboss\\jbossrules\\drools-compiler\\src\\main\\resources\\org\\drools\\semantics\\java\\parser\\JavaParser.g:270:28: ( COMMA identifier )*
-                        loop13 : do {
-                            int alt13 = 2;
-                            final int LA13_0 = this.input.LA( 1 );
-                            if ( (LA13_0 == COMMA) ) {
-                                alt13 = 1;
-                            }
+                    // C:\\dev\\jbossrules\\trunk3\\drools-compiler\\src\\main\\resources\\org\\drools\\semantics\\java\\parser\\JavaParser.g:270:28: ( COMMA identifier )*
+                    loop13:
+                    do {
+                        int alt13=2;
+                        int LA13_0 = input.LA(1);
 
-                            switch ( alt13 ) {
-                                case 1 :
-                                    // D:\\workspace\\jboss\\jbossrules\\drools-compiler\\src\\main\\resources\\org\\drools\\semantics\\java\\parser\\JavaParser.g:270:30: COMMA identifier
-                                {
-                                    match( this.input,
-                                           COMMA,
-                                           FOLLOW_COMMA_in_implementsClause520 );
-                                    pushFollow( FOLLOW_identifier_in_implementsClause522 );
-                                    identifier();
-                                    this._fsp--;
+                        if ( (LA13_0==COMMA) ) {
+                            alt13=1;
+                        }
 
-                                }
-                                    break;
 
-                                default :
-                                    break loop13;
-                            }
-                        } while ( true );
+                        switch (alt13) {
+                    	case 1 :
+                    	    // C:\\dev\\jbossrules\\trunk3\\drools-compiler\\src\\main\\resources\\org\\drools\\semantics\\java\\parser\\JavaParser.g:270:30: COMMA identifier
+                    	    {
+                    	    match(input,COMMA,FOLLOW_COMMA_in_implementsClause520); 
+                    	    pushFollow(FOLLOW_identifier_in_implementsClause522);
+                    	    identifier();
+                    	    _fsp--;
 
+
+                    	    }
+                    	    break;
+
+                    	default :
+                    	    break loop13;
+                        }
+                    } while (true);
+
+
                     }
-                        break;
+                    break;
 
-                }
+            }
 
+
             }
 
-        } catch ( final RecognitionException re ) {
-            reportError( re );
-            recover( this.input,
-                     re );
-        } finally {
         }
-        return;
+        catch (RecognitionException re) {
+            reportError(re);
+            recover(input,re);
+        }
+        finally {
+        }
+        return ;
     }
-
     // $ANTLR end implementsClause
 
+
     // $ANTLR start field
-    // D:\\workspace\\jboss\\jbossrules\\drools-compiler\\src\\main\\resources\\org\\drools\\semantics\\java\\parser\\JavaParser.g:278:1: field : ( modifiers ( ctorHead constructorBody | classDefinition | interfaceDefinition | typeSpec ( IDENT LPAREN parameterDeclarationList RPAREN declaratorBrackets ( throwsClause )? ( compoundStatement | SEMI ) | variableDefinitions SEMI ) ) | 'static' compoundStatement | compoundStatement );
-    public void field() throws RecognitionException {
+    // C:\\dev\\jbossrules\\trunk3\\drools-compiler\\src\\main\\resources\\org\\drools\\semantics\\java\\parser\\JavaParser.g:278:1: field : ( modifiers ( ctorHead constructorBody | classDefinition | interfaceDefinition | typeSpec ( IDENT LPAREN parameterDeclarationList RPAREN declaratorBrackets ( throwsClause )? ( compoundStatement | SEMI ) | variableDefinitions SEMI ) ) | 'static' compoundStatement | compoundStatement );
+    public final void field() throws RecognitionException {
         try {
-            // D:\\workspace\\jboss\\jbossrules\\drools-compiler\\src\\main\\resources\\org\\drools\\semantics\\java\\parser\\JavaParser.g:280:3: ( modifiers ( ctorHead constructorBody | classDefinition | interfaceDefinition | typeSpec ( IDENT LPAREN parameterDeclarationList RPAREN declaratorBrackets ( throwsClause )? ( compoundStatement | SEMI ) | variableDefinitions SEMI ) ) | 'static' compoundStatement | compoundStatement )
-            int alt19 = 3;
-            switch ( this.input.LA( 1 ) ) {
-                case 80 :
-                    final int LA19_1 = this.input.LA( 2 );
-                    if ( (LA19_1 == LCURLY) ) {
-                        alt19 = 2;
-                    } else if ( (LA19_1 == IDENT || (LA19_1 >= 68 && LA19_1 <= 89) || LA19_1 == 91) ) {
-                        alt19 = 1;
-                    } else {
-                        final NoViableAltException nvae = new NoViableAltException( "278:1: field : ( modifiers ( ctorHead constructorBody | classDefinition | interfaceDefinition | typeSpec ( IDENT LPAREN parameterDeclarationList RPAREN declaratorBrackets ( throwsClause )? ( compoundStatement | SEMI ) | variableDefinitions SEMI ) ) | 'static' compoundStatement | compoundStatement );",
-                                                                              19,
-                                                                              1,
-                                                                              this.input );
+            // C:\\dev\\jbossrules\\trunk3\\drools-compiler\\src\\main\\resources\\org\\drools\\semantics\\java\\parser\\JavaParser.g:280:3: ( modifiers ( ctorHead constructorBody | classDefinition | interfaceDefinition | typeSpec ( IDENT LPAREN parameterDeclarationList RPAREN declaratorBrackets ( throwsClause )? ( compoundStatement | SEMI ) | variableDefinitions SEMI ) ) | 'static' compoundStatement | compoundStatement )
+            int alt19=3;
+            switch ( input.LA(1) ) {
+            case 80:
+                {
+                int LA19_1 = input.LA(2);
 
-                        throw nvae;
-                    }
-                    break;
-                case IDENT :
-                case 68 :
-                case 69 :
-                case 70 :
-                case 71 :
-                case 72 :
-                case 73 :
-                case 74 :
-                case 75 :
-                case 76 :
-                case 77 :
-                case 78 :
-                case 79 :
-                case 81 :
-                case 82 :
-                case 83 :
-                case 84 :
-                case 85 :
-                case 86 :
-                case 87 :
-                case 88 :
-                case 89 :
-                case 91 :
-                    alt19 = 1;
-                    break;
-                case LCURLY :
-                    alt19 = 3;
-                    break;
-                default :
-                    final NoViableAltException nvae = new NoViableAltException( "278:1: field : ( modifiers ( ctorHead constructorBody | classDefinition | interfaceDefinition | typeSpec ( IDENT LPAREN parameterDeclarationList RPAREN declaratorBrackets ( throwsClause )? ( compoundStatement | SEMI ) | variableDefinitions SEMI ) ) | 'static' compoundStatement | compoundStatement );",
-                                                                          19,
-                                                                          0,
-                                                                          this.input );
+                if ( (LA19_1==IDENT||(LA19_1>=68 && LA19_1<=89)||LA19_1==91) ) {
+                    alt19=1;
+                }
+                else if ( (LA19_1==LCURLY) ) {
+                    alt19=2;
+                }
+                else {
+                    NoViableAltException nvae =
+                        new NoViableAltException("278:1: field : ( modifiers ( ctorHead constructorBody | classDefinition | interfaceDefinition | typeSpec ( IDENT LPAREN parameterDeclarationList RPAREN declaratorBrackets ( throwsClause )? ( compoundStatement | SEMI ) | variableDefinitions SEMI ) ) | 'static' compoundStatement | compoundStatement );", 19, 1, input);
 
                     throw nvae;
+                }
+                }
+                break;
+            case IDENT:
+            case 68:
+            case 69:
+            case 70:
+            case 71:
+            case 72:
+            case 73:
+            case 74:
+            case 75:
+            case 76:
+            case 77:
+            case 78:
+            case 79:
+            case 81:
+            case 82:
+            case 83:
+            case 84:
+            case 85:
+            case 86:
+            case 87:
+            case 88:
+            case 89:
+            case 91:
+                {
+                alt19=1;
+                }
+                break;
+            case LCURLY:
+                {
+                alt19=3;
+                }
+                break;
+            default:
+                NoViableAltException nvae =
+                    new NoViableAltException("278:1: field : ( modifiers ( ctorHead constructorBody | classDefinition | interfaceDefinition | typeSpec ( IDENT LPAREN parameterDeclarationList RPAREN declaratorBrackets ( throwsClause )? ( compoundStatement | SEMI ) | variableDefinitions SEMI ) ) | 'static' compoundStatement | compoundStatement );", 19, 0, input);
+
+                throw nvae;
             }
 
-            switch ( alt19 ) {
+            switch (alt19) {
                 case 1 :
-                    // D:\\workspace\\jboss\\jbossrules\\drools-compiler\\src\\main\\resources\\org\\drools\\semantics\\java\\parser\\JavaParser.g:280:3: modifiers ( ctorHead constructorBody | classDefinition | interfaceDefinition | typeSpec ( IDENT LPAREN parameterDeclarationList RPAREN declaratorBrackets ( throwsClause )? ( compoundStatement | SEMI ) | variableDefinitions SEMI ) )
-                {
-                    pushFollow( FOLLOW_modifiers_in_field548 );
+                    // C:\\dev\\jbossrules\\trunk3\\drools-compiler\\src\\main\\resources\\org\\drools\\semantics\\java\\parser\\JavaParser.g:280:3: modifiers ( ctorHead constructorBody | classDefinition | interfaceDefinition | typeSpec ( IDENT LPAREN parameterDeclarationList RPAREN declaratorBrackets ( throwsClause )? ( compoundStatement | SEMI ) | variableDefinitions SEMI ) )
+                    {
+                    pushFollow(FOLLOW_modifiers_in_field548);
                     modifiers();
-                    this._fsp--;
+                    _fsp--;
 
-                    // D:\\workspace\\jboss\\jbossrules\\drools-compiler\\src\\main\\resources\\org\\drools\\semantics\\java\\parser\\JavaParser.g:281:3: ( ctorHead constructorBody | classDefinition | interfaceDefinition | typeSpec ( IDENT LPAREN parameterDeclarationList RPAREN declaratorBrackets ( throwsClause )? ( compoundStatement | SEMI ) | variableDefinitions SEMI ) )
-                    int alt18 = 4;
-                    switch ( this.input.LA( 1 ) ) {
-                        case IDENT :
-                            final int LA18_1 = this.input.LA( 2 );
-                            if ( (LA18_1 == LPAREN) ) {
-                                alt18 = 1;
-                            } else if ( (LA18_1 == LBRACK || (LA18_1 >= IDENT && LA18_1 <= DOT)) ) {
-                                alt18 = 4;
-                            } else {
-                                final NoViableAltException nvae = new NoViableAltException( "281:3: ( ctorHead constructorBody | classDefinition | interfaceDefinition | typeSpec ( IDENT LPAREN parameterDeclarationList RPAREN declaratorBrackets ( throwsClause )? ( compoundStatement | SEMI ) | variableDefinitions SEMI ) )",
-                                                                                      18,
-                                                                                      1,
-                                                                                      this.input );
+                    // C:\\dev\\jbossrules\\trunk3\\drools-compiler\\src\\main\\resources\\org\\drools\\semantics\\java\\parser\\JavaParser.g:281:3: ( ctorHead constructorBody | classDefinition | interfaceDefinition | typeSpec ( IDENT LPAREN parameterDeclarationList RPAREN declaratorBrackets ( throwsClause )? ( compoundStatement | SEMI ) | variableDefinitions SEMI ) )
+                    int alt18=4;
+                    switch ( input.LA(1) ) {
+                    case IDENT:
+                        {
+                        int LA18_1 = input.LA(2);
 
-                                throw nvae;
-                            }
-                            break;
-                        case 89 :
-                            alt18 = 2;
-                            break;
-                        case 91 :
-                            alt18 = 3;
-                            break;
-                        case 68 :
-                        case 69 :
-                        case 70 :
-                        case 71 :
-                        case 72 :
-                        case 73 :
-                        case 74 :
-                        case 75 :
-                        case 76 :
-                            alt18 = 4;
-                            break;
-                        default :
-                            final NoViableAltException nvae = new NoViableAltException( "281:3: ( ctorHead constructorBody | classDefinition | interfaceDefinition | typeSpec ( IDENT LPAREN parameterDeclarationList RPAREN declaratorBrackets ( throwsClause )? ( compoundStatement | SEMI ) | variableDefinitions SEMI ) )",
-                                                                                  18,
-                                                                                  0,
-                                                                                  this.input );
+                        if ( (LA18_1==LPAREN) ) {
+                            alt18=1;
+                        }
+                        else if ( (LA18_1==LBRACK||(LA18_1>=IDENT && LA18_1<=DOT)) ) {
+                            alt18=4;
+                        }
+                        else {
+                            NoViableAltException nvae =
+                                new NoViableAltException("281:3: ( ctorHead constructorBody | classDefinition | interfaceDefinition | typeSpec ( IDENT LPAREN parameterDeclarationList RPAREN declaratorBrackets ( throwsClause )? ( compoundStatement | SEMI ) | variableDefinitions SEMI ) )", 18, 1, input);
 
                             throw nvae;
+                        }
+                        }
+                        break;
+                    case 89:
+                        {
+                        alt18=2;
+                        }
+                        break;
+                    case 91:
+                        {
+                        alt18=3;
+                        }
+                        break;
+                    case 68:
+                    case 69:
+                    case 70:
+                    case 71:
+                    case 72:
+                    case 73:
+                    case 74:
+                    case 75:
+                    case 76:
+                        {
+                        alt18=4;
+                        }
+                        break;
+                    default:
+                        NoViableAltException nvae =
+                            new NoViableAltException("281:3: ( ctorHead constructorBody | classDefinition | interfaceDefinition | typeSpec ( IDENT LPAREN parameterDeclarationList RPAREN declaratorBrackets ( throwsClause )? ( compoundStatement | SEMI ) | variableDefinitions SEMI ) )", 18, 0, input);
+
+                        throw nvae;
                     }
 
-                    switch ( alt18 ) {
+                    switch (alt18) {
                         case 1 :
-                            // D:\\workspace\\jboss\\jbossrules\\drools-compiler\\src\\main\\resources\\org\\drools\\semantics\\java\\parser\\JavaParser.g:281:5: ctorHead constructorBody
-                        {
-                            pushFollow( FOLLOW_ctorHead_in_field554 );
+                            // C:\\dev\\jbossrules\\trunk3\\drools-compiler\\src\\main\\resources\\org\\drools\\semantics\\java\\parser\\JavaParser.g:281:5: ctorHead constructorBody
+                            {
+                            pushFollow(FOLLOW_ctorHead_in_field554);
                             ctorHead();
-                            this._fsp--;
+                            _fsp--;
 
-                            pushFollow( FOLLOW_constructorBody_in_field556 );
+                            pushFollow(FOLLOW_constructorBody_in_field556);
                             constructorBody();
-                            this._fsp--;
+                            _fsp--;
 
-                        }
+
+                            }
                             break;
                         case 2 :
-                            // D:\\workspace\\jboss\\jbossrules\\drools-compiler\\src\\main\\resources\\org\\drools\\semantics\\java\\parser\\JavaParser.g:284:5: classDefinition
-                        {
-                            pushFollow( FOLLOW_classDefinition_in_field568 );
+                            // C:\\dev\\jbossrules\\trunk3\\drools-compiler\\src\\main\\resources\\org\\drools\\semantics\\java\\parser\\JavaParser.g:284:5: classDefinition
+                            {
+                            pushFollow(FOLLOW_classDefinition_in_field568);
                             classDefinition();
-                            this._fsp--;
+                            _fsp--;
 
-                        }
+
+                            }
                             break;
                         case 3 :
-                            // D:\\workspace\\jboss\\jbossrules\\drools-compiler\\src\\main\\resources\\org\\drools\\semantics\\java\\parser\\JavaParser.g:287:5: interfaceDefinition
-                        {
-                            pushFollow( FOLLOW_interfaceDefinition_in_field586 );
+                            // C:\\dev\\jbossrules\\trunk3\\drools-compiler\\src\\main\\resources\\org\\drools\\semantics\\java\\parser\\JavaParser.g:287:5: interfaceDefinition
+                            {
+                            pushFollow(FOLLOW_interfaceDefinition_in_field586);
                             interfaceDefinition();
-                            this._fsp--;
+                            _fsp--;
 
-                        }
+
+                            }
                             break;
                         case 4 :
-                            // D:\\workspace\\jboss\\jbossrules\\drools-compiler\\src\\main\\resources\\org\\drools\\semantics\\java\\parser\\JavaParser.g:290:5: typeSpec ( IDENT LPAREN parameterDeclarationList RPAREN declaratorBrackets ( throwsClause )? ( compoundStatement | SEMI ) | variableDefinitions SEMI )
-                        {
-                            pushFollow( FOLLOW_typeSpec_in_field600 );
+                            // C:\\dev\\jbossrules\\trunk3\\drools-compiler\\src\\main\\resources\\org\\drools\\semantics\\java\\parser\\JavaParser.g:290:5: typeSpec ( IDENT LPAREN parameterDeclarationList RPAREN declaratorBrackets ( throwsClause )? ( compoundStatement | SEMI ) | variableDefinitions SEMI )
+                            {
+                            pushFollow(FOLLOW_typeSpec_in_field600);
                             typeSpec();
-                            this._fsp--;
+                            _fsp--;
 
-                            // D:\\workspace\\jboss\\jbossrules\\drools-compiler\\src\\main\\resources\\org\\drools\\semantics\\java\\parser\\JavaParser.g:291:4: ( IDENT LPAREN parameterDeclarationList RPAREN declaratorBrackets ( throwsClause )? ( compoundStatement | SEMI ) | variableDefinitions SEMI )
-                            int alt17 = 2;
-                            final int LA17_0 = this.input.LA( 1 );
-                            if ( (LA17_0 == IDENT) ) {
-                                final int LA17_1 = this.input.LA( 2 );
-                                if ( (LA17_1 == LPAREN) ) {
-                                    alt17 = 1;
-                                } else if ( (LA17_1 == LBRACK || LA17_1 == SEMI || LA17_1 == COMMA || LA17_1 == ASSIGN) ) {
-                                    alt17 = 2;
-                                } else {
-                                    final NoViableAltException nvae = new NoViableAltException( "291:4: ( IDENT LPAREN parameterDeclarationList RPAREN declaratorBrackets ( throwsClause )? ( compoundStatement | SEMI ) | variableDefinitions SEMI )",
-                                                                                          17,
-                                                                                          1,
-                                                                                          this.input );
+                            // C:\\dev\\jbossrules\\trunk3\\drools-compiler\\src\\main\\resources\\org\\drools\\semantics\\java\\parser\\JavaParser.g:291:4: ( IDENT LPAREN parameterDeclarationList RPAREN declaratorBrackets ( throwsClause )? ( compoundStatement | SEMI ) | variableDefinitions SEMI )
+                            int alt17=2;
+                            int LA17_0 = input.LA(1);
 
+                            if ( (LA17_0==IDENT) ) {
+                                int LA17_1 = input.LA(2);
+
+                                if ( (LA17_1==LPAREN) ) {
+                                    alt17=1;
+                                }
+                                else if ( (LA17_1==LBRACK||LA17_1==SEMI||LA17_1==COMMA||LA17_1==ASSIGN) ) {
+                                    alt17=2;
+                                }
+                                else {
+                                    NoViableAltException nvae =
+                                        new NoViableAltException("291:4: ( IDENT LPAREN parameterDeclarationList RPAREN declaratorBrackets ( throwsClause )? ( compoundStatement | SEMI ) | variableDefinitions SEMI )", 17, 1, input);
+
                                     throw nvae;
                                 }
-                            } else {
-                                final NoViableAltException nvae = new NoViableAltException( "291:4: ( IDENT LPAREN parameterDeclarationList RPAREN declaratorBrackets ( throwsClause )? ( compoundStatement | SEMI ) | variableDefinitions SEMI )",
-                                                                                      17,
-                                                                                      0,
-                                                                                      this.input );
+                            }
+                            else {
+                                NoViableAltException nvae =
+                                    new NoViableAltException("291:4: ( IDENT LPAREN parameterDeclarationList RPAREN declaratorBrackets ( throwsClause )? ( compoundStatement | SEMI ) | variableDefinitions SEMI )", 17, 0, input);
 
                                 throw nvae;
                             }
-                            switch ( alt17 ) {
+                            switch (alt17) {
                                 case 1 :
-                                    // D:\\workspace\\jboss\\jbossrules\\drools-compiler\\src\\main\\resources\\org\\drools\\semantics\\java\\parser\\JavaParser.g:291:6: IDENT LPAREN parameterDeclarationList RPAREN declaratorBrackets ( throwsClause )? ( compoundStatement | SEMI )
-                                {
-                                    match( this.input,
-                                           IDENT,
-                                           FOLLOW_IDENT_in_field609 );
-                                    match( this.input,
-                                           LPAREN,
-                                           FOLLOW_LPAREN_in_field623 );
-                                    pushFollow( FOLLOW_parameterDeclarationList_in_field625 );
+                                    // C:\\dev\\jbossrules\\trunk3\\drools-compiler\\src\\main\\resources\\org\\drools\\semantics\\java\\parser\\JavaParser.g:291:6: IDENT LPAREN parameterDeclarationList RPAREN declaratorBrackets ( throwsClause )? ( compoundStatement | SEMI )
+                                    {
+                                    match(input,IDENT,FOLLOW_IDENT_in_field609); 
+                                    match(input,LPAREN,FOLLOW_LPAREN_in_field623); 
+                                    pushFollow(FOLLOW_parameterDeclarationList_in_field625);
                                     parameterDeclarationList();
-                                    this._fsp--;
+                                    _fsp--;
 
-                                    match( this.input,
-                                           RPAREN,
-                                           FOLLOW_RPAREN_in_field627 );
-                                    pushFollow( FOLLOW_declaratorBrackets_in_field634 );
+                                    match(input,RPAREN,FOLLOW_RPAREN_in_field627); 
+                                    pushFollow(FOLLOW_declaratorBrackets_in_field634);
                                     declaratorBrackets();
-                                    this._fsp--;
+                                    _fsp--;
 
-                                    // D:\\workspace\\jboss\\jbossrules\\drools-compiler\\src\\main\\resources\\org\\drools\\semantics\\java\\parser\\JavaParser.g:300:5: ( throwsClause )?
-                                    int alt15 = 2;
-                                    final int LA15_0 = this.input.LA( 1 );
-                                    if ( (LA15_0 == 95) ) {
-                                        alt15 = 1;
+                                    // C:\\dev\\jbossrules\\trunk3\\drools-compiler\\src\\main\\resources\\org\\drools\\semantics\\java\\parser\\JavaParser.g:300:5: ( throwsClause )?
+                                    int alt15=2;
+                                    int LA15_0 = input.LA(1);
+
+                                    if ( (LA15_0==95) ) {
+                                        alt15=1;
                                     }
-                                    switch ( alt15 ) {
+                                    switch (alt15) {
                                         case 1 :
-                                            // D:\\workspace\\jboss\\jbossrules\\drools-compiler\\src\\main\\resources\\org\\drools\\semantics\\java\\parser\\JavaParser.g:300:6: throwsClause
-                                        {
-                                            pushFollow( FOLLOW_throwsClause_in_field652 );
+                                            // C:\\dev\\jbossrules\\trunk3\\drools-compiler\\src\\main\\resources\\org\\drools\\semantics\\java\\parser\\JavaParser.g:300:6: throwsClause
+                                            {
+                                            pushFollow(FOLLOW_throwsClause_in_field652);
                                             throwsClause();
-                                            this._fsp--;
+                                            _fsp--;
 
-                                        }
+
+                                            }
                                             break;
 
                                     }
 
-                                    // D:\\workspace\\jboss\\jbossrules\\drools-compiler\\src\\main\\resources\\org\\drools\\semantics\\java\\parser\\JavaParser.g:302:5: ( compoundStatement | SEMI )
-                                    int alt16 = 2;
-                                    final int LA16_0 = this.input.LA( 1 );
-                                    if ( (LA16_0 == LCURLY) ) {
-                                        alt16 = 1;
-                                    } else if ( (LA16_0 == SEMI) ) {
-                                        alt16 = 2;
-                                    } else {
-                                        final NoViableAltException nvae = new NoViableAltException( "302:5: ( compoundStatement | SEMI )",
-                                                                                              16,
-                                                                                              0,
-                                                                                              this.input );
+                                    // C:\\dev\\jbossrules\\trunk3\\drools-compiler\\src\\main\\resources\\org\\drools\\semantics\\java\\parser\\JavaParser.g:302:5: ( compoundStatement | SEMI )
+                                    int alt16=2;
+                                    int LA16_0 = input.LA(1);
 
+                                    if ( (LA16_0==LCURLY) ) {
+                                        alt16=1;
+                                    }
+                                    else if ( (LA16_0==SEMI) ) {
+                                        alt16=2;
+                                    }
+                                    else {
+                                        NoViableAltException nvae =
+                                            new NoViableAltException("302:5: ( compoundStatement | SEMI )", 16, 0, input);
+
                                         throw nvae;
                                     }
-                                    switch ( alt16 ) {
+                                    switch (alt16) {
                                         case 1 :
-                                            // D:\\workspace\\jboss\\jbossrules\\drools-compiler\\src\\main\\resources\\org\\drools\\semantics\\java\\parser\\JavaParser.g:302:7: compoundStatement
-                                        {
-                                            pushFollow( FOLLOW_compoundStatement_in_field663 );
+                                            // C:\\dev\\jbossrules\\trunk3\\drools-compiler\\src\\main\\resources\\org\\drools\\semantics\\java\\parser\\JavaParser.g:302:7: compoundStatement
+                                            {
+                                            pushFollow(FOLLOW_compoundStatement_in_field663);
                                             compoundStatement();
-                                            this._fsp--;
+                                            _fsp--;
 
-                                        }
+
+                                            }
                                             break;
                                         case 2 :
-                                            // D:\\workspace\\jboss\\jbossrules\\drools-compiler\\src\\main\\resources\\org\\drools\\semantics\\java\\parser\\JavaParser.g:302:27: SEMI
-                                        {
-                                            match( this.input,
-                                                   SEMI,
-                                                   FOLLOW_SEMI_in_field667 );
+                                            // C:\\dev\\jbossrules\\trunk3\\drools-compiler\\src\\main\\resources\\org\\drools\\semantics\\java\\parser\\JavaParser.g:302:27: SEMI
+                                            {
+                                            match(input,SEMI,FOLLOW_SEMI_in_field667); 
 
-                                        }
+                                            }
                                             break;
 
                                     }
 
-                                }
+
+                                    }
                                     break;
                                 case 2 :
-                                    // D:\\workspace\\jboss\\jbossrules\\drools-compiler\\src\\main\\resources\\org\\drools\\semantics\\java\\parser\\JavaParser.g:303:6: variableDefinitions SEMI
-                                {
-                                    pushFollow( FOLLOW_variableDefinitions_in_field676 );
+                                    // C:\\dev\\jbossrules\\trunk3\\drools-compiler\\src\\main\\resources\\org\\drools\\semantics\\java\\parser\\JavaParser.g:303:6: variableDefinitions SEMI
+                                    {
+                                    pushFollow(FOLLOW_variableDefinitions_in_field676);
                                     variableDefinitions();
-                                    this._fsp--;
+                                    _fsp--;
 
-                                    match( this.input,
-                                           SEMI,
-                                           FOLLOW_SEMI_in_field678 );
+                                    match(input,SEMI,FOLLOW_SEMI_in_field678); 
 
-                                }
+                                    }
                                     break;
 
                             }
 
-                        }
+
+                            }
                             break;
 
                     }
 
-                }
+
+                    }
                     break;
                 case 2 :
-                    // D:\\workspace\\jboss\\jbossrules\\drools-compiler\\src\\main\\resources\\org\\drools\\semantics\\java\\parser\\JavaParser.g:310:4: 'static' compoundStatement
-                {
-                    match( this.input,
-                           80,
-                           FOLLOW_80_in_field704 );
-                    pushFollow( FOLLOW_compoundStatement_in_field706 );
+                    // C:\\dev\\jbossrules\\trunk3\\drools-compiler\\src\\main\\resources\\org\\drools\\semantics\\java\\parser\\JavaParser.g:310:4: 'static' compoundStatement
+                    {
+                    match(input,80,FOLLOW_80_in_field704); 
+                    pushFollow(FOLLOW_compoundStatement_in_field706);
                     compoundStatement();
-                    this._fsp--;
+                    _fsp--;
 
-                }
+
+                    }
                     break;
                 case 3 :
-                    // D:\\workspace\\jboss\\jbossrules\\drools-compiler\\src\\main\\resources\\org\\drools\\semantics\\java\\parser\\JavaParser.g:314:4: compoundStatement
-                {
-                    pushFollow( FOLLOW_compoundStatement_in_field720 );
+                    // C:\\dev\\jbossrules\\trunk3\\drools-compiler\\src\\main\\resources\\org\\drools\\semantics\\java\\parser\\JavaParser.g:314:4: compoundStatement
+                    {
+                    pushFollow(FOLLOW_compoundStatement_in_field720);
                     compoundStatement();
-                    this._fsp--;
+                    _fsp--;
 
-                }
+
+                    }
                     break;
 
             }
-        } catch ( final RecognitionException re ) {
-            reportError( re );
-            recover( this.input,
-                     re );
-        } finally {
         }
-        return;
+        catch (RecognitionException re) {
+            reportError(re);
+            recover(input,re);
+        }
+        finally {
+        }
+        return ;
     }
-
     // $ANTLR end field
 
+
     // $ANTLR start constructorBody
-    // D:\\workspace\\jboss\\jbossrules\\drools-compiler\\src\\main\\resources\\org\\drools\\semantics\\java\\parser\\JavaParser.g:318:1: constructorBody : LCURLY ( options {greedy=true; } : explicitConstructorInvocation )? ( statement )* RCURLY ;
-    public void constructorBody() throws RecognitionException {
+    // C:\\dev\\jbossrules\\trunk3\\drools-compiler\\src\\main\\resources\\org\\drools\\semantics\\java\\parser\\JavaParser.g:318:1: constructorBody : LCURLY ( options {greedy=true; } : explicitConstructorInvocation )? ( statement )* RCURLY ;
+    public final void constructorBody() throws RecognitionException {
         try {
-            // D:\\workspace\\jboss\\jbossrules\\drools-compiler\\src\\main\\resources\\org\\drools\\semantics\\java\\parser\\JavaParser.g:319:9: ( LCURLY ( options {greedy=true; } : explicitConstructorInvocation )? ( statement )* RCURLY )
-            // D:\\workspace\\jboss\\jbossrules\\drools-compiler\\src\\main\\resources\\org\\drools\\semantics\\java\\parser\\JavaParser.g:319:9: LCURLY ( options {greedy=true; } : explicitConstructorInvocation )? ( statement )* RCURLY
+            // C:\\dev\\jbossrules\\trunk3\\drools-compiler\\src\\main\\resources\\org\\drools\\semantics\\java\\parser\\JavaParser.g:319:9: ( LCURLY ( options {greedy=true; } : explicitConstructorInvocation )? ( statement )* RCURLY )
+            // C:\\dev\\jbossrules\\trunk3\\drools-compiler\\src\\main\\resources\\org\\drools\\semantics\\java\\parser\\JavaParser.g:319:9: LCURLY ( options {greedy=true; } : explicitConstructorInvocation )? ( statement )* RCURLY
             {
-                match( this.input,
-                       LCURLY,
-                       FOLLOW_LCURLY_in_constructorBody739 );
-                // D:\\workspace\\jboss\\jbossrules\\drools-compiler\\src\\main\\resources\\org\\drools\\semantics\\java\\parser\\JavaParser.g:320:13: ( options {greedy=true; } : explicitConstructorInvocation )?
-                int alt20 = 2;
-                final int LA20_0 = this.input.LA( 1 );
-                if ( (LA20_0 == 93) ) {
-                    final int LA20_1 = this.input.LA( 2 );
-                    if ( (LA20_1 == LPAREN) ) {
-                        alt20 = 1;
-                    }
-                } else if ( (LA20_0 == 94) ) {
-                    final int LA20_2 = this.input.LA( 2 );
-                    if ( (LA20_2 == LPAREN) ) {
-                        alt20 = 1;
-                    }
+            match(input,LCURLY,FOLLOW_LCURLY_in_constructorBody739); 
+            // C:\\dev\\jbossrules\\trunk3\\drools-compiler\\src\\main\\resources\\org\\drools\\semantics\\java\\parser\\JavaParser.g:320:13: ( options {greedy=true; } : explicitConstructorInvocation )?
+            int alt20=2;
+            int LA20_0 = input.LA(1);
+
+            if ( (LA20_0==93) ) {
+                int LA20_1 = input.LA(2);
+
+                if ( (LA20_1==LPAREN) ) {
+                    alt20=1;
                 }
-                switch ( alt20 ) {
-                    case 1 :
-                        // D:\\workspace\\jboss\\jbossrules\\drools-compiler\\src\\main\\resources\\org\\drools\\semantics\\java\\parser\\JavaParser.g:320:40: explicitConstructorInvocation
+            }
+            else if ( (LA20_0==94) ) {
+                int LA20_2 = input.LA(2);
+
+                if ( (LA20_2==LPAREN) ) {
+                    alt20=1;
+                }
+            }
+            switch (alt20) {
+                case 1 :
+                    // C:\\dev\\jbossrules\\trunk3\\drools-compiler\\src\\main\\resources\\org\\drools\\semantics\\java\\parser\\JavaParser.g:320:40: explicitConstructorInvocation
                     {
-                        pushFollow( FOLLOW_explicitConstructorInvocation_in_constructorBody765 );
-                        explicitConstructorInvocation();
-                        this._fsp--;
+                    pushFollow(FOLLOW_explicitConstructorInvocation_in_constructorBody765);
+                    explicitConstructorInvocation();
+                    _fsp--;
 
+
                     }
-                        break;
+                    break;
 
+            }
+
+            // C:\\dev\\jbossrules\\trunk3\\drools-compiler\\src\\main\\resources\\org\\drools\\semantics\\java\\parser\\JavaParser.g:321:13: ( statement )*
+            loop21:
+            do {
+                int alt21=2;
+                int LA21_0 = input.LA(1);
+
+                if ( (LA21_0==IDENT||(LA21_0>=LCURLY && LA21_0<=SEMI)||LA21_0==LPAREN||(LA21_0>=PLUS && LA21_0<=MINUS)||(LA21_0>=INC && LA21_0<=NUM_FLOAT)||(LA21_0>=68 && LA21_0<=89)||(LA21_0>=93 && LA21_0<=94)||LA21_0==96||(LA21_0>=98 && LA21_0<=105)||LA21_0==108||(LA21_0>=112 && LA21_0<=115)) ) {
+                    alt21=1;
                 }
 
-                // D:\\workspace\\jboss\\jbossrules\\drools-compiler\\src\\main\\resources\\org\\drools\\semantics\\java\\parser\\JavaParser.g:321:13: ( statement )*
-                loop21 : do {
-                    int alt21 = 2;
-                    final int LA21_0 = this.input.LA( 1 );
-                    if ( (LA21_0 == IDENT || (LA21_0 >= LCURLY && LA21_0 <= SEMI) || LA21_0 == LPAREN || (LA21_0 >= PLUS && LA21_0 <= MINUS) || (LA21_0 >= INC && LA21_0 <= NUM_FLOAT) || (LA21_0 >= 68 && LA21_0 <= 89)
-                          || (LA21_0 >= 93 && LA21_0 <= 94) || LA21_0 == 96 || (LA21_0 >= 98 && LA21_0 <= 105) || LA21_0 == 108 || (LA21_0 >= 112 && LA21_0 <= 115)) ) {
-                        alt21 = 1;
-                    }
 
-                    switch ( alt21 ) {
-                        case 1 :
-                            // D:\\workspace\\jboss\\jbossrules\\drools-compiler\\src\\main\\resources\\org\\drools\\semantics\\java\\parser\\JavaParser.g:321:14: statement
-                        {
-                            pushFollow( FOLLOW_statement_in_constructorBody782 );
-                            statement();
-                            this._fsp--;
+                switch (alt21) {
+            	case 1 :
+            	    // C:\\dev\\jbossrules\\trunk3\\drools-compiler\\src\\main\\resources\\org\\drools\\semantics\\java\\parser\\JavaParser.g:321:14: statement
+            	    {
+            	    pushFollow(FOLLOW_statement_in_constructorBody782);
+            	    statement();
+            	    _fsp--;
 
-                        }
-                            break;
 
-                        default :
-                            break loop21;
-                    }
-                } while ( true );
+            	    }
+            	    break;
 
-                match( this.input,
-                       RCURLY,
-                       FOLLOW_RCURLY_in_constructorBody794 );
+            	default :
+            	    break loop21;
+                }
+            } while (true);
 
+            match(input,RCURLY,FOLLOW_RCURLY_in_constructorBody794); 
+
             }
 
-        } catch ( final RecognitionException re ) {
-            reportError( re );
-            recover( this.input,
-                     re );
-        } finally {
         }
-        return;
+        catch (RecognitionException re) {
+            reportError(re);
+            recover(input,re);
+        }
+        finally {
+        }
+        return ;
     }
-
     // $ANTLR end constructorBody
 
+
     // $ANTLR start explicitConstructorInvocation
-    // D:\\workspace\\jboss\\jbossrules\\drools-compiler\\src\\main\\resources\\org\\drools\\semantics\\java\\parser\\JavaParser.g:325:1: explicitConstructorInvocation : ( 'this' LPAREN argList RPAREN SEMI | 'super' LPAREN argList RPAREN SEMI );
-    public void explicitConstructorInvocation() throws RecognitionException {
+    // C:\\dev\\jbossrules\\trunk3\\drools-compiler\\src\\main\\resources\\org\\drools\\semantics\\java\\parser\\JavaParser.g:325:1: explicitConstructorInvocation : ( 'this' LPAREN argList RPAREN SEMI | 'super' LPAREN argList RPAREN SEMI );
+    public final void explicitConstructorInvocation() throws RecognitionException {
         try {
-            // D:\\workspace\\jboss\\jbossrules\\drools-compiler\\src\\main\\resources\\org\\drools\\semantics\\java\\parser\\JavaParser.g:327:9: ( 'this' LPAREN argList RPAREN SEMI | 'super' LPAREN argList RPAREN SEMI )
-            int alt22 = 2;
-            final int LA22_0 = this.input.LA( 1 );
-            if ( (LA22_0 == 93) ) {
-                alt22 = 1;
-            } else if ( (LA22_0 == 94) ) {
-                alt22 = 2;
-            } else {
-                final NoViableAltException nvae = new NoViableAltException( "325:1: explicitConstructorInvocation : ( 'this' LPAREN argList RPAREN SEMI | 'super' LPAREN argList RPAREN SEMI );",
-                                                                      22,
-                                                                      0,
-                                                                      this.input );
+            // C:\\dev\\jbossrules\\trunk3\\drools-compiler\\src\\main\\resources\\org\\drools\\semantics\\java\\parser\\JavaParser.g:327:9: ( 'this' LPAREN argList RPAREN SEMI | 'super' LPAREN argList RPAREN SEMI )
+            int alt22=2;
+            int LA22_0 = input.LA(1);
 
+            if ( (LA22_0==93) ) {
+                alt22=1;
+            }
+            else if ( (LA22_0==94) ) {
+                alt22=2;
+            }
+            else {
+                NoViableAltException nvae =
+                    new NoViableAltException("325:1: explicitConstructorInvocation : ( 'this' LPAREN argList RPAREN SEMI | 'super' LPAREN argList RPAREN SEMI );", 22, 0, input);
+
                 throw nvae;
             }
-            switch ( alt22 ) {
+            switch (alt22) {
                 case 1 :
-                    // D:\\workspace\\jboss\\jbossrules\\drools-compiler\\src\\main\\resources\\org\\drools\\semantics\\java\\parser\\JavaParser.g:327:9: 'this' LPAREN argList RPAREN SEMI
-                {
-                    match( this.input,
-                           93,
-                           FOLLOW_93_in_explicitConstructorInvocation815 );
-                    match( this.input,
-                           LPAREN,
-                           FOLLOW_LPAREN_in_explicitConstructorInvocation817 );
-                    pushFollow( FOLLOW_argList_in_explicitConstructorInvocation819 );
+                    // C:\\dev\\jbossrules\\trunk3\\drools-compiler\\src\\main\\resources\\org\\drools\\semantics\\java\\parser\\JavaParser.g:327:9: 'this' LPAREN argList RPAREN SEMI
+                    {
+                    match(input,93,FOLLOW_93_in_explicitConstructorInvocation815); 
+                    match(input,LPAREN,FOLLOW_LPAREN_in_explicitConstructorInvocation817); 
+                    pushFollow(FOLLOW_argList_in_explicitConstructorInvocation819);
                     argList();
-                    this._fsp--;
+                    _fsp--;
 
-                    match( this.input,
-                           RPAREN,
-                           FOLLOW_RPAREN_in_explicitConstructorInvocation821 );
-                    match( this.input,
-                           SEMI,
-                           FOLLOW_SEMI_in_explicitConstructorInvocation823 );
+                    match(input,RPAREN,FOLLOW_RPAREN_in_explicitConstructorInvocation821); 
+                    match(input,SEMI,FOLLOW_SEMI_in_explicitConstructorInvocation823); 
 
-                }
+                    }
                     break;
                 case 2 :
-                    // D:\\workspace\\jboss\\jbossrules\\drools-compiler\\src\\main\\resources\\org\\drools\\semantics\\java\\parser\\JavaParser.g:329:9: 'super' LPAREN argList RPAREN SEMI
-                {
-                    match( this.input,
-                           94,
-                           FOLLOW_94_in_explicitConstructorInvocation836 );
-                    match( this.input,
-                           LPAREN,
-                           FOLLOW_LPAREN_in_explicitConstructorInvocation838 );
-                    pushFollow( FOLLOW_argList_in_explicitConstructorInvocation840 );
+                    // C:\\dev\\jbossrules\\trunk3\\drools-compiler\\src\\main\\resources\\org\\drools\\semantics\\java\\parser\\JavaParser.g:329:9: 'super' LPAREN argList RPAREN SEMI
+                    {
+                    match(input,94,FOLLOW_94_in_explicitConstructorInvocation836); 
+                    match(input,LPAREN,FOLLOW_LPAREN_in_explicitConstructorInvocation838); 
+                    pushFollow(FOLLOW_argList_in_explicitConstructorInvocation840);
                     argList();
-                    this._fsp--;
+                    _fsp--;
 
-                    match( this.input,
-                           RPAREN,
-                           FOLLOW_RPAREN_in_explicitConstructorInvocation842 );
-                    match( this.input,
-                           SEMI,
-                           FOLLOW_SEMI_in_explicitConstructorInvocation844 );
+                    match(input,RPAREN,FOLLOW_RPAREN_in_explicitConstructorInvocation842); 
+                    match(input,SEMI,FOLLOW_SEMI_in_explicitConstructorInvocation844); 
 
-                }
+                    }
                     break;
 
             }
-        } catch ( final RecognitionException re ) {
-            reportError( re );
-            recover( this.input,
-                     re );
-        } finally {
         }
-        return;
+        catch (RecognitionException re) {
+            reportError(re);
+            recover(input,re);
+        }
+        finally {
+        }
+        return ;
     }
-
     // $ANTLR end explicitConstructorInvocation
 
+
     // $ANTLR start variableDefinitions
-    // D:\\workspace\\jboss\\jbossrules\\drools-compiler\\src\\main\\resources\\org\\drools\\semantics\\java\\parser\\JavaParser.g:333:1: variableDefinitions : variableDeclarator ( COMMA variableDeclarator )* ;
-    public void variableDefinitions() throws RecognitionException {
+    // C:\\dev\\jbossrules\\trunk3\\drools-compiler\\src\\main\\resources\\org\\drools\\semantics\\java\\parser\\JavaParser.g:333:1: variableDefinitions : variableDeclarator ( COMMA variableDeclarator )* ;
+    public final void variableDefinitions() throws RecognitionException {
         try {
-            // D:\\workspace\\jboss\\jbossrules\\drools-compiler\\src\\main\\resources\\org\\drools\\semantics\\java\\parser\\JavaParser.g:334:4: ( variableDeclarator ( COMMA variableDeclarator )* )
-            // D:\\workspace\\jboss\\jbossrules\\drools-compiler\\src\\main\\resources\\org\\drools\\semantics\\java\\parser\\JavaParser.g:334:4: variableDeclarator ( COMMA variableDeclarator )*
+            // C:\\dev\\jbossrules\\trunk3\\drools-compiler\\src\\main\\resources\\org\\drools\\semantics\\java\\parser\\JavaParser.g:334:4: ( variableDeclarator ( COMMA variableDeclarator )* )
+            // C:\\dev\\jbossrules\\trunk3\\drools-compiler\\src\\main\\resources\\org\\drools\\semantics\\java\\parser\\JavaParser.g:334:4: variableDeclarator ( COMMA variableDeclarator )*
             {
-                pushFollow( FOLLOW_variableDeclarator_in_variableDefinitions861 );
-                variableDeclarator();
-                this._fsp--;
+            pushFollow(FOLLOW_variableDeclarator_in_variableDefinitions861);
+            variableDeclarator();
+            _fsp--;
 
-                // D:\\workspace\\jboss\\jbossrules\\drools-compiler\\src\\main\\resources\\org\\drools\\semantics\\java\\parser\\JavaParser.g:335:3: ( COMMA variableDeclarator )*
-                loop23 : do {
-                    int alt23 = 2;
-                    final int LA23_0 = this.input.LA( 1 );
-                    if ( (LA23_0 == COMMA) ) {
-                        alt23 = 1;
-                    }
+            // C:\\dev\\jbossrules\\trunk3\\drools-compiler\\src\\main\\resources\\org\\drools\\semantics\\java\\parser\\JavaParser.g:335:3: ( COMMA variableDeclarator )*
+            loop23:
+            do {
+                int alt23=2;
+                int LA23_0 = input.LA(1);
 
-                    switch ( alt23 ) {
-                        case 1 :
-                            // D:\\workspace\\jboss\\jbossrules\\drools-compiler\\src\\main\\resources\\org\\drools\\semantics\\java\\parser\\JavaParser.g:335:5: COMMA variableDeclarator
-                        {
-                            match( this.input,
-                                   COMMA,
-                                   FOLLOW_COMMA_in_variableDefinitions867 );
-                            pushFollow( FOLLOW_variableDeclarator_in_variableDefinitions872 );
-                            variableDeclarator();
-                            this._fsp--;
+                if ( (LA23_0==COMMA) ) {
+                    alt23=1;
+                }
 
-                        }
-                            break;
 
-                        default :
-                            break loop23;
-                    }
-                } while ( true );
+                switch (alt23) {
+            	case 1 :
+            	    // C:\\dev\\jbossrules\\trunk3\\drools-compiler\\src\\main\\resources\\org\\drools\\semantics\\java\\parser\\JavaParser.g:335:5: COMMA variableDeclarator
+            	    {
+            	    match(input,COMMA,FOLLOW_COMMA_in_variableDefinitions867); 
+            	    pushFollow(FOLLOW_variableDeclarator_in_variableDefinitions872);
+            	    variableDeclarator();
+            	    _fsp--;
 
+
+            	    }
+            	    break;
+
+            	default :
+            	    break loop23;
+                }
+            } while (true);
+
+
             }
 
-        } catch ( final RecognitionException re ) {
-            reportError( re );
-            recover( this.input,
-                     re );
-        } finally {
         }
-        return;
+        catch (RecognitionException re) {
+            reportError(re);
+            recover(input,re);
+        }
+        finally {
+        }
+        return ;
     }
-
     // $ANTLR end variableDefinitions
 
+
     // $ANTLR start variableDeclarator
-    // D:\\workspace\\jboss\\jbossrules\\drools-compiler\\src\\main\\resources\\org\\drools\\semantics\\java\\parser\\JavaParser.g:340:1: variableDeclarator : IDENT declaratorBrackets varInitializer ;
-    public void variableDeclarator() throws RecognitionException {
+    // C:\\dev\\jbossrules\\trunk3\\drools-compiler\\src\\main\\resources\\org\\drools\\semantics\\java\\parser\\JavaParser.g:340:1: variableDeclarator : IDENT declaratorBrackets varInitializer ;
+    public final void variableDeclarator() throws RecognitionException {
         try {
-            // D:\\workspace\\jboss\\jbossrules\\drools-compiler\\src\\main\\resources\\org\\drools\\semantics\\java\\parser\\JavaParser.g:345:4: ( IDENT declaratorBrackets varInitializer )
-            // D:\\workspace\\jboss\\jbossrules\\drools-compiler\\src\\main\\resources\\org\\drools\\semantics\\java\\parser\\JavaParser.g:345:4: IDENT declaratorBrackets varInitializer
+            // C:\\dev\\jbossrules\\trunk3\\drools-compiler\\src\\main\\resources\\org\\drools\\semantics\\java\\parser\\JavaParser.g:345:4: ( IDENT declaratorBrackets varInitializer )
+            // C:\\dev\\jbossrules\\trunk3\\drools-compiler\\src\\main\\resources\\org\\drools\\semantics\\java\\parser\\JavaParser.g:345:4: IDENT declaratorBrackets varInitializer
             {
-                match( this.input,
-                       IDENT,
-                       FOLLOW_IDENT_in_variableDeclarator890 );
-                pushFollow( FOLLOW_declaratorBrackets_in_variableDeclarator892 );
-                declaratorBrackets();
-                this._fsp--;
+            match(input,IDENT,FOLLOW_IDENT_in_variableDeclarator890); 
+            pushFollow(FOLLOW_declaratorBrackets_in_variableDeclarator892);
+            declaratorBrackets();
+            _fsp--;
 
-                pushFollow( FOLLOW_varInitializer_in_variableDeclarator894 );
-                varInitializer();
-                this._fsp--;
+            pushFollow(FOLLOW_varInitializer_in_variableDeclarator894);
+            varInitializer();
+            _fsp--;
 
+
             }
 
-        } catch ( final RecognitionException re ) {
-            reportError( re );
-            recover( this.input,
-                     re );
-        } finally {
         }
-        return;
+        catch (RecognitionException re) {
+            reportError(re);
+            recover(input,re);
+        }
+        finally {
+        }
+        return ;
     }
-
     // $ANTLR end variableDeclarator
 
+
     // $ANTLR start declaratorBrackets
-    // D:\\workspace\\jboss\\jbossrules\\drools-compiler\\src\\main\\resources\\org\\drools\\semantics\\java\\parser\\JavaParser.g:349:1: declaratorBrackets : ( LBRACK RBRACK )* ;
-    public void declaratorBrackets() throws RecognitionException {
+    // C:\\dev\\jbossrules\\trunk3\\drools-compiler\\src\\main\\resources\\org\\drools\\semantics\\java\\parser\\JavaParser.g:349:1: declaratorBrackets : ( LBRACK RBRACK )* ;
+    public final void declaratorBrackets() throws RecognitionException {
         try {
-            // D:\\workspace\\jboss\\jbossrules\\drools-compiler\\src\\main\\resources\\org\\drools\\semantics\\java\\parser\\JavaParser.g:351:3: ( ( LBRACK RBRACK )* )
-            // D:\\workspace\\jboss\\jbossrules\\drools-compiler\\src\\main\\resources\\org\\drools\\semantics\\java\\parser\\JavaParser.g:351:3: ( LBRACK RBRACK )*
+            // C:\\dev\\jbossrules\\trunk3\\drools-compiler\\src\\main\\resources\\org\\drools\\semantics\\java\\parser\\JavaParser.g:351:3: ( ( LBRACK RBRACK )* )
+            // C:\\dev\\jbossrules\\trunk3\\drools-compiler\\src\\main\\resources\\org\\drools\\semantics\\java\\parser\\JavaParser.g:351:3: ( LBRACK RBRACK )*
             {
-                // D:\\workspace\\jboss\\jbossrules\\drools-compiler\\src\\main\\resources\\org\\drools\\semantics\\java\\parser\\JavaParser.g:351:3: ( LBRACK RBRACK )*
-                loop24 : do {
-                    int alt24 = 2;
-                    final int LA24_0 = this.input.LA( 1 );
-                    if ( (LA24_0 == LBRACK) ) {
-                        alt24 = 1;
-                    }
+            // C:\\dev\\jbossrules\\trunk3\\drools-compiler\\src\\main\\resources\\org\\drools\\semantics\\java\\parser\\JavaParser.g:351:3: ( LBRACK RBRACK )*
+            loop24:
+            do {
+                int alt24=2;
+                int LA24_0 = input.LA(1);
 
-                    switch ( alt24 ) {
-                        case 1 :
-                            // D:\\workspace\\jboss\\jbossrules\\drools-compiler\\src\\main\\resources\\org\\drools\\semantics\\java\\parser\\JavaParser.g:351:4: LBRACK RBRACK
-                        {
-                            match( this.input,
-                                   LBRACK,
-                                   FOLLOW_LBRACK_in_declaratorBrackets912 );
-                            match( this.input,
-                                   RBRACK,
-                                   FOLLOW_RBRACK_in_declaratorBrackets915 );
+                if ( (LA24_0==LBRACK) ) {
+                    alt24=1;
+                }
 
-                        }
-                            break;
 
-                        default :
-                            break loop24;
-                    }
-                } while ( true );
+                switch (alt24) {
+            	case 1 :
+            	    // C:\\dev\\jbossrules\\trunk3\\drools-compiler\\src\\main\\resources\\org\\drools\\semantics\\java\\parser\\JavaParser.g:351:4: LBRACK RBRACK
+            	    {
+            	    match(input,LBRACK,FOLLOW_LBRACK_in_declaratorBrackets912); 
+            	    match(input,RBRACK,FOLLOW_RBRACK_in_declaratorBrackets915); 
 
+            	    }
+            	    break;
+
+            	default :
+            	    break loop24;
+                }
+            } while (true);
+
+
             }
 
-        } catch ( final RecognitionException re ) {
-            reportError( re );
-            recover( this.input,
-                     re );
-        } finally {
         }
-        return;
+        catch (RecognitionException re) {
+            reportError(re);
+            recover(input,re);
+        }
+        finally {
+        }
+        return ;
     }
-
     // $ANTLR end declaratorBrackets
 
+
     // $ANTLR start varInitializer
-    // D:\\workspace\\jboss\\jbossrules\\drools-compiler\\src\\main\\resources\\org\\drools\\semantics\\java\\parser\\JavaParser.g:354:1: varInitializer : ( ASSIGN initializer )? ;
-    public void varInitializer() throws RecognitionException {
+    // C:\\dev\\jbossrules\\trunk3\\drools-compiler\\src\\main\\resources\\org\\drools\\semantics\\java\\parser\\JavaParser.g:354:1: varInitializer : ( ASSIGN initializer )? ;
+    public final void varInitializer() throws RecognitionException {
         try {
-            // D:\\workspace\\jboss\\jbossrules\\drools-compiler\\src\\main\\resources\\org\\drools\\semantics\\java\\parser\\JavaParser.g:355:4: ( ( ASSIGN initializer )? )
-            // D:\\workspace\\jboss\\jbossrules\\drools-compiler\\src\\main\\resources\\org\\drools\\semantics\\java\\parser\\JavaParser.g:355:4: ( ASSIGN initializer )?
+            // C:\\dev\\jbossrules\\trunk3\\drools-compiler\\src\\main\\resources\\org\\drools\\semantics\\java\\parser\\JavaParser.g:355:4: ( ( ASSIGN initializer )? )
+            // C:\\dev\\jbossrules\\trunk3\\drools-compiler\\src\\main\\resources\\org\\drools\\semantics\\java\\parser\\JavaParser.g:355:4: ( ASSIGN initializer )?
             {
-                // D:\\workspace\\jboss\\jbossrules\\drools-compiler\\src\\main\\resources\\org\\drools\\semantics\\java\\parser\\JavaParser.g:355:4: ( ASSIGN initializer )?
-                int alt25 = 2;
-                final int LA25_0 = this.input.LA( 1 );
-                if ( (LA25_0 == ASSIGN) ) {
-                    alt25 = 1;
-                }
-                switch ( alt25 ) {
-                    case 1 :
-                        // D:\\workspace\\jboss\\jbossrules\\drools-compiler\\src\\main\\resources\\org\\drools\\semantics\\java\\parser\\JavaParser.g:355:6: ASSIGN initializer
+            // C:\\dev\\jbossrules\\trunk3\\drools-compiler\\src\\main\\resources\\org\\drools\\semantics\\java\\parser\\JavaParser.g:355:4: ( ASSIGN initializer )?
+            int alt25=2;
+            int LA25_0 = input.LA(1);
+
+            if ( (LA25_0==ASSIGN) ) {
+                alt25=1;
+            }
+            switch (alt25) {
+                case 1 :
+                    // C:\\dev\\jbossrules\\trunk3\\drools-compiler\\src\\main\\resources\\org\\drools\\semantics\\java\\parser\\JavaParser.g:355:6: ASSIGN initializer
                     {
-                        match( this.input,
-                               ASSIGN,
-                               FOLLOW_ASSIGN_in_varInitializer930 );
-                        pushFollow( FOLLOW_initializer_in_varInitializer932 );
-                        initializer();
-                        this._fsp--;
+                    match(input,ASSIGN,FOLLOW_ASSIGN_in_varInitializer930); 
+                    pushFollow(FOLLOW_initializer_in_varInitializer932);
+                    initializer();
+                    _fsp--;
 
+
                     }
-                        break;
+                    break;
 
-                }
+            }
 
+
             }
 
-        } catch ( final RecognitionException re ) {
-            reportError( re );
-            recover( this.input,
-                     re );
-        } finally {
         }
-        return;
+        catch (RecognitionException re) {
+            reportError(re);
+            recover(input,re);
+        }
+        finally {
+        }
+        return ;
     }
-
     // $ANTLR end varInitializer
 
+
     // $ANTLR start arrayInitializer
-    // D:\\workspace\\jboss\\jbossrules\\drools-compiler\\src\\main\\resources\\org\\drools\\semantics\\java\\parser\\JavaParser.g:359:1: arrayInitializer : LCURLY ( initializer ( COMMA initializer )* ( COMMA )? )? RCURLY ;
-    public void arrayInitializer() throws RecognitionException {
+    // C:\\dev\\jbossrules\\trunk3\\drools-compiler\\src\\main\\resources\\org\\drools\\semantics\\java\\parser\\JavaParser.g:359:1: arrayInitializer : LCURLY ( initializer ( COMMA initializer )* ( COMMA )? )? RCURLY ;
+    public final void arrayInitializer() throws RecognitionException {
         try {
-            // D:\\workspace\\jboss\\jbossrules\\drools-compiler\\src\\main\\resources\\org\\drools\\semantics\\java\\parser\\JavaParser.g:360:4: ( LCURLY ( initializer ( COMMA initializer )* ( COMMA )? )? RCURLY )
-            // D:\\workspace\\jboss\\jbossrules\\drools-compiler\\src\\main\\resources\\org\\drools\\semantics\\java\\parser\\JavaParser.g:360:4: LCURLY ( initializer ( COMMA initializer )* ( COMMA )? )? RCURLY
+            // C:\\dev\\jbossrules\\trunk3\\drools-compiler\\src\\main\\resources\\org\\drools\\semantics\\java\\parser\\JavaParser.g:360:4: ( LCURLY ( initializer ( COMMA initializer )* ( COMMA )? )? RCURLY )
+            // C:\\dev\\jbossrules\\trunk3\\drools-compiler\\src\\main\\resources\\org\\drools\\semantics\\java\\parser\\JavaParser.g:360:4: LCURLY ( initializer ( COMMA initializer )* ( COMMA )? )? RCURLY
             {
-                match( this.input,
-                       LCURLY,
-                       FOLLOW_LCURLY_in_arrayInitializer947 );
-                // D:\\workspace\\jboss\\jbossrules\\drools-compiler\\src\\main\\resources\\org\\drools\\semantics\\java\\parser\\JavaParser.g:361:4: ( initializer ( COMMA initializer )* ( COMMA )? )?
-                int alt28 = 2;
-                final int LA28_0 = this.input.LA( 1 );
-                if ( (LA28_0 == IDENT || LA28_0 == LCURLY || LA28_0 == LPAREN || (LA28_0 >= PLUS && LA28_0 <= MINUS) || (LA28_0 >= INC && LA28_0 <= NUM_FLOAT) || (LA28_0 >= 68 && LA28_0 <= 76) || (LA28_0 >= 93 && LA28_0 <= 94) || (LA28_0 >= 112 && LA28_0 <= 115)) ) {
-                    alt28 = 1;
-                }
-                switch ( alt28 ) {
-                    case 1 :
-                        // D:\\workspace\\jboss\\jbossrules\\drools-compiler\\src\\main\\resources\\org\\drools\\semantics\\java\\parser\\JavaParser.g:361:6: initializer ( COMMA initializer )* ( COMMA )?
+            match(input,LCURLY,FOLLOW_LCURLY_in_arrayInitializer947); 
+            // C:\\dev\\jbossrules\\trunk3\\drools-compiler\\src\\main\\resources\\org\\drools\\semantics\\java\\parser\\JavaParser.g:361:4: ( initializer ( COMMA initializer )* ( COMMA )? )?
+            int alt28=2;
+            int LA28_0 = input.LA(1);
+
+            if ( (LA28_0==IDENT||LA28_0==LCURLY||LA28_0==LPAREN||(LA28_0>=PLUS && LA28_0<=MINUS)||(LA28_0>=INC && LA28_0<=NUM_FLOAT)||(LA28_0>=68 && LA28_0<=76)||(LA28_0>=93 && LA28_0<=94)||(LA28_0>=112 && LA28_0<=115)) ) {
+                alt28=1;
+            }
+            switch (alt28) {
+                case 1 :
+                    // C:\\dev\\jbossrules\\trunk3\\drools-compiler\\src\\main\\resources\\org\\drools\\semantics\\java\\parser\\JavaParser.g:361:6: initializer ( COMMA initializer )* ( COMMA )?
                     {
-                        pushFollow( FOLLOW_initializer_in_arrayInitializer955 );
-                        initializer();
-                        this._fsp--;
+                    pushFollow(FOLLOW_initializer_in_arrayInitializer955);
+                    initializer();
+                    _fsp--;
 
-                        // D:\\workspace\\jboss\\jbossrules\\drools-compiler\\src\\main\\resources\\org\\drools\\semantics\\java\\parser\\JavaParser.g:362:5: ( COMMA initializer )*
-                        loop26 : do {
-                            int alt26 = 2;
-                            final int LA26_0 = this.input.LA( 1 );
-                            if ( (LA26_0 == COMMA) ) {
-                                final int LA26_1 = this.input.LA( 2 );
-                                if ( (LA26_1 == IDENT || LA26_1 == LCURLY || LA26_1 == LPAREN || (LA26_1 >= PLUS && LA26_1 <= MINUS) || (LA26_1 >= INC && LA26_1 <= NUM_FLOAT) || (LA26_1 >= 68 && LA26_1 <= 76) || (LA26_1 >= 93 && LA26_1 <= 94) || (LA26_1 >= 112 && LA26_1 <= 115)) ) {
-                                    alt26 = 1;
-                                }
+                    // C:\\dev\\jbossrules\\trunk3\\drools-compiler\\src\\main\\resources\\org\\drools\\semantics\\java\\parser\\JavaParser.g:362:5: ( COMMA initializer )*
+                    loop26:
+                    do {
+                        int alt26=2;
+                        int LA26_0 = input.LA(1);
 
+                        if ( (LA26_0==COMMA) ) {
+                            int LA26_1 = input.LA(2);
+
+                            if ( (LA26_1==IDENT||LA26_1==LCURLY||LA26_1==LPAREN||(LA26_1>=PLUS && LA26_1<=MINUS)||(LA26_1>=INC && LA26_1<=NUM_FLOAT)||(LA26_1>=68 && LA26_1<=76)||(LA26_1>=93 && LA26_1<=94)||(LA26_1>=112 && LA26_1<=115)) ) {
+                                alt26=1;
                             }
 
-                            switch ( alt26 ) {
-                                case 1 :
-                                    // D:\\workspace\\jboss\\jbossrules\\drools-compiler\\src\\main\\resources\\org\\drools\\semantics\\java\\parser\\JavaParser.g:367:6: COMMA initializer
-                                {
-                                    match( this.input,
-                                           COMMA,
-                                           FOLLOW_COMMA_in_arrayInitializer992 );
-                                    pushFollow( FOLLOW_initializer_in_arrayInitializer994 );
-                                    initializer();
-                                    this._fsp--;
 
-                                }
-                                    break;
+                        }
 
-                                default :
-                                    break loop26;
-                            }
-                        } while ( true );
 
-                        // D:\\workspace\\jboss\\jbossrules\\drools-compiler\\src\\main\\resources\\org\\drools\\semantics\\java\\parser\\JavaParser.g:369:5: ( COMMA )?
-                        int alt27 = 2;
-                        final int LA27_0 = this.input.LA( 1 );
-                        if ( (LA27_0 == COMMA) ) {
-                            alt27 = 1;
+                        switch (alt26) {
+                    	case 1 :
+                    	    // C:\\dev\\jbossrules\\trunk3\\drools-compiler\\src\\main\\resources\\org\\drools\\semantics\\java\\parser\\JavaParser.g:367:6: COMMA initializer
+                    	    {
+                    	    match(input,COMMA,FOLLOW_COMMA_in_arrayInitializer992); 
+                    	    pushFollow(FOLLOW_initializer_in_arrayInitializer994);
+                    	    initializer();
+                    	    _fsp--;
+
+
+                    	    }
+                    	    break;
+
+                    	default :
+                    	    break loop26;
                         }
-                        switch ( alt27 ) {
-                            case 1 :
-                                // D:\\workspace\\jboss\\jbossrules\\drools-compiler\\src\\main\\resources\\org\\drools\\semantics\\java\\parser\\JavaParser.g:369:6: COMMA
+                    } while (true);
+
+                    // C:\\dev\\jbossrules\\trunk3\\drools-compiler\\src\\main\\resources\\org\\drools\\semantics\\java\\parser\\JavaParser.g:369:5: ( COMMA )?
+                    int alt27=2;
+                    int LA27_0 = input.LA(1);
+
+                    if ( (LA27_0==COMMA) ) {
+                        alt27=1;
+                    }
+                    switch (alt27) {
+                        case 1 :
+                            // C:\\dev\\jbossrules\\trunk3\\drools-compiler\\src\\main\\resources\\org\\drools\\semantics\\java\\parser\\JavaParser.g:369:6: COMMA
                             {
-                                match( this.input,
-                                       COMMA,
-                                       FOLLOW_COMMA_in_arrayInitializer1008 );
+                            match(input,COMMA,FOLLOW_COMMA_in_arrayInitializer1008); 
 
                             }
-                                break;
+                            break;
 
-                        }
+                    }
 
+
                     }
-                        break;
+                    break;
 
-                }
+            }
 
-                match( this.input,
-                       RCURLY,
-                       FOLLOW_RCURLY_in_arrayInitializer1020 );
+            match(input,RCURLY,FOLLOW_RCURLY_in_arrayInitializer1020); 
 
             }
 
-        } catch ( final RecognitionException re ) {
-            reportError( re );
-            recover( this.input,
-                     re );
-        } finally {
         }
-        return;
+        catch (RecognitionException re) {
+            reportError(re);
+            recover(input,re);
+        }
+        finally {
+        }
+        return ;
     }
-
     // $ANTLR end arrayInitializer
 
+
     // $ANTLR start initializer
-    // D:\\workspace\\jboss\\jbossrules\\drools-compiler\\src\\main\\resources\\org\\drools\\semantics\\java\\parser\\JavaParser.g:377:1: initializer : ( expression | arrayInitializer );
-    public void initializer() throws RecognitionException {
+    // C:\\dev\\jbossrules\\trunk3\\drools-compiler\\src\\main\\resources\\org\\drools\\semantics\\java\\parser\\JavaParser.g:377:1: initializer : ( expression | arrayInitializer );
+    public final void initializer() throws RecognitionException {
         try {
-            // D:\\workspace\\jboss\\jbossrules\\drools-compiler\\src\\main\\resources\\org\\drools\\semantics\\java\\parser\\JavaParser.g:378:4: ( expression | arrayInitializer )
-            int alt29 = 2;
-            final int LA29_0 = this.input.LA( 1 );
-            if ( (LA29_0 == IDENT || LA29_0 == LPAREN || (LA29_0 >= PLUS && LA29_0 <= MINUS) || (LA29_0 >= INC && LA29_0 <= NUM_FLOAT) || (LA29_0 >= 68 && LA29_0 <= 76) || (LA29_0 >= 93 && LA29_0 <= 94) || (LA29_0 >= 112 && LA29_0 <= 115)) ) {
-                alt29 = 1;
-            } else if ( (LA29_0 == LCURLY) ) {
-                alt29 = 2;
-            } else {
-                final NoViableAltException nvae = new NoViableAltException( "377:1: initializer : ( expression | arrayInitializer );",
-                                                                      29,
-                                                                      0,
-                                                                      this.input );
+            // C:\\dev\\jbossrules\\trunk3\\drools-compiler\\src\\main\\resources\\org\\drools\\semantics\\java\\parser\\JavaParser.g:378:4: ( expression | arrayInitializer )
+            int alt29=2;
+            int LA29_0 = input.LA(1);
 
+            if ( (LA29_0==IDENT||LA29_0==LPAREN||(LA29_0>=PLUS && LA29_0<=MINUS)||(LA29_0>=INC && LA29_0<=NUM_FLOAT)||(LA29_0>=68 && LA29_0<=76)||(LA29_0>=93 && LA29_0<=94)||(LA29_0>=112 && LA29_0<=115)) ) {
+                alt29=1;
+            }
+            else if ( (LA29_0==LCURLY) ) {
+                alt29=2;
+            }
+            else {
+                NoViableAltException nvae =
+                    new NoViableAltException("377:1: initializer : ( expression | arrayInitializer );", 29, 0, input);
+
                 throw nvae;
             }
-            switch ( alt29 ) {
+            switch (alt29) {
                 case 1 :
-                    // D:\\workspace\\jboss\\jbossrules\\drools-compiler\\src\\main\\resources\\org\\drools\\semantics\\java\\parser\\JavaParser.g:378:4: expression
-                {
-                    pushFollow( FOLLOW_expression_in_initializer1034 );
+                    // C:\\dev\\jbossrules\\trunk3\\drools-compiler\\src\\main\\resources\\org\\drools\\semantics\\java\\parser\\JavaParser.g:378:4: expression
+                    {
+                    pushFollow(FOLLOW_expression_in_initializer1034);
                     expression();
-                    this._fsp--;
+                    _fsp--;
 
-                }
+
+                    }
                     break;
                 case 2 :
-                    // D:\\workspace\\jboss\\jbossrules\\drools-compiler\\src\\main\\resources\\org\\drools\\semantics\\java\\parser\\JavaParser.g:379:4: arrayInitializer
-                {
-                    pushFollow( FOLLOW_arrayInitializer_in_initializer1039 );
+                    // C:\\dev\\jbossrules\\trunk3\\drools-compiler\\src\\main\\resources\\org\\drools\\semantics\\java\\parser\\JavaParser.g:379:4: arrayInitializer
+                    {
+                    pushFollow(FOLLOW_arrayInitializer_in_initializer1039);
                     arrayInitializer();
-                    this._fsp--;
+                    _fsp--;
 
-                }
+
+                    }
                     break;
 
             }
-        } catch ( final RecognitionException re ) {
-            reportError( re );
-            recover( this.input,
-                     re );
-        } finally {
         }
-        return;
+        catch (RecognitionException re) {
+            reportError(re);
+            recover(input,re);
+        }
+        finally {
+        }
+        return ;
     }
-
     // $ANTLR end initializer
 
+
     // $ANTLR start ctorHead
-    // D:\\workspace\\jboss\\jbossrules\\drools-compiler\\src\\main\\resources\\org\\drools\\semantics\\java\\parser\\JavaParser.g:385:1: ctorHead : IDENT LPAREN parameterDeclarationList RPAREN ( throwsClause )? ;
-    public void ctorHead() throws RecognitionException {
+    // C:\\dev\\jbossrules\\trunk3\\drools-compiler\\src\\main\\resources\\org\\drools\\semantics\\java\\parser\\JavaParser.g:385:1: ctorHead : IDENT LPAREN parameterDeclarationList RPAREN ( throwsClause )? ;
+    public final void ctorHead() throws RecognitionException {
         try {
-            // D:\\workspace\\jboss\\jbossrules\\drools-compiler\\src\\main\\resources\\org\\drools\\semantics\\java\\parser\\JavaParser.g:386:4: ( IDENT LPAREN parameterDeclarationList RPAREN ( throwsClause )? )
-            // D:\\workspace\\jboss\\jbossrules\\drools-compiler\\src\\main\\resources\\org\\drools\\semantics\\java\\parser\\JavaParser.g:386:4: IDENT LPAREN parameterDeclarationList RPAREN ( throwsClause )?
+            // C:\\dev\\jbossrules\\trunk3\\drools-compiler\\src\\main\\resources\\org\\drools\\semantics\\java\\parser\\JavaParser.g:386:4: ( IDENT LPAREN parameterDeclarationList RPAREN ( throwsClause )? )
+            // C:\\dev\\jbossrules\\trunk3\\drools-compiler\\src\\main\\resources\\org\\drools\\semantics\\java\\parser\\JavaParser.g:386:4: IDENT LPAREN parameterDeclarationList RPAREN ( throwsClause )?
             {
-                match( this.input,
-                       IDENT,
-                       FOLLOW_IDENT_in_ctorHead1053 );
-                match( this.input,
-                       LPAREN,
-                       FOLLOW_LPAREN_in_ctorHead1063 );
-                pushFollow( FOLLOW_parameterDeclarationList_in_ctorHead1065 );
-                parameterDeclarationList();
-                this._fsp--;
+            match(input,IDENT,FOLLOW_IDENT_in_ctorHead1053); 
+            match(input,LPAREN,FOLLOW_LPAREN_in_ctorHead1063); 
+            pushFollow(FOLLOW_parameterDeclarationList_in_ctorHead1065);
+            parameterDeclarationList();
+            _fsp--;
 
-                match( this.input,
-                       RPAREN,
-                       FOLLOW_RPAREN_in_ctorHead1067 );
-                // D:\\workspace\\jboss\\jbossrules\\drools-compiler\\src\\main\\resources\\org\\drools\\semantics\\java\\parser\\JavaParser.g:392:3: ( throwsClause )?
-                int alt30 = 2;
-                final int LA30_0 = this.input.LA( 1 );
-                if ( (LA30_0 == 95) ) {
-                    alt30 = 1;
-                }
-                switch ( alt30 ) {
-                    case 1 :
-                        // D:\\workspace\\jboss\\jbossrules\\drools-compiler\\src\\main\\resources\\org\\drools\\semantics\\java\\parser\\JavaParser.g:392:4: throwsClause
+            match(input,RPAREN,FOLLOW_RPAREN_in_ctorHead1067); 
+            // C:\\dev\\jbossrules\\trunk3\\drools-compiler\\src\\main\\resources\\org\\drools\\semantics\\java\\parser\\JavaParser.g:392:3: ( throwsClause )?
+            int alt30=2;
+            int LA30_0 = input.LA(1);
+
+            if ( (LA30_0==95) ) {
+                alt30=1;
+            }
+            switch (alt30) {
+                case 1 :
+                    // C:\\dev\\jbossrules\\trunk3\\drools-compiler\\src\\main\\resources\\org\\drools\\semantics\\java\\parser\\JavaParser.g:392:4: throwsClause
                     {
-                        pushFollow( FOLLOW_throwsClause_in_ctorHead1076 );
-                        throwsClause();
-                        this._fsp--;
+                    pushFollow(FOLLOW_throwsClause_in_ctorHead1076);
+                    throwsClause();
+                    _fsp--;
 
+
                     }
-                        break;
+                    break;
 
-                }
+            }
 
+
             }
 
-        } catch ( final RecognitionException re ) {
-            reportError( re );
-            recover( this.input,
-                     re );
-        } finally {
         }
-        return;
+        catch (RecognitionException re) {
+            reportError(re);
+            recover(input,re);
+        }
+        finally {
+        }
+        return ;
     }
-
     // $ANTLR end ctorHead
 
+
     // $ANTLR start throwsClause
-    // D:\\workspace\\jboss\\jbossrules\\drools-compiler\\src\\main\\resources\\org\\drools\\semantics\\java\\parser\\JavaParser.g:396:1: throwsClause : 'throws' identifier ( COMMA identifier )* ;
-    public void throwsClause() throws RecognitionException {
+    // C:\\dev\\jbossrules\\trunk3\\drools-compiler\\src\\main\\resources\\org\\drools\\semantics\\java\\parser\\JavaParser.g:396:1: throwsClause : 'throws' identifier ( COMMA identifier )* ;
+    public final void throwsClause() throws RecognitionException {
         try {
-            // D:\\workspace\\jboss\\jbossrules\\drools-compiler\\src\\main\\resources\\org\\drools\\semantics\\java\\parser\\JavaParser.g:397:4: ( 'throws' identifier ( COMMA identifier )* )
-            // D:\\workspace\\jboss\\jbossrules\\drools-compiler\\src\\main\\resources\\org\\drools\\semantics\\java\\parser\\JavaParser.g:397:4: 'throws' identifier ( COMMA identifier )*
+            // C:\\dev\\jbossrules\\trunk3\\drools-compiler\\src\\main\\resources\\org\\drools\\semantics\\java\\parser\\JavaParser.g:397:4: ( 'throws' identifier ( COMMA identifier )* )
+            // C:\\dev\\jbossrules\\trunk3\\drools-compiler\\src\\main\\resources\\org\\drools\\semantics\\java\\parser\\JavaParser.g:397:4: 'throws' identifier ( COMMA identifier )*
             {
-                match( this.input,
-                       95,
-                       FOLLOW_95_in_throwsClause1090 );
-                pushFollow( FOLLOW_identifier_in_throwsClause1092 );
-                identifier();
-                this._fsp--;
+            match(input,95,FOLLOW_95_in_throwsClause1090); 
+            pushFollow(FOLLOW_identifier_in_throwsClause1092);
+            identifier();
+            _fsp--;
 
-                // D:\\workspace\\jboss\\jbossrules\\drools-compiler\\src\\main\\resources\\org\\drools\\semantics\\java\\parser\\JavaParser.g:397:24: ( COMMA identifier )*
-                loop31 : do {
-                    int alt31 = 2;
-                    final int LA31_0 = this.input.LA( 1 );
-                    if ( (LA31_0 == COMMA) ) {
-                        alt31 = 1;
-                    }
+            // C:\\dev\\jbossrules\\trunk3\\drools-compiler\\src\\main\\resources\\org\\drools\\semantics\\java\\parser\\JavaParser.g:397:24: ( COMMA identifier )*
+            loop31:
+            do {
+                int alt31=2;
+                int LA31_0 = input.LA(1);
 
-                    switch ( alt31 ) {
-                        case 1 :
-                            // D:\\workspace\\jboss\\jbossrules\\drools-compiler\\src\\main\\resources\\org\\drools\\semantics\\java\\parser\\JavaParser.g:397:26: COMMA identifier
-                        {
-                            match( this.input,
-                                   COMMA,
-                                   FOLLOW_COMMA_in_throwsClause1096 );
-                            pushFollow( FOLLOW_identifier_in_throwsClause1098 );
-                            identifier();
-                            this._fsp--;
+                if ( (LA31_0==COMMA) ) {
+                    alt31=1;
+                }
 
-                        }
-                            break;
 
-                        default :
-                            break loop31;
-                    }
-                } while ( true );
+                switch (alt31) {
+            	case 1 :
+            	    // C:\\dev\\jbossrules\\trunk3\\drools-compiler\\src\\main\\resources\\org\\drools\\semantics\\java\\parser\\JavaParser.g:397:26: COMMA identifier
+            	    {
+            	    match(input,COMMA,FOLLOW_COMMA_in_throwsClause1096); 
+            	    pushFollow(FOLLOW_identifier_in_throwsClause1098);
+            	    identifier();
+            	    _fsp--;
 
+
+            	    }
+            	    break;
+
+            	default :
+            	    break loop31;
+                }
+            } while (true);
+
+
             }
 
-        } catch ( final RecognitionException re ) {
-            reportError( re );
-            recover( this.input,
-                     re );
-        } finally {
         }
-        return;
+        catch (RecognitionException re) {
+            reportError(re);
+            recover(input,re);
+        }
+        finally {
+        }
+        return ;
     }
-
     // $ANTLR end throwsClause
 
+
     // $ANTLR start parameterDeclarationList
-    // D:\\workspace\\jboss\\jbossrules\\drools-compiler\\src\\main\\resources\\org\\drools\\semantics\\java\\parser\\JavaParser.g:402:1: parameterDeclarationList : ( parameterDeclaration ( COMMA parameterDeclaration )* )? ;
-    public void parameterDeclarationList() throws RecognitionException {
+    // C:\\dev\\jbossrules\\trunk3\\drools-compiler\\src\\main\\resources\\org\\drools\\semantics\\java\\parser\\JavaParser.g:402:1: parameterDeclarationList : ( parameterDeclaration ( COMMA parameterDeclaration )* )? ;
+    public final void parameterDeclarationList() throws RecognitionException {
         try {
-            // D:\\workspace\\jboss\\jbossrules\\drools-compiler\\src\\main\\resources\\org\\drools\\semantics\\java\\parser\\JavaParser.g:403:4: ( ( parameterDeclaration ( COMMA parameterDeclaration )* )? )
-            // D:\\workspace\\jboss\\jbossrules\\drools-compiler\\src\\main\\resources\\org\\drools\\semantics\\java\\parser\\JavaParser.g:403:4: ( parameterDeclaration ( COMMA parameterDeclaration )* )?
+            // C:\\dev\\jbossrules\\trunk3\\drools-compiler\\src\\main\\resources\\org\\drools\\semantics\\java\\parser\\JavaParser.g:403:4: ( ( parameterDeclaration ( COMMA parameterDeclaration )* )? )
+            // C:\\dev\\jbossrules\\trunk3\\drools-compiler\\src\\main\\resources\\org\\drools\\semantics\\java\\parser\\JavaParser.g:403:4: ( parameterDeclaration ( COMMA parameterDeclaration )* )?
             {
-                // D:\\workspace\\jboss\\jbossrules\\drools-compiler\\src\\main\\resources\\org\\drools\\semantics\\java\\parser\\JavaParser.g:403:4: ( parameterDeclaration ( COMMA parameterDeclaration )* )?
-                int alt33 = 2;
-                final int LA33_0 = this.input.LA( 1 );
-                if ( (LA33_0 == IDENT || (LA33_0 >= 68 && LA33_0 <= 76) || LA33_0 == 82) ) {
-                    alt33 = 1;
-                }
-                switch ( alt33 ) {
-                    case 1 :
-                        // D:\\workspace\\jboss\\jbossrules\\drools-compiler\\src\\main\\resources\\org\\drools\\semantics\\java\\parser\\JavaParser.g:403:6: parameterDeclaration ( COMMA parameterDeclaration )*
+            // C:\\dev\\jbossrules\\trunk3\\drools-compiler\\src\\main\\resources\\org\\drools\\semantics\\java\\parser\\JavaParser.g:403:4: ( parameterDeclaration ( COMMA parameterDeclaration )* )?
+            int alt33=2;
+            int LA33_0 = input.LA(1);
+
+            if ( (LA33_0==IDENT||(LA33_0>=68 && LA33_0<=76)||LA33_0==82) ) {
+                alt33=1;
+            }
+            switch (alt33) {
+                case 1 :
+                    // C:\\dev\\jbossrules\\trunk3\\drools-compiler\\src\\main\\resources\\org\\drools\\semantics\\java\\parser\\JavaParser.g:403:6: parameterDeclaration ( COMMA parameterDeclaration )*
                     {
-                        pushFollow( FOLLOW_parameterDeclaration_in_parameterDeclarationList1116 );
-                        parameterDeclaration();
-                        this._fsp--;
+                    pushFollow(FOLLOW_parameterDeclaration_in_parameterDeclarationList1116);
+                    parameterDeclaration();
+                    _fsp--;
 
-                        // D:\\workspace\\jboss\\jbossrules\\drools-compiler\\src\\main\\resources\\org\\drools\\semantics\\java\\parser\\JavaParser.g:403:27: ( COMMA parameterDeclaration )*
-                        loop32 : do {
-                            int alt32 = 2;
-                            final int LA32_0 = this.input.LA( 1 );
-                            if ( (LA32_0 == COMMA) ) {
-                                alt32 = 1;
-                            }
+                    // C:\\dev\\jbossrules\\trunk3\\drools-compiler\\src\\main\\resources\\org\\drools\\semantics\\java\\parser\\JavaParser.g:403:27: ( COMMA parameterDeclaration )*
+                    loop32:
+                    do {
+                        int alt32=2;
+                        int LA32_0 = input.LA(1);
 
-                            switch ( alt32 ) {
-                                case 1 :
-                                    // D:\\workspace\\jboss\\jbossrules\\drools-compiler\\src\\main\\resources\\org\\drools\\semantics\\java\\parser\\JavaParser.g:403:29: COMMA parameterDeclaration
-                                {
-                                    match( this.input,
-                                           COMMA,
-                                           FOLLOW_COMMA_in_parameterDeclarationList1120 );
-                                    pushFollow( FOLLOW_parameterDeclaration_in_parameterDeclarationList1122 );
-                                    parameterDeclaration();
-                                    this._fsp--;
+                        if ( (LA32_0==COMMA) ) {
+                            alt32=1;
+                        }
 
-                                }
-                                    break;
 
-                                default :
-                                    break loop32;
-                            }
-                        } while ( true );
+                        switch (alt32) {
+                    	case 1 :
+                    	    // C:\\dev\\jbossrules\\trunk3\\drools-compiler\\src\\main\\resources\\org\\drools\\semantics\\java\\parser\\JavaParser.g:403:29: COMMA parameterDeclaration
+                    	    {
+                    	    match(input,COMMA,FOLLOW_COMMA_in_parameterDeclarationList1120); 
+                    	    pushFollow(FOLLOW_parameterDeclaration_in_parameterDeclarationList1122);
+                    	    parameterDeclaration();
+                    	    _fsp--;
 
+
+                    	    }
+                    	    break;
+
+                    	default :
+                    	    break loop32;
+                        }
+                    } while (true);
+
+
                     }
-                        break;
+                    break;
 
-                }
+            }
 
+
             }
 
-        } catch ( final RecognitionException re ) {
-            reportError( re );
-            recover( this.input,
-                     re );
-        } finally {
         }
-        return;
+        catch (RecognitionException re) {
+            reportError(re);
+            recover(input,re);
+        }
+        finally {
+        }
+        return ;
     }
-
     // $ANTLR end parameterDeclarationList
 
+
     // $ANTLR start parameterDeclaration
-    // D:\\workspace\\jboss\\jbossrules\\drools-compiler\\src\\main\\resources\\org\\drools\\semantics\\java\\parser\\JavaParser.g:407:1: parameterDeclaration : parameterModifier typeSpec IDENT declaratorBrackets ;
-    public void parameterDeclaration() throws RecognitionException {
+    // C:\\dev\\jbossrules\\trunk3\\drools-compiler\\src\\main\\resources\\org\\drools\\semantics\\java\\parser\\JavaParser.g:407:1: parameterDeclaration : parameterModifier typeSpec IDENT declaratorBrackets ;
+    public final void parameterDeclaration() throws RecognitionException {
         try {
-            // D:\\workspace\\jboss\\jbossrules\\drools-compiler\\src\\main\\resources\\org\\drools\\semantics\\java\\parser\\JavaParser.g:408:4: ( parameterModifier typeSpec IDENT declaratorBrackets )
-            // D:\\workspace\\jboss\\jbossrules\\drools-compiler\\src\\main\\resources\\org\\drools\\semantics\\java\\parser\\JavaParser.g:408:4: parameterModifier typeSpec IDENT declaratorBrackets
+            // C:\\dev\\jbossrules\\trunk3\\drools-compiler\\src\\main\\resources\\org\\drools\\semantics\\java\\parser\\JavaParser.g:408:4: ( parameterModifier typeSpec IDENT declaratorBrackets )
+            // C:\\dev\\jbossrules\\trunk3\\drools-compiler\\src\\main\\resources\\org\\drools\\semantics\\java\\parser\\JavaParser.g:408:4: parameterModifier typeSpec IDENT declaratorBrackets
             {
-                pushFollow( FOLLOW_parameterModifier_in_parameterDeclaration1140 );
-                parameterModifier();
-                this._fsp--;
+            pushFollow(FOLLOW_parameterModifier_in_parameterDeclaration1140);
+            parameterModifier();
+            _fsp--;
 
-                pushFollow( FOLLOW_typeSpec_in_parameterDeclaration1142 );
-                typeSpec();
-                this._fsp--;
+            pushFollow(FOLLOW_typeSpec_in_parameterDeclaration1142);
+            typeSpec();
+            _fsp--;
 
-                match( this.input,
-                       IDENT,
-                       FOLLOW_IDENT_in_parameterDeclaration1144 );
-                pushFollow( FOLLOW_declaratorBrackets_in_parameterDeclaration1148 );
-                declaratorBrackets();
-                this._fsp--;
+            match(input,IDENT,FOLLOW_IDENT_in_parameterDeclaration1144); 
+            pushFollow(FOLLOW_declaratorBrackets_in_parameterDeclaration1148);
+            declaratorBrackets();
+            _fsp--;
 
+
             }
 
-        } catch ( final RecognitionException re ) {
-            reportError( re );
-            recover( this.input,
-                     re );
-        } finally {
         }
-        return;
+        catch (RecognitionException re) {
+            reportError(re);
+            recover(input,re);
+        }
+        finally {
+        }
+        return ;
     }
-
     // $ANTLR end parameterDeclaration
 
+
     // $ANTLR start parameterModifier
-    // D:\\workspace\\jboss\\jbossrules\\drools-compiler\\src\\main\\resources\\org\\drools\\semantics\\java\\parser\\JavaParser.g:412:1: parameterModifier : ( 'final' )? ;
-    public void parameterModifier() throws RecognitionException {
+    // C:\\dev\\jbossrules\\trunk3\\drools-compiler\\src\\main\\resources\\org\\drools\\semantics\\java\\parser\\JavaParser.g:412:1: parameterModifier : ( 'final' )? ;
+    public final void parameterModifier() throws RecognitionException {
         try {
-            // D:\\workspace\\jboss\\jbossrules\\drools-compiler\\src\\main\\resources\\org\\drools\\semantics\\java\\parser\\JavaParser.g:413:4: ( ( 'final' )? )
-            // D:\\workspace\\jboss\\jbossrules\\drools-compiler\\src\\main\\resources\\org\\drools\\semantics\\java\\parser\\JavaParser.g:413:4: ( 'final' )?
+            // C:\\dev\\jbossrules\\trunk3\\drools-compiler\\src\\main\\resources\\org\\drools\\semantics\\java\\parser\\JavaParser.g:413:4: ( ( 'final' )? )
+            // C:\\dev\\jbossrules\\trunk3\\drools-compiler\\src\\main\\resources\\org\\drools\\semantics\\java\\parser\\JavaParser.g:413:4: ( 'final' )?
             {
-                // D:\\workspace\\jboss\\jbossrules\\drools-compiler\\src\\main\\resources\\org\\drools\\semantics\\java\\parser\\JavaParser.g:413:4: ( 'final' )?
-                int alt34 = 2;
-                final int LA34_0 = this.input.LA( 1 );
-                if ( (LA34_0 == 82) ) {
-                    alt34 = 1;
-                }
-                switch ( alt34 ) {
-                    case 1 :
-                        // D:\\workspace\\jboss\\jbossrules\\drools-compiler\\src\\main\\resources\\org\\drools\\semantics\\java\\parser\\JavaParser.g:413:5: 'final'
+            // C:\\dev\\jbossrules\\trunk3\\drools-compiler\\src\\main\\resources\\org\\drools\\semantics\\java\\parser\\JavaParser.g:413:4: ( 'final' )?
+            int alt34=2;
+            int LA34_0 = input.LA(1);
+
+            if ( (LA34_0==82) ) {
+                alt34=1;
+            }
+            switch (alt34) {
+                case 1 :
+                    // C:\\dev\\jbossrules\\trunk3\\drools-compiler\\src\\main\\resources\\org\\drools\\semantics\\java\\parser\\JavaParser.g:413:5: 'final'
                     {
-                        match( this.input,
-                               82,
-                               FOLLOW_82_in_parameterModifier1160 );
+                    match(input,82,FOLLOW_82_in_parameterModifier1160); 
 
                     }
-                        break;
+                    break;
 
-                }
+            }
 
+
             }
 
-        } catch ( final RecognitionException re ) {
-            reportError( re );
-            recover( this.input,
-                     re );
-        } finally {
         }
-        return;
+        catch (RecognitionException re) {
+            reportError(re);
+            recover(input,re);
+        }
+        finally {
+        }
+        return ;
     }
-
     // $ANTLR end parameterModifier
 
+
     // $ANTLR start compoundStatement
-    // D:\\workspace\\jboss\\jbossrules\\drools-compiler\\src\\main\\resources\\org\\drools\\semantics\\java\\parser\\JavaParser.g:426:1: compoundStatement : LCURLY ( statement )* RCURLY ;
-    public void compoundStatement() throws RecognitionException {
+    // C:\\dev\\jbossrules\\trunk3\\drools-compiler\\src\\main\\resources\\org\\drools\\semantics\\java\\parser\\JavaParser.g:426:1: compoundStatement : LCURLY ( statement )* RCURLY ;
+    public final void compoundStatement() throws RecognitionException {
         try {
-            // D:\\workspace\\jboss\\jbossrules\\drools-compiler\\src\\main\\resources\\org\\drools\\semantics\\java\\parser\\JavaParser.g:427:4: ( LCURLY ( statement )* RCURLY )
-            // D:\\workspace\\jboss\\jbossrules\\drools-compiler\\src\\main\\resources\\org\\drools\\semantics\\java\\parser\\JavaParser.g:427:4: LCURLY ( statement )* RCURLY
+            // C:\\dev\\jbossrules\\trunk3\\drools-compiler\\src\\main\\resources\\org\\drools\\semantics\\java\\parser\\JavaParser.g:427:4: ( LCURLY ( statement )* RCURLY )
+            // C:\\dev\\jbossrules\\trunk3\\drools-compiler\\src\\main\\resources\\org\\drools\\semantics\\java\\parser\\JavaParser.g:427:4: LCURLY ( statement )* RCURLY
             {
-                match( this.input,
-                       LCURLY,
-                       FOLLOW_LCURLY_in_compoundStatement1185 );
-                // D:\\workspace\\jboss\\jbossrules\\drools-compiler\\src\\main\\resources\\org\\drools\\semantics\\java\\parser\\JavaParser.g:429:4: ( statement )*
-                loop35 : do {
-                    int alt35 = 2;
-                    final int LA35_0 = this.input.LA( 1 );
-                    if ( (LA35_0 == IDENT || (LA35_0 >= LCURLY && LA35_0 <= SEMI) || LA35_0 == LPAREN || (LA35_0 >= PLUS && LA35_0 <= MINUS) || (LA35_0 >= INC && LA35_0 <= NUM_FLOAT) || (LA35_0 >= 68 && LA35_0 <= 89)
-                          || (LA35_0 >= 93 && LA35_0 <= 94) || LA35_0 == 96 || (LA35_0 >= 98 && LA35_0 <= 105) || LA35_0 == 108 || (LA35_0 >= 112 && LA35_0 <= 115)) ) {
-                        alt35 = 1;
-                    }
+            match(input,LCURLY,FOLLOW_LCURLY_in_compoundStatement1185); 
+            // C:\\dev\\jbossrules\\trunk3\\drools-compiler\\src\\main\\resources\\org\\drools\\semantics\\java\\parser\\JavaParser.g:429:4: ( statement )*
+            loop35:
+            do {
+                int alt35=2;
+                int LA35_0 = input.LA(1);
 
-                    switch ( alt35 ) {
-                        case 1 :
-                            // D:\\workspace\\jboss\\jbossrules\\drools-compiler\\src\\main\\resources\\org\\drools\\semantics\\java\\parser\\JavaParser.g:429:5: statement
-                        {
-                            pushFollow( FOLLOW_statement_in_compoundStatement1196 );
-                            statement();
-                            this._fsp--;
+                if ( (LA35_0==IDENT||(LA35_0>=LCURLY && LA35_0<=SEMI)||LA35_0==LPAREN||(LA35_0>=PLUS && LA35_0<=MINUS)||(LA35_0>=INC && LA35_0<=NUM_FLOAT)||(LA35_0>=68 && LA35_0<=89)||(LA35_0>=93 && LA35_0<=94)||LA35_0==96||(LA35_0>=98 && LA35_0<=105)||LA35_0==108||(LA35_0>=112 && LA35_0<=115)) ) {
+                    alt35=1;
+                }
 
-                        }
-                            break;
 
-                        default :
-                            break loop35;
-                    }
-                } while ( true );
+                switch (alt35) {
+            	case 1 :
+            	    // C:\\dev\\jbossrules\\trunk3\\drools-compiler\\src\\main\\resources\\org\\drools\\semantics\\java\\parser\\JavaParser.g:429:5: statement
+            	    {
+            	    pushFollow(FOLLOW_statement_in_compoundStatement1196);
+            	    statement();
+            	    _fsp--;
 
-                match( this.input,
-                       RCURLY,
-                       FOLLOW_RCURLY_in_compoundStatement1202 );
 
+            	    }
+            	    break;
+
+            	default :
+            	    break loop35;
+                }
+            } while (true);
+
+            match(input,RCURLY,FOLLOW_RCURLY_in_compoundStatement1202); 
+
             }
 
-        } catch ( final RecognitionException re ) {
-            reportError( re );
-            recover( this.input,
-                     re );
-        } finally {
         }
-        return;
+        catch (RecognitionException re) {
+            reportError(re);
+            recover(input,re);
+        }
+        finally {
+        }
+        return ;
     }
-
     // $ANTLR end compoundStatement
 
+
     // $ANTLR start statement
-    // D:\\workspace\\jboss\\jbossrules\\drools-compiler\\src\\main\\resources\\org\\drools\\semantics\\java\\parser\\JavaParser.g:434:1: statement : ( compoundStatement | declaration SEMI | expression SEMI | modifiers classDefinition | IDENT COLON statement | 'if' LPAREN expression RPAREN statement ( 'else' statement )? | 'for' LPAREN forInit SEMI forCond SEMI forIter RPAREN statement | 'while' LPAREN expression RPAREN statement | 'do' statement 'while' LPAREN expression RPAREN SEMI | 'break' ( IDENT )? SEMI | 'continue' ( IDENT )? SEMI | 'return' ( expression )? SEMI | 'switch' LPAREN expression RPAREN LCURLY ( casesGroup )* RCURLY | tryBlock | 'throw' expression SEMI | 'synchronized' LPAREN expression RPAREN compoundStatement | SEMI );
-    public void statement() throws RecognitionException {
+    // C:\\dev\\jbossrules\\trunk3\\drools-compiler\\src\\main\\resources\\org\\drools\\semantics\\java\\parser\\JavaParser.g:434:1: statement : ( compoundStatement | declaration SEMI | expression SEMI | modifiers classDefinition | IDENT COLON statement | 'if' LPAREN expression RPAREN statement ( 'else' statement )? | 'for' LPAREN forInit SEMI forCond SEMI forIter RPAREN statement | 'while' LPAREN expression RPAREN statement | 'do' statement 'while' LPAREN expression RPAREN SEMI | 'break' ( IDENT )? SEMI | 'continue' ( IDENT )? SEMI | 'return' ( expression )? SEMI | 'switch' LPAREN expression RPAREN LCURLY ( casesGroup )* RCURLY | tryBlock | 'throw' expression SEMI | 'synchronized' LPAREN expression RPAREN compoundStatement | SEMI );
+    public final void statement() throws RecognitionException {
         try {
-            // D:\\workspace\\jboss\\jbossrules\\drools-compiler\\src\\main\\resources\\org\\drools\\semantics\\java\\parser\\JavaParser.g:436:4: ( compoundStatement | declaration SEMI | expression SEMI | modifiers classDefinition | IDENT COLON statement | 'if' LPAREN expression RPAREN statement ( 'else' statement )? | 'for' LPAREN forInit SEMI forCond SEMI forIter RPAREN statement | 'while' LPAREN expression RPAREN statement | 'do' statement 'while' LPAREN expression RPAREN SEMI | 'break' ( IDENT )? SEMI | 'continue' ( IDENT )? SEMI | 'return' ( expression )? SEMI | 'switch' LPAREN expression RPAREN LCURLY ( casesGroup )* RCURLY | tryBlock | 'throw' expression SEMI | 'synchronized' LPAREN expression RPAREN compoundStatement | SEMI )
-            int alt41 = 17;
-            alt41 = this.dfa41.predict( this.input );
-            switch ( alt41 ) {
+            // C:\\dev\\jbossrules\\trunk3\\drools-compiler\\src\\main\\resources\\org\\drools\\semantics\\java\\parser\\JavaParser.g:436:4: ( compoundStatement | declaration SEMI | expression SEMI | modifiers classDefinition | IDENT COLON statement | 'if' LPAREN expression RPAREN statement ( 'else' statement )? | 'for' LPAREN forInit SEMI forCond SEMI forIter RPAREN statement | 'while' LPAREN expression RPAREN statement | 'do' statement 'while' LPAREN expression RPAREN SEMI | 'break' ( IDENT )? SEMI | 'continue' ( IDENT )? SEMI | 'return' ( expression )? SEMI | 'switch' LPAREN expression RPAREN LCURLY ( casesGroup )* RCURLY | tryBlock | 'throw' expression SEMI | 'synchronized' LPAREN expression RPAREN compoundStatement | SEMI )
+            int alt41=17;
+            alt41 = dfa41.predict(input);
+            switch (alt41) {
                 case 1 :
-                    // D:\\workspace\\jboss\\jbossrules\\drools-compiler\\src\\main\\resources\\org\\drools\\semantics\\java\\parser\\JavaParser.g:436:4: compoundStatement
-                {
-                    pushFollow( FOLLOW_compoundStatement_in_statement1216 );
+                    // C:\\dev\\jbossrules\\trunk3\\drools-compiler\\src\\main\\resources\\org\\drools\\semantics\\java\\parser\\JavaParser.g:436:4: compoundStatement
+                    {
+                    pushFollow(FOLLOW_compoundStatement_in_statement1216);
                     compoundStatement();
-                    this._fsp--;
+                    _fsp--;
 
-                }
+
+                    }
                     break;
                 case 2 :
-                    // D:\\workspace\\jboss\\jbossrules\\drools-compiler\\src\\main\\resources\\org\\drools\\semantics\\java\\parser\\JavaParser.g:443:4: declaration SEMI
-                {
-                    pushFollow( FOLLOW_declaration_in_statement1232 );
+                    // C:\\dev\\jbossrules\\trunk3\\drools-compiler\\src\\main\\resources\\org\\drools\\semantics\\java\\parser\\JavaParser.g:443:4: declaration SEMI
+                    {
+                    pushFollow(FOLLOW_declaration_in_statement1232);
                     declaration();
-                    this._fsp--;
+                    _fsp--;
 
-                    match( this.input,
-                           SEMI,
-                           FOLLOW_SEMI_in_statement1234 );
+                    match(input,SEMI,FOLLOW_SEMI_in_statement1234); 
 
-                }
+                    }
                     break;
                 case 3 :
-                    // D:\\workspace\\jboss\\jbossrules\\drools-compiler\\src\\main\\resources\\org\\drools\\semantics\\java\\parser\\JavaParser.g:448:4: expression SEMI
-                {
-                    pushFollow( FOLLOW_expression_in_statement1246 );
+                    // C:\\dev\\jbossrules\\trunk3\\drools-compiler\\src\\main\\resources\\org\\drools\\semantics\\java\\parser\\JavaParser.g:448:4: expression SEMI
+                    {
+                    pushFollow(FOLLOW_expression_in_statement1246);
                     expression();
-                    this._fsp--;
+                    _fsp--;
 
-                    match( this.input,
-                           SEMI,
-                           FOLLOW_SEMI_in_statement1248 );
+                    match(input,SEMI,FOLLOW_SEMI_in_statement1248); 
 
-                }
+                    }
                     break;
                 case 4 :
-                    // D:\\workspace\\jboss\\jbossrules\\drools-compiler\\src\\main\\resources\\org\\drools\\semantics\\java\\parser\\JavaParser.g:451:4: modifiers classDefinition
-                {
-                    pushFollow( FOLLOW_modifiers_in_statement1256 );
+                    // C:\\dev\\jbossrules\\trunk3\\drools-compiler\\src\\main\\resources\\org\\drools\\semantics\\java\\parser\\JavaParser.g:451:4: modifiers classDefinition
+                    {
+                    pushFollow(FOLLOW_modifiers_in_statement1256);
                     modifiers();
-                    this._fsp--;
+                    _fsp--;
 
-                    pushFollow( FOLLOW_classDefinition_in_statement1258 );
+                    pushFollow(FOLLOW_classDefinition_in_statement1258);
                     classDefinition();
-                    this._fsp--;
+                    _fsp--;
 
-                }
+
+                    }
                     break;
                 case 5 :
-                    // D:\\workspace\\jboss\\jbossrules\\drools-compiler\\src\\main\\resources\\org\\drools\\semantics\\java\\parser\\JavaParser.g:454:4: IDENT COLON statement
-                {
-                    match( this.input,
-                           IDENT,
-                           FOLLOW_IDENT_in_statement1266 );
-                    match( this.input,
-                           COLON,
-                           FOLLOW_COLON_in_statement1268 );
-                    pushFollow( FOLLOW_statement_in_statement1271 );
+                    // C:\\dev\\jbossrules\\trunk3\\drools-compiler\\src\\main\\resources\\org\\drools\\semantics\\java\\parser\\JavaParser.g:454:4: IDENT COLON statement
+                    {
+                    match(input,IDENT,FOLLOW_IDENT_in_statement1266); 
+                    match(input,COLON,FOLLOW_COLON_in_statement1268); 
+                    pushFollow(FOLLOW_statement_in_statement1271);
                     statement();
-                    this._fsp--;
+                    _fsp--;
 
-                }
+
+                    }
                     break;
                 case 6 :
-                    // D:\\workspace\\jboss\\jbossrules\\drools-compiler\\src\\main\\resources\\org\\drools\\semantics\\java\\parser\\JavaParser.g:457:4: 'if' LPAREN expression RPAREN statement ( 'else' statement )?
-                {
-                    match( this.input,
-                           96,
-                           FOLLOW_96_in_statement1279 );
-                    match( this.input,
-                           LPAREN,
-                           FOLLOW_LPAREN_in_statement1281 );
-                    pushFollow( FOLLOW_expression_in_statement1283 );
+                    // C:\\dev\\jbossrules\\trunk3\\drools-compiler\\src\\main\\resources\\org\\drools\\semantics\\java\\parser\\JavaParser.g:457:4: 'if' LPAREN expression RPAREN statement ( 'else' statement )?
+                    {
+                    match(input,96,FOLLOW_96_in_statement1279); 
+                    match(input,LPAREN,FOLLOW_LPAREN_in_statement1281); 
+                    pushFollow(FOLLOW_expression_in_statement1283);
                     expression();
-                    this._fsp--;
+                    _fsp--;
 
-                    match( this.input,
-                           RPAREN,
-                           FOLLOW_RPAREN_in_statement1285 );
-                    pushFollow( FOLLOW_statement_in_statement1287 );
+                    match(input,RPAREN,FOLLOW_RPAREN_in_statement1285); 
+                    pushFollow(FOLLOW_statement_in_statement1287);
                     statement();
-                    this._fsp--;
+                    _fsp--;
 
-                    // D:\\workspace\\jboss\\jbossrules\\drools-compiler\\src\\main\\resources\\org\\drools\\semantics\\java\\parser\\JavaParser.g:458:3: ( 'else' statement )?
-                    int alt36 = 2;
-                    final int LA36_0 = this.input.LA( 1 );
-                    if ( (LA36_0 == 97) ) {
-                        alt36 = 1;
+                    // C:\\dev\\jbossrules\\trunk3\\drools-compiler\\src\\main\\resources\\org\\drools\\semantics\\java\\parser\\JavaParser.g:458:3: ( 'else' statement )?
+                    int alt36=2;
+                    int LA36_0 = input.LA(1);
+
+                    if ( (LA36_0==97) ) {
+                        alt36=1;
                     }
-                    switch ( alt36 ) {
+                    switch (alt36) {
                         case 1 :
-                            // D:\\workspace\\jboss\\jbossrules\\drools-compiler\\src\\main\\resources\\org\\drools\\semantics\\java\\parser\\JavaParser.g:462:4: 'else' statement
-                        {
-                            match( this.input,
-                                   97,
-                                   FOLLOW_97_in_statement1308 );
-                            pushFollow( FOLLOW_statement_in_statement1310 );
+                            // C:\\dev\\jbossrules\\trunk3\\drools-compiler\\src\\main\\resources\\org\\drools\\semantics\\java\\parser\\JavaParser.g:462:4: 'else' statement
+                            {
+                            match(input,97,FOLLOW_97_in_statement1308); 
+                            pushFollow(FOLLOW_statement_in_statement1310);
                             statement();
-                            this._fsp--;
+                            _fsp--;
 
-                        }
+
+                            }
                             break;
 
                     }
 
-                }
+
+                    }
                     break;
                 case 7 :
-                    // D:\\workspace\\jboss\\jbossrules\\drools-compiler\\src\\main\\resources\\org\\drools\\semantics\\java\\parser\\JavaParser.g:466:4: 'for' LPAREN forInit SEMI forCond SEMI forIter RPAREN statement
-                {
-                    match( this.input,
-                           98,
-                           FOLLOW_98_in_statement1323 );
-                    match( this.input,
-                           LPAREN,
-                           FOLLOW_LPAREN_in_statement1328 );
-                    pushFollow( FOLLOW_forInit_in_statement1334 );
+                    // C:\\dev\\jbossrules\\trunk3\\drools-compiler\\src\\main\\resources\\org\\drools\\semantics\\java\\parser\\JavaParser.g:466:4: 'for' LPAREN forInit SEMI forCond SEMI forIter RPAREN statement
+                    {
+                    match(input,98,FOLLOW_98_in_statement1323); 
+                    match(input,LPAREN,FOLLOW_LPAREN_in_statement1328); 
+                    pushFollow(FOLLOW_forInit_in_statement1334);
                     forInit();
-                    this._fsp--;
+                    _fsp--;
 
-                    match( this.input,
-                           SEMI,
-                           FOLLOW_SEMI_in_statement1336 );
-                    pushFollow( FOLLOW_forCond_in_statement1345 );
+                    match(input,SEMI,FOLLOW_SEMI_in_statement1336); 
+                    pushFollow(FOLLOW_forCond_in_statement1345);
                     forCond();
-                    this._fsp--;
+                    _fsp--;
 
-                    match( this.input,
-                           SEMI,
-                           FOLLOW_SEMI_in_statement1347 );
-                    pushFollow( FOLLOW_forIter_in_statement1356 );
+                    match(input,SEMI,FOLLOW_SEMI_in_statement1347); 
+                    pushFollow(FOLLOW_forIter_in_statement1356);
                     forIter();
-                    this._fsp--;
+                    _fsp--;
 
-                    match( this.input,
-                           RPAREN,
-                           FOLLOW_RPAREN_in_statement1370 );
-                    pushFollow( FOLLOW_statement_in_statement1375 );
+                    match(input,RPAREN,FOLLOW_RPAREN_in_statement1370); 
+                    pushFollow(FOLLOW_statement_in_statement1375);
                     statement();
-                    this._fsp--;
+                    _fsp--;
 
-                }
+
+                    }
                     break;
                 case 8 :
-                    // D:\\workspace\\jboss\\jbossrules\\drools-compiler\\src\\main\\resources\\org\\drools\\semantics\\java\\parser\\JavaParser.g:475:4: 'while' LPAREN expression RPAREN statement
-                {
-                    match( this.input,
-                           99,
-                           FOLLOW_99_in_statement1404 );
-                    match( this.input,
-                           LPAREN,
-                           FOLLOW_LPAREN_in_statement1406 );
-                    pushFollow( FOLLOW_expression_in_statement1408 );
+                    // C:\\dev\\jbossrules\\trunk3\\drools-compiler\\src\\main\\resources\\org\\drools\\semantics\\java\\parser\\JavaParser.g:475:4: 'while' LPAREN expression RPAREN statement
+                    {
+                    match(input,99,FOLLOW_99_in_statement1404); 
+                    match(input,LPAREN,FOLLOW_LPAREN_in_statement1406); 
+                    pushFollow(FOLLOW_expression_in_statement1408);
                     expression();
-                    this._fsp--;
+                    _fsp--;
 
-                    match( this.input,
-                           RPAREN,
-                           FOLLOW_RPAREN_in_statement1410 );
-                    pushFollow( FOLLOW_statement_in_statement1412 );
+                    match(input,RPAREN,FOLLOW_RPAREN_in_statement1410); 
+                    pushFollow(FOLLOW_statement_in_statement1412);
                     statement();
-                    this._fsp--;
+                    _fsp--;
 
-                }
+
+                    }
                     break;
                 case 9 :
-                    // D:\\workspace\\jboss\\jbossrules\\drools-compiler\\src\\main\\resources\\org\\drools\\semantics\\java\\parser\\JavaParser.g:478:4: 'do' statement 'while' LPAREN expression RPAREN SEMI
-                {
-                    match( this.input,
-                           100,
-                           FOLLOW_100_in_statement1420 );
-                    pushFollow( FOLLOW_statement_in_statement1422 );
+                    // C:\\dev\\jbossrules\\trunk3\\drools-compiler\\src\\main\\resources\\org\\drools\\semantics\\java\\parser\\JavaParser.g:478:4: 'do' statement 'while' LPAREN expression RPAREN SEMI
+                    {
+                    match(input,100,FOLLOW_100_in_statement1420); 
+                    pushFollow(FOLLOW_statement_in_statement1422);
                     statement();
-                    this._fsp--;
+                    _fsp--;
 
-                    match( this.input,
-                           99,
-                           FOLLOW_99_in_statement1424 );
-                    match( this.input,
-                           LPAREN,
-                           FOLLOW_LPAREN_in_statement1426 );
-                    pushFollow( FOLLOW_expression_in_statement1428 );
+                    match(input,99,FOLLOW_99_in_statement1424); 
+                    match(input,LPAREN,FOLLOW_LPAREN_in_statement1426); 
+                    pushFollow(FOLLOW_expression_in_statement1428);
                     expression();
-                    this._fsp--;
+                    _fsp--;
 
-                    match( this.input,
-                           RPAREN,
-                           FOLLOW_RPAREN_in_statement1430 );
-                    match( this.input,
-                           SEMI,
-                           FOLLOW_SEMI_in_statement1432 );
+                    match(input,RPAREN,FOLLOW_RPAREN_in_statement1430); 
+                    match(input,SEMI,FOLLOW_SEMI_in_statement1432); 
 
-                }
+                    }
                     break;
                 case 10 :
-                    // D:\\workspace\\jboss\\jbossrules\\drools-compiler\\src\\main\\resources\\org\\drools\\semantics\\java\\parser\\JavaParser.g:481:4: 'break' ( IDENT )? SEMI
-                {
-                    match( this.input,
-                           101,
-                           FOLLOW_101_in_statement1440 );
-                    // D:\\workspace\\jboss\\jbossrules\\drools-compiler\\src\\main\\resources\\org\\drools\\semantics\\java\\parser\\JavaParser.g:481:12: ( IDENT )?
-                    int alt37 = 2;
-                    final int LA37_0 = this.input.LA( 1 );
-                    if ( (LA37_0 == IDENT) ) {
-                        alt37 = 1;
+                    // C:\\dev\\jbossrules\\trunk3\\drools-compiler\\src\\main\\resources\\org\\drools\\semantics\\java\\parser\\JavaParser.g:481:4: 'break' ( IDENT )? SEMI
+                    {
+                    match(input,101,FOLLOW_101_in_statement1440); 
+                    // C:\\dev\\jbossrules\\trunk3\\drools-compiler\\src\\main\\resources\\org\\drools\\semantics\\java\\parser\\JavaParser.g:481:12: ( IDENT )?
+                    int alt37=2;
+                    int LA37_0 = input.LA(1);
+
+                    if ( (LA37_0==IDENT) ) {
+                        alt37=1;
                     }
-                    switch ( alt37 ) {
+                    switch (alt37) {
                         case 1 :
-                            // D:\\workspace\\jboss\\jbossrules\\drools-compiler\\src\\main\\resources\\org\\drools\\semantics\\java\\parser\\JavaParser.g:481:13: IDENT
-                        {
-                            match( this.input,
-                                   IDENT,
-                                   FOLLOW_IDENT_in_statement1443 );
+                            // C:\\dev\\jbossrules\\trunk3\\drools-compiler\\src\\main\\resources\\org\\drools\\semantics\\java\\parser\\JavaParser.g:481:13: IDENT
+                            {
+                            match(input,IDENT,FOLLOW_IDENT_in_statement1443); 
 
-                        }
+                            }
                             break;
 
                     }
 
-                    match( this.input,
-                           SEMI,
-                           FOLLOW_SEMI_in_statement1447 );
+                    match(input,SEMI,FOLLOW_SEMI_in_statement1447); 
 
-                }
+                    }
                     break;
                 case 11 :
-                    // D:\\workspace\\jboss\\jbossrules\\drools-compiler\\src\\main\\resources\\org\\drools\\semantics\\java\\parser\\JavaParser.g:484:4: 'continue' ( IDENT )? SEMI
-                {
-                    match( this.input,
-                           102,
-                           FOLLOW_102_in_statement1455 );
-                    // D:\\workspace\\jboss\\jbossrules\\drools-compiler\\src\\main\\resources\\org\\drools\\semantics\\java\\parser\\JavaParser.g:484:15: ( IDENT )?
-                    int alt38 = 2;
-                    final int LA38_0 = this.input.LA( 1 );
-                    if ( (LA38_0 == IDENT) ) {
-                        alt38 = 1;
+                    // C:\\dev\\jbossrules\\trunk3\\drools-compiler\\src\\main\\resources\\org\\drools\\semantics\\java\\parser\\JavaParser.g:484:4: 'continue' ( IDENT )? SEMI
+                    {
+                    match(input,102,FOLLOW_102_in_statement1455); 
+                    // C:\\dev\\jbossrules\\trunk3\\drools-compiler\\src\\main\\resources\\org\\drools\\semantics\\java\\parser\\JavaParser.g:484:15: ( IDENT )?
+                    int alt38=2;
+                    int LA38_0 = input.LA(1);
+
+                    if ( (LA38_0==IDENT) ) {
+                        alt38=1;
                     }
-                    switch ( alt38 ) {
+                    switch (alt38) {
                         case 1 :
-                            // D:\\workspace\\jboss\\jbossrules\\drools-compiler\\src\\main\\resources\\org\\drools\\semantics\\java\\parser\\JavaParser.g:484:16: IDENT
-                        {
-                            match( this.input,
-                                   IDENT,
-                                   FOLLOW_IDENT_in_statement1458 );
+                            // C:\\dev\\jbossrules\\trunk3\\drools-compiler\\src\\main\\resources\\org\\drools\\semantics\\java\\parser\\JavaParser.g:484:16: IDENT
+                            {
+                            match(input,IDENT,FOLLOW_IDENT_in_statement1458); 
 
-                        }
+                            }
                             break;
 
                     }
 
-                    match( this.input,
-                           SEMI,
-                           FOLLOW_SEMI_in_statement1462 );
+                    match(input,SEMI,FOLLOW_SEMI_in_statement1462); 
 
-                }
+                    }
                     break;
                 case 12 :
-                    // D:\\workspace\\jboss\\jbossrules\\drools-compiler\\src\\main\\resources\\org\\drools\\semantics\\java\\parser\\JavaParser.g:487:4: 'return' ( expression )? SEMI
-                {
-                    match( this.input,
-                           103,
-                           FOLLOW_103_in_statement1470 );
-                    // D:\\workspace\\jboss\\jbossrules\\drools-compiler\\src\\main\\resources\\org\\drools\\semantics\\java\\parser\\JavaParser.g:487:13: ( expression )?
-                    int alt39 = 2;
-                    final int LA39_0 = this.input.LA( 1 );
-                    if ( (LA39_0 == IDENT || LA39_0 == LPAREN || (LA39_0 >= PLUS && LA39_0 <= MINUS) || (LA39_0 >= INC && LA39_0 <= NUM_FLOAT) || (LA39_0 >= 68 && LA39_0 <= 76) || (LA39_0 >= 93 && LA39_0 <= 94) || (LA39_0 >= 112 && LA39_0 <= 115)) ) {
-                        alt39 = 1;
+                    // C:\\dev\\jbossrules\\trunk3\\drools-compiler\\src\\main\\resources\\org\\drools\\semantics\\java\\parser\\JavaParser.g:487:4: 'return' ( expression )? SEMI
+                    {
+                    match(input,103,FOLLOW_103_in_statement1470); 
+                    // C:\\dev\\jbossrules\\trunk3\\drools-compiler\\src\\main\\resources\\org\\drools\\semantics\\java\\parser\\JavaParser.g:487:13: ( expression )?
+                    int alt39=2;
+                    int LA39_0 = input.LA(1);
+
+                    if ( (LA39_0==IDENT||LA39_0==LPAREN||(LA39_0>=PLUS && LA39_0<=MINUS)||(LA39_0>=INC && LA39_0<=NUM_FLOAT)||(LA39_0>=68 && LA39_0<=76)||(LA39_0>=93 && LA39_0<=94)||(LA39_0>=112 && LA39_0<=115)) ) {
+                        alt39=1;
                     }
-                    switch ( alt39 ) {
+                    switch (alt39) {
                         case 1 :
-                            // D:\\workspace\\jboss\\jbossrules\\drools-compiler\\src\\main\\resources\\org\\drools\\semantics\\java\\parser\\JavaParser.g:487:14: expression
-                        {
-                            pushFollow( FOLLOW_expression_in_statement1473 );
+                            // C:\\dev\\jbossrules\\trunk3\\drools-compiler\\src\\main\\resources\\org\\drools\\semantics\\java\\parser\\JavaParser.g:487:14: expression
+                            {
+                            pushFollow(FOLLOW_expression_in_statement1473);
                             expression();
-                            this._fsp--;
+                            _fsp--;
 
-                        }
+
+                            }
                             break;
 
                     }
 
-                    match( this.input,
-                           SEMI,
-                           FOLLOW_SEMI_in_statement1477 );
+                    match(input,SEMI,FOLLOW_SEMI_in_statement1477); 
 
-                }
+                    }
                     break;
                 case 13 :
-                    // D:\\workspace\\jboss\\jbossrules\\drools-compiler\\src\\main\\resources\\org\\drools\\semantics\\java\\parser\\JavaParser.g:490:4: 'switch' LPAREN expression RPAREN LCURLY ( casesGroup )* RCURLY
-                {
-                    match( this.input,
-                           104,
-                           FOLLOW_104_in_statement1485 );
-                    match( this.input,
-                           LPAREN,
-                           FOLLOW_LPAREN_in_statement1487 );
-                    pushFollow( FOLLOW_expression_in_statement1489 );
+                    // C:\\dev\\jbossrules\\trunk3\\drools-compiler\\src\\main\\resources\\org\\drools\\semantics\\java\\parser\\JavaParser.g:490:4: 'switch' LPAREN expression RPAREN LCURLY ( casesGroup )* RCURLY
+                    {
+                    match(input,104,FOLLOW_104_in_statement1485); 
+                    match(input,LPAREN,FOLLOW_LPAREN_in_statement1487); 
+                    pushFollow(FOLLOW_expression_in_statement1489);
                     expression();
-                    this._fsp--;
+                    _fsp--;
 
-                    match( this.input,
-                           RPAREN,
-                           FOLLOW_RPAREN_in_statement1491 );
-                    match( this.input,
-                           LCURLY,
-                           FOLLOW_LCURLY_in_statement1493 );
-                    // D:\\workspace\\jboss\\jbossrules\\drools-compiler\\src\\main\\resources\\org\\drools\\semantics\\java\\parser\\JavaParser.g:491:4: ( casesGroup )*
-                    loop40 : do {
-                        int alt40 = 2;
-                        final int LA40_0 = this.input.LA( 1 );
-                        if ( ((LA40_0 >= 106 && LA40_0 <= 107)) ) {
-                            alt40 = 1;
+                    match(input,RPAREN,FOLLOW_RPAREN_in_statement1491); 
+                    match(input,LCURLY,FOLLOW_LCURLY_in_statement1493); 
+                    // C:\\dev\\jbossrules\\trunk3\\drools-compiler\\src\\main\\resources\\org\\drools\\semantics\\java\\parser\\JavaParser.g:491:4: ( casesGroup )*
+                    loop40:
+                    do {
+                        int alt40=2;
+                        int LA40_0 = input.LA(1);
+
+                        if ( ((LA40_0>=106 && LA40_0<=107)) ) {
+                            alt40=1;
                         }
 
-                        switch ( alt40 ) {
-                            case 1 :
-                                // D:\\workspace\\jboss\\jbossrules\\drools-compiler\\src\\main\\resources\\org\\drools\\semantics\\java\\parser\\JavaParser.g:491:6: casesGroup
-                            {
-                                pushFollow( FOLLOW_casesGroup_in_statement1500 );
-                                casesGroup();
-                                this._fsp--;
 
-                            }
-                                break;
+                        switch (alt40) {
+                    	case 1 :
+                    	    // C:\\dev\\jbossrules\\trunk3\\drools-compiler\\src\\main\\resources\\org\\drools\\semantics\\java\\parser\\JavaParser.g:491:6: casesGroup
+                    	    {
+                    	    pushFollow(FOLLOW_casesGroup_in_statement1500);
+                    	    casesGroup();
+                    	    _fsp--;
 
-                            default :
-                                break loop40;
+
+                    	    }
+                    	    break;
+
+                    	default :
+                    	    break loop40;
                         }
-                    } while ( true );
+                    } while (true);
 
-                    match( this.input,
-                           RCURLY,
-                           FOLLOW_RCURLY_in_statement1507 );
+                    match(input,RCURLY,FOLLOW_RCURLY_in_statement1507); 
 
-                }
+                    }
                     break;
                 case 14 :
-                    // D:\\workspace\\jboss\\jbossrules\\drools-compiler\\src\\main\\resources\\org\\drools\\semantics\\java\\parser\\JavaParser.g:495:4: tryBlock
-                {
-                    pushFollow( FOLLOW_tryBlock_in_statement1515 );
+                    // C:\\dev\\jbossrules\\trunk3\\drools-compiler\\src\\main\\resources\\org\\drools\\semantics\\java\\parser\\JavaParser.g:495:4: tryBlock
+                    {
+                    pushFollow(FOLLOW_tryBlock_in_statement1515);
                     tryBlock();
-                    this._fsp--;
+                    _fsp--;
 
-                }
+
+                    }
                     break;
                 case 15 :
-                    // D:\\workspace\\jboss\\jbossrules\\drools-compiler\\src\\main\\resources\\org\\drools\\semantics\\java\\parser\\JavaParser.g:498:4: 'throw' expression SEMI
-                {
-                    match( this.input,
-                           105,
-                           FOLLOW_105_in_statement1523 );
-                    pushFollow( FOLLOW_expression_in_statement1525 );
+                    // C:\\dev\\jbossrules\\trunk3\\drools-compiler\\src\\main\\resources\\org\\drools\\semantics\\java\\parser\\JavaParser.g:498:4: 'throw' expression SEMI
+                    {
+                    match(input,105,FOLLOW_105_in_statement1523); 
+                    pushFollow(FOLLOW_expression_in_statement1525);
                     expression();
-                    this._fsp--;
+                    _fsp--;
 
-                    match( this.input,
-                           SEMI,
-                           FOLLOW_SEMI_in_statement1527 );
+                    match(input,SEMI,FOLLOW_SEMI_in_statement1527); 
 
-                }
+                    }
                     break;
                 case 16 :
-                    // D:\\workspace\\jboss\\jbossrules\\drools-compiler\\src\\main\\resources\\org\\drools\\semantics\\java\\parser\\JavaParser.g:501:4: 'synchronized' LPAREN expression RPAREN compoundStatement
-                {
-                    match( this.input,
-                           86,
-                           FOLLOW_86_in_statement1535 );
-                    match( this.input,
-                           LPAREN,
-                           FOLLOW_LPAREN_in_statement1537 );
-                    pushFollow( FOLLOW_expression_in_statement1539 );
+                    // C:\\dev\\jbossrules\\trunk3\\drools-compiler\\src\\main\\resources\\org\\drools\\semantics\\java\\parser\\JavaParser.g:501:4: 'synchronized' LPAREN expression RPAREN compoundStatement
+                    {
+                    match(input,86,FOLLOW_86_in_statement1535); 
+                    match(input,LPAREN,FOLLOW_LPAREN_in_statement1537); 
+                    pushFollow(FOLLOW_expression_in_statement1539);
                     expression();
-                    this._fsp--;
+                    _fsp--;
 
-                    match( this.input,
-                           RPAREN,
-                           FOLLOW_RPAREN_in_statement1541 );
-                    pushFollow( FOLLOW_compoundStatement_in_statement1543 );
+                    match(input,RPAREN,FOLLOW_RPAREN_in_statement1541); 
+                    pushFollow(FOLLOW_compoundStatement_in_statement1543);
                     compoundStatement();
-                    this._fsp--;
+                    _fsp--;
 
-                }
+
+                    }
                     break;
                 case 17 :
-                    // D:\\workspace\\jboss\\jbossrules\\drools-compiler\\src\\main\\resources\\org\\drools\\semantics\\java\\parser\\JavaParser.g:507:4: SEMI
-                {
-                    match( this.input,
-                           SEMI,
-                           FOLLOW_SEMI_in_statement1556 );
+                    // C:\\dev\\jbossrules\\trunk3\\drools-compiler\\src\\main\\resources\\org\\drools\\semantics\\java\\parser\\JavaParser.g:507:4: SEMI
+                    {
+                    match(input,SEMI,FOLLOW_SEMI_in_statement1556); 
 
-                }
+                    }
                     break;
 
             }
-        } catch ( final RecognitionException re ) {
-            reportError( re );
-            recover( this.input,
-                     re );
-        } finally {
         }
-        return;
+        catch (RecognitionException re) {
+            reportError(re);
+            recover(input,re);
+        }
+        finally {
+        }
+        return ;
     }
-
     // $ANTLR end statement
 
+
     // $ANTLR start casesGroup
-    // D:\\workspace\\jboss\\jbossrules\\drools-compiler\\src\\main\\resources\\org\\drools\\semantics\\java\\parser\\JavaParser.g:510:1: casesGroup : ( options {greedy=true; } : aCase )+ caseSList ;
-    public void casesGroup() throws RecognitionException {
+    // C:\\dev\\jbossrules\\trunk3\\drools-compiler\\src\\main\\resources\\org\\drools\\semantics\\java\\parser\\JavaParser.g:510:1: casesGroup : ( options {greedy=true; } : aCase )+ caseSList ;
+    public final void casesGroup() throws RecognitionException {
         try {
-            // D:\\workspace\\jboss\\jbossrules\\drools-compiler\\src\\main\\resources\\org\\drools\\semantics\\java\\parser\\JavaParser.g:511:4: ( ( options {greedy=true; } : aCase )+ caseSList )
-            // D:\\workspace\\jboss\\jbossrules\\drools-compiler\\src\\main\\resources\\org\\drools\\semantics\\java\\parser\\JavaParser.g:511:4: ( options {greedy=true; } : aCase )+ caseSList
+            // C:\\dev\\jbossrules\\trunk3\\drools-compiler\\src\\main\\resources\\org\\drools\\semantics\\java\\parser\\JavaParser.g:511:4: ( ( options {greedy=true; } : aCase )+ caseSList )
+            // C:\\dev\\jbossrules\\trunk3\\drools-compiler\\src\\main\\resources\\org\\drools\\semantics\\java\\parser\\JavaParser.g:511:4: ( options {greedy=true; } : aCase )+ caseSList
             {
-                // D:\\workspace\\jboss\\jbossrules\\drools-compiler\\src\\main\\resources\\org\\drools\\semantics\\java\\parser\\JavaParser.g:511:4: ( options {greedy=true; } : aCase )+
-                int cnt42 = 0;
-                loop42 : do {
-                    int alt42 = 2;
-                    final int LA42_0 = this.input.LA( 1 );
-                    if ( (LA42_0 == 106) ) {
-                        alt42 = 1;
-                    } else if ( (LA42_0 == 107) ) {
-                        alt42 = 1;
-                    }
+            // C:\\dev\\jbossrules\\trunk3\\drools-compiler\\src\\main\\resources\\org\\drools\\semantics\\java\\parser\\JavaParser.g:511:4: ( options {greedy=true; } : aCase )+
+            int cnt42=0;
+            loop42:
+            do {
+                int alt42=2;
+                int LA42_0 = input.LA(1);
 
-                    switch ( alt42 ) {
-                        case 1 :
-                            // D:\\workspace\\jboss\\jbossrules\\drools-compiler\\src\\main\\resources\\org\\drools\\semantics\\java\\parser\\JavaParser.g:517:4: aCase
-                        {
-                            pushFollow( FOLLOW_aCase_in_casesGroup1602 );
-                            aCase();
-                            this._fsp--;
+                if ( (LA42_0==106) ) {
+                    alt42=1;
+                }
+                else if ( (LA42_0==107) ) {
+                    alt42=1;
+                }
 
-                        }
-                            break;
 
-                        default :
-                            if ( cnt42 >= 1 ) {
-                                break loop42;
-                            }
-                            final EarlyExitException eee = new EarlyExitException( 42,
-                                                                             this.input );
-                            throw eee;
-                    }
-                    cnt42++;
-                } while ( true );
+                switch (alt42) {
+            	case 1 :
+            	    // C:\\dev\\jbossrules\\trunk3\\drools-compiler\\src\\main\\resources\\org\\drools\\semantics\\java\\parser\\JavaParser.g:517:4: aCase
+            	    {
+            	    pushFollow(FOLLOW_aCase_in_casesGroup1602);
+            	    aCase();
+            	    _fsp--;
 
-                pushFollow( FOLLOW_caseSList_in_casesGroup1611 );
-                caseSList();
-                this._fsp--;
 
+            	    }
+            	    break;
+
+            	default :
+            	    if ( cnt42 >= 1 ) break loop42;
+                        EarlyExitException eee =
+                            new EarlyExitException(42, input);
+                        throw eee;
+                }
+                cnt42++;
+            } while (true);
+
+            pushFollow(FOLLOW_caseSList_in_casesGroup1611);
+            caseSList();
+            _fsp--;
+
+
             }
 
-        } catch ( final RecognitionException re ) {
-            reportError( re );
-            recover( this.input,
-                     re );
-        } finally {
         }
-        return;
+        catch (RecognitionException re) {
+            reportError(re);
+            recover(input,re);
+        }
+        finally {
+        }
+        return ;
     }
-
     // $ANTLR end casesGroup
 
+
     // $ANTLR start aCase
-    // D:\\workspace\\jboss\\jbossrules\\drools-compiler\\src\\main\\resources\\org\\drools\\semantics\\java\\parser\\JavaParser.g:523:1: aCase : ( 'case' expression | 'default' ) COLON ;
-    public void aCase() throws RecognitionException {
+    // C:\\dev\\jbossrules\\trunk3\\drools-compiler\\src\\main\\resources\\org\\drools\\semantics\\java\\parser\\JavaParser.g:523:1: aCase : ( 'case' expression | 'default' ) COLON ;
+    public final void aCase() throws RecognitionException {
         try {
-            // D:\\workspace\\jboss\\jbossrules\\drools-compiler\\src\\main\\resources\\org\\drools\\semantics\\java\\parser\\JavaParser.g:524:4: ( ( 'case' expression | 'default' ) COLON )
-            // D:\\workspace\\jboss\\jbossrules\\drools-compiler\\src\\main\\resources\\org\\drools\\semantics\\java\\parser\\JavaParser.g:524:4: ( 'case' expression | 'default' ) COLON
+            // C:\\dev\\jbossrules\\trunk3\\drools-compiler\\src\\main\\resources\\org\\drools\\semantics\\java\\parser\\JavaParser.g:524:4: ( ( 'case' expression | 'default' ) COLON )
+            // C:\\dev\\jbossrules\\trunk3\\drools-compiler\\src\\main\\resources\\org\\drools\\semantics\\java\\parser\\JavaParser.g:524:4: ( 'case' expression | 'default' ) COLON
             {
-                // D:\\workspace\\jboss\\jbossrules\\drools-compiler\\src\\main\\resources\\org\\drools\\semantics\\java\\parser\\JavaParser.g:524:4: ( 'case' expression | 'default' )
-                int alt43 = 2;
-                final int LA43_0 = this.input.LA( 1 );
-                if ( (LA43_0 == 106) ) {
-                    alt43 = 1;
-                } else if ( (LA43_0 == 107) ) {
-                    alt43 = 2;
-                } else {
-                    final NoViableAltException nvae = new NoViableAltException( "524:4: ( 'case' expression | 'default' )",
-                                                                          43,
-                                                                          0,
-                                                                          this.input );
+            // C:\\dev\\jbossrules\\trunk3\\drools-compiler\\src\\main\\resources\\org\\drools\\semantics\\java\\parser\\JavaParser.g:524:4: ( 'case' expression | 'default' )
+            int alt43=2;
+            int LA43_0 = input.LA(1);
 
-                    throw nvae;
-                }
-                switch ( alt43 ) {
-                    case 1 :
-                        // D:\\workspace\\jboss\\jbossrules\\drools-compiler\\src\\main\\resources\\org\\drools\\semantics\\java\\parser\\JavaParser.g:524:5: 'case' expression
+            if ( (LA43_0==106) ) {
+                alt43=1;
+            }
+            else if ( (LA43_0==107) ) {
+                alt43=2;
+            }
+            else {
+                NoViableAltException nvae =
+                    new NoViableAltException("524:4: ( 'case' expression | 'default' )", 43, 0, input);
+
+                throw nvae;
+            }
+            switch (alt43) {
+                case 1 :
+                    // C:\\dev\\jbossrules\\trunk3\\drools-compiler\\src\\main\\resources\\org\\drools\\semantics\\java\\parser\\JavaParser.g:524:5: 'case' expression
                     {
-                        match( this.input,
-                               106,
-                               FOLLOW_106_in_aCase1626 );
-                        pushFollow( FOLLOW_expression_in_aCase1628 );
-                        expression();
-                        this._fsp--;
+                    match(input,106,FOLLOW_106_in_aCase1626); 
+                    pushFollow(FOLLOW_expression_in_aCase1628);
+                    expression();
+                    _fsp--;
 
+
                     }
-                        break;
-                    case 2 :
-                        // D:\\workspace\\jboss\\jbossrules\\drools-compiler\\src\\main\\resources\\org\\drools\\semantics\\java\\parser\\JavaParser.g:524:25: 'default'
+                    break;
+                case 2 :
+                    // C:\\dev\\jbossrules\\trunk3\\drools-compiler\\src\\main\\resources\\org\\drools\\semantics\\java\\parser\\JavaParser.g:524:25: 'default'
                     {
-                        match( this.input,
-                               107,
-                               FOLLOW_107_in_aCase1632 );
+                    match(input,107,FOLLOW_107_in_aCase1632); 
 
                     }
-                        break;
+                    break;
 
-                }
+            }
 
-                match( this.input,
-                       COLON,
-                       FOLLOW_COLON_in_aCase1635 );
+            match(input,COLON,FOLLOW_COLON_in_aCase1635); 
 
             }
 
-        } catch ( final RecognitionException re ) {
-            reportError( re );
-            recover( this.input,
-                     re );
-        } finally {
         }
-        return;
+        catch (RecognitionException re) {
+            reportError(re);
+            recover(input,re);
+        }
+        finally {
+        }
+        return ;
     }
-
     // $ANTLR end aCase
 
+
     // $ANTLR start caseSList
-    // D:\\workspace\\jboss\\jbossrules\\drools-compiler\\src\\main\\resources\\org\\drools\\semantics\\java\\parser\\JavaParser.g:527:1: caseSList : ( statement )* ;
-    public void caseSList() throws RecognitionException {
+    // C:\\dev\\jbossrules\\trunk3\\drools-compiler\\src\\main\\resources\\org\\drools\\semantics\\java\\parser\\JavaParser.g:527:1: caseSList : ( statement )* ;
+    public final void caseSList() throws RecognitionException {
         try {
-            // D:\\workspace\\jboss\\jbossrules\\drools-compiler\\src\\main\\resources\\org\\drools\\semantics\\java\\parser\\JavaParser.g:528:4: ( ( statement )* )
-            // D:\\workspace\\jboss\\jbossrules\\drools-compiler\\src\\main\\resources\\org\\drools\\semantics\\java\\parser\\JavaParser.g:528:4: ( statement )*
+            // C:\\dev\\jbossrules\\trunk3\\drools-compiler\\src\\main\\resources\\org\\drools\\semantics\\java\\parser\\JavaParser.g:528:4: ( ( statement )* )
+            // C:\\dev\\jbossrules\\trunk3\\drools-compiler\\src\\main\\resources\\org\\drools\\semantics\\java\\parser\\JavaParser.g:528:4: ( statement )*
             {
-                // D:\\workspace\\jboss\\jbossrules\\drools-compiler\\src\\main\\resources\\org\\drools\\semantics\\java\\parser\\JavaParser.g:528:4: ( statement )*
-                loop44 : do {
-                    int alt44 = 2;
-                    final int LA44_0 = this.input.LA( 1 );
-                    if ( (LA44_0 == IDENT || (LA44_0 >= LCURLY && LA44_0 <= SEMI) || LA44_0 == LPAREN || (LA44_0 >= PLUS && LA44_0 <= MINUS) || (LA44_0 >= INC && LA44_0 <= NUM_FLOAT) || (LA44_0 >= 68 && LA44_0 <= 89)
-                          || (LA44_0 >= 93 && LA44_0 <= 94) || LA44_0 == 96 || (LA44_0 >= 98 && LA44_0 <= 105) || LA44_0 == 108 || (LA44_0 >= 112 && LA44_0 <= 115)) ) {
-                        alt44 = 1;
-                    }
+            // C:\\dev\\jbossrules\\trunk3\\drools-compiler\\src\\main\\resources\\org\\drools\\semantics\\java\\parser\\JavaParser.g:528:4: ( statement )*
+            loop44:
+            do {
+                int alt44=2;
+                int LA44_0 = input.LA(1);
 
-                    switch ( alt44 ) {
-                        case 1 :
-                            // D:\\workspace\\jboss\\jbossrules\\drools-compiler\\src\\main\\resources\\org\\drools\\semantics\\java\\parser\\JavaParser.g:528:5: statement
-                        {
-                            pushFollow( FOLLOW_statement_in_caseSList1647 );
-                            statement();
-                            this._fsp--;
+                if ( (LA44_0==IDENT||(LA44_0>=LCURLY && LA44_0<=SEMI)||LA44_0==LPAREN||(LA44_0>=PLUS && LA44_0<=MINUS)||(LA44_0>=INC && LA44_0<=NUM_FLOAT)||(LA44_0>=68 && LA44_0<=89)||(LA44_0>=93 && LA44_0<=94)||LA44_0==96||(LA44_0>=98 && LA44_0<=105)||LA44_0==108||(LA44_0>=112 && LA44_0<=115)) ) {
+                    alt44=1;
+                }
 
-                        }
-                            break;
 
-                        default :
-                            break loop44;
-                    }
-                } while ( true );
+                switch (alt44) {
+            	case 1 :
+            	    // C:\\dev\\jbossrules\\trunk3\\drools-compiler\\src\\main\\resources\\org\\drools\\semantics\\java\\parser\\JavaParser.g:528:5: statement
+            	    {
+            	    pushFollow(FOLLOW_statement_in_caseSList1647);
+            	    statement();
+            	    _fsp--;
 
+
+            	    }
+            	    break;
+
+            	default :
+            	    break loop44;
+                }
+            } while (true);
+
+
             }
 
-        } catch ( final RecognitionException re ) {
-            reportError( re );
-            recover( this.input,
-                     re );
-        } finally {
         }
-        return;
+        catch (RecognitionException re) {
+            reportError(re);
+            recover(input,re);
+        }
+        finally {
+        }
+        return ;
     }
-
     // $ANTLR end caseSList
 
+
     // $ANTLR start forInit
-    // D:\\workspace\\jboss\\jbossrules\\drools-compiler\\src\\main\\resources\\org\\drools\\semantics\\java\\parser\\JavaParser.g:533:1: forInit : ( declaration | expressionList )? ;
-    public void forInit() throws RecognitionException {
+    // C:\\dev\\jbossrules\\trunk3\\drools-compiler\\src\\main\\resources\\org\\drools\\semantics\\java\\parser\\JavaParser.g:533:1: forInit : ( declaration | expressionList )? ;
+    public final void forInit() throws RecognitionException {
         try {
-            // D:\\workspace\\jboss\\jbossrules\\drools-compiler\\src\\main\\resources\\org\\drools\\semantics\\java\\parser\\JavaParser.g:536:4: ( ( declaration | expressionList )? )
-            // D:\\workspace\\jboss\\jbossrules\\drools-compiler\\src\\main\\resources\\org\\drools\\semantics\\java\\parser\\JavaParser.g:536:4: ( declaration | expressionList )?
+            // C:\\dev\\jbossrules\\trunk3\\drools-compiler\\src\\main\\resources\\org\\drools\\semantics\\java\\parser\\JavaParser.g:536:4: ( ( declaration | expressionList )? )
+            // C:\\dev\\jbossrules\\trunk3\\drools-compiler\\src\\main\\resources\\org\\drools\\semantics\\java\\parser\\JavaParser.g:536:4: ( declaration | expressionList )?
             {
-                // D:\\workspace\\jboss\\jbossrules\\drools-compiler\\src\\main\\resources\\org\\drools\\semantics\\java\\parser\\JavaParser.g:536:4: ( declaration | expressionList )?
-                int alt45 = 3;
-                alt45 = this.dfa45.predict( this.input );
-                switch ( alt45 ) {
-                    case 1 :
-                        // D:\\workspace\\jboss\\jbossrules\\drools-compiler\\src\\main\\resources\\org\\drools\\semantics\\java\\parser\\JavaParser.g:536:6: declaration
+            // C:\\dev\\jbossrules\\trunk3\\drools-compiler\\src\\main\\resources\\org\\drools\\semantics\\java\\parser\\JavaParser.g:536:4: ( declaration | expressionList )?
+            int alt45=3;
+            alt45 = dfa45.predict(input);
+            switch (alt45) {
+                case 1 :
+                    // C:\\dev\\jbossrules\\trunk3\\drools-compiler\\src\\main\\resources\\org\\drools\\semantics\\java\\parser\\JavaParser.g:536:6: declaration
                     {
-                        pushFollow( FOLLOW_declaration_in_forInit1678 );
-                        declaration();
-                        this._fsp--;
+                    pushFollow(FOLLOW_declaration_in_forInit1678);
+                    declaration();
+                    _fsp--;
 
+
                     }
-                        break;
-                    case 2 :
-                        // D:\\workspace\\jboss\\jbossrules\\drools-compiler\\src\\main\\resources\\org\\drools\\semantics\\java\\parser\\JavaParser.g:538:5: expressionList
+                    break;
+                case 2 :
+                    // C:\\dev\\jbossrules\\trunk3\\drools-compiler\\src\\main\\resources\\org\\drools\\semantics\\java\\parser\\JavaParser.g:538:5: expressionList
                     {
-                        pushFollow( FOLLOW_expressionList_in_forInit1687 );
-                        expressionList();
-                        this._fsp--;
+                    pushFollow(FOLLOW_expressionList_in_forInit1687);
+                    expressionList();
+                    _fsp--;
 
+
                     }
-                        break;
+                    break;
 
-                }
+            }
 
+
             }
 
-        } catch ( final RecognitionException re ) {
-            reportError( re );
-            recover( this.input,
-                     re );
-        } finally {
         }
-        return;
+        catch (RecognitionException re) {
+            reportError(re);
+            recover(input,re);
+        }
+        finally {
+        }
+        return ;
     }
-
     // $ANTLR end forInit
 
+
     // $ANTLR start forCond
-    // D:\\workspace\\jboss\\jbossrules\\drools-compiler\\src\\main\\resources\\org\\drools\\semantics\\java\\parser\\JavaParser.g:543:1: forCond : ( expression )? ;
-    public void forCond() throws RecognitionException {
+    // C:\\dev\\jbossrules\\trunk3\\drools-compiler\\src\\main\\resources\\org\\drools\\semantics\\java\\parser\\JavaParser.g:543:1: forCond : ( expression )? ;
+    public final void forCond() throws RecognitionException {
         try {
-            // D:\\workspace\\jboss\\jbossrules\\drools-compiler\\src\\main\\resources\\org\\drools\\semantics\\java\\parser\\JavaParser.g:544:4: ( ( expression )? )
-            // D:\\workspace\\jboss\\jbossrules\\drools-compiler\\src\\main\\resources\\org\\drools\\semantics\\java\\parser\\JavaParser.g:544:4: ( expression )?
+            // C:\\dev\\jbossrules\\trunk3\\drools-compiler\\src\\main\\resources\\org\\drools\\semantics\\java\\parser\\JavaParser.g:544:4: ( ( expression )? )
+            // C:\\dev\\jbossrules\\trunk3\\drools-compiler\\src\\main\\resources\\org\\drools\\semantics\\java\\parser\\JavaParser.g:544:4: ( expression )?
             {
-                // D:\\workspace\\jboss\\jbossrules\\drools-compiler\\src\\main\\resources\\org\\drools\\semantics\\java\\parser\\JavaParser.g:544:4: ( expression )?
-                int alt46 = 2;
-                final int LA46_0 = this.input.LA( 1 );
-                if ( (LA46_0 == IDENT || LA46_0 == LPAREN || (LA46_0 >= PLUS && LA46_0 <= MINUS) || (LA46_0 >= INC && LA46_0 <= NUM_FLOAT) || (LA46_0 >= 68 && LA46_0 <= 76) || (LA46_0 >= 93 && LA46_0 <= 94) || (LA46_0 >= 112 && LA46_0 <= 115)) ) {
-                    alt46 = 1;
-                }
-                switch ( alt46 ) {
-                    case 1 :
-                        // D:\\workspace\\jboss\\jbossrules\\drools-compiler\\src\\main\\resources\\org\\drools\\semantics\\java\\parser\\JavaParser.g:544:5: expression
+            // C:\\dev\\jbossrules\\trunk3\\drools-compiler\\src\\main\\resources\\org\\drools\\semantics\\java\\parser\\JavaParser.g:544:4: ( expression )?
+            int alt46=2;
+            int LA46_0 = input.LA(1);
+
+            if ( (LA46_0==IDENT||LA46_0==LPAREN||(LA46_0>=PLUS && LA46_0<=MINUS)||(LA46_0>=INC && LA46_0<=NUM_FLOAT)||(LA46_0>=68 && LA46_0<=76)||(LA46_0>=93 && LA46_0<=94)||(LA46_0>=112 && LA46_0<=115)) ) {
+                alt46=1;
+            }
+            switch (alt46) {
+                case 1 :
+                    // C:\\dev\\jbossrules\\trunk3\\drools-compiler\\src\\main\\resources\\org\\drools\\semantics\\java\\parser\\JavaParser.g:544:5: expression
                     {
-                        pushFollow( FOLLOW_expression_in_forCond1707 );
-                        expression();
-                        this._fsp--;
+                    pushFollow(FOLLOW_expression_in_forCond1707);
+                    expression();
+                    _fsp--;
 
+
                     }
-                        break;
+                    break;
 
-                }
+            }
 
+
             }
 
-        } catch ( final RecognitionException re ) {
-            reportError( re );
-            recover( this.input,
-                     re );
-        } finally {
         }
-        return;
+        catch (RecognitionException re) {
+            reportError(re);
+            recover(input,re);
+        }
+        finally {
+        }
+        return ;
     }
-
     // $ANTLR end forCond
 
+
     // $ANTLR start forIter
-    // D:\\workspace\\jboss\\jbossrules\\drools-compiler\\src\\main\\resources\\org\\drools\\semantics\\java\\parser\\JavaParser.g:548:1: forIter : ( expressionList )? ;
-    public void forIter() throws RecognitionException {
+    // C:\\dev\\jbossrules\\trunk3\\drools-compiler\\src\\main\\resources\\org\\drools\\semantics\\java\\parser\\JavaParser.g:548:1: forIter : ( expressionList )? ;
+    public final void forIter() throws RecognitionException {
         try {
-            // D:\\workspace\\jboss\\jbossrules\\drools-compiler\\src\\main\\resources\\org\\drools\\semantics\\java\\parser\\JavaParser.g:549:4: ( ( expressionList )? )
-            // D:\\workspace\\jboss\\jbossrules\\drools-compiler\\src\\main\\resources\\org\\drools\\semantics\\java\\parser\\JavaParser.g:549:4: ( expressionList )?
+            // C:\\dev\\jbossrules\\trunk3\\drools-compiler\\src\\main\\resources\\org\\drools\\semantics\\java\\parser\\JavaParser.g:549:4: ( ( expressionList )? )
+            // C:\\dev\\jbossrules\\trunk3\\drools-compiler\\src\\main\\resources\\org\\drools\\semantics\\java\\parser\\JavaParser.g:549:4: ( expressionList )?
             {
-                // D:\\workspace\\jboss\\jbossrules\\drools-compiler\\src\\main\\resources\\org\\drools\\semantics\\java\\parser\\JavaParser.g:549:4: ( expressionList )?
-                int alt47 = 2;
-                final int LA47_0 = this.input.LA( 1 );
-                if ( (LA47_0 == IDENT || LA47_0 == LPAREN || (LA47_0 >= PLUS && LA47_0 <= MINUS) || (LA47_0 >= INC && LA47_0 <= NUM_FLOAT) || (LA47_0 >= 68 && LA47_0 <= 76) || (LA47_0 >= 93 && LA47_0 <= 94) || (LA47_0 >= 112 && LA47_0 <= 115)) ) {
-                    alt47 = 1;
-                }
-                switch ( alt47 ) {
-                    case 1 :
-                        // D:\\workspace\\jboss\\jbossrules\\drools-compiler\\src\\main\\resources\\org\\drools\\semantics\\java\\parser\\JavaParser.g:549:5: expressionList
+            // C:\\dev\\jbossrules\\trunk3\\drools-compiler\\src\\main\\resources\\org\\drools\\semantics\\java\\parser\\JavaParser.g:549:4: ( expressionList )?
+            int alt47=2;
+            int LA47_0 = input.LA(1);
+
+            if ( (LA47_0==IDENT||LA47_0==LPAREN||(LA47_0>=PLUS && LA47_0<=MINUS)||(LA47_0>=INC && LA47_0<=NUM_FLOAT)||(LA47_0>=68 && LA47_0<=76)||(LA47_0>=93 && LA47_0<=94)||(LA47_0>=112 && LA47_0<=115)) ) {
+                alt47=1;
+            }
+            switch (alt47) {
+                case 1 :
+                    // C:\\dev\\jbossrules\\trunk3\\drools-compiler\\src\\main\\resources\\org\\drools\\semantics\\java\\parser\\JavaParser.g:549:5: expressionList
                     {
-                        pushFollow( FOLLOW_expressionList_in_forIter1724 );
-                        expressionList();
-                        this._fsp--;
+                    pushFollow(FOLLOW_expressionList_in_forIter1724);
+                    expressionList();
+                    _fsp--;
 
+
                     }
-                        break;
+                    break;
 
-                }
+            }
 
+
             }
 
-        } catch ( final RecognitionException re ) {
-            reportError( re );
-            recover( this.input,
-                     re );
-        } finally {
         }
-        return;
+        catch (RecognitionException re) {
+            reportError(re);
+            recover(input,re);
+        }
+        finally {
+        }
+        return ;
     }
-
     // $ANTLR end forIter
 
+
     // $ANTLR start tryBlock
-    // D:\\workspace\\jboss\\jbossrules\\drools-compiler\\src\\main\\resources\\org\\drools\\semantics\\java\\parser\\JavaParser.g:554:1: tryBlock : 'try' compoundStatement ( handler )* ( finallyClause )? ;
-    public void tryBlock() throws RecognitionException {
+    // C:\\dev\\jbossrules\\trunk3\\drools-compiler\\src\\main\\resources\\org\\drools\\semantics\\java\\parser\\JavaParser.g:554:1: tryBlock : 'try' compoundStatement ( handler )* ( finallyClause )? ;
+    public final void tryBlock() throws RecognitionException {
         try {
-            // D:\\workspace\\jboss\\jbossrules\\drools-compiler\\src\\main\\resources\\org\\drools\\semantics\\java\\parser\\JavaParser.g:555:4: ( 'try' compoundStatement ( handler )* ( finallyClause )? )
-            // D:\\workspace\\jboss\\jbossrules\\drools-compiler\\src\\main\\resources\\org\\drools\\semantics\\java\\parser\\JavaParser.g:555:4: 'try' compoundStatement ( handler )* ( finallyClause )?
+            // C:\\dev\\jbossrules\\trunk3\\drools-compiler\\src\\main\\resources\\org\\drools\\semantics\\java\\parser\\JavaParser.g:555:4: ( 'try' compoundStatement ( handler )* ( finallyClause )? )
+            // C:\\dev\\jbossrules\\trunk3\\drools-compiler\\src\\main\\resources\\org\\drools\\semantics\\java\\parser\\JavaParser.g:555:4: 'try' compoundStatement ( handler )* ( finallyClause )?
             {
-                match( this.input,
-                       108,
-                       FOLLOW_108_in_tryBlock1741 );
-                pushFollow( FOLLOW_compoundStatement_in_tryBlock1743 );
-                compoundStatement();
-                this._fsp--;
+            match(input,108,FOLLOW_108_in_tryBlock1741); 
+            pushFollow(FOLLOW_compoundStatement_in_tryBlock1743);
+            compoundStatement();
+            _fsp--;
 
-                // D:\\workspace\\jboss\\jbossrules\\drools-compiler\\src\\main\\resources\\org\\drools\\semantics\\java\\parser\\JavaParser.g:556:3: ( handler )*
-                loop48 : do {
-                    int alt48 = 2;
-                    final int LA48_0 = this.input.LA( 1 );
-                    if ( (LA48_0 == 110) ) {
-                        alt48 = 1;
-                    }
+            // C:\\dev\\jbossrules\\trunk3\\drools-compiler\\src\\main\\resources\\org\\drools\\semantics\\java\\parser\\JavaParser.g:556:3: ( handler )*
+            loop48:
+            do {
+                int alt48=2;
+                int LA48_0 = input.LA(1);
 
-                    switch ( alt48 ) {
-                        case 1 :
-                            // D:\\workspace\\jboss\\jbossrules\\drools-compiler\\src\\main\\resources\\org\\drools\\semantics\\java\\parser\\JavaParser.g:556:4: handler
-                        {
-                            pushFollow( FOLLOW_handler_in_tryBlock1748 );
-                            handler();
-                            this._fsp--;
+                if ( (LA48_0==110) ) {
+                    alt48=1;
+                }
 
-                        }
-                            break;
 
-                        default :
-                            break loop48;
-                    }
-                } while ( true );
+                switch (alt48) {
+            	case 1 :
+            	    // C:\\dev\\jbossrules\\trunk3\\drools-compiler\\src\\main\\resources\\org\\drools\\semantics\\java\\parser\\JavaParser.g:556:4: handler
+            	    {
+            	    pushFollow(FOLLOW_handler_in_tryBlock1748);
+            	    handler();
+            	    _fsp--;
 
-                // D:\\workspace\\jboss\\jbossrules\\drools-compiler\\src\\main\\resources\\org\\drools\\semantics\\java\\parser\\JavaParser.g:557:3: ( finallyClause )?
-                int alt49 = 2;
-                final int LA49_0 = this.input.LA( 1 );
-                if ( (LA49_0 == 109) ) {
-                    alt49 = 1;
+
+            	    }
+            	    break;
+
+            	default :
+            	    break loop48;
                 }
-                switch ( alt49 ) {
-                    case 1 :
-                        // D:\\workspace\\jboss\\jbossrules\\drools-compiler\\src\\main\\resources\\org\\drools\\semantics\\java\\parser\\JavaParser.g:557:5: finallyClause
+            } while (true);
+
+            // C:\\dev\\jbossrules\\trunk3\\drools-compiler\\src\\main\\resources\\org\\drools\\semantics\\java\\parser\\JavaParser.g:557:3: ( finallyClause )?
+            int alt49=2;
+            int LA49_0 = input.LA(1);
+
+            if ( (LA49_0==109) ) {
+                alt49=1;
+            }
+            switch (alt49) {
+                case 1 :
+                    // C:\\dev\\jbossrules\\trunk3\\drools-compiler\\src\\main\\resources\\org\\drools\\semantics\\java\\parser\\JavaParser.g:557:5: finallyClause
                     {
-                        pushFollow( FOLLOW_finallyClause_in_tryBlock1756 );
-                        finallyClause();
-                        this._fsp--;
+                    pushFollow(FOLLOW_finallyClause_in_tryBlock1756);
+                    finallyClause();
+                    _fsp--;
 
+
                     }
-                        break;
+                    break;
 
-                }
+            }
 
+
             }
 
-        } catch ( final RecognitionException re ) {
-            reportError( re );
-            recover( this.input,
-                     re );
-        } finally {
         }
-        return;
+        catch (RecognitionException re) {
+            reportError(re);
+            recover(input,re);
+        }
+        finally {
+        }
+        return ;
     }
-
     // $ANTLR end tryBlock
 
+
     // $ANTLR start finallyClause
-    // D:\\workspace\\jboss\\jbossrules\\drools-compiler\\src\\main\\resources\\org\\drools\\semantics\\java\\parser\\JavaParser.g:560:1: finallyClause : 'finally' compoundStatement ;
-    public void finallyClause() throws RecognitionException {
+    // C:\\dev\\jbossrules\\trunk3\\drools-compiler\\src\\main\\resources\\org\\drools\\semantics\\java\\parser\\JavaParser.g:560:1: finallyClause : 'finally' compoundStatement ;
+    public final void finallyClause() throws RecognitionException {
         try {
-            // D:\\workspace\\jboss\\jbossrules\\drools-compiler\\src\\main\\resources\\org\\drools\\semantics\\java\\parser\\JavaParser.g:561:4: ( 'finally' compoundStatement )
-            // D:\\workspace\\jboss\\jbossrules\\drools-compiler\\src\\main\\resources\\org\\drools\\semantics\\java\\parser\\JavaParser.g:561:4: 'finally' compoundStatement
+            // C:\\dev\\jbossrules\\trunk3\\drools-compiler\\src\\main\\resources\\org\\drools\\semantics\\java\\parser\\JavaParser.g:561:4: ( 'finally' compoundStatement )
+            // C:\\dev\\jbossrules\\trunk3\\drools-compiler\\src\\main\\resources\\org\\drools\\semantics\\java\\parser\\JavaParser.g:561:4: 'finally' compoundStatement
             {
-                match( this.input,
-                       109,
-                       FOLLOW_109_in_finallyClause1770 );
-                pushFollow( FOLLOW_compoundStatement_in_finallyClause1772 );
-                compoundStatement();
-                this._fsp--;
+            match(input,109,FOLLOW_109_in_finallyClause1770); 
+            pushFollow(FOLLOW_compoundStatement_in_finallyClause1772);
+            compoundStatement();
+            _fsp--;
 
+
             }
 
-        } catch ( final RecognitionException re ) {
-            reportError( re );
-            recover( this.input,
-                     re );
-        } finally {
         }
-        return;
+        catch (RecognitionException re) {
+            reportError(re);
+            recover(input,re);
+        }
+        finally {
+        }
+        return ;
     }
-
     // $ANTLR end finallyClause
 
+
     // $ANTLR start handler
-    // D:\\workspace\\jboss\\jbossrules\\drools-compiler\\src\\main\\resources\\org\\drools\\semantics\\java\\parser\\JavaParser.g:565:1: handler : 'catch' LPAREN parameterDeclaration RPAREN compoundStatement ;
-    public void handler() throws RecognitionException {
+    // C:\\dev\\jbossrules\\trunk3\\drools-compiler\\src\\main\\resources\\org\\drools\\semantics\\java\\parser\\JavaParser.g:565:1: handler : 'catch' LPAREN parameterDeclaration RPAREN compoundStatement ;
+    public final void handler() throws RecognitionException {
         try {
-            // D:\\workspace\\jboss\\jbossrules\\drools-compiler\\src\\main\\resources\\org\\drools\\semantics\\java\\parser\\JavaParser.g:566:4: ( 'catch' LPAREN parameterDeclaration RPAREN compoundStatement )
-            // D:\\workspace\\jboss\\jbossrules\\drools-compiler\\src\\main\\resources\\org\\drools\\semantics\\java\\parser\\JavaParser.g:566:4: 'catch' LPAREN parameterDeclaration RPAREN compoundStatement
+            // C:\\dev\\jbossrules\\trunk3\\drools-compiler\\src\\main\\resources\\org\\drools\\semantics\\java\\parser\\JavaParser.g:566:4: ( 'catch' LPAREN parameterDeclaration RPAREN compoundStatement )
+            // C:\\dev\\jbossrules\\trunk3\\drools-compiler\\src\\main\\resources\\org\\drools\\semantics\\java\\parser\\JavaParser.g:566:4: 'catch' LPAREN parameterDeclaration RPAREN compoundStatement
             {
-                match( this.input,
-                       110,
-                       FOLLOW_110_in_handler1784 );
-                match( this.input,
-                       LPAREN,
-                       FOLLOW_LPAREN_in_handler1786 );
-                pushFollow( FOLLOW_parameterDeclaration_in_handler1788 );
-                parameterDeclaration();
-                this._fsp--;
+            match(input,110,FOLLOW_110_in_handler1784); 
+            match(input,LPAREN,FOLLOW_LPAREN_in_handler1786); 
+            pushFollow(FOLLOW_parameterDeclaration_in_handler1788);
+            parameterDeclaration();
+            _fsp--;
 
-                match( this.input,
-                       RPAREN,
-                       FOLLOW_RPAREN_in_handler1790 );
-                pushFollow( FOLLOW_compoundStatement_in_handler1792 );
-                compoundStatement();
-                this._fsp--;
+            match(input,RPAREN,FOLLOW_RPAREN_in_handler1790); 
+            pushFollow(FOLLOW_compoundStatement_in_handler1792);
+            compoundStatement();
+            _fsp--;
 
+
             }
 
-        } catch ( final RecognitionException re ) {
-            reportError( re );
-            recover( this.input,
-                     re );
-        } finally {
         }
-        return;
+        catch (RecognitionException re) {
+            reportError(re);
+            recover(input,re);
+        }
+        finally {
+        }
+        return ;
     }
-
     // $ANTLR end handler
 
+
     // $ANTLR start expression
-    // D:\\workspace\\jboss\\jbossrules\\drools-compiler\\src\\main\\resources\\org\\drools\\semantics\\java\\parser\\JavaParser.g:605:1: expression : assignmentExpression ;
-    public void expression() throws RecognitionException {
+    // C:\\dev\\jbossrules\\trunk3\\drools-compiler\\src\\main\\resources\\org\\drools\\semantics\\java\\parser\\JavaParser.g:605:1: expression : assignmentExpression ;
+    public final void expression() throws RecognitionException {
         try {
-            // D:\\workspace\\jboss\\jbossrules\\drools-compiler\\src\\main\\resources\\org\\drools\\semantics\\java\\parser\\JavaParser.g:606:4: ( assignmentExpression )
-            // D:\\workspace\\jboss\\jbossrules\\drools-compiler\\src\\main\\resources\\org\\drools\\semantics\\java\\parser\\JavaParser.g:606:4: assignmentExpression
+            // C:\\dev\\jbossrules\\trunk3\\drools-compiler\\src\\main\\resources\\org\\drools\\semantics\\java\\parser\\JavaParser.g:606:4: ( assignmentExpression )
+            // C:\\dev\\jbossrules\\trunk3\\drools-compiler\\src\\main\\resources\\org\\drools\\semantics\\java\\parser\\JavaParser.g:606:4: assignmentExpression
             {
-                pushFollow( FOLLOW_assignmentExpression_in_expression1839 );
-                assignmentExpression();
-                this._fsp--;
+            pushFollow(FOLLOW_assignmentExpression_in_expression1839);
+            assignmentExpression();
+            _fsp--;
 
+
             }
 
-        } catch ( final RecognitionException re ) {
-            reportError( re );
-            recover( this.input,
-                     re );
-        } finally {
         }
-        return;
+        catch (RecognitionException re) {
+            reportError(re);
+            recover(input,re);
+        }
+        finally {
+        }
+        return ;
     }
-
     // $ANTLR end expression
 
+
     // $ANTLR start expressionList
-    // D:\\workspace\\jboss\\jbossrules\\drools-compiler\\src\\main\\resources\\org\\drools\\semantics\\java\\parser\\JavaParser.g:612:1: expressionList : expression ( COMMA expression )* ;
-    public void expressionList() throws RecognitionException {
+    // C:\\dev\\jbossrules\\trunk3\\drools-compiler\\src\\main\\resources\\org\\drools\\semantics\\java\\parser\\JavaParser.g:612:1: expressionList : expression ( COMMA expression )* ;
+    public final void expressionList() throws RecognitionException {
         try {
-            // D:\\workspace\\jboss\\jbossrules\\drools-compiler\\src\\main\\resources\\org\\drools\\semantics\\java\\parser\\JavaParser.g:613:4: ( expression ( COMMA expression )* )
-            // D:\\workspace\\jboss\\jbossrules\\drools-compiler\\src\\main\\resources\\org\\drools\\semantics\\java\\parser\\JavaParser.g:613:4: expression ( COMMA expression )*
+            // C:\\dev\\jbossrules\\trunk3\\drools-compiler\\src\\main\\resources\\org\\drools\\semantics\\java\\parser\\JavaParser.g:613:4: ( expression ( COMMA expression )* )
+            // C:\\dev\\jbossrules\\trunk3\\drools-compiler\\src\\main\\resources\\org\\drools\\semantics\\java\\parser\\JavaParser.g:613:4: expression ( COMMA expression )*
             {
-                pushFollow( FOLLOW_expression_in_expressionList1855 );
-                expression();
-                this._fsp--;
+            pushFollow(FOLLOW_expression_in_expressionList1855);
+            expression();
+            _fsp--;
 
-                // D:\\workspace\\jboss\\jbossrules\\drools-compiler\\src\\main\\resources\\org\\drools\\semantics\\java\\parser\\JavaParser.g:613:15: ( COMMA expression )*
-                loop50 : do {
-                    int alt50 = 2;
-                    final int LA50_0 = this.input.LA( 1 );
-                    if ( (LA50_0 == COMMA) ) {
-                        alt50 = 1;
-                    }
+            // C:\\dev\\jbossrules\\trunk3\\drools-compiler\\src\\main\\resources\\org\\drools\\semantics\\java\\parser\\JavaParser.g:613:15: ( COMMA expression )*
+            loop50:
+            do {
+                int alt50=2;
+                int LA50_0 = input.LA(1);
 
-                    switch ( alt50 ) {
-                        case 1 :
-                            // D:\\workspace\\jboss\\jbossrules\\drools-compiler\\src\\main\\resources\\org\\drools\\semantics\\java\\parser\\JavaParser.g:613:16: COMMA expression
-                        {
-                            match( this.input,
-                                   COMMA,
-                                   FOLLOW_COMMA_in_expressionList1858 );
-                            pushFollow( FOLLOW_expression_in_expressionList1860 );
-                            expression();
-                            this._fsp--;
+                if ( (LA50_0==COMMA) ) {
+                    alt50=1;
+                }
 
-                        }
-                            break;
 
-                        default :
-                            break loop50;
-                    }
-                } while ( true );
+                switch (alt50) {
+            	case 1 :
+            	    // C:\\dev\\jbossrules\\trunk3\\drools-compiler\\src\\main\\resources\\org\\drools\\semantics\\java\\parser\\JavaParser.g:613:16: COMMA expression
+            	    {
+            	    match(input,COMMA,FOLLOW_COMMA_in_expressionList1858); 
+            	    pushFollow(FOLLOW_expression_in_expressionList1860);
+            	    expression();
+            	    _fsp--;
 
+
+            	    }
+            	    break;
+
+            	default :
+            	    break loop50;
+                }
+            } while (true);
+
+
             }
 
-        } catch ( final RecognitionException re ) {
-            reportError( re );
-            recover( this.input,
-                     re );
-        } finally {
         }
-        return;
+        catch (RecognitionException re) {
+            reportError(re);
+            recover(input,re);
+        }
+        finally {
+        }
+        return ;
     }
-
     // $ANTLR end expressionList
 
+
     // $ANTLR start assignmentExpression
-    // D:\\workspace\\jboss\\jbossrules\\drools-compiler\\src\\main\\resources\\org\\drools\\semantics\\java\\parser\\JavaParser.g:619:1: assignmentExpression : conditionalExpression ( (ASSIGN|PLUS_ASSIGN|MINUS_ASSIGN|STAR_ASSIGN|DIV_ASSIGN|MOD_ASSIGN|SR_ASSIGN|BSR_ASSIGN|SL_ASSIGN|BAND_ASSIGN|BXOR_ASSIGN|BOR_ASSIGN) assignmentExpression )? ;
-    public void assignmentExpression() throws RecognitionException {
+    // C:\\dev\\jbossrules\\trunk3\\drools-compiler\\src\\main\\resources\\org\\drools\\semantics\\java\\parser\\JavaParser.g:619:1: assignmentExpression : conditionalExpression ( ( ASSIGN | PLUS_ASSIGN | MINUS_ASSIGN | STAR_ASSIGN | DIV_ASSIGN | MOD_ASSIGN | SR_ASSIGN | BSR_ASSIGN | SL_ASSIGN | BAND_ASSIGN | BXOR_ASSIGN | BOR_ASSIGN ) assignmentExpression )? ;
+    public final void assignmentExpression() throws RecognitionException {
         try {
-            // D:\\workspace\\jboss\\jbossrules\\drools-compiler\\src\\main\\resources\\org\\drools\\semantics\\java\\parser\\JavaParser.g:620:4: ( conditionalExpression ( (ASSIGN|PLUS_ASSIGN|MINUS_ASSIGN|STAR_ASSIGN|DIV_ASSIGN|MOD_ASSIGN|SR_ASSIGN|BSR_ASSIGN|SL_ASSIGN|BAND_ASSIGN|BXOR_ASSIGN|BOR_ASSIGN) assignmentExpression )? )
-            // D:\\workspace\\jboss\\jbossrules\\drools-compiler\\src\\main\\resources\\org\\drools\\semantics\\java\\parser\\JavaParser.g:620:4: conditionalExpression ( (ASSIGN|PLUS_ASSIGN|MINUS_ASSIGN|STAR_ASSIGN|DIV_ASSIGN|MOD_ASSIGN|SR_ASSIGN|BSR_ASSIGN|SL_ASSIGN|BAND_ASSIGN|BXOR_ASSIGN|BOR_ASSIGN) assignmentExpression )?
+            // C:\\dev\\jbossrules\\trunk3\\drools-compiler\\src\\main\\resources\\org\\drools\\semantics\\java\\parser\\JavaParser.g:620:4: ( conditionalExpression ( ( ASSIGN | PLUS_ASSIGN | MINUS_ASSIGN | STAR_ASSIGN | DIV_ASSIGN | MOD_ASSIGN | SR_ASSIGN | BSR_ASSIGN | SL_ASSIGN | BAND_ASSIGN | BXOR_ASSIGN | BOR_ASSIGN ) assignmentExpression )? )
+            // C:\\dev\\jbossrules\\trunk3\\drools-compiler\\src\\main\\resources\\org\\drools\\semantics\\java\\parser\\JavaParser.g:620:4: conditionalExpression ( ( ASSIGN | PLUS_ASSIGN | MINUS_ASSIGN | STAR_ASSIGN | DIV_ASSIGN | MOD_ASSIGN | SR_ASSIGN | BSR_ASSIGN | SL_ASSIGN | BAND_ASSIGN | BXOR_ASSIGN | BOR_ASSIGN ) assignmentExpression )?
             {
-                pushFollow( FOLLOW_conditionalExpression_in_assignmentExpression1878 );
-                conditionalExpression();
-                this._fsp--;
+            pushFollow(FOLLOW_conditionalExpression_in_assignmentExpression1878);
+            conditionalExpression();
+            _fsp--;
 
-                // D:\\workspace\\jboss\\jbossrules\\drools-compiler\\src\\main\\resources\\org\\drools\\semantics\\java\\parser\\JavaParser.g:621:3: ( (ASSIGN|PLUS_ASSIGN|MINUS_ASSIGN|STAR_ASSIGN|DIV_ASSIGN|MOD_ASSIGN|SR_ASSIGN|BSR_ASSIGN|SL_ASSIGN|BAND_ASSIGN|BXOR_ASSIGN|BOR_ASSIGN) assignmentExpression )?
-                int alt51 = 2;
-                final int LA51_0 = this.input.LA( 1 );
-                if ( (LA51_0 == ASSIGN || (LA51_0 >= PLUS_ASSIGN && LA51_0 <= BOR_ASSIGN)) ) {
-                    alt51 = 1;
-                }
-                switch ( alt51 ) {
-                    case 1 :
-                        // D:\\workspace\\jboss\\jbossrules\\drools-compiler\\src\\main\\resources\\org\\drools\\semantics\\java\\parser\\JavaParser.g:621:5: (ASSIGN|PLUS_ASSIGN|MINUS_ASSIGN|STAR_ASSIGN|DIV_ASSIGN|MOD_ASSIGN|SR_ASSIGN|BSR_ASSIGN|SL_ASSIGN|BAND_ASSIGN|BXOR_ASSIGN|BOR_ASSIGN) assignmentExpression
+            // C:\\dev\\jbossrules\\trunk3\\drools-compiler\\src\\main\\resources\\org\\drools\\semantics\\java\\parser\\JavaParser.g:621:3: ( ( ASSIGN | PLUS_ASSIGN | MINUS_ASSIGN | STAR_ASSIGN | DIV_ASSIGN | MOD_ASSIGN | SR_ASSIGN | BSR_ASSIGN | SL_ASSIGN | BAND_ASSIGN | BXOR_ASSIGN | BOR_ASSIGN ) assignmentExpression )?
+            int alt51=2;
+            int LA51_0 = input.LA(1);
+
+            if ( (LA51_0==ASSIGN||(LA51_0>=PLUS_ASSIGN && LA51_0<=BOR_ASSIGN)) ) {
+                alt51=1;
+            }
+            switch (alt51) {
+                case 1 :
+                    // C:\\dev\\jbossrules\\trunk3\\drools-compiler\\src\\main\\resources\\org\\drools\\semantics\\java\\parser\\JavaParser.g:621:5: ( ASSIGN | PLUS_ASSIGN | MINUS_ASSIGN | STAR_ASSIGN | DIV_ASSIGN | MOD_ASSIGN | SR_ASSIGN | BSR_ASSIGN | SL_ASSIGN | BAND_ASSIGN | BXOR_ASSIGN | BOR_ASSIGN ) assignmentExpression
                     {
-                        if ( this.input.LA( 1 ) == ASSIGN || (this.input.LA( 1 ) >= PLUS_ASSIGN && this.input.LA( 1 ) <= BOR_ASSIGN) ) {
-                            this.input.consume();
-                            this.errorRecovery = false;
-                        } else {
-                            final MismatchedSetException mse = new MismatchedSetException( null,
-                                                                                     this.input );
-                            recoverFromMismatchedSet( this.input,
-                                                      mse,
-                                                      FOLLOW_set_in_assignmentExpression1886 );
-                            throw mse;
-                        }
+                    if ( input.LA(1)==ASSIGN||(input.LA(1)>=PLUS_ASSIGN && input.LA(1)<=BOR_ASSIGN) ) {
+                        input.consume();
+                        errorRecovery=false;
+                    }
+                    else {
+                        MismatchedSetException mse =
+                            new MismatchedSetException(null,input);
+                        recoverFromMismatchedSet(input,mse,FOLLOW_set_in_assignmentExpression1884);    throw mse;
+                    }
 
-                        pushFollow( FOLLOW_assignmentExpression_in_assignmentExpression2103 );
-                        assignmentExpression();
-                        this._fsp--;
+                    pushFollow(FOLLOW_assignmentExpression_in_assignmentExpression2103);
+                    assignmentExpression();
+                    _fsp--;
 
+
                     }
-                        break;
+                    break;
 
-                }
+            }
 
+
             }
 
-        } catch ( final RecognitionException re ) {
-            reportError( re );
-            recover( this.input,
-                     re );
-        } finally {
         }
-        return;
+        catch (RecognitionException re) {
+            reportError(re);
+            recover(input,re);
+        }
+        finally {
+        }
+        return ;
     }
-
     // $ANTLR end assignmentExpression
 
+
     // $ANTLR start conditionalExpression
-    // D:\\workspace\\jboss\\jbossrules\\drools-compiler\\src\\main\\resources\\org\\drools\\semantics\\java\\parser\\JavaParser.g:640:1: conditionalExpression : logicalOrExpression ( QUESTION assignmentExpression COLON conditionalExpression )? ;
-    public void conditionalExpression() throws RecognitionException {
+    // C:\\dev\\jbossrules\\trunk3\\drools-compiler\\src\\main\\resources\\org\\drools\\semantics\\java\\parser\\JavaParser.g:640:1: conditionalExpression : logicalOrExpression ( QUESTION assignmentExpression COLON conditionalExpression )? ;
+    public final void conditionalExpression() throws RecognitionException {
         try {
-            // D:\\workspace\\jboss\\jbossrules\\drools-compiler\\src\\main\\resources\\org\\drools\\semantics\\java\\parser\\JavaParser.g:641:4: ( logicalOrExpression ( QUESTION assignmentExpression COLON conditionalExpression )? )
-            // D:\\workspace\\jboss\\jbossrules\\drools-compiler\\src\\main\\resources\\org\\drools\\semantics\\java\\parser\\JavaParser.g:641:4: logicalOrExpression ( QUESTION assignmentExpression COLON conditionalExpression )?
+            // C:\\dev\\jbossrules\\trunk3\\drools-compiler\\src\\main\\resources\\org\\drools\\semantics\\java\\parser\\JavaParser.g:641:4: ( logicalOrExpression ( QUESTION assignmentExpression COLON conditionalExpression )? )
+            // C:\\dev\\jbossrules\\trunk3\\drools-compiler\\src\\main\\resources\\org\\drools\\semantics\\java\\parser\\JavaParser.g:641:4: logicalOrExpression ( QUESTION assignmentExpression COLON conditionalExpression )?
             {
-                pushFollow( FOLLOW_logicalOrExpression_in_conditionalExpression2121 );
-                logicalOrExpression();
-                this._fsp--;
+            pushFollow(FOLLOW_logicalOrExpression_in_conditionalExpression2121);
+            logicalOrExpression();
+            _fsp--;
 
-                // D:\\workspace\\jboss\\jbossrules\\drools-compiler\\src\\main\\resources\\org\\drools\\semantics\\java\\parser\\JavaParser.g:642:3: ( QUESTION assignmentExpression COLON conditionalExpression )?
-                int alt52 = 2;
-                final int LA52_0 = this.input.LA( 1 );
-                if ( (LA52_0 == QUESTION) ) {
-                    alt52 = 1;
-                }
-                switch ( alt52 ) {
-                    case 1 :
-                        // D:\\workspace\\jboss\\jbossrules\\drools-compiler\\src\\main\\resources\\org\\drools\\semantics\\java\\parser\\JavaParser.g:642:5: QUESTION assignmentExpression COLON conditionalExpression
+            // C:\\dev\\jbossrules\\trunk3\\drools-compiler\\src\\main\\resources\\org\\drools\\semantics\\java\\parser\\JavaParser.g:642:3: ( QUESTION assignmentExpression COLON conditionalExpression )?
+            int alt52=2;
+            int LA52_0 = input.LA(1);
+
+            if ( (LA52_0==QUESTION) ) {
+                alt52=1;
+            }
+            switch (alt52) {
+                case 1 :
+                    // C:\\dev\\jbossrules\\trunk3\\drools-compiler\\src\\main\\resources\\org\\drools\\semantics\\java\\parser\\JavaParser.g:642:5: QUESTION assignmentExpression COLON conditionalExpression
                     {
-                        match( this.input,
-                               QUESTION,
-                               FOLLOW_QUESTION_in_conditionalExpression2127 );
-                        pushFollow( FOLLOW_assignmentExpression_in_conditionalExpression2129 );
-                        assignmentExpression();
-                        this._fsp--;
+                    match(input,QUESTION,FOLLOW_QUESTION_in_conditionalExpression2127); 
+                    pushFollow(FOLLOW_assignmentExpression_in_conditionalExpression2129);
+                    assignmentExpression();
+                    _fsp--;
 
-                        match( this.input,
-                               COLON,
-                               FOLLOW_COLON_in_conditionalExpression2131 );
-                        pushFollow( FOLLOW_conditionalExpression_in_conditionalExpression2133 );
-                        conditionalExpression();
-                        this._fsp--;
+                    match(input,COLON,FOLLOW_COLON_in_conditionalExpression2131); 
+                    pushFollow(FOLLOW_conditionalExpression_in_conditionalExpression2133);
+                    conditionalExpression();
+                    _fsp--;
 
+
                     }
-                        break;
+                    break;
 
-                }
+            }
 
+
             }
 
-        } catch ( final RecognitionException re ) {
-            reportError( re );
-            recover( this.input,
-                     re );
-        } finally {
         }
-        return;
+        catch (RecognitionException re) {
+            reportError(re);
+            recover(input,re);
+        }
+        finally {
+        }
+        return ;
     }
-
     // $ANTLR end conditionalExpression
 
+
     // $ANTLR start logicalOrExpression
-    // D:\\workspace\\jboss\\jbossrules\\drools-compiler\\src\\main\\resources\\org\\drools\\semantics\\java\\parser\\JavaParser.g:647:1: logicalOrExpression : logicalAndExpression ( LOR logicalAndExpression )* ;
-    public void logicalOrExpression() throws RecognitionException {
+    // C:\\dev\\jbossrules\\trunk3\\drools-compiler\\src\\main\\resources\\org\\drools\\semantics\\java\\parser\\JavaParser.g:647:1: logicalOrExpression : logicalAndExpression ( LOR logicalAndExpression )* ;
+    public final void logicalOrExpression() throws RecognitionException {
         try {
-            // D:\\workspace\\jboss\\jbossrules\\drools-compiler\\src\\main\\resources\\org\\drools\\semantics\\java\\parser\\JavaParser.g:648:4: ( logicalAndExpression ( LOR logicalAndExpression )* )
-            // D:\\workspace\\jboss\\jbossrules\\drools-compiler\\src\\main\\resources\\org\\drools\\semantics\\java\\parser\\JavaParser.g:648:4: logicalAndExpression ( LOR logicalAndExpression )*
+            // C:\\dev\\jbossrules\\trunk3\\drools-compiler\\src\\main\\resources\\org\\drools\\semantics\\java\\parser\\JavaParser.g:648:4: ( logicalAndExpression ( LOR logicalAndExpression )* )
+            // C:\\dev\\jbossrules\\trunk3\\drools-compiler\\src\\main\\resources\\org\\drools\\semantics\\java\\parser\\JavaParser.g:648:4: logicalAndExpression ( LOR logicalAndExpression )*
             {
-                pushFollow( FOLLOW_logicalAndExpression_in_logicalOrExpression2149 );
-                logicalAndExpression();
-                this._fsp--;
+            pushFollow(FOLLOW_logicalAndExpression_in_logicalOrExpression2149);
+            logicalAndExpression();
+            _fsp--;
 
-                // D:\\workspace\\jboss\\jbossrules\\drools-compiler\\src\\main\\resources\\org\\drools\\semantics\\java\\parser\\JavaParser.g:648:25: ( LOR logicalAndExpression )*
-                loop53 : do {
-                    int alt53 = 2;
-                    final int LA53_0 = this.input.LA( 1 );
-                    if ( (LA53_0 == LOR) ) {
-                        alt53 = 1;
-                    }
+            // C:\\dev\\jbossrules\\trunk3\\drools-compiler\\src\\main\\resources\\org\\drools\\semantics\\java\\parser\\JavaParser.g:648:25: ( LOR logicalAndExpression )*
+            loop53:
+            do {
+                int alt53=2;
+                int LA53_0 = input.LA(1);
 
-                    switch ( alt53 ) {
-                        case 1 :
-                            // D:\\workspace\\jboss\\jbossrules\\drools-compiler\\src\\main\\resources\\org\\drools\\semantics\\java\\parser\\JavaParser.g:648:26: LOR logicalAndExpression
-                        {
-                            match( this.input,
-                                   LOR,
-                                   FOLLOW_LOR_in_logicalOrExpression2152 );
-                            pushFollow( FOLLOW_logicalAndExpression_in_logicalOrExpression2154 );
-                            logicalAndExpression();
-                            this._fsp--;
+                if ( (LA53_0==LOR) ) {
+                    alt53=1;
+                }
 
-                        }
-                            break;
 
-                        default :
-                            break loop53;
-                    }
-                } while ( true );
+                switch (alt53) {
+            	case 1 :
+            	    // C:\\dev\\jbossrules\\trunk3\\drools-compiler\\src\\main\\resources\\org\\drools\\semantics\\java\\parser\\JavaParser.g:648:26: LOR logicalAndExpression
+            	    {
+            	    match(input,LOR,FOLLOW_LOR_in_logicalOrExpression2152); 
+            	    pushFollow(FOLLOW_logicalAndExpression_in_logicalOrExpression2154);
+            	    logicalAndExpression();
+            	    _fsp--;
 
+
+            	    }
+            	    break;
+
+            	default :
+            	    break loop53;
+                }
+            } while (true);
+
+
             }
 
-        } catch ( final RecognitionException re ) {
-            reportError( re );
-            recover( this.input,
-                     re );
-        } finally {
         }
-        return;
+        catch (RecognitionException re) {
+            reportError(re);
+            recover(input,re);
+        }
+        finally {
+        }
+        return ;
     }
-
     // $ANTLR end logicalOrExpression
 
+
     // $ANTLR start logicalAndExpression
-    // D:\\workspace\\jboss\\jbossrules\\drools-compiler\\src\\main\\resources\\org\\drools\\semantics\\java\\parser\\JavaParser.g:653:1: logicalAndExpression : inclusiveOrExpression ( LAND inclusiveOrExpression )* ;
-    public void logicalAndExpression() throws RecognitionException {
+    // C:\\dev\\jbossrules\\trunk3\\drools-compiler\\src\\main\\resources\\org\\drools\\semantics\\java\\parser\\JavaParser.g:653:1: logicalAndExpression : inclusiveOrExpression ( LAND inclusiveOrExpression )* ;
+    public final void logicalAndExpression() throws RecognitionException {
         try {
-            // D:\\workspace\\jboss\\jbossrules\\drools-compiler\\src\\main\\resources\\org\\drools\\semantics\\java\\parser\\JavaParser.g:654:4: ( inclusiveOrExpression ( LAND inclusiveOrExpression )* )
-            // D:\\workspace\\jboss\\jbossrules\\drools-compiler\\src\\main\\resources\\org\\drools\\semantics\\java\\parser\\JavaParser.g:654:4: inclusiveOrExpression ( LAND inclusiveOrExpression )*
+            // C:\\dev\\jbossrules\\trunk3\\drools-compiler\\src\\main\\resources\\org\\drools\\semantics\\java\\parser\\JavaParser.g:654:4: ( inclusiveOrExpression ( LAND inclusiveOrExpression )* )
+            // C:\\dev\\jbossrules\\trunk3\\drools-compiler\\src\\main\\resources\\org\\drools\\semantics\\java\\parser\\JavaParser.g:654:4: inclusiveOrExpression ( LAND inclusiveOrExpression )*
             {
-                pushFollow( FOLLOW_inclusiveOrExpression_in_logicalAndExpression2169 );
-                inclusiveOrExpression();
-                this._fsp--;
+            pushFollow(FOLLOW_inclusiveOrExpression_in_logicalAndExpression2169);
+            inclusiveOrExpression();
+            _fsp--;
 
-                // D:\\workspace\\jboss\\jbossrules\\drools-compiler\\src\\main\\resources\\org\\drools\\semantics\\java\\parser\\JavaParser.g:654:26: ( LAND inclusiveOrExpression )*
-                loop54 : do {
-                    int alt54 = 2;
-                    final int LA54_0 = this.input.LA( 1 );
-                    if ( (LA54_0 == LAND) ) {
-                        alt54 = 1;
-                    }
+            // C:\\dev\\jbossrules\\trunk3\\drools-compiler\\src\\main\\resources\\org\\drools\\semantics\\java\\parser\\JavaParser.g:654:26: ( LAND inclusiveOrExpression )*
+            loop54:
+            do {
+                int alt54=2;
+                int LA54_0 = input.LA(1);
 
-                    switch ( alt54 ) {
-                        case 1 :
-                            // D:\\workspace\\jboss\\jbossrules\\drools-compiler\\src\\main\\resources\\org\\drools\\semantics\\java\\parser\\JavaParser.g:654:27: LAND inclusiveOrExpression
-                        {
-                            match( this.input,
-                                   LAND,
-                                   FOLLOW_LAND_in_logicalAndExpression2172 );
-                            pushFollow( FOLLOW_inclusiveOrExpression_in_logicalAndExpression2174 );
-                            inclusiveOrExpression();
-                            this._fsp--;
+                if ( (LA54_0==LAND) ) {
+                    alt54=1;
+                }
 
-                        }
-                            break;
 
-                        default :
-                            break loop54;
-                    }
-                } while ( true );
+                switch (alt54) {
+            	case 1 :
+            	    // C:\\dev\\jbossrules\\trunk3\\drools-compiler\\src\\main\\resources\\org\\drools\\semantics\\java\\parser\\JavaParser.g:654:27: LAND inclusiveOrExpression
+            	    {
+            	    match(input,LAND,FOLLOW_LAND_in_logicalAndExpression2172); 
+            	    pushFollow(FOLLOW_inclusiveOrExpression_in_logicalAndExpression2174);
+            	    inclusiveOrExpression();
+            	    _fsp--;
 
+
+            	    }
+            	    break;
+
+            	default :
+            	    break loop54;
+                }
+            } while (true);
+
+
             }
 
-        } catch ( final RecognitionException re ) {
-            reportError( re );
-            recover( this.input,
-                     re );
-        } finally {
         }
-        return;
+        catch (RecognitionException re) {
+            reportError(re);
+            recover(input,re);
+        }
+        finally {
+        }
+        return ;
     }
-
     // $ANTLR end logicalAndExpression
 
+
     // $ANTLR start inclusiveOrExpression
-    // D:\\workspace\\jboss\\jbossrules\\drools-compiler\\src\\main\\resources\\org\\drools\\semantics\\java\\parser\\JavaParser.g:659:1: inclusiveOrExpression : exclusiveOrExpression ( BOR exclusiveOrExpression )* ;
-    public void inclusiveOrExpression() throws RecognitionException {
+    // C:\\dev\\jbossrules\\trunk3\\drools-compiler\\src\\main\\resources\\org\\drools\\semantics\\java\\parser\\JavaParser.g:659:1: inclusiveOrExpression : exclusiveOrExpression ( BOR exclusiveOrExpression )* ;
+    public final void inclusiveOrExpression() throws RecognitionException {
         try {
-            // D:\\workspace\\jboss\\jbossrules\\drools-compiler\\src\\main\\resources\\org\\drools\\semantics\\java\\parser\\JavaParser.g:660:4: ( exclusiveOrExpression ( BOR exclusiveOrExpression )* )
-            // D:\\workspace\\jboss\\jbossrules\\drools-compiler\\src\\main\\resources\\org\\drools\\semantics\\java\\parser\\JavaParser.g:660:4: exclusiveOrExpression ( BOR exclusiveOrExpression )*
+            // C:\\dev\\jbossrules\\trunk3\\drools-compiler\\src\\main\\resources\\org\\drools\\semantics\\java\\parser\\JavaParser.g:660:4: ( exclusiveOrExpression ( BOR exclusiveOrExpression )* )
+            // C:\\dev\\jbossrules\\trunk3\\drools-compiler\\src\\main\\resources\\org\\drools\\semantics\\java\\parser\\JavaParser.g:660:4: exclusiveOrExpression ( BOR exclusiveOrExpression )*
             {
-                pushFollow( FOLLOW_exclusiveOrExpression_in_inclusiveOrExpression2189 );
-                exclusiveOrExpression();
-                this._fsp--;
+            pushFollow(FOLLOW_exclusiveOrExpression_in_inclusiveOrExpression2189);
+            exclusiveOrExpression();
+            _fsp--;
 
-                // D:\\workspace\\jboss\\jbossrules\\drools-compiler\\src\\main\\resources\\org\\drools\\semantics\\java\\parser\\JavaParser.g:660:26: ( BOR exclusiveOrExpression )*
-                loop55 : do {
-                    int alt55 = 2;
-                    final int LA55_0 = this.input.LA( 1 );
-                    if ( (LA55_0 == BOR) ) {
-                        alt55 = 1;
-                    }
+            // C:\\dev\\jbossrules\\trunk3\\drools-compiler\\src\\main\\resources\\org\\drools\\semantics\\java\\parser\\JavaParser.g:660:26: ( BOR exclusiveOrExpression )*
+            loop55:
+            do {
+                int alt55=2;
+                int LA55_0 = input.LA(1);
 
-                    switch ( alt55 ) {
-                        case 1 :
-                            // D:\\workspace\\jboss\\jbossrules\\drools-compiler\\src\\main\\resources\\org\\drools\\semantics\\java\\parser\\JavaParser.g:660:27: BOR exclusiveOrExpression
-                        {
-                            match( this.input,
-                                   BOR,
-                                   FOLLOW_BOR_in_inclusiveOrExpression2192 );
-                            pushFollow( FOLLOW_exclusiveOrExpression_in_inclusiveOrExpression2194 );
-                            exclusiveOrExpression();
-                            this._fsp--;
+                if ( (LA55_0==BOR) ) {
+                    alt55=1;
+                }
 
-                        }
-                            break;
 
-                        default :
-                            break loop55;
-                    }
-                } while ( true );
+                switch (alt55) {
+            	case 1 :
+            	    // C:\\dev\\jbossrules\\trunk3\\drools-compiler\\src\\main\\resources\\org\\drools\\semantics\\java\\parser\\JavaParser.g:660:27: BOR exclusiveOrExpression
+            	    {
+            	    match(input,BOR,FOLLOW_BOR_in_inclusiveOrExpression2192); 
+            	    pushFollow(FOLLOW_exclusiveOrExpression_in_inclusiveOrExpression2194);
+            	    exclusiveOrExpression();
+            	    _fsp--;
 
+
+            	    }
+            	    break;
+
+            	default :
+            	    break loop55;
+                }
+            } while (true);
+
+
             }
 
-        } catch ( final RecognitionException re ) {
-            reportError( re );
-            recover( this.input,
-                     re );
-        } finally {
         }
-        return;
+        catch (RecognitionException re) {
+            reportError(re);
+            recover(input,re);
+        }
+        finally {
+        }
+        return ;
     }
-
     // $ANTLR end inclusiveOrExpression
 
+
     // $ANTLR start exclusiveOrExpression
-    // D:\\workspace\\jboss\\jbossrules\\drools-compiler\\src\\main\\resources\\org\\drools\\semantics\\java\\parser\\JavaParser.g:665:1: exclusiveOrExpression : andExpression ( BXOR andExpression )* ;
-    public void exclusiveOrExpression() throws RecognitionException {
+    // C:\\dev\\jbossrules\\trunk3\\drools-compiler\\src\\main\\resources\\org\\drools\\semantics\\java\\parser\\JavaParser.g:665:1: exclusiveOrExpression : andExpression ( BXOR andExpression )* ;
+    public final void exclusiveOrExpression() throws RecognitionException {
         try {
-            // D:\\workspace\\jboss\\jbossrules\\drools-compiler\\src\\main\\resources\\org\\drools\\semantics\\java\\parser\\JavaParser.g:666:4: ( andExpression ( BXOR andExpression )* )
-            // D:\\workspace\\jboss\\jbossrules\\drools-compiler\\src\\main\\resources\\org\\drools\\semantics\\java\\parser\\JavaParser.g:666:4: andExpression ( BXOR andExpression )*
+            // C:\\dev\\jbossrules\\trunk3\\drools-compiler\\src\\main\\resources\\org\\drools\\semantics\\java\\parser\\JavaParser.g:666:4: ( andExpression ( BXOR andExpression )* )
+            // C:\\dev\\jbossrules\\trunk3\\drools-compiler\\src\\main\\resources\\org\\drools\\semantics\\java\\parser\\JavaParser.g:666:4: andExpression ( BXOR andExpression )*
             {
-                pushFollow( FOLLOW_andExpression_in_exclusiveOrExpression2209 );
-                andExpression();
-                this._fsp--;
+            pushFollow(FOLLOW_andExpression_in_exclusiveOrExpression2209);
+            andExpression();
+            _fsp--;
 
-                // D:\\workspace\\jboss\\jbossrules\\drools-compiler\\src\\main\\resources\\org\\drools\\semantics\\java\\parser\\JavaParser.g:666:18: ( BXOR andExpression )*
-                loop56 : do {
-                    int alt56 = 2;
-                    final int LA56_0 = this.input.LA( 1 );
-                    if ( (LA56_0 == BXOR) ) {
-                        alt56 = 1;
-                    }
+            // C:\\dev\\jbossrules\\trunk3\\drools-compiler\\src\\main\\resources\\org\\drools\\semantics\\java\\parser\\JavaParser.g:666:18: ( BXOR andExpression )*
+            loop56:
+            do {
+                int alt56=2;
+                int LA56_0 = input.LA(1);
 
-                    switch ( alt56 ) {
-                        case 1 :
-                            // D:\\workspace\\jboss\\jbossrules\\drools-compiler\\src\\main\\resources\\org\\drools\\semantics\\java\\parser\\JavaParser.g:666:19: BXOR andExpression
-                        {
-                            match( this.input,
-                                   BXOR,
-                                   FOLLOW_BXOR_in_exclusiveOrExpression2212 );
-                            pushFollow( FOLLOW_andExpression_in_exclusiveOrExpression2214 );
-                            andExpression();
-                            this._fsp--;
+                if ( (LA56_0==BXOR) ) {
+                    alt56=1;
+                }
 
-                        }
-                            break;
 
-                        default :
-                            break loop56;
-                    }
-                } while ( true );
+                switch (alt56) {
+            	case 1 :
+            	    // C:\\dev\\jbossrules\\trunk3\\drools-compiler\\src\\main\\resources\\org\\drools\\semantics\\java\\parser\\JavaParser.g:666:19: BXOR andExpression
+            	    {
+            	    match(input,BXOR,FOLLOW_BXOR_in_exclusiveOrExpression2212); 
+            	    pushFollow(FOLLOW_andExpression_in_exclusiveOrExpression2214);
+            	    andExpression();
+            	    _fsp--;
 
+
+            	    }
+            	    break;
+
+            	default :
+            	    break loop56;
+                }
+            } while (true);
+
+
             }
 
-        } catch ( final RecognitionException re ) {
-            reportError( re );
-            recover( this.input,
-                     re );
-        } finally {
         }
-        return;
+        catch (RecognitionException re) {
+            reportError(re);
+            recover(input,re);
+        }
+        finally {
+        }
+        return ;
     }
-
     // $ANTLR end exclusiveOrExpression
 
+
     // $ANTLR start andExpression
-    // D:\\workspace\\jboss\\jbossrules\\drools-compiler\\src\\main\\resources\\org\\drools\\semantics\\java\\parser\\JavaParser.g:671:1: andExpression : equalityExpression ( BAND equalityExpression )* ;
-    public void andExpression() throws RecognitionException {
+    // C:\\dev\\jbossrules\\trunk3\\drools-compiler\\src\\main\\resources\\org\\drools\\semantics\\java\\parser\\JavaParser.g:671:1: andExpression : equalityExpression ( BAND equalityExpression )* ;
+    public final void andExpression() throws RecognitionException {
         try {
-            // D:\\workspace\\jboss\\jbossrules\\drools-compiler\\src\\main\\resources\\org\\drools\\semantics\\java\\parser\\JavaParser.g:672:4: ( equalityExpression ( BAND equalityExpression )* )
-            // D:\\workspace\\jboss\\jbossrules\\drools-compiler\\src\\main\\resources\\org\\drools\\semantics\\java\\parser\\JavaParser.g:672:4: equalityExpression ( BAND equalityExpression )*
+            // C:\\dev\\jbossrules\\trunk3\\drools-compiler\\src\\main\\resources\\org\\drools\\semantics\\java\\parser\\JavaParser.g:672:4: ( equalityExpression ( BAND equalityExpression )* )
+            // C:\\dev\\jbossrules\\trunk3\\drools-compiler\\src\\main\\resources\\org\\drools\\semantics\\java\\parser\\JavaParser.g:672:4: equalityExpression ( BAND equalityExpression )*
             {
-                pushFollow( FOLLOW_equalityExpression_in_andExpression2229 );
-                equalityExpression();
-                this._fsp--;
+            pushFollow(FOLLOW_equalityExpression_in_andExpression2229);
+            equalityExpression();
+            _fsp--;
 
-                // D:\\workspace\\jboss\\jbossrules\\drools-compiler\\src\\main\\resources\\org\\drools\\semantics\\java\\parser\\JavaParser.g:672:23: ( BAND equalityExpression )*
-                loop57 : do {
-                    int alt57 = 2;
-                    final int LA57_0 = this.input.LA( 1 );
-                    if ( (LA57_0 == BAND) ) {
-                        alt57 = 1;
-                    }
+            // C:\\dev\\jbossrules\\trunk3\\drools-compiler\\src\\main\\resources\\org\\drools\\semantics\\java\\parser\\JavaParser.g:672:23: ( BAND equalityExpression )*
+            loop57:
+            do {
+                int alt57=2;
+                int LA57_0 = input.LA(1);
 
-                    switch ( alt57 ) {
-                        case 1 :
-                            // D:\\workspace\\jboss\\jbossrules\\drools-compiler\\src\\main\\resources\\org\\drools\\semantics\\java\\parser\\JavaParser.g:672:24: BAND equalityExpression
-                        {
-                            match( this.input,
-                                   BAND,
-                                   FOLLOW_BAND_in_andExpression2232 );
-                            pushFollow( FOLLOW_equalityExpression_in_andExpression2234 );
-                            equalityExpression();
-                            this._fsp--;
+                if ( (LA57_0==BAND) ) {
+                    alt57=1;
+                }
 
-                        }
-                            break;
 
-                        default :
-                            break loop57;
-                    }
-                } while ( true );
+                switch (alt57) {
+            	case 1 :
+            	    // C:\\dev\\jbossrules\\trunk3\\drools-compiler\\src\\main\\resources\\org\\drools\\semantics\\java\\parser\\JavaParser.g:672:24: BAND equalityExpression
+            	    {
+            	    match(input,BAND,FOLLOW_BAND_in_andExpression2232); 
+            	    pushFollow(FOLLOW_equalityExpression_in_andExpression2234);
+            	    equalityExpression();
+            	    _fsp--;
 
+
+            	    }
+            	    break;
+
+            	default :
+            	    break loop57;
+                }
+            } while (true);
+
+
             }
 
-        } catch ( final RecognitionException re ) {
-            reportError( re );
-            recover( this.input,
-                     re );
-        } finally {
         }
-        return;
+        catch (RecognitionException re) {
+            reportError(re);
+            recover(input,re);
+        }
+        finally {
+        }
+        return ;
     }
-
     // $ANTLR end andExpression
 
+
     // $ANTLR start equalityExpression
-    // D:\\workspace\\jboss\\jbossrules\\drools-compiler\\src\\main\\resources\\org\\drools\\semantics\\java\\parser\\JavaParser.g:677:1: equalityExpression : relationalExpression ( (NOT_EQUAL|EQUAL) relationalExpression )* ;
-    public void equalityExpression() throws RecognitionException {
+    // C:\\dev\\jbossrules\\trunk3\\drools-compiler\\src\\main\\resources\\org\\drools\\semantics\\java\\parser\\JavaParser.g:677:1: equalityExpression : relationalExpression ( ( NOT_EQUAL | EQUAL ) relationalExpression )* ;
+    public final void equalityExpression() throws RecognitionException {
         try {
-            // D:\\workspace\\jboss\\jbossrules\\drools-compiler\\src\\main\\resources\\org\\drools\\semantics\\java\\parser\\JavaParser.g:678:4: ( relationalExpression ( (NOT_EQUAL|EQUAL) relationalExpression )* )
-            // D:\\workspace\\jboss\\jbossrules\\drools-compiler\\src\\main\\resources\\org\\drools\\semantics\\java\\parser\\JavaParser.g:678:4: relationalExpression ( (NOT_EQUAL|EQUAL) relationalExpression )*
+            // C:\\dev\\jbossrules\\trunk3\\drools-compiler\\src\\main\\resources\\org\\drools\\semantics\\java\\parser\\JavaParser.g:678:4: ( relationalExpression ( ( NOT_EQUAL | EQUAL ) relationalExpression )* )
+            // C:\\dev\\jbossrules\\trunk3\\drools-compiler\\src\\main\\resources\\org\\drools\\semantics\\java\\parser\\JavaParser.g:678:4: relationalExpression ( ( NOT_EQUAL | EQUAL ) relationalExpression )*
             {
-                pushFollow( FOLLOW_relationalExpression_in_equalityExpression2249 );
-                relationalExpression();
-                this._fsp--;
+            pushFollow(FOLLOW_relationalExpression_in_equalityExpression2249);
+            relationalExpression();
+            _fsp--;
 
-                // D:\\workspace\\jboss\\jbossrules\\drools-compiler\\src\\main\\resources\\org\\drools\\semantics\\java\\parser\\JavaParser.g:678:25: ( (NOT_EQUAL|EQUAL) relationalExpression )*
-                loop58 : do {
-                    int alt58 = 2;
-                    final int LA58_0 = this.input.LA( 1 );
-                    if ( ((LA58_0 >= NOT_EQUAL && LA58_0 <= EQUAL)) ) {
-                        alt58 = 1;
-                    }
+            // C:\\dev\\jbossrules\\trunk3\\drools-compiler\\src\\main\\resources\\org\\drools\\semantics\\java\\parser\\JavaParser.g:678:25: ( ( NOT_EQUAL | EQUAL ) relationalExpression )*
+            loop58:
+            do {
+                int alt58=2;
+                int LA58_0 = input.LA(1);
 
-                    switch ( alt58 ) {
-                        case 1 :
-                            // D:\\workspace\\jboss\\jbossrules\\drools-compiler\\src\\main\\resources\\org\\drools\\semantics\\java\\parser\\JavaParser.g:678:26: (NOT_EQUAL|EQUAL) relationalExpression
-                        {
-                            if ( (this.input.LA( 1 ) >= NOT_EQUAL && this.input.LA( 1 ) <= EQUAL) ) {
-                                this.input.consume();
-                                this.errorRecovery = false;
-                            } else {
-                                final MismatchedSetException mse = new MismatchedSetException( null,
-                                                                                         this.input );
-                                recoverFromMismatchedSet( this.input,
-                                                          mse,
-                                                          FOLLOW_set_in_equalityExpression2253 );
-                                throw mse;
-                            }
+                if ( ((LA58_0>=NOT_EQUAL && LA58_0<=EQUAL)) ) {
+                    alt58=1;
+                }
 
-                            pushFollow( FOLLOW_relationalExpression_in_equalityExpression2260 );
-                            relationalExpression();
-                            this._fsp--;
 
-                        }
-                            break;
+                switch (alt58) {
+            	case 1 :
+            	    // C:\\dev\\jbossrules\\trunk3\\drools-compiler\\src\\main\\resources\\org\\drools\\semantics\\java\\parser\\JavaParser.g:678:26: ( NOT_EQUAL | EQUAL ) relationalExpression
+            	    {
+            	    if ( (input.LA(1)>=NOT_EQUAL && input.LA(1)<=EQUAL) ) {
+            	        input.consume();
+            	        errorRecovery=false;
+            	    }
+            	    else {
+            	        MismatchedSetException mse =
+            	            new MismatchedSetException(null,input);
+            	        recoverFromMismatchedSet(input,mse,FOLLOW_set_in_equalityExpression2252);    throw mse;
+            	    }
 
-                        default :
-                            break loop58;
-                    }
-                } while ( true );
+            	    pushFollow(FOLLOW_relationalExpression_in_equalityExpression2260);
+            	    relationalExpression();
+            	    _fsp--;
 
+
+            	    }
+            	    break;
+
+            	default :
+            	    break loop58;
+                }
+            } while (true);
+
+
             }
 
-        } catch ( final RecognitionException re ) {
-            reportError( re );
-            recover( this.input,
-                     re );
-        } finally {
         }
-        return;
+        catch (RecognitionException re) {
+            reportError(re);
+            recover(input,re);
+        }
+        finally {
+        }
+        return ;
     }
-
     // $ANTLR end equalityExpression
 
+
     // $ANTLR start relationalExpression
-    // D:\\workspace\\jboss\\jbossrules\\drools-compiler\\src\\main\\resources\\org\\drools\\semantics\\java\\parser\\JavaParser.g:683:1: relationalExpression : shiftExpression ( ( (LT|GT|LE|GE) shiftExpression )* | 'instanceof' typeSpec ) ;
-    public void relationalExpression() throws RecognitionException {
+    // C:\\dev\\jbossrules\\trunk3\\drools-compiler\\src\\main\\resources\\org\\drools\\semantics\\java\\parser\\JavaParser.g:683:1: relationalExpression : shiftExpression ( ( ( LT | GT | LE | GE ) shiftExpression )* | 'instanceof' typeSpec ) ;
+    public final void relationalExpression() throws RecognitionException {
         try {
-            // D:\\workspace\\jboss\\jbossrules\\drools-compiler\\src\\main\\resources\\org\\drools\\semantics\\java\\parser\\JavaParser.g:684:4: ( shiftExpression ( ( (LT|GT|LE|GE) shiftExpression )* | 'instanceof' typeSpec ) )
-            // D:\\workspace\\jboss\\jbossrules\\drools-compiler\\src\\main\\resources\\org\\drools\\semantics\\java\\parser\\JavaParser.g:684:4: shiftExpression ( ( (LT|GT|LE|GE) shiftExpression )* | 'instanceof' typeSpec )
+            // C:\\dev\\jbossrules\\trunk3\\drools-compiler\\src\\main\\resources\\org\\drools\\semantics\\java\\parser\\JavaParser.g:684:4: ( shiftExpression ( ( ( LT | GT | LE | GE ) shiftExpression )* | 'instanceof' typeSpec ) )
+            // C:\\dev\\jbossrules\\trunk3\\drools-compiler\\src\\main\\resources\\org\\drools\\semantics\\java\\parser\\JavaParser.g:684:4: shiftExpression ( ( ( LT | GT | LE | GE ) shiftExpression )* | 'instanceof' typeSpec )
             {
-                pushFollow( FOLLOW_shiftExpression_in_relationalExpression2275 );
-                shiftExpression();
-                this._fsp--;
+            pushFollow(FOLLOW_shiftExpression_in_relationalExpression2275);
+            shiftExpression();
+            _fsp--;
 
-                // D:\\workspace\\jboss\\jbossrules\\drools-compiler\\src\\main\\resources\\org\\drools\\semantics\\java\\parser\\JavaParser.g:685:3: ( ( (LT|GT|LE|GE) shiftExpression )* | 'instanceof' typeSpec )
-                int alt60 = 2;
-                final int LA60_0 = this.input.LA( 1 );
-                if ( (LA60_0 == RBRACK || (LA60_0 >= SEMI && LA60_0 <= COMMA) || (LA60_0 >= RPAREN && LA60_0 <= GE)) ) {
-                    alt60 = 1;
-                } else if ( (LA60_0 == 111) ) {
-                    alt60 = 2;
-                } else {
-                    final NoViableAltException nvae = new NoViableAltException( "685:3: ( ( (LT|GT|LE|GE) shiftExpression )* | 'instanceof' typeSpec )",
-                                                                          60,
-                                                                          0,
-                                                                          this.input );
+            // C:\\dev\\jbossrules\\trunk3\\drools-compiler\\src\\main\\resources\\org\\drools\\semantics\\java\\parser\\JavaParser.g:685:3: ( ( ( LT | GT | LE | GE ) shiftExpression )* | 'instanceof' typeSpec )
+            int alt60=2;
+            int LA60_0 = input.LA(1);
 
-                    throw nvae;
-                }
-                switch ( alt60 ) {
-                    case 1 :
-                        // D:\\workspace\\jboss\\jbossrules\\drools-compiler\\src\\main\\resources\\org\\drools\\semantics\\java\\parser\\JavaParser.g:685:5: ( (LT|GT|LE|GE) shiftExpression )*
+            if ( (LA60_0==RBRACK||(LA60_0>=SEMI && LA60_0<=COMMA)||(LA60_0>=RPAREN && LA60_0<=GE)) ) {
+                alt60=1;
+            }
+            else if ( (LA60_0==111) ) {
+                alt60=2;
+            }
+            else {
+                NoViableAltException nvae =
+                    new NoViableAltException("685:3: ( ( ( LT | GT | LE | GE ) shiftExpression )* | 'instanceof' typeSpec )", 60, 0, input);
+
+                throw nvae;
+            }
+            switch (alt60) {
+                case 1 :
+                    // C:\\dev\\jbossrules\\trunk3\\drools-compiler\\src\\main\\resources\\org\\drools\\semantics\\java\\parser\\JavaParser.g:685:5: ( ( LT | GT | LE | GE ) shiftExpression )*
                     {
-                        // D:\\workspace\\jboss\\jbossrules\\drools-compiler\\src\\main\\resources\\org\\drools\\semantics\\java\\parser\\JavaParser.g:685:5: ( (LT|GT|LE|GE) shiftExpression )*
-                        loop59 : do {
-                            int alt59 = 2;
-                            final int LA59_0 = this.input.LA( 1 );
-                            if ( ((LA59_0 >= LT && LA59_0 <= GE)) ) {
-                                alt59 = 1;
-                            }
+                    // C:\\dev\\jbossrules\\trunk3\\drools-compiler\\src\\main\\resources\\org\\drools\\semantics\\java\\parser\\JavaParser.g:685:5: ( ( LT | GT | LE | GE ) shiftExpression )*
+                    loop59:
+                    do {
+                        int alt59=2;
+                        int LA59_0 = input.LA(1);
 
-                            switch ( alt59 ) {
-                                case 1 :
-                                    // D:\\workspace\\jboss\\jbossrules\\drools-compiler\\src\\main\\resources\\org\\drools\\semantics\\java\\parser\\JavaParser.g:685:7: (LT|GT|LE|GE) shiftExpression
-                                {
-                                    if ( (this.input.LA( 1 ) >= LT && this.input.LA( 1 ) <= GE) ) {
-                                        this.input.consume();
-                                        this.errorRecovery = false;
-                                    } else {
-                                        final MismatchedSetException mse = new MismatchedSetException( null,
-                                                                                                 this.input );
-                                        recoverFromMismatchedSet( this.input,
-                                                                  mse,
-                                                                  FOLLOW_set_in_relationalExpression2285 );
-                                        throw mse;
-                                    }
+                        if ( ((LA59_0>=LT && LA59_0<=GE)) ) {
+                            alt59=1;
+                        }
 
-                                    pushFollow( FOLLOW_shiftExpression_in_relationalExpression2321 );
-                                    shiftExpression();
-                                    this._fsp--;
 
-                                }
-                                    break;
+                        switch (alt59) {
+                    	case 1 :
+                    	    // C:\\dev\\jbossrules\\trunk3\\drools-compiler\\src\\main\\resources\\org\\drools\\semantics\\java\\parser\\JavaParser.g:685:7: ( LT | GT | LE | GE ) shiftExpression
+                    	    {
+                    	    if ( (input.LA(1)>=LT && input.LA(1)<=GE) ) {
+                    	        input.consume();
+                    	        errorRecovery=false;
+                    	    }
+                    	    else {
+                    	        MismatchedSetException mse =
+                    	            new MismatchedSetException(null,input);
+                    	        recoverFromMismatchedSet(input,mse,FOLLOW_set_in_relationalExpression2283);    throw mse;
+                    	    }
 
-                                default :
-                                    break loop59;
-                            }
-                        } while ( true );
+                    	    pushFollow(FOLLOW_shiftExpression_in_relationalExpression2321);
+                    	    shiftExpression();
+                    	    _fsp--;
 
+
+                    	    }
+                    	    break;
+
+                    	default :
+                    	    break loop59;
+                        }
+                    } while (true);
+
+
                     }
-                        break;
-                    case 2 :
-                        // D:\\workspace\\jboss\\jbossrules\\drools-compiler\\src\\main\\resources\\org\\drools\\semantics\\java\\parser\\JavaParser.g:692:5: 'instanceof' typeSpec
+                    break;
+                case 2 :
+                    // C:\\dev\\jbossrules\\trunk3\\drools-compiler\\src\\main\\resources\\org\\drools\\semantics\\java\\parser\\JavaParser.g:692:5: 'instanceof' typeSpec
                     {
-                        match( this.input,
-                               111,
-                               FOLLOW_111_in_relationalExpression2333 );
-                        pushFollow( FOLLOW_typeSpec_in_relationalExpression2335 );
-                        typeSpec();
-                        this._fsp--;
+                    match(input,111,FOLLOW_111_in_relationalExpression2333); 
+                    pushFollow(FOLLOW_typeSpec_in_relationalExpression2335);
+                    typeSpec();
+                    _fsp--;
 
+
                     }
-                        break;
+                    break;
 
-                }
+            }
 
+
             }
 
-        } catch ( final RecognitionException re ) {
-            reportError( re );
-            recover( this.input,
-                     re );
-        } finally {
         }
-        return;
+        catch (RecognitionException re) {
+            reportError(re);
+            recover(input,re);
+        }
+        finally {
+        }
+        return ;
     }
-
     // $ANTLR end relationalExpression
 
+
     // $ANTLR start shiftExpression
-    // D:\\workspace\\jboss\\jbossrules\\drools-compiler\\src\\main\\resources\\org\\drools\\semantics\\java\\parser\\JavaParser.g:698:1: shiftExpression : additiveExpression ( (SL|SR|BSR) additiveExpression )* ;
-    public void shiftExpression() throws RecognitionException {
+    // C:\\dev\\jbossrules\\trunk3\\drools-compiler\\src\\main\\resources\\org\\drools\\semantics\\java\\parser\\JavaParser.g:698:1: shiftExpression : additiveExpression ( ( SL | SR | BSR ) additiveExpression )* ;
+    public final void shiftExpression() throws RecognitionException {
         try {
-            // D:\\workspace\\jboss\\jbossrules\\drools-compiler\\src\\main\\resources\\org\\drools\\semantics\\java\\parser\\JavaParser.g:699:4: ( additiveExpression ( (SL|SR|BSR) additiveExpression )* )
-            // D:\\workspace\\jboss\\jbossrules\\drools-compiler\\src\\main\\resources\\org\\drools\\semantics\\java\\parser\\JavaParser.g:699:4: additiveExpression ( (SL|SR|BSR) additiveExpression )*
+            // C:\\dev\\jbossrules\\trunk3\\drools-compiler\\src\\main\\resources\\org\\drools\\semantics\\java\\parser\\JavaParser.g:699:4: ( additiveExpression ( ( SL | SR | BSR ) additiveExpression )* )
+            // C:\\dev\\jbossrules\\trunk3\\drools-compiler\\src\\main\\resources\\org\\drools\\semantics\\java\\parser\\JavaParser.g:699:4: additiveExpression ( ( SL | SR | BSR ) additiveExpression )*
             {
-                pushFollow( FOLLOW_additiveExpression_in_shiftExpression2352 );
-                additiveExpression();
-                this._fsp--;
+            pushFollow(FOLLOW_additiveExpression_in_shiftExpression2352);
+            additiveExpression();
+            _fsp--;
 
-                // D:\\workspace\\jboss\\jbossrules\\drools-compiler\\src\\main\\resources\\org\\drools\\semantics\\java\\parser\\JavaParser.g:699:23: ( (SL|SR|BSR) additiveExpression )*
-                loop61 : do {
-                    int alt61 = 2;
-                    final int LA61_0 = this.input.LA( 1 );
-                    if ( ((LA61_0 >= SL && LA61_0 <= BSR)) ) {
-                        alt61 = 1;
-                    }
+            // C:\\dev\\jbossrules\\trunk3\\drools-compiler\\src\\main\\resources\\org\\drools\\semantics\\java\\parser\\JavaParser.g:699:23: ( ( SL | SR | BSR ) additiveExpression )*
+            loop61:
+            do {
+                int alt61=2;
+                int LA61_0 = input.LA(1);
 
-                    switch ( alt61 ) {
-                        case 1 :
-                            // D:\\workspace\\jboss\\jbossrules\\drools-compiler\\src\\main\\resources\\org\\drools\\semantics\\java\\parser\\JavaParser.g:699:24: (SL|SR|BSR) additiveExpression
-                        {
-                            if ( (this.input.LA( 1 ) >= SL && this.input.LA( 1 ) <= BSR) ) {
-                                this.input.consume();
-                                this.errorRecovery = false;
-                            } else {
-                                final MismatchedSetException mse = new MismatchedSetException( null,
-                                                                                         this.input );
-                                recoverFromMismatchedSet( this.input,
-                                                          mse,
-                                                          FOLLOW_set_in_shiftExpression2356 );
-                                throw mse;
-                            }
+                if ( ((LA61_0>=SL && LA61_0<=BSR)) ) {
+                    alt61=1;
+                }
 
-                            pushFollow( FOLLOW_additiveExpression_in_shiftExpression2367 );
-                            additiveExpression();
-                            this._fsp--;
 
-                        }
-                            break;
+                switch (alt61) {
+            	case 1 :
+            	    // C:\\dev\\jbossrules\\trunk3\\drools-compiler\\src\\main\\resources\\org\\drools\\semantics\\java\\parser\\JavaParser.g:699:24: ( SL | SR | BSR ) additiveExpression
+            	    {
+            	    if ( (input.LA(1)>=SL && input.LA(1)<=BSR) ) {
+            	        input.consume();
+            	        errorRecovery=false;
+            	    }
+            	    else {
+            	        MismatchedSetException mse =
+            	            new MismatchedSetException(null,input);
+            	        recoverFromMismatchedSet(input,mse,FOLLOW_set_in_shiftExpression2355);    throw mse;
+            	    }
 
-                        default :
-                            break loop61;
-                    }
-                } while ( true );
+            	    pushFollow(FOLLOW_additiveExpression_in_shiftExpression2367);
+            	    additiveExpression();
+            	    _fsp--;
 
+
+            	    }
+            	    break;
+
+            	default :
+            	    break loop61;
+                }
+            } while (true);
+
+
             }
 
-        } catch ( final RecognitionException re ) {
-            reportError( re );
-            recover( this.input,
-                     re );
-        } finally {
         }
-        return;
+        catch (RecognitionException re) {
+            reportError(re);
+            recover(input,re);
+        }
+        finally {
+        }
+        return ;
     }
-
     // $ANTLR end shiftExpression
 
+
     // $ANTLR start additiveExpression
-    // D:\\workspace\\jboss\\jbossrules\\drools-compiler\\src\\main\\resources\\org\\drools\\semantics\\java\\parser\\JavaParser.g:704:1: additiveExpression : multiplicativeExpression ( (PLUS|MINUS) multiplicativeExpression )* ;
-    public void additiveExpression() throws RecognitionException {
+    // C:\\dev\\jbossrules\\trunk3\\drools-compiler\\src\\main\\resources\\org\\drools\\semantics\\java\\parser\\JavaParser.g:704:1: additiveExpression : multiplicativeExpression ( ( PLUS | MINUS ) multiplicativeExpression )* ;
+    public final void additiveExpression() throws RecognitionException {
         try {
-            // D:\\workspace\\jboss\\jbossrules\\drools-compiler\\src\\main\\resources\\org\\drools\\semantics\\java\\parser\\JavaParser.g:705:4: ( multiplicativeExpression ( (PLUS|MINUS) multiplicativeExpression )* )
-            // D:\\workspace\\jboss\\jbossrules\\drools-compiler\\src\\main\\resources\\org\\drools\\semantics\\java\\parser\\JavaParser.g:705:4: multiplicativeExpression ( (PLUS|MINUS) multiplicativeExpression )*
+            // C:\\dev\\jbossrules\\trunk3\\drools-compiler\\src\\main\\resources\\org\\drools\\semantics\\java\\parser\\JavaParser.g:705:4: ( multiplicativeExpression ( ( PLUS | MINUS ) multiplicativeExpression )* )
+            // C:\\dev\\jbossrules\\trunk3\\drools-compiler\\src\\main\\resources\\org\\drools\\semantics\\java\\parser\\JavaParser.g:705:4: multiplicativeExpression ( ( PLUS | MINUS ) multiplicativeExpression )*
             {
-                pushFollow( FOLLOW_multiplicativeExpression_in_additiveExpression2382 );
-                multiplicativeExpression();
-                this._fsp--;
+            pushFollow(FOLLOW_multiplicativeExpression_in_additiveExpression2382);
+            multiplicativeExpression();
+            _fsp--;
 
-                // D:\\workspace\\jboss\\jbossrules\\drools-compiler\\src\\main\\resources\\org\\drools\\semantics\\java\\parser\\JavaParser.g:705:29: ( (PLUS|MINUS) multiplicativeExpression )*
-                loop62 : do {
-                    int alt62 = 2;
-                    final int LA62_0 = this.input.LA( 1 );
-                    if ( ((LA62_0 >= PLUS && LA62_0 <= MINUS)) ) {
-                        alt62 = 1;
-                    }
+            // C:\\dev\\jbossrules\\trunk3\\drools-compiler\\src\\main\\resources\\org\\drools\\semantics\\java\\parser\\JavaParser.g:705:29: ( ( PLUS | MINUS ) multiplicativeExpression )*
+            loop62:
+            do {
+                int alt62=2;
+                int LA62_0 = input.LA(1);
 
-                    switch ( alt62 ) {
-                        case 1 :
-                            // D:\\workspace\\jboss\\jbossrules\\drools-compiler\\src\\main\\resources\\org\\drools\\semantics\\java\\parser\\JavaParser.g:705:30: (PLUS|MINUS) multiplicativeExpression
-                        {
-                            if ( (this.input.LA( 1 ) >= PLUS && this.input.LA( 1 ) <= MINUS) ) {
-                                this.input.consume();
-                                this.errorRecovery = false;
-                            } else {
-                                final MismatchedSetException mse = new MismatchedSetException( null,
-                                                                                         this.input );
-                                recoverFromMismatchedSet( this.input,
-                                                          mse,
-                                                          FOLLOW_set_in_additiveExpression2386 );
-                                throw mse;
-                            }
+                if ( ((LA62_0>=PLUS && LA62_0<=MINUS)) ) {
+                    alt62=1;
+                }
 
-                            pushFollow( FOLLOW_multiplicativeExpression_in_additiveExpression2393 );
-                            multiplicativeExpression();
-                            this._fsp--;
 
-                        }
-                            break;
+                switch (alt62) {
+            	case 1 :
+            	    // C:\\dev\\jbossrules\\trunk3\\drools-compiler\\src\\main\\resources\\org\\drools\\semantics\\java\\parser\\JavaParser.g:705:30: ( PLUS | MINUS ) multiplicativeExpression
+            	    {
+            	    if ( (input.LA(1)>=PLUS && input.LA(1)<=MINUS) ) {
+            	        input.consume();
+            	        errorRecovery=false;
+            	    }
+            	    else {
+            	        MismatchedSetException mse =
+            	            new MismatchedSetException(null,input);
+            	        recoverFromMismatchedSet(input,mse,FOLLOW_set_in_additiveExpression2385);    throw mse;
+            	    }
 
-                        default :
-                            break loop62;
-                    }
-                } while ( true );
+            	    pushFollow(FOLLOW_multiplicativeExpression_in_additiveExpression2393);
+            	    multiplicativeExpression();
+            	    _fsp--;
 
+
+            	    }
+            	    break;
+
+            	default :
+            	    break loop62;
+                }
+            } while (true);
+
+
             }
 
-        } catch ( final RecognitionException re ) {
-            reportError( re );
-            recover( this.input,
-                     re );
-        } finally {
         }
-        return;
+        catch (RecognitionException re) {
+            reportError(re);
+            recover(input,re);
+        }
+        finally {
+        }
+        return ;
     }
-
     // $ANTLR end additiveExpression
 
+
     // $ANTLR start multiplicativeExpression
-    // D:\\workspace\\jboss\\jbossrules\\drools-compiler\\src\\main\\resources\\org\\drools\\semantics\\java\\parser\\JavaParser.g:710:1: multiplicativeExpression : unaryExpression ( (STAR|DIV|MOD) unaryExpression )* ;
-    public void multiplicativeExpression() throws RecognitionException {
+    // C:\\dev\\jbossrules\\trunk3\\drools-compiler\\src\\main\\resources\\org\\drools\\semantics\\java\\parser\\JavaParser.g:710:1: multiplicativeExpression : unaryExpression ( ( STAR | DIV | MOD ) unaryExpression )* ;
+    public final void multiplicativeExpression() throws RecognitionException {
         try {
-            // D:\\workspace\\jboss\\jbossrules\\drools-compiler\\src\\main\\resources\\org\\drools\\semantics\\java\\parser\\JavaParser.g:711:4: ( unaryExpression ( (STAR|DIV|MOD) unaryExpression )* )
-            // D:\\workspace\\jboss\\jbossrules\\drools-compiler\\src\\main\\resources\\org\\drools\\semantics\\java\\parser\\JavaParser.g:711:4: unaryExpression ( (STAR|DIV|MOD) unaryExpression )*
+            // C:\\dev\\jbossrules\\trunk3\\drools-compiler\\src\\main\\resources\\org\\drools\\semantics\\java\\parser\\JavaParser.g:711:4: ( unaryExpression ( ( STAR | DIV | MOD ) unaryExpression )* )
+            // C:\\dev\\jbossrules\\trunk3\\drools-compiler\\src\\main\\resources\\org\\drools\\semantics\\java\\parser\\JavaParser.g:711:4: unaryExpression ( ( STAR | DIV | MOD ) unaryExpression )*
             {
-                pushFollow( FOLLOW_unaryExpression_in_multiplicativeExpression2408 );
-                unaryExpression();
-                this._fsp--;
+            pushFollow(FOLLOW_unaryExpression_in_multiplicativeExpression2408);
+            unaryExpression();
+            _fsp--;
 
-                // D:\\workspace\\jboss\\jbossrules\\drools-compiler\\src\\main\\resources\\org\\drools\\semantics\\java\\parser\\JavaParser.g:711:20: ( (STAR|DIV|MOD) unaryExpression )*
-                loop63 : do {
-                    int alt63 = 2;
-                    final int LA63_0 = this.input.LA( 1 );
-                    if ( (LA63_0 == STAR || (LA63_0 >= DIV && LA63_0 <= MOD)) ) {
-                        alt63 = 1;
-                    }
+            // C:\\dev\\jbossrules\\trunk3\\drools-compiler\\src\\main\\resources\\org\\drools\\semantics\\java\\parser\\JavaParser.g:711:20: ( ( STAR | DIV | MOD ) unaryExpression )*
+            loop63:
+            do {
+                int alt63=2;
+                int LA63_0 = input.LA(1);
 
-                    switch ( alt63 ) {
-                        case 1 :
-                            // D:\\workspace\\jboss\\jbossrules\\drools-compiler\\src\\main\\resources\\org\\drools\\semantics\\java\\parser\\JavaParser.g:711:21: (STAR|DIV|MOD) unaryExpression
-                        {
-                            if ( this.input.LA( 1 ) == STAR || (this.input.LA( 1 ) >= DIV && this.input.LA( 1 ) <= MOD) ) {
-                                this.input.consume();
-                                this.errorRecovery = false;
-                            } else {
-                                final MismatchedSetException mse = new MismatchedSetException( null,
-                                                                                         this.input );
-                                recoverFromMismatchedSet( this.input,
-                                                          mse,
-                                                          FOLLOW_set_in_multiplicativeExpression2412 );
-                                throw mse;
-                            }
+                if ( (LA63_0==STAR||(LA63_0>=DIV && LA63_0<=MOD)) ) {
+                    alt63=1;
+                }
 
-                            pushFollow( FOLLOW_unaryExpression_in_multiplicativeExpression2424 );
-                            unaryExpression();
-                            this._fsp--;
 
-                        }
-                            break;
+                switch (alt63) {
+            	case 1 :
+            	    // C:\\dev\\jbossrules\\trunk3\\drools-compiler\\src\\main\\resources\\org\\drools\\semantics\\java\\parser\\JavaParser.g:711:21: ( STAR | DIV | MOD ) unaryExpression
+            	    {
+            	    if ( input.LA(1)==STAR||(input.LA(1)>=DIV && input.LA(1)<=MOD) ) {
+            	        input.consume();
+            	        errorRecovery=false;
+            	    }
+            	    else {
+            	        MismatchedSetException mse =
+            	            new MismatchedSetException(null,input);
+            	        recoverFromMismatchedSet(input,mse,FOLLOW_set_in_multiplicativeExpression2411);    throw mse;
+            	    }
 
-                        default :
-                            break loop63;
-                    }
-                } while ( true );
+            	    pushFollow(FOLLOW_unaryExpression_in_multiplicativeExpression2424);
+            	    unaryExpression();
+            	    _fsp--;
 
+
+            	    }
+            	    break;
+
+            	default :
+            	    break loop63;
+                }
+            } while (true);
+
+
             }
 
-        } catch ( final RecognitionException re ) {
-            reportError( re );
-            recover( this.input,
-                     re );
-        } finally {
         }
-        return;
+        catch (RecognitionException re) {
+            reportError(re);
+            recover(input,re);
+        }
+        finally {
+        }
+        return ;
     }
-
     // $ANTLR end multiplicativeExpression
 
+
     // $ANTLR start unaryExpression
-    // D:\\workspace\\jboss\\jbossrules\\drools-compiler\\src\\main\\resources\\org\\drools\\semantics\\java\\parser\\JavaParser.g:714:1: unaryExpression : ( INC unaryExpression | DEC unaryExpression | MINUS unaryExpression | PLUS unaryExpression | unaryExpressionNotPlusMinus );
-    public void unaryExpression() throws RecognitionException {
+    // C:\\dev\\jbossrules\\trunk3\\drools-compiler\\src\\main\\resources\\org\\drools\\semantics\\java\\parser\\JavaParser.g:714:1: unaryExpression : ( INC unaryExpression | DEC unaryExpression | MINUS unaryExpression | PLUS unaryExpression | unaryExpressionNotPlusMinus );
+    public final void unaryExpression() throws RecognitionException {
         try {
-            // D:\\workspace\\jboss\\jbossrules\\drools-compiler\\src\\main\\resources\\org\\drools\\semantics\\java\\parser\\JavaParser.g:715:4: ( INC unaryExpression | DEC unaryExpression | MINUS unaryExpression | PLUS unaryExpression | unaryExpressionNotPlusMinus )
-            int alt64 = 5;
-            switch ( this.input.LA( 1 ) ) {
-                case INC :
-                    alt64 = 1;
-                    break;
-                case DEC :
-                    alt64 = 2;
-                    break;
-                case MINUS :
-                    alt64 = 3;
-                    break;
-                case PLUS :
-                    alt64 = 4;
-                    break;
-                case IDENT :
-                case LPAREN :
-                case BNOT :
-                case LNOT :
-                case NUM_INT :
-                case CHAR_LITERAL :
-                case STRING_LITERAL :
-                case NUM_FLOAT :
-                case 68 :
-                case 69 :
-                case 70 :
-                case 71 :
-                case 72 :
-                case 73 :
-                case 74 :
-                case 75 :
-                case 76 :
-                case 93 :
-                case 94 :
-                case 112 :
-                case 113 :
-                case 114 :
-                case 115 :
-                    alt64 = 5;
-                    break;
-                default :
-                    final NoViableAltException nvae = new NoViableAltException( "714:1: unaryExpression : ( INC unaryExpression | DEC unaryExpression | MINUS unaryExpression | PLUS unaryExpression | unaryExpressionNotPlusMinus );",
-                                                                          64,
-                                                                          0,
-                                                                          this.input );
+            // C:\\dev\\jbossrules\\trunk3\\drools-compiler\\src\\main\\resources\\org\\drools\\semantics\\java\\parser\\JavaParser.g:715:4: ( INC unaryExpression | DEC unaryExpression | MINUS unaryExpression | PLUS unaryExpression | unaryExpressionNotPlusMinus )
+            int alt64=5;
+            switch ( input.LA(1) ) {
+            case INC:
+                {
+                alt64=1;
+                }
+                break;
+            case DEC:
+                {
+                alt64=2;
+                }
+                break;
+            case MINUS:
+                {
+                alt64=3;
+                }
+                break;
+            case PLUS:
+                {
+                alt64=4;
+                }
+                break;
+            case IDENT:
+            case LPAREN:
+            case BNOT:
+            case LNOT:
+            case NUM_INT:
+            case CHAR_LITERAL:
+            case STRING_LITERAL:
+            case NUM_FLOAT:
+            case 68:
+            case 69:
+            case 70:
+            case 71:
+            case 72:
+            case 73:
+            case 74:
+            case 75:
+            case 76:
+            case 93:
+            case 94:
+            case 112:
+            case 113:
+            case 114:
+            case 115:
+                {
+                alt64=5;
+                }
+                break;
+            default:
+                NoViableAltException nvae =
+                    new NoViableAltException("714:1: unaryExpression : ( INC unaryExpression | DEC unaryExpression | MINUS unaryExpression | PLUS unaryExpression | unaryExpressionNotPlusMinus );", 64, 0, input);
 
-                    throw nvae;
+                throw nvae;
             }
 
-            switch ( alt64 ) {
+            switch (alt64) {
                 case 1 :
-                    // D:\\workspace\\jboss\\jbossrules\\drools-compiler\\src\\main\\resources\\org\\drools\\semantics\\java\\parser\\JavaParser.g:715:4: INC unaryExpression
-                {
-                    match( this.input,
-                           INC,
-                           FOLLOW_INC_in_unaryExpression2437 );
-                    pushFollow( FOLLOW_unaryExpression_in_unaryExpression2439 );
+                    // C:\\dev\\jbossrules\\trunk3\\drools-compiler\\src\\main\\resources\\org\\drools\\semantics\\java\\parser\\JavaParser.g:715:4: INC unaryExpression
+                    {
+                    match(input,INC,FOLLOW_INC_in_unaryExpression2437); 
+                    pushFollow(FOLLOW_unaryExpression_in_unaryExpression2439);
                     unaryExpression();
-                    this._fsp--;
+                    _fsp--;
 
-                }
+
+                    }
                     break;
                 case 2 :
-                    // D:\\workspace\\jboss\\jbossrules\\drools-compiler\\src\\main\\resources\\org\\drools\\semantics\\java\\parser\\JavaParser.g:716:4: DEC unaryExpression
-                {
-                    match( this.input,
-                           DEC,
-                           FOLLOW_DEC_in_unaryExpression2444 );
-                    pushFollow( FOLLOW_unaryExpression_in_unaryExpression2446 );
+                    // C:\\dev\\jbossrules\\trunk3\\drools-compiler\\src\\main\\resources\\org\\drools\\semantics\\java\\parser\\JavaParser.g:716:4: DEC unaryExpression
+                    {
+                    match(input,DEC,FOLLOW_DEC_in_unaryExpression2444); 
+                    pushFollow(FOLLOW_unaryExpression_in_unaryExpression2446);
                     unaryExpression();
-                    this._fsp--;
+                    _fsp--;
 
-                }
+
+                    }
                     break;
                 case 3 :
-                    // D:\\workspace\\jboss\\jbossrules\\drools-compiler\\src\\main\\resources\\org\\drools\\semantics\\java\\parser\\JavaParser.g:717:4: MINUS unaryExpression
-                {
-                    match( this.input,
-                           MINUS,
-                           FOLLOW_MINUS_in_unaryExpression2451 );
-                    pushFollow( FOLLOW_unaryExpression_in_unaryExpression2454 );
+                    // C:\\dev\\jbossrules\\trunk3\\drools-compiler\\src\\main\\resources\\org\\drools\\semantics\\java\\parser\\JavaParser.g:717:4: MINUS unaryExpression
+                    {
+                    match(input,MINUS,FOLLOW_MINUS_in_unaryExpression2451); 
+                    pushFollow(FOLLOW_unaryExpression_in_unaryExpression2454);
                     unaryExpression();
-                    this._fsp--;
+                    _fsp--;
 
-                }
+
+                    }
                     break;
                 case 4 :
-                    // D:\\workspace\\jboss\\jbossrules\\drools-compiler\\src\\main\\resources\\org\\drools\\semantics\\java\\parser\\JavaParser.g:718:4: PLUS unaryExpression
-                {
-                    match( this.input,
-                           PLUS,
-                           FOLLOW_PLUS_in_unaryExpression2459 );
-                    pushFollow( FOLLOW_unaryExpression_in_unaryExpression2463 );
+                    // C:\\dev\\jbossrules\\trunk3\\drools-compiler\\src\\main\\resources\\org\\drools\\semantics\\java\\parser\\JavaParser.g:718:4: PLUS unaryExpression
+                    {
+                    match(input,PLUS,FOLLOW_PLUS_in_unaryExpression2459); 
+                    pushFollow(FOLLOW_unaryExpression_in_unaryExpression2463);
                     unaryExpression();
-                    this._fsp--;
+                    _fsp--;
 
-                }
+
+                    }
                     break;
                 case 5 :
-                    // D:\\workspace\\jboss\\jbossrules\\drools-compiler\\src\\main\\resources\\org\\drools\\semantics\\java\\parser\\JavaParser.g:719:4: unaryExpressionNotPlusMinus
-                {
-                    pushFollow( FOLLOW_unaryExpressionNotPlusMinus_in_unaryExpression2468 );
+                    // C:\\dev\\jbossrules\\trunk3\\drools-compiler\\src\\main\\resources\\org\\drools\\semantics\\java\\parser\\JavaParser.g:719:4: unaryExpressionNotPlusMinus
+                    {
+                    pushFollow(FOLLOW_unaryExpressionNotPlusMinus_in_unaryExpression2468);
                     unaryExpressionNotPlusMinus();
-                    this._fsp--;
+                    _fsp--;
 
-                }
+
+                    }
                     break;
 
             }
-        } catch ( final RecognitionException re ) {
-            reportError( re );
-            recover( this.input,
-                     re );
-        } finally {
         }
-        return;
+        catch (RecognitionException re) {
+            reportError(re);
+            recover(input,re);
+        }
+        finally {
+        }
+        return ;
     }
-
     // $ANTLR end unaryExpression
 
+
     // $ANTLR start unaryExpressionNotPlusMinus
-    // D:\\workspace\\jboss\\jbossrules\\drools-compiler\\src\\main\\resources\\org\\drools\\semantics\\java\\parser\\JavaParser.g:722:1: unaryExpressionNotPlusMinus : ( BNOT unaryExpression | LNOT unaryExpression | LPAREN builtInTypeSpec RPAREN unaryExpression | LPAREN classTypeSpec RPAREN unaryExpressionNotPlusMinus | postfixExpression );
-    public void unaryExpressionNotPlusMinus() throws RecognitionException {
+    // C:\\dev\\jbossrules\\trunk3\\drools-compiler\\src\\main\\resources\\org\\drools\\semantics\\java\\parser\\JavaParser.g:722:1: unaryExpressionNotPlusMinus : ( BNOT unaryExpression | LNOT unaryExpression | LPAREN builtInTypeSpec RPAREN unaryExpression | LPAREN classTypeSpec RPAREN unaryExpressionNotPlusMinus | postfixExpression );
+    public final void unaryExpressionNotPlusMinus() throws RecognitionException {
         try {
-            // D:\\workspace\\jboss\\jbossrules\\drools-compiler\\src\\main\\resources\\org\\drools\\semantics\\java\\parser\\JavaParser.g:723:4: ( BNOT unaryExpression | LNOT unaryExpression | LPAREN builtInTypeSpec RPAREN unaryExpression | LPAREN classTypeSpec RPAREN unaryExpressionNotPlusMinus | postfixExpression )
-            int alt65 = 5;
-            alt65 = this.dfa65.predict( this.input );
-            switch ( alt65 ) {
+            // C:\\dev\\jbossrules\\trunk3\\drools-compiler\\src\\main\\resources\\org\\drools\\semantics\\java\\parser\\JavaParser.g:723:4: ( BNOT unaryExpression | LNOT unaryExpression | LPAREN builtInTypeSpec RPAREN unaryExpression | LPAREN classTypeSpec RPAREN unaryExpressionNotPlusMinus | postfixExpression )
+            int alt65=5;
+            alt65 = dfa65.predict(input);
+            switch (alt65) {
                 case 1 :
-                    // D:\\workspace\\jboss\\jbossrules\\drools-compiler\\src\\main\\resources\\org\\drools\\semantics\\java\\parser\\JavaParser.g:723:4: BNOT unaryExpression
-                {
-                    match( this.input,
-                           BNOT,
-                           FOLLOW_BNOT_in_unaryExpressionNotPlusMinus2479 );
-                    pushFollow( FOLLOW_unaryExpression_in_unaryExpressionNotPlusMinus2481 );
+                    // C:\\dev\\jbossrules\\trunk3\\drools-compiler\\src\\main\\resources\\org\\drools\\semantics\\java\\parser\\JavaParser.g:723:4: BNOT unaryExpression
+                    {
+                    match(input,BNOT,FOLLOW_BNOT_in_unaryExpressionNotPlusMinus2479); 
+                    pushFollow(FOLLOW_unaryExpression_in_unaryExpressionNotPlusMinus2481);
                     unaryExpression();
-                    this._fsp--;
+                    _fsp--;
 
-                }
+
+                    }
                     break;
                 case 2 :
-                    // D:\\workspace\\jboss\\jbossrules\\drools-compiler\\src\\main\\resources\\org\\drools\\semantics\\java\\parser\\JavaParser.g:724:4: LNOT unaryExpression
-                {
-                    match( this.input,
-                           LNOT,
-                           FOLLOW_LNOT_in_unaryExpressionNotPlusMinus2486 );
-                    pushFollow( FOLLOW_unaryExpression_in_unaryExpressionNotPlusMinus2488 );
+                    // C:\\dev\\jbossrules\\trunk3\\drools-compiler\\src\\main\\resources\\org\\drools\\semantics\\java\\parser\\JavaParser.g:724:4: LNOT unaryExpression
+                    {
+                    match(input,LNOT,FOLLOW_LNOT_in_unaryExpressionNotPlusMinus2486); 
+                    pushFollow(FOLLOW_unaryExpression_in_unaryExpressionNotPlusMinus2488);
                     unaryExpression();
-                    this._fsp--;
+                    _fsp--;
 
-                }
+
+                    }
                     break;
                 case 3 :
-                    // D:\\workspace\\jboss\\jbossrules\\drools-compiler\\src\\main\\resources\\org\\drools\\semantics\\java\\parser\\JavaParser.g:726:9: LPAREN builtInTypeSpec RPAREN unaryExpression
-                {
-                    match( this.input,
-                           LPAREN,
-                           FOLLOW_LPAREN_in_unaryExpressionNotPlusMinus2499 );
-                    pushFollow( FOLLOW_builtInTypeSpec_in_unaryExpressionNotPlusMinus2501 );
+                    // C:\\dev\\jbossrules\\trunk3\\drools-compiler\\src\\main\\resources\\org\\drools\\semantics\\java\\parser\\JavaParser.g:726:9: LPAREN builtInTypeSpec RPAREN unaryExpression
+                    {
+                    match(input,LPAREN,FOLLOW_LPAREN_in_unaryExpressionNotPlusMinus2499); 
+                    pushFollow(FOLLOW_builtInTypeSpec_in_unaryExpressionNotPlusMinus2501);
                     builtInTypeSpec();
-                    this._fsp--;
+                    _fsp--;
 
-                    match( this.input,
-                           RPAREN,
-                           FOLLOW_RPAREN_in_unaryExpressionNotPlusMinus2503 );
-                    pushFollow( FOLLOW_unaryExpression_in_unaryExpressionNotPlusMinus2513 );
+                    match(input,RPAREN,FOLLOW_RPAREN_in_unaryExpressionNotPlusMinus2503); 
+                    pushFollow(FOLLOW_unaryExpression_in_unaryExpressionNotPlusMinus2513);
                     unaryExpression();
-                    this._fsp--;
+                    _fsp--;
 
-                }
+
+                    }
                     break;
                 case 4 :
-                    // D:\\workspace\\jboss\\jbossrules\\drools-compiler\\src\\main\\resources\\org\\drools\\semantics\\java\\parser\\JavaParser.g:732:7: LPAREN classTypeSpec RPAREN unaryExpressionNotPlusMinus
-                {
-                    match( this.input,
-                           LPAREN,
-                           FOLLOW_LPAREN_in_unaryExpressionNotPlusMinus2549 );
-                    pushFollow( FOLLOW_classTypeSpec_in_unaryExpressionNotPlusMinus2551 );
+                    // C:\\dev\\jbossrules\\trunk3\\drools-compiler\\src\\main\\resources\\org\\drools\\semantics\\java\\parser\\JavaParser.g:732:7: LPAREN classTypeSpec RPAREN unaryExpressionNotPlusMinus
+                    {
+                    match(input,LPAREN,FOLLOW_LPAREN_in_unaryExpressionNotPlusMinus2549); 
+                    pushFollow(FOLLOW_classTypeSpec_in_unaryExpressionNotPlusMinus2551);
                     classTypeSpec();
-                    this._fsp--;
+                    _fsp--;
 
-                    match( this.input,
-                           RPAREN,
-                           FOLLOW_RPAREN_in_unaryExpressionNotPlusMinus2553 );
-                    pushFollow( FOLLOW_unaryExpressionNotPlusMinus_in_unaryExpressionNotPlusMinus2563 );
+                    match(input,RPAREN,FOLLOW_RPAREN_in_unaryExpressionNotPlusMinus2553); 
+                    pushFollow(FOLLOW_unaryExpressionNotPlusMinus_in_unaryExpressionNotPlusMinus2563);
                     unaryExpressionNotPlusMinus();
-                    this._fsp--;
+                    _fsp--;
 
-                }
+
+                    }
                     break;
                 case 5 :
-                    // D:\\workspace\\jboss\\jbossrules\\drools-compiler\\src\\main\\resources\\org\\drools\\semantics\\java\\parser\\JavaParser.g:735:7: postfixExpression
-                {
-                    pushFollow( FOLLOW_postfixExpression_in_unaryExpressionNotPlusMinus2572 );
+                    // C:\\dev\\jbossrules\\trunk3\\drools-compiler\\src\\main\\resources\\org\\drools\\semantics\\java\\parser\\JavaParser.g:735:7: postfixExpression
+                    {
+                    pushFollow(FOLLOW_postfixExpression_in_unaryExpressionNotPlusMinus2572);
                     postfixExpression();
-                    this._fsp--;
+                    _fsp--;
 
-                }
+
+                    }
                     break;
 
             }
-        } catch ( final RecognitionException re ) {
-            reportError( re );
-            recover( this.input,
-                     re );
-        } finally {
         }
-        return;
+        catch (RecognitionException re) {
+            reportError(re);
+            recover(input,re);
+        }
+        finally {
+        }
+        return ;
     }
-
     // $ANTLR end unaryExpressionNotPlusMinus
 
+
     // $ANTLR start postfixExpression
-    // D:\\workspace\\jboss\\jbossrules\\drools-compiler\\src\\main\\resources\\org\\drools\\semantics\\java\\parser\\JavaParser.g:739:1: postfixExpression : primaryExpression ( DOT IDENT ( LPAREN argList RPAREN )? | DOT 'this' | DOT 'super' ( LPAREN argList RPAREN | DOT IDENT ( LPAREN argList RPAREN )? ) | DOT newExpression | LBRACK expression RBRACK )* ( (INC|DEC))? ;
-    public void postfixExpression() throws RecognitionException {
+    // C:\\dev\\jbossrules\\trunk3\\drools-compiler\\src\\main\\resources\\org\\drools\\semantics\\java\\parser\\JavaParser.g:739:1: postfixExpression : primaryExpression ( DOT IDENT ( LPAREN argList RPAREN )? | DOT 'this' | DOT 'super' ( LPAREN argList RPAREN | DOT IDENT ( LPAREN argList RPAREN )? ) | DOT newExpression | LBRACK expression RBRACK )* ( INC | DEC )? ;
+    public final void postfixExpression() throws RecognitionException {
         try {
-            // D:\\workspace\\jboss\\jbossrules\\drools-compiler\\src\\main\\resources\\org\\drools\\semantics\\java\\parser\\JavaParser.g:740:6: ( primaryExpression ( DOT IDENT ( LPAREN argList RPAREN )? | DOT 'this' | DOT 'super' ( LPAREN argList RPAREN | DOT IDENT ( LPAREN argList RPAREN )? ) | DOT newExpression | LBRACK expression RBRACK )* ( (INC|DEC))? )
-            // D:\\workspace\\jboss\\jbossrules\\drools-compiler\\src\\main\\resources\\org\\drools\\semantics\\java\\parser\\JavaParser.g:740:6: primaryExpression ( DOT IDENT ( LPAREN argList RPAREN )? | DOT 'this' | DOT 'super' ( LPAREN argList RPAREN | DOT IDENT ( LPAREN argList RPAREN )? ) | DOT newExpression | LBRACK expression RBRACK )* ( (INC|DEC))?
+            // C:\\dev\\jbossrules\\trunk3\\drools-compiler\\src\\main\\resources\\org\\drools\\semantics\\java\\parser\\JavaParser.g:740:6: ( primaryExpression ( DOT IDENT ( LPAREN argList RPAREN )? | DOT 'this' | DOT 'super' ( LPAREN argList RPAREN | DOT IDENT ( LPAREN argList RPAREN )? ) | DOT newExpression | LBRACK expression RBRACK )* ( INC | DEC )? )
+            // C:\\dev\\jbossrules\\trunk3\\drools-compiler\\src\\main\\resources\\org\\drools\\semantics\\java\\parser\\JavaParser.g:740:6: primaryExpression ( DOT IDENT ( LPAREN argList RPAREN )? | DOT 'this' | DOT 'super' ( LPAREN argList RPAREN | DOT IDENT ( LPAREN argList RPAREN )? ) | DOT newExpression | LBRACK expression RBRACK )* ( INC | DEC )?
             {
-                pushFollow( FOLLOW_primaryExpression_in_postfixExpression2586 );
-                primaryExpression();
-                this._fsp--;
+            pushFollow(FOLLOW_primaryExpression_in_postfixExpression2586);
+            primaryExpression();
+            _fsp--;
 
-                // D:\\workspace\\jboss\\jbossrules\\drools-compiler\\src\\main\\resources\\org\\drools\\semantics\\java\\parser\\JavaParser.g:741:3: ( DOT IDENT ( LPAREN argList RPAREN )? | DOT 'this' | DOT 'super' ( LPAREN argList RPAREN | DOT IDENT ( LPAREN argList RPAREN )? ) | DOT newExpression | LBRACK expression RBRACK )*
-                loop69 : do {
-                    int alt69 = 6;
-                    final int LA69_0 = this.input.LA( 1 );
-                    if ( (LA69_0 == DOT) ) {
-                        switch ( this.input.LA( 2 ) ) {
-                            case IDENT :
-                                alt69 = 1;
-                                break;
-                            case 94 :
-                                alt69 = 3;
-                                break;
-                            case 93 :
-                                alt69 = 2;
-                                break;
-                            case 115 :
-                                alt69 = 4;
-                                break;
+            // C:\\dev\\jbossrules\\trunk3\\drools-compiler\\src\\main\\resources\\org\\drools\\semantics\\java\\parser\\JavaParser.g:741:3: ( DOT IDENT ( LPAREN argList RPAREN )? | DOT 'this' | DOT 'super' ( LPAREN argList RPAREN | DOT IDENT ( LPAREN argList RPAREN )? ) | DOT newExpression | LBRACK expression RBRACK )*
+            loop69:
+            do {
+                int alt69=6;
+                int LA69_0 = input.LA(1);
 
+                if ( (LA69_0==DOT) ) {
+                    switch ( input.LA(2) ) {
+                    case IDENT:
+                        {
+                        alt69=1;
                         }
+                        break;
+                    case 93:
+                        {
+                        alt69=2;
+                        }
+                        break;
+                    case 94:
+                        {
+                        alt69=3;
+                        }
+                        break;
+                    case 115:
+                        {
+                        alt69=4;
+                        }
+                        break;
 
-                    } else if ( (LA69_0 == LBRACK) ) {
-                        alt69 = 5;
                     }
 
-                    switch ( alt69 ) {
-                        case 1 :
-                            // D:\\workspace\\jboss\\jbossrules\\drools-compiler\\src\\main\\resources\\org\\drools\\semantics\\java\\parser\\JavaParser.g:741:7: DOT IDENT ( LPAREN argList RPAREN )?
-                        {
-                            match( this.input,
-                                   DOT,
-                                   FOLLOW_DOT_in_postfixExpression2594 );
-                            match( this.input,
-                                   IDENT,
-                                   FOLLOW_IDENT_in_postfixExpression2596 );
-                            // D:\\workspace\\jboss\\jbossrules\\drools-compiler\\src\\main\\resources\\org\\drools\\semantics\\java\\parser\\JavaParser.g:742:4: ( LPAREN argList RPAREN )?
-                            int alt66 = 2;
-                            final int LA66_0 = this.input.LA( 1 );
-                            if ( (LA66_0 == LPAREN) ) {
-                                alt66 = 1;
-                            }
-                            switch ( alt66 ) {
-                                case 1 :
-                                    // D:\\workspace\\jboss\\jbossrules\\drools-compiler\\src\\main\\resources\\org\\drools\\semantics\\java\\parser\\JavaParser.g:742:6: LPAREN argList RPAREN
-                                {
-                                    match( this.input,
-                                           LPAREN,
-                                           FOLLOW_LPAREN_in_postfixExpression2603 );
-                                    pushFollow( FOLLOW_argList_in_postfixExpression2610 );
-                                    argList();
-                                    this._fsp--;
+                }
+                else if ( (LA69_0==LBRACK) ) {
+                    alt69=5;
+                }
 
-                                    match( this.input,
-                                           RPAREN,
-                                           FOLLOW_RPAREN_in_postfixExpression2616 );
 
-                                }
-                                    break;
+                switch (alt69) {
+            	case 1 :
+            	    // C:\\dev\\jbossrules\\trunk3\\drools-compiler\\src\\main\\resources\\org\\drools\\semantics\\java\\parser\\JavaParser.g:741:7: DOT IDENT ( LPAREN argList RPAREN )?
+            	    {
+            	    match(input,DOT,FOLLOW_DOT_in_postfixExpression2594); 
+            	    match(input,IDENT,FOLLOW_IDENT_in_postfixExpression2596); 
+            	    // C:\\dev\\jbossrules\\trunk3\\drools-compiler\\src\\main\\resources\\org\\drools\\semantics\\java\\parser\\JavaParser.g:742:4: ( LPAREN argList RPAREN )?
+            	    int alt66=2;
+            	    int LA66_0 = input.LA(1);
 
-                            }
+            	    if ( (LA66_0==LPAREN) ) {
+            	        alt66=1;
+            	    }
+            	    switch (alt66) {
+            	        case 1 :
+            	            // C:\\dev\\jbossrules\\trunk3\\drools-compiler\\src\\main\\resources\\org\\drools\\semantics\\java\\parser\\JavaParser.g:742:6: LPAREN argList RPAREN
+            	            {
+            	            match(input,LPAREN,FOLLOW_LPAREN_in_postfixExpression2603); 
+            	            pushFollow(FOLLOW_argList_in_postfixExpression2610);
+            	            argList();
+            	            _fsp--;
 
-                        }
-                            break;
-                        case 2 :
-                            // D:\\workspace\\jboss\\jbossrules\\drools-compiler\\src\\main\\resources\\org\\drools\\semantics\\java\\parser\\JavaParser.g:746:5: DOT 'this'
-                        {
-                            match( this.input,
-                                   DOT,
-                                   FOLLOW_DOT_in_postfixExpression2628 );
-                            match( this.input,
-                                   93,
-                                   FOLLOW_93_in_postfixExpression2630 );
+            	            match(input,RPAREN,FOLLOW_RPAREN_in_postfixExpression2616); 
 
-                        }
-                            break;
-                        case 3 :
-                            // D:\\workspace\\jboss\\jbossrules\\drools-compiler\\src\\main\\resources\\org\\drools\\semantics\\java\\parser\\JavaParser.g:748:5: DOT 'super' ( LPAREN argList RPAREN | DOT IDENT ( LPAREN argList RPAREN )? )
-                        {
-                            match( this.input,
-                                   DOT,
-                                   FOLLOW_DOT_in_postfixExpression2637 );
-                            match( this.input,
-                                   94,
-                                   FOLLOW_94_in_postfixExpression2639 );
-                            // D:\\workspace\\jboss\\jbossrules\\drools-compiler\\src\\main\\resources\\org\\drools\\semantics\\java\\parser\\JavaParser.g:749:13: ( LPAREN argList RPAREN | DOT IDENT ( LPAREN argList RPAREN )? )
-                            int alt68 = 2;
-                            final int LA68_0 = this.input.LA( 1 );
-                            if ( (LA68_0 == LPAREN) ) {
-                                alt68 = 1;
-                            } else if ( (LA68_0 == DOT) ) {
-                                alt68 = 2;
-                            } else {
-                                final NoViableAltException nvae = new NoViableAltException( "749:13: ( LPAREN argList RPAREN | DOT IDENT ( LPAREN argList RPAREN )? )",
-                                                                                      68,
-                                                                                      0,
-                                                                                      this.input );
+            	            }
+            	            break;
 
-                                throw nvae;
-                            }
-                            switch ( alt68 ) {
-                                case 1 :
-                                    // D:\\workspace\\jboss\\jbossrules\\drools-compiler\\src\\main\\resources\\org\\drools\\semantics\\java\\parser\\JavaParser.g:750:17: LPAREN argList RPAREN
-                                {
-                                    match( this.input,
-                                           LPAREN,
-                                           FOLLOW_LPAREN_in_postfixExpression2674 );
-                                    pushFollow( FOLLOW_argList_in_postfixExpression2676 );
-                                    argList();
-                                    this._fsp--;
+            	    }
 
-                                    match( this.input,
-                                           RPAREN,
-                                           FOLLOW_RPAREN_in_postfixExpression2678 );
 
-                                }
-                                    break;
-                                case 2 :
-                                    // D:\\workspace\\jboss\\jbossrules\\drools-compiler\\src\\main\\resources\\org\\drools\\semantics\\java\\parser\\JavaParser.g:752:8: DOT IDENT ( LPAREN argList RPAREN )?
-                                {
-                                    match( this.input,
-                                           DOT,
-                                           FOLLOW_DOT_in_postfixExpression2704 );
-                                    match( this.input,
-                                           IDENT,
-                                           FOLLOW_IDENT_in_postfixExpression2706 );
-                                    // D:\\workspace\\jboss\\jbossrules\\drools-compiler\\src\\main\\resources\\org\\drools\\semantics\\java\\parser\\JavaParser.g:753:17: ( LPAREN argList RPAREN )?
-                                    int alt67 = 2;
-                                    final int LA67_0 = this.input.LA( 1 );
-                                    if ( (LA67_0 == LPAREN) ) {
-                                        alt67 = 1;
-                                    }
-                                    switch ( alt67 ) {
-                                        case 1 :
-                                            // D:\\workspace\\jboss\\jbossrules\\drools-compiler\\src\\main\\resources\\org\\drools\\semantics\\java\\parser\\JavaParser.g:753:19: LPAREN argList RPAREN
-                                        {
-                                            match( this.input,
-                                                   LPAREN,
-                                                   FOLLOW_LPAREN_in_postfixExpression2726 );
-                                            pushFollow( FOLLOW_argList_in_postfixExpression2749 );
-                                            argList();
-                                            this._fsp--;
+            	    }
+            	    break;
+            	case 2 :
+            	    // C:\\dev\\jbossrules\\trunk3\\drools-compiler\\src\\main\\resources\\org\\drools\\semantics\\java\\parser\\JavaParser.g:746:5: DOT 'this'
+            	    {
+            	    match(input,DOT,FOLLOW_DOT_in_postfixExpression2628); 
+            	    match(input,93,FOLLOW_93_in_postfixExpression2630); 
 
-                                            match( this.input,
-                                                   RPAREN,
-                                                   FOLLOW_RPAREN_in_postfixExpression2771 );
+            	    }
+            	    break;
+            	case 3 :
+            	    // C:\\dev\\jbossrules\\trunk3\\drools-compiler\\src\\main\\resources\\org\\drools\\semantics\\java\\parser\\JavaParser.g:748:5: DOT 'super' ( LPAREN argList RPAREN | DOT IDENT ( LPAREN argList RPAREN )? )
+            	    {
+            	    match(input,DOT,FOLLOW_DOT_in_postfixExpression2637); 
+            	    match(input,94,FOLLOW_94_in_postfixExpression2639); 
+            	    // C:\\dev\\jbossrules\\trunk3\\drools-compiler\\src\\main\\resources\\org\\drools\\semantics\\java\\parser\\JavaParser.g:749:13: ( LPAREN argList RPAREN | DOT IDENT ( LPAREN argList RPAREN )? )
+            	    int alt68=2;
+            	    int LA68_0 = input.LA(1);
 
-                                        }
-                                            break;
+            	    if ( (LA68_0==LPAREN) ) {
+            	        alt68=1;
+            	    }
+            	    else if ( (LA68_0==DOT) ) {
+            	        alt68=2;
+            	    }
+            	    else {
+            	        NoViableAltException nvae =
+            	            new NoViableAltException("749:13: ( LPAREN argList RPAREN | DOT IDENT ( LPAREN argList RPAREN )? )", 68, 0, input);
 
-                                    }
+            	        throw nvae;
+            	    }
+            	    switch (alt68) {
+            	        case 1 :
+            	            // C:\\dev\\jbossrules\\trunk3\\drools-compiler\\src\\main\\resources\\org\\drools\\semantics\\java\\parser\\JavaParser.g:750:17: LPAREN argList RPAREN
+            	            {
+            	            match(input,LPAREN,FOLLOW_LPAREN_in_postfixExpression2674); 
+            	            pushFollow(FOLLOW_argList_in_postfixExpression2676);
+            	            argList();
+            	            _fsp--;
 
-                                }
-                                    break;
+            	            match(input,RPAREN,FOLLOW_RPAREN_in_postfixExpression2678); 
 
-                            }
+            	            }
+            	            break;
+            	        case 2 :
+            	            // C:\\dev\\jbossrules\\trunk3\\drools-compiler\\src\\main\\resources\\org\\drools\\semantics\\java\\parser\\JavaParser.g:752:8: DOT IDENT ( LPAREN argList RPAREN )?
+            	            {
+            	            match(input,DOT,FOLLOW_DOT_in_postfixExpression2704); 
+            	            match(input,IDENT,FOLLOW_IDENT_in_postfixExpression2706); 
+            	            // C:\\dev\\jbossrules\\trunk3\\drools-compiler\\src\\main\\resources\\org\\drools\\semantics\\java\\parser\\JavaParser.g:753:17: ( LPAREN argList RPAREN )?
+            	            int alt67=2;
+            	            int LA67_0 = input.LA(1);
 
-                        }
-                            break;
-                        case 4 :
-                            // D:\\workspace\\jboss\\jbossrules\\drools-compiler\\src\\main\\resources\\org\\drools\\semantics\\java\\parser\\JavaParser.g:758:5: DOT newExpression
-                        {
-                            match( this.input,
-                                   DOT,
-                                   FOLLOW_DOT_in_postfixExpression2810 );
-                            pushFollow( FOLLOW_newExpression_in_postfixExpression2812 );
-                            newExpression();
-                            this._fsp--;
+            	            if ( (LA67_0==LPAREN) ) {
+            	                alt67=1;
+            	            }
+            	            switch (alt67) {
+            	                case 1 :
+            	                    // C:\\dev\\jbossrules\\trunk3\\drools-compiler\\src\\main\\resources\\org\\drools\\semantics\\java\\parser\\JavaParser.g:753:19: LPAREN argList RPAREN
+            	                    {
+            	                    match(input,LPAREN,FOLLOW_LPAREN_in_postfixExpression2726); 
+            	                    pushFollow(FOLLOW_argList_in_postfixExpression2749);
+            	                    argList();
+            	                    _fsp--;
 
-                        }
-                            break;
-                        case 5 :
-                            // D:\\workspace\\jboss\\jbossrules\\drools-compiler\\src\\main\\resources\\org\\drools\\semantics\\java\\parser\\JavaParser.g:759:5: LBRACK expression RBRACK
-                        {
-                            match( this.input,
-                                   LBRACK,
-                                   FOLLOW_LBRACK_in_postfixExpression2818 );
-                            pushFollow( FOLLOW_expression_in_postfixExpression2821 );
-                            expression();
-                            this._fsp--;
+            	                    match(input,RPAREN,FOLLOW_RPAREN_in_postfixExpression2771); 
 
-                            match( this.input,
-                                   RBRACK,
-                                   FOLLOW_RBRACK_in_postfixExpression2823 );
+            	                    }
+            	                    break;
 
-                        }
-                            break;
+            	            }
 
-                        default :
-                            break loop69;
-                    }
-                } while ( true );
 
-                // D:\\workspace\\jboss\\jbossrules\\drools-compiler\\src\\main\\resources\\org\\drools\\semantics\\java\\parser\\JavaParser.g:762:3: ( (INC|DEC))?
-                int alt70 = 2;
-                final int LA70_0 = this.input.LA( 1 );
-                if ( ((LA70_0 >= INC && LA70_0 <= DEC)) ) {
-                    alt70 = 1;
+            	            }
+            	            break;
+
+            	    }
+
+
+            	    }
+            	    break;
+            	case 4 :
+            	    // C:\\dev\\jbossrules\\trunk3\\drools-compiler\\src\\main\\resources\\org\\drools\\semantics\\java\\parser\\JavaParser.g:758:5: DOT newExpression
+            	    {
+            	    match(input,DOT,FOLLOW_DOT_in_postfixExpression2810); 
+            	    pushFollow(FOLLOW_newExpression_in_postfixExpression2812);
+            	    newExpression();
+            	    _fsp--;
+
+
+            	    }
+            	    break;
+            	case 5 :
+            	    // C:\\dev\\jbossrules\\trunk3\\drools-compiler\\src\\main\\resources\\org\\drools\\semantics\\java\\parser\\JavaParser.g:759:5: LBRACK expression RBRACK
+            	    {
+            	    match(input,LBRACK,FOLLOW_LBRACK_in_postfixExpression2818); 
+            	    pushFollow(FOLLOW_expression_in_postfixExpression2821);
+            	    expression();
+            	    _fsp--;
+
+            	    match(input,RBRACK,FOLLOW_RBRACK_in_postfixExpression2823); 
+
+            	    }
+            	    break;
+
+            	default :
+            	    break loop69;
                 }
-                switch ( alt70 ) {
-                    case 1 :
-                        // D:\\workspace\\jboss\\jbossrules\\drools-compiler\\src\\main\\resources\\org\\drools\\semantics\\java\\parser\\JavaParser.g:764:4: (INC|DEC)
+            } while (true);
+
+            // C:\\dev\\jbossrules\\trunk3\\drools-compiler\\src\\main\\resources\\org\\drools\\semantics\\java\\parser\\JavaParser.g:762:3: ( INC | DEC )?
+            int alt70=2;
+            int LA70_0 = input.LA(1);
+
+            if ( ((LA70_0>=INC && LA70_0<=DEC)) ) {
+                alt70=1;
+            }
+            switch (alt70) {
+                case 1 :
+                    // C:\\dev\\jbossrules\\trunk3\\drools-compiler\\src\\main\\resources\\org\\drools\\semantics\\java\\parser\\JavaParser.g:
                     {
-                        if ( (this.input.LA( 1 ) >= INC && this.input.LA( 1 ) <= DEC) ) {
-                            this.input.consume();
-                            this.errorRecovery = false;
-                        } else {
-                            final MismatchedSetException mse = new MismatchedSetException( null,
-                                                                                     this.input );
-                            recoverFromMismatchedSet( this.input,
-                                                      mse,
-                                                      FOLLOW_set_in_postfixExpression2854 );
-                            throw mse;
-                        }
+                    if ( (input.LA(1)>=INC && input.LA(1)<=DEC) ) {
+                        input.consume();
+                        errorRecovery=false;
+                    }
+                    else {
+                        MismatchedSetException mse =
+                            new MismatchedSetException(null,input);
+                        recoverFromMismatchedSet(input,mse,FOLLOW_set_in_postfixExpression2833);    throw mse;
+                    }
 
+
                     }
-                        break;
+                    break;
 
-                }
+            }
 
+
             }
 
-        } catch ( final RecognitionException re ) {
-            reportError( re );
-            recover( this.input,
-                     re );
-        } finally {
         }
-        return;
+        catch (RecognitionException re) {
+            reportError(re);
+            recover(input,re);
+        }
+        finally {
+        }
+        return ;
     }
-
     // $ANTLR end postfixExpression
 
+
     // $ANTLR start primaryExpression
-    // D:\\workspace\\jboss\\jbossrules\\drools-compiler\\src\\main\\resources\\org\\drools\\semantics\\java\\parser\\JavaParser.g:770:1: primaryExpression : ( identPrimary ( options {greedy=true; } : DOT 'class' )? | constant | 'true' | 'false' | 'null' | newExpression | 'this' | 'super' | LPAREN assignmentExpression RPAREN | builtInType ( LBRACK RBRACK )* DOT 'class' );
-    public void primaryExpression() throws RecognitionException {
+    // C:\\dev\\jbossrules\\trunk3\\drools-compiler\\src\\main\\resources\\org\\drools\\semantics\\java\\parser\\JavaParser.g:770:1: primaryExpression : ( identPrimary ( options {greedy=true; } : DOT 'class' )? | constant | 'true' | 'false' | 'null' | newExpression | 'this' | 'super' | LPAREN assignmentExpression RPAREN | builtInType ( LBRACK RBRACK )* DOT 'class' );
+    public final void primaryExpression() throws RecognitionException {
         try {
-            // D:\\workspace\\jboss\\jbossrules\\drools-compiler\\src\\main\\resources\\org\\drools\\semantics\\java\\parser\\JavaParser.g:771:4: ( identPrimary ( options {greedy=true; } : DOT 'class' )? | constant | 'true' | 'false' | 'null' | newExpression | 'this' | 'super' | LPAREN assignmentExpression RPAREN | builtInType ( LBRACK RBRACK )* DOT 'class' )
-            int alt73 = 10;
-            switch ( this.input.LA( 1 ) ) {
-                case IDENT :
-                    alt73 = 1;
-                    break;
-                case NUM_INT :
-                case CHAR_LITERAL :
-                case STRING_LITERAL :
-                case NUM_FLOAT :
-                    alt73 = 2;
-                    break;
-                case 112 :
-                    alt73 = 3;
-                    break;
-                case 113 :
-                    alt73 = 4;
-                    break;
-                case 114 :
-                    alt73 = 5;
-                    break;
-                case 115 :
-                    alt73 = 6;
-                    break;
-                case 93 :
-                    alt73 = 7;
-                    break;
-                case 94 :
-                    alt73 = 8;
-                    break;
-                case LPAREN :
-                    alt73 = 9;
-                    break;
-                case 68 :
-                case 69 :
-                case 70 :
-                case 71 :
-                case 72 :
-                case 73 :
-                case 74 :
-                case 75 :
-                case 76 :
-                    alt73 = 10;
-                    break;
-                default :
-                    final NoViableAltException nvae = new NoViableAltException( "770:1: primaryExpression : ( identPrimary ( options {greedy=true; } : DOT 'class' )? | constant | 'true' | 'false' | 'null' | newExpression | 'this' | 'super' | LPAREN assignmentExpression RPAREN | builtInType ( LBRACK RBRACK )* DOT 'class' );",
-                                                                          73,
-                                                                          0,
-                                                                          this.input );
+            // C:\\dev\\jbossrules\\trunk3\\drools-compiler\\src\\main\\resources\\org\\drools\\semantics\\java\\parser\\JavaParser.g:771:4: ( identPrimary ( options {greedy=true; } : DOT 'class' )? | constant | 'true' | 'false' | 'null' | newExpression | 'this' | 'super' | LPAREN assignmentExpression RPAREN | builtInType ( LBRACK RBRACK )* DOT 'class' )
+            int alt73=10;
+            switch ( input.LA(1) ) {
+            case IDENT:
+                {
+                alt73=1;
+                }
+                break;
+            case NUM_INT:
+            case CHAR_LITERAL:
+            case STRING_LITERAL:
+            case NUM_FLOAT:
+                {
+                alt73=2;
+                }
+                break;
+            case 112:
+                {
+                alt73=3;
+                }
+                break;
+            case 113:
+                {
+                alt73=4;
+                }
+                break;
+            case 114:
+                {
+                alt73=5;
+                }
+                break;
+            case 115:
+                {
+                alt73=6;
+                }
+                break;
+            case 93:
+                {
+                alt73=7;
+                }
+                break;
+            case 94:
+                {
+                alt73=8;
+                }
+                break;
+            case LPAREN:
+                {
+                alt73=9;
+                }
+                break;
+            case 68:
+            case 69:
+            case 70:
+            case 71:
+            case 72:
+            case 73:
+            case 74:
+            case 75:
+            case 76:
+                {
+                alt73=10;
+                }
+                break;
+            default:
+                NoViableAltException nvae =
+                    new NoViableAltException("770:1: primaryExpression : ( identPrimary ( options {greedy=true; } : DOT 'class' )? | constant | 'true' | 'false' | 'null' | newExpression | 'this' | 'super' | LPAREN assignmentExpression RPAREN | builtInType ( LBRACK RBRACK )* DOT 'class' );", 73, 0, input);
 
-                    throw nvae;
+                throw nvae;
             }
 
-            switch ( alt73 ) {
+            switch (alt73) {
                 case 1 :
-                    // D:\\workspace\\jboss\\jbossrules\\drools-compiler\\src\\main\\resources\\org\\drools\\semantics\\java\\parser\\JavaParser.g:771:4: identPrimary ( options {greedy=true; } : DOT 'class' )?
-                {
-                    pushFollow( FOLLOW_identPrimary_in_primaryExpression2881 );
+                    // C:\\dev\\jbossrules\\trunk3\\drools-compiler\\src\\main\\resources\\org\\drools\\semantics\\java\\parser\\JavaParser.g:771:4: identPrimary ( options {greedy=true; } : DOT 'class' )?
+                    {
+                    pushFollow(FOLLOW_identPrimary_in_primaryExpression2881);
                     identPrimary();
-                    this._fsp--;
+                    _fsp--;
 
-                    // D:\\workspace\\jboss\\jbossrules\\drools-compiler\\src\\main\\resources\\org\\drools\\semantics\\java\\parser\\JavaParser.g:771:17: ( options {greedy=true; } : DOT 'class' )?
-                    int alt71 = 2;
-                    final int LA71_0 = this.input.LA( 1 );
-                    if ( (LA71_0 == DOT) ) {
-                        final int LA71_1 = this.input.LA( 2 );
-                        if ( (LA71_1 == 89) ) {
-                            alt71 = 1;
+                    // C:\\dev\\jbossrules\\trunk3\\drools-compiler\\src\\main\\resources\\org\\drools\\semantics\\java\\parser\\JavaParser.g:771:17: ( options {greedy=true; } : DOT 'class' )?
+                    int alt71=2;
+                    int LA71_0 = input.LA(1);
+
+                    if ( (LA71_0==DOT) ) {
+                        int LA71_1 = input.LA(2);
+
+                        if ( (LA71_1==89) ) {
+                            alt71=1;
                         }
                     }
-                    switch ( alt71 ) {
+                    switch (alt71) {
                         case 1 :
-                            // D:\\workspace\\jboss\\jbossrules\\drools-compiler\\src\\main\\resources\\org\\drools\\semantics\\java\\parser\\JavaParser.g:771:43: DOT 'class'
-                        {
-                            match( this.input,
-                                   DOT,
-                                   FOLLOW_DOT_in_primaryExpression2893 );
-                            match( this.input,
-                                   89,
-                                   FOLLOW_89_in_primaryExpression2895 );
+                            // C:\\dev\\jbossrules\\trunk3\\drools-compiler\\src\\main\\resources\\org\\drools\\semantics\\java\\parser\\JavaParser.g:771:43: DOT 'class'
+                            {
+                            match(input,DOT,FOLLOW_DOT_in_primaryExpression2893); 
+                            match(input,89,FOLLOW_89_in_primaryExpression2895); 
 
-                        }
+                            }
                             break;
 
                     }
 
-                }
+
+                    }
                     break;
                 case 2 :
-                    // D:\\workspace\\jboss\\jbossrules\\drools-compiler\\src\\main\\resources\\org\\drools\\semantics\\java\\parser\\JavaParser.g:772:9: constant
-                {
-                    pushFollow( FOLLOW_constant_in_primaryExpression2908 );
+                    // C:\\dev\\jbossrules\\trunk3\\drools-compiler\\src\\main\\resources\\org\\drools\\semantics\\java\\parser\\JavaParser.g:772:9: constant
+                    {
+                    pushFollow(FOLLOW_constant_in_primaryExpression2908);
                     constant();
-                    this._fsp--;
+                    _fsp--;
 
-                }
+
+                    }
                     break;
                 case 3 :
-                    // D:\\workspace\\jboss\\jbossrules\\drools-compiler\\src\\main\\resources\\org\\drools\\semantics\\java\\parser\\JavaParser.g:773:4: 'true'
-                {
-                    match( this.input,
-                           112,
-                           FOLLOW_112_in_primaryExpression2913 );
+                    // C:\\dev\\jbossrules\\trunk3\\drools-compiler\\src\\main\\resources\\org\\drools\\semantics\\java\\parser\\JavaParser.g:773:4: 'true'
+                    {
+                    match(input,112,FOLLOW_112_in_primaryExpression2913); 
 
-                }
+                    }
                     break;
                 case 4 :
-                    // D:\\workspace\\jboss\\jbossrules\\drools-compiler\\src\\main\\resources\\org\\drools\\semantics\\java\\parser\\JavaParser.g:774:4: 'false'
-                {
-                    match( this.input,
-                           113,
-                           FOLLOW_113_in_primaryExpression2918 );
+                    // C:\\dev\\jbossrules\\trunk3\\drools-compiler\\src\\main\\resources\\org\\drools\\semantics\\java\\parser\\JavaParser.g:774:4: 'false'
+                    {
+                    match(input,113,FOLLOW_113_in_primaryExpression2918); 
 
-                }
+                    }
                     break;
                 case 5 :
-                    // D:\\workspace\\jboss\\jbossrules\\drools-compiler\\src\\main\\resources\\org\\drools\\semantics\\java\\parser\\JavaParser.g:775:4: 'null'
-                {
-                    match( this.input,
-                           114,
-                           FOLLOW_114_in_primaryExpression2923 );
+                    // C:\\dev\\jbossrules\\trunk3\\drools-compiler\\src\\main\\resources\\org\\drools\\semantics\\java\\parser\\JavaParser.g:775:4: 'null'
+                    {
+                    match(input,114,FOLLOW_114_in_primaryExpression2923); 
 
-                }
+                    }
                     break;
                 case 6 :
-                    // D:\\workspace\\jboss\\jbossrules\\drools-compiler\\src\\main\\resources\\org\\drools\\semantics\\java\\parser\\JavaParser.g:776:9: newExpression
-                {
-                    pushFollow( FOLLOW_newExpression_in_primaryExpression2933 );
+                    // C:\\dev\\jbossrules\\trunk3\\drools-compiler\\src\\main\\resources\\org\\drools\\semantics\\java\\parser\\JavaParser.g:776:9: newExpression
+                    {
+                    pushFollow(FOLLOW_newExpression_in_primaryExpression2933);
                     newExpression();
-                    this._fsp--;
+                    _fsp--;
 
-                }
+
+                    }
                     break;
                 case 7 :
-                    // D:\\workspace\\jboss\\jbossrules\\drools-compiler\\src\\main\\resources\\org\\drools\\semantics\\java\\parser\\JavaParser.g:777:4: 'this'
-                {
-                    match( this.input,
-                           93,
-                           FOLLOW_93_in_primaryExpression2938 );
+                    // C:\\dev\\jbossrules\\trunk3\\drools-compiler\\src\\main\\resources\\org\\drools\\semantics\\java\\parser\\JavaParser.g:777:4: 'this'
+                    {
+                    match(input,93,FOLLOW_93_in_primaryExpression2938); 
 
-                }
+                    }
                     break;
                 case 8 :
-                    // D:\\workspace\\jboss\\jbossrules\\drools-compiler\\src\\main\\resources\\org\\drools\\semantics\\java\\parser\\JavaParser.g:778:4: 'super'
-                {
-                    match( this.input,
-                           94,
-                           FOLLOW_94_in_primaryExpression2943 );
+                    // C:\\dev\\jbossrules\\trunk3\\drools-compiler\\src\\main\\resources\\org\\drools\\semantics\\java\\parser\\JavaParser.g:778:4: 'super'
+                    {
+                    match(input,94,FOLLOW_94_in_primaryExpression2943); 
 
-                }
+                    }
                     break;
                 case 9 :
-                    // D:\\workspace\\jboss\\jbossrules\\drools-compiler\\src\\main\\resources\\org\\drools\\semantics\\java\\parser\\JavaParser.g:779:4: LPAREN assignmentExpression RPAREN
-                {
-                    match( this.input,
-                           LPAREN,
-                           FOLLOW_LPAREN_in_primaryExpression2948 );
-                    pushFollow( FOLLOW_assignmentExpression_in_primaryExpression2950 );
+                    // C:\\dev\\jbossrules\\trunk3\\drools-compiler\\src\\main\\resources\\org\\drools\\semantics\\java\\parser\\JavaParser.g:779:4: LPAREN assignmentExpression RPAREN
+                    {
+                    match(input,LPAREN,FOLLOW_LPAREN_in_primaryExpression2948); 
+                    pushFollow(FOLLOW_assignmentExpression_in_primaryExpression2950);
                     assignmentExpression();
-                    this._fsp--;
+                    _fsp--;
 
-                    match( this.input,
-                           RPAREN,
-                           FOLLOW_RPAREN_in_primaryExpression2952 );
+                    match(input,RPAREN,FOLLOW_RPAREN_in_primaryExpression2952); 
 
-                }
+                    }
                     break;
                 case 10 :
-                    // D:\\workspace\\jboss\\jbossrules\\drools-compiler\\src\\main\\resources\\org\\drools\\semantics\\java\\parser\\JavaParser.g:781:4: builtInType ( LBRACK RBRACK )* DOT 'class'
-                {
-                    pushFollow( FOLLOW_builtInType_in_primaryExpression2960 );
+                    // C:\\dev\\jbossrules\\trunk3\\drools-compiler\\src\\main\\resources\\org\\drools\\semantics\\java\\parser\\JavaParser.g:781:4: builtInType ( LBRACK RBRACK )* DOT 'class'
+                    {
+                    pushFollow(FOLLOW_builtInType_in_primaryExpression2960);
                     builtInType();
-                    this._fsp--;
+                    _fsp--;
 
-                    // D:\\workspace\\jboss\\jbossrules\\drools-compiler\\src\\main\\resources\\org\\drools\\semantics\\java\\parser\\JavaParser.g:782:3: ( LBRACK RBRACK )*
-                    loop72 : do {
-                        int alt72 = 2;
-                        final int LA72_0 = this.input.LA( 1 );
-                        if ( (LA72_0 == LBRACK) ) {
-                            alt72 = 1;
+                    // C:\\dev\\jbossrules\\trunk3\\drools-compiler\\src\\main\\resources\\org\\drools\\semantics\\java\\parser\\JavaParser.g:782:3: ( LBRACK RBRACK )*
+                    loop72:
+                    do {
+                        int alt72=2;
+                        int LA72_0 = input.LA(1);
+
+                        if ( (LA72_0==LBRACK) ) {
+                            alt72=1;
                         }
 
-                        switch ( alt72 ) {
-                            case 1 :
-                                // D:\\workspace\\jboss\\jbossrules\\drools-compiler\\src\\main\\resources\\org\\drools\\semantics\\java\\parser\\JavaParser.g:782:5: LBRACK RBRACK
-                            {
-                                match( this.input,
-                                       LBRACK,
-                                       FOLLOW_LBRACK_in_primaryExpression2966 );
-                                match( this.input,
-                                       RBRACK,
-                                       FOLLOW_RBRACK_in_primaryExpression2969 );
 
-                            }
-                                break;
+                        switch (alt72) {
+                    	case 1 :
+                    	    // C:\\dev\\jbossrules\\trunk3\\drools-compiler\\src\\main\\resources\\org\\drools\\semantics\\java\\parser\\JavaParser.g:782:5: LBRACK RBRACK
+                    	    {
+                    	    match(input,LBRACK,FOLLOW_LBRACK_in_primaryExpression2966); 
+                    	    match(input,RBRACK,FOLLOW_RBRACK_in_primaryExpression2969); 
 
-                            default :
-                                break loop72;
+                    	    }
+                    	    break;
+
+                    	default :
+                    	    break loop72;
                         }
-                    } while ( true );
+                    } while (true);
 
-                    match( this.input,
-                           DOT,
-                           FOLLOW_DOT_in_primaryExpression2976 );
-                    match( this.input,
-                           89,
-                           FOLLOW_89_in_primaryExpression2978 );
+                    match(input,DOT,FOLLOW_DOT_in_primaryExpression2976); 
+                    match(input,89,FOLLOW_89_in_primaryExpression2978); 
 
-                }
+                    }
                     break;
 
             }
-        } catch ( final RecognitionException re ) {
-            reportError( re );
-            recover( this.input,
-                     re );
-        } finally {
         }
-        return;
+        catch (RecognitionException re) {
+            reportError(re);
+            recover(input,re);
+        }
+        finally {
+        }
+        return ;
     }
-
     // $ANTLR end primaryExpression
 
+
     // $ANTLR start identPrimary
-    // D:\\workspace\\jboss\\jbossrules\\drools-compiler\\src\\main\\resources\\org\\drools\\semantics\\java\\parser\\JavaParser.g:786:1: identPrimary : i= IDENT ( options {greedy=true; k=2; } : DOT IDENT )* ( options {greedy=true; } : ( LPAREN argList RPAREN ) | ( options {greedy=true; } : LBRACK RBRACK )+ )? ;
-    public void identPrimary() throws RecognitionException {
-        Token i = null;
+    // C:\\dev\\jbossrules\\trunk3\\drools-compiler\\src\\main\\resources\\org\\drools\\semantics\\java\\parser\\JavaParser.g:786:1: identPrimary : i= IDENT ( options {greedy=true; k=2; } : DOT IDENT )* ( options {greedy=true; } : ( LPAREN argList RPAREN ) | ( options {greedy=true; } : LBRACK RBRACK )+ )? ;
+    public final void identPrimary() throws RecognitionException {
+        Token i=null;
 
         try {
-            // D:\\workspace\\jboss\\jbossrules\\drools-compiler\\src\\main\\resources\\org\\drools\\semantics\\java\\parser\\JavaParser.g:791:4: (i= IDENT ( options {greedy=true; k=2; } : DOT IDENT )* ( options {greedy=true; } : ( LPAREN argList RPAREN ) | ( options {greedy=true; } : LBRACK RBRACK )+ )? )
-            // D:\\workspace\\jboss\\jbossrules\\drools-compiler\\src\\main\\resources\\org\\drools\\semantics\\java\\parser\\JavaParser.g:791:4: i= IDENT ( options {greedy=true; k=2; } : DOT IDENT )* ( options {greedy=true; } : ( LPAREN argList RPAREN ) | ( options {greedy=true; } : LBRACK RBRACK )+ )?
+            // C:\\dev\\jbossrules\\trunk3\\drools-compiler\\src\\main\\resources\\org\\drools\\semantics\\java\\parser\\JavaParser.g:791:4: (i= IDENT ( options {greedy=true; k=2; } : DOT IDENT )* ( options {greedy=true; } : ( LPAREN argList RPAREN ) | ( options {greedy=true; } : LBRACK RBRACK )+ )? )
+            // C:\\dev\\jbossrules\\trunk3\\drools-compiler\\src\\main\\resources\\org\\drools\\semantics\\java\\parser\\JavaParser.g:791:4: i= IDENT ( options {greedy=true; k=2; } : DOT IDENT )* ( options {greedy=true; } : ( LPAREN argList RPAREN ) | ( options {greedy=true; } : LBRACK RBRACK )+ )?
             {
-                i = (Token) this.input.LT( 1 );
-                match( this.input,
-                       IDENT,
-                       FOLLOW_IDENT_in_identPrimary2993 );
-                this.identifiers.add( i.getText() );
-                // D:\\workspace\\jboss\\jbossrules\\drools-compiler\\src\\main\\resources\\org\\drools\\semantics\\java\\parser\\JavaParser.g:792:3: ( options {greedy=true; k=2; } : DOT IDENT )*
-                loop74 : do {
-                    int alt74 = 2;
-                    final int LA74_0 = this.input.LA( 1 );
-                    if ( (LA74_0 == DOT) ) {
-                        final int LA74_3 = this.input.LA( 2 );
-                        if ( (LA74_3 == IDENT) ) {
-                            alt74 = 1;
-                        }
+            i=(Token)input.LT(1);
+            match(input,IDENT,FOLLOW_IDENT_in_identPrimary2993); 
+             identifiers.add( i.getText() );  
+            // C:\\dev\\jbossrules\\trunk3\\drools-compiler\\src\\main\\resources\\org\\drools\\semantics\\java\\parser\\JavaParser.g:792:3: ( options {greedy=true; k=2; } : DOT IDENT )*
+            loop74:
+            do {
+                int alt74=2;
+                int LA74_0 = input.LA(1);
 
+                if ( (LA74_0==DOT) ) {
+                    int LA74_3 = input.LA(2);
+
+                    if ( (LA74_3==IDENT) ) {
+                        alt74=1;
                     }
 
-                    switch ( alt74 ) {
-                        case 1 :
-                            // D:\\workspace\\jboss\\jbossrules\\drools-compiler\\src\\main\\resources\\org\\drools\\semantics\\java\\parser\\JavaParser.g:796:5: DOT IDENT
-                        {
-                            match( this.input,
-                                   DOT,
-                                   FOLLOW_DOT_in_identPrimary3031 );
-                            match( this.input,
-                                   IDENT,
-                                   FOLLOW_IDENT_in_identPrimary3033 );
 
-                        }
-                            break;
+                }
 
-                        default :
-                            break loop74;
-                    }
-                } while ( true );
 
-                // D:\\workspace\\jboss\\jbossrules\\drools-compiler\\src\\main\\resources\\org\\drools\\semantics\\java\\parser\\JavaParser.g:798:3: ( options {greedy=true; } : ( LPAREN argList RPAREN ) | ( options {greedy=true; } : LBRACK RBRACK )+ )?
-                int alt76 = 3;
-                final int LA76_0 = this.input.LA( 1 );
-                if ( (LA76_0 == LPAREN) ) {
-                    alt76 = 1;
-                } else if ( (LA76_0 == LBRACK) ) {
-                    final int LA76_2 = this.input.LA( 2 );
-                    if ( (LA76_2 == RBRACK) ) {
-                        alt76 = 2;
-                    }
+                switch (alt74) {
+            	case 1 :
+            	    // C:\\dev\\jbossrules\\trunk3\\drools-compiler\\src\\main\\resources\\org\\drools\\semantics\\java\\parser\\JavaParser.g:796:5: DOT IDENT
+            	    {
+            	    match(input,DOT,FOLLOW_DOT_in_identPrimary3031); 
+            	    match(input,IDENT,FOLLOW_IDENT_in_identPrimary3033); 
+
+            	    }
+            	    break;
+
+            	default :
+            	    break loop74;
                 }
-                switch ( alt76 ) {
-                    case 1 :
-                        // D:\\workspace\\jboss\\jbossrules\\drools-compiler\\src\\main\\resources\\org\\drools\\semantics\\java\\parser\\JavaParser.g:804:7: ( LPAREN argList RPAREN )
+            } while (true);
+
+            // C:\\dev\\jbossrules\\trunk3\\drools-compiler\\src\\main\\resources\\org\\drools\\semantics\\java\\parser\\JavaParser.g:798:3: ( options {greedy=true; } : ( LPAREN argList RPAREN ) | ( options {greedy=true; } : LBRACK RBRACK )+ )?
+            int alt76=3;
+            int LA76_0 = input.LA(1);
+
+            if ( (LA76_0==LPAREN) ) {
+                alt76=1;
+            }
+            else if ( (LA76_0==LBRACK) ) {
+                int LA76_2 = input.LA(2);
+
+                if ( (LA76_2==RBRACK) ) {
+                    alt76=2;
+                }
+            }
+            switch (alt76) {
+                case 1 :
+                    // C:\\dev\\jbossrules\\trunk3\\drools-compiler\\src\\main\\resources\\org\\drools\\semantics\\java\\parser\\JavaParser.g:804:7: ( LPAREN argList RPAREN )
                     {
-                        // D:\\workspace\\jboss\\jbossrules\\drools-compiler\\src\\main\\resources\\org\\drools\\semantics\\java\\parser\\JavaParser.g:804:7: ( LPAREN argList RPAREN )
-                        // D:\\workspace\\jboss\\jbossrules\\drools-compiler\\src\\main\\resources\\org\\drools\\semantics\\java\\parser\\JavaParser.g:804:9: LPAREN argList RPAREN
-                        {
-                            match( this.input,
-                                   LPAREN,
-                                   FOLLOW_LPAREN_in_identPrimary3095 );
-                            pushFollow( FOLLOW_argList_in_identPrimary3098 );
-                            argList();
-                            this._fsp--;
+                    // C:\\dev\\jbossrules\\trunk3\\drools-compiler\\src\\main\\resources\\org\\drools\\semantics\\java\\parser\\JavaParser.g:804:7: ( LPAREN argList RPAREN )
+                    // C:\\dev\\jbossrules\\trunk3\\drools-compiler\\src\\main\\resources\\org\\drools\\semantics\\java\\parser\\JavaParser.g:804:9: LPAREN argList RPAREN
+                    {
+                    match(input,LPAREN,FOLLOW_LPAREN_in_identPrimary3095); 
+                    pushFollow(FOLLOW_argList_in_identPrimary3098);
+                    argList();
+                    _fsp--;
 
-                            match( this.input,
-                                   RPAREN,
-                                   FOLLOW_RPAREN_in_identPrimary3100 );
+                    match(input,RPAREN,FOLLOW_RPAREN_in_identPrimary3100); 
 
-                        }
+                    }
 
+
                     }
-                        break;
-                    case 2 :
-                        // D:\\workspace\\jboss\\jbossrules\\drools-compiler\\src\\main\\resources\\org\\drools\\semantics\\java\\parser\\JavaParser.g:805:5: ( options {greedy=true; } : LBRACK RBRACK )+
+                    break;
+                case 2 :
+                    // C:\\dev\\jbossrules\\trunk3\\drools-compiler\\src\\main\\resources\\org\\drools\\semantics\\java\\parser\\JavaParser.g:805:5: ( options {greedy=true; } : LBRACK RBRACK )+
                     {
-                        // D:\\workspace\\jboss\\jbossrules\\drools-compiler\\src\\main\\resources\\org\\drools\\semantics\\java\\parser\\JavaParser.g:805:5: ( options {greedy=true; } : LBRACK RBRACK )+
-                        int cnt75 = 0;
-                        loop75 : do {
-                            int alt75 = 2;
-                            final int LA75_0 = this.input.LA( 1 );
-                            if ( (LA75_0 == LBRACK) ) {
-                                final int LA75_2 = this.input.LA( 2 );
-                                if ( (LA75_2 == RBRACK) ) {
-                                    alt75 = 1;
-                                }
+                    // C:\\dev\\jbossrules\\trunk3\\drools-compiler\\src\\main\\resources\\org\\drools\\semantics\\java\\parser\\JavaParser.g:805:5: ( options {greedy=true; } : LBRACK RBRACK )+
+                    int cnt75=0;
+                    loop75:
+                    do {
+                        int alt75=2;
+                        int LA75_0 = input.LA(1);
 
+                        if ( (LA75_0==LBRACK) ) {
+                            int LA75_2 = input.LA(2);
+
+                            if ( (LA75_2==RBRACK) ) {
+                                alt75=1;
                             }
 
-                            switch ( alt75 ) {
-                                case 1 :
-                                    // D:\\workspace\\jboss\\jbossrules\\drools-compiler\\src\\main\\resources\\org\\drools\\semantics\\java\\parser\\JavaParser.g:806:15: LBRACK RBRACK
-                                {
-                                    match( this.input,
-                                           LBRACK,
-                                           FOLLOW_LBRACK_in_identPrimary3133 );
-                                    match( this.input,
-                                           RBRACK,
-                                           FOLLOW_RBRACK_in_identPrimary3136 );
 
-                                }
-                                    break;
+                        }
 
-                                default :
-                                    if ( cnt75 >= 1 ) {
-                                        break loop75;
-                                    }
-                                    final EarlyExitException eee = new EarlyExitException( 75,
-                                                                                     this.input );
-                                    throw eee;
-                            }
-                            cnt75++;
-                        } while ( true );
 
+                        switch (alt75) {
+                    	case 1 :
+                    	    // C:\\dev\\jbossrules\\trunk3\\drools-compiler\\src\\main\\resources\\org\\drools\\semantics\\java\\parser\\JavaParser.g:806:15: LBRACK RBRACK
+                    	    {
+                    	    match(input,LBRACK,FOLLOW_LBRACK_in_identPrimary3133); 
+                    	    match(input,RBRACK,FOLLOW_RBRACK_in_identPrimary3136); 
+
+                    	    }
+                    	    break;
+
+                    	default :
+                    	    if ( cnt75 >= 1 ) break loop75;
+                                EarlyExitException eee =
+                                    new EarlyExitException(75, input);
+                                throw eee;
+                        }
+                        cnt75++;
+                    } while (true);
+
+
                     }
-                        break;
+                    break;
 
-                }
+            }
 
+
             }
 
-        } catch ( final RecognitionException re ) {
-            reportError( re );
-            recover( this.input,
-                     re );
-        } finally {
         }
-        return;
+        catch (RecognitionException re) {
+            reportError(re);
+            recover(input,re);
+        }
+        finally {
+        }
+        return ;
     }
-
     // $ANTLR end identPrimary
 
+
     // $ANTLR start newExpression
-    // D:\\workspace\\jboss\\jbossrules\\drools-compiler\\src\\main\\resources\\org\\drools\\semantics\\java\\parser\\JavaParser.g:811:1: newExpression : 'new' type ( LPAREN argList RPAREN ( classBlock )? | newArrayDeclarator ( arrayInitializer )? ) ;
-    public void newExpression() throws RecognitionException {
+    // C:\\dev\\jbossrules\\trunk3\\drools-compiler\\src\\main\\resources\\org\\drools\\semantics\\java\\parser\\JavaParser.g:811:1: newExpression : 'new' type ( LPAREN argList RPAREN ( classBlock )? | newArrayDeclarator ( arrayInitializer )? ) ;
+    public final void newExpression() throws RecognitionException {
         try {
-            // D:\\workspace\\jboss\\jbossrules\\drools-compiler\\src\\main\\resources\\org\\drools\\semantics\\java\\parser\\JavaParser.g:861:4: ( 'new' type ( LPAREN argList RPAREN ( classBlock )? | newArrayDeclarator ( arrayInitializer )? ) )
-            // D:\\workspace\\jboss\\jbossrules\\drools-compiler\\src\\main\\resources\\org\\drools\\semantics\\java\\parser\\JavaParser.g:861:4: 'new' type ( LPAREN argList RPAREN ( classBlock )? | newArrayDeclarator ( arrayInitializer )? )
+            // C:\\dev\\jbossrules\\trunk3\\drools-compiler\\src\\main\\resources\\org\\drools\\semantics\\java\\parser\\JavaParser.g:861:4: ( 'new' type ( LPAREN argList RPAREN ( classBlock )? | newArrayDeclarator ( arrayInitializer )? ) )
+            // C:\\dev\\jbossrules\\trunk3\\drools-compiler\\src\\main\\resources\\org\\drools\\semantics\\java\\parser\\JavaParser.g:861:4: 'new' type ( LPAREN argList RPAREN ( classBlock )? | newArrayDeclarator ( arrayInitializer )? )
             {
-                match( this.input,
-                       115,
-                       FOLLOW_115_in_newExpression3172 );
-                pushFollow( FOLLOW_type_in_newExpression3174 );
-                type();
-                this._fsp--;
+            match(input,115,FOLLOW_115_in_newExpression3172); 
+            pushFollow(FOLLOW_type_in_newExpression3174);
+            type();
+            _fsp--;
 
-                // D:\\workspace\\jboss\\jbossrules\\drools-compiler\\src\\main\\resources\\org\\drools\\semantics\\java\\parser\\JavaParser.g:862:3: ( LPAREN argList RPAREN ( classBlock )? | newArrayDeclarator ( arrayInitializer )? )
-                int alt79 = 2;
-                final int LA79_0 = this.input.LA( 1 );
-                if ( (LA79_0 == LPAREN) ) {
-                    alt79 = 1;
-                } else if ( (LA79_0 == LBRACK) ) {
-                    alt79 = 2;
-                } else {
-                    final NoViableAltException nvae = new NoViableAltException( "862:3: ( LPAREN argList RPAREN ( classBlock )? | newArrayDeclarator ( arrayInitializer )? )",
-                                                                          79,
-                                                                          0,
-                                                                          this.input );
+            // C:\\dev\\jbossrules\\trunk3\\drools-compiler\\src\\main\\resources\\org\\drools\\semantics\\java\\parser\\JavaParser.g:862:3: ( LPAREN argList RPAREN ( classBlock )? | newArrayDeclarator ( arrayInitializer )? )
+            int alt79=2;
+            int LA79_0 = input.LA(1);
 
-                    throw nvae;
-                }
-                switch ( alt79 ) {
-                    case 1 :
-                        // D:\\workspace\\jboss\\jbossrules\\drools-compiler\\src\\main\\resources\\org\\drools\\semantics\\java\\parser\\JavaParser.g:862:5: LPAREN argList RPAREN ( classBlock )?
+            if ( (LA79_0==LPAREN) ) {
+                alt79=1;
+            }
+            else if ( (LA79_0==LBRACK) ) {
+                alt79=2;
+            }
+            else {
+                NoViableAltException nvae =
+                    new NoViableAltException("862:3: ( LPAREN argList RPAREN ( classBlock )? | newArrayDeclarator ( arrayInitializer )? )", 79, 0, input);
+
+                throw nvae;
+            }
+            switch (alt79) {
+                case 1 :
+                    // C:\\dev\\jbossrules\\trunk3\\drools-compiler\\src\\main\\resources\\org\\drools\\semantics\\java\\parser\\JavaParser.g:862:5: LPAREN argList RPAREN ( classBlock )?
                     {
-                        match( this.input,
-                               LPAREN,
-                               FOLLOW_LPAREN_in_newExpression3180 );
-                        pushFollow( FOLLOW_argList_in_newExpression3182 );
-                        argList();
-                        this._fsp--;
+                    match(input,LPAREN,FOLLOW_LPAREN_in_newExpression3180); 
+                    pushFollow(FOLLOW_argList_in_newExpression3182);
+                    argList();
+                    _fsp--;
 
-                        match( this.input,
-                               RPAREN,
-                               FOLLOW_RPAREN_in_newExpression3184 );
-                        // D:\\workspace\\jboss\\jbossrules\\drools-compiler\\src\\main\\resources\\org\\drools\\semantics\\java\\parser\\JavaParser.g:862:27: ( classBlock )?
-                        int alt77 = 2;
-                        final int LA77_0 = this.input.LA( 1 );
-                        if ( (LA77_0 == LCURLY) ) {
-                            alt77 = 1;
-                        }
-                        switch ( alt77 ) {
-                            case 1 :
-                                // D:\\workspace\\jboss\\jbossrules\\drools-compiler\\src\\main\\resources\\org\\drools\\semantics\\java\\parser\\JavaParser.g:862:28: classBlock
+                    match(input,RPAREN,FOLLOW_RPAREN_in_newExpression3184); 
+                    // C:\\dev\\jbossrules\\trunk3\\drools-compiler\\src\\main\\resources\\org\\drools\\semantics\\java\\parser\\JavaParser.g:862:27: ( classBlock )?
+                    int alt77=2;
+                    int LA77_0 = input.LA(1);
+
+                    if ( (LA77_0==LCURLY) ) {
+                        alt77=1;
+                    }
+                    switch (alt77) {
+                        case 1 :
+                            // C:\\dev\\jbossrules\\trunk3\\drools-compiler\\src\\main\\resources\\org\\drools\\semantics\\java\\parser\\JavaParser.g:862:28: classBlock
                             {
-                                pushFollow( FOLLOW_classBlock_in_newExpression3187 );
-                                classBlock();
-                                this._fsp--;
+                            pushFollow(FOLLOW_classBlock_in_newExpression3187);
+                            classBlock();
+                            _fsp--;
 
+
                             }
-                                break;
+                            break;
 
-                        }
+                    }
 
+
                     }
-                        break;
-                    case 2 :
-                        // D:\\workspace\\jboss\\jbossrules\\drools-compiler\\src\\main\\resources\\org\\drools\\semantics\\java\\parser\\JavaParser.g:872:5: newArrayDeclarator ( arrayInitializer )?
+                    break;
+                case 2 :
+                    // C:\\dev\\jbossrules\\trunk3\\drools-compiler\\src\\main\\resources\\org\\drools\\semantics\\java\\parser\\JavaParser.g:872:5: newArrayDeclarator ( arrayInitializer )?
                     {
-                        pushFollow( FOLLOW_newArrayDeclarator_in_newExpression3225 );
-                        newArrayDeclarator();
-                        this._fsp--;
+                    pushFollow(FOLLOW_newArrayDeclarator_in_newExpression3225);
+                    newArrayDeclarator();
+                    _fsp--;
 
-                        // D:\\workspace\\jboss\\jbossrules\\drools-compiler\\src\\main\\resources\\org\\drools\\semantics\\java\\parser\\JavaParser.g:872:24: ( arrayInitializer )?
-                        int alt78 = 2;
-                        final int LA78_0 = this.input.LA( 1 );
-                        if ( (LA78_0 == LCURLY) ) {
-                            alt78 = 1;
-                        }
-                        switch ( alt78 ) {
-                            case 1 :
-                                // D:\\workspace\\jboss\\jbossrules\\drools-compiler\\src\\main\\resources\\org\\drools\\semantics\\java\\parser\\JavaParser.g:872:25: arrayInitializer
+                    // C:\\dev\\jbossrules\\trunk3\\drools-compiler\\src\\main\\resources\\org\\drools\\semantics\\java\\parser\\JavaParser.g:872:24: ( arrayInitializer )?
+                    int alt78=2;
+                    int LA78_0 = input.LA(1);
+
+                    if ( (LA78_0==LCURLY) ) {
+                        alt78=1;
+                    }
+                    switch (alt78) {
+                        case 1 :
+                            // C:\\dev\\jbossrules\\trunk3\\drools-compiler\\src\\main\\resources\\org\\drools\\semantics\\java\\parser\\JavaParser.g:872:25: arrayInitializer
                             {
-                                pushFollow( FOLLOW_arrayInitializer_in_newExpression3228 );
-                                arrayInitializer();
-                                this._fsp--;
+                            pushFollow(FOLLOW_arrayInitializer_in_newExpression3228);
+                            arrayInitializer();
+                            _fsp--;
 
+
                             }
-                                break;
+                            break;
 
-                        }
+                    }
 
+
                     }
-                        break;
+                    break;
 
-                }
+            }
 
+
             }
 
-        } catch ( final RecognitionException re ) {
-            reportError( re );
-            recover( this.input,
-                     re );
-        } finally {
         }
-        return;
+        catch (RecognitionException re) {
+            reportError(re);
+            recover(input,re);
+        }
+        finally {
+        }
+        return ;
     }
-
     // $ANTLR end newExpression
 
+
     // $ANTLR start argList
-    // D:\\workspace\\jboss\\jbossrules\\drools-compiler\\src\\main\\resources\\org\\drools\\semantics\\java\\parser\\JavaParser.g:876:1: argList : ( expressionList | ) ;
-    public void argList() throws RecognitionException {
+    // C:\\dev\\jbossrules\\trunk3\\drools-compiler\\src\\main\\resources\\org\\drools\\semantics\\java\\parser\\JavaParser.g:876:1: argList : ( expressionList | ) ;
+    public final void argList() throws RecognitionException {
         try {
-            // D:\\workspace\\jboss\\jbossrules\\drools-compiler\\src\\main\\resources\\org\\drools\\semantics\\java\\parser\\JavaParser.g:877:4: ( ( expressionList | ) )
-            // D:\\workspace\\jboss\\jbossrules\\drools-compiler\\src\\main\\resources\\org\\drools\\semantics\\java\\parser\\JavaParser.g:877:4: ( expressionList | )
+            // C:\\dev\\jbossrules\\trunk3\\drools-compiler\\src\\main\\resources\\org\\drools\\semantics\\java\\parser\\JavaParser.g:877:4: ( ( expressionList | ) )
+            // C:\\dev\\jbossrules\\trunk3\\drools-compiler\\src\\main\\resources\\org\\drools\\semantics\\java\\parser\\JavaParser.g:877:4: ( expressionList | )
             {
-                // D:\\workspace\\jboss\\jbossrules\\drools-compiler\\src\\main\\resources\\org\\drools\\semantics\\java\\parser\\JavaParser.g:877:4: ( expressionList | )
-                int alt80 = 2;
-                final int LA80_0 = this.input.LA( 1 );
-                if ( (LA80_0 == IDENT || LA80_0 == LPAREN || (LA80_0 >= PLUS && LA80_0 <= MINUS) || (LA80_0 >= INC && LA80_0 <= NUM_FLOAT) || (LA80_0 >= 68 && LA80_0 <= 76) || (LA80_0 >= 93 && LA80_0 <= 94) || (LA80_0 >= 112 && LA80_0 <= 115)) ) {
-                    alt80 = 1;
-                } else if ( (LA80_0 == RPAREN) ) {
-                    alt80 = 2;
-                } else {
-                    final NoViableAltException nvae = new NoViableAltException( "877:4: ( expressionList | )",
-                                                                          80,
-                                                                          0,
-                                                                          this.input );
+            // C:\\dev\\jbossrules\\trunk3\\drools-compiler\\src\\main\\resources\\org\\drools\\semantics\\java\\parser\\JavaParser.g:877:4: ( expressionList | )
+            int alt80=2;
+            int LA80_0 = input.LA(1);
 
-                    throw nvae;
-                }
-                switch ( alt80 ) {
-                    case 1 :
-                        // D:\\workspace\\jboss\\jbossrules\\drools-compiler\\src\\main\\resources\\org\\drools\\semantics\\java\\parser\\JavaParser.g:877:6: expressionList
+            if ( (LA80_0==IDENT||LA80_0==LPAREN||(LA80_0>=PLUS && LA80_0<=MINUS)||(LA80_0>=INC && LA80_0<=NUM_FLOAT)||(LA80_0>=68 && LA80_0<=76)||(LA80_0>=93 && LA80_0<=94)||(LA80_0>=112 && LA80_0<=115)) ) {
+                alt80=1;
+            }
+            else if ( (LA80_0==RPAREN) ) {
+                alt80=2;
+            }
+            else {
+                NoViableAltException nvae =
+                    new NoViableAltException("877:4: ( expressionList | )", 80, 0, input);
+
+                throw nvae;
+            }
+            switch (alt80) {
+                case 1 :
+                    // C:\\dev\\jbossrules\\trunk3\\drools-compiler\\src\\main\\resources\\org\\drools\\semantics\\java\\parser\\JavaParser.g:877:6: expressionList
                     {
-                        pushFollow( FOLLOW_expressionList_in_argList3247 );
-                        expressionList();
-                        this._fsp--;
+                    pushFollow(FOLLOW_expressionList_in_argList3247);
+                    expressionList();
+                    _fsp--;
 
+
                     }
-                        break;
-                    case 2 :
-                        // D:\\workspace\\jboss\\jbossrules\\drools-compiler\\src\\main\\resources\\org\\drools\\semantics\\java\\parser\\JavaParser.g:880:3: 
+                    break;
+                case 2 :
+                    // C:\\dev\\jbossrules\\trunk3\\drools-compiler\\src\\main\\resources\\org\\drools\\semantics\\java\\parser\\JavaParser.g:880:3: 
                     {
                     }
-                        break;
+                    break;
 
-                }
+            }
 
+
             }
 
-        } catch ( final RecognitionException re ) {
-            reportError( re );
-            recover( this.input,
-                     re );
-        } finally {
         }
-        return;
+        catch (RecognitionException re) {
+            reportError(re);
+            recover(input,re);
+        }
+        finally {
+        }
+        return ;
     }
-
     // $ANTLR end argList
 
+
     // $ANTLR start newArrayDeclarator
-    // D:\\workspace\\jboss\\jbossrules\\drools-compiler\\src\\main\\resources\\org\\drools\\semantics\\java\\parser\\JavaParser.g:883:1: newArrayDeclarator : ( options {k=1; } : LBRACK ( expression )? RBRACK )+ ;
-    public void newArrayDeclarator() throws RecognitionException {
+    // C:\\dev\\jbossrules\\trunk3\\drools-compiler\\src\\main\\resources\\org\\drools\\semantics\\java\\parser\\JavaParser.g:883:1: newArrayDeclarator : ( options {k=1; } : LBRACK ( expression )? RBRACK )+ ;
+    public final void newArrayDeclarator() throws RecognitionException {
         try {
-            // D:\\workspace\\jboss\\jbossrules\\drools-compiler\\src\\main\\resources\\org\\drools\\semantics\\java\\parser\\JavaParser.g:884:4: ( ( options {k=1; } : LBRACK ( expression )? RBRACK )+ )
-            // D:\\workspace\\jboss\\jbossrules\\drools-compiler\\src\\main\\resources\\org\\drools\\semantics\\java\\parser\\JavaParser.g:884:4: ( options {k=1; } : LBRACK ( expression )? RBRACK )+
+            // C:\\dev\\jbossrules\\trunk3\\drools-compiler\\src\\main\\resources\\org\\drools\\semantics\\java\\parser\\JavaParser.g:884:4: ( ( options {k=1; } : LBRACK ( expression )? RBRACK )+ )
+            // C:\\dev\\jbossrules\\trunk3\\drools-compiler\\src\\main\\resources\\org\\drools\\semantics\\java\\parser\\JavaParser.g:884:4: ( options {k=1; } : LBRACK ( expression )? RBRACK )+
             {
-                // D:\\workspace\\jboss\\jbossrules\\drools-compiler\\src\\main\\resources\\org\\drools\\semantics\\java\\parser\\JavaParser.g:884:4: ( options {k=1; } : LBRACK ( expression )? RBRACK )+
-                int cnt82 = 0;
-                loop82 : do {
-                    int alt82 = 2;
-                    final int LA82_0 = this.input.LA( 1 );
-                    if ( (LA82_0 == LBRACK) ) {
-                        alt82 = 1;
-                    }
+            // C:\\dev\\jbossrules\\trunk3\\drools-compiler\\src\\main\\resources\\org\\drools\\semantics\\java\\parser\\JavaParser.g:884:4: ( options {k=1; } : LBRACK ( expression )? RBRACK )+
+            int cnt82=0;
+            loop82:
+            do {
+                int alt82=2;
+                int LA82_0 = input.LA(1);
 
-                    switch ( alt82 ) {
-                        case 1 :
-                            // D:\\workspace\\jboss\\jbossrules\\drools-compiler\\src\\main\\resources\\org\\drools\\semantics\\java\\parser\\JavaParser.g:893:4: LBRACK ( expression )? RBRACK
-                        {
-                            match( this.input,
-                                   LBRACK,
-                                   FOLLOW_LBRACK_in_newArrayDeclarator3317 );
-                            // D:\\workspace\\jboss\\jbossrules\\drools-compiler\\src\\main\\resources\\org\\drools\\semantics\\java\\parser\\JavaParser.g:894:5: ( expression )?
-                            int alt81 = 2;
-                            final int LA81_0 = this.input.LA( 1 );
-                            if ( (LA81_0 == IDENT || LA81_0 == LPAREN || (LA81_0 >= PLUS && LA81_0 <= MINUS) || (LA81_0 >= INC && LA81_0 <= NUM_FLOAT) || (LA81_0 >= 68 && LA81_0 <= 76) || (LA81_0 >= 93 && LA81_0 <= 94) || (LA81_0 >= 112 && LA81_0 <= 115)) ) {
-                                alt81 = 1;
-                            }
-                            switch ( alt81 ) {
-                                case 1 :
-                                    // D:\\workspace\\jboss\\jbossrules\\drools-compiler\\src\\main\\resources\\org\\drools\\semantics\\java\\parser\\JavaParser.g:894:6: expression
-                                {
-                                    pushFollow( FOLLOW_expression_in_newArrayDeclarator3325 );
-                                    expression();
-                                    this._fsp--;
+                if ( (LA82_0==LBRACK) ) {
+                    alt82=1;
+                }
 
-                                }
-                                    break;
 
-                            }
+                switch (alt82) {
+            	case 1 :
+            	    // C:\\dev\\jbossrules\\trunk3\\drools-compiler\\src\\main\\resources\\org\\drools\\semantics\\java\\parser\\JavaParser.g:893:4: LBRACK ( expression )? RBRACK
+            	    {
+            	    match(input,LBRACK,FOLLOW_LBRACK_in_newArrayDeclarator3317); 
+            	    // C:\\dev\\jbossrules\\trunk3\\drools-compiler\\src\\main\\resources\\org\\drools\\semantics\\java\\parser\\JavaParser.g:894:5: ( expression )?
+            	    int alt81=2;
+            	    int LA81_0 = input.LA(1);
 
-                            match( this.input,
-                                   RBRACK,
-                                   FOLLOW_RBRACK_in_newArrayDeclarator3332 );
+            	    if ( (LA81_0==IDENT||LA81_0==LPAREN||(LA81_0>=PLUS && LA81_0<=MINUS)||(LA81_0>=INC && LA81_0<=NUM_FLOAT)||(LA81_0>=68 && LA81_0<=76)||(LA81_0>=93 && LA81_0<=94)||(LA81_0>=112 && LA81_0<=115)) ) {
+            	        alt81=1;
+            	    }
+            	    switch (alt81) {
+            	        case 1 :
+            	            // C:\\dev\\jbossrules\\trunk3\\drools-compiler\\src\\main\\resources\\org\\drools\\semantics\\java\\parser\\JavaParser.g:894:6: expression
+            	            {
+            	            pushFollow(FOLLOW_expression_in_newArrayDeclarator3325);
+            	            expression();
+            	            _fsp--;
 
-                        }
-                            break;
 
-                        default :
-                            if ( cnt82 >= 1 ) {
-                                break loop82;
-                            }
-                            final EarlyExitException eee = new EarlyExitException( 82,
-                                                                             this.input );
-                            throw eee;
-                    }
-                    cnt82++;
-                } while ( true );
+            	            }
+            	            break;
 
+            	    }
+
+            	    match(input,RBRACK,FOLLOW_RBRACK_in_newArrayDeclarator3332); 
+
+            	    }
+            	    break;
+
+            	default :
+            	    if ( cnt82 >= 1 ) break loop82;
+                        EarlyExitException eee =
+                            new EarlyExitException(82, input);
+                        throw eee;
+                }
+                cnt82++;
+            } while (true);
+
+
             }
 
-        } catch ( final RecognitionException re ) {
-            reportError( re );
-            recover( this.input,
-                     re );
-        } finally {
         }
-        return;
+        catch (RecognitionException re) {
+            reportError(re);
+            recover(input,re);
+        }
+        finally {
+        }
+        return ;
     }
-
     // $ANTLR end newArrayDeclarator
 
+
     // $ANTLR start constant
-    // D:\\workspace\\jboss\\jbossrules\\drools-compiler\\src\\main\\resources\\org\\drools\\semantics\\java\\parser\\JavaParser.g:899:1: constant : (NUM_INT|CHAR_LITERAL|STRING_LITERAL|NUM_FLOAT);
-    public void constant() throws RecognitionException {
+    // C:\\dev\\jbossrules\\trunk3\\drools-compiler\\src\\main\\resources\\org\\drools\\semantics\\java\\parser\\JavaParser.g:899:1: constant : ( NUM_INT | CHAR_LITERAL | STRING_LITERAL | NUM_FLOAT );
+    public final void constant() throws RecognitionException {
         try {
-            // D:\\workspace\\jboss\\jbossrules\\drools-compiler\\src\\main\\resources\\org\\drools\\semantics\\java\\parser\\JavaParser.g:900:2: ( (NUM_INT|CHAR_LITERAL|STRING_LITERAL|NUM_FLOAT))
-            // D:\\workspace\\jboss\\jbossrules\\drools-compiler\\src\\main\\resources\\org\\drools\\semantics\\java\\parser\\JavaParser.g:900:4: (NUM_INT|CHAR_LITERAL|STRING_LITERAL|NUM_FLOAT)
+            // C:\\dev\\jbossrules\\trunk3\\drools-compiler\\src\\main\\resources\\org\\drools\\semantics\\java\\parser\\JavaParser.g:900:4: ( NUM_INT | CHAR_LITERAL | STRING_LITERAL | NUM_FLOAT )
+            // C:\\dev\\jbossrules\\trunk3\\drools-compiler\\src\\main\\resources\\org\\drools\\semantics\\java\\parser\\JavaParser.g:
             {
-                if ( (this.input.LA( 1 ) >= NUM_INT && this.input.LA( 1 ) <= NUM_FLOAT) ) {
-                    this.input.consume();
-                    this.errorRecovery = false;
-                } else {
-                    final MismatchedSetException mse = new MismatchedSetException( null,
-                                                                             this.input );
-                    recoverFromMismatchedSet( this.input,
-                                              mse,
-                                              FOLLOW_set_in_constant3348 );
-                    throw mse;
-                }
+            if ( (input.LA(1)>=NUM_INT && input.LA(1)<=NUM_FLOAT) ) {
+                input.consume();
+                errorRecovery=false;
+            }
+            else {
+                MismatchedSetException mse =
+                    new MismatchedSetException(null,input);
+                recoverFromMismatchedSet(input,mse,FOLLOW_set_in_constant0);    throw mse;
+            }
 
+
             }
 
-        } catch ( final RecognitionException re ) {
-            reportError( re );
-            recover( this.input,
-                     re );
-        } finally {
         }
-        return;
+        catch (RecognitionException re) {
+            reportError(re);
+            recover(input,re);
+        }
+        finally {
+        }
+        return ;
     }
-
     // $ANTLR end constant
 
-    protected DFA41              dfa41            = new DFA41( this );
-    protected DFA45              dfa45            = new DFA45( this );
-    protected DFA65              dfa65            = new DFA65( this );
-    public static final String   DFA41_eotS       = "\34\uffff";
-    public static final String   DFA41_eofS       = "\34\uffff";
-    public static final String   DFA41_minS       = "\1\6\1\uffff\1\6\2\4\14\uffff\1\6\4\uffff\1\6\2\5\3\4";
-    public static final String   DFA41_maxS       = "\1\163\1\uffff\1\131\1\157\1\7\14\uffff\1\131\4\uffff\2\163\1\5" + "\2\157\1\7";
-    public static final String   DFA41_acceptS    = "\1\uffff\1\1\3\uffff\1\3\1\4\1\6\1\7\1\10\1\11\1\12\1\13\1\14\1" + "\15\1\16\1\17\1\uffff\1\21\1\20\1\2\1\5\6\uffff";
-    public static final String   DFA41_specialS   = "\34\uffff}>";
-    public static final String[] DFA41_transition = {
-            "\1\3\2\uffff\1\1\1\22\2\uffff\1\5\35\uffff\2\5\2\uffff\10\5\15\uffff" + "\11\4\11\21\1\2\2\21\1\6\3\uffff\2\5\1\uffff\1\7\1\uffff\1\10\1" + "\11\1\12\1\13\1\14\1\15\1\16\1\20\2\uffff\1\17\3\uffff\4\5", "",
-            "\1\24\6\uffff\1\23\66\uffff\11\24\14\21\1\6", "\1\27\1\uffff\1\24\1\26\1\5\1\uffff\1\5\2\uffff\1\5\1\uffff\1\5" + "\1\25\40\5\76\uffff\1\5", "\1\30\1\uffff\1\24\1\5", "", "", "", "", "", "", "", "", "", "", "", "",
-            "\1\24\75\uffff\11\24\14\21\1\6", "", "", "", "", "\1\31\122\uffff\1\5\3\uffff\2\5\24\uffff\1\5", "\1\32\1\5\6\uffff\1\5\35\uffff\2\5\2\uffff\10\5\15\uffff\11\5\20" + "\uffff\2\5\21\uffff\4\5", "\1\33",
-            "\1\27\1\uffff\1\24\1\26\1\5\1\uffff\1\5\2\uffff\1\5\1\uffff\1\5" + "\1\uffff\40\5\76\uffff\1\5", "\1\27\1\uffff\1\24\2\5\1\uffff\1\5\4\uffff\1\5\1\uffff\40\5\76\uffff" + "\1\5", "\1\30\1\uffff\1\24\1\5"};
 
+    protected DFA41 dfa41 = new DFA41(this);
+    protected DFA45 dfa45 = new DFA45(this);
+    protected DFA65 dfa65 = new DFA65(this);
+    static final String DFA41_eotS =
+        "\34\uffff";
+    static final String DFA41_eofS =
+        "\34\uffff";
+    static final String DFA41_minS =
+        "\1\6\1\uffff\1\6\2\4\14\uffff\1\6\4\uffff\1\6\2\5\3\4";
+    static final String DFA41_maxS =
+        "\1\163\1\uffff\1\131\1\157\1\7\14\uffff\1\131\4\uffff\2\163\1\5"+
+        "\2\157\1\7";
+    static final String DFA41_acceptS =
+        "\1\uffff\1\1\3\uffff\1\3\1\4\1\6\1\7\1\10\1\11\1\12\1\13\1\14\1"+
+        "\15\1\16\1\17\1\uffff\1\21\1\20\1\2\1\5\6\uffff";
+    static final String DFA41_specialS =
+        "\34\uffff}>";
+    static final String[] DFA41_transitionS = {
+            "\1\3\2\uffff\1\1\1\22\2\uffff\1\5\35\uffff\2\5\2\uffff\10\5"+
+            "\15\uffff\11\4\11\21\1\2\2\21\1\6\3\uffff\2\5\1\uffff\1\7\1"+
+            "\uffff\1\10\1\11\1\12\1\13\1\14\1\15\1\16\1\20\2\uffff\1\17"+
+            "\3\uffff\4\5",
+            "",
+            "\1\24\6\uffff\1\23\66\uffff\11\24\14\21\1\6",
+            "\1\27\1\uffff\1\24\1\26\1\5\1\uffff\1\5\2\uffff\1\5\1\uffff"+
+            "\1\5\1\25\40\5\76\uffff\1\5",
+            "\1\30\1\uffff\1\24\1\5",
+            "",
+            "",
+            "",
+            "",
+            "",
+            "",
+            "",
+            "",
+            "",
+            "",
+            "",
+            "",
+            "\1\24\75\uffff\11\24\14\21\1\6",
+            "",
+            "",
+            "",
+            "",
+            "\1\31\122\uffff\1\5\3\uffff\2\5\24\uffff\1\5",
+            "\1\32\1\5\6\uffff\1\5\35\uffff\2\5\2\uffff\10\5\15\uffff\11"+
+            "\5\20\uffff\2\5\21\uffff\4\5",
+            "\1\33",
+            "\1\27\1\uffff\1\24\1\26\1\5\1\uffff\1\5\2\uffff\1\5\1\uffff"+
+            "\1\5\1\uffff\40\5\76\uffff\1\5",
+            "\1\27\1\uffff\1\24\2\5\1\uffff\1\5\4\uffff\1\5\1\uffff\40\5"+
+            "\76\uffff\1\5",
+            "\1\30\1\uffff\1\24\1\5"
+    };
+
+    static final short[] DFA41_eot = DFA.unpackEncodedString(DFA41_eotS);
+    static final short[] DFA41_eof = DFA.unpackEncodedString(DFA41_eofS);
+    static final char[] DFA41_min = DFA.unpackEncodedStringToUnsignedChars(DFA41_minS);
+    static final char[] DFA41_max = DFA.unpackEncodedStringToUnsignedChars(DFA41_maxS);
+    static final short[] DFA41_accept = DFA.unpackEncodedString(DFA41_acceptS);
+    static final short[] DFA41_special = DFA.unpackEncodedString(DFA41_specialS);
+    static final short[][] DFA41_transition;
+
+    static {
+        int numStates = DFA41_transitionS.length;
+        DFA41_transition = new short[numStates][];
+        for (int i=0; i<numStates; i++) {
+            DFA41_transition[i] = DFA.unpackEncodedString(DFA41_transitionS[i]);
+        }
+    }
+
     class DFA41 extends DFA {
-        public DFA41(final BaseRecognizer recognizer) {
+
+        public DFA41(BaseRecognizer recognizer) {
             this.recognizer = recognizer;
             this.decisionNumber = 41;
-            this.eot = DFA.unpackEncodedString( DFA41_eotS );
-            this.eof = DFA.unpackEncodedString( DFA41_eofS );
-            this.min = DFA.unpackEncodedStringToUnsignedChars( DFA41_minS );
-            this.max = DFA.unpackEncodedStringToUnsignedChars( DFA41_maxS );
-            this.accept = DFA.unpackEncodedString( DFA41_acceptS );
-            this.special = DFA.unpackEncodedString( DFA41_specialS );
-            final int numStates = DFA41_transition.length;
-            this.transition = new short[numStates][];
-            for ( int i = 0; i < numStates; i++ ) {
-                this.transition[i] = DFA.unpackEncodedString( DFA41_transition[i] );
-            }
+            this.eot = DFA41_eot;
+            this.eof = DFA41_eof;
+            this.min = DFA41_min;
+            this.max = DFA41_max;
+            this.accept = DFA41_accept;
+            this.special = DFA41_special;
+            this.transition = DFA41_transition;
         }
-
         public String getDescription() {
             return "434:1: statement : ( compoundStatement | declaration SEMI | expression SEMI | modifiers classDefinition | IDENT COLON statement | 'if' LPAREN expression RPAREN statement ( 'else' statement )? | 'for' LPAREN forInit SEMI forCond SEMI forIter RPAREN statement | 'while' LPAREN expression RPAREN statement | 'do' statement 'while' LPAREN expression RPAREN SEMI | 'break' ( IDENT )? SEMI | 'continue' ( IDENT )? SEMI | 'return' ( expression )? SEMI | 'switch' LPAREN expression RPAREN LCURLY ( casesGroup )* RCURLY | tryBlock | 'throw' expression SEMI | 'synchronized' LPAREN expression RPAREN compoundStatement | SEMI );";
         }
     }
+    static final String DFA45_eotS =
+        "\14\uffff";
+    static final String DFA45_eofS =
+        "\14\uffff";
+    static final String DFA45_minS =
+        "\1\6\1\uffff\2\4\2\uffff\1\6\2\5\3\4";
+    static final String DFA45_maxS =
+        "\1\163\1\uffff\1\157\1\7\2\uffff\2\163\1\5\2\157\1\7";
+    static final String DFA45_acceptS =
+        "\1\uffff\1\1\2\uffff\1\2\1\3\6\uffff";
+    static final String DFA45_specialS =
+        "\14\uffff}>";
+    static final String[] DFA45_transitionS = {
+            "\1\2\3\uffff\1\5\2\uffff\1\4\35\uffff\2\4\2\uffff\10\4\15\uffff"+
+            "\11\3\14\1\4\uffff\2\4\21\uffff\4\4",
+            "",
+            "\1\7\1\uffff\1\1\1\6\1\4\1\uffff\1\4\1\uffff\2\4\1\uffff\1\4"+
+            "\1\uffff\40\4\76\uffff\1\4",
+            "\1\10\1\uffff\1\1\1\4",
+            "",
+            "",
+            "\1\11\122\uffff\1\4\3\uffff\2\4\24\uffff\1\4",
+            "\1\12\1\4\6\uffff\1\4\35\uffff\2\4\2\uffff\10\4\15\uffff\11"+
+            "\4\20\uffff\2\4\21\uffff\4\4",
+            "\1\13",
+            "\1\7\1\uffff\1\1\1\6\1\4\1\uffff\1\4\1\uffff\2\4\1\uffff\1\4"+
+            "\1\uffff\40\4\76\uffff\1\4",
+            "\1\7\1\uffff\1\1\2\4\1\uffff\1\4\1\uffff\1\4\2\uffff\1\4\1\uffff"+
+            "\40\4\76\uffff\1\4",
+            "\1\10\1\uffff\1\1\1\4"
+    };
 
-    public static final String   DFA45_eotS       = "\14\uffff";
-    public static final String   DFA45_eofS       = "\14\uffff";
-    public static final String   DFA45_minS       = "\1\6\1\uffff\2\4\2\uffff\1\6\2\5\3\4";
-    public static final String   DFA45_maxS       = "\1\163\1\uffff\1\157\1\7\2\uffff\2\163\1\5\2\157\1\7";
-    public static final String   DFA45_acceptS    = "\1\uffff\1\1\2\uffff\1\2\1\3\6\uffff";
-    public static final String   DFA45_specialS   = "\14\uffff}>";
-    public static final String[] DFA45_transition = {"\1\2\3\uffff\1\5\2\uffff\1\4\35\uffff\2\4\2\uffff\10\4\15\uffff" + "\11\3\14\1\4\uffff\2\4\21\uffff\4\4", "",
-            "\1\7\1\uffff\1\1\1\6\1\4\1\uffff\1\4\1\uffff\2\4\1\uffff\1\4\1\uffff" + "\40\4\76\uffff\1\4", "\1\10\1\uffff\1\1\1\4", "", "", "\1\11\122\uffff\1\4\3\uffff\2\4\24\uffff\1\4",
-            "\1\12\1\4\6\uffff\1\4\35\uffff\2\4\2\uffff\10\4\15\uffff\11\4\20" + "\uffff\2\4\21\uffff\4\4", "\1\13", "\1\7\1\uffff\1\1\1\6\1\4\1\uffff\1\4\1\uffff\2\4\1\uffff\1\4\1\uffff" + "\40\4\76\uffff\1\4",
-            "\1\7\1\uffff\1\1\2\4\1\uffff\1\4\1\uffff\1\4\2\uffff\1\4\1\uffff" + "\40\4\76\uffff\1\4", "\1\10\1\uffff\1\1\1\4"};
+    static final short[] DFA45_eot = DFA.unpackEncodedString(DFA45_eotS);
+    static final short[] DFA45_eof = DFA.unpackEncodedString(DFA45_eofS);
+    static final char[] DFA45_min = DFA.unpackEncodedStringToUnsignedChars(DFA45_minS);
+    static final char[] DFA45_max = DFA.unpackEncodedStringToUnsignedChars(DFA45_maxS);
+    static final short[] DFA45_accept = DFA.unpackEncodedString(DFA45_acceptS);
+    static final short[] DFA45_special = DFA.unpackEncodedString(DFA45_specialS);
+    static final short[][] DFA45_transition;
 
+    static {
+        int numStates = DFA45_transitionS.length;
+        DFA45_transition = new short[numStates][];
+        for (int i=0; i<numStates; i++) {
+            DFA45_transition[i] = DFA.unpackEncodedString(DFA45_transitionS[i]);
+        }
+    }
+
     class DFA45 extends DFA {
-        public DFA45(final BaseRecognizer recognizer) {
+
+        public DFA45(BaseRecognizer recognizer) {
             this.recognizer = recognizer;
             this.decisionNumber = 45;
-            this.eot = DFA.unpackEncodedString( DFA45_eotS );
-            this.eof = DFA.unpackEncodedString( DFA45_eofS );
-            this.min = DFA.unpackEncodedStringToUnsignedChars( DFA45_minS );
-            this.max = DFA.unpackEncodedStringToUnsignedChars( DFA45_maxS );
-            this.accept = DFA.unpackEncodedString( DFA45_acceptS );
-            this.special = DFA.unpackEncodedString( DFA45_specialS );
-            final int numStates = DFA45_transition.length;
-            this.transition = new short[numStates][];
-            for ( int i = 0; i < numStates; i++ ) {
-                this.transition[i] = DFA.unpackEncodedString( DFA45_transition[i] );
-            }
+            this.eot = DFA45_eot;
+            this.eof = DFA45_eof;
+            this.min = DFA45_min;
+            this.max = DFA45_max;
+            this.accept = DFA45_accept;
+            this.special = DFA45_special;
+            this.transition = DFA45_transition;
         }
-
         public String getDescription() {
             return "536:4: ( declaration | expressionList )?";
         }
     }
+    static final String DFA65_eotS =
+        "\20\uffff";
+    static final String DFA65_eofS =
+        "\20\uffff";
+    static final String DFA65_minS =
+        "\1\6\2\uffff\1\6\1\uffff\2\4\1\6\1\5\1\4\1\5\1\uffff\2\4\1\uffff"+
+        "\1\4";
+    static final String DFA65_maxS =
+        "\1\163\2\uffff\1\163\1\uffff\1\157\1\16\3\163\1\5\1\uffff\2\157"+
+        "\1\uffff\1\16";
+    static final String DFA65_acceptS =
+        "\1\uffff\1\1\1\2\1\uffff\1\5\6\uffff\1\3\2\uffff\1\4\1\uffff";
+    static final String DFA65_specialS =
+        "\20\uffff}>";
+    static final String[] DFA65_transitionS = {
+            "\1\4\6\uffff\1\3\43\uffff\1\1\1\2\4\4\15\uffff\11\4\20\uffff"+
+            "\2\4\21\uffff\4\4",
+            "",
+            "",
+            "\1\5\6\uffff\1\4\35\uffff\2\4\2\uffff\10\4\15\uffff\11\6\20"+
+            "\uffff\2\4\21\uffff\4\4",
+            "",
+            "\1\10\2\uffff\1\7\1\4\4\uffff\1\4\1\11\1\4\1\uffff\40\4\76\uffff"+
+            "\1\4",
+            "\1\12\2\uffff\1\4\6\uffff\1\13",
+            "\1\14\122\uffff\1\4\3\uffff\2\4\24\uffff\1\4",
+            "\1\15\1\4\6\uffff\1\4\35\uffff\2\4\2\uffff\10\4\15\uffff\11"+
+            "\4\20\uffff\2\4\21\uffff\4\4",
+            "\2\4\1\16\2\4\1\uffff\3\4\1\16\43\4\6\16\15\uffff\11\16\20\uffff"+
+            "\2\16\20\uffff\1\4\4\16",
+            "\1\17",
+            "",
+            "\1\10\2\uffff\1\7\1\4\4\uffff\1\4\1\11\1\4\1\uffff\40\4\76\uffff"+
+            "\1\4",
+            "\1\10\2\uffff\2\4\5\uffff\1\11\1\4\1\uffff\40\4\76\uffff\1\4",
+            "",
+            "\1\12\2\uffff\1\4\6\uffff\1\13"
+    };
 
-    public static final String   DFA65_eotS       = "\20\uffff";
-    public static final String   DFA65_eofS       = "\20\uffff";
-    public static final String   DFA65_minS       = "\1\6\2\uffff\1\6\1\uffff\2\4\1\6\1\5\1\4\1\5\1\uffff\2\4\1\uffff" + "\1\4";
-    public static final String   DFA65_maxS       = "\1\163\2\uffff\1\163\1\uffff\1\157\1\16\3\163\1\5\1\uffff\2\157" + "\1\uffff\1\16";
-    public static final String   DFA65_acceptS    = "\1\uffff\1\1\1\2\1\uffff\1\5\6\uffff\1\3\2\uffff\1\4\1\uffff";
-    public static final String   DFA65_specialS   = "\20\uffff}>";
-    public static final String[] DFA65_transition = {"\1\4\6\uffff\1\3\43\uffff\1\1\1\2\4\4\15\uffff\11\4\20\uffff\2\4" + "\21\uffff\4\4", "", "", "\1\5\6\uffff\1\4\35\uffff\2\4\2\uffff\10\4\15\uffff\11\6\20\uffff" + "\2\4\21\uffff\4\4", "",
-            "\1\10\2\uffff\1\7\1\4\4\uffff\1\4\1\11\1\4\1\uffff\40\4\76\uffff" + "\1\4", "\1\12\2\uffff\1\4\6\uffff\1\13", "\1\14\122\uffff\1\4\3\uffff\2\4\24\uffff\1\4",
-            "\1\15\1\4\6\uffff\1\4\35\uffff\2\4\2\uffff\10\4\15\uffff\11\4\20" + "\uffff\2\4\21\uffff\4\4", "\2\4\1\16\2\4\1\uffff\3\4\1\16\43\4\6\16\15\uffff\11\16\20\uffff" + "\2\16\20\uffff\1\4\4\16", "\1\17", "",
-            "\1\10\2\uffff\1\7\1\4\4\uffff\1\4\1\11\1\4\1\uffff\40\4\76\uffff" + "\1\4", "\1\10\2\uffff\2\4\5\uffff\1\11\1\4\1\uffff\40\4\76\uffff\1\4", "", "\1\12\2\uffff\1\4\6\uffff\1\13"};
+    static final short[] DFA65_eot = DFA.unpackEncodedString(DFA65_eotS);
+    static final short[] DFA65_eof = DFA.unpackEncodedString(DFA65_eofS);
+    static final char[] DFA65_min = DFA.unpackEncodedStringToUnsignedChars(DFA65_minS);
+    static final char[] DFA65_max = DFA.unpackEncodedStringToUnsignedChars(DFA65_maxS);
+    static final short[] DFA65_accept = DFA.unpackEncodedString(DFA65_acceptS);
+    static final short[] DFA65_special = DFA.unpackEncodedString(DFA65_specialS);
+    static final short[][] DFA65_transition;
 
+    static {
+        int numStates = DFA65_transitionS.length;
+        DFA65_transition = new short[numStates][];
+        for (int i=0; i<numStates; i++) {
+            DFA65_transition[i] = DFA.unpackEncodedString(DFA65_transitionS[i]);
+        }
+    }
+
     class DFA65 extends DFA {
-        public DFA65(final BaseRecognizer recognizer) {
+
+        public DFA65(BaseRecognizer recognizer) {
             this.recognizer = recognizer;
             this.decisionNumber = 65;
-            this.eot = DFA.unpackEncodedString( DFA65_eotS );
-            this.eof = DFA.unpackEncodedString( DFA65_eofS );
-            this.min = DFA.unpackEncodedStringToUnsignedChars( DFA65_minS );
-            this.max = DFA.unpackEncodedStringToUnsignedChars( DFA65_maxS );
-            this.accept = DFA.unpackEncodedString( DFA65_acceptS );
-            this.special = DFA.unpackEncodedString( DFA65_specialS );
-            final int numStates = DFA65_transition.length;
-            this.transition = new short[numStates][];
-            for ( int i = 0; i < numStates; i++ ) {
-                this.transition[i] = DFA.unpackEncodedString( DFA65_transition[i] );
-            }
+            this.eot = DFA65_eot;
+            this.eof = DFA65_eof;
+            this.min = DFA65_min;
+            this.max = DFA65_max;
+            this.accept = DFA65_accept;
+            this.special = DFA65_special;
+            this.transition = DFA65_transition;
         }
-
         public String getDescription() {
             return "722:1: unaryExpressionNotPlusMinus : ( BNOT unaryExpression | LNOT unaryExpression | LPAREN builtInTypeSpec RPAREN unaryExpression | LPAREN classTypeSpec RPAREN unaryExpressionNotPlusMinus | postfixExpression );";
         }
     }
+ 
 
-    public static final BitSet FOLLOW_modifiers_in_declaration59                                     = new BitSet( new long[]{0x0000000000000040L, 0x0000000000001FF0L} );
-    public static final BitSet FOLLOW_typeSpec_in_declaration61                                      = new BitSet( new long[]{0x0000000000000040L} );
-    public static final BitSet FOLLOW_variableDefinitions_in_declaration63                           = new BitSet( new long[]{0x0000000000000002L} );
-    public static final BitSet FOLLOW_classTypeSpec_in_typeSpec79                                    = new BitSet( new long[]{0x0000000000000002L} );
-    public static final BitSet FOLLOW_builtInTypeSpec_in_typeSpec84                                  = new BitSet( new long[]{0x0000000000000002L} );
-    public static final BitSet FOLLOW_identifier_in_classTypeSpec97                                  = new BitSet( new long[]{0x0000000000000012L} );
-    public static final BitSet FOLLOW_LBRACK_in_classTypeSpec100                                     = new BitSet( new long[]{0x0000000000000020L} );
-    public static final BitSet FOLLOW_RBRACK_in_classTypeSpec103                                     = new BitSet( new long[]{0x0000000000000012L} );
-    public static final BitSet FOLLOW_builtInType_in_builtInTypeSpec118                              = new BitSet( new long[]{0x0000000000000012L} );
-    public static final BitSet FOLLOW_LBRACK_in_builtInTypeSpec121                                   = new BitSet( new long[]{0x0000000000000020L} );
-    public static final BitSet FOLLOW_RBRACK_in_builtInTypeSpec124                                   = new BitSet( new long[]{0x0000000000000012L} );
-    public static final BitSet FOLLOW_identifier_in_type139                                          = new BitSet( new long[]{0x0000000000000002L} );
-    public static final BitSet FOLLOW_builtInType_in_type144                                         = new BitSet( new long[]{0x0000000000000002L} );
-    public static final BitSet FOLLOW_set_in_builtInType156                                          = new BitSet( new long[]{0x0000000000000002L} );
-    public static final BitSet FOLLOW_IDENT_in_identifier209                                         = new BitSet( new long[]{0x0000000000000082L} );
-    public static final BitSet FOLLOW_DOT_in_identifier214                                           = new BitSet( new long[]{0x0000000000000040L} );
-    public static final BitSet FOLLOW_IDENT_in_identifier216                                         = new BitSet( new long[]{0x0000000000000082L} );
-    public static final BitSet FOLLOW_IDENT_in_identifierStar230                                     = new BitSet( new long[]{0x0000000000000082L} );
-    public static final BitSet FOLLOW_DOT_in_identifierStar236                                       = new BitSet( new long[]{0x0000000000000040L} );
-    public static final BitSet FOLLOW_IDENT_in_identifierStar238                                     = new BitSet( new long[]{0x0000000000000082L} );
-    public static final BitSet FOLLOW_DOT_in_identifierStar247                                       = new BitSet( new long[]{0x0000000000000100L} );
-    public static final BitSet FOLLOW_STAR_in_identifierStar249                                      = new BitSet( new long[]{0x0000000000000002L} );
-    public static final BitSet FOLLOW_modifier_in_modifiers270                                       = new BitSet( new long[]{0x0000000000000002L, 0x0000000001FFE000L} );
-    public static final BitSet FOLLOW_set_in_modifier288                                             = new BitSet( new long[]{0x0000000000000002L} );
-    public static final BitSet FOLLOW_89_in_classDefinition356                                       = new BitSet( new long[]{0x0000000000000040L} );
-    public static final BitSet FOLLOW_IDENT_in_classDefinition358                                    = new BitSet( new long[]{0x0000000000000200L, 0x0000000014000000L} );
-    public static final BitSet FOLLOW_superClassClause_in_classDefinition365                         = new BitSet( new long[]{0x0000000000000200L, 0x0000000010000000L} );
-    public static final BitSet FOLLOW_implementsClause_in_classDefinition372                         = new BitSet( new long[]{0x0000000000000200L} );
-    public static final BitSet FOLLOW_classBlock_in_classDefinition379                               = new BitSet( new long[]{0x0000000000000002L} );
-    public static final BitSet FOLLOW_90_in_superClassClause392                                      = new BitSet( new long[]{0x0000000000000040L} );
-    public static final BitSet FOLLOW_identifier_in_superClassClause394                              = new BitSet( new long[]{0x0000000000000002L} );
-    public static final BitSet FOLLOW_91_in_interfaceDefinition412                                   = new BitSet( new long[]{0x0000000000000040L} );
-    public static final BitSet FOLLOW_IDENT_in_interfaceDefinition414                                = new BitSet( new long[]{0x0000000000000200L, 0x0000000004000000L} );
-    public static final BitSet FOLLOW_interfaceExtends_in_interfaceDefinition421                     = new BitSet( new long[]{0x0000000000000200L} );
-    public static final BitSet FOLLOW_classBlock_in_interfaceDefinition428                           = new BitSet( new long[]{0x0000000000000002L} );
-    public static final BitSet FOLLOW_LCURLY_in_classBlock442                                        = new BitSet( new long[]{0x0000000000000E40L, 0x000000000BFFFFF0L} );
-    public static final BitSet FOLLOW_field_in_classBlock449                                         = new BitSet( new long[]{0x0000000000000E40L, 0x000000000BFFFFF0L} );
-    public static final BitSet FOLLOW_SEMI_in_classBlock453                                          = new BitSet( new long[]{0x0000000000000E40L, 0x000000000BFFFFF0L} );
-    public static final BitSet FOLLOW_RCURLY_in_classBlock460                                        = new BitSet( new long[]{0x0000000000000002L} );
-    public static final BitSet FOLLOW_90_in_interfaceExtends479                                      = new BitSet( new long[]{0x0000000000000040L} );
-    public static final BitSet FOLLOW_identifier_in_interfaceExtends483                              = new BitSet( new long[]{0x0000000000001002L} );
-    public static final BitSet FOLLOW_COMMA_in_interfaceExtends487                                   = new BitSet( new long[]{0x0000000000000040L} );
-    public static final BitSet FOLLOW_identifier_in_interfaceExtends489                              = new BitSet( new long[]{0x0000000000001002L} );
-    public static final BitSet FOLLOW_92_in_implementsClause514                                      = new BitSet( new long[]{0x0000000000000040L} );
-    public static final BitSet FOLLOW_identifier_in_implementsClause516                              = new BitSet( new long[]{0x0000000000001002L} );
-    public static final BitSet FOLLOW_COMMA_in_implementsClause520                                   = new BitSet( new long[]{0x0000000000000040L} );
-    public static final BitSet FOLLOW_identifier_in_implementsClause522                              = new BitSet( new long[]{0x0000000000001002L} );
-    public static final BitSet FOLLOW_modifiers_in_field548                                          = new BitSet( new long[]{0x0000000000000040L, 0x000000000A001FF0L} );
-    public static final BitSet FOLLOW_ctorHead_in_field554                                           = new BitSet( new long[]{0x0000000000000200L} );
-    public static final BitSet FOLLOW_constructorBody_in_field556                                    = new BitSet( new long[]{0x0000000000000002L} );
-    public static final BitSet FOLLOW_classDefinition_in_field568                                    = new BitSet( new long[]{0x0000000000000002L} );
-    public static final BitSet FOLLOW_interfaceDefinition_in_field586                                = new BitSet( new long[]{0x0000000000000002L} );
-    public static final BitSet FOLLOW_typeSpec_in_field600                                           = new BitSet( new long[]{0x0000000000000040L} );
-    public static final BitSet FOLLOW_IDENT_in_field609                                              = new BitSet( new long[]{0x0000000000002000L} );
-    public static final BitSet FOLLOW_LPAREN_in_field623                                             = new BitSet( new long[]{0x0000000000004040L, 0x0000000000041FF0L} );
-    public static final BitSet FOLLOW_parameterDeclarationList_in_field625                           = new BitSet( new long[]{0x0000000000004000L} );
-    public static final BitSet FOLLOW_RPAREN_in_field627                                             = new BitSet( new long[]{0x0000000000000610L, 0x0000000080000000L} );
-    public static final BitSet FOLLOW_declaratorBrackets_in_field634                                 = new BitSet( new long[]{0x0000000000000600L, 0x0000000080000000L} );
-    public static final BitSet FOLLOW_throwsClause_in_field652                                       = new BitSet( new long[]{0x0000000000000600L} );
-    public static final BitSet FOLLOW_compoundStatement_in_field663                                  = new BitSet( new long[]{0x0000000000000002L} );
-    public static final BitSet FOLLOW_SEMI_in_field667                                               = new BitSet( new long[]{0x0000000000000002L} );
-    public static final BitSet FOLLOW_variableDefinitions_in_field676                                = new BitSet( new long[]{0x0000000000000400L} );
-    public static final BitSet FOLLOW_SEMI_in_field678                                               = new BitSet( new long[]{0x0000000000000002L} );
-    public static final BitSet FOLLOW_80_in_field704                                                 = new BitSet( new long[]{0x0000000000000200L} );
-    public static final BitSet FOLLOW_compoundStatement_in_field706                                  = new BitSet( new long[]{0x0000000000000002L} );
-    public static final BitSet FOLLOW_compoundStatement_in_field720                                  = new BitSet( new long[]{0x0000000000000002L} );
-    public static final BitSet FOLLOW_LCURLY_in_constructorBody739                                   = new BitSet( new long[]{0x007F980000002E40L, 0x000F13FD61FFFFF0L} );
-    public static final BitSet FOLLOW_explicitConstructorInvocation_in_constructorBody765            = new BitSet( new long[]{0x007F980000002E40L, 0x000F13FD61FFFFF0L} );
-    public static final BitSet FOLLOW_statement_in_constructorBody782                                = new BitSet( new long[]{0x007F980000002E40L, 0x000F13FD61FFFFF0L} );
-    public static final BitSet FOLLOW_RCURLY_in_constructorBody794                                   = new BitSet( new long[]{0x0000000000000002L} );
-    public static final BitSet FOLLOW_93_in_explicitConstructorInvocation815                         = new BitSet( new long[]{0x0000000000002000L} );
-    public static final BitSet FOLLOW_LPAREN_in_explicitConstructorInvocation817                     = new BitSet( new long[]{0x007F980000006040L, 0x000F000060001FF0L} );
-    public static final BitSet FOLLOW_argList_in_explicitConstructorInvocation819                    = new BitSet( new long[]{0x0000000000004000L} );
-    public static final BitSet FOLLOW_RPAREN_in_explicitConstructorInvocation821                     = new BitSet( new long[]{0x0000000000000400L} );
-    public static final BitSet FOLLOW_SEMI_in_explicitConstructorInvocation823                       = new BitSet( new long[]{0x0000000000000002L} );
-    public static final BitSet FOLLOW_94_in_explicitConstructorInvocation836                         = new BitSet( new long[]{0x0000000000002000L} );
-    public static final BitSet FOLLOW_LPAREN_in_explicitConstructorInvocation838                     = new BitSet( new long[]{0x007F980000006040L, 0x000F000060001FF0L} );
-    public static final BitSet FOLLOW_argList_in_explicitConstructorInvocation840                    = new BitSet( new long[]{0x0000000000004000L} );
-    public static final BitSet FOLLOW_RPAREN_in_explicitConstructorInvocation842                     = new BitSet( new long[]{0x0000000000000400L} );
-    public static final BitSet FOLLOW_SEMI_in_explicitConstructorInvocation844                       = new BitSet( new long[]{0x0000000000000002L} );
-    public static final BitSet FOLLOW_variableDeclarator_in_variableDefinitions861                   = new BitSet( new long[]{0x0000000000001002L} );
-    public static final BitSet FOLLOW_COMMA_in_variableDefinitions867                                = new BitSet( new long[]{0x0000000000000040L} );
-    public static final BitSet FOLLOW_variableDeclarator_in_variableDefinitions872                   = new BitSet( new long[]{0x0000000000001002L} );
-    public static final BitSet FOLLOW_IDENT_in_variableDeclarator890                                 = new BitSet( new long[]{0x0000000000008012L} );
-    public static final BitSet FOLLOW_declaratorBrackets_in_variableDeclarator892                    = new BitSet( new long[]{0x0000000000008002L} );
-    public static final BitSet FOLLOW_varInitializer_in_variableDeclarator894                        = new BitSet( new long[]{0x0000000000000002L} );
-    public static final BitSet FOLLOW_LBRACK_in_declaratorBrackets912                                = new BitSet( new long[]{0x0000000000000020L} );
-    public static final BitSet FOLLOW_RBRACK_in_declaratorBrackets915                                = new BitSet( new long[]{0x0000000000000012L} );
-    public static final BitSet FOLLOW_ASSIGN_in_varInitializer930                                    = new BitSet( new long[]{0x007F980000002240L, 0x000F000060001FF0L} );
-    public static final BitSet FOLLOW_initializer_in_varInitializer932                               = new BitSet( new long[]{0x0000000000000002L} );
-    public static final BitSet FOLLOW_LCURLY_in_arrayInitializer947                                  = new BitSet( new long[]{0x007F980000002A40L, 0x000F000060001FF0L} );
-    public static final BitSet FOLLOW_initializer_in_arrayInitializer955                             = new BitSet( new long[]{0x0000000000001800L} );
-    public static final BitSet FOLLOW_COMMA_in_arrayInitializer992                                   = new BitSet( new long[]{0x007F980000002240L, 0x000F000060001FF0L} );
-    public static final BitSet FOLLOW_initializer_in_arrayInitializer994                             = new BitSet( new long[]{0x0000000000001800L} );
-    public static final BitSet FOLLOW_COMMA_in_arrayInitializer1008                                  = new BitSet( new long[]{0x0000000000000800L} );
-    public static final BitSet FOLLOW_RCURLY_in_arrayInitializer1020                                 = new BitSet( new long[]{0x0000000000000002L} );
-    public static final BitSet FOLLOW_expression_in_initializer1034                                  = new BitSet( new long[]{0x0000000000000002L} );
-    public static final BitSet FOLLOW_arrayInitializer_in_initializer1039                            = new BitSet( new long[]{0x0000000000000002L} );
-    public static final BitSet FOLLOW_IDENT_in_ctorHead1053                                          = new BitSet( new long[]{0x0000000000002000L} );
-    public static final BitSet FOLLOW_LPAREN_in_ctorHead1063                                         = new BitSet( new long[]{0x0000000000004040L, 0x0000000000041FF0L} );
-    public static final BitSet FOLLOW_parameterDeclarationList_in_ctorHead1065                       = new BitSet( new long[]{0x0000000000004000L} );
-    public static final BitSet FOLLOW_RPAREN_in_ctorHead1067                                         = new BitSet( new long[]{0x0000000000000002L, 0x0000000080000000L} );
-    public static final BitSet FOLLOW_throwsClause_in_ctorHead1076                                   = new BitSet( new long[]{0x0000000000000002L} );
-    public static final BitSet FOLLOW_95_in_throwsClause1090                                         = new BitSet( new long[]{0x0000000000000040L} );
-    public static final BitSet FOLLOW_identifier_in_throwsClause1092                                 = new BitSet( new long[]{0x0000000000001002L} );
-    public static final BitSet FOLLOW_COMMA_in_throwsClause1096                                      = new BitSet( new long[]{0x0000000000000040L} );
-    public static final BitSet FOLLOW_identifier_in_throwsClause1098                                 = new BitSet( new long[]{0x0000000000001002L} );
-    public static final BitSet FOLLOW_parameterDeclaration_in_parameterDeclarationList1116           = new BitSet( new long[]{0x0000000000001002L} );
-    public static final BitSet FOLLOW_COMMA_in_parameterDeclarationList1120                          = new BitSet( new long[]{0x0000000000000040L, 0x0000000000041FF0L} );
-    public static final BitSet FOLLOW_parameterDeclaration_in_parameterDeclarationList1122           = new BitSet( new long[]{0x0000000000001002L} );
-    public static final BitSet FOLLOW_parameterModifier_in_parameterDeclaration1140                  = new BitSet( new long[]{0x0000000000000040L, 0x0000000000001FF0L} );
-    public static final BitSet FOLLOW_typeSpec_in_parameterDeclaration1142                           = new BitSet( new long[]{0x0000000000000040L} );
-    public static final BitSet FOLLOW_IDENT_in_parameterDeclaration1144                              = new BitSet( new long[]{0x0000000000000012L} );
-    public static final BitSet FOLLOW_declaratorBrackets_in_parameterDeclaration1148                 = new BitSet( new long[]{0x0000000000000002L} );
-    public static final BitSet FOLLOW_82_in_parameterModifier1160                                    = new BitSet( new long[]{0x0000000000000002L} );
-    public static final BitSet FOLLOW_LCURLY_in_compoundStatement1185                                = new BitSet( new long[]{0x007F980000002E40L, 0x000F13FD61FFFFF0L} );
-    public static final BitSet FOLLOW_statement_in_compoundStatement1196                             = new BitSet( new long[]{0x007F980000002E40L, 0x000F13FD61FFFFF0L} );
-    public static final BitSet FOLLOW_RCURLY_in_compoundStatement1202                                = new BitSet( new long[]{0x0000000000000002L} );
-    public static final BitSet FOLLOW_compoundStatement_in_statement1216                             = new BitSet( new long[]{0x0000000000000002L} );
-    public static final BitSet FOLLOW_declaration_in_statement1232                                   = new BitSet( new long[]{0x0000000000000400L} );
-    public static final BitSet FOLLOW_SEMI_in_statement1234                                          = new BitSet( new long[]{0x0000000000000002L} );
-    public static final BitSet FOLLOW_expression_in_statement1246                                    = new BitSet( new long[]{0x0000000000000400L} );
-    public static final BitSet FOLLOW_SEMI_in_statement1248                                          = new BitSet( new long[]{0x0000000000000002L} );
-    public static final BitSet FOLLOW_modifiers_in_statement1256                                     = new BitSet( new long[]{0x0000000000000000L, 0x0000000002000000L} );
-    public static final BitSet FOLLOW_classDefinition_in_statement1258                               = new BitSet( new long[]{0x0000000000000002L} );
-    public static final BitSet FOLLOW_IDENT_in_statement1266                                         = new BitSet( new long[]{0x0000000000010000L} );
-    public static final BitSet FOLLOW_COLON_in_statement1268                                         = new BitSet( new long[]{0x007F980000002640L, 0x000F13FD61FFFFF0L} );
-    public static final BitSet FOLLOW_statement_in_statement1271                                     = new BitSet( new long[]{0x0000000000000002L} );
-    public static final BitSet FOLLOW_96_in_statement1279                                            = new BitSet( new long[]{0x0000000000002000L} );
-    public static final BitSet FOLLOW_LPAREN_in_statement1281                                        = new BitSet( new long[]{0x007F980000002040L, 0x000F000060001FF0L} );
-    public static final BitSet FOLLOW_expression_in_statement1283                                    = new BitSet( new long[]{0x0000000000004000L} );
-    public static final BitSet FOLLOW_RPAREN_in_statement1285                                        = new BitSet( new long[]{0x007F980000002640L, 0x000F13FD61FFFFF0L} );
-    public static final BitSet FOLLOW_statement_in_statement1287                                     = new BitSet( new long[]{0x0000000000000002L, 0x0000000200000000L} );
-    public static final BitSet FOLLOW_97_in_statement1308                                            = new BitSet( new long[]{0x007F980000002640L, 0x000F13FD61FFFFF0L} );
-    public static final BitSet FOLLOW_statement_in_statement1310                                     = new BitSet( new long[]{0x0000000000000002L} );
-    public static final BitSet FOLLOW_98_in_statement1323                                            = new BitSet( new long[]{0x0000000000002000L} );
-    public static final BitSet FOLLOW_LPAREN_in_statement1328                                        = new BitSet( new long[]{0x007F980000002440L, 0x000F000061FFFFF0L} );
-    public static final BitSet FOLLOW_forInit_in_statement1334                                       = new BitSet( new long[]{0x0000000000000400L} );
-    public static final BitSet FOLLOW_SEMI_in_statement1336                                          = new BitSet( new long[]{0x007F980000002440L, 0x000F000060001FF0L} );
-    public static final BitSet FOLLOW_forCond_in_statement1345                                       = new BitSet( new long[]{0x0000000000000400L} );
-    public static final BitSet FOLLOW_SEMI_in_statement1347                                          = new BitSet( new long[]{0x007F980000006040L, 0x000F000060001FF0L} );
-    public static final BitSet FOLLOW_forIter_in_statement1356                                       = new BitSet( new long[]{0x0000000000004000L} );
-    public static final BitSet FOLLOW_RPAREN_in_statement1370                                        = new BitSet( new long[]{0x007F980000002640L, 0x000F13FD61FFFFF0L} );
-    public static final BitSet FOLLOW_statement_in_statement1375                                     = new BitSet( new long[]{0x0000000000000002L} );
-    public static final BitSet FOLLOW_99_in_statement1404                                            = new BitSet( new long[]{0x0000000000002000L} );
-    public static final BitSet FOLLOW_LPAREN_in_statement1406                                        = new BitSet( new long[]{0x007F980000002040L, 0x000F000060001FF0L} );
-    public static final BitSet FOLLOW_expression_in_statement1408                                    = new BitSet( new long[]{0x0000000000004000L} );
-    public static final BitSet FOLLOW_RPAREN_in_statement1410                                        = new BitSet( new long[]{0x007F980000002640L, 0x000F13FD61FFFFF0L} );
-    public static final BitSet FOLLOW_statement_in_statement1412                                     = new BitSet( new long[]{0x0000000000000002L} );
-    public static final BitSet FOLLOW_100_in_statement1420                                           = new BitSet( new long[]{0x007F980000002640L, 0x000F13FD61FFFFF0L} );
-    public static final BitSet FOLLOW_statement_in_statement1422                                     = new BitSet( new long[]{0x0000000000000000L, 0x0000000800000000L} );
-    public static final BitSet FOLLOW_99_in_statement1424                                            = new BitSet( new long[]{0x0000000000002000L} );
-    public static final BitSet FOLLOW_LPAREN_in_statement1426                                        = new BitSet( new long[]{0x007F980000002040L, 0x000F000060001FF0L} );
-    public static final BitSet FOLLOW_expression_in_statement1428                                    = new BitSet( new long[]{0x0000000000004000L} );
-    public static final BitSet FOLLOW_RPAREN_in_statement1430                                        = new BitSet( new long[]{0x0000000000000400L} );
-    public static final BitSet FOLLOW_SEMI_in_statement1432                                          = new BitSet( new long[]{0x0000000000000002L} );
-    public static final BitSet FOLLOW_101_in_statement1440                                           = new BitSet( new long[]{0x0000000000000440L} );
-    public static final BitSet FOLLOW_IDENT_in_statement1443                                         = new BitSet( new long[]{0x0000000000000400L} );
-    public static final BitSet FOLLOW_SEMI_in_statement1447                                          = new BitSet( new long[]{0x0000000000000002L} );
-    public static final BitSet FOLLOW_102_in_statement1455                                           = new BitSet( new long[]{0x0000000000000440L} );
-    public static final BitSet FOLLOW_IDENT_in_statement1458                                         = new BitSet( new long[]{0x0000000000000400L} );
-    public static final BitSet FOLLOW_SEMI_in_statement1462                                          = new BitSet( new long[]{0x0000000000000002L} );
-    public static final BitSet FOLLOW_103_in_statement1470                                           = new BitSet( new long[]{0x007F980000002440L, 0x000F000060001FF0L} );
-    public static final BitSet FOLLOW_expression_in_statement1473                                    = new BitSet( new long[]{0x0000000000000400L} );
-    public static final BitSet FOLLOW_SEMI_in_statement1477                                          = new BitSet( new long[]{0x0000000000000002L} );
-    public static final BitSet FOLLOW_104_in_statement1485                                           = new BitSet( new long[]{0x0000000000002000L} );
-    public static final BitSet FOLLOW_LPAREN_in_statement1487                                        = new BitSet( new long[]{0x007F980000002040L, 0x000F000060001FF0L} );
-    public static final BitSet FOLLOW_expression_in_statement1489                                    = new BitSet( new long[]{0x0000000000004000L} );
-    public static final BitSet FOLLOW_RPAREN_in_statement1491                                        = new BitSet( new long[]{0x0000000000000200L} );
-    public static final BitSet FOLLOW_LCURLY_in_statement1493                                        = new BitSet( new long[]{0x0000000000000800L, 0x00000C0000000000L} );
-    public static final BitSet FOLLOW_casesGroup_in_statement1500                                    = new BitSet( new long[]{0x0000000000000800L, 0x00000C0000000000L} );
-    public static final BitSet FOLLOW_RCURLY_in_statement1507                                        = new BitSet( new long[]{0x0000000000000002L} );
-    public static final BitSet FOLLOW_tryBlock_in_statement1515                                      = new BitSet( new long[]{0x0000000000000002L} );
-    public static final BitSet FOLLOW_105_in_statement1523                                           = new BitSet( new long[]{0x007F980000002040L, 0x000F000060001FF0L} );
-    public static final BitSet FOLLOW_expression_in_statement1525                                    = new BitSet( new long[]{0x0000000000000400L} );
-    public static final BitSet FOLLOW_SEMI_in_statement1527                                          = new BitSet( new long[]{0x0000000000000002L} );
-    public static final BitSet FOLLOW_86_in_statement1535                                            = new BitSet( new long[]{0x0000000000002000L} );
-    public static final BitSet FOLLOW_LPAREN_in_statement1537                                        = new BitSet( new long[]{0x007F980000002040L, 0x000F000060001FF0L} );
-    public static final BitSet FOLLOW_expression_in_statement1539                                    = new BitSet( new long[]{0x0000000000004000L} );
-    public static final BitSet FOLLOW_RPAREN_in_statement1541                                        = new BitSet( new long[]{0x0000000000000200L} );
-    public static final BitSet FOLLOW_compoundStatement_in_statement1543                             = new BitSet( new long[]{0x0000000000000002L} );
-    public static final BitSet FOLLOW_SEMI_in_statement1556                                          = new BitSet( new long[]{0x0000000000000002L} );
-    public static final BitSet FOLLOW_aCase_in_casesGroup1602                                        = new BitSet( new long[]{0x007F980000002642L, 0x000F1FFD61FFFFF0L} );
-    public static final BitSet FOLLOW_caseSList_in_casesGroup1611                                    = new BitSet( new long[]{0x0000000000000002L} );
-    public static final BitSet FOLLOW_106_in_aCase1626                                               = new BitSet( new long[]{0x007F980000002040L, 0x000F000060001FF0L} );
-    public static final BitSet FOLLOW_expression_in_aCase1628                                        = new BitSet( new long[]{0x0000000000010000L} );
-    public static final BitSet FOLLOW_107_in_aCase1632                                               = new BitSet( new long[]{0x0000000000010000L} );
-    public static final BitSet FOLLOW_COLON_in_aCase1635                                             = new BitSet( new long[]{0x0000000000000002L} );
-    public static final BitSet FOLLOW_statement_in_caseSList1647                                     = new BitSet( new long[]{0x007F980000002642L, 0x000F13FD61FFFFF0L} );
-    public static final BitSet FOLLOW_declaration_in_forInit1678                                     = new BitSet( new long[]{0x0000000000000002L} );
-    public static final BitSet FOLLOW_expressionList_in_forInit1687                                  = new BitSet( new long[]{0x0000000000000002L} );
-    public static final BitSet FOLLOW_expression_in_forCond1707                                      = new BitSet( new long[]{0x0000000000000002L} );
-    public static final BitSet FOLLOW_expressionList_in_forIter1724                                  = new BitSet( new long[]{0x0000000000000002L} );
-    public static final BitSet FOLLOW_108_in_tryBlock1741                                            = new BitSet( new long[]{0x0000000000000200L} );
-    public static final BitSet FOLLOW_compoundStatement_in_tryBlock1743                              = new BitSet( new long[]{0x0000000000000002L, 0x0000600000000000L} );
-    public static final BitSet FOLLOW_handler_in_tryBlock1748                                        = new BitSet( new long[]{0x0000000000000002L, 0x0000600000000000L} );
-    public static final BitSet FOLLOW_finallyClause_in_tryBlock1756                                  = new BitSet( new long[]{0x0000000000000002L} );
-    public static final BitSet FOLLOW_109_in_finallyClause1770                                       = new BitSet( new long[]{0x0000000000000200L} );
-    public static final BitSet FOLLOW_compoundStatement_in_finallyClause1772                         = new BitSet( new long[]{0x0000000000000002L} );
-    public static final BitSet FOLLOW_110_in_handler1784                                             = new BitSet( new long[]{0x0000000000002000L} );
-    public static final BitSet FOLLOW_LPAREN_in_handler1786                                          = new BitSet( new long[]{0x0000000000000040L, 0x0000000000041FF0L} );
-    public static final BitSet FOLLOW_parameterDeclaration_in_handler1788                            = new BitSet( new long[]{0x0000000000004000L} );
-    public static final BitSet FOLLOW_RPAREN_in_handler1790                                          = new BitSet( new long[]{0x0000000000000200L} );
-    public static final BitSet FOLLOW_compoundStatement_in_handler1792                               = new BitSet( new long[]{0x0000000000000002L} );
-    public static final BitSet FOLLOW_assignmentExpression_in_expression1839                         = new BitSet( new long[]{0x0000000000000002L} );
-    public static final BitSet FOLLOW_expression_in_expressionList1855                               = new BitSet( new long[]{0x0000000000001002L} );
-    public static final BitSet FOLLOW_COMMA_in_expressionList1858                                    = new BitSet( new long[]{0x007F980000002040L, 0x000F000060001FF0L} );
-    public static final BitSet FOLLOW_expression_in_expressionList1860                               = new BitSet( new long[]{0x0000000000001002L} );
-    public static final BitSet FOLLOW_conditionalExpression_in_assignmentExpression1878              = new BitSet( new long[]{0x000000000FFE8002L} );
-    public static final BitSet FOLLOW_set_in_assignmentExpression1886                                = new BitSet( new long[]{0x007F980000002040L, 0x000F000060001FF0L} );
-    public static final BitSet FOLLOW_assignmentExpression_in_assignmentExpression2103               = new BitSet( new long[]{0x0000000000000002L} );
-    public static final BitSet FOLLOW_logicalOrExpression_in_conditionalExpression2121               = new BitSet( new long[]{0x0000000010000002L} );
-    public static final BitSet FOLLOW_QUESTION_in_conditionalExpression2127                          = new BitSet( new long[]{0x007F980000002040L, 0x000F000060001FF0L} );
-    public static final BitSet FOLLOW_assignmentExpression_in_conditionalExpression2129              = new BitSet( new long[]{0x0000000000010000L} );
-    public static final BitSet FOLLOW_COLON_in_conditionalExpression2131                             = new BitSet( new long[]{0x007F980000002040L, 0x000F000060001FF0L} );
-    public static final BitSet FOLLOW_conditionalExpression_in_conditionalExpression2133             = new BitSet( new long[]{0x0000000000000002L} );
-    public static final BitSet FOLLOW_logicalAndExpression_in_logicalOrExpression2149                = new BitSet( new long[]{0x0000000020000002L} );
-    public static final BitSet FOLLOW_LOR_in_logicalOrExpression2152                                 = new BitSet( new long[]{0x007F980000002040L, 0x000F000060001FF0L} );
-    public static final BitSet FOLLOW_logicalAndExpression_in_logicalOrExpression2154                = new BitSet( new long[]{0x0000000020000002L} );
-    public static final BitSet FOLLOW_inclusiveOrExpression_in_logicalAndExpression2169              = new BitSet( new long[]{0x0000000040000002L} );
-    public static final BitSet FOLLOW_LAND_in_logicalAndExpression2172                               = new BitSet( new long[]{0x007F980000002040L, 0x000F000060001FF0L} );
-    public static final BitSet FOLLOW_inclusiveOrExpression_in_logicalAndExpression2174              = new BitSet( new long[]{0x0000000040000002L} );
-    public static final BitSet FOLLOW_exclusiveOrExpression_in_inclusiveOrExpression2189             = new BitSet( new long[]{0x0000000080000002L} );
-    public static final BitSet FOLLOW_BOR_in_inclusiveOrExpression2192                               = new BitSet( new long[]{0x007F980000002040L, 0x000F000060001FF0L} );
-    public static final BitSet FOLLOW_exclusiveOrExpression_in_inclusiveOrExpression2194             = new BitSet( new long[]{0x0000000080000002L} );
-    public static final BitSet FOLLOW_andExpression_in_exclusiveOrExpression2209                     = new BitSet( new long[]{0x0000000100000002L} );
-    public static final BitSet FOLLOW_BXOR_in_exclusiveOrExpression2212                              = new BitSet( new long[]{0x007F980000002040L, 0x000F000060001FF0L} );
-    public static final BitSet FOLLOW_andExpression_in_exclusiveOrExpression2214                     = new BitSet( new long[]{0x0000000100000002L} );
-    public static final BitSet FOLLOW_equalityExpression_in_andExpression2229                        = new BitSet( new long[]{0x0000000200000002L} );
-    public static final BitSet FOLLOW_BAND_in_andExpression2232                                      = new BitSet( new long[]{0x007F980000002040L, 0x000F000060001FF0L} );
-    public static final BitSet FOLLOW_equalityExpression_in_andExpression2234                        = new BitSet( new long[]{0x0000000200000002L} );
-    public static final BitSet FOLLOW_relationalExpression_in_equalityExpression2249                 = new BitSet( new long[]{0x0000000C00000002L} );
-    public static final BitSet FOLLOW_set_in_equalityExpression2253                                  = new BitSet( new long[]{0x007F980000002040L, 0x000F000060001FF0L} );
-    public static final BitSet FOLLOW_relationalExpression_in_equalityExpression2260                 = new BitSet( new long[]{0x0000000C00000002L} );
-    public static final BitSet FOLLOW_shiftExpression_in_relationalExpression2275                    = new BitSet( new long[]{0x000000F000000002L, 0x0000800000000000L} );
-    public static final BitSet FOLLOW_set_in_relationalExpression2285                                = new BitSet( new long[]{0x007F980000002040L, 0x000F000060001FF0L} );
-    public static final BitSet FOLLOW_shiftExpression_in_relationalExpression2321                    = new BitSet( new long[]{0x000000F000000002L} );
-    public static final BitSet FOLLOW_111_in_relationalExpression2333                                = new BitSet( new long[]{0x0000000000000040L, 0x0000000000001FF0L} );
-    public static final BitSet FOLLOW_typeSpec_in_relationalExpression2335                           = new BitSet( new long[]{0x0000000000000002L} );
-    public static final BitSet FOLLOW_additiveExpression_in_shiftExpression2352                      = new BitSet( new long[]{0x0000070000000002L} );
-    public static final BitSet FOLLOW_set_in_shiftExpression2356                                     = new BitSet( new long[]{0x007F980000002040L, 0x000F000060001FF0L} );
-    public static final BitSet FOLLOW_additiveExpression_in_shiftExpression2367                      = new BitSet( new long[]{0x0000070000000002L} );
-    public static final BitSet FOLLOW_multiplicativeExpression_in_additiveExpression2382             = new BitSet( new long[]{0x0000180000000002L} );
-    public static final BitSet FOLLOW_set_in_additiveExpression2386                                  = new BitSet( new long[]{0x007F980000002040L, 0x000F000060001FF0L} );
-    public static final BitSet FOLLOW_multiplicativeExpression_in_additiveExpression2393             = new BitSet( new long[]{0x0000180000000002L} );
-    public static final BitSet FOLLOW_unaryExpression_in_multiplicativeExpression2408                = new BitSet( new long[]{0x0000600000000102L} );
-    public static final BitSet FOLLOW_set_in_multiplicativeExpression2412                            = new BitSet( new long[]{0x007F980000002040L, 0x000F000060001FF0L} );
-    public static final BitSet FOLLOW_unaryExpression_in_multiplicativeExpression2424                = new BitSet( new long[]{0x0000600000000102L} );
-    public static final BitSet FOLLOW_INC_in_unaryExpression2437                                     = new BitSet( new long[]{0x007F980000002040L, 0x000F000060001FF0L} );
-    public static final BitSet FOLLOW_unaryExpression_in_unaryExpression2439                         = new BitSet( new long[]{0x0000000000000002L} );
-    public static final BitSet FOLLOW_DEC_in_unaryExpression2444                                     = new BitSet( new long[]{0x007F980000002040L, 0x000F000060001FF0L} );
-    public static final BitSet FOLLOW_unaryExpression_in_unaryExpression2446                         = new BitSet( new long[]{0x0000000000000002L} );
-    public static final BitSet FOLLOW_MINUS_in_unaryExpression2451                                   = new BitSet( new long[]{0x007F980000002040L, 0x000F000060001FF0L} );
-    public static final BitSet FOLLOW_unaryExpression_in_unaryExpression2454                         = new BitSet( new long[]{0x0000000000000002L} );
-    public static final BitSet FOLLOW_PLUS_in_unaryExpression2459                                    = new BitSet( new long[]{0x007F980000002040L, 0x000F000060001FF0L} );
-    public static final BitSet FOLLOW_unaryExpression_in_unaryExpression2463                         = new BitSet( new long[]{0x0000000000000002L} );
-    public static final BitSet FOLLOW_unaryExpressionNotPlusMinus_in_unaryExpression2468             = new BitSet( new long[]{0x0000000000000002L} );
-    public static final BitSet FOLLOW_BNOT_in_unaryExpressionNotPlusMinus2479                        = new BitSet( new long[]{0x007F980000002040L, 0x000F000060001FF0L} );
-    public static final BitSet FOLLOW_unaryExpression_in_unaryExpressionNotPlusMinus2481             = new BitSet( new long[]{0x0000000000000002L} );
-    public static final BitSet FOLLOW_LNOT_in_unaryExpressionNotPlusMinus2486                        = new BitSet( new long[]{0x007F980000002040L, 0x000F000060001FF0L} );
-    public static final BitSet FOLLOW_unaryExpression_in_unaryExpressionNotPlusMinus2488             = new BitSet( new long[]{0x0000000000000002L} );
-    public static final BitSet FOLLOW_LPAREN_in_unaryExpressionNotPlusMinus2499                      = new BitSet( new long[]{0x0000000000000000L, 0x0000000000001FF0L} );
-    public static final BitSet FOLLOW_builtInTypeSpec_in_unaryExpressionNotPlusMinus2501             = new BitSet( new long[]{0x0000000000004000L} );
-    public static final BitSet FOLLOW_RPAREN_in_unaryExpressionNotPlusMinus2503                      = new BitSet( new long[]{0x007F980000002040L, 0x000F000060001FF0L} );
-    public static final BitSet FOLLOW_unaryExpression_in_unaryExpressionNotPlusMinus2513             = new BitSet( new long[]{0x0000000000000002L} );
-    public static final BitSet FOLLOW_LPAREN_in_unaryExpressionNotPlusMinus2549                      = new BitSet( new long[]{0x0000000000000040L} );
-    public static final BitSet FOLLOW_classTypeSpec_in_unaryExpressionNotPlusMinus2551               = new BitSet( new long[]{0x0000000000004000L} );
-    public static final BitSet FOLLOW_RPAREN_in_unaryExpressionNotPlusMinus2553                      = new BitSet( new long[]{0x007E000000002040L, 0x000F000060001FF0L} );
-    public static final BitSet FOLLOW_unaryExpressionNotPlusMinus_in_unaryExpressionNotPlusMinus2563 = new BitSet( new long[]{0x0000000000000002L} );
-    public static final BitSet FOLLOW_postfixExpression_in_unaryExpressionNotPlusMinus2572           = new BitSet( new long[]{0x0000000000000002L} );
-    public static final BitSet FOLLOW_primaryExpression_in_postfixExpression2586                     = new BitSet( new long[]{0x0001800000000092L} );
-    public static final BitSet FOLLOW_DOT_in_postfixExpression2594                                   = new BitSet( new long[]{0x0000000000000040L} );
-    public static final BitSet FOLLOW_IDENT_in_postfixExpression2596                                 = new BitSet( new long[]{0x0001800000002092L} );
-    public static final BitSet FOLLOW_LPAREN_in_postfixExpression2603                                = new BitSet( new long[]{0x007F980000006040L, 0x000F000060001FF0L} );
-    public static final BitSet FOLLOW_argList_in_postfixExpression2610                               = new BitSet( new long[]{0x0000000000004000L} );
-    public static final BitSet FOLLOW_RPAREN_in_postfixExpression2616                                = new BitSet( new long[]{0x0001800000000092L} );
-    public static final BitSet FOLLOW_DOT_in_postfixExpression2628                                   = new BitSet( new long[]{0x0000000000000000L, 0x0000000020000000L} );
-    public static final BitSet FOLLOW_93_in_postfixExpression2630                                    = new BitSet( new long[]{0x0001800000000092L} );
-    public static final BitSet FOLLOW_DOT_in_postfixExpression2637                                   = new BitSet( new long[]{0x0000000000000000L, 0x0000000040000000L} );
-    public static final BitSet FOLLOW_94_in_postfixExpression2639                                    = new BitSet( new long[]{0x0000000000002080L} );
-    public static final BitSet FOLLOW_LPAREN_in_postfixExpression2674                                = new BitSet( new long[]{0x007F980000006040L, 0x000F000060001FF0L} );
-    public static final BitSet FOLLOW_argList_in_postfixExpression2676                               = new BitSet( new long[]{0x0000000000004000L} );
-    public static final BitSet FOLLOW_RPAREN_in_postfixExpression2678                                = new BitSet( new long[]{0x0001800000000092L} );
-    public static final BitSet FOLLOW_DOT_in_postfixExpression2704                                   = new BitSet( new long[]{0x0000000000000040L} );
-    public static final BitSet FOLLOW_IDENT_in_postfixExpression2706                                 = new BitSet( new long[]{0x0001800000002092L} );
-    public static final BitSet FOLLOW_LPAREN_in_postfixExpression2726                                = new BitSet( new long[]{0x007F980000006040L, 0x000F000060001FF0L} );
-    public static final BitSet FOLLOW_argList_in_postfixExpression2749                               = new BitSet( new long[]{0x0000000000004000L} );
-    public static final BitSet FOLLOW_RPAREN_in_postfixExpression2771                                = new BitSet( new long[]{0x0001800000000092L} );
-    public static final BitSet FOLLOW_DOT_in_postfixExpression2810                                   = new BitSet( new long[]{0x0000000000000000L, 0x0008000000000000L} );
-    public static final BitSet FOLLOW_newExpression_in_postfixExpression2812                         = new BitSet( new long[]{0x0001800000000092L} );
-    public static final BitSet FOLLOW_LBRACK_in_postfixExpression2818                                = new BitSet( new long[]{0x007F980000002040L, 0x000F000060001FF0L} );
-    public static final BitSet FOLLOW_expression_in_postfixExpression2821                            = new BitSet( new long[]{0x0000000000000020L} );
-    public static final BitSet FOLLOW_RBRACK_in_postfixExpression2823                                = new BitSet( new long[]{0x0001800000000092L} );
-    public static final BitSet FOLLOW_set_in_postfixExpression2854                                   = new BitSet( new long[]{0x0000000000000002L} );
-    public static final BitSet FOLLOW_identPrimary_in_primaryExpression2881                          = new BitSet( new long[]{0x0000000000000082L} );
-    public static final BitSet FOLLOW_DOT_in_primaryExpression2893                                   = new BitSet( new long[]{0x0000000000000000L, 0x0000000002000000L} );
-    public static final BitSet FOLLOW_89_in_primaryExpression2895                                    = new BitSet( new long[]{0x0000000000000002L} );
-    public static final BitSet FOLLOW_constant_in_primaryExpression2908                              = new BitSet( new long[]{0x0000000000000002L} );
-    public static final BitSet FOLLOW_112_in_primaryExpression2913                                   = new BitSet( new long[]{0x0000000000000002L} );
-    public static final BitSet FOLLOW_113_in_primaryExpression2918                                   = new BitSet( new long[]{0x0000000000000002L} );
-    public static final BitSet FOLLOW_114_in_primaryExpression2923                                   = new BitSet( new long[]{0x0000000000000002L} );
-    public static final BitSet FOLLOW_newExpression_in_primaryExpression2933                         = new BitSet( new long[]{0x0000000000000002L} );
-    public static final BitSet FOLLOW_93_in_primaryExpression2938                                    = new BitSet( new long[]{0x0000000000000002L} );
-    public static final BitSet FOLLOW_94_in_primaryExpression2943                                    = new BitSet( new long[]{0x0000000000000002L} );
-    public static final BitSet FOLLOW_LPAREN_in_primaryExpression2948                                = new BitSet( new long[]{0x007F980000002040L, 0x000F000060001FF0L} );
-    public static final BitSet FOLLOW_assignmentExpression_in_primaryExpression2950                  = new BitSet( new long[]{0x0000000000004000L} );
-    public static final BitSet FOLLOW_RPAREN_in_primaryExpression2952                                = new BitSet( new long[]{0x0000000000000002L} );
-    public static final BitSet FOLLOW_builtInType_in_primaryExpression2960                           = new BitSet( new long[]{0x0000000000000090L} );
-    public static final BitSet FOLLOW_LBRACK_in_primaryExpression2966                                = new BitSet( new long[]{0x0000000000000020L} );
-    public static final BitSet FOLLOW_RBRACK_in_primaryExpression2969                                = new BitSet( new long[]{0x0000000000000090L} );
-    public static final BitSet FOLLOW_DOT_in_primaryExpression2976                                   = new BitSet( new long[]{0x0000000000000000L, 0x0000000002000000L} );
-    public static final BitSet FOLLOW_89_in_primaryExpression2978                                    = new BitSet( new long[]{0x0000000000000002L} );
-    public static final BitSet FOLLOW_IDENT_in_identPrimary2993                                      = new BitSet( new long[]{0x0000000000002092L} );
-    public static final BitSet FOLLOW_DOT_in_identPrimary3031                                        = new BitSet( new long[]{0x0000000000000040L} );
-    public static final BitSet FOLLOW_IDENT_in_identPrimary3033                                      = new BitSet( new long[]{0x0000000000002092L} );
-    public static final BitSet FOLLOW_LPAREN_in_identPrimary3095                                     = new BitSet( new long[]{0x007F980000006040L, 0x000F000060001FF0L} );
-    public static final BitSet FOLLOW_argList_in_identPrimary3098                                    = new BitSet( new long[]{0x0000000000004000L} );
-    public static final BitSet FOLLOW_RPAREN_in_identPrimary3100                                     = new BitSet( new long[]{0x0000000000000002L} );
-    public static final BitSet FOLLOW_LBRACK_in_identPrimary3133                                     = new BitSet( new long[]{0x0000000000000020L} );
-    public static final BitSet FOLLOW_RBRACK_in_identPrimary3136                                     = new BitSet( new long[]{0x0000000000000012L} );
-    public static final BitSet FOLLOW_115_in_newExpression3172                                       = new BitSet( new long[]{0x0000000000000040L, 0x0000000000001FF0L} );
-    public static final BitSet FOLLOW_type_in_newExpression3174                                      = new BitSet( new long[]{0x0000000000002010L} );
-    public static final BitSet FOLLOW_LPAREN_in_newExpression3180                                    = new BitSet( new long[]{0x007F980000006040L, 0x000F000060001FF0L} );
-    public static final BitSet FOLLOW_argList_in_newExpression3182                                   = new BitSet( new long[]{0x0000000000004000L} );
-    public static final BitSet FOLLOW_RPAREN_in_newExpression3184                                    = new BitSet( new long[]{0x0000000000000202L} );
-    public static final BitSet FOLLOW_classBlock_in_newExpression3187                                = new BitSet( new long[]{0x0000000000000002L} );
-    public static final BitSet FOLLOW_newArrayDeclarator_in_newExpression3225                        = new BitSet( new long[]{0x0000000000000202L} );
-    public static final BitSet FOLLOW_arrayInitializer_in_newExpression3228                          = new BitSet( new long[]{0x0000000000000002L} );
-    public static final BitSet FOLLOW_expressionList_in_argList3247                                  = new BitSet( new long[]{0x0000000000000002L} );
-    public static final BitSet FOLLOW_LBRACK_in_newArrayDeclarator3317                               = new BitSet( new long[]{0x007F980000002060L, 0x000F000060001FF0L} );
-    public static final BitSet FOLLOW_expression_in_newArrayDeclarator3325                           = new BitSet( new long[]{0x0000000000000020L} );
-    public static final BitSet FOLLOW_RBRACK_in_newArrayDeclarator3332                               = new BitSet( new long[]{0x0000000000000012L} );
-    public static final BitSet FOLLOW_set_in_constant3348                                            = new BitSet( new long[]{0x0000000000000002L} );
+    public static final BitSet FOLLOW_modifiers_in_declaration59 = new BitSet(new long[]{0x0000000000000040L,0x0000000000001FF0L});
+    public static final BitSet FOLLOW_typeSpec_in_declaration61 = new BitSet(new long[]{0x0000000000000040L});
+    public static final BitSet FOLLOW_variableDefinitions_in_declaration63 = new BitSet(new long[]{0x0000000000000002L});
+    public static final BitSet FOLLOW_classTypeSpec_in_typeSpec79 = new BitSet(new long[]{0x0000000000000002L});
+    public static final BitSet FOLLOW_builtInTypeSpec_in_typeSpec84 = new BitSet(new long[]{0x0000000000000002L});
+    public static final BitSet FOLLOW_identifier_in_classTypeSpec97 = new BitSet(new long[]{0x0000000000000012L});
+    public static final BitSet FOLLOW_LBRACK_in_classTypeSpec100 = new BitSet(new long[]{0x0000000000000020L});
+    public static final BitSet FOLLOW_RBRACK_in_classTypeSpec103 = new BitSet(new long[]{0x0000000000000012L});
+    public static final BitSet FOLLOW_builtInType_in_builtInTypeSpec118 = new BitSet(new long[]{0x0000000000000012L});
+    public static final BitSet FOLLOW_LBRACK_in_builtInTypeSpec121 = new BitSet(new long[]{0x0000000000000020L});
+    public static final BitSet FOLLOW_RBRACK_in_builtInTypeSpec124 = new BitSet(new long[]{0x0000000000000012L});
+    public static final BitSet FOLLOW_identifier_in_type139 = new BitSet(new long[]{0x0000000000000002L});
+    public static final BitSet FOLLOW_builtInType_in_type144 = new BitSet(new long[]{0x0000000000000002L});
+    public static final BitSet FOLLOW_set_in_builtInType0 = new BitSet(new long[]{0x0000000000000002L});
+    public static final BitSet FOLLOW_IDENT_in_identifier209 = new BitSet(new long[]{0x0000000000000082L});
+    public static final BitSet FOLLOW_DOT_in_identifier214 = new BitSet(new long[]{0x0000000000000040L});
+    public static final BitSet FOLLOW_IDENT_in_identifier216 = new BitSet(new long[]{0x0000000000000082L});
+    public static final BitSet FOLLOW_IDENT_in_identifierStar230 = new BitSet(new long[]{0x0000000000000082L});
+    public static final BitSet FOLLOW_DOT_in_identifierStar236 = new BitSet(new long[]{0x0000000000000040L});
+    public static final BitSet FOLLOW_IDENT_in_identifierStar238 = new BitSet(new long[]{0x0000000000000082L});
+    public static final BitSet FOLLOW_DOT_in_identifierStar247 = new BitSet(new long[]{0x0000000000000100L});
+    public static final BitSet FOLLOW_STAR_in_identifierStar249 = new BitSet(new long[]{0x0000000000000002L});
+    public static final BitSet FOLLOW_modifier_in_modifiers270 = new BitSet(new long[]{0x0000000000000002L,0x0000000001FFE000L});
+    public static final BitSet FOLLOW_set_in_modifier0 = new BitSet(new long[]{0x0000000000000002L});
+    public static final BitSet FOLLOW_89_in_classDefinition356 = new BitSet(new long[]{0x0000000000000040L});
+    public static final BitSet FOLLOW_IDENT_in_classDefinition358 = new BitSet(new long[]{0x0000000000000200L,0x0000000014000000L});
+    public static final BitSet FOLLOW_superClassClause_in_classDefinition365 = new BitSet(new long[]{0x0000000000000200L,0x0000000010000000L});
+    public static final BitSet FOLLOW_implementsClause_in_classDefinition372 = new BitSet(new long[]{0x0000000000000200L});
+    public static final BitSet FOLLOW_classBlock_in_classDefinition379 = new BitSet(new long[]{0x0000000000000002L});
+    public static final BitSet FOLLOW_90_in_superClassClause392 = new BitSet(new long[]{0x0000000000000040L});
+    public static final BitSet FOLLOW_identifier_in_superClassClause394 = new BitSet(new long[]{0x0000000000000002L});
+    public static final BitSet FOLLOW_91_in_interfaceDefinition412 = new BitSet(new long[]{0x0000000000000040L});
+    public static final BitSet FOLLOW_IDENT_in_interfaceDefinition414 = new BitSet(new long[]{0x0000000000000200L,0x0000000004000000L});
+    public static final BitSet FOLLOW_interfaceExtends_in_interfaceDefinition421 = new BitSet(new long[]{0x0000000000000200L});
+    public static final BitSet FOLLOW_classBlock_in_interfaceDefinition428 = new BitSet(new long[]{0x0000000000000002L});
+    public static final BitSet FOLLOW_LCURLY_in_classBlock442 = new BitSet(new long[]{0x0000000000000E40L,0x000000000BFFFFF0L});
+    public static final BitSet FOLLOW_field_in_classBlock449 = new BitSet(new long[]{0x0000000000000E40L,0x000000000BFFFFF0L});
+    public static final BitSet FOLLOW_SEMI_in_classBlock453 = new BitSet(new long[]{0x0000000000000E40L,0x000000000BFFFFF0L});
+    public static final BitSet FOLLOW_RCURLY_in_classBlock460 = new BitSet(new long[]{0x0000000000000002L});
+    public static final BitSet FOLLOW_90_in_interfaceExtends479 = new BitSet(new long[]{0x0000000000000040L});
+    public static final BitSet FOLLOW_identifier_in_interfaceExtends483 = new BitSet(new long[]{0x0000000000001002L});
+    public static final BitSet FOLLOW_COMMA_in_interfaceExtends487 = new BitSet(new long[]{0x0000000000000040L});
+    public static final BitSet FOLLOW_identifier_in_interfaceExtends489 = new BitSet(new long[]{0x0000000000001002L});
+    public static final BitSet FOLLOW_92_in_implementsClause514 = new BitSet(new long[]{0x0000000000000040L});
+    public static final BitSet FOLLOW_identifier_in_implementsClause516 = new BitSet(new long[]{0x0000000000001002L});
+    public static final BitSet FOLLOW_COMMA_in_implementsClause520 = new BitSet(new long[]{0x0000000000000040L});
+    public static final BitSet FOLLOW_identifier_in_implementsClause522 = new BitSet(new long[]{0x0000000000001002L});
+    public static final BitSet FOLLOW_modifiers_in_field548 = new BitSet(new long[]{0x0000000000000040L,0x000000000A001FF0L});
+    public static final BitSet FOLLOW_ctorHead_in_field554 = new BitSet(new long[]{0x0000000000000200L});
+    public static final BitSet FOLLOW_constructorBody_in_field556 = new BitSet(new long[]{0x0000000000000002L});
+    public static final BitSet FOLLOW_classDefinition_in_field568 = new BitSet(new long[]{0x0000000000000002L});
+    public static final BitSet FOLLOW_interfaceDefinition_in_field586 = new BitSet(new long[]{0x0000000000000002L});
+    public static final BitSet FOLLOW_typeSpec_in_field600 = new BitSet(new long[]{0x0000000000000040L});
+    public static final BitSet FOLLOW_IDENT_in_field609 = new BitSet(new long[]{0x0000000000002000L});
+    public static final BitSet FOLLOW_LPAREN_in_field623 = new BitSet(new long[]{0x0000000000004040L,0x0000000000041FF0L});
+    public static final BitSet FOLLOW_parameterDeclarationList_in_field625 = new BitSet(new long[]{0x0000000000004000L});
+    public static final BitSet FOLLOW_RPAREN_in_field627 = new BitSet(new long[]{0x0000000000000610L,0x0000000080000000L});
+    public static final BitSet FOLLOW_declaratorBrackets_in_field634 = new BitSet(new long[]{0x0000000000000600L,0x0000000080000000L});
+    public static final BitSet FOLLOW_throwsClause_in_field652 = new BitSet(new long[]{0x0000000000000600L});
+    public static final BitSet FOLLOW_compoundStatement_in_field663 = new BitSet(new long[]{0x0000000000000002L});
+    public static final BitSet FOLLOW_SEMI_in_field667 = new BitSet(new long[]{0x0000000000000002L});
+    public static final BitSet FOLLOW_variableDefinitions_in_field676 = new BitSet(new long[]{0x0000000000000400L});
+    public static final BitSet FOLLOW_SEMI_in_field678 = new BitSet(new long[]{0x0000000000000002L});
+    public static final BitSet FOLLOW_80_in_field704 = new BitSet(new long[]{0x0000000000000200L});
+    public static final BitSet FOLLOW_compoundStatement_in_field706 = new BitSet(new long[]{0x0000000000000002L});
+    public static final BitSet FOLLOW_compoundStatement_in_field720 = new BitSet(new long[]{0x0000000000000002L});
+    public static final BitSet FOLLOW_LCURLY_in_constructorBody739 = new BitSet(new long[]{0x007F980000002E40L,0x000F13FD61FFFFF0L});
+    public static final BitSet FOLLOW_explicitConstructorInvocation_in_constructorBody765 = new BitSet(new long[]{0x007F980000002E40L,0x000F13FD61FFFFF0L});
+    public static final BitSet FOLLOW_statement_in_constructorBody782 = new BitSet(new long[]{0x007F980000002E40L,0x000F13FD61FFFFF0L});
+    public static final BitSet FOLLOW_RCURLY_in_constructorBody794 = new BitSet(new long[]{0x0000000000000002L});
+    public static final BitSet FOLLOW_93_in_explicitConstructorInvocation815 = new BitSet(new long[]{0x0000000000002000L});
+    public static final BitSet FOLLOW_LPAREN_in_explicitConstructorInvocation817 = new BitSet(new long[]{0x007F980000006040L,0x000F000060001FF0L});
+    public static final BitSet FOLLOW_argList_in_explicitConstructorInvocation819 = new BitSet(new long[]{0x0000000000004000L});
+    public static final BitSet FOLLOW_RPAREN_in_explicitConstructorInvocation821 = new BitSet(new long[]{0x0000000000000400L});
+    public static final BitSet FOLLOW_SEMI_in_explicitConstructorInvocation823 = new BitSet(new long[]{0x0000000000000002L});
+    public static final BitSet FOLLOW_94_in_explicitConstructorInvocation836 = new BitSet(new long[]{0x0000000000002000L});
+    public static final BitSet FOLLOW_LPAREN_in_explicitConstructorInvocation838 = new BitSet(new long[]{0x007F980000006040L,0x000F000060001FF0L});
+    public static final BitSet FOLLOW_argList_in_explicitConstructorInvocation840 = new BitSet(new long[]{0x0000000000004000L});
+    public static final BitSet FOLLOW_RPAREN_in_explicitConstructorInvocation842 = new BitSet(new long[]{0x0000000000000400L});
+    public static final BitSet FOLLOW_SEMI_in_explicitConstructorInvocation844 = new BitSet(new long[]{0x0000000000000002L});
+    public static final BitSet FOLLOW_variableDeclarator_in_variableDefinitions861 = new BitSet(new long[]{0x0000000000001002L});
+    public static final BitSet FOLLOW_COMMA_in_variableDefinitions867 = new BitSet(new long[]{0x0000000000000040L});
+    public static final BitSet FOLLOW_variableDeclarator_in_variableDefinitions872 = new BitSet(new long[]{0x0000000000001002L});
+    public static final BitSet FOLLOW_IDENT_in_variableDeclarator890 = new BitSet(new long[]{0x0000000000008012L});
+    public static final BitSet FOLLOW_declaratorBrackets_in_variableDeclarator892 = new BitSet(new long[]{0x0000000000008002L});
+    public static final BitSet FOLLOW_varInitializer_in_variableDeclarator894 = new BitSet(new long[]{0x0000000000000002L});
+    public static final BitSet FOLLOW_LBRACK_in_declaratorBrackets912 = new BitSet(new long[]{0x0000000000000020L});
+    public static final BitSet FOLLOW_RBRACK_in_declaratorBrackets915 = new BitSet(new long[]{0x0000000000000012L});
+    public static final BitSet FOLLOW_ASSIGN_in_varInitializer930 = new BitSet(new long[]{0x007F980000002240L,0x000F000060001FF0L});
+    public static final BitSet FOLLOW_initializer_in_varInitializer932 = new BitSet(new long[]{0x0000000000000002L});
+    public static final BitSet FOLLOW_LCURLY_in_arrayInitializer947 = new BitSet(new long[]{0x007F980000002A40L,0x000F000060001FF0L});
+    public static final BitSet FOLLOW_initializer_in_arrayInitializer955 = new BitSet(new long[]{0x0000000000001800L});
+    public static final BitSet FOLLOW_COMMA_in_arrayInitializer992 = new BitSet(new long[]{0x007F980000002240L,0x000F000060001FF0L});
+    public static final BitSet FOLLOW_initializer_in_arrayInitializer994 = new BitSet(new long[]{0x0000000000001800L});
+    public static final BitSet FOLLOW_COMMA_in_arrayInitializer1008 = new BitSet(new long[]{0x0000000000000800L});
+    public static final BitSet FOLLOW_RCURLY_in_arrayInitializer1020 = new BitSet(new long[]{0x0000000000000002L});
+    public static final BitSet FOLLOW_expression_in_initializer1034 = new BitSet(new long[]{0x0000000000000002L});
+    public static final BitSet FOLLOW_arrayInitializer_in_initializer1039 = new BitSet(new long[]{0x0000000000000002L});
+    public static final BitSet FOLLOW_IDENT_in_ctorHead1053 = new BitSet(new long[]{0x0000000000002000L});
+    public static final BitSet FOLLOW_LPAREN_in_ctorHead1063 = new BitSet(new long[]{0x0000000000004040L,0x0000000000041FF0L});
+    public static final BitSet FOLLOW_parameterDeclarationList_in_ctorHead1065 = new BitSet(new long[]{0x0000000000004000L});
+    public static final BitSet FOLLOW_RPAREN_in_ctorHead1067 = new BitSet(new long[]{0x0000000000000002L,0x0000000080000000L});
+    public static final BitSet FOLLOW_throwsClause_in_ctorHead1076 = new BitSet(new long[]{0x0000000000000002L});
+    public static final BitSet FOLLOW_95_in_throwsClause1090 = new BitSet(new long[]{0x0000000000000040L});
+    public static final BitSet FOLLOW_identifier_in_throwsClause1092 = new BitSet(new long[]{0x0000000000001002L});
+    public static final BitSet FOLLOW_COMMA_in_throwsClause1096 = new BitSet(new long[]{0x0000000000000040L});
+    public static final BitSet FOLLOW_identifier_in_throwsClause1098 = new BitSet(new long[]{0x0000000000001002L});
+    public static final BitSet FOLLOW_parameterDeclaration_in_parameterDeclarationList1116 = new BitSet(new long[]{0x0000000000001002L});
+    public static final BitSet FOLLOW_COMMA_in_parameterDeclarationList1120 = new BitSet(new long[]{0x0000000000000040L,0x0000000000041FF0L});
+    public static final BitSet FOLLOW_parameterDeclaration_in_parameterDeclarationList1122 = new BitSet(new long[]{0x0000000000001002L});
+    public static final BitSet FOLLOW_parameterModifier_in_parameterDeclaration1140 = new BitSet(new long[]{0x0000000000000040L,0x0000000000001FF0L});
+    public static final BitSet FOLLOW_typeSpec_in_parameterDeclaration1142 = new BitSet(new long[]{0x0000000000000040L});
+    public static final BitSet FOLLOW_IDENT_in_parameterDeclaration1144 = new BitSet(new long[]{0x0000000000000012L});
+    public static final BitSet FOLLOW_declaratorBrackets_in_parameterDeclaration1148 = new BitSet(new long[]{0x0000000000000002L});
+    public static final BitSet FOLLOW_82_in_parameterModifier1160 = new BitSet(new long[]{0x0000000000000002L});
+    public static final BitSet FOLLOW_LCURLY_in_compoundStatement1185 = new BitSet(new long[]{0x007F980000002E40L,0x000F13FD61FFFFF0L});
+    public static final BitSet FOLLOW_statement_in_compoundStatement1196 = new BitSet(new long[]{0x007F980000002E40L,0x000F13FD61FFFFF0L});
+    public static final BitSet FOLLOW_RCURLY_in_compoundStatement1202 = new BitSet(new long[]{0x0000000000000002L});
+    public static final BitSet FOLLOW_compoundStatement_in_statement1216 = new BitSet(new long[]{0x0000000000000002L});
+    public static final BitSet FOLLOW_declaration_in_statement1232 = new BitSet(new long[]{0x0000000000000400L});
+    public static final BitSet FOLLOW_SEMI_in_statement1234 = new BitSet(new long[]{0x0000000000000002L});
+    public static final BitSet FOLLOW_expression_in_statement1246 = new BitSet(new long[]{0x0000000000000400L});
+    public static final BitSet FOLLOW_SEMI_in_statement1248 = new BitSet(new long[]{0x0000000000000002L});
+    public static final BitSet FOLLOW_modifiers_in_statement1256 = new BitSet(new long[]{0x0000000000000000L,0x0000000002000000L});
+    public static final BitSet FOLLOW_classDefinition_in_statement1258 = new BitSet(new long[]{0x0000000000000002L});
+    public static final BitSet FOLLOW_IDENT_in_statement1266 = new BitSet(new long[]{0x0000000000010000L});
+    public static final BitSet FOLLOW_COLON_in_statement1268 = new BitSet(new long[]{0x007F980000002640L,0x000F13FD61FFFFF0L});
+    public static final BitSet FOLLOW_statement_in_statement1271 = new BitSet(new long[]{0x0000000000000002L});
+    public static final BitSet FOLLOW_96_in_statement1279 = new BitSet(new long[]{0x0000000000002000L});
+    public static final BitSet FOLLOW_LPAREN_in_statement1281 = new BitSet(new long[]{0x007F980000002040L,0x000F000060001FF0L});
+    public static final BitSet FOLLOW_expression_in_statement1283 = new BitSet(new long[]{0x0000000000004000L});
+    public static final BitSet FOLLOW_RPAREN_in_statement1285 = new BitSet(new long[]{0x007F980000002640L,0x000F13FD61FFFFF0L});
+    public static final BitSet FOLLOW_statement_in_statement1287 = new BitSet(new long[]{0x0000000000000002L,0x0000000200000000L});
+    public static final BitSet FOLLOW_97_in_statement1308 = new BitSet(new long[]{0x007F980000002640L,0x000F13FD61FFFFF0L});
+    public static final BitSet FOLLOW_statement_in_statement1310 = new BitSet(new long[]{0x0000000000000002L});
+    public static final BitSet FOLLOW_98_in_statement1323 = new BitSet(new long[]{0x0000000000002000L});
+    public static final BitSet FOLLOW_LPAREN_in_statement1328 = new BitSet(new long[]{0x007F980000002440L,0x000F000061FFFFF0L});
+    public static final BitSet FOLLOW_forInit_in_statement1334 = new BitSet(new long[]{0x0000000000000400L});
+    public static final BitSet FOLLOW_SEMI_in_statement1336 = new BitSet(new long[]{0x007F980000002440L,0x000F000060001FF0L});
+    public static final BitSet FOLLOW_forCond_in_statement1345 = new BitSet(new long[]{0x0000000000000400L});
+    public static final BitSet FOLLOW_SEMI_in_statement1347 = new BitSet(new long[]{0x007F980000006040L,0x000F000060001FF0L});
+    public static final BitSet FOLLOW_forIter_in_statement1356 = new BitSet(new long[]{0x0000000000004000L});
+    public static final BitSet FOLLOW_RPAREN_in_statement1370 = new BitSet(new long[]{0x007F980000002640L,0x000F13FD61FFFFF0L});
+    public static final BitSet FOLLOW_statement_in_statement1375 = new BitSet(new long[]{0x0000000000000002L});
+    public static final BitSet FOLLOW_99_in_statement1404 = new BitSet(new long[]{0x0000000000002000L});
+    public static final BitSet FOLLOW_LPAREN_in_statement1406 = new BitSet(new long[]{0x007F980000002040L,0x000F000060001FF0L});
+    public static final BitSet FOLLOW_expression_in_statement1408 = new BitSet(new long[]{0x0000000000004000L});
+    public static final BitSet FOLLOW_RPAREN_in_statement1410 = new BitSet(new long[]{0x007F980000002640L,0x000F13FD61FFFFF0L});
+    public static final BitSet FOLLOW_statement_in_statement1412 = new BitSet(new long[]{0x0000000000000002L});
+    public static final BitSet FOLLOW_100_in_statement1420 = new BitSet(new long[]{0x007F980000002640L,0x000F13FD61FFFFF0L});
+    public static final BitSet FOLLOW_statement_in_statement1422 = new BitSet(new long[]{0x0000000000000000L,0x0000000800000000L});
+    public static final BitSet FOLLOW_99_in_statement1424 = new BitSet(new long[]{0x0000000000002000L});
+    public static final BitSet FOLLOW_LPAREN_in_statement1426 = new BitSet(new long[]{0x007F980000002040L,0x000F000060001FF0L});
+    public static final BitSet FOLLOW_expression_in_statement1428 = new BitSet(new long[]{0x0000000000004000L});
+    public static final BitSet FOLLOW_RPAREN_in_statement1430 = new BitSet(new long[]{0x0000000000000400L});
+    public static final BitSet FOLLOW_SEMI_in_statement1432 = new BitSet(new long[]{0x0000000000000002L});
+    public static final BitSet FOLLOW_101_in_statement1440 = new BitSet(new long[]{0x0000000000000440L});
+    public static final BitSet FOLLOW_IDENT_in_statement1443 = new BitSet(new long[]{0x0000000000000400L});
+    public static final BitSet FOLLOW_SEMI_in_statement1447 = new BitSet(new long[]{0x0000000000000002L});
+    public static final BitSet FOLLOW_102_in_statement1455 = new BitSet(new long[]{0x0000000000000440L});
+    public static final BitSet FOLLOW_IDENT_in_statement1458 = new BitSet(new long[]{0x0000000000000400L});
+    public static final BitSet FOLLOW_SEMI_in_statement1462 = new BitSet(new long[]{0x0000000000000002L});
+    public static final BitSet FOLLOW_103_in_statement1470 = new BitSet(new long[]{0x007F980000002440L,0x000F000060001FF0L});
+    public static final BitSet FOLLOW_expression_in_statement1473 = new BitSet(new long[]{0x0000000000000400L});
+    public static final BitSet FOLLOW_SEMI_in_statement1477 = new BitSet(new long[]{0x0000000000000002L});
+    public static final BitSet FOLLOW_104_in_statement1485 = new BitSet(new long[]{0x0000000000002000L});
+    public static final BitSet FOLLOW_LPAREN_in_statement1487 = new BitSet(new long[]{0x007F980000002040L,0x000F000060001FF0L});
+    public static final BitSet FOLLOW_expression_in_statement1489 = new BitSet(new long[]{0x0000000000004000L});
+    public static final BitSet FOLLOW_RPAREN_in_statement1491 = new BitSet(new long[]{0x0000000000000200L});
+    public static final BitSet FOLLOW_LCURLY_in_statement1493 = new BitSet(new long[]{0x0000000000000800L,0x00000C0000000000L});
+    public static final BitSet FOLLOW_casesGroup_in_statement1500 = new BitSet(new long[]{0x0000000000000800L,0x00000C0000000000L});
+    public static final BitSet FOLLOW_RCURLY_in_statement1507 = new BitSet(new long[]{0x0000000000000002L});
+    public static final BitSet FOLLOW_tryBlock_in_statement1515 = new BitSet(new long[]{0x0000000000000002L});
+    public static final BitSet FOLLOW_105_in_statement1523 = new BitSet(new long[]{0x007F980000002040L,0x000F000060001FF0L});
+    public static final BitSet FOLLOW_expression_in_statement1525 = new BitSet(new long[]{0x0000000000000400L});
+    public static final BitSet FOLLOW_SEMI_in_statement1527 = new BitSet(new long[]{0x0000000000000002L});
+    public static final BitSet FOLLOW_86_in_statement1535 = new BitSet(new long[]{0x0000000000002000L});
+    public static final BitSet FOLLOW_LPAREN_in_statement1537 = new BitSet(new long[]{0x007F980000002040L,0x000F000060001FF0L});
+    public static final BitSet FOLLOW_expression_in_statement1539 = new BitSet(new long[]{0x0000000000004000L});
+    public static final BitSet FOLLOW_RPAREN_in_statement1541 = new BitSet(new long[]{0x0000000000000200L});
+    public static final BitSet FOLLOW_compoundStatement_in_statement1543 = new BitSet(new long[]{0x0000000000000002L});
+    public static final BitSet FOLLOW_SEMI_in_statement1556 = new BitSet(new long[]{0x0000000000000002L});
+    public static final BitSet FOLLOW_aCase_in_casesGroup1602 = new BitSet(new long[]{0x007F980000002642L,0x000F1FFD61FFFFF0L});
+    public static final BitSet FOLLOW_caseSList_in_casesGroup1611 = new BitSet(new long[]{0x0000000000000002L});
+    public static final BitSet FOLLOW_106_in_aCase1626 = new BitSet(new long[]{0x007F980000002040L,0x000F000060001FF0L});
+    public static final BitSet FOLLOW_expression_in_aCase1628 = new BitSet(new long[]{0x0000000000010000L});
+    public static final BitSet FOLLOW_107_in_aCase1632 = new BitSet(new long[]{0x0000000000010000L});
+    public static final BitSet FOLLOW_COLON_in_aCase1635 = new BitSet(new long[]{0x0000000000000002L});
+    public static final BitSet FOLLOW_statement_in_caseSList1647 = new BitSet(new long[]{0x007F980000002642L,0x000F13FD61FFFFF0L});
+    public static final BitSet FOLLOW_declaration_in_forInit1678 = new BitSet(new long[]{0x0000000000000002L});
+    public static final BitSet FOLLOW_expressionList_in_forInit1687 = new BitSet(new long[]{0x0000000000000002L});
+    public static final BitSet FOLLOW_expression_in_forCond1707 = new BitSet(new long[]{0x0000000000000002L});
+    public static final BitSet FOLLOW_expressionList_in_forIter1724 = new BitSet(new long[]{0x0000000000000002L});
+    public static final BitSet FOLLOW_108_in_tryBlock1741 = new BitSet(new long[]{0x0000000000000200L});
+    public static final BitSet FOLLOW_compoundStatement_in_tryBlock1743 = new BitSet(new long[]{0x0000000000000002L,0x0000600000000000L});
+    public static final BitSet FOLLOW_handler_in_tryBlock1748 = new BitSet(new long[]{0x0000000000000002L,0x0000600000000000L});
+    public static final BitSet FOLLOW_finallyClause_in_tryBlock1756 = new BitSet(new long[]{0x0000000000000002L});
+    public static final BitSet FOLLOW_109_in_finallyClause1770 = new BitSet(new long[]{0x0000000000000200L});
+    public static final BitSet FOLLOW_compoundStatement_in_finallyClause1772 = new BitSet(new long[]{0x0000000000000002L});
+    public static final BitSet FOLLOW_110_in_handler1784 = new BitSet(new long[]{0x0000000000002000L});
+    public static final BitSet FOLLOW_LPAREN_in_handler1786 = new BitSet(new long[]{0x0000000000000040L,0x0000000000041FF0L});
+    public static final BitSet FOLLOW_parameterDeclaration_in_handler1788 = new BitSet(new long[]{0x0000000000004000L});
+    public static final BitSet FOLLOW_RPAREN_in_handler1790 = new BitSet(new long[]{0x0000000000000200L});
+    public static final BitSet FOLLOW_compoundStatement_in_handler1792 = new BitSet(new long[]{0x0000000000000002L});
+    public static final BitSet FOLLOW_assignmentExpression_in_expression1839 = new BitSet(new long[]{0x0000000000000002L});
+    public static final BitSet FOLLOW_expression_in_expressionList1855 = new BitSet(new long[]{0x0000000000001002L});
+    public static final BitSet FOLLOW_COMMA_in_expressionList1858 = new BitSet(new long[]{0x007F980000002040L,0x000F000060001FF0L});
+    public static final BitSet FOLLOW_expression_in_expressionList1860 = new BitSet(new long[]{0x0000000000001002L});
+    public static final BitSet FOLLOW_conditionalExpression_in_assignmentExpression1878 = new BitSet(new long[]{0x000000000FFE8002L});
+    public static final BitSet FOLLOW_set_in_assignmentExpression1884 = new BitSet(new long[]{0x007F980000002040L,0x000F000060001FF0L});
+    public static final BitSet FOLLOW_assignmentExpression_in_assignmentExpression2103 = new BitSet(new long[]{0x0000000000000002L});
+    public static final BitSet FOLLOW_logicalOrExpression_in_conditionalExpression2121 = new BitSet(new long[]{0x0000000010000002L});
+    public static final BitSet FOLLOW_QUESTION_in_conditionalExpression2127 = new BitSet(new long[]{0x007F980000002040L,0x000F000060001FF0L});
+    public static final BitSet FOLLOW_assignmentExpression_in_conditionalExpression2129 = new BitSet(new long[]{0x0000000000010000L});
+    public static final BitSet FOLLOW_COLON_in_conditionalExpression2131 = new BitSet(new long[]{0x007F980000002040L,0x000F000060001FF0L});
+    public static final BitSet FOLLOW_conditionalExpression_in_conditionalExpression2133 = new BitSet(new long[]{0x0000000000000002L});
+    public static final BitSet FOLLOW_logicalAndExpression_in_logicalOrExpression2149 = new BitSet(new long[]{0x0000000020000002L});
+    public static final BitSet FOLLOW_LOR_in_logicalOrExpression2152 = new BitSet(new long[]{0x007F980000002040L,0x000F000060001FF0L});
+    public static final BitSet FOLLOW_logicalAndExpression_in_logicalOrExpression2154 = new BitSet(new long[]{0x0000000020000002L});
+    public static final BitSet FOLLOW_inclusiveOrExpression_in_logicalAndExpression2169 = new BitSet(new long[]{0x0000000040000002L});
+    public static final BitSet FOLLOW_LAND_in_logicalAndExpression2172 = new BitSet(new long[]{0x007F980000002040L,0x000F000060001FF0L});
+    public static final BitSet FOLLOW_inclusiveOrExpression_in_logicalAndExpression2174 = new BitSet(new long[]{0x0000000040000002L});
+    public static final BitSet FOLLOW_exclusiveOrExpression_in_inclusiveOrExpression2189 = new BitSet(new long[]{0x0000000080000002L});
+    public static final BitSet FOLLOW_BOR_in_inclusiveOrExpression2192 = new BitSet(new long[]{0x007F980000002040L,0x000F000060001FF0L});
+    public static final BitSet FOLLOW_exclusiveOrExpression_in_inclusiveOrExpression2194 = new BitSet(new long[]{0x0000000080000002L});
+    public static final BitSet FOLLOW_andExpression_in_exclusiveOrExpression2209 = new BitSet(new long[]{0x0000000100000002L});
+    public static final BitSet FOLLOW_BXOR_in_exclusiveOrExpression2212 = new BitSet(new long[]{0x007F980000002040L,0x000F000060001FF0L});
+    public static final BitSet FOLLOW_andExpression_in_exclusiveOrExpression2214 = new BitSet(new long[]{0x0000000100000002L});
+    public static final BitSet FOLLOW_equalityExpression_in_andExpression2229 = new BitSet(new long[]{0x0000000200000002L});
+    public static final BitSet FOLLOW_BAND_in_andExpression2232 = new BitSet(new long[]{0x007F980000002040L,0x000F000060001FF0L});
+    public static final BitSet FOLLOW_equalityExpression_in_andExpression2234 = new BitSet(new long[]{0x0000000200000002L});
+    public static final BitSet FOLLOW_relationalExpression_in_equalityExpression2249 = new BitSet(new long[]{0x0000000C00000002L});
+    public static final BitSet FOLLOW_set_in_equalityExpression2252 = new BitSet(new long[]{0x007F980000002040L,0x000F000060001FF0L});
+    public static final BitSet FOLLOW_relationalExpression_in_equalityExpression2260 = new BitSet(new long[]{0x0000000C00000002L});
+    public static final BitSet FOLLOW_shiftExpression_in_relationalExpression2275 = new BitSet(new long[]{0x000000F000000002L,0x0000800000000000L});
+    public static final BitSet FOLLOW_set_in_relationalExpression2283 = new BitSet(new long[]{0x007F980000002040L,0x000F000060001FF0L});
+    public static final BitSet FOLLOW_shiftExpression_in_relationalExpression2321 = new BitSet(new long[]{0x000000F000000002L});
+    public static final BitSet FOLLOW_111_in_relationalExpression2333 = new BitSet(new long[]{0x0000000000000040L,0x0000000000001FF0L});
+    public static final BitSet FOLLOW_typeSpec_in_relationalExpression2335 = new BitSet(new long[]{0x0000000000000002L});
+    public static final BitSet FOLLOW_additiveExpression_in_shiftExpression2352 = new BitSet(new long[]{0x0000070000000002L});
+    public static final BitSet FOLLOW_set_in_shiftExpression2355 = new BitSet(new long[]{0x007F980000002040L,0x000F000060001FF0L});
+    public static final BitSet FOLLOW_additiveExpression_in_shiftExpression2367 = new BitSet(new long[]{0x0000070000000002L});
+    public static final BitSet FOLLOW_multiplicativeExpression_in_additiveExpression2382 = new BitSet(new long[]{0x0000180000000002L});
+    public static final BitSet FOLLOW_set_in_additiveExpression2385 = new BitSet(new long[]{0x007F980000002040L,0x000F000060001FF0L});
+    public static final BitSet FOLLOW_multiplicativeExpression_in_additiveExpression2393 = new BitSet(new long[]{0x0000180000000002L});
+    public static final BitSet FOLLOW_unaryExpression_in_multiplicativeExpression2408 = new BitSet(new long[]{0x0000600000000102L});
+    public static final BitSet FOLLOW_set_in_multiplicativeExpression2411 = new BitSet(new long[]{0x007F980000002040L,0x000F000060001FF0L});
+    public static final BitSet FOLLOW_unaryExpression_in_multiplicativeExpression2424 = new BitSet(new long[]{0x0000600000000102L});
+    public static final BitSet FOLLOW_INC_in_unaryExpression2437 = new BitSet(new long[]{0x007F980000002040L,0x000F000060001FF0L});
+    public static final BitSet FOLLOW_unaryExpression_in_unaryExpression2439 = new BitSet(new long[]{0x0000000000000002L});
+    public static final BitSet FOLLOW_DEC_in_unaryExpression2444 = new BitSet(new long[]{0x007F980000002040L,0x000F000060001FF0L});
+    public static final BitSet FOLLOW_unaryExpression_in_unaryExpression2446 = new BitSet(new long[]{0x0000000000000002L});
+    public static final BitSet FOLLOW_MINUS_in_unaryExpression2451 = new BitSet(new long[]{0x007F980000002040L,0x000F000060001FF0L});
+    public static final BitSet FOLLOW_unaryExpression_in_unaryExpression2454 = new BitSet(new long[]{0x0000000000000002L});
+    public static final BitSet FOLLOW_PLUS_in_unaryExpression2459 = new BitSet(new long[]{0x007F980000002040L,0x000F000060001FF0L});
+    public static final BitSet FOLLOW_unaryExpression_in_unaryExpression2463 = new BitSet(new long[]{0x0000000000000002L});
+    public static final BitSet FOLLOW_unaryExpressionNotPlusMinus_in_unaryExpression2468 = new BitSet(new long[]{0x0000000000000002L});
+    public static final BitSet FOLLOW_BNOT_in_unaryExpressionNotPlusMinus2479 = new BitSet(new long[]{0x007F980000002040L,0x000F000060001FF0L});
+    public static final BitSet FOLLOW_unaryExpression_in_unaryExpressionNotPlusMinus2481 = new BitSet(new long[]{0x0000000000000002L});
+    public static final BitSet FOLLOW_LNOT_in_unaryExpressionNotPlusMinus2486 = new BitSet(new long[]{0x007F980000002040L,0x000F000060001FF0L});
+    public static final BitSet FOLLOW_unaryExpression_in_unaryExpressionNotPlusMinus2488 = new BitSet(new long[]{0x0000000000000002L});
+    public static final BitSet FOLLOW_LPAREN_in_unaryExpressionNotPlusMinus2499 = new BitSet(new long[]{0x0000000000000000L,0x0000000000001FF0L});
+    public static final BitSet FOLLOW_builtInTypeSpec_in_unaryExpressionNotPlusMinus2501 = new BitSet(new long[]{0x0000000000004000L});
+    public static final BitSet FOLLOW_RPAREN_in_unaryExpressionNotPlusMinus2503 = new BitSet(new long[]{0x007F980000002040L,0x000F000060001FF0L});
+    public static final BitSet FOLLOW_unaryExpression_in_unaryExpressionNotPlusMinus2513 = new BitSet(new long[]{0x0000000000000002L});
+    public static final BitSet FOLLOW_LPAREN_in_unaryExpressionNotPlusMinus2549 = new BitSet(new long[]{0x0000000000000040L});
+    public static final BitSet FOLLOW_classTypeSpec_in_unaryExpressionNotPlusMinus2551 = new BitSet(new long[]{0x0000000000004000L});
+    public static final BitSet FOLLOW_RPAREN_in_unaryExpressionNotPlusMinus2553 = new BitSet(new long[]{0x007E000000002040L,0x000F000060001FF0L});
+    public static final BitSet FOLLOW_unaryExpressionNotPlusMinus_in_unaryExpressionNotPlusMinus2563 = new BitSet(new long[]{0x0000000000000002L});
+    public static final BitSet FOLLOW_postfixExpression_in_unaryExpressionNotPlusMinus2572 = new BitSet(new long[]{0x0000000000000002L});
+    public static final BitSet FOLLOW_primaryExpression_in_postfixExpression2586 = new BitSet(new long[]{0x0001800000000092L});
+    public static final BitSet FOLLOW_DOT_in_postfixExpression2594 = new BitSet(new long[]{0x0000000000000040L});
+    public static final BitSet FOLLOW_IDENT_in_postfixExpression2596 = new BitSet(new long[]{0x0001800000002092L});
+    public static final BitSet FOLLOW_LPAREN_in_postfixExpression2603 = new BitSet(new long[]{0x007F980000006040L,0x000F000060001FF0L});
+    public static final BitSet FOLLOW_argList_in_postfixExpression2610 = new BitSet(new long[]{0x0000000000004000L});
+    public static final BitSet FOLLOW_RPAREN_in_postfixExpression2616 = new BitSet(new long[]{0x0001800000000092L});
+    public static final BitSet FOLLOW_DOT_in_postfixExpression2628 = new BitSet(new long[]{0x0000000000000000L,0x0000000020000000L});
+    public static final BitSet FOLLOW_93_in_postfixExpression2630 = new BitSet(new long[]{0x0001800000000092L});
+    public static final BitSet FOLLOW_DOT_in_postfixExpression2637 = new BitSet(new long[]{0x0000000000000000L,0x0000000040000000L});
+    public static final BitSet FOLLOW_94_in_postfixExpression2639 = new BitSet(new long[]{0x0000000000002080L});
+    public static final BitSet FOLLOW_LPAREN_in_postfixExpression2674 = new BitSet(new long[]{0x007F980000006040L,0x000F000060001FF0L});
+    public static final BitSet FOLLOW_argList_in_postfixExpression2676 = new BitSet(new long[]{0x0000000000004000L});
+    public static final BitSet FOLLOW_RPAREN_in_postfixExpression2678 = new BitSet(new long[]{0x0001800000000092L});
+    public static final BitSet FOLLOW_DOT_in_postfixExpression2704 = new BitSet(new long[]{0x0000000000000040L});
+    public static final BitSet FOLLOW_IDENT_in_postfixExpression2706 = new BitSet(new long[]{0x0001800000002092L});
+    public static final BitSet FOLLOW_LPAREN_in_postfixExpression2726 = new BitSet(new long[]{0x007F980000006040L,0x000F000060001FF0L});
+    public static final BitSet FOLLOW_argList_in_postfixExpression2749 = new BitSet(new long[]{0x0000000000004000L});
+    public static final BitSet FOLLOW_RPAREN_in_postfixExpression2771 = new BitSet(new long[]{0x0001800000000092L});
+    public static final BitSet FOLLOW_DOT_in_postfixExpression2810 = new BitSet(new long[]{0x0000000000000000L,0x0008000000000000L});
+    public static final BitSet FOLLOW_newExpression_in_postfixExpression2812 = new BitSet(new long[]{0x0001800000000092L});
+    public static final BitSet FOLLOW_LBRACK_in_postfixExpression2818 = new BitSet(new long[]{0x007F980000002040L,0x000F000060001FF0L});
+    public static final BitSet FOLLOW_expression_in_postfixExpression2821 = new BitSet(new long[]{0x0000000000000020L});
+    public static final BitSet FOLLOW_RBRACK_in_postfixExpression2823 = new BitSet(new long[]{0x0001800000000092L});
+    public static final BitSet FOLLOW_set_in_postfixExpression2833 = new BitSet(new long[]{0x0000000000000002L});
+    public static final BitSet FOLLOW_identPrimary_in_primaryExpression2881 = new BitSet(new long[]{0x0000000000000082L});
+    public static final BitSet FOLLOW_DOT_in_primaryExpression2893 = new BitSet(new long[]{0x0000000000000000L,0x0000000002000000L});
+    public static final BitSet FOLLOW_89_in_primaryExpression2895 = new BitSet(new long[]{0x0000000000000002L});
+    public static final BitSet FOLLOW_constant_in_primaryExpression2908 = new BitSet(new long[]{0x0000000000000002L});
+    public static final BitSet FOLLOW_112_in_primaryExpression2913 = new BitSet(new long[]{0x0000000000000002L});
+    public static final BitSet FOLLOW_113_in_primaryExpression2918 = new BitSet(new long[]{0x0000000000000002L});
+    public static final BitSet FOLLOW_114_in_primaryExpression2923 = new BitSet(new long[]{0x0000000000000002L});
+    public static final BitSet FOLLOW_newExpression_in_primaryExpression2933 = new BitSet(new long[]{0x0000000000000002L});
+    public static final BitSet FOLLOW_93_in_primaryExpression2938 = new BitSet(new long[]{0x0000000000000002L});
+    public static final BitSet FOLLOW_94_in_primaryExpression2943 = new BitSet(new long[]{0x0000000000000002L});
+    public static final BitSet FOLLOW_LPAREN_in_primaryExpression2948 = new BitSet(new long[]{0x007F980000002040L,0x000F000060001FF0L});
+    public static final BitSet FOLLOW_assignmentExpression_in_primaryExpression2950 = new BitSet(new long[]{0x0000000000004000L});
+    public static final BitSet FOLLOW_RPAREN_in_primaryExpression2952 = new BitSet(new long[]{0x0000000000000002L});
+    public static final BitSet FOLLOW_builtInType_in_primaryExpression2960 = new BitSet(new long[]{0x0000000000000090L});
+    public static final BitSet FOLLOW_LBRACK_in_primaryExpression2966 = new BitSet(new long[]{0x0000000000000020L});
+    public static final BitSet FOLLOW_RBRACK_in_primaryExpression2969 = new BitSet(new long[]{0x0000000000000090L});
+    public static final BitSet FOLLOW_DOT_in_primaryExpression2976 = new BitSet(new long[]{0x0000000000000000L,0x0000000002000000L});
+    public static final BitSet FOLLOW_89_in_primaryExpression2978 = new BitSet(new long[]{0x0000000000000002L});
+    public static final BitSet FOLLOW_IDENT_in_identPrimary2993 = new BitSet(new long[]{0x0000000000002092L});
+    public static final BitSet FOLLOW_DOT_in_identPrimary3031 = new BitSet(new long[]{0x0000000000000040L});
+    public static final BitSet FOLLOW_IDENT_in_identPrimary3033 = new BitSet(new long[]{0x0000000000002092L});
+    public static final BitSet FOLLOW_LPAREN_in_identPrimary3095 = new BitSet(new long[]{0x007F980000006040L,0x000F000060001FF0L});
+    public static final BitSet FOLLOW_argList_in_identPrimary3098 = new BitSet(new long[]{0x0000000000004000L});
+    public static final BitSet FOLLOW_RPAREN_in_identPrimary3100 = new BitSet(new long[]{0x0000000000000002L});
+    public static final BitSet FOLLOW_LBRACK_in_identPrimary3133 = new BitSet(new long[]{0x0000000000000020L});
+    public static final BitSet FOLLOW_RBRACK_in_identPrimary3136 = new BitSet(new long[]{0x0000000000000012L});
+    public static final BitSet FOLLOW_115_in_newExpression3172 = new BitSet(new long[]{0x0000000000000040L,0x0000000000001FF0L});
+    public static final BitSet FOLLOW_type_in_newExpression3174 = new BitSet(new long[]{0x0000000000002010L});
+    public static final BitSet FOLLOW_LPAREN_in_newExpression3180 = new BitSet(new long[]{0x007F980000006040L,0x000F000060001FF0L});
+    public static final BitSet FOLLOW_argList_in_newExpression3182 = new BitSet(new long[]{0x0000000000004000L});
+    public static final BitSet FOLLOW_RPAREN_in_newExpression3184 = new BitSet(new long[]{0x0000000000000202L});
+    public static final BitSet FOLLOW_classBlock_in_newExpression3187 = new BitSet(new long[]{0x0000000000000002L});
+    public static final BitSet FOLLOW_newArrayDeclarator_in_newExpression3225 = new BitSet(new long[]{0x0000000000000202L});
+    public static final BitSet FOLLOW_arrayInitializer_in_newExpression3228 = new BitSet(new long[]{0x0000000000000002L});
+    public static final BitSet FOLLOW_expressionList_in_argList3247 = new BitSet(new long[]{0x0000000000000002L});
+    public static final BitSet FOLLOW_LBRACK_in_newArrayDeclarator3317 = new BitSet(new long[]{0x007F980000002060L,0x000F000060001FF0L});
+    public static final BitSet FOLLOW_expression_in_newArrayDeclarator3325 = new BitSet(new long[]{0x0000000000000020L});
+    public static final BitSet FOLLOW_RBRACK_in_newArrayDeclarator3332 = new BitSet(new long[]{0x0000000000000012L});
+    public static final BitSet FOLLOW_set_in_constant0 = new BitSet(new long[]{0x0000000000000002L});
 
-}
+}
\ No newline at end of file

Modified: labs/jbossrules/trunk/drools-compiler/src/main/java/org/drools/rule/builder/dialect/mvel/MVELEvalBuilder.java
===================================================================
--- labs/jbossrules/trunk/drools-compiler/src/main/java/org/drools/rule/builder/dialect/mvel/MVELEvalBuilder.java	2007-04-24 12:26:00 UTC (rev 11294)
+++ labs/jbossrules/trunk/drools-compiler/src/main/java/org/drools/rule/builder/dialect/mvel/MVELEvalBuilder.java	2007-04-24 12:52:09 UTC (rev 11295)
@@ -25,7 +25,7 @@
 import org.drools.rule.Declaration;
 import org.drools.rule.EvalCondition;
 import org.drools.rule.builder.BuildContext;
-import org.drools.rule.builder.ColumnBuilder;
+import org.drools.rule.builder.PatternBuilder;
 import org.drools.rule.builder.ConditionalElementBuilder;
 import org.drools.rule.builder.dialect.java.BuildUtils;
 import org.mvel.MVEL;
@@ -43,14 +43,14 @@
      * 
      * @param context The current build context
      * @param utils The current build utils instance
-     * @param columnBuilder not used by EvalBuilder
+     * @param patternBuilder not used by EvalBuilder
      * @param descr The Eval Descriptor to build the eval conditional element from
      * 
      * @return the Eval Conditional Element
      */
     public ConditionalElement build(final BuildContext context,
                                     final BuildUtils utils,
-                                    final ColumnBuilder columnBuilder,
+                                    final PatternBuilder patternBuilder,
                                     final BaseDescr descr) {
         // it must be an EvalDescr
         final EvalDescr evalDescr = (EvalDescr) descr;

Modified: labs/jbossrules/trunk/drools-compiler/src/main/java/org/drools/rule/builder/dialect/mvel/MVELFromBuilder.java
===================================================================
--- labs/jbossrules/trunk/drools-compiler/src/main/java/org/drools/rule/builder/dialect/mvel/MVELFromBuilder.java	2007-04-24 12:26:00 UTC (rev 11294)
+++ labs/jbossrules/trunk/drools-compiler/src/main/java/org/drools/rule/builder/dialect/mvel/MVELFromBuilder.java	2007-04-24 12:52:09 UTC (rev 11295)
@@ -24,11 +24,11 @@
 import org.drools.lang.descr.AccessorDescr;
 import org.drools.lang.descr.BaseDescr;
 import org.drools.lang.descr.FromDescr;
-import org.drools.rule.Column;
+import org.drools.rule.Pattern;
 import org.drools.rule.ConditionalElement;
 import org.drools.rule.From;
 import org.drools.rule.builder.BuildContext;
-import org.drools.rule.builder.ColumnBuilder;
+import org.drools.rule.builder.PatternBuilder;
 import org.drools.rule.builder.ConditionalElementBuilder;
 import org.drools.rule.builder.FromBuilder;
 import org.drools.rule.builder.dialect.java.BuildUtils;
@@ -46,19 +46,19 @@
     FromBuilder {
 
     /* (non-Javadoc)
-     * @see org.drools.dialect.mvel.FromBuilder#build(org.drools.semantics.java.builder.BuildContext, org.drools.semantics.java.builder.BuildUtils, org.drools.semantics.java.builder.ColumnBuilder, org.drools.lang.descr.BaseDescr)
+     * @see org.drools.dialect.mvel.FromBuilder#build(org.drools.semantics.java.builder.BuildContext, org.drools.semantics.java.builder.BuildUtils, org.drools.semantics.java.builder.PatternBuilder, org.drools.lang.descr.BaseDescr)
      */
     public ConditionalElement build(final BuildContext context,
                                     final BuildUtils utils,
-                                    final ColumnBuilder columnBuilder,
+                                    final PatternBuilder patternBuilder,
                                     final BaseDescr descr) {
         final FromDescr fromDescr = (FromDescr) descr;
 
-        final Column column = columnBuilder.build( context,
-                                                   utils,
-                                                   fromDescr.getReturnedColumn() );
+        final Pattern pattern = patternBuilder.build( context,
+                                                      utils,
+                                                      fromDescr.getReturnedPattern() );
 
-        if ( column == null ) {
+        if ( pattern == null ) {
             return null;
         }
 
@@ -84,7 +84,7 @@
             return null;
         }
 
-        return new From( column,
+        return new From( pattern,
                          dataProvider );
     }
 }

Modified: labs/jbossrules/trunk/drools-compiler/src/main/java/org/drools/xml/AndHandler.java
===================================================================
--- labs/jbossrules/trunk/drools-compiler/src/main/java/org/drools/xml/AndHandler.java	2007-04-24 12:26:00 UTC (rev 11294)
+++ labs/jbossrules/trunk/drools-compiler/src/main/java/org/drools/xml/AndHandler.java	2007-04-24 12:52:09 UTC (rev 11295)
@@ -21,7 +21,7 @@
 import java.util.ListIterator;
 
 import org.drools.lang.descr.AndDescr;
-import org.drools.lang.descr.ColumnDescr;
+import org.drools.lang.descr.PatternDescr;
 import org.drools.lang.descr.ConditionalElementDescr;
 import org.drools.lang.descr.EvalDescr;
 import org.drools.lang.descr.ExistsDescr;
@@ -58,7 +58,7 @@
             this.validPeers.add( NotDescr.class );
             this.validPeers.add( ExistsDescr.class );
             this.validPeers.add( EvalDescr.class );
-            this.validPeers.add( ColumnDescr.class );
+            this.validPeers.add( PatternDescr.class );
 
             this.allowNesting = true;
         }

Deleted: labs/jbossrules/trunk/drools-compiler/src/main/java/org/drools/xml/ColumnHandler.java
===================================================================
--- labs/jbossrules/trunk/drools-compiler/src/main/java/org/drools/xml/ColumnHandler.java	2007-04-24 12:26:00 UTC (rev 11294)
+++ labs/jbossrules/trunk/drools-compiler/src/main/java/org/drools/xml/ColumnHandler.java	2007-04-24 12:52:09 UTC (rev 11295)
@@ -1,112 +0,0 @@
-package org.drools.xml;
-
-/*
- * Copyright 2005 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.
- */
-
-import java.util.HashSet;
-import java.util.LinkedList;
-import java.util.ListIterator;
-
-import org.drools.lang.descr.AndDescr;
-import org.drools.lang.descr.ColumnDescr;
-import org.drools.lang.descr.ConditionalElementDescr;
-import org.drools.lang.descr.EvalDescr;
-import org.drools.lang.descr.ExistsDescr;
-import org.drools.lang.descr.NotDescr;
-import org.drools.lang.descr.OrDescr;
-import org.xml.sax.Attributes;
-import org.xml.sax.SAXException;
-import org.xml.sax.SAXParseException;
-
-/**
- * @author mproctor
- * 
- * TODO To change the template for this generated type comment go to Window -
- * Preferences - Java - Code Style - Code Templates
- */
-class ColumnHandler extends BaseAbstractHandler
-    implements
-    Handler {
-    ColumnHandler(final XmlPackageReader xmlPackageReader) {
-        this.xmlPackageReader = xmlPackageReader;
-
-        if ( (this.validParents == null) && (this.validPeers == null) ) {
-            this.validParents = new HashSet();
-            this.validParents.add( AndDescr.class );
-            this.validParents.add( OrDescr.class );
-            this.validParents.add( NotDescr.class );
-            this.validParents.add( ExistsDescr.class );
-
-            this.validPeers = new HashSet();
-            this.validPeers.add( null );
-            this.validPeers.add( AndDescr.class );
-            this.validPeers.add( OrDescr.class );
-            this.validPeers.add( NotDescr.class );
-            this.validPeers.add( ExistsDescr.class );
-            this.validPeers.add( EvalDescr.class );
-            this.validPeers.add( ColumnDescr.class );
-
-            this.allowNesting = false;
-        }
-    }
-
-    public Object start(final String uri,
-                        final String localName,
-                        final Attributes attrs) throws SAXException {
-        this.xmlPackageReader.startConfiguration( localName,
-                                                  attrs );
-
-        final String objectType = attrs.getValue( "object-type" );
-
-        if ( objectType == null || objectType.trim().equals( "" ) ) {
-            throw new SAXParseException( "<column> requires an 'object-type' attribute",
-                                         this.xmlPackageReader.getLocator() );
-        }
-
-        ColumnDescr columnDescr = null;
-
-        final String identifier = attrs.getValue( "identifier" );
-        if ( identifier == null || identifier.trim().equals( "" ) ) {
-            columnDescr = new ColumnDescr( objectType );
-        } else {
-            columnDescr = new ColumnDescr( objectType,
-                                           identifier );
-        }
-
-        return columnDescr;
-    }
-
-    public Object end(final String uri,
-                      final String localName) throws SAXException {
-        final Configuration config = this.xmlPackageReader.endConfiguration();
-
-        final ColumnDescr columnDescr = (ColumnDescr) this.xmlPackageReader.getCurrent();
-
-        final LinkedList parents = this.xmlPackageReader.getParents();
-        final ListIterator it = parents.listIterator( parents.size() );
-        it.previous();
-        final Object parent = it.previous();
-
-        final ConditionalElementDescr parentDescr = (ConditionalElementDescr) parent;
-        parentDescr.addDescr( columnDescr );
-
-        return null;
-    }
-
-    public Class generateNodeFor() {
-        return ColumnDescr.class;
-    }
-}
\ No newline at end of file

Modified: labs/jbossrules/trunk/drools-compiler/src/main/java/org/drools/xml/EvalHandler.java
===================================================================
--- labs/jbossrules/trunk/drools-compiler/src/main/java/org/drools/xml/EvalHandler.java	2007-04-24 12:26:00 UTC (rev 11294)
+++ labs/jbossrules/trunk/drools-compiler/src/main/java/org/drools/xml/EvalHandler.java	2007-04-24 12:52:09 UTC (rev 11295)
@@ -21,7 +21,7 @@
 import java.util.ListIterator;
 
 import org.drools.lang.descr.AndDescr;
-import org.drools.lang.descr.ColumnDescr;
+import org.drools.lang.descr.PatternDescr;
 import org.drools.lang.descr.ConditionalElementDescr;
 import org.drools.lang.descr.EvalDescr;
 import org.drools.lang.descr.ExistsDescr;
@@ -55,7 +55,7 @@
             this.validPeers.add( NotDescr.class );
             this.validPeers.add( ExistsDescr.class );
             this.validPeers.add( EvalDescr.class );
-            this.validPeers.add( ColumnDescr.class );
+            this.validPeers.add( PatternDescr.class );
 
             this.allowNesting = true;
         }

Modified: labs/jbossrules/trunk/drools-compiler/src/main/java/org/drools/xml/ExistsHandler.java
===================================================================
--- labs/jbossrules/trunk/drools-compiler/src/main/java/org/drools/xml/ExistsHandler.java	2007-04-24 12:26:00 UTC (rev 11294)
+++ labs/jbossrules/trunk/drools-compiler/src/main/java/org/drools/xml/ExistsHandler.java	2007-04-24 12:52:09 UTC (rev 11295)
@@ -21,7 +21,7 @@
 import java.util.ListIterator;
 
 import org.drools.lang.descr.AndDescr;
-import org.drools.lang.descr.ColumnDescr;
+import org.drools.lang.descr.PatternDescr;
 import org.drools.lang.descr.ConditionalElementDescr;
 import org.drools.lang.descr.EvalDescr;
 import org.drools.lang.descr.ExistsDescr;
@@ -55,7 +55,7 @@
             this.validPeers.add( NotDescr.class );
             this.validPeers.add( ExistsDescr.class );
             this.validPeers.add( EvalDescr.class );
-            this.validPeers.add( ColumnDescr.class );
+            this.validPeers.add( PatternDescr.class );
 
             this.allowNesting = true;
         }
@@ -77,8 +77,8 @@
 
         final ExistsDescr existsDescr = (ExistsDescr) this.xmlPackageReader.getCurrent();
 
-        if ( (existsDescr.getDescrs().size() != 1) && (existsDescr.getDescrs().get( 0 ).getClass() != ColumnDescr.class) ) {
-            throw new SAXParseException( "<exists> can only have a single <column...> as a child element",
+        if ( (existsDescr.getDescrs().size() != 1) && (existsDescr.getDescrs().get( 0 ).getClass() != PatternDescr.class) ) {
+            throw new SAXParseException( "<exists> can only have a single <pattern...> as a child element",
                                          this.xmlPackageReader.getLocator() );
         }
 

Modified: labs/jbossrules/trunk/drools-compiler/src/main/java/org/drools/xml/FieldBindingHandler.java
===================================================================
--- labs/jbossrules/trunk/drools-compiler/src/main/java/org/drools/xml/FieldBindingHandler.java	2007-04-24 12:26:00 UTC (rev 11294)
+++ labs/jbossrules/trunk/drools-compiler/src/main/java/org/drools/xml/FieldBindingHandler.java	2007-04-24 12:52:09 UTC (rev 11295)
@@ -20,7 +20,7 @@
 import java.util.LinkedList;
 import java.util.ListIterator;
 
-import org.drools.lang.descr.ColumnDescr;
+import org.drools.lang.descr.PatternDescr;
 import org.drools.lang.descr.FieldBindingDescr;
 import org.drools.lang.descr.FieldConstraintDescr;
 import org.drools.lang.descr.PredicateDescr;
@@ -42,7 +42,7 @@
 
         if ( (this.validParents == null) && (this.validPeers == null) ) {
             this.validParents = new HashSet();
-            this.validParents.add( ColumnDescr.class );
+            this.validParents.add( PatternDescr.class );
 
             this.validPeers = new HashSet();
             this.validPeers.add( null );
@@ -86,9 +86,9 @@
         final LinkedList parents = this.xmlPackageReader.getParents();
         final ListIterator it = parents.listIterator( parents.size() );
         it.previous();
-        final ColumnDescr columnDescr = (ColumnDescr) it.previous();
+        final PatternDescr patternDescr = (PatternDescr) it.previous();
 
-        columnDescr.addDescr( fieldBindingDescr );
+        patternDescr.addDescr( fieldBindingDescr );
 
         return null;
     }

Modified: labs/jbossrules/trunk/drools-compiler/src/main/java/org/drools/xml/FieldConstraintHandler.java
===================================================================
--- labs/jbossrules/trunk/drools-compiler/src/main/java/org/drools/xml/FieldConstraintHandler.java	2007-04-24 12:26:00 UTC (rev 11294)
+++ labs/jbossrules/trunk/drools-compiler/src/main/java/org/drools/xml/FieldConstraintHandler.java	2007-04-24 12:52:09 UTC (rev 11295)
@@ -20,7 +20,7 @@
 import java.util.LinkedList;
 import java.util.ListIterator;
 
-import org.drools.lang.descr.ColumnDescr;
+import org.drools.lang.descr.PatternDescr;
 import org.drools.lang.descr.FieldBindingDescr;
 import org.drools.lang.descr.FieldConstraintDescr;
 import org.drools.lang.descr.PredicateDescr;
@@ -42,7 +42,7 @@
 
         if ( (this.validParents == null) && (this.validPeers == null) ) {
             this.validParents = new HashSet();
-            this.validParents.add( ColumnDescr.class );
+            this.validParents.add( PatternDescr.class );
 
             this.validPeers = new HashSet();
             this.validPeers.add( null );
@@ -82,8 +82,8 @@
         it.previous();
         final Object parent = it.previous();
 
-        final ColumnDescr columnDescr = (ColumnDescr) parent;
-        columnDescr.addDescr( fieldConstraintDescr );
+        final PatternDescr patternDescr = (PatternDescr) parent;
+        patternDescr.addDescr( fieldConstraintDescr );
 
         return null;
     }

Modified: labs/jbossrules/trunk/drools-compiler/src/main/java/org/drools/xml/NotHandler.java
===================================================================
--- labs/jbossrules/trunk/drools-compiler/src/main/java/org/drools/xml/NotHandler.java	2007-04-24 12:26:00 UTC (rev 11294)
+++ labs/jbossrules/trunk/drools-compiler/src/main/java/org/drools/xml/NotHandler.java	2007-04-24 12:52:09 UTC (rev 11295)
@@ -21,7 +21,7 @@
 import java.util.ListIterator;
 
 import org.drools.lang.descr.AndDescr;
-import org.drools.lang.descr.ColumnDescr;
+import org.drools.lang.descr.PatternDescr;
 import org.drools.lang.descr.ConditionalElementDescr;
 import org.drools.lang.descr.EvalDescr;
 import org.drools.lang.descr.ExistsDescr;
@@ -55,7 +55,7 @@
             this.validPeers.add( NotDescr.class );
             this.validPeers.add( ExistsDescr.class );
             this.validPeers.add( EvalDescr.class );
-            this.validPeers.add( ColumnDescr.class );
+            this.validPeers.add( PatternDescr.class );
 
             this.allowNesting = true;
         }
@@ -77,8 +77,8 @@
 
         final NotDescr notDescr = (NotDescr) this.xmlPackageReader.getCurrent();
 
-        if ( (notDescr.getDescrs().size() != 1) && (notDescr.getDescrs().get( 0 ).getClass() != ColumnDescr.class) ) {
-            throw new SAXParseException( "<not> can only have a single <column...> as a child element",
+        if ( (notDescr.getDescrs().size() != 1) && (notDescr.getDescrs().get( 0 ).getClass() != PatternDescr.class) ) {
+            throw new SAXParseException( "<not> can only have a single <pattern...> as a child element",
                                          this.xmlPackageReader.getLocator() );
         }
 

Modified: labs/jbossrules/trunk/drools-compiler/src/main/java/org/drools/xml/OrHandler.java
===================================================================
--- labs/jbossrules/trunk/drools-compiler/src/main/java/org/drools/xml/OrHandler.java	2007-04-24 12:26:00 UTC (rev 11294)
+++ labs/jbossrules/trunk/drools-compiler/src/main/java/org/drools/xml/OrHandler.java	2007-04-24 12:52:09 UTC (rev 11295)
@@ -21,7 +21,7 @@
 import java.util.ListIterator;
 
 import org.drools.lang.descr.AndDescr;
-import org.drools.lang.descr.ColumnDescr;
+import org.drools.lang.descr.PatternDescr;
 import org.drools.lang.descr.ConditionalElementDescr;
 import org.drools.lang.descr.EvalDescr;
 import org.drools.lang.descr.ExistsDescr;
@@ -54,7 +54,7 @@
             this.validPeers.add( NotDescr.class );
             this.validPeers.add( ExistsDescr.class );
             this.validPeers.add( EvalDescr.class );
-            this.validPeers.add( ColumnDescr.class );
+            this.validPeers.add( PatternDescr.class );
 
             this.allowNesting = true;
         }

Copied: labs/jbossrules/trunk/drools-compiler/src/main/java/org/drools/xml/PatternHandler.java (from rev 11268, labs/jbossrules/trunk/drools-compiler/src/main/java/org/drools/xml/ColumnHandler.java)
===================================================================
--- labs/jbossrules/trunk/drools-compiler/src/main/java/org/drools/xml/PatternHandler.java	                        (rev 0)
+++ labs/jbossrules/trunk/drools-compiler/src/main/java/org/drools/xml/PatternHandler.java	2007-04-24 12:52:09 UTC (rev 11295)
@@ -0,0 +1,112 @@
+package org.drools.xml;
+
+/*
+ * Copyright 2005 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.
+ */
+
+import java.util.HashSet;
+import java.util.LinkedList;
+import java.util.ListIterator;
+
+import org.drools.lang.descr.AndDescr;
+import org.drools.lang.descr.PatternDescr;
+import org.drools.lang.descr.ConditionalElementDescr;
+import org.drools.lang.descr.EvalDescr;
+import org.drools.lang.descr.ExistsDescr;
+import org.drools.lang.descr.NotDescr;
+import org.drools.lang.descr.OrDescr;
+import org.xml.sax.Attributes;
+import org.xml.sax.SAXException;
+import org.xml.sax.SAXParseException;
+
+/**
+ * @author mproctor
+ * 
+ * TODO To change the template for this generated type comment go to Window -
+ * Preferences - Java - Code Style - Code Templates
+ */
+class PatternHandler extends BaseAbstractHandler
+    implements
+    Handler {
+    PatternHandler(final XmlPackageReader xmlPackageReader) {
+        this.xmlPackageReader = xmlPackageReader;
+
+        if ( (this.validParents == null) && (this.validPeers == null) ) {
+            this.validParents = new HashSet();
+            this.validParents.add( AndDescr.class );
+            this.validParents.add( OrDescr.class );
+            this.validParents.add( NotDescr.class );
+            this.validParents.add( ExistsDescr.class );
+
+            this.validPeers = new HashSet();
+            this.validPeers.add( null );
+            this.validPeers.add( AndDescr.class );
+            this.validPeers.add( OrDescr.class );
+            this.validPeers.add( NotDescr.class );
+            this.validPeers.add( ExistsDescr.class );
+            this.validPeers.add( EvalDescr.class );
+            this.validPeers.add( PatternDescr.class );
+
+            this.allowNesting = false;
+        }
+    }
+
+    public Object start(final String uri,
+                        final String localName,
+                        final Attributes attrs) throws SAXException {
+        this.xmlPackageReader.startConfiguration( localName,
+                                                  attrs );
+
+        final String objectType = attrs.getValue( "object-type" );
+
+        if ( objectType == null || objectType.trim().equals( "" ) ) {
+            throw new SAXParseException( "<pattern> requires an 'object-type' attribute",
+                                         this.xmlPackageReader.getLocator() );
+        }
+
+        PatternDescr patternDescr = null;
+
+        final String identifier = attrs.getValue( "identifier" );
+        if ( identifier == null || identifier.trim().equals( "" ) ) {
+            patternDescr = new PatternDescr( objectType );
+        } else {
+            patternDescr = new PatternDescr( objectType,
+                                           identifier );
+        }
+
+        return patternDescr;
+    }
+
+    public Object end(final String uri,
+                      final String localName) throws SAXException {
+        final Configuration config = this.xmlPackageReader.endConfiguration();
+
+        final PatternDescr patternDescr = (PatternDescr) this.xmlPackageReader.getCurrent();
+
+        final LinkedList parents = this.xmlPackageReader.getParents();
+        final ListIterator it = parents.listIterator( parents.size() );
+        it.previous();
+        final Object parent = it.previous();
+
+        final ConditionalElementDescr parentDescr = (ConditionalElementDescr) parent;
+        parentDescr.addDescr( patternDescr );
+
+        return null;
+    }
+
+    public Class generateNodeFor() {
+        return PatternDescr.class;
+    }
+}
\ No newline at end of file

Modified: labs/jbossrules/trunk/drools-compiler/src/main/java/org/drools/xml/PredicateHandler.java
===================================================================
--- labs/jbossrules/trunk/drools-compiler/src/main/java/org/drools/xml/PredicateHandler.java	2007-04-24 12:26:00 UTC (rev 11294)
+++ labs/jbossrules/trunk/drools-compiler/src/main/java/org/drools/xml/PredicateHandler.java	2007-04-24 12:52:09 UTC (rev 11295)
@@ -20,7 +20,7 @@
 import java.util.LinkedList;
 import java.util.ListIterator;
 
-import org.drools.lang.descr.ColumnDescr;
+import org.drools.lang.descr.PatternDescr;
 import org.drools.lang.descr.FieldBindingDescr;
 import org.drools.lang.descr.FieldConstraintDescr;
 import org.drools.lang.descr.PredicateDescr;
@@ -42,7 +42,7 @@
 
         if ( (this.validParents == null) && (this.validPeers == null) ) {
             this.validParents = new HashSet();
-            this.validParents.add( ColumnDescr.class );
+            this.validParents.add( PatternDescr.class );
 
             this.validPeers = new HashSet();
             this.validPeers.add( null );
@@ -82,9 +82,9 @@
         final LinkedList parents = this.xmlPackageReader.getParents();
         final ListIterator it = parents.listIterator( parents.size() );
         it.previous();
-        final ColumnDescr columnDescr = (ColumnDescr) it.previous();
+        final PatternDescr patternDescr = (PatternDescr) it.previous();
 
-        columnDescr.addDescr( predicateDescr );
+        patternDescr.addDescr( predicateDescr );
 
         return null;
     }

Modified: labs/jbossrules/trunk/drools-compiler/src/main/java/org/drools/xml/XmlDumper.java
===================================================================
--- labs/jbossrules/trunk/drools-compiler/src/main/java/org/drools/xml/XmlDumper.java	2007-04-24 12:26:00 UTC (rev 11294)
+++ labs/jbossrules/trunk/drools-compiler/src/main/java/org/drools/xml/XmlDumper.java	2007-04-24 12:52:09 UTC (rev 11295)
@@ -22,7 +22,7 @@
 
 import org.drools.lang.descr.AndDescr;
 import org.drools.lang.descr.AttributeDescr;
-import org.drools.lang.descr.ColumnDescr;
+import org.drools.lang.descr.PatternDescr;
 import org.drools.lang.descr.EvalDescr;
 import org.drools.lang.descr.ExistsDescr;
 import org.drools.lang.descr.FieldBindingDescr;
@@ -80,19 +80,19 @@
         this.template = "<variable-restriction evaluator=\"" + replaceIllegalChars( descr.getEvaluator() ) + "\" identifier=\"" + descr.getIdentifier() + "\" />" + XmlDumper.eol;
     }
 
-    public void visitColumnDescr(final ColumnDescr descr) {
+    public void visitPatternDescr(final PatternDescr descr) {
         this.template = new String();
         if ( descr.getDescrs() != Collections.EMPTY_LIST ) {
             if ( descr.getIdentifier() != null ) {
-                this.template = "<column identifier=\"" + descr.getIdentifier() + "\" object-type=\"" + descr.getObjectType() + "\" >" + XmlDumper.eol + processDescrList( descr.getDescrs() ) + XmlDumper.eol + "</column>" + XmlDumper.eol;
+                this.template = "<pattern identifier=\"" + descr.getIdentifier() + "\" object-type=\"" + descr.getObjectType() + "\" >" + XmlDumper.eol + processDescrList( descr.getDescrs() ) + XmlDumper.eol + "</pattern>" + XmlDumper.eol;
             } else {
-                this.template = "<column object-type=\"" + descr.getObjectType() + "\" >" + XmlDumper.eol + processDescrList( descr.getDescrs() ) + XmlDumper.eol + "</column>" + XmlDumper.eol;
+                this.template = "<pattern object-type=\"" + descr.getObjectType() + "\" >" + XmlDumper.eol + processDescrList( descr.getDescrs() ) + XmlDumper.eol + "</pattern>" + XmlDumper.eol;
             }
         } else {
             if ( descr.getIdentifier() != null ) {
-                this.template = "<column identifier=\"" + descr.getIdentifier() + "\" object-type=\"" + descr.getObjectType() + "\" > </column>" + XmlDumper.eol;
+                this.template = "<pattern identifier=\"" + descr.getIdentifier() + "\" object-type=\"" + descr.getObjectType() + "\" > </pattern>" + XmlDumper.eol;
             } else {
-                this.template = "<column object-type=\"" + descr.getObjectType() + "\" > </column>" + XmlDumper.eol;
+                this.template = "<pattern object-type=\"" + descr.getObjectType() + "\" > </pattern>" + XmlDumper.eol;
             }
         }
 

Modified: labs/jbossrules/trunk/drools-compiler/src/main/java/org/drools/xml/XmlPackageReader.java
===================================================================
--- labs/jbossrules/trunk/drools-compiler/src/main/java/org/drools/xml/XmlPackageReader.java	2007-04-24 12:26:00 UTC (rev 11294)
+++ labs/jbossrules/trunk/drools-compiler/src/main/java/org/drools/xml/XmlPackageReader.java	2007-04-24 12:52:09 UTC (rev 11295)
@@ -151,8 +151,8 @@
                            new ExistsHandler( this ) );
         this.handlers.put( "eval",
                            new EvalHandler( this ) );
-        this.handlers.put( "column",
-                           new ColumnHandler( this ) );
+        this.handlers.put( "pattern",
+                           new PatternHandler( this ) );
 
         // Field Constraints
         this.handlers.put( "field-constraint",

Modified: labs/jbossrules/trunk/drools-compiler/src/main/resources/META-INF/drools-3.0.xsd
===================================================================
--- labs/jbossrules/trunk/drools-compiler/src/main/resources/META-INF/drools-3.0.xsd	2007-04-24 12:26:00 UTC (rev 11294)
+++ labs/jbossrules/trunk/drools-compiler/src/main/resources/META-INF/drools-3.0.xsd	2007-04-24 12:52:09 UTC (rev 11295)
@@ -116,7 +116,7 @@
         <xs:element ref="drools:not"/>                
         <xs:element ref="drools:exists"/>                
         <xs:element ref="drools:eval"/>
-        <xs:element ref="drools:column"/>        
+        <xs:element ref="drools:pattern"/>        
       </xs:choice>       
     </xs:complexType>
   </xs:element>    
@@ -129,7 +129,7 @@
         <xs:element ref="drools:not"/>                
         <xs:element ref="drools:exists"/>                
         <xs:element ref="drools:eval"/>
-        <xs:element ref="drools:column"/>        
+        <xs:element ref="drools:pattern"/>        
       </xs:choice>            
     </xs:complexType>
   </xs:element>   
@@ -142,7 +142,7 @@
         <xs:element ref="drools:not"/>                
         <xs:element ref="drools:exists"/>                
         <xs:element ref="drools:eval"/>
-        <xs:element ref="drools:column"/>        
+        <xs:element ref="drools:pattern"/>        
       </xs:choice>             
     </xs:complexType>
   </xs:element>  
@@ -150,7 +150,7 @@
   <xs:element name="not">
     <xs:complexType>
       <xs:sequence>
-        <xs:element ref="drools:column"/>        
+        <xs:element ref="drools:pattern"/>        
       </xs:sequence>       
     </xs:complexType>
   </xs:element>    
@@ -158,14 +158,14 @@
   <xs:element name="exists">
     <xs:complexType>
       <xs:sequence>
-        <xs:element ref="drools:column"/>        
+        <xs:element ref="drools:pattern"/>        
       </xs:sequence>       
     </xs:complexType>
   </xs:element>     
   
   <xs:element name="eval" type="xs:string" />  
   
-  <xs:element name="column">
+  <xs:element name="pattern">
     <xs:complexType>
       <xs:choice maxOccurs="unbounded" minOccurs="0">
         <xs:element ref="drools:field-binding"/>        

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	2007-04-24 12:26:00 UTC (rev 11294)
+++ labs/jbossrules/trunk/drools-compiler/src/main/resources/org/drools/lang/DRL.g	2007-04-24 12:52:09 UTC (rev 11295)
@@ -678,7 +678,7 @@
 	;
 
 	
-lhs_column returns [BaseDescr d]
+lhs_pattern returns [BaseDescr d]
 	@init {
 		d=null;
 	}
@@ -778,9 +778,9 @@
 			d.setLocation( offset(loc.getLine()), loc.getCharPositionInLine() );
 			d.setStartCharacter( ((CommonToken)loc).getStartIndex() );
 		}	
-		'(' column=lhs_column ',' 
+		'(' pattern=lhs_pattern ',' 
 		{
-		        d.setSourceColumn( (ColumnDescr)column );
+		        d.setSourcePattern( (PatternDescr)pattern );
 		}
 		INIT text=paren_chunk[null] ',' 
 		{
@@ -807,9 +807,9 @@
 			d.setLocation( offset(loc.getLine()), loc.getCharPositionInLine() );
 			d.setStartCharacter( ((CommonToken)loc).getStartIndex() );
 		}	
-		'(' column=lhs_column loc=')'
+		'(' pattern=lhs_pattern loc=')'
 		{
-		        d.setSourceColumn( (ColumnDescr)column );
+		        d.setSourcePattern( (PatternDescr)pattern );
 			d.setEndCharacter( ((CommonToken)loc).getStopIndex() );
 		}
 	; 		
@@ -823,12 +823,12 @@
  		id=ID ':' 
  		{
  		        // handling incomplete parsing
- 		        d = new ColumnDescr( );
- 		        ((ColumnDescr) d).setIdentifier( id.getText() );
+ 		        d = new PatternDescr( );
+ 		        ((PatternDescr) d).setIdentifier( id.getText() );
  		}
  		fe=fact_expression[id.getText()]
  		{
- 		        // override previously instantiated column
+ 		        // override previously instantiated pattern
  			d=fe;
  			if( d != null ) {
    			    d.setStartCharacter( ((CommonToken)id).getStartIndex() );
@@ -844,7 +844,7 @@
  	:	'(' fe=fact_expression[id] ')' { pd=fe; }
  	| 	f=fact
  		{
- 			((ColumnDescr)f).setIdentifier( id );
+ 			((PatternDescr)f).setIdentifier( id );
  			pd = f;
  		}
  		( (OR|'||')
@@ -857,7 +857,7 @@
  			}
  			f=fact
  			{
- 				((ColumnDescr)f).setIdentifier( id );
+ 				((PatternDescr)f).setIdentifier( id );
  				((OrDescr)pd).addDescr( f );
  			}
  		)*	
@@ -866,40 +866,40 @@
 fact returns [BaseDescr d] 
 	@init {
 		d=null;
-		ColumnDescr column = null;
+		PatternDescr pattern = null;
 	}
  	:	
  	        {
- 			column = new ColumnDescr( );
- 			d = column; 
+ 			pattern = new PatternDescr( );
+ 			d = pattern; 
  	        }
  	        id=dotted_name[d] 
  		{ 
- 		        column.setObjectType( id );
- 		        column.setEndCharacter( -1 );
+ 		        pattern.setObjectType( id );
+ 		        pattern.setEndCharacter( -1 );
  		}
  		loc=LEFT_PAREN {
- 				column.setLocation( offset(loc.getLine()), loc.getCharPositionInLine() );
- 			        column.setLeftParentCharacter( ((CommonToken)loc).getStartIndex() );
+ 				pattern.setLocation( offset(loc.getLine()), loc.getCharPositionInLine() );
+ 			        pattern.setLeftParentCharacter( ((CommonToken)loc).getStartIndex() );
  			} 
- 		( constraints[column]  )? 
+ 		( constraints[pattern]  )? 
  		endLoc=RIGHT_PAREN
 		{
 		        if( endLoc.getType() == RIGHT_PAREN ) {
-				column.setEndLocation( offset(endLoc.getLine()), endLoc.getCharPositionInLine() );	
-				column.setEndCharacter( ((CommonToken)endLoc).getStopIndex() );
- 			        column.setRightParentCharacter( ((CommonToken)endLoc).getStartIndex() );
+				pattern.setEndLocation( offset(endLoc.getLine()), endLoc.getCharPositionInLine() );	
+				pattern.setEndCharacter( ((CommonToken)endLoc).getStopIndex() );
+ 			        pattern.setRightParentCharacter( ((CommonToken)endLoc).getStartIndex() );
 			}
  		}
  	;
 	
 	
-constraints[ColumnDescr column]
-	:	(constraint[column]|predicate[column])
-		( ',' (constraint[column]|predicate[column]))*
+constraints[PatternDescr pattern]
+	:	(constraint[pattern]|predicate[pattern])
+		( ',' (constraint[pattern]|predicate[pattern]))*
 	;
 	
-constraint[ColumnDescr column]
+constraint[PatternDescr pattern]
 	@init {
 		FieldBindingDescr fbd = null;
 		FieldConstraintDescr fc = null;
@@ -911,7 +911,7 @@
 			fbd.setIdentifier( fb.getText() );
 			fbd.setLocation( offset(fb.getLine()), fb.getCharPositionInLine() );
 			fbd.setStartCharacter( ((CommonToken)fb).getStartIndex() );
-			column.addDescr( fbd );
+			pattern.addDescr( fbd );
 
 		    }
 		)? 
@@ -929,7 +929,7 @@
 			
 			// it must be a field constraint, as it is not a binding
 			if( fb == null ) {
-			    column.addDescr( fc );
+			    pattern.addDescr( fc );
 			}
 		    }
 		}
@@ -939,7 +939,7 @@
 					fc.addRestriction(rd);
 					// we must add now as we didn't before
 					if( fb != null) {
-					    column.addDescr( fc );
+					    pattern.addDescr( fc );
 					}
 				}
 				(
@@ -960,7 +960,7 @@
 				)*
 			)
 		|
-			'->' predicate[column] 
+			'->' predicate[pattern] 
 		)?
 	;
 	
@@ -1018,7 +1018,7 @@
 	;	
 	
 
-predicate[ColumnDescr column]
+predicate[PatternDescr pattern]
         @init {
 		PredicateDescr d = null;
         }
@@ -1031,7 +1031,7 @@
 		        if( text != null ) {
 			        String body = text.substring(1, text.length()-1);
 			        d.setContent( body );
-				column.addDescr( d );
+				pattern.addDescr( d );
 		        }
 		}
 	;
@@ -1223,11 +1223,11 @@
 	:	(	u=lhs_exist
 		|	u=lhs_not
 		|	u=lhs_eval
-		|	u=lhs_column (
+		|	u=lhs_pattern (
 		          FROM (
-		           ( ACCUMULATE ) => (ac=accumulate_statement {ac.setResultColumn((ColumnDescr) u); u=ac;})
-		          |( COLLECT ) => (cs=collect_statement {cs.setResultColumn((ColumnDescr) u); u=cs;}) 
-		          |( ~(ACCUMULATE|COLLECT) ) => (fm=from_statement {fm.setColumn((ColumnDescr) u); u=fm;}) 
+		           ( ACCUMULATE ) => (ac=accumulate_statement {ac.setResultPattern((PatternDescr) u); u=ac;})
+		          |( COLLECT ) => (cs=collect_statement {cs.setResultPattern((PatternDescr) u); u=cs;}) 
+		          |( ~(ACCUMULATE|COLLECT) ) => (fm=from_statement {fm.setPattern((PatternDescr) u); u=fm;}) 
 		          )
 		        )?
 		|	u=lhs_forall  
@@ -1246,16 +1246,16 @@
 			d.setLocation( offset(loc.getLine()), loc.getCharPositionInLine() );
 			d.setStartCharacter( ((CommonToken)loc).getStartIndex() );
 		}
-	        ( ( '(' column=lhs_or 
-	           	{ if ( column != null ) ((ExistsDescr)d).addDescr( column ); }
+	        ( ( '(' pattern=lhs_or 
+	           	{ if ( pattern != null ) ((ExistsDescr)d).addDescr( pattern ); }
 	           end=')' 
 	                { if ( end != null ) d.setEndCharacter( ((CommonToken)end).getStopIndex() ); }
 	        )    
-	        | column=lhs_column
+	        | pattern=lhs_pattern
 	                {
-	                	if ( column != null ) {
-	                		((ExistsDescr)d).addDescr( column );
-	                		d.setEndCharacter( column.getEndCharacter() );
+	                	if ( pattern != null ) {
+	                		((ExistsDescr)d).addDescr( pattern );
+	                		d.setEndCharacter( pattern.getEndCharacter() );
 	                	}
 	                }
 	        )
@@ -1271,17 +1271,17 @@
 			d.setLocation( offset(loc.getLine()), loc.getCharPositionInLine() );
 			d.setStartCharacter( ((CommonToken)loc).getStartIndex() );
 		}
-		( ( '(' column=lhs_or  
-	           	{ if ( column != null ) d.addDescr( column ); }
+		( ( '(' pattern=lhs_or  
+	           	{ if ( pattern != null ) d.addDescr( pattern ); }
 	           end=')' 
 	                { if ( end != null ) d.setEndCharacter( ((CommonToken)end).getStopIndex() ); }
 		  )
 		| 
-		column=lhs_column
+		pattern=lhs_pattern
 	                {
-	                	if ( column != null ) {
-	                		d.addDescr( column );
-	                		d.setEndCharacter( column.getEndCharacter() );
+	                	if ( pattern != null ) {
+	                		d.addDescr( pattern );
+	                		d.setEndCharacter( pattern.getEndCharacter() );
 	                	}
 	                }
 		)
@@ -1307,17 +1307,17 @@
 	@init {
 		d = factory.createForall();
 	}
-	:	loc=FORALL '(' base=lhs_column   
+	:	loc=FORALL '(' base=lhs_pattern   
 		{
 			if ( loc != null ) d.setStartCharacter( ((CommonToken)loc).getStartIndex() );
-		        // adding the base column
+		        // adding the base pattern
 		        d.addDescr( base );
 			d.setLocation( offset(loc.getLine()), loc.getCharPositionInLine() );
 		}
-		( (',')? column=lhs_column
+		( (',')? pattern=lhs_pattern
 		{
-		        // adding additional columns
-			d.addDescr( column );
+		        // adding additional patterns
+			d.addDescr( pattern );
 		}
 		)+
 		end=')'
@@ -1480,7 +1480,7 @@
         
 INT	
 	:	('-')?('0'..'9')+
-	;
+		;
 
 FLOAT
 	:	('-')?('0'..'9')+ '.' ('0'..'9')+

Modified: labs/jbossrules/trunk/drools-compiler/src/main/resources/org/drools/rule/builder/dialect/java/javaInvokers.stg
===================================================================
--- labs/jbossrules/trunk/drools-compiler/src/main/resources/org/drools/rule/builder/dialect/java/javaInvokers.stg	2007-04-24 12:26:00 UTC (rev 11294)
+++ labs/jbossrules/trunk/drools-compiler/src/main/resources/org/drools/rule/builder/dialect/java/javaInvokers.stg	2007-04-24 12:52:09 UTC (rev 11295)
@@ -182,7 +182,7 @@
 }     
 >>
 
-consequenceInvoker(package, invokerClassName, ruleClassName, methodName, declarations, declarationTypes, indexes, notColumns, globals, globalTypes, text) ::= <<
+consequenceInvoker(package, invokerClassName, ruleClassName, methodName, declarations, declarationTypes, indexes, notPatterns, globals, globalTypes, text) ::= <<
 package <package>;
 
 public class <invokerClassName> implements org.drools.spi.Consequence
@@ -196,10 +196,10 @@
         org.drools.rule.Rule rule = knowledgeHelper.getRule();
         org.drools.rule.Declaration[] declarations = rule.getDeclarations();                                                  
 
-        <declarationTypes, declarations, indexes, notColumns :{ type, declr, index, notColumn | 
+        <declarationTypes, declarations, indexes, notPatterns :{ type, declr, index, notPattern | 
           org.drools.common.InternalFactHandle <declr.identifier>__Handle__ = ( org.drools.common.InternalFactHandle ) tuple.get( knowledgeHelper.getDeclaration( declarations[<index>].getIdentifier() ) );        
           <type> <declr.identifier> = ( <type> )  declarations[<index>].<declr.extractor.nativeReadMethod.name>( <declr.identifier>__Handle__.getObject() );
-          <if(notColumn)><declr.identifier>__Handle__ =  (org.drools.common.InternalFactHandle) knowledgeHelper.getWorkingMemory().getFactHandle( <declr.identifier> );<endif>
+          <if(notPattern)><declr.identifier>__Handle__ =  (org.drools.common.InternalFactHandle) knowledgeHelper.getWorkingMemory().getFactHandle( <declr.identifier> );<endif>
         }>
         
         <globalTypes, globals:{ type, identifier | <type> <identifier> = ( <type> ) workingMemory.getGlobal( "<identifier>" );<\n>}>    

Modified: labs/jbossrules/trunk/drools-compiler/src/main/resources/org/drools/rule/builder/dialect/java/javaRule.stg
===================================================================
--- labs/jbossrules/trunk/drools-compiler/src/main/resources/org/drools/rule/builder/dialect/java/javaRule.stg	2007-04-24 12:26:00 UTC (rev 11294)
+++ labs/jbossrules/trunk/drools-compiler/src/main/resources/org/drools/rule/builder/dialect/java/javaRule.stg	2007-04-24 12:52:09 UTC (rev 11295)
@@ -23,7 +23,7 @@
 }
 >>
 
-accumulateMethod(declarations, declarationTypes, innerDeclarations, globals, globalTypes, methodName, columnType, columnDeclaration, resultType, initCode, actionCode, resultCode) ::= <<
+accumulateMethod(declarations, declarationTypes, innerDeclarations, globals, globalTypes, methodName, patternType, patternDeclaration, resultType, initCode, actionCode, resultCode) ::= <<
 public static <resultType> <methodName>(org.drools.rule.Declaration[] innerDeclarations, java.util.List matchingObjects<if(declarations)>, <endif><declarationTypes, declarations:{ type, declr | <type> <declr.identifier>}; separator=","><if(globals)>,<endif> <globalTypes, globals:{ type, identifier | <type> <identifier>}; separator=","> ) throws Exception {
     <initCode>
     for( java.util.Iterator it = matchingObjects.iterator(); it.hasNext(); ) {

Modified: labs/jbossrules/trunk/drools-compiler/src/main/resources/org/drools/semantics/java/parser/JavaParser.g
===================================================================
--- labs/jbossrules/trunk/drools-compiler/src/main/resources/org/drools/semantics/java/parser/JavaParser.g	2007-04-24 12:26:00 UTC (rev 11294)
+++ labs/jbossrules/trunk/drools-compiler/src/main/resources/org/drools/semantics/java/parser/JavaParser.g	2007-04-24 12:52:09 UTC (rev 11295)
@@ -14,7 +14,7 @@
 */
 
 @parser::header {
-	package org.drools.semantics.java.parser;
+	package org.drools.rule.builder.dialect.java.parser;
 	import java.util.Iterator;
 }
 
@@ -124,7 +124,7 @@
 } 
 
 @lexer::header {
-	package org.drools.semantics.java.parser;
+	package org.drools.rule.builder.dialect.java.parser;
 }
 
 @lexer::members {

Modified: labs/jbossrules/trunk/drools-compiler/src/test/java/org/drools/brms/server/converter/BRXMLToDescrConverterTest.java
===================================================================
--- labs/jbossrules/trunk/drools-compiler/src/test/java/org/drools/brms/server/converter/BRXMLToDescrConverterTest.java	2007-04-24 12:26:00 UTC (rev 11294)
+++ labs/jbossrules/trunk/drools-compiler/src/test/java/org/drools/brms/server/converter/BRXMLToDescrConverterTest.java	2007-04-24 12:52:09 UTC (rev 11295)
@@ -11,7 +11,7 @@
 import org.drools.brms.client.modeldriven.brxml.RuleAttribute;
 import org.drools.brms.client.modeldriven.brxml.RuleModel;
 import org.drools.lang.descr.AttributeDescr;
-import org.drools.lang.descr.ColumnDescr;
+import org.drools.lang.descr.PatternDescr;
 import org.drools.lang.descr.FieldConstraintDescr;
 import org.drools.lang.descr.LiteralRestrictionDescr;
 import org.drools.lang.descr.OrDescr;
@@ -79,12 +79,12 @@
                       noloopDescr.getValue() );
 
         // checking LHS patterns
-        final ColumnDescr col1 = (ColumnDescr) rule.getLhs().getDescrs().get( 0 );
+        final PatternDescr pattern1 = (PatternDescr) rule.getLhs().getDescrs().get( 0 );
         assertEquals( pat1.boundName,
-                      col1.getIdentifier() );
+                      pattern1.getIdentifier() );
         assertEquals( pat1.factType,
-                      col1.getObjectType() );
-        final FieldConstraintDescr field = (FieldConstraintDescr) col1.getDescrs().get( 0 );
+                      pattern1.getObjectType() );
+        final FieldConstraintDescr field = (FieldConstraintDescr) pattern1.getDescrs().get( 0 );
         assertEquals( pat1.constraints[0].fieldName,
                       field.getFieldName() );
         final LiteralRestrictionDescr lit = (LiteralRestrictionDescr) field.getRestrictions().get( 0 );
@@ -94,13 +94,13 @@
                       lit.getText() );
 
         final OrDescr or1 = (OrDescr) rule.getLhs().getDescrs().get( 1 );
-        final ColumnDescr col2 = (ColumnDescr) or1.getDescrs().get( 0 );
+        final PatternDescr pattern2 = (PatternDescr) or1.getDescrs().get( 0 );
         assertEquals( pat2.factType,
-                      col2.getObjectType() );
+                      pattern2.getObjectType() );
 
-        final ColumnDescr col3 = (ColumnDescr) or1.getDescrs().get( 1 );
+        final PatternDescr pattern3 = (PatternDescr) or1.getDescrs().get( 1 );
         assertEquals( pat3.factType,
-                      col3.getObjectType() );
+                      pattern3.getObjectType() );
 
     }
     
@@ -158,12 +158,12 @@
                       noloopDescr.getValue() );
 
         // checking LHS patterns
-        final ColumnDescr col1 = (ColumnDescr) rule.getLhs().getDescrs().get( 0 );
+        final PatternDescr pattern1 = (PatternDescr) rule.getLhs().getDescrs().get( 0 );
         assertEquals( pat1.boundName,
-                      col1.getIdentifier() );
+                      pattern1.getIdentifier() );
         assertEquals( pat1.factType,
-                      col1.getObjectType() );
-        final FieldConstraintDescr field = (FieldConstraintDescr) col1.getDescrs().get( 0 );
+                      pattern1.getObjectType() );
+        final FieldConstraintDescr field = (FieldConstraintDescr) pattern1.getDescrs().get( 0 );
         assertEquals( pat1.constraints[0].fieldName,
                       field.getFieldName() );
         final LiteralRestrictionDescr lit = (LiteralRestrictionDescr) field.getRestrictions().get( 0 );
@@ -173,13 +173,13 @@
                       lit.getText() );
 
         final OrDescr or1 = (OrDescr) rule.getLhs().getDescrs().get( 1 );
-        final ColumnDescr col2 = (ColumnDescr) or1.getDescrs().get( 0 );
+        final PatternDescr pattern2 = (PatternDescr) or1.getDescrs().get( 0 );
         assertEquals( pat2.factType,
-                      col2.getObjectType() );
+                      pattern2.getObjectType() );
 
-        final ColumnDescr col3 = (ColumnDescr) or1.getDescrs().get( 1 );
+        final PatternDescr pattern3 = (PatternDescr) or1.getDescrs().get( 1 );
         assertEquals( pat3.factType,
-                      col3.getObjectType() );
+                      pattern3.getObjectType() );
         
     }
 

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	2007-04-24 12:26:00 UTC (rev 11294)
+++ labs/jbossrules/trunk/drools-compiler/src/test/java/org/drools/compiler/PackageBuilderTest.java	2007-04-24 12:52:09 UTC (rev 11295)
@@ -47,7 +47,7 @@
 import org.drools.facttemplates.Fact;
 import org.drools.lang.descr.AndDescr;
 import org.drools.lang.descr.BaseDescr;
-import org.drools.lang.descr.ColumnDescr;
+import org.drools.lang.descr.PatternDescr;
 import org.drools.lang.descr.ConditionalElementDescr;
 import org.drools.lang.descr.EvalDescr;
 import org.drools.lang.descr.ExistsDescr;
@@ -64,7 +64,7 @@
 import org.drools.lang.descr.ReturnValueRestrictionDescr;
 import org.drools.lang.descr.RuleDescr;
 import org.drools.reteoo.ReteooRuleBase;
-import org.drools.rule.Column;
+import org.drools.rule.Pattern;
 import org.drools.rule.Declaration;
 import org.drools.rule.EvalCondition;
 import org.drools.rule.GroupElement;
@@ -93,16 +93,16 @@
         final AndDescr lhs = new AndDescr();
         ruleDescr.setLhs( lhs );
 
-        final ColumnDescr column = new ColumnDescr( Cheese.class.getName(),
+        final PatternDescr pattern = new PatternDescr( Cheese.class.getName(),
                                                     "stilton" );
-        lhs.addDescr( column );
+        lhs.addDescr( pattern );
 
         FieldBindingDescr fieldBindingDescr = new FieldBindingDescr( "price",
                                                                      "x" );
-        column.addDescr( fieldBindingDescr );
+        pattern.addDescr( fieldBindingDescr );
         fieldBindingDescr = new FieldBindingDescr( "price",
                                                    "y" );
-        column.addDescr( fieldBindingDescr );
+        pattern.addDescr( fieldBindingDescr );
 
         packageDescr.addGlobal( new GlobalDescr( "map",
                                                  "java.util.Map" ) );
@@ -111,7 +111,7 @@
         returnValue.addRestriction( new ReturnValueRestrictionDescr( "==",
                                                                      "x" ) );
 
-        column.addDescr( returnValue );
+        pattern.addDescr( returnValue );
 
         // There is no m this should produce errors.
         ruleDescr.setConsequence( "modify(m);" );
@@ -324,15 +324,15 @@
 
         packageDescr.addFactTemplate( cheese );
 
-        final ColumnDescr column = new ColumnDescr( "Cheese",
+        final PatternDescr pattern = new PatternDescr( "Cheese",
                                                     "stilton" );
-        lhs.addDescr( column );
+        lhs.addDescr( pattern );
 
         final FieldConstraintDescr literalDescr = new FieldConstraintDescr( "name" );
         literalDescr.addRestriction( new LiteralRestrictionDescr( "==",
                                                                   "stilton" ) );
 
-        column.addDescr( literalDescr );
+        pattern.addDescr( literalDescr );
 
         ruleDescr.setConsequence( "System.out.println( stilton.getFieldValue( \"name\" ) + \" \" + stilton.getFieldValue( \"price\" ) );" );
 
@@ -369,15 +369,15 @@
         final AndDescr lhs = new AndDescr();
         ruleDescr.setLhs( lhs );
 
-        final ColumnDescr column = new ColumnDescr( Cheese.class.getName(),
+        final PatternDescr pattern = new PatternDescr( Cheese.class.getName(),
                                                     "stilton" );
-        lhs.addDescr( column );
+        lhs.addDescr( pattern );
 
         final FieldConstraintDescr literalDescr = new FieldConstraintDescr( "type" );
         literalDescr.addRestriction( new LiteralRestrictionDescr( "==",
                                                                   "stilton" ) );
 
-        column.addDescr( literalDescr );
+        pattern.addDescr( literalDescr );
 
         ruleDescr.setConsequence( "modify(stilton);" );
 
@@ -397,16 +397,16 @@
         final AndDescr lhs = new AndDescr();
         ruleDescr.setLhs( lhs );
 
-        final ColumnDescr column = new ColumnDescr( Cheese.class.getName(),
+        final PatternDescr pattern = new PatternDescr( Cheese.class.getName(),
                                                     "stilton" );
-        lhs.addDescr( column );
+        lhs.addDescr( pattern );
 
         FieldBindingDescr fieldBindingDescr = new FieldBindingDescr( "price",
                                                                      "x" );
-        column.addDescr( fieldBindingDescr );
+        pattern.addDescr( fieldBindingDescr );
         fieldBindingDescr = new FieldBindingDescr( "price",
                                                    "y" );
-        column.addDescr( fieldBindingDescr );
+        pattern.addDescr( fieldBindingDescr );
 
         packageDescr.addGlobal( new GlobalDescr( "map",
                                                  "java.util.Map" ) );
@@ -415,7 +415,7 @@
         returnValue.addRestriction( new ReturnValueRestrictionDescr( "==",
                                                                      "(( (Integer) map.get( new Integer( x )) ).intValue() * y)" ) );
 
-        column.addDescr( returnValue );
+        pattern.addDescr( returnValue );
 
         ruleDescr.setConsequence( "modify(stilton);" );
 
@@ -431,24 +431,24 @@
         createReturnValueRule( packageDescr1,
                                " x + y " );
         builder1.addPackage( packageDescr1 );
-        final Column column1 = (Column) builder1.getPackage().getRules()[0].getLhs().getChildren().get( 0 );
-        final ReturnValueConstraint returnValue1 = (ReturnValueConstraint) column1.getConstraints().get( 2 );
+        final Pattern pattern1 = (Pattern) builder1.getPackage().getRules()[0].getLhs().getChildren().get( 0 );
+        final ReturnValueConstraint returnValue1 = (ReturnValueConstraint) pattern1.getConstraints().get( 2 );
 
         final PackageBuilder builder2 = new PackageBuilder();
         final PackageDescr packageDescr2 = new PackageDescr( "package2" );
         createReturnValueRule( packageDescr2,
                                " x + y " );
         builder2.addPackage( packageDescr2 );
-        final Column column2 = (Column) builder2.getPackage().getRules()[0].getLhs().getChildren().get( 0 );
-        final ReturnValueConstraint returnValue2 = (ReturnValueConstraint) column2.getConstraints().get( 2 );
+        final Pattern pattern2 = (Pattern) builder2.getPackage().getRules()[0].getLhs().getChildren().get( 0 );
+        final ReturnValueConstraint returnValue2 = (ReturnValueConstraint) pattern2.getConstraints().get( 2 );
 
         final PackageBuilder builder3 = new PackageBuilder();
         final PackageDescr packageDescr3 = new PackageDescr( "package3" );
         createReturnValueRule( packageDescr3,
                                " x - y " );
         builder3.addPackage( packageDescr3 );
-        final Column column3 = (Column) builder3.getPackage().getRules()[0].getLhs().getChildren().get( 0 );
-        final ReturnValueConstraint returnValue3 = (ReturnValueConstraint) column3.getConstraints().get( 2 );
+        final Pattern pattern3 = (Pattern) builder3.getPackage().getRules()[0].getLhs().getChildren().get( 0 );
+        final ReturnValueConstraint returnValue3 = (ReturnValueConstraint) pattern3.getConstraints().get( 2 );
 
         assertEquals( returnValue1,
                       returnValue2 );
@@ -466,23 +466,23 @@
         final AndDescr lhs = new AndDescr();
         ruleDescr.setLhs( lhs );
 
-        final ColumnDescr column = new ColumnDescr( Cheese.class.getName(),
+        final PatternDescr pattern = new PatternDescr( Cheese.class.getName(),
                                                     "stilton" );
-        lhs.addDescr( column );
+        lhs.addDescr( pattern );
 
         final FieldBindingDescr fieldBindingDescr = new FieldBindingDescr( "price",
                                                                            "x" );
-        column.addDescr( fieldBindingDescr );
+        pattern.addDescr( fieldBindingDescr );
 
         final FieldBindingDescr fieldBindingDescr2 = new FieldBindingDescr( "price",
                                                                             "y" );
-        column.addDescr( fieldBindingDescr2 );
+        pattern.addDescr( fieldBindingDescr2 );
 
         packageDescr.addGlobal( new GlobalDescr( "map",
                                                  "java.util.Map" ) );
 
         final PredicateDescr predicate = new PredicateDescr( "( ( Integer )map.get( new Integer(x) ) ).intValue() == y" );
-        column.addDescr( predicate );
+        pattern.addDescr( predicate );
 
         ruleDescr.setConsequence( "modify(stilton);" );
 
@@ -498,24 +498,24 @@
         createPredicateRule( packageDescr1,
                              "x==y" );
         builder1.addPackage( packageDescr1 );
-        final Column column1 = (Column) builder1.getPackage().getRules()[0].getLhs().getChildren().get( 0 );
-        final PredicateConstraint predicate1 = (PredicateConstraint) column1.getConstraints().get( 2 );
+        final Pattern pattern1 = (Pattern) builder1.getPackage().getRules()[0].getLhs().getChildren().get( 0 );
+        final PredicateConstraint predicate1 = (PredicateConstraint) pattern1.getConstraints().get( 2 );
 
         final PackageBuilder builder2 = new PackageBuilder();
         final PackageDescr packageDescr2 = new PackageDescr( "package2" );
         createPredicateRule( packageDescr2,
                              "x==y" );
         builder2.addPackage( packageDescr2 );
-        final Column column2 = (Column) builder2.getPackage().getRules()[0].getLhs().getChildren().get( 0 );
-        final PredicateConstraint predicate2 = (PredicateConstraint) column2.getConstraints().get( 2 );
+        final Pattern pattern2 = (Pattern) builder2.getPackage().getRules()[0].getLhs().getChildren().get( 0 );
+        final PredicateConstraint predicate2 = (PredicateConstraint) pattern2.getConstraints().get( 2 );
 
         final PackageBuilder builder3 = new PackageBuilder();
         final PackageDescr packageDescr3 = new PackageDescr( "package3" );
         createPredicateRule( packageDescr3,
                              "x!=y" );
         builder3.addPackage( packageDescr3 );
-        final Column column3 = (Column) builder3.getPackage().getRules()[0].getLhs().getChildren().get( 0 );
-        final PredicateConstraint predicate3 = (PredicateConstraint) column3.getConstraints().get( 2 );
+        final Pattern pattern3 = (Pattern) builder3.getPackage().getRules()[0].getLhs().getChildren().get( 0 );
+        final PredicateConstraint predicate3 = (PredicateConstraint) pattern3.getConstraints().get( 2 );
 
         assertEquals( predicate1,
                       predicate2 );
@@ -533,16 +533,16 @@
         final AndDescr lhs = new AndDescr();
         ruleDescr.setLhs( lhs );
 
-        final ColumnDescr column = new ColumnDescr( Cheese.class.getName(),
+        final PatternDescr pattern = new PatternDescr( Cheese.class.getName(),
                                                     "stilton" );
-        lhs.addDescr( column );
+        lhs.addDescr( pattern );
 
         FieldBindingDescr fieldBindingDescr = new FieldBindingDescr( "price",
                                                                      "x" );
-        column.addDescr( fieldBindingDescr );
+        pattern.addDescr( fieldBindingDescr );
         fieldBindingDescr = new FieldBindingDescr( "price",
                                                    "y" );
-        column.addDescr( fieldBindingDescr );
+        pattern.addDescr( fieldBindingDescr );
 
         packageDescr.addGlobal( new GlobalDescr( "map",
                                                  "java.util.Map" ) );
@@ -607,9 +607,9 @@
         final GroupElement or = (GroupElement) lhs.getChildren().get( 0 );
         assertLength( 1,
                       or.getChildren() );
-        final Column column = (Column) or.getChildren().get( 0 );
+        final Pattern pattern = (Pattern) or.getChildren().get( 0 );
 
-        final LiteralConstraint literalConstarint = (LiteralConstraint) column.getConstraints().get( 0 );
+        final LiteralConstraint literalConstarint = (LiteralConstraint) pattern.getConstraints().get( 0 );
     }
 
     public void testAnd() throws Exception {
@@ -627,9 +627,9 @@
         final GroupElement and = (GroupElement) lhs.getChildren().get( 0 );
         assertLength( 1,
                       and.getChildren() );
-        final Column column = (Column) and.getChildren().get( 0 );
+        final Pattern pattern = (Pattern) and.getChildren().get( 0 );
 
-        final LiteralConstraint literalConstraint = (LiteralConstraint) column.getConstraints().get( 0 );
+        final LiteralConstraint literalConstraint = (LiteralConstraint) pattern.getConstraints().get( 0 );
     }
 
     public void testNot() throws Exception {
@@ -656,9 +656,9 @@
         final GroupElement not = (GroupElement) lhs.getChildren().get( 0 );
         assertLength( 1,
                       not.getChildren() );
-        final Column column = (Column) not.getChildren().get( 0 );
+        final Pattern pattern = (Pattern) not.getChildren().get( 0 );
 
-        final LiteralConstraint literalConstarint = (LiteralConstraint) column.getConstraints().get( 0 );
+        final LiteralConstraint literalConstarint = (LiteralConstraint) pattern.getConstraints().get( 0 );
     }
 
     public void testExists() throws Exception {
@@ -685,9 +685,9 @@
         final GroupElement exists = (GroupElement) lhs.getChildren().get( 0 );
         assertLength( 1,
                       exists.getChildren() );
-        final Column column = (Column) exists.getChildren().get( 0 );
+        final Pattern pattern = (Pattern) exists.getChildren().get( 0 );
 
-        final LiteralConstraint literalConstarint = (LiteralConstraint) column.getConstraints().get( 0 );
+        final LiteralConstraint literalConstarint = (LiteralConstraint) pattern.getConstraints().get( 0 );
     }
 
     public void testNumbers() throws Exception {
@@ -816,14 +816,14 @@
         final AndDescr lhs = new AndDescr();
         ruleDescr.setLhs( lhs );
 
-        final ColumnDescr columnDescr = new ColumnDescr( Cheese.class.getName(),
+        final PatternDescr patternDescr = new PatternDescr( Cheese.class.getName(),
                                                          "stilton" );
 
         final FieldConstraintDescr literalDescr = new FieldConstraintDescr( "type" );
         literalDescr.addRestriction( new LiteralRestrictionDescr( "==",
                                                                   null ) );
 
-        columnDescr.addDescr( literalDescr );
+        patternDescr.addDescr( literalDescr );
 
         ruleDescr.setConsequence( "" );
 
@@ -846,12 +846,12 @@
         packageDescr.addRule( ruleDescr );
         AndDescr lhs = new AndDescr();
         ruleDescr.setLhs( lhs );
-        ColumnDescr columnDescr = new ColumnDescr( Cheese.class.getName(),
+        PatternDescr patternDescr = new PatternDescr( Cheese.class.getName(),
                                                    "stilton" );
         FieldConstraintDescr literalDescr = new FieldConstraintDescr( "type" );
         literalDescr.addRestriction( new LiteralRestrictionDescr( "==",
                                                                   null ) );
-        columnDescr.addDescr( literalDescr );
+        patternDescr.addDescr( literalDescr );
         ruleDescr.setConsequence( "" );
 
         ruleDescr = new RuleDescr( "rule-1" );
@@ -860,12 +860,12 @@
         packageDescr.addRule( ruleDescr );
         lhs = new AndDescr();
         ruleDescr.setLhs( lhs );
-        columnDescr = new ColumnDescr( Cheese.class.getName(),
+        patternDescr = new PatternDescr( Cheese.class.getName(),
                                        "stilton" );
         literalDescr = new FieldConstraintDescr( "type" );
         literalDescr.addRestriction( new LiteralRestrictionDescr( "!=",
                                                                   null ) );
-        columnDescr.addDescr( literalDescr );
+        patternDescr.addDescr( literalDescr );
         ruleDescr.setConsequence( "" );
 
         ruleDescr = new RuleDescr( "rule-2" );
@@ -874,14 +874,14 @@
         packageDescr.addRule( ruleDescr );
         lhs = new AndDescr();
         ruleDescr.setLhs( lhs );
-        columnDescr = new ColumnDescr( Cheese.class.getName(),
+        patternDescr = new PatternDescr( Cheese.class.getName(),
                                        "stilton" );
 
         literalDescr = new FieldConstraintDescr( "type" );
         literalDescr.addRestriction( new LiteralRestrictionDescr( "!=",
                                                                   null ) );
 
-        columnDescr.addDescr( literalDescr );
+        patternDescr.addDescr( literalDescr );
         ruleDescr.setConsequence( "" );
 
         builder.addPackage( packageDescr );
@@ -906,8 +906,8 @@
         final AndDescr lhs = new AndDescr();
         ruleDescr.setLhs( lhs );
 
-        final ColumnDescr column1 = new ColumnDescr( Cheese.class.getName() );
-        lhs.addDescr( column1 );
+        final PatternDescr pattern1 = new PatternDescr( Cheese.class.getName() );
+        lhs.addDescr( pattern1 );
 
         final FieldBindingDescr fieldBindingDescr = new FieldBindingDescr( "type",
                                                                            "$type" );
@@ -916,12 +916,12 @@
         literalDescr.addRestriction( new LiteralRestrictionDescr( "==",
                                                                   "stilton" ) );
 
-        column1.addDescr( fieldBindingDescr );
-        column1.addDescr( literalDescr );
+        pattern1.addDescr( fieldBindingDescr );
+        pattern1.addDescr( literalDescr );
 
-        final ColumnDescr column2 = new ColumnDescr( Cheese.class.getName() );
-        lhs.addDescr( column2 );
-        column2.addDescr( fieldBindingDescr );
+        final PatternDescr pattern2 = new PatternDescr( Cheese.class.getName() );
+        lhs.addDescr( pattern2 );
+        pattern2.addDescr( fieldBindingDescr );
 
         ruleDescr.setConsequence( "modify(stilton);" );
 
@@ -991,16 +991,16 @@
         final AndDescr lhs = new AndDescr();
         ruleDescr.setLhs( lhs );
 
-        final ColumnDescr column = new ColumnDescr( Cheese.class.getName(),
+        final PatternDescr pattern = new PatternDescr( Cheese.class.getName(),
                                                     "stilton" );
-        lhs.addDescr( column );
+        lhs.addDescr( pattern );
 
         FieldBindingDescr fieldBindingDescr = new FieldBindingDescr( "price",
                                                                      "x" );
-        column.addDescr( fieldBindingDescr );
+        pattern.addDescr( fieldBindingDescr );
         fieldBindingDescr = new FieldBindingDescr( "price",
                                                    "y" );
-        column.addDescr( fieldBindingDescr );
+        pattern.addDescr( fieldBindingDescr );
 
         packageDescr.addGlobal( new GlobalDescr( "map",
                                                  "java.util.Map" ) );
@@ -1009,7 +1009,7 @@
         returnValue.addRestriction( new ReturnValueRestrictionDescr( "==",
                                                                      expression ) );
 
-        column.addDescr( returnValue );
+        pattern.addDescr( returnValue );
 
         ruleDescr.setConsequence( "modify(stilton);" );
     }
@@ -1022,23 +1022,23 @@
         final AndDescr lhs = new AndDescr();
         ruleDescr.setLhs( lhs );
 
-        final ColumnDescr column = new ColumnDescr( Cheese.class.getName(),
+        final PatternDescr pattern = new PatternDescr( Cheese.class.getName(),
                                                     "stilton" );
-        lhs.addDescr( column );
+        lhs.addDescr( pattern );
 
         final FieldBindingDescr fieldBindingDescr = new FieldBindingDescr( "price",
                                                                            "x" );
-        column.addDescr( fieldBindingDescr );
+        pattern.addDescr( fieldBindingDescr );
 
         final FieldBindingDescr fieldBindingDescr2 = new FieldBindingDescr( "price",
                                                                             "y" );
-        column.addDescr( fieldBindingDescr2 );
+        pattern.addDescr( fieldBindingDescr2 );
 
         packageDescr.addGlobal( new GlobalDescr( "map",
                                                  "java.util.Map" ) );
 
         final PredicateDescr predicate = new PredicateDescr( expression );
-        column.addDescr( predicate );
+        pattern.addDescr( predicate );
 
         ruleDescr.setConsequence( "modify(stilton);" );
     }
@@ -1070,10 +1070,10 @@
         final AndDescr lhs = new AndDescr();
         ruleDescr.setLhs( lhs );
 
-        final ColumnDescr column = new ColumnDescr( Primitives.class.getName() );
-        lhs.addDescr( column );
+        final PatternDescr pattern = new PatternDescr( Primitives.class.getName() );
+        lhs.addDescr( pattern );
 
-        column.addDescr( literalDescr );
+        pattern.addDescr( literalDescr );
 
         ruleDescr.setConsequence( "" );
 
@@ -1095,16 +1095,16 @@
 
         lhs.addDescr( (BaseDescr) ceDescr );
 
-        final ColumnDescr columnDescr = new ColumnDescr( Cheese.class.getName(),
+        final PatternDescr patternDescr = new PatternDescr( Cheese.class.getName(),
                                                          "stilton" );
 
         final FieldConstraintDescr literalDescr = new FieldConstraintDescr( "type" );
         literalDescr.addRestriction( new LiteralRestrictionDescr( "==",
                                                                   "stilton" ) );
 
-        columnDescr.addDescr( literalDescr );
+        patternDescr.addDescr( literalDescr );
 
-        ceDescr.addDescr( columnDescr );
+        ceDescr.addDescr( patternDescr );
 
         ruleDescr.setConsequence( consequence );
 
@@ -1211,7 +1211,7 @@
             this.declarations = declarations;
         }
 
-        public InternalFactHandle get(final int column) {
+        public InternalFactHandle get(final int patern) {
             return null;
         }
 

Modified: labs/jbossrules/trunk/drools-compiler/src/test/java/org/drools/integrationtests/MiscTest.java
===================================================================
--- labs/jbossrules/trunk/drools-compiler/src/test/java/org/drools/integrationtests/MiscTest.java	2007-04-24 12:26:00 UTC (rev 11294)
+++ labs/jbossrules/trunk/drools-compiler/src/test/java/org/drools/integrationtests/MiscTest.java	2007-04-24 12:52:09 UTC (rev 11295)
@@ -250,10 +250,10 @@
 
     }
 
-    public void testEmptyColumn() throws Exception {
+    public void testEmptyPattern() throws Exception {
         // pre build the package
         final PackageBuilder builder = new PackageBuilder();
-        builder.addPackageFromDrl( new InputStreamReader( getClass().getResourceAsStream( "test_EmptyColumn.drl" ) ) );
+        builder.addPackageFromDrl( new InputStreamReader( getClass().getResourceAsStream( "test_EmptyPattern.drl" ) ) );
         final Package pkg = builder.getPackage();
 
         // add the package to a rulebase
@@ -1036,9 +1036,9 @@
     }
 
 
-    public void testPredicateAsFirstColumn() throws Exception {
+    public void testPredicateAsFirstPattern() throws Exception {
         final PackageBuilder builder = new PackageBuilder();
-        builder.addPackageFromDrl( new InputStreamReader( getClass().getResourceAsStream( "predicate_as_first_column.drl" ) ) );
+        builder.addPackageFromDrl( new InputStreamReader( getClass().getResourceAsStream( "predicate_as_first_pattern.drl" ) ) );
         final Package pkg = builder.getPackage();
 
         final RuleBase ruleBase = getRuleBase();
@@ -1537,7 +1537,7 @@
 
     public void testjustEval() throws Exception {
         final PackageBuilder builder = new PackageBuilder();
-        builder.addPackageFromDrl( new InputStreamReader( getClass().getResourceAsStream( "test_NoColumns.drl" ) ) );
+        builder.addPackageFromDrl( new InputStreamReader( getClass().getResourceAsStream( "test_NoPatterns.drl" ) ) );
         final Package pkg = builder.getPackage();
 
         final RuleBase ruleBase = getRuleBase();

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	2007-04-24 12:26:00 UTC (rev 11294)
+++ labs/jbossrules/trunk/drools-compiler/src/test/java/org/drools/lang/RuleParserTest.java	2007-04-24 12:52:09 UTC (rev 11295)
@@ -36,7 +36,7 @@
 import org.drools.lang.descr.AndDescr;
 import org.drools.lang.descr.AttributeDescr;
 import org.drools.lang.descr.CollectDescr;
-import org.drools.lang.descr.ColumnDescr;
+import org.drools.lang.descr.PatternDescr;
 import org.drools.lang.descr.EvalDescr;
 import org.drools.lang.descr.ExistsDescr;
 import org.drools.lang.descr.FactTemplateDescr;
@@ -145,7 +145,7 @@
     }
 
     public void testPartialAST() throws Exception {
-        parseResource( "column_partial.drl" );
+        parseResource( "pattern_partial.drl" );
 
         this.parser.compilation_unit();
 
@@ -158,13 +158,13 @@
 
         assertEquals( 1,
                       rule.getLhs().getDescrs().size() );
-        final ColumnDescr col = (ColumnDescr) rule.getLhs().getDescrs().get( 0 );
+        final PatternDescr pattern = (PatternDescr) rule.getLhs().getDescrs().get( 0 );
 
-        assertNotNull( col );
+        assertNotNull( pattern );
         assertEquals( "Bar",
-                      col.getObjectType() );
+                      pattern.getObjectType() );
         assertEquals( "foo3",
-                      col.getIdentifier() );
+                      pattern.getIdentifier() );
 
     }
 
@@ -421,10 +421,10 @@
         assertEquals( 3,
                       lhs.getDescrs().size() );
 
-        ColumnDescr col = (ColumnDescr) lhs.getDescrs().get( 0 );
+        PatternDescr pattern = (PatternDescr) lhs.getDescrs().get( 0 );
         assertEquals( 1,
-                      col.getDescrs().size() );
-        FieldConstraintDescr fld = (FieldConstraintDescr) col.getDescrs().get( 0 );
+                      pattern.getDescrs().size() );
+        FieldConstraintDescr fld = (FieldConstraintDescr) pattern.getDescrs().get( 0 );
         LiteralRestrictionDescr lit = (LiteralRestrictionDescr) fld.getRestrictions().get( 0 );
 
         assertEquals( "==",
@@ -436,11 +436,11 @@
         assertEquals( false,
                       lit.isStaticFieldValue() );
 
-        col = (ColumnDescr) lhs.getDescrs().get( 1 );
+        pattern = (PatternDescr) lhs.getDescrs().get( 1 );
         assertEquals( 1,
-                      col.getDescrs().size() );
+                      pattern.getDescrs().size() );
 
-        fld = (FieldConstraintDescr) col.getDescrs().get( 0 );
+        fld = (FieldConstraintDescr) pattern.getDescrs().get( 0 );
         lit = (LiteralRestrictionDescr) fld.getRestrictions().get( 0 );
 
         assertEquals( ">",
@@ -450,13 +450,13 @@
         assertEquals( "boo",
                       fld.getFieldName() );
 
-        col = (ColumnDescr) lhs.getDescrs().get( 2 );
+        pattern = (PatternDescr) lhs.getDescrs().get( 2 );
         assertEquals( 1,
-                      col.getDescrs().size() );
+                      pattern.getDescrs().size() );
 
         //lit = (LiteralDescr) col.getDescrs().get( 0 );
 
-        fld = (FieldConstraintDescr) col.getDescrs().get( 0 );
+        fld = (FieldConstraintDescr) pattern.getDescrs().get( 0 );
         lit = (LiteralRestrictionDescr) fld.getRestrictions().get( 0 );
         assertEquals( ">",
                       lit.getEvaluator() );
@@ -504,8 +504,8 @@
         assertFalse( this.parser.hasErrors() );
     }
 
-    public void testEmptyColumn() throws Exception {
-        parseResource( "test_EmptyColumn.drl" );
+    public void testEmptyPattern() throws Exception {
+        parseResource( "test_EmptyPattern.drl" );
         this.parser.compilation_unit();
         final PackageDescr packageDescr = this.parser.getPackageDescr();
         assertEquals( 1,
@@ -516,11 +516,11 @@
         assertNotNull( ruleDescr.getLhs() );
         assertEquals( 1,
                       ruleDescr.getLhs().getDescrs().size() );
-        final ColumnDescr columnDescr = (ColumnDescr) ruleDescr.getLhs().getDescrs().get( 0 );
+        final PatternDescr patternDescr = (PatternDescr) ruleDescr.getLhs().getDescrs().get( 0 );
         assertEquals( 0,
-                      columnDescr.getDescrs().size() ); //this may be null, not sure as the test doesn't get this far...
+                      patternDescr.getDescrs().size() ); //this may be null, not sure as the test doesn't get this far...
         assertEquals( "Cheese",
-                      columnDescr.getObjectType() );
+                      patternDescr.getObjectType() );
 
     }
 
@@ -611,7 +611,7 @@
     //        
     //        assertEquals(3, from.getLine());
     //        
-    //        assertEquals("Foo", from.getReturnedColumn().getObjectType());
+    //        assertEquals("Foo", from.getReturnedPattern().getObjectType());
     //        assertTrue(from.getDataSource() instanceof FieldAccessDescr);
     //        assertEquals("baz", ((FieldAccessDescr) from.getDataSource()).getFieldName());        
     //        assertEquals("bar", ((FieldAccessDescr) from.getDataSource()).getVariableName());
@@ -620,8 +620,8 @@
     //        ArgumentValueDescr arg = null;
     //        
     //        from = (FromDescr) rule.getLhs().getDescrs().get(1);
-    //        assertEquals("Foo", from.getReturnedColumn().getObjectType());
-    //        assertEquals(0, from.getReturnedColumn().getDescrs().size());
+    //        assertEquals("Foo", from.getReturnedPattern().getObjectType());
+    //        assertEquals(0, from.getReturnedPattern().getDescrs().size());
     //        FieldAccessDescr fieldAccess = ( FieldAccessDescr ) from.getDataSource();
     //        arg = ( ArgumentValueDescr ) fieldAccess.getArgument();
     //        assertEquals(ArgumentValueDescr.STRING,  arg.getType() );
@@ -691,7 +691,7 @@
     //        
     //                
     //        
-    //        assertEquals("Bam", ((ColumnDescr)rule.getLhs().getDescrs().get(8)).getObjectType());
+    //        assertEquals("Bam", ((PatternDescr)rule.getLhs().getDescrs().get(8)).getObjectType());
     //    }
 
     public void testSimpleRule() throws Exception {
@@ -705,7 +705,7 @@
         assertEquals( 7,
                       rule.getConsequenceLine() );
         assertEquals( 2,
-                      rule.getConsequenceColumn() );
+                      rule.getConsequencePattern() );
 
         final AndDescr lhs = rule.getLhs();
 
@@ -716,8 +716,8 @@
 
         //System.err.println( lhs.getDescrs() );
 
-        // Check first column
-        final ColumnDescr first = (ColumnDescr) lhs.getDescrs().get( 0 );
+        // Check first pattern
+        final PatternDescr first = (PatternDescr) lhs.getDescrs().get( 0 );
         assertEquals( "foo3",
                       first.getIdentifier() );
         assertEquals( "Bar",
@@ -738,8 +738,8 @@
         assertEquals( "3",
                       constraint.getText() );
 
-        // Check second column
-        final ColumnDescr second = (ColumnDescr) lhs.getDescrs().get( 1 );
+        // Check second pattern
+        final PatternDescr second = (PatternDescr) lhs.getDescrs().get( 1 );
         assertEquals( "foo4",
                       second.getIdentifier() );
         assertEquals( "Bar",
@@ -768,8 +768,8 @@
         assertEquals( "4",
                       constraint.getText() );
 
-        // Check third column
-        final ColumnDescr third = (ColumnDescr) lhs.getDescrs().get( 2 );
+        // Check third pattern
+        final PatternDescr third = (PatternDescr) lhs.getDescrs().get( 2 );
         assertNull( third.getIdentifier() );
         assertEquals( "Baz",
                       third.getObjectType() );
@@ -794,14 +794,14 @@
         assertEquals( 2,
                       rule.getLhs().getDescrs().size() );
 
-        //The first column, with 2 restrictions on a single field (plus a connective)
-        ColumnDescr col = (ColumnDescr) rule.getLhs().getDescrs().get( 0 );
+        //The first pattern, with 2 restrictions on a single field (plus a connective)
+        PatternDescr pattern = (PatternDescr) rule.getLhs().getDescrs().get( 0 );
         assertEquals( "Person",
-                      col.getObjectType() );
+                      pattern.getObjectType() );
         assertEquals( 1,
-                      col.getDescrs().size() );
+                      pattern.getDescrs().size() );
 
-        FieldConstraintDescr fld = (FieldConstraintDescr) col.getDescrs().get( 0 );
+        FieldConstraintDescr fld = (FieldConstraintDescr) pattern.getDescrs().get( 0 );
         assertEquals( 3,
                       fld.getRestrictions().size() );
         assertEquals( "age",
@@ -824,13 +824,13 @@
                       lit.getText() );
 
         //the second col, with 2 fields, the first with 2 restrictions, the second field with one
-        col = (ColumnDescr) rule.getLhs().getDescrs().get( 1 );
+        pattern = (PatternDescr) rule.getLhs().getDescrs().get( 1 );
         assertEquals( "Vehicle",
-                      col.getObjectType() );
+                      pattern.getObjectType() );
         assertEquals( 2,
-                      col.getDescrs().size() );
+                      pattern.getDescrs().size() );
 
-        fld = (FieldConstraintDescr) col.getDescrs().get( 0 );
+        fld = (FieldConstraintDescr) pattern.getDescrs().get( 0 );
         assertEquals( 3,
                       fld.getRestrictions().size() );
         lit = (LiteralRestrictionDescr) fld.getRestrictions().get( 0 );
@@ -851,7 +851,7 @@
                       lit.getText() );
 
         //now the second field
-        fld = (FieldConstraintDescr) col.getDescrs().get( 1 );
+        fld = (FieldConstraintDescr) pattern.getDescrs().get( 1 );
         assertEquals( 1,
                       fld.getRestrictions().size() );
         lit = (LiteralRestrictionDescr) fld.getRestrictions().get( 0 );
@@ -875,7 +875,7 @@
         assertEquals( 7,
                       rule.getConsequenceLine() );
         assertEquals( 2,
-                      rule.getConsequenceColumn() );
+                      rule.getConsequencePattern() );
 
         final AndDescr lhs = rule.getLhs();
 
@@ -884,8 +884,8 @@
         assertEquals( 3,
                       lhs.getDescrs().size() );
 
-        // Check first column
-        final ColumnDescr first = (ColumnDescr) lhs.getDescrs().get( 0 );
+        // Check first pattern
+        final PatternDescr first = (PatternDescr) lhs.getDescrs().get( 0 );
         assertEquals( "foo3",
                       first.getIdentifier() );
         assertEquals( "Bar",
@@ -893,14 +893,14 @@
         assertEquals( 1,
                       first.getDescrs().size() );
 
-        // Check second column
-        final ColumnDescr second = (ColumnDescr) lhs.getDescrs().get( 1 );
+        // Check second pattern
+        final PatternDescr second = (PatternDescr) lhs.getDescrs().get( 1 );
         assertEquals( "foo4",
                       second.getIdentifier() );
         assertEquals( "Bar",
                       second.getObjectType() );
 
-        final ColumnDescr third = (ColumnDescr) lhs.getDescrs().get( 2 );
+        final PatternDescr third = (PatternDescr) lhs.getDescrs().get( 2 );
         assertEquals( "Baz",
                       third.getObjectType() );
 
@@ -940,8 +940,8 @@
 
         //System.err.println( lhs.getDescrs() );
 
-        // Check first column
-        final ColumnDescr first = (ColumnDescr) lhs.getDescrs().get( 0 );
+        // Check first pattern
+        final PatternDescr first = (PatternDescr) lhs.getDescrs().get( 0 );
         assertEquals( "foo3",
                       first.getIdentifier() );
         assertEquals( "Bar",
@@ -964,8 +964,8 @@
         assertEquals( "3",
                       constraint.getText() );
 
-        // Check second column
-        final ColumnDescr second = (ColumnDescr) lhs.getDescrs().get( 1 );
+        // Check second pattern
+        final PatternDescr second = (PatternDescr) lhs.getDescrs().get( 1 );
         assertEquals( "foo4",
                       second.getIdentifier() );
         assertEquals( "Bar",
@@ -995,8 +995,8 @@
         assertEquals( "4",
                       constraint.getText() );
 
-        // Check third column
-        final ColumnDescr third = (ColumnDescr) lhs.getDescrs().get( 2 );
+        // Check third pattern
+        final PatternDescr third = (PatternDescr) lhs.getDescrs().get( 2 );
         assertNull( third.getIdentifier() );
         assertEquals( "Baz",
                       third.getObjectType() );
@@ -1020,14 +1020,14 @@
         final NotDescr not = (NotDescr) lhs.getDescrs().get( 0 );
         assertEquals( 1,
                       not.getDescrs().size() );
-        final ColumnDescr col = (ColumnDescr) not.getDescrs().get( 0 );
+        final PatternDescr pattern = (PatternDescr) not.getDescrs().get( 0 );
 
         assertEquals( "Cheese",
-                      col.getObjectType() );
+                      pattern.getObjectType() );
         assertEquals( 1,
-                      col.getDescrs().size() );
+                      pattern.getDescrs().size() );
 
-        final FieldConstraintDescr fld = (FieldConstraintDescr) col.getDescrs().get( 0 );
+        final FieldConstraintDescr fld = (FieldConstraintDescr) pattern.getDescrs().get( 0 );
         final LiteralRestrictionDescr lit = (LiteralRestrictionDescr) fld.getRestrictions().get( 0 );
 
         assertEquals( "==",
@@ -1078,17 +1078,17 @@
         final NotDescr not = (NotDescr) lhs.getDescrs().get( 0 );
         assertEquals( 1,
                       not.getDescrs().size() );
-        final ColumnDescr col = (ColumnDescr) not.getDescrs().get( 0 );
+        final PatternDescr pattern = (PatternDescr) not.getDescrs().get( 0 );
 
         assertEquals( "Cheese",
-                      col.getObjectType() );
+                      pattern.getObjectType() );
 
         final ExistsDescr ex = (ExistsDescr) lhs.getDescrs().get( 1 );
         assertEquals( 1,
                       ex.getDescrs().size() );
-        final ColumnDescr exCol = (ColumnDescr) ex.getDescrs().get( 0 );
+        final PatternDescr exPattern = (PatternDescr) ex.getDescrs().get( 0 );
         assertEquals( "Foo",
-                      exCol.getObjectType() );
+                      exPattern.getObjectType() );
 
         assertFalse( parser.hasErrors() );
     }
@@ -1114,8 +1114,8 @@
         assertEquals( 3,
                       lhs.getDescrs().size() );
 
-        // Check first column
-        final ColumnDescr first = (ColumnDescr) lhs.getDescrs().get( 0 );
+        // Check first pattern
+        final PatternDescr first = (PatternDescr) lhs.getDescrs().get( 0 );
         assertEquals( "foo3",
                       first.getIdentifier() );
         assertEquals( "Bar",
@@ -1137,8 +1137,8 @@
         assertEquals( "3",
                       constraint.getText() );
 
-        // Check second column
-        final ColumnDescr second = (ColumnDescr) lhs.getDescrs().get( 1 );
+        // Check second pattern
+        final PatternDescr second = (PatternDescr) lhs.getDescrs().get( 1 );
         assertEquals( "foo4",
                       second.getIdentifier() );
         assertEquals( "Bar",
@@ -1221,8 +1221,8 @@
         assertEqualsIgnoreWhitespace( "System.out.println(\"I like \" + t);",
                                       (String) rule0.getConsequence() );
 
-        // Check first column
-        ColumnDescr first = (ColumnDescr) lhs.getDescrs().get( 0 );
+        // Check first pattern
+        PatternDescr first = (PatternDescr) lhs.getDescrs().get( 0 );
         assertEquals( "Cheese",
                       first.getObjectType() );
 
@@ -1234,8 +1234,8 @@
         assertEqualsIgnoreWhitespace( "System.out.println(\"I like \" + t);",
                                       (String) rule1.getConsequence() );
 
-        // Check first column
-        first = (ColumnDescr) lhs.getDescrs().get( 0 );
+        // Check first pattern
+        first = (PatternDescr) lhs.getDescrs().get( 0 );
         assertEquals( "Cheese",
                       first.getObjectType() );
 
@@ -1292,20 +1292,20 @@
         assertEquals( 2,
                       rule.getLhs().getDescrs().size() );
 
-        ColumnDescr col = (ColumnDescr) rule.getLhs().getDescrs().get( 0 );
+        PatternDescr pattern = (PatternDescr) rule.getLhs().getDescrs().get( 0 );
         assertEquals( "Person",
-                      col.getObjectType() );
+                      pattern.getObjectType() );
 
         assertEquals( 2,
-                      col.getDescrs().size() );
+                      pattern.getDescrs().size() );
         assertEquals( "age",
-                      ((FieldConstraintDescr) col.getDescrs().get( 0 )).getFieldName() );
+                      ((FieldConstraintDescr) pattern.getDescrs().get( 0 )).getFieldName() );
         assertEquals( "location",
-                      ((FieldConstraintDescr) col.getDescrs().get( 1 )).getFieldName() );
+                      ((FieldConstraintDescr) pattern.getDescrs().get( 1 )).getFieldName() );
 
-        col = (ColumnDescr) rule.getLhs().getDescrs().get( 1 );
+        pattern = (PatternDescr) rule.getLhs().getDescrs().get( 1 );
         assertEquals( "Bar",
-                      col.getObjectType() );
+                      pattern.getObjectType() );
 
         assertNotNull( (String) rule.getConsequence() );
 
@@ -1324,16 +1324,16 @@
         assertEquals( 1,
                       rule.getLhs().getDescrs().size() );
 
-        final ColumnDescr col = (ColumnDescr) rule.getLhs().getDescrs().get( 0 );
+        final PatternDescr pattern = (PatternDescr) rule.getLhs().getDescrs().get( 0 );
         assertEquals( "Person",
-                      col.getObjectType() );
+                      pattern.getObjectType() );
 
         assertEquals( 2,
-                      col.getDescrs().size() );
+                      pattern.getDescrs().size() );
         assertEquals( "age",
-                      ((FieldConstraintDescr) col.getDescrs().get( 0 )).getFieldName() );
+                      ((FieldConstraintDescr) pattern.getDescrs().get( 0 )).getFieldName() );
         assertEquals( "location",
-                      ((FieldConstraintDescr) col.getDescrs().get( 1 )).getFieldName() );
+                      ((FieldConstraintDescr) pattern.getDescrs().get( 1 )).getFieldName() );
 
         assertNotNull( (String) rule.getConsequence() );
 
@@ -1399,7 +1399,7 @@
         final AndDescr lhs = ruleDescr.getLhs();
         assertEquals( 1,
                       lhs.getDescrs().size() );
-        final ColumnDescr cheese = (ColumnDescr) lhs.getDescrs().get( 0 );
+        final PatternDescr cheese = (PatternDescr) lhs.getDescrs().get( 0 );
         assertEquals( 1,
                       cheese.getDescrs().size() );
         assertEquals( "Cheese",
@@ -1423,7 +1423,7 @@
         final AndDescr lhs = ruleDescr.getLhs();
         assertEquals( 2,
                       lhs.getDescrs().size() );
-        final ColumnDescr cheese = (ColumnDescr) lhs.getDescrs().get( 0 );
+        final PatternDescr cheese = (PatternDescr) lhs.getDescrs().get( 0 );
         assertEquals( "Cheese",
                       cheese.getObjectType() );
         assertEquals( 2,
@@ -1442,7 +1442,7 @@
         assertEquals( "stilton",
                       literalDescr.getText() );
 
-        final ColumnDescr person = (ColumnDescr) lhs.getDescrs().get( 1 );
+        final PatternDescr person = (PatternDescr) lhs.getDescrs().get( 1 );
         fieldBinding = (FieldBindingDescr) person.getDescrs().get( 0 );
         assertEquals( "name",
                       fieldBinding.getFieldName() );
@@ -1489,7 +1489,7 @@
         assertEquals( 2,
                       or.getDescrs().size() );
 
-        final ColumnDescr first = (ColumnDescr) or.getDescrs().get( 0 );
+        final PatternDescr first = (PatternDescr) or.getDescrs().get( 0 );
         assertEquals( "Person",
                       first.getObjectType() );
 
@@ -1497,11 +1497,11 @@
         assertEquals( 2,
                       and.getDescrs().size() );
 
-        final ColumnDescr left = (ColumnDescr) and.getDescrs().get( 0 );
+        final PatternDescr left = (PatternDescr) and.getDescrs().get( 0 );
         assertEquals( "Person",
                       left.getObjectType() );
 
-        final ColumnDescr right = (ColumnDescr) and.getDescrs().get( 1 );
+        final PatternDescr right = (PatternDescr) and.getDescrs().get( 1 );
         assertEquals( "Cheese",
                       right.getObjectType() );
     }
@@ -1529,8 +1529,8 @@
         assertEquals( 2,
                       join.getDescrs().size() );
 
-        ColumnDescr left = (ColumnDescr) join.getDescrs().get( 0 );
-        ColumnDescr right = (ColumnDescr) join.getDescrs().get( 1 );
+        PatternDescr left = (PatternDescr) join.getDescrs().get( 0 );
+        PatternDescr right = (PatternDescr) join.getDescrs().get( 1 );
         assertEquals( "Person",
                       left.getObjectType() );
         assertEquals( "Cheese",
@@ -1566,8 +1566,8 @@
         final OrDescr or = (OrDescr) and.getDescrs().get( 1 );
         assertEquals( 2,
                       or.getDescrs().size() );
-        left = (ColumnDescr) or.getDescrs().get( 0 );
-        right = (ColumnDescr) or.getDescrs().get( 1 );
+        left = (PatternDescr) or.getDescrs().get( 0 );
+        right = (PatternDescr) or.getDescrs().get( 1 );
         assertEquals( "Person",
                       left.getObjectType() );
         assertEquals( "Cheese",
@@ -1620,19 +1620,19 @@
         assertEquals( 2,
                       or.getDescrs().size() );
 
-        final ColumnDescr leftCol = (ColumnDescr) or.getDescrs().get( 0 );
+        final PatternDescr leftPattern = (PatternDescr) or.getDescrs().get( 0 );
         assertEquals( "Person",
-                      leftCol.getObjectType() );
+                      leftPattern.getObjectType() );
         assertEquals( "foo",
-                      leftCol.getIdentifier() );
+                      leftPattern.getIdentifier() );
 
-        final ColumnDescr rightCol = (ColumnDescr) or.getDescrs().get( 1 );
+        final PatternDescr rightPattern = (PatternDescr) or.getDescrs().get( 1 );
         assertEquals( "Person",
-                      rightCol.getObjectType() );
+                      rightPattern.getObjectType() );
         assertEquals( "foo",
-                      rightCol.getIdentifier() );
+                      rightPattern.getIdentifier() );
 
-        final ColumnDescr cheeseDescr = (ColumnDescr) rule.getLhs().getDescrs().get( 1 );
+        final PatternDescr cheeseDescr = (PatternDescr) rule.getLhs().getDescrs().get( 1 );
         assertEquals( "Cheese",
                       cheeseDescr.getObjectType() );
         assertEquals( null,
@@ -1664,14 +1664,14 @@
                       or.getDescrs().size() );
 
         //first fact
-        final ColumnDescr firstFact = (ColumnDescr) or.getDescrs().get( 0 );
+        final PatternDescr firstFact = (PatternDescr) or.getDescrs().get( 0 );
         assertEquals( "Person",
                       firstFact.getObjectType() );
         assertEquals( "foo",
                       firstFact.getIdentifier() );
 
         //second "option"
-        final ColumnDescr secondFact = (ColumnDescr) or.getDescrs().get( 1 );
+        final PatternDescr secondFact = (PatternDescr) or.getDescrs().get( 1 );
         assertEquals( "Person",
                       secondFact.getObjectType() );
         assertEquals( 1,
@@ -1704,14 +1704,14 @@
                       or.getDescrs().size() );
 
         //first fact
-        final ColumnDescr firstFact = (ColumnDescr) or.getDescrs().get( 0 );
+        final PatternDescr firstFact = (PatternDescr) or.getDescrs().get( 0 );
         assertEquals( "Person",
                       firstFact.getObjectType() );
         assertEquals( "foo",
                       firstFact.getIdentifier() );
 
         //second "option"
-        final ColumnDescr secondFact = (ColumnDescr) or.getDescrs().get( 0 );
+        final PatternDescr secondFact = (PatternDescr) or.getDescrs().get( 0 );
         assertEquals( "Person",
                       secondFact.getObjectType() );
         assertEquals( "foo",
@@ -1746,10 +1746,10 @@
         assertEquals( 2,
                       leftOr.getDescrs().size() );
         final NotDescr not = (NotDescr) leftOr.getDescrs().get( 0 );
-        final ColumnDescr foo1 = (ColumnDescr) not.getDescrs().get( 0 );
+        final PatternDescr foo1 = (PatternDescr) not.getDescrs().get( 0 );
         assertEquals( "Foo",
                       foo1.getObjectType() );
-        final ColumnDescr foo2 = (ColumnDescr) leftOr.getDescrs().get( 1 );
+        final PatternDescr foo2 = (PatternDescr) leftOr.getDescrs().get( 1 );
         assertEquals( "Foo",
                       foo2.getObjectType() );
 
@@ -1757,10 +1757,10 @@
 
         assertEquals( 2,
                       rightOr.getDescrs().size() );
-        final ColumnDescr shoes = (ColumnDescr) rightOr.getDescrs().get( 0 );
+        final PatternDescr shoes = (PatternDescr) rightOr.getDescrs().get( 0 );
         assertEquals( "Shoes",
                       shoes.getObjectType() );
-        final ColumnDescr butt = (ColumnDescr) rightOr.getDescrs().get( 1 );
+        final PatternDescr butt = (PatternDescr) rightOr.getDescrs().get( 1 );
         assertEquals( "Butt",
                       butt.getObjectType() );
 
@@ -1785,9 +1785,9 @@
         assertEqualsIgnoreWhitespace( "abc(\"foo\") + 5",
                                       (String) eval.getContent() );
 
-        final ColumnDescr col = (ColumnDescr) rule.getLhs().getDescrs().get( 1 );
+        final PatternDescr pattern = (PatternDescr) rule.getLhs().getDescrs().get( 1 );
         assertEquals( "Foo",
-                      col.getObjectType() );
+                      pattern.getObjectType() );
 
     }
 
@@ -1801,12 +1801,12 @@
         final RuleDescr rule = (RuleDescr) pack.getRules().get( 0 );
         assertEquals( 3,
                       rule.getLhs().getDescrs().size() );
-        ColumnDescr col = (ColumnDescr) rule.getLhs().getDescrs().get( 0 );
+        PatternDescr pattern = (PatternDescr) rule.getLhs().getDescrs().get( 0 );
         assertEquals( "Foo",
-                      col.getObjectType() );
-        col = (ColumnDescr) rule.getLhs().getDescrs().get( 1 );
+                      pattern.getObjectType() );
+        pattern = (PatternDescr) rule.getLhs().getDescrs().get( 1 );
         assertEquals( "Bar",
-                      col.getObjectType() );
+                      pattern.getObjectType() );
 
         final EvalDescr eval = (EvalDescr) rule.getLhs().getDescrs().get( 2 );
         assertEqualsIgnoreWhitespace( "abc(\"foo\")",
@@ -1828,7 +1828,7 @@
         final RuleDescr rule = (RuleDescr) pack.getRules().get( 0 );
         assertEquals( 1,
                       rule.getLhs().getDescrs().size() );
-        final ColumnDescr col = (ColumnDescr) rule.getLhs().getDescrs().get( 0 );
+        final PatternDescr col = (PatternDescr) rule.getLhs().getDescrs().get( 0 );
         assertEquals( 1,
                       col.getDescrs().size() );
         assertEquals( "Foo",
@@ -1857,7 +1857,7 @@
         final RuleDescr rule = (RuleDescr) pack.getRules().get( 0 );
         assertEquals( 1,
                       rule.getLhs().getDescrs().size() );
-        final ColumnDescr col = (ColumnDescr) rule.getLhs().getDescrs().get( 0 );
+        final PatternDescr col = (PatternDescr) rule.getLhs().getDescrs().get( 0 );
         assertEquals( 2,
                       col.getDescrs().size() );
 
@@ -1886,15 +1886,15 @@
         assertEquals( 2,
                       rule.getLhs().getDescrs().size() );
 
-        ColumnDescr column = (ColumnDescr) rule.getLhs().getDescrs().get( 0 );
-        final FieldBindingDescr fieldBinding = (FieldBindingDescr) column.getDescrs().get( 0 );
+        PatternDescr pattern = (PatternDescr) rule.getLhs().getDescrs().get( 0 );
+        final FieldBindingDescr fieldBinding = (FieldBindingDescr) pattern.getDescrs().get( 0 );
         assertEquals( "$likes",
                       fieldBinding.getIdentifier() );
 
         final NotDescr not = (NotDescr) rule.getLhs().getDescrs().get( 1 );
-        column = (ColumnDescr) not.getDescrs().get( 0 );
+        pattern = (PatternDescr) not.getDescrs().get( 0 );
 
-        final FieldConstraintDescr fld = (FieldConstraintDescr) column.getDescrs().get( 0 );
+        final FieldConstraintDescr fld = (FieldConstraintDescr) pattern.getDescrs().get( 0 );
         final VariableRestrictionDescr boundVariable = (VariableRestrictionDescr) fld.getRestrictions().get( 0 );
 
         assertEquals( "type",
@@ -2106,7 +2106,7 @@
                       rule.getName() );
         assertEquals( 1,
                       rule.getLhs().getDescrs().size() );
-        final ColumnDescr col = (ColumnDescr) rule.getLhs().getDescrs().get( 0 );
+        final PatternDescr col = (PatternDescr) rule.getLhs().getDescrs().get( 0 );
         assertEquals( "Foo",
                       col.getObjectType() );
         assertEquals( 1,
@@ -2228,7 +2228,7 @@
     public void testEndPosition() throws Exception {
         parseResource( "test_EndPosition.drl" ).compilation_unit();
         final RuleDescr rule = (RuleDescr) this.parser.getPackageDescr().getRules().get( 0 );
-        final ColumnDescr col = (ColumnDescr) rule.getLhs().getDescrs().get( 0 );
+        final PatternDescr col = (PatternDescr) rule.getLhs().getDescrs().get( 0 );
         assertEquals( 6,
                       col.getLine() );
 
@@ -2245,10 +2245,10 @@
         final PackageDescr pkg = this.parser.getPackageDescr();
         final RuleDescr rule = (RuleDescr) pkg.getRules().get( 0 );
 
-        final ColumnDescr c = (ColumnDescr) rule.getLhs().getDescrs().get( 0 );
+        final PatternDescr p = (PatternDescr) rule.getLhs().getDescrs().get( 0 );
 
         assertEquals( "com.cheeseco.Cheese",
-                      c.getObjectType() );
+                      p.getObjectType() );
     }
 
     public void testAccumulate() throws Exception {
@@ -2277,9 +2277,9 @@
         assertEqualsIgnoreWhitespace( "new Integer(x)",
                                       accum.getResultCode() );
 
-        final ColumnDescr col = (ColumnDescr) accum.getSourceColumn();
+        final PatternDescr pattern = (PatternDescr) accum.getSourcePattern();
         assertEquals( "Person",
-                      col.getObjectType() );
+                      pattern.getObjectType() );
     }
 
     public void testAccumulateWithBindings() throws Exception {
@@ -2298,7 +2298,7 @@
 
         final AccumulateDescr accum = (AccumulateDescr) rule.getLhs().getDescrs().get( 0 );
         assertEqualsIgnoreWhitespace( "$counter",
-                                      accum.getResultColumn().getIdentifier() );
+                                      accum.getResultPattern().getIdentifier() );
         assertEqualsIgnoreWhitespace( "int x = 0 ;",
                                       accum.getInitCode() );
         assertEqualsIgnoreWhitespace( "x++;",
@@ -2306,9 +2306,9 @@
         assertEqualsIgnoreWhitespace( "new Integer(x)",
                                       accum.getResultCode() );
 
-        final ColumnDescr col = (ColumnDescr) accum.getSourceColumn();
+        final PatternDescr pattern = (PatternDescr) accum.getSourcePattern();
         assertEquals( "Person",
-                      col.getObjectType() );
+                      pattern.getObjectType() );
     }
 
     public void testCollect() throws Exception {
@@ -2330,19 +2330,19 @@
 
         final CollectDescr collect = (CollectDescr) rule.getLhs().getDescrs().get( 0 );
 
-        final ColumnDescr col = (ColumnDescr) collect.getSourceColumn();
+        final PatternDescr pattern = (PatternDescr) collect.getSourcePattern();
         assertEquals( "Person",
-                      col.getObjectType() );
+                      pattern.getObjectType() );
     }
 
     public void testPredicate() throws Exception {
-        final ColumnDescr column = new ColumnDescr();
-        parse( "$var : attr -> ( $var.equals(\"xyz\") )" ).constraints( column );
+        final PatternDescr pattern = new PatternDescr();
+        parse( "$var : attr -> ( $var.equals(\"xyz\") )" ).constraints( pattern );
 
         assertFalse( this.parser.getErrorMessages().toString(),
                      this.parser.hasErrors() );
 
-        final List constraints = column.getDescrs();
+        final List constraints = pattern.getDescrs();
         assertEquals( 2,
                       constraints.size() );
 
@@ -2357,13 +2357,13 @@
     }
 
     public void testPredicate2() throws Exception {
-        final ColumnDescr column = new ColumnDescr();
-        parse( "( $var.equals(\"xyz\") )" ).constraints( column );
+        final PatternDescr pattern = new PatternDescr();
+        parse( "( $var.equals(\"xyz\") )" ).constraints( pattern );
 
         assertFalse( this.parser.getErrorMessages().toString(),
                      this.parser.hasErrors() );
 
-        final List constraints = column.getDescrs();
+        final List constraints = pattern.getDescrs();
         assertEquals( 1,
                       constraints.size() );
 
@@ -2401,16 +2401,16 @@
         final NotDescr not1 = (NotDescr) root.getDescrs().get( 0 );
         final AndDescr and1 = (AndDescr) not1.getDescrs().get( 0 );
 
-        final ColumnDescr state = (ColumnDescr) and1.getDescrs().get( 0 );
+        final PatternDescr state = (PatternDescr) and1.getDescrs().get( 0 );
         final NotDescr not2 = (NotDescr) and1.getDescrs().get( 1 );
         final AndDescr and2 = (AndDescr) not2.getDescrs().get( 0 );
-        final ColumnDescr person = (ColumnDescr) and2.getDescrs().get( 0 );
-        final ColumnDescr cheese = (ColumnDescr) and2.getDescrs().get( 1 );
+        final PatternDescr person = (PatternDescr) and2.getDescrs().get( 0 );
+        final PatternDescr cheese = (PatternDescr) and2.getDescrs().get( 1 );
 
-        final ColumnDescr person2 = (ColumnDescr) root.getDescrs().get( 1 );
+        final PatternDescr person2 = (PatternDescr) root.getDescrs().get( 1 );
         final OrDescr or = (OrDescr) root.getDescrs().get( 2 );
-        final ColumnDescr cheese2 = (ColumnDescr) or.getDescrs().get( 0 );
-        final ColumnDescr cheese3 = (ColumnDescr) or.getDescrs().get( 1 );
+        final PatternDescr cheese2 = (PatternDescr) or.getDescrs().get( 0 );
+        final PatternDescr cheese3 = (PatternDescr) or.getDescrs().get( 1 );
 
         assertEquals( state.getObjectType(),
                       "State" );
@@ -2444,13 +2444,13 @@
 
         assertEquals( 2,
                       forall.getDescrs().size() );
-        final ColumnDescr col = forall.getBaseColumn();
+        final PatternDescr pattern = forall.getBasePattern();
         assertEquals( "Person",
-                      col.getObjectType() );
-        final List remaining = forall.getRemainingColumns();
+                      pattern.getObjectType() );
+        final List remaining = forall.getRemainingPatterns();
         assertEquals( 1,
                       remaining.size() );
-        final ColumnDescr cheese = (ColumnDescr) remaining.get( 0 );
+        final PatternDescr cheese = (PatternDescr) remaining.get( 0 );
         assertEquals( "Cheese",
                       cheese.getObjectType() );
     }

Modified: labs/jbossrules/trunk/drools-compiler/src/test/java/org/drools/lang/descr/AndDescrTest.java
===================================================================
--- labs/jbossrules/trunk/drools-compiler/src/test/java/org/drools/lang/descr/AndDescrTest.java	2007-04-24 12:26:00 UTC (rev 11294)
+++ labs/jbossrules/trunk/drools-compiler/src/test/java/org/drools/lang/descr/AndDescrTest.java	2007-04-24 12:52:09 UTC (rev 11295)
@@ -4,10 +4,10 @@
 
 public class AndDescrTest extends TestCase {
 
-    public void testAddUnboundColumnsEtc() {
+    public void testAddUnboundPatternsEtc() {
         final AndDescr and = new AndDescr();
         and.addDescr( new NotDescr() );
-        and.addDescr( new ColumnDescr( "Foo" ) );
+        and.addDescr( new PatternDescr( "Foo" ) );
         and.addDescr( new NotDescr() );
 
         assertEquals( 3,

Modified: labs/jbossrules/trunk/drools-compiler/src/test/java/org/drools/reteoo/ReteooBuilderTest.java
===================================================================
--- labs/jbossrules/trunk/drools-compiler/src/test/java/org/drools/reteoo/ReteooBuilderTest.java	2007-04-24 12:26:00 UTC (rev 11294)
+++ labs/jbossrules/trunk/drools-compiler/src/test/java/org/drools/reteoo/ReteooBuilderTest.java	2007-04-24 12:52:09 UTC (rev 11295)
@@ -24,8 +24,8 @@
         return RuleBaseFactory.newRuleBase();
     }
 
-    public void testThreeColumnsWithConstraints() throws Exception {
-        //checkRuleBase( "ThreeColumnsWithConstraints" );
+    public void testThreePatternsWithConstraints() throws Exception {
+        //checkRuleBase( "ThreePatternsWithConstraints" );
     }
 
     public void testOneAndTwoOrs() throws Exception {

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	2007-04-24 12:26:00 UTC (rev 11294)
+++ labs/jbossrules/trunk/drools-compiler/src/test/java/org/drools/rule/builder/dialect/java/AccumulateTemplateTest.java	2007-04-24 12:52:09 UTC (rev 11295)
@@ -14,7 +14,7 @@
 import org.drools.base.ClassFieldExtractor;
 import org.drools.base.ClassObjectType;
 import org.drools.rule.Declaration;
-import org.drools.spi.ColumnExtractor;
+import org.drools.spi.PatternExtractor;
 
 public class AccumulateTemplateTest extends TestCase {
 
@@ -38,7 +38,7 @@
                                                                                                        null,
                                                                                                        null )};
         final Declaration[] inner = new Declaration[]{new Declaration( "cheese",
-                                                                       new ColumnExtractor( new ClassObjectType( Cheese.class ) ),
+                                                                       new PatternExtractor( new ClassObjectType( Cheese.class ) ),
                                                                        null ), new Declaration( "price",
                                                                                                 new ClassFieldExtractor( Cheese.class,
                                                                                                                          "price" ),
@@ -58,9 +58,9 @@
                                 globalTypes );
         accMethod.setAttribute( "methodName",
                                 "accumulateTestMethod" );
-        accMethod.setAttribute( "columnType",
+        accMethod.setAttribute( "patternType",
                                 "MyClass" );
-        accMethod.setAttribute( "columnDeclaration",
+        accMethod.setAttribute( "patternDeclaration",
                                 "$myclass" );
         accMethod.setAttribute( "initCode",
                                 "int x = 0;" );

Modified: labs/jbossrules/trunk/drools-compiler/src/test/java/org/drools/rule/builder/dialect/mvel/MVELConsequenceBuilderTest.java
===================================================================
--- labs/jbossrules/trunk/drools-compiler/src/test/java/org/drools/rule/builder/dialect/mvel/MVELConsequenceBuilderTest.java	2007-04-24 12:26:00 UTC (rev 11294)
+++ labs/jbossrules/trunk/drools-compiler/src/test/java/org/drools/rule/builder/dialect/mvel/MVELConsequenceBuilderTest.java	2007-04-24 12:52:09 UTC (rev 11295)
@@ -15,11 +15,11 @@
 import org.drools.common.InternalFactHandle;
 import org.drools.lang.descr.RuleDescr;
 import org.drools.reteoo.ReteTuple;
-import org.drools.rule.Column;
+import org.drools.rule.Pattern;
 import org.drools.rule.Declaration;
 import org.drools.rule.Package;
 import org.drools.rule.builder.BuildContext;
-import org.drools.spi.ColumnExtractor;
+import org.drools.spi.PatternExtractor;
 import org.drools.spi.DeclarationScopeResolver;
 import org.drools.spi.ObjectType;
 
@@ -40,14 +40,14 @@
 
         final ObjectType cheeseObjeectType = new ClassObjectType( Cheese.class );
 
-        final Column column = new Column( 0,
+        final Pattern pattern = new Pattern( 0,
                                     cheeseObjeectType );
 
-        final ColumnExtractor extractor = new ColumnExtractor( cheeseObjeectType );
+        final PatternExtractor extractor = new PatternExtractor( cheeseObjeectType );
 
         final Declaration declaration = new Declaration( "cheese",
                                                    extractor,
-                                                   column );
+                                                   pattern );
         final Map map = new HashMap();
         map.put( "cheese",
                  declaration );

Modified: labs/jbossrules/trunk/drools-compiler/src/test/java/org/drools/rule/builder/dialect/mvel/MVELEvalBuilderTest.java
===================================================================
--- labs/jbossrules/trunk/drools-compiler/src/test/java/org/drools/rule/builder/dialect/mvel/MVELEvalBuilderTest.java	2007-04-24 12:26:00 UTC (rev 11294)
+++ labs/jbossrules/trunk/drools-compiler/src/test/java/org/drools/rule/builder/dialect/mvel/MVELEvalBuilderTest.java	2007-04-24 12:52:09 UTC (rev 11295)
@@ -15,7 +15,7 @@
 import org.drools.lang.descr.EvalDescr;
 import org.drools.lang.descr.RuleDescr;
 import org.drools.reteoo.ReteTuple;
-import org.drools.rule.Column;
+import org.drools.rule.Pattern;
 import org.drools.rule.Declaration;
 import org.drools.rule.EvalCondition;
 import org.drools.rule.Package;
@@ -38,11 +38,11 @@
         final InstrumentedDeclarationScopeResolver declarationResolver = new InstrumentedDeclarationScopeResolver();
         final FieldExtractor extractor = new ClassFieldExtractor( Cheese.class,
                                                                   "price" );
-        final Column column = new Column( 0,
+        final Pattern pattern = new Pattern( 0,
                                     new ClassObjectType( int.class ) );
         final Declaration declaration = new Declaration( "a",
                                                    extractor,
-                                                   column );
+                                                   pattern );
         final Map map = new HashMap();
         map.put( "a",
                  declaration );

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	2007-04-24 12:26:00 UTC (rev 11294)
+++ labs/jbossrules/trunk/drools-compiler/src/test/java/org/drools/rule/builder/dialect/mvel/MVELPredicateBuilderTest.java	2007-04-24 12:52:09 UTC (rev 11295)
@@ -17,7 +17,7 @@
 import org.drools.lang.descr.PredicateDescr;
 import org.drools.lang.descr.RuleDescr;
 import org.drools.reteoo.ReteTuple;
-import org.drools.rule.Column;
+import org.drools.rule.Pattern;
 import org.drools.rule.Declaration;
 import org.drools.rule.Package;
 import org.drools.rule.PredicateConstraint;
@@ -44,18 +44,18 @@
         final InstrumentedDeclarationScopeResolver declarationResolver = new InstrumentedDeclarationScopeResolver();
         final FieldExtractor extractor = new ClassFieldExtractor( Cheese.class,
                                                                   "price" );
-        final Column columnA = new Column( 0,
+        final Pattern patternA = new Pattern( 0,
                                      new ClassObjectType( int.class ) );
 
-        final Column columnB = new Column( 1,
+        final Pattern patternB = new Pattern( 1,
                                      new ClassObjectType( int.class ) );
 
         final Declaration a = new Declaration( "a",
                                          extractor,
-                                         columnA );
+                                         patternA );
         final Declaration b = new Declaration( "b",
                                          extractor,
-                                         columnB );
+                                         patternB );
 
         final Map map = new HashMap();
         map.put( "a",

Modified: labs/jbossrules/trunk/drools-compiler/src/test/java/org/drools/rule/builder/dialect/mvel/MVELReturnValueBuilderTest.java
===================================================================
--- labs/jbossrules/trunk/drools-compiler/src/test/java/org/drools/rule/builder/dialect/mvel/MVELReturnValueBuilderTest.java	2007-04-24 12:26:00 UTC (rev 11294)
+++ labs/jbossrules/trunk/drools-compiler/src/test/java/org/drools/rule/builder/dialect/mvel/MVELReturnValueBuilderTest.java	2007-04-24 12:52:09 UTC (rev 11295)
@@ -19,7 +19,7 @@
 import org.drools.lang.descr.ReturnValueRestrictionDescr;
 import org.drools.lang.descr.RuleDescr;
 import org.drools.reteoo.ReteTuple;
-import org.drools.rule.Column;
+import org.drools.rule.Pattern;
 import org.drools.rule.Declaration;
 import org.drools.rule.Package;
 import org.drools.rule.ReturnValueRestriction;
@@ -46,18 +46,18 @@
         final InstrumentedDeclarationScopeResolver declarationResolver = new InstrumentedDeclarationScopeResolver();
         final FieldExtractor extractor = new ClassFieldExtractor( Cheese.class,
                                                                   "price" );
-        final Column columnA = new Column( 0,
+        final Pattern patternA = new Pattern( 0,
                                      new ClassObjectType( int.class ) );
 
-        final Column columnB = new Column( 1,
+        final Pattern patternB = new Pattern( 1,
                                      new ClassObjectType( int.class ) );
 
         final Declaration a = new Declaration( "a",
                                          extractor,
-                                         columnA );
+                                         patternA );
         final Declaration b = new Declaration( "b",
                                          extractor,
-                                         columnB );
+                                         patternB );
 
         final Map map = new HashMap();
         map.put( "a",

Modified: labs/jbossrules/trunk/drools-compiler/src/test/java/org/drools/xml/XmlPackageReaderTest.java
===================================================================
--- labs/jbossrules/trunk/drools-compiler/src/test/java/org/drools/xml/XmlPackageReaderTest.java	2007-04-24 12:26:00 UTC (rev 11294)
+++ labs/jbossrules/trunk/drools-compiler/src/test/java/org/drools/xml/XmlPackageReaderTest.java	2007-04-24 12:52:09 UTC (rev 11295)
@@ -7,7 +7,7 @@
 
 import org.drools.lang.descr.AndDescr;
 import org.drools.lang.descr.AttributeDescr;
-import org.drools.lang.descr.ColumnDescr;
+import org.drools.lang.descr.PatternDescr;
 import org.drools.lang.descr.EvalDescr;
 import org.drools.lang.descr.ExistsDescr;
 import org.drools.lang.descr.FieldBindingDescr;
@@ -191,9 +191,9 @@
         final AndDescr lhs = ruleDescr.getLhs();
         assertEquals( 6,
                       lhs.getDescrs().size() );
-        final ColumnDescr columnDescr = (ColumnDescr) lhs.getDescrs().get( 0 );
+        final PatternDescr patternDescr = (PatternDescr) lhs.getDescrs().get( 0 );
         assertEquals( "Bar",
-                      columnDescr.getObjectType() );
+                      patternDescr.getObjectType() );
 
         final String consequence = (String) ruleDescr.getConsequence();
         assertNotNull( consequence );
@@ -253,20 +253,20 @@
         final AndDescr lhsDescr = ruleDescr.getLhs();
         AndDescr andDescr = (AndDescr) lhsDescr.getDescrs().get( 0 );
         OrDescr orDescr = (OrDescr) lhsDescr.getDescrs().get( 1 );
-        final ColumnDescr column1 = (ColumnDescr) lhsDescr.getDescrs().get( 2 );
-        assertNull( column1.getIdentifier() );
+        final PatternDescr pattern1 = (PatternDescr) lhsDescr.getDescrs().get( 2 );
+        assertNull( pattern1.getIdentifier() );
         assertEquals( "Foo",
-                      column1.getObjectType() );
+                      pattern1.getObjectType() );
 
-        final ColumnDescr column2 = (ColumnDescr) lhsDescr.getDescrs().get( 3 );
+        final PatternDescr pattern2 = (PatternDescr) lhsDescr.getDescrs().get( 3 );
         assertEquals( "Bar",
-                      column2.getObjectType() );
+                      pattern2.getObjectType() );
         assertEquals( "bar",
-                      column2.getIdentifier() );
+                      pattern2.getIdentifier() );
 
-        final ColumnDescr column3 = (ColumnDescr) lhsDescr.getDescrs().get( 4 );
-        //final LiteralDescr literalDescr = (LiteralDescr) column3.getDescrs().get( 0 );
-        final FieldConstraintDescr fieldConstraintDescr = (FieldConstraintDescr) column3.getDescrs().get( 0 );
+        final PatternDescr pattern3 = (PatternDescr) lhsDescr.getDescrs().get( 4 );
+        //final LiteralDescr literalDescr = (LiteralDescr) pattern3.getDescrs().get( 0 );
+        final FieldConstraintDescr fieldConstraintDescr = (FieldConstraintDescr) pattern3.getDescrs().get( 0 );
         final LiteralRestrictionDescr literalDescr = (LiteralRestrictionDescr) fieldConstraintDescr.getRestrictions().get( 0 );
         assertEquals( "field1",
                       fieldConstraintDescr.getFieldName() );
@@ -287,11 +287,11 @@
         assertEquals( "var1",
                       variableDescr.getIdentifier() );
 
-        final PredicateDescr predicateDescr = (PredicateDescr) column3.getDescrs().get( 1 );
+        final PredicateDescr predicateDescr = (PredicateDescr) pattern3.getDescrs().get( 1 );
         assertEquals( "1==1",
                       predicateDescr.getContent() );
 
-        final FieldBindingDescr fieldBindingDescr = (FieldBindingDescr) column3.getDescrs().get( 2 );
+        final FieldBindingDescr fieldBindingDescr = (FieldBindingDescr) pattern3.getDescrs().get( 2 );
         assertEquals( "field1",
                       fieldBindingDescr.getFieldName() );
         assertEquals( "var1",
@@ -300,38 +300,38 @@
         final NotDescr notDescr = (NotDescr) lhsDescr.getDescrs().get( 5 );
         assertEquals( 1,
                       notDescr.getDescrs().size() );
-        ColumnDescr columnDescr = (ColumnDescr) notDescr.getDescrs().get( 0 );
+        PatternDescr patternDescr = (PatternDescr) notDescr.getDescrs().get( 0 );
         assertEquals( "Bar",
-                      columnDescr.getObjectType() );
+                      patternDescr.getObjectType() );
 
         final ExistsDescr existsDescr = (ExistsDescr) lhsDescr.getDescrs().get( 6 );
         assertEquals( 1,
                       existsDescr.getDescrs().size() );
-        columnDescr = (ColumnDescr) existsDescr.getDescrs().get( 0 );
+        patternDescr = (PatternDescr) existsDescr.getDescrs().get( 0 );
         assertEquals( "Bar",
-                      columnDescr.getObjectType() );
+                      patternDescr.getObjectType() );
 
         andDescr = (AndDescr) lhsDescr.getDescrs().get( 7 );
         assertEquals( 2,
                       andDescr.getDescrs().size() );
         orDescr = (OrDescr) andDescr.getDescrs().get( 0 );
-        columnDescr = (ColumnDescr) orDescr.getDescrs().get( 0 );
+        patternDescr = (PatternDescr) orDescr.getDescrs().get( 0 );
         assertEquals( "Bar",
-                      columnDescr.getObjectType() );
-        columnDescr = (ColumnDescr) andDescr.getDescrs().get( 1 );
+                      patternDescr.getObjectType() );
+        patternDescr = (PatternDescr) andDescr.getDescrs().get( 1 );
         assertEquals( "Yada",
-                      columnDescr.getObjectType() );
+                      patternDescr.getObjectType() );
 
         orDescr = (OrDescr) lhsDescr.getDescrs().get( 8 );
         assertEquals( 2,
                       orDescr.getDescrs().size() );
         andDescr = (AndDescr) orDescr.getDescrs().get( 0 );
-        columnDescr = (ColumnDescr) andDescr.getDescrs().get( 0 );
+        patternDescr = (PatternDescr) andDescr.getDescrs().get( 0 );
         assertEquals( "Foo",
-                      columnDescr.getObjectType() );
-        columnDescr = (ColumnDescr) orDescr.getDescrs().get( 1 );
+                      patternDescr.getObjectType() );
+        patternDescr = (PatternDescr) orDescr.getDescrs().get( 1 );
         assertEquals( "Zaa",
-                      columnDescr.getObjectType() );
+                      patternDescr.getObjectType() );
 
         final EvalDescr evalDescr = (EvalDescr) lhsDescr.getDescrs().get( 9 );
         assertEquals( "1==1",
@@ -447,9 +447,9 @@
         final AndDescr lhs = queryDescr.getLhs();
         assertEquals( 1,
                       lhs.getDescrs().size() );
-        final ColumnDescr columnDescr = (ColumnDescr) lhs.getDescrs().get( 0 );
+        final PatternDescr patternDescr = (PatternDescr) lhs.getDescrs().get( 0 );
         assertEquals( "Foo",
-                      columnDescr.getObjectType() );
+                      patternDescr.getObjectType() );
 
     }
 }

Modified: labs/jbossrules/trunk/drools-compiler/src/test/resources/org/drools/integrationtests/not_rule_test.drl
===================================================================
--- labs/jbossrules/trunk/drools-compiler/src/test/resources/org/drools/integrationtests/not_rule_test.drl	2007-04-24 12:26:00 UTC (rev 11294)
+++ labs/jbossrules/trunk/drools-compiler/src/test/resources/org/drools/integrationtests/not_rule_test.drl	2007-04-24 12:52:09 UTC (rev 11295)
@@ -19,7 +19,7 @@
 		list.add( new Integer( 6 ) );
 end
 
-rule "not rule with other columns 1"
+rule "not rule with other patterns 1"
     when
         Cheese( $type : type == "cheddar" )
         not Cheese( price == 5 )
@@ -27,7 +27,7 @@
 		list.add( new Integer( 7 ) );
 end
 
-rule "not rule with other columns 2"
+rule "not rule with other patterns 2"
     when
         not Cheese( price == 5 )
         Cheese( $type : type == "cheddar" )

Deleted: labs/jbossrules/trunk/drools-compiler/src/test/resources/org/drools/integrationtests/predicate_as_first_column.drl
===================================================================
--- labs/jbossrules/trunk/drools-compiler/src/test/resources/org/drools/integrationtests/predicate_as_first_column.drl	2007-04-24 12:26:00 UTC (rev 11294)
+++ labs/jbossrules/trunk/drools-compiler/src/test/resources/org/drools/integrationtests/predicate_as_first_column.drl	2007-04-24 12:52:09 UTC (rev 11295)
@@ -1,10 +0,0 @@
-package SamplePackage
- 
-import org.drools.Cheese
-
-rule "Using Predicate as first column"
-  when
-    cheese: Cheese( type == "Mussarela", $price:price -> ( $price < 30 ))
-  then
-    cheese.setPrice(40);
-end 
\ No newline at end of file

Copied: labs/jbossrules/trunk/drools-compiler/src/test/resources/org/drools/integrationtests/predicate_as_first_pattern.drl (from rev 11268, labs/jbossrules/trunk/drools-compiler/src/test/resources/org/drools/integrationtests/predicate_as_first_column.drl)
===================================================================
--- labs/jbossrules/trunk/drools-compiler/src/test/resources/org/drools/integrationtests/predicate_as_first_pattern.drl	                        (rev 0)
+++ labs/jbossrules/trunk/drools-compiler/src/test/resources/org/drools/integrationtests/predicate_as_first_pattern.drl	2007-04-24 12:52:09 UTC (rev 11295)
@@ -0,0 +1,10 @@
+package SamplePackage
+ 
+import org.drools.Cheese
+
+rule "Using Predicate as first pattern"
+  when
+    cheese: Cheese( type == "Mussarela", $price:price -> ( $price < 30 ))
+  then
+    cheese.setPrice(40);
+end 
\ No newline at end of file

Modified: labs/jbossrules/trunk/drools-compiler/src/test/resources/org/drools/integrationtests/test_Accumulate.drl
===================================================================
--- labs/jbossrules/trunk/drools-compiler/src/test/resources/org/drools/integrationtests/test_Accumulate.drl	2007-04-24 12:26:00 UTC (rev 11294)
+++ labs/jbossrules/trunk/drools-compiler/src/test/resources/org/drools/integrationtests/test_Accumulate.drl	2007-04-24 12:52:09 UTC (rev 11295)
@@ -42,7 +42,7 @@
         results.add(new Integer($cheesery.getTotalAmount()));
 end  
 
-rule "Source column binds" salience 70
+rule "Source pattern binds" salience 70
     when
         $person      : Person( name == "Bob", $likes : likes )
     	$totalAmount : Integer() from accumulate( $cheese : Cheese( type == $likes, $price: price ),

Deleted: labs/jbossrules/trunk/drools-compiler/src/test/resources/org/drools/integrationtests/test_EmptyColumn.drl
===================================================================
--- labs/jbossrules/trunk/drools-compiler/src/test/resources/org/drools/integrationtests/test_EmptyColumn.drl	2007-04-24 12:26:00 UTC (rev 11294)
+++ labs/jbossrules/trunk/drools-compiler/src/test/resources/org/drools/integrationtests/test_EmptyColumn.drl	2007-04-24 12:52:09 UTC (rev 11295)
@@ -1,12 +0,0 @@
-package org.drools.test;
- 
-import org.drools.Cheese;
-
-global java.util.List list;
- 
-rule "simple rule"
-    when
-        cheese : Cheese( )
-    then
-		list.add( new Integer(5) ); 
-end 
\ No newline at end of file

Copied: labs/jbossrules/trunk/drools-compiler/src/test/resources/org/drools/integrationtests/test_EmptyPattern.drl (from rev 11268, labs/jbossrules/trunk/drools-compiler/src/test/resources/org/drools/integrationtests/test_EmptyColumn.drl)
===================================================================
--- labs/jbossrules/trunk/drools-compiler/src/test/resources/org/drools/integrationtests/test_EmptyPattern.drl	                        (rev 0)
+++ labs/jbossrules/trunk/drools-compiler/src/test/resources/org/drools/integrationtests/test_EmptyPattern.drl	2007-04-24 12:52:09 UTC (rev 11295)
@@ -0,0 +1,12 @@
+package org.drools.test;
+ 
+import org.drools.Cheese;
+
+global java.util.List list;
+ 
+rule "simple rule"
+    when
+        cheese : Cheese( )
+    then
+		list.add( new Integer(5) ); 
+end 
\ No newline at end of file

Deleted: labs/jbossrules/trunk/drools-compiler/src/test/resources/org/drools/integrationtests/test_NoColumns.drl
===================================================================
--- labs/jbossrules/trunk/drools-compiler/src/test/resources/org/drools/integrationtests/test_NoColumns.drl	2007-04-24 12:26:00 UTC (rev 11294)
+++ labs/jbossrules/trunk/drools-compiler/src/test/resources/org/drools/integrationtests/test_NoColumns.drl	2007-04-24 12:52:09 UTC (rev 11295)
@@ -1,35 +0,0 @@
-package org.drools.test
-
-global java.util.List list
-
-rule "no columns1"
-    when
-    	eval(true);
-    then
-    	list.add("fired1");
-end    
-
-rule "no columns2"
-    when
-    	eval(false);
-    then
-    	list.add("fired2");
-end 
-
-rule "no columns3"
-    when
-    	eval(true);
-    	eval(1==1);
-    then
-    	list.add("fired3");
-end  
-
- 
-rule "no columns4"
-    when
-    	eval(false);
-    	eval(true);
-    	eval(1==1);    	
-    then
-    	list.add("fired4");
-end 
\ No newline at end of file

Copied: labs/jbossrules/trunk/drools-compiler/src/test/resources/org/drools/integrationtests/test_NoPatterns.drl (from rev 11268, labs/jbossrules/trunk/drools-compiler/src/test/resources/org/drools/integrationtests/test_NoColumns.drl)
===================================================================
--- labs/jbossrules/trunk/drools-compiler/src/test/resources/org/drools/integrationtests/test_NoPatterns.drl	                        (rev 0)
+++ labs/jbossrules/trunk/drools-compiler/src/test/resources/org/drools/integrationtests/test_NoPatterns.drl	2007-04-24 12:52:09 UTC (rev 11295)
@@ -0,0 +1,35 @@
+package org.drools.test
+
+global java.util.List list
+
+rule "no patterns1"
+    when
+    	eval(true);
+    then
+    	list.add("fired1");
+end    
+
+rule "no patterns2"
+    when
+    	eval(false);
+    then
+    	list.add("fired2");
+end 
+
+rule "no patterns3"
+    when
+    	eval(true);
+    	eval(1==1);
+    then
+    	list.add("fired3");
+end  
+
+ 
+rule "no patterns4"
+    when
+    	eval(false);
+    	eval(true);
+    	eval(1==1);    	
+    then
+    	list.add("fired4");
+end 
\ No newline at end of file

Deleted: labs/jbossrules/trunk/drools-compiler/src/test/resources/org/drools/lang/column_partial.drl
===================================================================
--- labs/jbossrules/trunk/drools-compiler/src/test/resources/org/drools/lang/column_partial.drl	2007-04-24 12:26:00 UTC (rev 11294)
+++ labs/jbossrules/trunk/drools-compiler/src/test/resources/org/drools/lang/column_partial.drl	2007-04-24 12:52:09 UTC (rev 11295)
@@ -1,10 +0,0 @@
-#the purpose of this is to see what happens when we have some partially damaged syntax
-#as the IDE uses the parsers AST to work out completion suggestions.
-package test
-
-
-rule simple_rule 
-  when
-    foo3 : Bar(
-#I think the problem is it is not building the column due to not knowing when to finish looking
-#at the lhs.

Copied: labs/jbossrules/trunk/drools-compiler/src/test/resources/org/drools/lang/pattern_partial.drl (from rev 11268, labs/jbossrules/trunk/drools-compiler/src/test/resources/org/drools/lang/column_partial.drl)
===================================================================
--- labs/jbossrules/trunk/drools-compiler/src/test/resources/org/drools/lang/pattern_partial.drl	                        (rev 0)
+++ labs/jbossrules/trunk/drools-compiler/src/test/resources/org/drools/lang/pattern_partial.drl	2007-04-24 12:52:09 UTC (rev 11295)
@@ -0,0 +1,10 @@
+#the purpose of this is to see what happens when we have some partially damaged syntax
+#as the IDE uses the parsers AST to work out completion suggestions.
+package test
+
+
+rule simple_rule 
+  when
+    foo3 : Bar(
+#I think the problem is it is not building the pattern due to not knowing when to finish looking
+#at the lhs.

Deleted: labs/jbossrules/trunk/drools-compiler/src/test/resources/org/drools/lang/test_EmptyColumn.drl
===================================================================
--- labs/jbossrules/trunk/drools-compiler/src/test/resources/org/drools/lang/test_EmptyColumn.drl	2007-04-24 12:26:00 UTC (rev 11294)
+++ labs/jbossrules/trunk/drools-compiler/src/test/resources/org/drools/lang/test_EmptyColumn.drl	2007-04-24 12:52:09 UTC (rev 11295)
@@ -1,9 +0,0 @@
-package org.drools.test;
- 
-import org.drools.Cheese;
- 
-rule "simple rule"
-    when
-        Cheese( )
-    then
-end 
\ No newline at end of file

Copied: labs/jbossrules/trunk/drools-compiler/src/test/resources/org/drools/lang/test_EmptyPattern.drl (from rev 11268, labs/jbossrules/trunk/drools-compiler/src/test/resources/org/drools/lang/test_EmptyColumn.drl)
===================================================================
--- labs/jbossrules/trunk/drools-compiler/src/test/resources/org/drools/lang/test_EmptyPattern.drl	                        (rev 0)
+++ labs/jbossrules/trunk/drools-compiler/src/test/resources/org/drools/lang/test_EmptyPattern.drl	2007-04-24 12:52:09 UTC (rev 11295)
@@ -0,0 +1,9 @@
+package org.drools.test;
+ 
+import org.drools.Cheese;
+ 
+rule "simple rule"
+    when
+        Cheese( )
+    then
+end 
\ No newline at end of file

Deleted: labs/jbossrules/trunk/drools-compiler/src/test/resources/org/drools/reteoo/ThreeColumnsWithConstraints
===================================================================
--- labs/jbossrules/trunk/drools-compiler/src/test/resources/org/drools/reteoo/ThreeColumnsWithConstraints	2007-04-24 12:26:00 UTC (rev 11294)
+++ labs/jbossrules/trunk/drools-compiler/src/test/resources/org/drools/reteoo/ThreeColumnsWithConstraints	2007-04-24 12:52:09 UTC (rev 11295)
@@ -1,724 +0,0 @@
-<org.drools.reteoo.ReteooRuleBase>
-  <map>
-    <entry>
-      <string>org.drools.compiler</string>
-      <org.drools.rule.Package>
-        <org.drools.rule.PackageCompilationData>
-          <map>
-            <entry>
-              <string>org/drools/compiler/Rule_three_columns_with_constraints_2_0ConsequenceInvoker.class</string>
-              <byte-array>yv66vgAAADAAOAcAAgEATW9yZy9kcm9vbHMvY29tcGlsZXIvUnVsZV90aHJlZV9jb2x1bW5zX3dp
-dGhfY29uc3RyYWludHNfMl8wQ29uc2VxdWVuY2VJbnZva2VyBwAEAQAQamF2YS9sYW5nL09iamVj
-dAcABgEAGm9yZy9kcm9vbHMvc3BpL0NvbnNlcXVlbmNlAQAQc2VyaWFsVmVyc2lvblVJRAEAAUoB
-AA1Db25zdGFudFZhbHVlBQAAAAAAAAFAAQAGPGluaXQ+AQADKClWAQAEQ29kZQoAAwAQDAAMAA0B
-AA9MaW5lTnVtYmVyVGFibGUBABJMb2NhbFZhcmlhYmxlVGFibGUBAAR0aGlzAQBPTG9yZy9kcm9v
-bHMvY29tcGlsZXIvUnVsZV90aHJlZV9jb2x1bW5zX3dpdGhfY29uc3RyYWludHNfMl8wQ29uc2Vx
-dWVuY2VJbnZva2VyOwEACGV2YWx1YXRlAQA9KExvcmcvZHJvb2xzL3NwaS9Lbm93bGVkZ2VIZWxw
-ZXI7TG9yZy9kcm9vbHMvV29ya2luZ01lbW9yeTspVgEACkV4Y2VwdGlvbnMHABkBABNqYXZhL2xh
-bmcvRXhjZXB0aW9uCwAbAB0HABwBAB5vcmcvZHJvb2xzL3NwaS9Lbm93bGVkZ2VIZWxwZXIMAB4A
-HwEACGdldFR1cGxlAQAYKClMb3JnL2Ryb29scy9zcGkvVHVwbGU7CwAbACEMACIAIwEAB2dldFJ1
-bGUBABgoKUxvcmcvZHJvb2xzL3J1bGUvUnVsZTsKACUAJwcAJgEAFG9yZy9kcm9vbHMvcnVsZS9S
-dWxlDAAoACkBAA9nZXREZWNsYXJhdGlvbnMBACAoKVtMb3JnL2Ryb29scy9ydWxlL0RlY2xhcmF0
-aW9uOwoAKwAtBwAsAQA7b3JnL2Ryb29scy9jb21waWxlci9SdWxlX3RocmVlX2NvbHVtbnNfd2l0
-aF9jb25zdHJhaW50c18yXzAMAC4ALwEAC2NvbnNlcXVlbmNlAQAjKExvcmcvZHJvb2xzL3NwaS9L
-bm93bGVkZ2VIZWxwZXI7KVYBAA9rbm93bGVkZ2VIZWxwZXIBACBMb3JnL2Ryb29scy9zcGkvS25v
-d2xlZGdlSGVscGVyOwEADXdvcmtpbmdNZW1vcnkBABpMb3JnL2Ryb29scy9Xb3JraW5nTWVtb3J5
-OwEABHJ1bGUBABZMb3JnL2Ryb29scy9ydWxlL1J1bGU7AQAKU291cmNlRmlsZQEAPlJ1bGVfdGhy
-ZWVfY29sdW1uc193aXRoX2NvbnN0cmFpbnRzXzJfMENvbnNlcXVlbmNlSW52b2tlci5qYXZhACEA
-AQADAAEABQABABoABwAIAAEACQAAAAIACgACAAEADAANAAEADgAAAC8AAQABAAAABSq3AA+xAAAA
-AgARAAAABgABAAAAAwASAAAADAABAAAABQATABQAAAABABUAFgACABcAAAAEAAEAGAAOAAAAdAAB
-AAQAAAAYK7kAGgEAVyu5ACABAE4ttgAkVyu4ACqxAAAAAgARAAAAGgAGAAAACgAHAAsADgAMABMA
-EwAUABIAFwAWABIAAAAqAAQAAAAYABMAFAAAAAAAGAAwADEAAQAAABgAMgAzAAIADgAKADQANQAD
-AAEANgAAAAIANw==</byte-array>
-            </entry>
-            <entry>
-              <string>org/drools/compiler/Rule_three_columns_with_constraints_2_0.class</string>
-              <byte-array>yv66vgAAADAALwcAAgEAO29yZy9kcm9vbHMvY29tcGlsZXIvUnVsZV90aHJlZV9jb2x1bW5zX3dp
-dGhfY29uc3RyYWludHNfMl8wBwAEAQAQamF2YS9sYW5nL09iamVjdAEAEHNlcmlhbFZlcnNpb25V
-SUQBAAFKAQANQ29uc3RhbnRWYWx1ZQUAAAAAAAABQAEABjxpbml0PgEAAygpVgEABENvZGUKAAMA
-DgwACgALAQAPTGluZU51bWJlclRhYmxlAQASTG9jYWxWYXJpYWJsZVRhYmxlAQAEdGhpcwEAPUxv
-cmcvZHJvb2xzL2NvbXBpbGVyL1J1bGVfdGhyZWVfY29sdW1uc193aXRoX2NvbnN0cmFpbnRzXzJf
-MDsBAApwcmVkaWNhdGUwAQAFKElJKVoBAApFeGNlcHRpb25zBwAXAQATamF2YS9sYW5nL0V4Y2Vw
-dGlvbgEAByRwcmljZTIBAAFJAQAHJHByaWNlMQEAC2NvbnNlcXVlbmNlAQAjKExvcmcvZHJvb2xz
-L3NwaS9Lbm93bGVkZ2VIZWxwZXI7KVYJAB4AIAcAHwEAEGphdmEvbGFuZy9TeXN0ZW0MACEAIgEA
-A291dAEAFUxqYXZhL2lvL1ByaW50U3RyZWFtOwgAJAEABmRvbmUgMgoAJgAoBwAnAQATamF2YS9p
-by9QcmludFN0cmVhbQwAKQAqAQAHcHJpbnRsbgEAFShMamF2YS9sYW5nL1N0cmluZzspVgEABmRy
-b29scwEAIExvcmcvZHJvb2xzL3NwaS9Lbm93bGVkZ2VIZWxwZXI7AQAKU291cmNlRmlsZQEALFJ1
-bGVfdGhyZWVfY29sdW1uc193aXRoX2NvbnN0cmFpbnRzXzJfMC5qYXZhACEAAQADAAAAAQAaAAUA
-BgABAAcAAAACAAgAAwABAAoACwABAAwAAAAvAAEAAQAAAAUqtwANsQAAAAIADwAAAAYAAQAAAAYA
-EAAAAAwAAQAAAAUAEQASAAAACQATABQAAgAVAAAABAABABYADAAAAD0AAgACAAAACRsaoAAFBKwD
-rAAAAAIADwAAAAYAAQAAAAkAEAAAABYAAgAAAAkAGAAZAAAAAAAJABoAGQABAAkAGwAcAAIAFQAA
-AAQAAQAWAAwAAAA3AAIAAQAAAAmyAB0SI7YAJbEAAAACAA8AAAAKAAIAAAAMAAgADQAQAAAADAAB
-AAAACQArACwAAAABAC0AAAACAC4=</byte-array>
-            </entry>
-            <entry>
-              <string>org/drools/compiler/Rule_three_columns_with_constraints_1_0Predicate0Invoker.class</string>
-              <byte-array>yv66vgAAADAAygcAAgEATG9yZy9kcm9vbHMvY29tcGlsZXIvUnVsZV90aHJlZV9jb2x1bW5zX3dp
-dGhfY29uc3RyYWludHNfMV8wUHJlZGljYXRlMEludm9rZXIHAAQBABBqYXZhL2xhbmcvT2JqZWN0
-BwAGAQAib3JnL2Ryb29scy9zcGkvUHJlZGljYXRlRXhwcmVzc2lvbgcACAEAHm9yZy9kcm9vbHMv
-c3BpL0NvbXBpbGVkSW52b2tlcgEAEHNlcmlhbFZlcnNpb25VSUQBAAFKAQANQ29uc3RhbnRWYWx1
-ZQUAAAAAAAABQAEAB2NsYXNzJDABABFMamF2YS9sYW5nL0NsYXNzOwEACVN5bnRoZXRpYwEABjxp
-bml0PgEAAygpVgEABENvZGUKAAMAFQwAEQASAQAPTGluZU51bWJlclRhYmxlAQASTG9jYWxWYXJp
-YWJsZVRhYmxlAQAEdGhpcwEATkxvcmcvZHJvb2xzL2NvbXBpbGVyL1J1bGVfdGhyZWVfY29sdW1u
-c193aXRoX2NvbnN0cmFpbnRzXzFfMFByZWRpY2F0ZTBJbnZva2VyOwEACGV2YWx1YXRlAQCAKExq
-YXZhL2xhbmcvT2JqZWN0O0xvcmcvZHJvb2xzL3NwaS9UdXBsZTtMb3JnL2Ryb29scy9ydWxlL0Rl
-Y2xhcmF0aW9uO1tMb3JnL2Ryb29scy9ydWxlL0RlY2xhcmF0aW9uO0xvcmcvZHJvb2xzL1dvcmtp
-bmdNZW1vcnk7KVoBAApFeGNlcHRpb25zBwAeAQATamF2YS9sYW5nL0V4Y2VwdGlvbgoAIAAiBwAh
-AQAbb3JnL2Ryb29scy9ydWxlL0RlY2xhcmF0aW9uDAAjACQBAAtnZXRJbnRWYWx1ZQEAFShMamF2
-YS9sYW5nL09iamVjdDspSQsAJgAoBwAnAQAUb3JnL2Ryb29scy9zcGkvVHVwbGUMACkAKgEAA2dl
-dAEARShMb3JnL2Ryb29scy9ydWxlL0RlY2xhcmF0aW9uOylMb3JnL2Ryb29scy9jb21tb24vSW50
-ZXJuYWxGYWN0SGFuZGxlOwsALAAuBwAtAQAkb3JnL2Ryb29scy9jb21tb24vSW50ZXJuYWxGYWN0
-SGFuZGxlDAAvADABAAlnZXRPYmplY3QBABQoKUxqYXZhL2xhbmcvT2JqZWN0OwoAMgA0BwAzAQA7
-b3JnL2Ryb29scy9jb21waWxlci9SdWxlX3RocmVlX2NvbHVtbnNfd2l0aF9jb25zdHJhaW50c18x
-XzAMADUANgEACnByZWRpY2F0ZTABAAUoSUkpWgEABm9iamVjdAEAEkxqYXZhL2xhbmcvT2JqZWN0
-OwEABXR1cGxlAQAWTG9yZy9kcm9vbHMvc3BpL1R1cGxlOwEAC2RlY2xhcmF0aW9uAQAdTG9yZy9k
-cm9vbHMvcnVsZS9EZWNsYXJhdGlvbjsBAAxkZWNsYXJhdGlvbnMBAB5bTG9yZy9kcm9vbHMvcnVs
-ZS9EZWNsYXJhdGlvbjsBAA13b3JraW5nTWVtb3J5AQAaTG9yZy9kcm9vbHMvV29ya2luZ01lbW9y
-eTsBAAckcHJpY2UyAQABSQEAByRwcmljZTEBAAhoYXNoQ29kZQEAAygpSQOAwKghAQARZ2V0TWV0
-aG9kQnl0ZWNvZGUBABIoKUxqYXZhL3V0aWwvTGlzdDsHAEoBACtvcmcvZHJvb2xzL3V0aWwvYXNt
-L01ldGhvZENvbXBhcmF0b3IkVHJhY2VyCAA1CgBJAE0MABEATgEAFShMamF2YS9sYW5nL1N0cmlu
-ZzspVgkAAQBQDAAOAA8IAFIBADtvcmcuZHJvb2xzLmNvbXBpbGVyLlJ1bGVfdGhyZWVfY29sdW1u
-c193aXRoX2NvbnN0cmFpbnRzXzFfMAoAVABWBwBVAQAPamF2YS9sYW5nL0NsYXNzDABXAFgBAAdm
-b3JOYW1lAQAlKExqYXZhL2xhbmcvU3RyaW5nOylMamF2YS9sYW5nL0NsYXNzOwcAWgEAHmphdmEv
-bGFuZy9Ob0NsYXNzRGVmRm91bmRFcnJvcgoAXABeBwBdAQATamF2YS9sYW5nL1Rocm93YWJsZQwA
-XwBgAQAKZ2V0TWVzc2FnZQEAFCgpTGphdmEvbGFuZy9TdHJpbmc7CgBZAE0KAFQAYwwAZABlAQAO
-Z2V0Q2xhc3NMb2FkZXIBABkoKUxqYXZhL2xhbmcvQ2xhc3NMb2FkZXI7BwBnAQAWamF2YS9sYW5n
-L1N0cmluZ0J1ZmZlcgoAaQBrBwBqAQAQamF2YS9sYW5nL1N0cmluZwwAbABtAQAHcmVwbGFjZQEA
-FihDQylMamF2YS9sYW5nL1N0cmluZzsKAGkAbwwAcABxAQAHdmFsdWVPZgEAJihMamF2YS9sYW5n
-L09iamVjdDspTGphdmEvbGFuZy9TdHJpbmc7CgBmAE0IAHQBAAYuY2xhc3MKAGYAdgwAdwB4AQAG
-YXBwZW5kAQAsKExqYXZhL2xhbmcvU3RyaW5nOylMamF2YS9sYW5nL1N0cmluZ0J1ZmZlcjsKAGYA
-egwAewBgAQAIdG9TdHJpbmcKAH0AfwcAfgEAFWphdmEvbGFuZy9DbGFzc0xvYWRlcgwAgACBAQAT
-Z2V0UmVzb3VyY2VBc1N0cmVhbQEAKShMamF2YS9sYW5nL1N0cmluZzspTGphdmEvaW8vSW5wdXRT
-dHJlYW07BwCDAQAdamF2YS9pby9CeXRlQXJyYXlPdXRwdXRTdHJlYW0KAIIAFQoAggCGDACHAIgB
-AAV3cml0ZQEAByhbQklJKVYKAIoAjAcAiwEAE2phdmEvaW8vSW5wdXRTdHJlYW0MAI0AjgEABHJl
-YWQBAAcoW0JJSSlJBwCQAQAhb3JnL2Ryb29scy9SdW50aW1lRHJvb2xzRXhjZXB0aW9uCACSAQBP
-VW5hYmxlIGdldFJlc291cmNlQXNTdHJlYW0gZm9yIENsYXNzICdSdWxlX3RocmVlX2NvbHVtbnNf
-d2l0aF9jb25zdHJhaW50c18xXzAnIAoAjwBNBwCVAQAab3JnL2Ryb29scy9hc20vQ2xhc3NSZWFk
-ZXIKAIIAlwwAmACZAQALdG9CeXRlQXJyYXkBAAQoKVtCCgCUAJsMABEAnAEABShbQilWCgCUAJ4M
-AJ8AoAEABmFjY2VwdAEAIShMb3JnL2Ryb29scy9hc20vQ2xhc3NWaXNpdG9yO1opVgoASQCiDACj
-AKQBAAhnZXRUcmFjZQEAKigpTG9yZy9kcm9vbHMvYXNtL3V0aWwvVHJhY2VNZXRob2RWaXNpdG9y
-OwoApgCoBwCnAQAmb3JnL2Ryb29scy9hc20vdXRpbC9UcmFjZU1ldGhvZFZpc2l0b3IMAKkASAEA
-B2dldFRleHQHAKsBACBqYXZhL2xhbmcvQ2xhc3NOb3RGb3VuZEV4Y2VwdGlvbgcArQEAE2phdmEv
-aW8vSU9FeGNlcHRpb24BAAV2aXNpdAEALUxvcmcvZHJvb2xzL3V0aWwvYXNtL01ldGhvZENvbXBh
-cmF0b3IkVHJhY2VyOwEAAmlzAQAVTGphdmEvaW8vSW5wdXRTdHJlYW07AQADYm9zAQAfTGphdmEv
-aW8vQnl0ZUFycmF5T3V0cHV0U3RyZWFtOwEABGRhdGEBAAJbQgEACWJ5dGVDb3VudAEAC2NsYXNz
-UmVhZGVyAQAcTG9yZy9kcm9vbHMvYXNtL0NsYXNzUmVhZGVyOwEABXRyYWNlAQAoTG9yZy9kcm9v
-bHMvYXNtL3V0aWwvVHJhY2VNZXRob2RWaXNpdG9yOwEABmVxdWFscwEAFShMamF2YS9sYW5nL09i
-amVjdDspWgoAAQC+DABHAEgLAAcAvgoAwQDDBwDCAQAkb3JnL2Ryb29scy91dGlsL2FzbS9NZXRo
-b2RDb21wYXJhdG9yDADEAMUBAA9jb21wYXJlQnl0ZWNvZGUBACMoTGphdmEvdXRpbC9MaXN0O0xq
-YXZhL3V0aWwvTGlzdDspWgEABW90aGVyAQAgTG9yZy9kcm9vbHMvc3BpL0NvbXBpbGVkSW52b2tl
-cjsBAApTb3VyY2VGaWxlAQA9UnVsZV90aHJlZV9jb2x1bW5zX3dpdGhfY29uc3RyYWludHNfMV8w
-UHJlZGljYXRlMEludm9rZXIuamF2YQAhAAEAAwACAAUABwACABoACQAKAAEACwAAAAIADAAIAA4A
-DwABABAAAAAAAAUAAQARABIAAQATAAAALwABAAEAAAAFKrcAFLEAAAACABYAAAAGAAEAAAADABcA
-AAAMAAEAAAAFABgAGQAAAAEAGgAbAAIAHAAAAAQAAQAdABMAAACnAAQACAAAACctK7YAHzYGGQQD
-MiwZBAMyuQAlAgC5ACsBALYAHzYHFQYVB7gAMawAAAACABYAAAAWAAUAAAAMAAcADQAfABIAIQAT
-ACMAEQAXAAAAUgAIAAAAJwAYABkAAAAAACcANwA4AAEAAAAnADkAOgACAAAAJwA7ADwAAwAAACcA
-PQA+AAQAAAAnAD8AQAAFAAcAIABBAEIABgAfAAgAQwBCAAcAAQBEAEUAAQATAAAALQABAAEAAAAD
-EkasAAAAAgAWAAAABgABAAAAGAAXAAAADAABAAAAAwAYABkAAAABAEcASAABABMAAAF6AAYACAAA
-AKa7AElZEku3AExMsgBPWccAHFcSUbgAU1mzAE+nAA+7AFlaX7YAW7cAYb+2AGK7AGZZElEQLhAv
-tgBouAButwByEnO2AHW2AHm2AHxNuwCCWbcAhE4RBAC8CDoEpwAMLRkEAxUFtgCFLBkEAxEEALYA
-iVk2BQKj/+mnAA5XuwCPWRKRtwCTv7sAlFkttgCWtwCaOgYZBisEtgCdK7YAoToHGQe2AKWwAAIA
-EgAXAB4AqgBbAHsAewCsAAIAFgAAAEYAEQAAABwACgAfAEwAIQBUACIAWwAlAF4AKQBnACUAagAm
-AGsAJwBuACUAdAAnAHsAKwB8ACwAhgAvAJMAMACaADEAoAAyABcAAABmAAoAAACmABgAGQAAAAoA
-nACuAK8AAQBMAFoAsACxAAIAVABSALIAswADAFsASwC0ALUABABeAAkAtgBCAAUAdAAHALYAQgAF
-AIYAIAC2AEIABQCTABMAtwC4AAYAoAAGALkAugAHAAEAuwC8AAEAEwAAAIMAAgADAAAAKSvHAAUD
-rCsqpgAFBKwrwQAHmgAFA6wrwAAHTSq2AL0suQC/AQC4AMCsAAAAAgAWAAAAIgAIAAAANgAEADcA
-BgA4AAsAOQANADwAFAA9ABYAQAAbAEIAFwAAACAAAwAAACkAGAAZAAAAAAApADcAOAABABsADgDG
-AMcAAgABAMgAAAACAMk=</byte-array>
-            </entry>
-            <entry>
-              <string>org/drools/compiler/Rule_three_columns_with_constraints_2_0Predicate0Invoker.class</string>
-              <byte-array>yv66vgAAADAAygcAAgEATG9yZy9kcm9vbHMvY29tcGlsZXIvUnVsZV90aHJlZV9jb2x1bW5zX3dp
-dGhfY29uc3RyYWludHNfMl8wUHJlZGljYXRlMEludm9rZXIHAAQBABBqYXZhL2xhbmcvT2JqZWN0
-BwAGAQAib3JnL2Ryb29scy9zcGkvUHJlZGljYXRlRXhwcmVzc2lvbgcACAEAHm9yZy9kcm9vbHMv
-c3BpL0NvbXBpbGVkSW52b2tlcgEAEHNlcmlhbFZlcnNpb25VSUQBAAFKAQANQ29uc3RhbnRWYWx1
-ZQUAAAAAAAABQAEAB2NsYXNzJDABABFMamF2YS9sYW5nL0NsYXNzOwEACVN5bnRoZXRpYwEABjxp
-bml0PgEAAygpVgEABENvZGUKAAMAFQwAEQASAQAPTGluZU51bWJlclRhYmxlAQASTG9jYWxWYXJp
-YWJsZVRhYmxlAQAEdGhpcwEATkxvcmcvZHJvb2xzL2NvbXBpbGVyL1J1bGVfdGhyZWVfY29sdW1u
-c193aXRoX2NvbnN0cmFpbnRzXzJfMFByZWRpY2F0ZTBJbnZva2VyOwEACGV2YWx1YXRlAQCAKExq
-YXZhL2xhbmcvT2JqZWN0O0xvcmcvZHJvb2xzL3NwaS9UdXBsZTtMb3JnL2Ryb29scy9ydWxlL0Rl
-Y2xhcmF0aW9uO1tMb3JnL2Ryb29scy9ydWxlL0RlY2xhcmF0aW9uO0xvcmcvZHJvb2xzL1dvcmtp
-bmdNZW1vcnk7KVoBAApFeGNlcHRpb25zBwAeAQATamF2YS9sYW5nL0V4Y2VwdGlvbgoAIAAiBwAh
-AQAbb3JnL2Ryb29scy9ydWxlL0RlY2xhcmF0aW9uDAAjACQBAAtnZXRJbnRWYWx1ZQEAFShMamF2
-YS9sYW5nL09iamVjdDspSQsAJgAoBwAnAQAUb3JnL2Ryb29scy9zcGkvVHVwbGUMACkAKgEAA2dl
-dAEARShMb3JnL2Ryb29scy9ydWxlL0RlY2xhcmF0aW9uOylMb3JnL2Ryb29scy9jb21tb24vSW50
-ZXJuYWxGYWN0SGFuZGxlOwsALAAuBwAtAQAkb3JnL2Ryb29scy9jb21tb24vSW50ZXJuYWxGYWN0
-SGFuZGxlDAAvADABAAlnZXRPYmplY3QBABQoKUxqYXZhL2xhbmcvT2JqZWN0OwoAMgA0BwAzAQA7
-b3JnL2Ryb29scy9jb21waWxlci9SdWxlX3RocmVlX2NvbHVtbnNfd2l0aF9jb25zdHJhaW50c18y
-XzAMADUANgEACnByZWRpY2F0ZTABAAUoSUkpWgEABm9iamVjdAEAEkxqYXZhL2xhbmcvT2JqZWN0
-OwEABXR1cGxlAQAWTG9yZy9kcm9vbHMvc3BpL1R1cGxlOwEAC2RlY2xhcmF0aW9uAQAdTG9yZy9k
-cm9vbHMvcnVsZS9EZWNsYXJhdGlvbjsBAAxkZWNsYXJhdGlvbnMBAB5bTG9yZy9kcm9vbHMvcnVs
-ZS9EZWNsYXJhdGlvbjsBAA13b3JraW5nTWVtb3J5AQAaTG9yZy9kcm9vbHMvV29ya2luZ01lbW9y
-eTsBAAckcHJpY2UyAQABSQEAByRwcmljZTEBAAhoYXNoQ29kZQEAAygpSQOAwKghAQARZ2V0TWV0
-aG9kQnl0ZWNvZGUBABIoKUxqYXZhL3V0aWwvTGlzdDsHAEoBACtvcmcvZHJvb2xzL3V0aWwvYXNt
-L01ldGhvZENvbXBhcmF0b3IkVHJhY2VyCAA1CgBJAE0MABEATgEAFShMamF2YS9sYW5nL1N0cmlu
-ZzspVgkAAQBQDAAOAA8IAFIBADtvcmcuZHJvb2xzLmNvbXBpbGVyLlJ1bGVfdGhyZWVfY29sdW1u
-c193aXRoX2NvbnN0cmFpbnRzXzJfMAoAVABWBwBVAQAPamF2YS9sYW5nL0NsYXNzDABXAFgBAAdm
-b3JOYW1lAQAlKExqYXZhL2xhbmcvU3RyaW5nOylMamF2YS9sYW5nL0NsYXNzOwcAWgEAHmphdmEv
-bGFuZy9Ob0NsYXNzRGVmRm91bmRFcnJvcgoAXABeBwBdAQATamF2YS9sYW5nL1Rocm93YWJsZQwA
-XwBgAQAKZ2V0TWVzc2FnZQEAFCgpTGphdmEvbGFuZy9TdHJpbmc7CgBZAE0KAFQAYwwAZABlAQAO
-Z2V0Q2xhc3NMb2FkZXIBABkoKUxqYXZhL2xhbmcvQ2xhc3NMb2FkZXI7BwBnAQAWamF2YS9sYW5n
-L1N0cmluZ0J1ZmZlcgoAaQBrBwBqAQAQamF2YS9sYW5nL1N0cmluZwwAbABtAQAHcmVwbGFjZQEA
-FihDQylMamF2YS9sYW5nL1N0cmluZzsKAGkAbwwAcABxAQAHdmFsdWVPZgEAJihMamF2YS9sYW5n
-L09iamVjdDspTGphdmEvbGFuZy9TdHJpbmc7CgBmAE0IAHQBAAYuY2xhc3MKAGYAdgwAdwB4AQAG
-YXBwZW5kAQAsKExqYXZhL2xhbmcvU3RyaW5nOylMamF2YS9sYW5nL1N0cmluZ0J1ZmZlcjsKAGYA
-egwAewBgAQAIdG9TdHJpbmcKAH0AfwcAfgEAFWphdmEvbGFuZy9DbGFzc0xvYWRlcgwAgACBAQAT
-Z2V0UmVzb3VyY2VBc1N0cmVhbQEAKShMamF2YS9sYW5nL1N0cmluZzspTGphdmEvaW8vSW5wdXRT
-dHJlYW07BwCDAQAdamF2YS9pby9CeXRlQXJyYXlPdXRwdXRTdHJlYW0KAIIAFQoAggCGDACHAIgB
-AAV3cml0ZQEAByhbQklJKVYKAIoAjAcAiwEAE2phdmEvaW8vSW5wdXRTdHJlYW0MAI0AjgEABHJl
-YWQBAAcoW0JJSSlJBwCQAQAhb3JnL2Ryb29scy9SdW50aW1lRHJvb2xzRXhjZXB0aW9uCACSAQBP
-VW5hYmxlIGdldFJlc291cmNlQXNTdHJlYW0gZm9yIENsYXNzICdSdWxlX3RocmVlX2NvbHVtbnNf
-d2l0aF9jb25zdHJhaW50c18yXzAnIAoAjwBNBwCVAQAab3JnL2Ryb29scy9hc20vQ2xhc3NSZWFk
-ZXIKAIIAlwwAmACZAQALdG9CeXRlQXJyYXkBAAQoKVtCCgCUAJsMABEAnAEABShbQilWCgCUAJ4M
-AJ8AoAEABmFjY2VwdAEAIShMb3JnL2Ryb29scy9hc20vQ2xhc3NWaXNpdG9yO1opVgoASQCiDACj
-AKQBAAhnZXRUcmFjZQEAKigpTG9yZy9kcm9vbHMvYXNtL3V0aWwvVHJhY2VNZXRob2RWaXNpdG9y
-OwoApgCoBwCnAQAmb3JnL2Ryb29scy9hc20vdXRpbC9UcmFjZU1ldGhvZFZpc2l0b3IMAKkASAEA
-B2dldFRleHQHAKsBACBqYXZhL2xhbmcvQ2xhc3NOb3RGb3VuZEV4Y2VwdGlvbgcArQEAE2phdmEv
-aW8vSU9FeGNlcHRpb24BAAV2aXNpdAEALUxvcmcvZHJvb2xzL3V0aWwvYXNtL01ldGhvZENvbXBh
-cmF0b3IkVHJhY2VyOwEAAmlzAQAVTGphdmEvaW8vSW5wdXRTdHJlYW07AQADYm9zAQAfTGphdmEv
-aW8vQnl0ZUFycmF5T3V0cHV0U3RyZWFtOwEABGRhdGEBAAJbQgEACWJ5dGVDb3VudAEAC2NsYXNz
-UmVhZGVyAQAcTG9yZy9kcm9vbHMvYXNtL0NsYXNzUmVhZGVyOwEABXRyYWNlAQAoTG9yZy9kcm9v
-bHMvYXNtL3V0aWwvVHJhY2VNZXRob2RWaXNpdG9yOwEABmVxdWFscwEAFShMamF2YS9sYW5nL09i
-amVjdDspWgoAAQC+DABHAEgLAAcAvgoAwQDDBwDCAQAkb3JnL2Ryb29scy91dGlsL2FzbS9NZXRo
-b2RDb21wYXJhdG9yDADEAMUBAA9jb21wYXJlQnl0ZWNvZGUBACMoTGphdmEvdXRpbC9MaXN0O0xq
-YXZhL3V0aWwvTGlzdDspWgEABW90aGVyAQAgTG9yZy9kcm9vbHMvc3BpL0NvbXBpbGVkSW52b2tl
-cjsBAApTb3VyY2VGaWxlAQA9UnVsZV90aHJlZV9jb2x1bW5zX3dpdGhfY29uc3RyYWludHNfMl8w
-UHJlZGljYXRlMEludm9rZXIuamF2YQAhAAEAAwACAAUABwACABoACQAKAAEACwAAAAIADAAIAA4A
-DwABABAAAAAAAAUAAQARABIAAQATAAAALwABAAEAAAAFKrcAFLEAAAACABYAAAAGAAEAAAADABcA
-AAAMAAEAAAAFABgAGQAAAAEAGgAbAAIAHAAAAAQAAQAdABMAAACnAAQACAAAACctK7YAHzYGGQQD
-MiwZBAMyuQAlAgC5ACsBALYAHzYHFQYVB7gAMawAAAACABYAAAAWAAUAAAAMAAcADQAfABIAIQAT
-ACMAEQAXAAAAUgAIAAAAJwAYABkAAAAAACcANwA4AAEAAAAnADkAOgACAAAAJwA7ADwAAwAAACcA
-PQA+AAQAAAAnAD8AQAAFAAcAIABBAEIABgAfAAgAQwBCAAcAAQBEAEUAAQATAAAALQABAAEAAAAD
-EkasAAAAAgAWAAAABgABAAAAGAAXAAAADAABAAAAAwAYABkAAAABAEcASAABABMAAAF6AAYACAAA
-AKa7AElZEku3AExMsgBPWccAHFcSUbgAU1mzAE+nAA+7AFlaX7YAW7cAYb+2AGK7AGZZElEQLhAv
-tgBouAButwByEnO2AHW2AHm2AHxNuwCCWbcAhE4RBAC8CDoEpwAMLRkEAxUFtgCFLBkEAxEEALYA
-iVk2BQKj/+mnAA5XuwCPWRKRtwCTv7sAlFkttgCWtwCaOgYZBisEtgCdK7YAoToHGQe2AKWwAAIA
-EgAXAB4AqgBbAHsAewCsAAIAFgAAAEYAEQAAABwACgAfAEwAIQBUACIAWwAlAF4AKQBnACUAagAm
-AGsAJwBuACUAdAAnAHsAKwB8ACwAhgAvAJMAMACaADEAoAAyABcAAABmAAoAAACmABgAGQAAAAoA
-nACuAK8AAQBMAFoAsACxAAIAVABSALIAswADAFsASwC0ALUABABeAAkAtgBCAAUAdAAHALYAQgAF
-AIYAIAC2AEIABQCTABMAtwC4AAYAoAAGALkAugAHAAEAuwC8AAEAEwAAAIMAAgADAAAAKSvHAAUD
-rCsqpgAFBKwrwQAHmgAFA6wrwAAHTSq2AL0suQC/AQC4AMCsAAAAAgAWAAAAIgAIAAAANgAEADcA
-BgA4AAsAOQANADwAFAA9ABYAQAAbAEIAFwAAACAAAwAAACkAGAAZAAAAAAApADcAOAABABsADgDG
-AMcAAgABAMgAAAACAMk=</byte-array>
-            </entry>
-            <entry>
-              <string>org/drools/compiler/Rule_three_columns_with_constraints_1_0.class</string>
-              <byte-array>yv66vgAAADAALwcAAgEAO29yZy9kcm9vbHMvY29tcGlsZXIvUnVsZV90aHJlZV9jb2x1bW5zX3dp
-dGhfY29uc3RyYWludHNfMV8wBwAEAQAQamF2YS9sYW5nL09iamVjdAEAEHNlcmlhbFZlcnNpb25V
-SUQBAAFKAQANQ29uc3RhbnRWYWx1ZQUAAAAAAAABQAEABjxpbml0PgEAAygpVgEABENvZGUKAAMA
-DgwACgALAQAPTGluZU51bWJlclRhYmxlAQASTG9jYWxWYXJpYWJsZVRhYmxlAQAEdGhpcwEAPUxv
-cmcvZHJvb2xzL2NvbXBpbGVyL1J1bGVfdGhyZWVfY29sdW1uc193aXRoX2NvbnN0cmFpbnRzXzFf
-MDsBAApwcmVkaWNhdGUwAQAFKElJKVoBAApFeGNlcHRpb25zBwAXAQATamF2YS9sYW5nL0V4Y2Vw
-dGlvbgEAByRwcmljZTIBAAFJAQAHJHByaWNlMQEAC2NvbnNlcXVlbmNlAQAjKExvcmcvZHJvb2xz
-L3NwaS9Lbm93bGVkZ2VIZWxwZXI7KVYJAB4AIAcAHwEAEGphdmEvbGFuZy9TeXN0ZW0MACEAIgEA
-A291dAEAFUxqYXZhL2lvL1ByaW50U3RyZWFtOwgAJAEABmRvbmUgMQoAJgAoBwAnAQATamF2YS9p
-by9QcmludFN0cmVhbQwAKQAqAQAHcHJpbnRsbgEAFShMamF2YS9sYW5nL1N0cmluZzspVgEABmRy
-b29scwEAIExvcmcvZHJvb2xzL3NwaS9Lbm93bGVkZ2VIZWxwZXI7AQAKU291cmNlRmlsZQEALFJ1
-bGVfdGhyZWVfY29sdW1uc193aXRoX2NvbnN0cmFpbnRzXzFfMC5qYXZhACEAAQADAAAAAQAaAAUA
-BgABAAcAAAACAAgAAwABAAoACwABAAwAAAAvAAEAAQAAAAUqtwANsQAAAAIADwAAAAYAAQAAAAYA
-EAAAAAwAAQAAAAUAEQASAAAACQATABQAAgAVAAAABAABABYADAAAAD0AAgACAAAACRsaoAAFBKwD
-rAAAAAIADwAAAAYAAQAAAAkAEAAAABYAAgAAAAkAGAAZAAAAAAAJABoAGQABAAkAGwAcAAIAFQAA
-AAQAAQAWAAwAAAA3AAIAAQAAAAmyAB0SI7YAJbEAAAACAA8AAAAKAAIAAAAMAAgADQAQAAAADAAB
-AAAACQArACwAAAABAC0AAAACAC4=</byte-array>
-            </entry>
-            <entry>
-              <string>org/drools/compiler/Rule_three_columns_with_constraints_1_0ConsequenceInvoker.class</string>
-              <byte-array>yv66vgAAADAAOAcAAgEATW9yZy9kcm9vbHMvY29tcGlsZXIvUnVsZV90aHJlZV9jb2x1bW5zX3dp
-dGhfY29uc3RyYWludHNfMV8wQ29uc2VxdWVuY2VJbnZva2VyBwAEAQAQamF2YS9sYW5nL09iamVj
-dAcABgEAGm9yZy9kcm9vbHMvc3BpL0NvbnNlcXVlbmNlAQAQc2VyaWFsVmVyc2lvblVJRAEAAUoB
-AA1Db25zdGFudFZhbHVlBQAAAAAAAAFAAQAGPGluaXQ+AQADKClWAQAEQ29kZQoAAwAQDAAMAA0B
-AA9MaW5lTnVtYmVyVGFibGUBABJMb2NhbFZhcmlhYmxlVGFibGUBAAR0aGlzAQBPTG9yZy9kcm9v
-bHMvY29tcGlsZXIvUnVsZV90aHJlZV9jb2x1bW5zX3dpdGhfY29uc3RyYWludHNfMV8wQ29uc2Vx
-dWVuY2VJbnZva2VyOwEACGV2YWx1YXRlAQA9KExvcmcvZHJvb2xzL3NwaS9Lbm93bGVkZ2VIZWxw
-ZXI7TG9yZy9kcm9vbHMvV29ya2luZ01lbW9yeTspVgEACkV4Y2VwdGlvbnMHABkBABNqYXZhL2xh
-bmcvRXhjZXB0aW9uCwAbAB0HABwBAB5vcmcvZHJvb2xzL3NwaS9Lbm93bGVkZ2VIZWxwZXIMAB4A
-HwEACGdldFR1cGxlAQAYKClMb3JnL2Ryb29scy9zcGkvVHVwbGU7CwAbACEMACIAIwEAB2dldFJ1
-bGUBABgoKUxvcmcvZHJvb2xzL3J1bGUvUnVsZTsKACUAJwcAJgEAFG9yZy9kcm9vbHMvcnVsZS9S
-dWxlDAAoACkBAA9nZXREZWNsYXJhdGlvbnMBACAoKVtMb3JnL2Ryb29scy9ydWxlL0RlY2xhcmF0
-aW9uOwoAKwAtBwAsAQA7b3JnL2Ryb29scy9jb21waWxlci9SdWxlX3RocmVlX2NvbHVtbnNfd2l0
-aF9jb25zdHJhaW50c18xXzAMAC4ALwEAC2NvbnNlcXVlbmNlAQAjKExvcmcvZHJvb2xzL3NwaS9L
-bm93bGVkZ2VIZWxwZXI7KVYBAA9rbm93bGVkZ2VIZWxwZXIBACBMb3JnL2Ryb29scy9zcGkvS25v
-d2xlZGdlSGVscGVyOwEADXdvcmtpbmdNZW1vcnkBABpMb3JnL2Ryb29scy9Xb3JraW5nTWVtb3J5
-OwEABHJ1bGUBABZMb3JnL2Ryb29scy9ydWxlL1J1bGU7AQAKU291cmNlRmlsZQEAPlJ1bGVfdGhy
-ZWVfY29sdW1uc193aXRoX2NvbnN0cmFpbnRzXzFfMENvbnNlcXVlbmNlSW52b2tlci5qYXZhACEA
-AQADAAEABQABABoABwAIAAEACQAAAAIACgACAAEADAANAAEADgAAAC8AAQABAAAABSq3AA+xAAAA
-AgARAAAABgABAAAAAwASAAAADAABAAAABQATABQAAAABABUAFgACABcAAAAEAAEAGAAOAAAAdAAB
-AAQAAAAYK7kAGgEAVyu5ACABAE4ttgAkVyu4ACqxAAAAAgARAAAAGgAGAAAACgAHAAsADgAMABMA
-EwAUABIAFwAWABIAAAAqAAQAAAAYABMAFAAAAAAAGAAwADEAAQAAABgAMgAzAAIADgAKADQANQAD
-AAEANgAAAAIANw==</byte-array>
-            </entry>
-          </map>
-          <null/>
-          <byte-array>rO0ABXNyABFqYXZhLnV0aWwuSGFzaE1hcAUH2sHDFmDRAwACRgAKbG9hZEZhY3RvckkACXRocmVz
-aG9sZHhwP0AAAAAAAAx3CAAAABAAAAAEdABMb3JnLmRyb29scy5jb21waWxlci5SdWxlX3RocmVl
-X2NvbHVtbnNfd2l0aF9jb25zdHJhaW50c18xXzBQcmVkaWNhdGUwSW52b2tlcnNyACNvcmcuZHJv
-b2xzLnJ1bGUuUHJlZGljYXRlQ29uc3RyYWludP6Qj6YiW4c4AgADTAALZGVjbGFyYXRpb250AB1M
-b3JnL2Ryb29scy9ydWxlL0RlY2xhcmF0aW9uO0wACmV4cHJlc3Npb250ACRMb3JnL2Ryb29scy9z
-cGkvUHJlZGljYXRlRXhwcmVzc2lvbjtbABRyZXF1aXJlZERlY2xhcmF0aW9uc3QAHltMb3JnL2Ry
-b29scy9ydWxlL0RlY2xhcmF0aW9uO3hwc3IAG29yZy5kcm9vbHMucnVsZS5EZWNsYXJhdGlvbgNz
-PAHyIOvWAgADTAAGY29sdW1udAAYTG9yZy9kcm9vbHMvcnVsZS9Db2x1bW47TAAJZXh0cmFjdG9y
-dAAaTG9yZy9kcm9vbHMvc3BpL0V4dHJhY3RvcjtMAAppZGVudGlmaWVydAASTGphdmEvbGFuZy9T
-dHJpbmc7eHBzcgAWb3JnLmRyb29scy5ydWxlLkNvbHVtbgAAAAAAAAFAAgAFSQAFaW5kZXhJAAZv
-ZmZzZXRMAAtjb25zdHJhaW50c3QAEExqYXZhL3V0aWwvTGlzdDtMAAtkZWNsYXJhdGlvbnEAfgAE
-TAAKb2JqZWN0VHlwZXQAG0xvcmcvZHJvb2xzL3NwaS9PYmplY3RUeXBlO3hwAAAAAQAAAABzcgAT
-amF2YS51dGlsLkFycmF5TGlzdHiB0h2Zx2GdAwABSQAEc2l6ZXhwAAAAA3cEAAAABHNyACJvcmcu
-ZHJvb2xzLnJ1bGUuVmFyaWFibGVDb25zdHJhaW50AAAAAAAAAUACAAJMAA5maWVsZEV4dHJhY3Rv
-cnQAH0xvcmcvZHJvb2xzL3NwaS9GaWVsZEV4dHJhY3RvcjtMAAtyZXN0cmljdGlvbnQAJUxvcmcv
-ZHJvb2xzL3J1bGUvVmFyaWFibGVSZXN0cmljdGlvbjt4cHNyACNvcmcuZHJvb2xzLmJhc2UuQ2xh
-c3NGaWVsZEV4dHJhY3RvcgAAAAAAAAFAAgACTAAFY2xhenp0ABFMamF2YS9sYW5nL0NsYXNzO0wA
-CWZpZWxkTmFtZXEAfgALeHB2cgARb3JnLmRyb29scy5DaGVlc2XvhQIRO0X99QIAAkkABXByaWNl
-TAAEdHlwZXEAfgALeHB0AAR0eXBlc3IAI29yZy5kcm9vbHMucnVsZS5WYXJpYWJsZVJlc3RyaWN0
-aW9uAAAAAAAAAUACAARMAAxjb250ZXh0RW50cnl0ADpMb3JnL2Ryb29scy9ydWxlL1ZhcmlhYmxl
-UmVzdHJpY3Rpb24kVmFyaWFibGVDb250ZXh0RW50cnk7TAALZGVjbGFyYXRpb25xAH4ABEwACWV2
-YWx1YXRvcnQAGkxvcmcvZHJvb2xzL3NwaS9FdmFsdWF0b3I7WwAUcmVxdWlyZWREZWNsYXJhdGlv
-bnNxAH4ABnhwc3IAPm9yZy5kcm9vbHMucnVsZS5WYXJpYWJsZVJlc3RyaWN0aW9uJE9iamVjdFZh
-cmlhYmxlQ29udGV4dEVudHJ5Mg8EvgYTjRUCAAJMAARsZWZ0dAASTGphdmEvbGFuZy9PYmplY3Q7
-TAAFcmlnaHRxAH4AInhyADhvcmcuZHJvb2xzLnJ1bGUuVmFyaWFibGVSZXN0cmljdGlvbiRWYXJp
-YWJsZUNvbnRleHRFbnRyeQD/dR3MmHnsAgAFTAALZGVjbGFyYXRpb25xAH4ABEwABWVudHJ5dAAe
-TG9yZy9kcm9vbHMvcnVsZS9Db250ZXh0RW50cnk7TAAJZXh0cmFjdG9ycQB+ABRMAAZvYmplY3Rx
-AH4AIkwACXJldGVUdXBsZXQAHUxvcmcvZHJvb2xzL3JldGVvby9SZXRlVHVwbGU7eHBzcQB+AAhz
-cQB+AA0AAAAAAAAAAHNxAH4AEQAAAAN3BAAAAARxAH4AJ3NyACFvcmcuZHJvb2xzLnJ1bGUuTGl0
-ZXJhbENvbnN0cmFpbnQAAAAAAAABQAIAAkwACWV4dHJhY3RvcnEAfgAUTAALcmVzdHJpY3Rpb250
-ACRMb3JnL2Ryb29scy9ydWxlL0xpdGVyYWxSZXN0cmljdGlvbjt4cHEAfgAZc3IAIm9yZy5kcm9v
-bHMucnVsZS5MaXRlcmFsUmVzdHJpY3Rpb24AAAAAAAABQAIAA0wADGNvbnRleHRFbnRyeXQAOExv
-cmcvZHJvb2xzL3J1bGUvTGl0ZXJhbFJlc3RyaWN0aW9uJExpdGVyYWxDb250ZXh0RW50cnk7TAAJ
-ZXZhbHVhdG9ycQB+AB9MAAVmaWVsZHQAG0xvcmcvZHJvb2xzL3NwaS9GaWVsZFZhbHVlO3hwc3IA
-Nm9yZy5kcm9vbHMucnVsZS5MaXRlcmFsUmVzdHJpY3Rpb24kTGl0ZXJhbENvbnRleHRFbnRyeSRi
-vCFU8WMrAgADTAAJZXh0cmFjdG9ycQB+ABRMAARuZXh0cQB+ACRMAAZvYmplY3RxAH4AInhwcQB+
-ABlwcHNyAD1vcmcuZHJvb2xzLmJhc2UuZXZhbHVhdG9ycy5TdHJpbmdGYWN0b3J5JFN0cmluZ0Vx
-dWFsRXZhbHVhdG9yAAAAAAAAAUACAAB4cgAdb3JnLmRyb29scy5iYXNlLkJhc2VFdmFsdWF0b3Iq
-tHoO7bF+tgIAAkwACG9wZXJhdG9ydAAlTG9yZy9kcm9vbHMvYmFzZS9ldmFsdWF0b3JzL09wZXJh
-dG9yO0wABHR5cGV0ABtMb3JnL2Ryb29scy9iYXNlL1ZhbHVlVHlwZTt4cHNyACNvcmcuZHJvb2xz
-LmJhc2UuZXZhbHVhdG9ycy5PcGVyYXRvcgAAAAAAAAFAAgABTAAIb3BlcmF0b3JxAH4AC3hwdAAC
-PT1zcgAZb3JnLmRyb29scy5iYXNlLlZhbHVlVHlwZQAAAAAAAAFAAgADTAAJY2xhc3NUeXBlcQB+
-ABhMABBldmFsdWF0b3JGYWN0b3J5dAAtTG9yZy9kcm9vbHMvYmFzZS9ldmFsdWF0b3JzL0V2YWx1
-YXRvckZhY3Rvcnk7TAAEbmFtZXEAfgALeHB2cgAQamF2YS5sYW5nLlN0cmluZ6DwpDh6O7NCAgAA
-eHBzcgAob3JnLmRyb29scy5iYXNlLmV2YWx1YXRvcnMuU3RyaW5nRmFjdG9yeeeM/6nABRq+AgAA
-eHB0AAZTdHJpbmdzcgAlb3JnLmRyb29scy5iYXNlLmZpZWxkLk9iamVjdEZpZWxkSW1wbAAAAAAA
-AAFAAgABTAAFdmFsdWVxAH4AInhwdAAHY2hlZGRhcnNxAH4ACHEAfgAoc3EAfgAXcQB+ABt0AAVw
-cmljZXQAByRwcmljZTF4c3EAfgAIcQB+AChzcgAeb3JnLmRyb29scy5zcGkuQ29sdW1uRXh0cmFj
-dG9yAAAAAAAAAUACAAFMAApvYmplY3RUeXBlcQB+AA94cHNyAB9vcmcuZHJvb2xzLmJhc2UuQ2xh
-c3NPYmplY3RUeXBlAAAAAAAAAUACAARaAA1zaGFkb3dFbmFibGVkTAAPb2JqZWN0VHlwZUNsYXNz
-cQB+ABhMAAtzaGFkb3dDbGFzc3EAfgAYTAAJdmFsdWVUeXBlcQB+ADZ4cAFxAH4AG3ZyABxvcmcu
-ZHJvb2xzLkNoZWVzZVNoYWRvd1Byb3h5kNzUvXeQCr4CAAVJAAhnZXRQcmljZVoADWdldFByaWNl
-SXNTZXRaAAxnZXRUeXBlSXNTZXRMAAhkZWxlZ2F0ZXQAE0xvcmcvZHJvb2xzL0NoZWVzZTtMAAdn
-ZXRUeXBlcQB+AAt4cQB+ABpzcQB+ADt2cgAQamF2YS5sYW5nLk9iamVjdAAAAAAAAAAAAAAAeHBz
-cgAob3JnLmRyb29scy5iYXNlLmV2YWx1YXRvcnMuT2JqZWN0RmFjdG9yeYlic5veGVY5AgAAeHB0
-AAZPYmplY3R0AAgkY2hlZXNlMXEAfgBOcQB+ABl0AAUkdHlwZXBxAH4AGXBwcHBxAH4AJ3EAfgA3
-dXIAHltMb3JnLmRyb29scy5ydWxlLkRlY2xhcmF0aW9uO/Wnzws0aCnjAgAAeHAAAAABcQB+ACdx
-AH4ADHEAfgAHeHNxAH4ACHEAfgAQc3EAfgBLc3EAfgBNAXEAfgAbdnIAHG9yZy5kcm9vbHMuQ2hl
-ZXNlU2hhZG93UHJveHmQ3NS9d5AKvgIABUkACGdldFByaWNlWgANZ2V0UHJpY2VJc1NldFoADGdl
-dFR5cGVJc1NldEwACGRlbGVnYXRlcQB+AFBMAAdnZXRUeXBlcQB+AAt4cQB+ABpxAH4AUnQACCRj
-aGVlc2UycQB+AF5xAH4AR3QAByRwcmljZTJzcgBMb3JnLmRyb29scy5jb21waWxlci5SdWxlX3Ro
-cmVlX2NvbHVtbnNfd2l0aF9jb25zdHJhaW50c18xXzBQcmVkaWNhdGUwSW52b2tlcgAAAAAAAAFA
-AgAAeHB1cQB+AFoAAAABcQB+AEZ0AExvcmcuZHJvb2xzLmNvbXBpbGVyLlJ1bGVfdGhyZWVfY29s
-dW1uc193aXRoX2NvbnN0cmFpbnRzXzJfMFByZWRpY2F0ZTBJbnZva2Vyc3EAfgADc3EAfgAIc3EA
-fgANAAAAAQAAAABzcQB+ABEAAAADdwQAAAAEc3EAfgATcQB+ABlzcQB+AB1zcQB+ACFzcQB+AAhz
-cQB+AA0AAAAAAAAAAHNxAH4AEQAAAAN3BAAAAARxAH4AbnNxAH4AKnEAfgAZc3EAfgAtc3EAfgAx
-cQB+ABlwcHEAfgA3c3EAfgBDcQB+AEVzcQB+AAhxAH4Ab3EAfgBHdAAHJHByaWNlMXhzcQB+AAhx
-AH4Ab3NxAH4AS3NxAH4ATQFxAH4AG3ZyABxvcmcuZHJvb2xzLkNoZWVzZVNoYWRvd1Byb3h5kNzU
-vXeQCr4CAAVJAAhnZXRQcmljZVoADWdldFByaWNlSXNTZXRaAAxnZXRUeXBlSXNTZXRMAAhkZWxl
-Z2F0ZXEAfgBQTAAHZ2V0VHlwZXEAfgALeHEAfgAacQB+AFJ0AAgkY2hlZXNlMXEAfgB5cQB+ABl0
-AAUkdHlwZXBxAH4AGXBwcHBxAH4AbnEAfgA3dXEAfgBaAAAAAXEAfgBucQB+AGhxAH4AZ3hzcQB+
-AAhxAH4AaXNxAH4AS3NxAH4ATQFxAH4AG3ZyABxvcmcuZHJvb2xzLkNoZWVzZVNoYWRvd1Byb3h5
-kNzUvXeQCr4CAAVJAAhnZXRQcmljZVoADWdldFByaWNlSXNTZXRaAAxnZXRUeXBlSXNTZXRMAAhk
-ZWxlZ2F0ZXEAfgBQTAAHZ2V0VHlwZXEAfgALeHEAfgAacQB+AFJ0AAgkY2hlZXNlMnEAfgCBcQB+
-AEd0AAckcHJpY2Uyc3IATG9yZy5kcm9vbHMuY29tcGlsZXIuUnVsZV90aHJlZV9jb2x1bW5zX3dp
-dGhfY29uc3RyYWludHNfMl8wUHJlZGljYXRlMEludm9rZXIAAAAAAAABQAIAAHhwdXEAfgBaAAAA
-AXEAfgB1dABNb3JnLmRyb29scy5jb21waWxlci5SdWxlX3RocmVlX2NvbHVtbnNfd2l0aF9jb25z
-dHJhaW50c18xXzBDb25zZXF1ZW5jZUludm9rZXJzcgAUb3JnLmRyb29scy5ydWxlLlJ1bGUAAAAA
-AAABQAIADloACWF1dG9Gb2N1c0oACWxvYWRPcmRlcloABm5vTG9vcEkACHNhbGllbmNlWgARc2Vt
-YW50aWNhbGx5VmFsaWRMAA9BY3RpdmF0aW9uR3JvdXBxAH4AC0wAC2FnZW5kYUdyb3VwcQB+AAtM
-AAtjb25zZXF1ZW5jZXQAHExvcmcvZHJvb2xzL3NwaS9Db25zZXF1ZW5jZTtbABBkZWNsYXJhdGlv
-bkFycmF5cQB+AAZMAAxkZWNsYXJhdGlvbnN0AA9MamF2YS91dGlsL01hcDtMAAhkdXJhdGlvbnQA
-GUxvcmcvZHJvb2xzL3NwaS9EdXJhdGlvbjtMAAdsaHNSb290dAAVTG9yZy9kcm9vbHMvcnVsZS9B
-bmQ7TAAEbmFtZXEAfgALTAADcGtncQB+AAt4cAAAAAAAAAAAAQAAAAAAAXB0AARNQUlOc3IATW9y
-Zy5kcm9vbHMuY29tcGlsZXIuUnVsZV90aHJlZV9jb2x1bW5zX3dpdGhfY29uc3RyYWludHNfMV8w
-Q29uc2VxdWVuY2VJbnZva2VyAAAAAAAAAUACAAB4cHVxAH4AWgAAAAVxAH4ARnEAfgBccQB+ACdx
-AH4ADHEAfgBKc3EAfgAAP0AAAAAAAAx3CAAAABAAAAAFcQB+AElxAH4ARnEAfgBhcQB+AFxxAH4A
-WXEAfgAncQB+AGJxAH4ADHEAfgBYcQB+AEp4cHNyABNvcmcuZHJvb2xzLnJ1bGUuQW5k/PjnIvCm
-w3YCAAB4cgAcb3JnLmRyb29scy5ydWxlLkdyb3VwRWxlbWVudMbck79vtelYAgABTAAIY2hpbGRy
-ZW5xAH4ADnhyACJvcmcuZHJvb2xzLnJ1bGUuQ29uZGl0aW9uYWxFbGVtZW50xgxz6WbzojYCAAB4
-cHNxAH4AEQAAAAN3BAAAAApxAH4AKHEAfgAQc3EAfgANAAAAAgAAAABzcQB+ABEAAAABdwQAAAAB
-c3EAfgATc3EAfgAXdnIAEW9yZy5kcm9vbHMuUGVyc29uJKQvAhefuGYCAAlJAANhZ2VaAAVhbGl2
-ZUMAA3NleEwACmJpZ0RlY2ltYWx0ABZMamF2YS9tYXRoL0JpZ0RlY2ltYWw7TAAKYmlnSW50ZWdl
-cnQAFkxqYXZhL21hdGgvQmlnSW50ZWdlcjtMAARoYWlycQB+AAtMAAVsaWtlc3EAfgALTAAEbmFt
-ZXEAfgALTAAGc3RhdHVzcQB+AAt4cHQABG5hbWVzcQB+AB1zcQB+ACFxAH4AJ3BxAH4AnXBwcHBx
-AH4AJ3EAfgA3dXEAfgBaAAAAAXEAfgAneHBzcQB+AE0BcQB+AKF2cgAcb3JnLmRyb29scy5QZXJz
-b25TaGFkb3dQcm94efJLXAslFf7PAgATSQAGZ2V0QWdlWgALZ2V0QWdlSXNTZXRaABJnZXRCaWdE
-ZWNpbWFsSXNTZXRaABJnZXRCaWdJbnRlZ2VySXNTZXRaAAxnZXRIYWlySXNTZXRaAA1nZXRMaWtl
-c0lzU2V0WgAMZ2V0TmFtZUlzU2V0QwAGZ2V0U2V4WgALZ2V0U2V4SXNTZXRaAA5nZXRTdGF0dXNJ
-c1NldFoAB2lzQWxpdmVaAAxpc0FsaXZlSXNTZXRMAAhkZWxlZ2F0ZXQAE0xvcmcvZHJvb2xzL1Bl
-cnNvbjtMAA1nZXRCaWdEZWNpbWFscQB+AJ9MAA1nZXRCaWdJbnRlZ2VycQB+AKBMAAdnZXRIYWly
-cQB+AAtMAAhnZXRMaWtlc3EAfgALTAAHZ2V0TmFtZXEAfgALTAAJZ2V0U3RhdHVzcQB+AAt4cQB+
-AJ5xAH4AUnh0ACB0aHJlZSBjb2x1bW5zIHdpdGggY29uc3RyYWludHMgMXB0AE1vcmcuZHJvb2xz
-LmNvbXBpbGVyLlJ1bGVfdGhyZWVfY29sdW1uc193aXRoX2NvbnN0cmFpbnRzXzJfMENvbnNlcXVl
-bmNlSW52b2tlcnNxAH4AigAAAAAAAAAAAgAAAAAAAXBxAH4AkHNyAE1vcmcuZHJvb2xzLmNvbXBp
-bGVyLlJ1bGVfdGhyZWVfY29sdW1uc193aXRoX2NvbnN0cmFpbnRzXzJfMENvbnNlcXVlbmNlSW52
-b2tlcgAAAAAAAAFAAgAAeHB1cQB+AFoAAAAFcQB+AHVxAH4Af3EAfgBucQB+AGhxAH4Ad3NxAH4A
-AD9AAAAAAAAMdwgAAAAQAAAABXEAfgB2cQB+AHVxAH4AhHEAfgB/cQB+AH1xAH4AbnEAfgCFcQB+
-AGhxAH4AfHEAfgB3eHBzcQB+AJVzcQB+ABEAAAACdwQAAAAKcQB+AG9xAH4AaXh0ACB0aHJlZSBj
-b2x1bW5zIHdpdGggY29uc3RyYWludHMgMnB4</byte-array>
-        </org.drools.rule.PackageCompilationData>
-        <string>org.drools.compiler</string>
-        <list>
-          <string>org.drools.Cheese</string>
-          <string>org.drools.Person</string>
-          <string>org.drools.compiler.*</string>
-          <string>java.lang.*</string>
-        </list>
-        <java.util.Collections-EmptyList/>
-        <java.util.Collections-EmptyMap/>
-        <byte-array>rO0ABXNyABdqYXZhLnV0aWwuTGlua2VkSGFzaE1hcDTATlwQbMD7AgABWgALYWNjZXNzT3JkZXJ4
-cgARamF2YS51dGlsLkhhc2hNYXAFB9rBwxZg0QMAAkYACmxvYWRGYWN0b3JJAAl0aHJlc2hvbGR4
-cD9AAAAAAAAMdwgAAAAQAAAAAnQAIHRocmVlIGNvbHVtbnMgd2l0aCBjb25zdHJhaW50cyAxc3IA
-FG9yZy5kcm9vbHMucnVsZS5SdWxlAAAAAAAAAUACAA5aAAlhdXRvRm9jdXNKAAlsb2FkT3JkZXJa
-AAZub0xvb3BJAAhzYWxpZW5jZVoAEXNlbWFudGljYWxseVZhbGlkTAAPQWN0aXZhdGlvbkdyb3Vw
-dAASTGphdmEvbGFuZy9TdHJpbmc7TAALYWdlbmRhR3JvdXBxAH4ABUwAC2NvbnNlcXVlbmNldAAc
-TG9yZy9kcm9vbHMvc3BpL0NvbnNlcXVlbmNlO1sAEGRlY2xhcmF0aW9uQXJyYXl0AB5bTG9yZy9k
-cm9vbHMvcnVsZS9EZWNsYXJhdGlvbjtMAAxkZWNsYXJhdGlvbnN0AA9MamF2YS91dGlsL01hcDtM
-AAhkdXJhdGlvbnQAGUxvcmcvZHJvb2xzL3NwaS9EdXJhdGlvbjtMAAdsaHNSb290dAAVTG9yZy9k
-cm9vbHMvcnVsZS9BbmQ7TAAEbmFtZXEAfgAFTAADcGtncQB+AAV4cAAAAAAAAAAAAQAAAAAAAXB0
-AARNQUlOc3IATW9yZy5kcm9vbHMuY29tcGlsZXIuUnVsZV90aHJlZV9jb2x1bW5zX3dpdGhfY29u
-c3RyYWludHNfMV8wQ29uc2VxdWVuY2VJbnZva2VyAAAAAAAAAUACAAB4cHVyAB5bTG9yZy5kcm9v
-bHMucnVsZS5EZWNsYXJhdGlvbjv1p88LNGgp4wIAAHhwAAAABXNyABtvcmcuZHJvb2xzLnJ1bGUu
-RGVjbGFyYXRpb24DczwB8iDr1gIAA0wABmNvbHVtbnQAGExvcmcvZHJvb2xzL3J1bGUvQ29sdW1u
-O0wACWV4dHJhY3RvcnQAGkxvcmcvZHJvb2xzL3NwaS9FeHRyYWN0b3I7TAAKaWRlbnRpZmllcnEA
-fgAFeHBzcgAWb3JnLmRyb29scy5ydWxlLkNvbHVtbgAAAAAAAAFAAgAFSQAFaW5kZXhJAAZvZmZz
-ZXRMAAtjb25zdHJhaW50c3QAEExqYXZhL3V0aWwvTGlzdDtMAAtkZWNsYXJhdGlvbnQAHUxvcmcv
-ZHJvb2xzL3J1bGUvRGVjbGFyYXRpb247TAAKb2JqZWN0VHlwZXQAG0xvcmcvZHJvb2xzL3NwaS9P
-YmplY3RUeXBlO3hwAAAAAAAAAABzcgATamF2YS51dGlsLkFycmF5TGlzdHiB0h2Zx2GdAwABSQAE
-c2l6ZXhwAAAAA3cEAAAABHNxAH4AEXEAfgAZc3IAI29yZy5kcm9vbHMuYmFzZS5DbGFzc0ZpZWxk
-RXh0cmFjdG9yAAAAAAAAAUACAAJMAAVjbGF6enQAEUxqYXZhL2xhbmcvQ2xhc3M7TAAJZmllbGRO
-YW1lcQB+AAV4cHZyABFvcmcuZHJvb2xzLkNoZWVzZe+FAhE7Rf31AgACSQAFcHJpY2VMAAR0eXBl
-cQB+AAV4cHQABHR5cGV0AAUkdHlwZXNyACFvcmcuZHJvb2xzLnJ1bGUuTGl0ZXJhbENvbnN0cmFp
-bnQAAAAAAAABQAIAAkwACWV4dHJhY3RvcnQAH0xvcmcvZHJvb2xzL3NwaS9GaWVsZEV4dHJhY3Rv
-cjtMAAtyZXN0cmljdGlvbnQAJExvcmcvZHJvb2xzL3J1bGUvTGl0ZXJhbFJlc3RyaWN0aW9uO3hw
-cQB+AB9zcgAib3JnLmRyb29scy5ydWxlLkxpdGVyYWxSZXN0cmljdGlvbgAAAAAAAAFAAgADTAAM
-Y29udGV4dEVudHJ5dAA4TG9yZy9kcm9vbHMvcnVsZS9MaXRlcmFsUmVzdHJpY3Rpb24kTGl0ZXJh
-bENvbnRleHRFbnRyeTtMAAlldmFsdWF0b3J0ABpMb3JnL2Ryb29scy9zcGkvRXZhbHVhdG9yO0wA
-BWZpZWxkdAAbTG9yZy9kcm9vbHMvc3BpL0ZpZWxkVmFsdWU7eHBzcgA2b3JnLmRyb29scy5ydWxl
-LkxpdGVyYWxSZXN0cmljdGlvbiRMaXRlcmFsQ29udGV4dEVudHJ5JGK8IVTxYysCAANMAAlleHRy
-YWN0b3JxAH4AJUwABG5leHR0AB5Mb3JnL2Ryb29scy9ydWxlL0NvbnRleHRFbnRyeTtMAAZvYmpl
-Y3R0ABJMamF2YS9sYW5nL09iamVjdDt4cHEAfgAfcHBzcgA9b3JnLmRyb29scy5iYXNlLmV2YWx1
-YXRvcnMuU3RyaW5nRmFjdG9yeSRTdHJpbmdFcXVhbEV2YWx1YXRvcgAAAAAAAAFAAgAAeHIAHW9y
-Zy5kcm9vbHMuYmFzZS5CYXNlRXZhbHVhdG9yKrR6Du2xfrYCAAJMAAhvcGVyYXRvcnQAJUxvcmcv
-ZHJvb2xzL2Jhc2UvZXZhbHVhdG9ycy9PcGVyYXRvcjtMAAR0eXBldAAbTG9yZy9kcm9vbHMvYmFz
-ZS9WYWx1ZVR5cGU7eHBzcgAjb3JnLmRyb29scy5iYXNlLmV2YWx1YXRvcnMuT3BlcmF0b3IAAAAA
-AAABQAIAAUwACG9wZXJhdG9ycQB+AAV4cHQAAj09c3IAGW9yZy5kcm9vbHMuYmFzZS5WYWx1ZVR5
-cGUAAAAAAAABQAIAA0wACWNsYXNzVHlwZXEAfgAeTAAQZXZhbHVhdG9yRmFjdG9yeXQALUxvcmcv
-ZHJvb2xzL2Jhc2UvZXZhbHVhdG9ycy9FdmFsdWF0b3JGYWN0b3J5O0wABG5hbWVxAH4ABXhwdnIA
-EGphdmEubGFuZy5TdHJpbmeg8KQ4ejuzQgIAAHhwc3IAKG9yZy5kcm9vbHMuYmFzZS5ldmFsdWF0
-b3JzLlN0cmluZ0ZhY3RvcnnnjP+pwAUavgIAAHhwdAAGU3RyaW5nc3IAJW9yZy5kcm9vbHMuYmFz
-ZS5maWVsZC5PYmplY3RGaWVsZEltcGwAAAAAAAABQAIAAUwABXZhbHVlcQB+AC94cHQAB2NoZWRk
-YXJxAH4AFHhzcQB+ABFxAH4AGXNyAB5vcmcuZHJvb2xzLnNwaS5Db2x1bW5FeHRyYWN0b3IAAAAA
-AAABQAIAAUwACm9iamVjdFR5cGVxAH4AGHhwc3IAH29yZy5kcm9vbHMuYmFzZS5DbGFzc09iamVj
-dFR5cGUAAAAAAAABQAIABFoADXNoYWRvd0VuYWJsZWRMAA9vYmplY3RUeXBlQ2xhc3NxAH4AHkwA
-C3NoYWRvd0NsYXNzcQB+AB5MAAl2YWx1ZVR5cGVxAH4ANHhwAXEAfgAhdnIAHG9yZy5kcm9vbHMu
-Q2hlZXNlU2hhZG93UHJveHmQ3NS9d5AKvgIABUkACGdldFByaWNlWgANZ2V0UHJpY2VJc1NldFoA
-DGdldFR5cGVJc1NldEwACGRlbGVnYXRldAATTG9yZy9kcm9vbHMvQ2hlZXNlO0wAB2dldFR5cGVx
-AH4ABXhxAH4AIHNxAH4AOXZyABBqYXZhLmxhbmcuT2JqZWN0AAAAAAAAAAAAAAB4cHNyAChvcmcu
-ZHJvb2xzLmJhc2UuZXZhbHVhdG9ycy5PYmplY3RGYWN0b3J5iWJzm94ZVjkCAAB4cHQABk9iamVj
-dHQACCRjaGVlc2UxcQB+AEhzcQB+AB1xAH4AIXQABXByaWNldAAHJHByaWNlMXNxAH4AEXNxAH4A
-FQAAAAEAAAAAc3EAfgAaAAAAA3cEAAAABHNyACJvcmcuZHJvb2xzLnJ1bGUuVmFyaWFibGVDb25z
-dHJhaW50AAAAAAAAAUACAAJMAA5maWVsZEV4dHJhY3RvcnEAfgAlTAALcmVzdHJpY3Rpb250ACVM
-b3JnL2Ryb29scy9ydWxlL1ZhcmlhYmxlUmVzdHJpY3Rpb247eHBxAH4AH3NyACNvcmcuZHJvb2xz
-LnJ1bGUuVmFyaWFibGVSZXN0cmljdGlvbgAAAAAAAAFAAgAETAAMY29udGV4dEVudHJ5dAA6TG9y
-Zy9kcm9vbHMvcnVsZS9WYXJpYWJsZVJlc3RyaWN0aW9uJFZhcmlhYmxlQ29udGV4dEVudHJ5O0wA
-C2RlY2xhcmF0aW9ucQB+ABdMAAlldmFsdWF0b3JxAH4AKlsAFHJlcXVpcmVkRGVjbGFyYXRpb25z
-cQB+AAd4cHNyAD5vcmcuZHJvb2xzLnJ1bGUuVmFyaWFibGVSZXN0cmljdGlvbiRPYmplY3RWYXJp
-YWJsZUNvbnRleHRFbnRyeTIPBL4GE40VAgACTAAEbGVmdHEAfgAvTAAFcmlnaHRxAH4AL3hyADhv
-cmcuZHJvb2xzLnJ1bGUuVmFyaWFibGVSZXN0cmljdGlvbiRWYXJpYWJsZUNvbnRleHRFbnRyeQD/
-dR3MmHnsAgAFTAALZGVjbGFyYXRpb25xAH4AF0wABWVudHJ5cQB+AC5MAAlleHRyYWN0b3JxAH4A
-JUwABm9iamVjdHEAfgAvTAAJcmV0ZVR1cGxldAAdTG9yZy9kcm9vbHMvcmV0ZW9vL1JldGVUdXBs
-ZTt4cHEAfgAccHEAfgAfcHBwcHEAfgAccQB+ADV1cQB+AA8AAAABcQB+ABxzcQB+ABFxAH4AV3EA
-fgBTdAAHJHByaWNlMnNyACNvcmcuZHJvb2xzLnJ1bGUuUHJlZGljYXRlQ29uc3RyYWludP6Qj6Yi
-W4c4AgADTAALZGVjbGFyYXRpb25xAH4AF0wACmV4cHJlc3Npb250ACRMb3JnL2Ryb29scy9zcGkv
-UHJlZGljYXRlRXhwcmVzc2lvbjtbABRyZXF1aXJlZERlY2xhcmF0aW9uc3EAfgAHeHBxAH4AZHNy
-AExvcmcuZHJvb2xzLmNvbXBpbGVyLlJ1bGVfdGhyZWVfY29sdW1uc193aXRoX2NvbnN0cmFpbnRz
-XzFfMFByZWRpY2F0ZTBJbnZva2VyAAAAAAAAAUACAAB4cHVxAH4ADwAAAAFxAH4AFHhxAH4AVnNx
-AH4ARwFxAH4AIXZyABxvcmcuZHJvb2xzLkNoZWVzZVNoYWRvd1Byb3h5kNzUvXeQCr4CAAVJAAhn
-ZXRQcmljZVoADWdldFByaWNlSXNTZXRaAAxnZXRUeXBlSXNTZXRMAAhkZWxlZ2F0ZXEAfgBKTAAH
-Z2V0VHlwZXEAfgAFeHEAfgAgcQB+AExzcQB+AEVxAH4AbHQACCRjaGVlc2UycQB+ABxxAH4AZHEA
-fgBEc3EAfgABP0AAAAAAAAx3CAAAABAAAAAFcQB+AFVxAH4AFHEAfgBwcQB+AFZxAH4AI3EAfgAc
-cQB+AGVxAH4AZHEAfgBScQB+AER4cHNyABNvcmcuZHJvb2xzLnJ1bGUuQW5k/PjnIvCmw3YCAAB4
-cgAcb3JnLmRyb29scy5ydWxlLkdyb3VwRWxlbWVudMbck79vtelYAgABTAAIY2hpbGRyZW5xAH4A
-FnhyACJvcmcuZHJvb2xzLnJ1bGUuQ29uZGl0aW9uYWxFbGVtZW50xgxz6WbzojYCAAB4cHNxAH4A
-GgAAAAN3BAAAAApxAH4AGXEAfgBXc3EAfgAVAAAAAgAAAABzcQB+ABoAAAABdwQAAAABc3EAfgBZ
-c3EAfgAddnIAEW9yZy5kcm9vbHMuUGVyc29uJKQvAhefuGYCAAlJAANhZ2VaAAVhbGl2ZUMAA3Nl
-eEwACmJpZ0RlY2ltYWx0ABZMamF2YS9tYXRoL0JpZ0RlY2ltYWw7TAAKYmlnSW50ZWdlcnQAFkxq
-YXZhL21hdGgvQmlnSW50ZWdlcjtMAARoYWlycQB+AAVMAAVsaWtlc3EAfgAFTAAEbmFtZXEAfgAF
-TAAGc3RhdHVzcQB+AAV4cHQABG5hbWVzcQB+AFxzcQB+AF9xAH4AHHBxAH4AenBwcHBxAH4AHHEA
-fgA1dXEAfgAPAAAAAXEAfgAceHBzcQB+AEcBcQB+AH52cgAcb3JnLmRyb29scy5QZXJzb25TaGFk
-b3dQcm94efJLXAslFf7PAgATSQAGZ2V0QWdlWgALZ2V0QWdlSXNTZXRaABJnZXRCaWdEZWNpbWFs
-SXNTZXRaABJnZXRCaWdJbnRlZ2VySXNTZXRaAAxnZXRIYWlySXNTZXRaAA1nZXRMaWtlc0lzU2V0
-WgAMZ2V0TmFtZUlzU2V0QwAGZ2V0U2V4WgALZ2V0U2V4SXNTZXRaAA5nZXRTdGF0dXNJc1NldFoA
-B2lzQWxpdmVaAAxpc0FsaXZlSXNTZXRMAAhkZWxlZ2F0ZXQAE0xvcmcvZHJvb2xzL1BlcnNvbjtM
-AA1nZXRCaWdEZWNpbWFscQB+AHxMAA1nZXRCaWdJbnRlZ2VycQB+AH1MAAdnZXRIYWlycQB+AAVM
-AAhnZXRMaWtlc3EAfgAFTAAHZ2V0TmFtZXEAfgAFTAAJZ2V0U3RhdHVzcQB+AAV4cQB+AHtxAH4A
-THhxAH4AA3B0ACB0aHJlZSBjb2x1bW5zIHdpdGggY29uc3RyYWludHMgMnNxAH4ABAAAAAAAAAAA
-AgAAAAAAAXBxAH4ADHNyAE1vcmcuZHJvb2xzLmNvbXBpbGVyLlJ1bGVfdGhyZWVfY29sdW1uc193
-aXRoX2NvbnN0cmFpbnRzXzJfMENvbnNlcXVlbmNlSW52b2tlcgAAAAAAAAFAAgAAeHB1cQB+AA8A
-AAAFc3EAfgARc3EAfgAVAAAAAAAAAABzcQB+ABoAAAADdwQAAAAEc3EAfgARcQB+AI1xAH4AH3QA
-BSR0eXBlc3EAfgAkcQB+AB9zcQB+AChzcQB+AC1xAH4AH3BwcQB+ADVzcQB+AEFxAH4AQ3EAfgCM
-eHNxAH4AEXEAfgCNc3EAfgBFc3EAfgBHAXEAfgAhdnIAHG9yZy5kcm9vbHMuQ2hlZXNlU2hhZG93
-UHJveHmQ3NS9d5AKvgIABUkACGdldFByaWNlWgANZ2V0UHJpY2VJc1NldFoADGdldFR5cGVJc1Nl
-dEwACGRlbGVnYXRlcQB+AEpMAAdnZXRUeXBlcQB+AAV4cQB+ACBxAH4ATHQACCRjaGVlc2UxcQB+
-AJdxAH4AU3QAByRwcmljZTFzcQB+ABFzcQB+ABUAAAABAAAAAHNxAH4AGgAAAAN3BAAAAARzcQB+
-AFlxAH4AH3NxAH4AXHNxAH4AX3EAfgCPcHEAfgAfcHBwcHEAfgCPcQB+ADV1cQB+AA8AAAABcQB+
-AI9zcQB+ABFxAH4AnXEAfgBTdAAHJHByaWNlMnNxAH4AZnEAfgCjc3IATG9yZy5kcm9vbHMuY29t
-cGlsZXIuUnVsZV90aHJlZV9jb2x1bW5zX3dpdGhfY29uc3RyYWludHNfMl8wUHJlZGljYXRlMElu
-dm9rZXIAAAAAAAABQAIAAHhwdXEAfgAPAAAAAXEAfgCMeHEAfgCcc3EAfgBHAXEAfgAhdnIAHG9y
-Zy5kcm9vbHMuQ2hlZXNlU2hhZG93UHJveHmQ3NS9d5AKvgIABUkACGdldFByaWNlWgANZ2V0UHJp
-Y2VJc1NldFoADGdldFR5cGVJc1NldEwACGRlbGVnYXRlcQB+AEpMAAdnZXRUeXBlcQB+AAV4cQB+
-ACBxAH4ATHNxAH4ARXEAfgCpdAAIJGNoZWVzZTJxAH4Aj3EAfgCjcQB+AJVzcQB+AAE/QAAAAAAA
-DHcIAAAAEAAAAAVxAH4Am3EAfgCMcQB+AK1xAH4AnHEAfgCQcQB+AI9xAH4ApHEAfgCjcQB+AJpx
-AH4AlXhwc3EAfgByc3EAfgAaAAAAAncEAAAACnEAfgCNcQB+AJ14cQB+AIdweAA=</byte-array>
-      </org.drools.rule.Package>
-    </entry>
-  </map>
-  <byte-array>rO0ABXQAJDlhM2M2NjhmLWY0ZDEtNGMwNS05NDliLWM2ZTk0MWY5NjdkM3NyAClvcmcuZHJvb2xz
-LnJldGVvby5SZXRlb29GYWN0SGFuZGxlRmFjdG9yeQAAAAAAAAEsAgAAeHIAK29yZy5kcm9vbHMu
-Y29tbW9uLkFic3RyYWN0RmFjdEhhbmRsZUZhY3RvcnlrwcaUre4SdAIAA0oAB2NvdW50ZXJKAAJp
-ZEwADmZhY3RIYW5kbGVQb29sdAAkTG9yZy9kcm9vbHMvdXRpbC9QcmltaXRpdmVMb25nU3RhY2s7
-eHAAAAAAAAAAAAAAAAAAAAAAc3IAIm9yZy5kcm9vbHMudXRpbC5QcmltaXRpdmVMb25nU3RhY2sP
-j6ttreBeeQIAA0kADWN1cnJlbnRQYWdlSWRJAAl0YWJsZVNpemVMAAtjdXJyZW50UGFnZXQAKUxv
-cmcvZHJvb2xzL3V0aWwvUHJpbWl0aXZlTG9uZ1N0YWNrJFBhZ2U7eHAAAAAAAAABAHNyACdvcmcu
-ZHJvb2xzLnV0aWwuUHJpbWl0aXZlTG9uZ1N0YWNrJFBhZ2Utnhd8IgiDlAIABUkAB2xhc3RLZXlJ
-AAZwYWdlSWRMAAtuZXh0U2libGluZ3EAfgAGTAAPcHJldmlvdXNTaWJsaW5ncQB+AAZbAAV0YWJs
-ZXQAAltKeHD/////AAAAAHBwdXIAAltKeCAEtRKxdZMCAAB4cAAAAQAAAAAAAAAAAAAAAAAAAAAA
-AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
-AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
-AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
-AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
-AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
-AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
-AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
-AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
-AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
-AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
-AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
-AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
-AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
-AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
-AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
-AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
-AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
-AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
-AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
-AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
-AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
-AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
-AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
-AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
-AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
-AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
-AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
-AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
-AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
-AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
-AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
-AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
-AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
-AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
-AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
-AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAHNyABFqYXZhLnV0aWwuSGFzaE1h
-cAUH2sHDFmDRAwACRgAKbG9hZEZhY3RvckkACXRocmVzaG9sZHhwP0AAAAAAAAx3CAAAABAAAAAA
-eHNyACBvcmcuZHJvb2xzLlJ1bGVCYXNlQ29uZmlndXJhdGlvbgAAAAAAAAFAAgALWgALYWxwaGFN
-ZW1vcnlJABlhbHBoYU5vZGVIYXNoaW5nVGhyZXNob2xkSQARY29tcG9zaXRlS2V5RGVwdGhaAAlp
-bW11dGFibGVaABNpbmRleExlZnRCZXRhTWVtb3J5WgAUaW5kZXhSaWdodEJldGFNZW1vcnlaABBy
-ZW1vdmVJZGVudGl0aWVzWgAPc2hhcmVBbHBoYU5vZGVzWgAOc2hhcmVCZXRhTm9kZXNMAA9hc3Nl
-cnRCZWhhdmlvdXJ0ADJMb3JnL2Ryb29scy9SdWxlQmFzZUNvbmZpZ3VyYXRpb24kQXNzZXJ0QmVo
-YXZpb3VyO0wAD2xvZ2ljYWxPdmVycmlkZXQAMkxvcmcvZHJvb2xzL1J1bGVCYXNlQ29uZmlndXJh
-dGlvbiRMb2dpY2FsT3ZlcnJpZGU7eHAAAAAAAwAAAAMBAQEAAQFzcgAwb3JnLmRyb29scy5SdWxl
-QmFzZUNvbmZpZ3VyYXRpb24kQXNzZXJ0QmVoYXZpb3VyAAAAAAAAAUACAAFJAAV2YWx1ZXhwAAAA
-AHNyADBvcmcuZHJvb2xzLlJ1bGVCYXNlQ29uZmlndXJhdGlvbiRMb2dpY2FsT3ZlcnJpZGUAAAAA
-AAABQAIAAUkABXZhbHVleHAAAAABc3IAFm9yZy5kcm9vbHMucmV0ZW9vLlJldGUAAAAAAAABQAIA
-AUwAD29iamVjdFR5cGVOb2Rlc3QAH0xvcmcvZHJvb2xzL3V0aWwvT2JqZWN0SGFzaE1hcDt4cgAe
-b3JnLmRyb29scy5yZXRlb28uT2JqZWN0U291cmNlW528FtDzXo0CAANJABlhbHBoYU5vZGVIYXNo
-aW5nVGhyZXNob2xkTAAMb2JqZWN0U291cmNldAAgTG9yZy9kcm9vbHMvcmV0ZW9vL09iamVjdFNv
-dXJjZTtMAARzaW5rdAAoTG9yZy9kcm9vbHMvcmV0ZW9vL09iamVjdFNpbmtQcm9wYWdhdG9yO3hy
-ABpvcmcuZHJvb2xzLmNvbW1vbi5CYXNlTm9kZeK9dF1arM6UAgADWgAJaGFzTWVtb3J5SQACaWRJ
-AAtzaGFyZWRDb3VudHhwAAAAAAAAAAAAAAAAA3BzcgAob3JnLmRyb29scy5yZXRlb28uRW1wdHlP
-YmplY3RTaW5rQWRhcHRlctw8SkYUA/qZAgAAeHBzcgAdb3JnLmRyb29scy51dGlsLk9iamVjdEhh
-c2hNYXAM5rjKq4yAgQIAAHhyACFvcmcuZHJvb2xzLnV0aWwuQWJzdHJhY3RIYXNoVGFibGXzzroG
-hO24nAIABkYACmxvYWRGYWN0b3JJAARzaXplSQAJdGhyZXNob2xkTAAKY29tcGFyYXRvcnQANExv
-cmcvZHJvb2xzL3V0aWwvQWJzdHJhY3RIYXNoVGFibGUkT2JqZWN0Q29tcGFyYXRvcjtMAAhpdGVy
-YXRvcnQANUxvcmcvZHJvb2xzL3V0aWwvQWJzdHJhY3RIYXNoVGFibGUkSGFzaFRhYmxlSXRlcmF0
-b3I7WwAFdGFibGV0ABhbTG9yZy9kcm9vbHMvdXRpbC9FbnRyeTt4cD9AAAAAAAACAAAADHNyADBv
-cmcuZHJvb2xzLnV0aWwuQWJzdHJhY3RIYXNoVGFibGUkRXF1YWxpdHlFcXVhbHNvFs5QO+Qj0wIA
-AHhwcHVyABhbTG9yZy5kcm9vbHMudXRpbC5FbnRyeTtplR3hOYt48QIAAHhwAAAAEHBwcHBwc3IA
-KW9yZy5kcm9vbHMudXRpbC5PYmplY3RIYXNoTWFwJE9iamVjdEVudHJ5FcrE/UwCYfECAARJAAho
-YXNoQ29kZUwAA2tleXQAEkxqYXZhL2xhbmcvT2JqZWN0O0wABG5leHR0ABdMb3JnL2Ryb29scy91
-dGlsL0VudHJ5O0wABXZhbHVlcQB+ACt4cFLS5PVzcgAfb3JnLmRyb29scy5iYXNlLkNsYXNzT2Jq
-ZWN0VHlwZQAAAAAAAAFAAgAEWgANc2hhZG93RW5hYmxlZEwAD29iamVjdFR5cGVDbGFzc3QAEUxq
-YXZhL2xhbmcvQ2xhc3M7TAALc2hhZG93Q2xhc3NxAH4AL0wACXZhbHVlVHlwZXQAG0xvcmcvZHJv
-b2xzL2Jhc2UvVmFsdWVUeXBlO3hwAXZyABFvcmcuZHJvb2xzLkNoZWVzZe+FAhE7Rf31AgACSQAF
-cHJpY2VMAAR0eXBldAASTGphdmEvbGFuZy9TdHJpbmc7eHB2cgAcb3JnLmRyb29scy5DaGVlc2VT
-aGFkb3dQcm94eZDc1L13kAq+AgAFSQAIZ2V0UHJpY2VaAA1nZXRQcmljZUlzU2V0WgAMZ2V0VHlw
-ZUlzU2V0TAAIZGVsZWdhdGV0ABNMb3JnL2Ryb29scy9DaGVlc2U7TAAHZ2V0VHlwZXEAfgAzeHEA
-fgAyc3IAGW9yZy5kcm9vbHMuYmFzZS5WYWx1ZVR5cGUAAAAAAAABQAIAA0wACWNsYXNzVHlwZXEA
-fgAvTAAQZXZhbHVhdG9yRmFjdG9yeXQALUxvcmcvZHJvb2xzL2Jhc2UvZXZhbHVhdG9ycy9FdmFs
-dWF0b3JGYWN0b3J5O0wABG5hbWVxAH4AM3hwdnIAEGphdmEubGFuZy5PYmplY3QAAAAAAAAAAAAA
-AHhwc3IAKG9yZy5kcm9vbHMuYmFzZS5ldmFsdWF0b3JzLk9iamVjdEZhY3RvcnmJYnOb3hlWOQIA
-AHhwdAAGT2JqZWN0cHNyACBvcmcuZHJvb2xzLnJldGVvby5PYmplY3RUeXBlTm9kZQAAAAAAAAFA
-AgACTAAKb2JqZWN0VHlwZXQAG0xvcmcvZHJvb2xzL3NwaS9PYmplY3RUeXBlO0wABHJldGV0ABhM
-b3JnL2Ryb29scy9yZXRlb28vUmV0ZTt4cQB+ABkBAAAAAQAAAAMAAAADcHNyACxvcmcuZHJvb2xz
-LnJldGVvby5Db21wb3NpdGVPYmplY3RTaW5rQWRhcHRlcgAAAAAAAAFAAgAGSQAZYWxwaGFOb2Rl
-SGFzaGluZ1RocmVzaG9sZEwAB2hhc2hLZXl0ADZMb3JnL2Ryb29scy9yZXRlb28vQ29tcG9zaXRl
-T2JqZWN0U2lua0FkYXB0ZXIkSGFzaEtleTtMAA1oYXNoYWJsZVNpbmtzdAAmTG9yZy9kcm9vbHMv
-cmV0ZW9vL09iamVjdFNpbmtOb2RlTGlzdDtMABJoYXNoZWRGaWVsZEluZGV4ZXN0ABxMb3JnL2Ry
-b29scy91dGlsL0xpbmtlZExpc3Q7TAANaGFzaGVkU2lua01hcHEAfgAYTAAKb3RoZXJTaW5rc3EA
-fgBGeHAAAAADc3IANG9yZy5kcm9vbHMucmV0ZW9vLkNvbXBvc2l0ZU9iamVjdFNpbmtBZGFwdGVy
-JEhhc2hLZXkbDOsbPabBggIAB1oABmJ2YWx1ZUQABmR2YWx1ZUkACGhhc2hDb2RlSQAFaW5kZXhK
-AAZsdmFsdWVCAAR0eXBlTAAGb3ZhbHVlcQB+ACt4cAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
-cHNyACRvcmcuZHJvb2xzLnJldGVvby5PYmplY3RTaW5rTm9kZUxpc3QAAAAAAAABQAIAA0kABHNp
-emVMAAlmaXJzdE5vZGV0ACJMb3JnL2Ryb29scy9yZXRlb28vT2JqZWN0U2lua05vZGU7TAAIbGFz
-dE5vZGVxAH4ATHhwAAAAAXNyABtvcmcuZHJvb2xzLnJldGVvby5BbHBoYU5vZGUAAAAAAAABQAIA
-A0wACmNvbnN0cmFpbnR0AClMb3JnL2Ryb29scy9zcGkvQWxwaGFOb2RlRmllbGRDb25zdHJhaW50
-O0wAEm5leHRPYmplY3RTaW5rTm9kZXEAfgBMTAAWcHJldmlvdXNPYmplY3RTaW5rTm9kZXEAfgBM
-eHEAfgAZAQAAAAIAAAABAAAAA3EAfgBDc3IAKW9yZy5kcm9vbHMucmV0ZW9vLlNpbmdsZU9iamVj
-dFNpbmtBZGFwdGVym0n2ZIUrthMCAAFMAARzaW5rdAAeTG9yZy9kcm9vbHMvcmV0ZW9vL09iamVj
-dFNpbms7eHBzcgAmb3JnLmRyb29scy5yZXRlb28uTGVmdElucHV0QWRhcHRlck5vZGUAAAAAAAAB
-QAIAA0wAEm5leHRPYmplY3RTaW5rTm9kZXEAfgBMTAAMb2JqZWN0U291cmNlcQB+ABpMABZwcmV2
-aW91c09iamVjdFNpbmtOb2RlcQB+AEx4cgAdb3JnLmRyb29scy5yZXRlb28uVHVwbGVTb3VyY2U+
-mpQewIccewIAAUwABHNpbmt0ACdMb3JnL2Ryb29scy9yZXRlb28vVHVwbGVTaW5rUHJvcGFnYXRv
-cjt4cQB+ABwAAAAAAwAAAAFzcgAob3JnLmRyb29scy5yZXRlb28uU2luZ2xlVHVwbGVTaW5rQWRh
-cHRlcjRmES7jEk9KAgABTAAEc2lua3QAHUxvcmcvZHJvb2xzL3JldGVvby9UdXBsZVNpbms7eHBz
-cgAab3JnLmRyb29scy5yZXRlb28uSm9pbk5vZGUAAAAAAAABQAIAAHhyABpvcmcuZHJvb2xzLnJl
-dGVvby5CZXRhTm9kZZfyKOalI27YAgAHTAALY29uc3RyYWludHN0ACNMb3JnL2Ryb29scy9jb21t
-b24vQmV0YUNvbnN0cmFpbnRzO0wACWxlZnRJbnB1dHQAH0xvcmcvZHJvb2xzL3JldGVvby9UdXBs
-ZVNvdXJjZTtMABJuZXh0T2JqZWN0U2lua05vZGVxAH4ATEwAEW5leHRUdXBsZVNpbmtOb2RldAAh
-TG9yZy9kcm9vbHMvcmV0ZW9vL1R1cGxlU2lua05vZGU7TAAWcHJldmlvdXNPYmplY3RTaW5rTm9k
-ZXEAfgBMTAAVcHJldmlvdXNUdXBsZVNpbmtOb2RlcQB+AF9MAApyaWdodElucHV0cQB+ABp4cQB+
-AFUAAAAABAAAAAFzcgArb3JnLmRyb29scy5yZXRlb28uQ29tcG9zaXRlVHVwbGVTaW5rQWRhcHRl
-coNiBmwwfo7rAgABTAAFc2lua3N0ACVMb3JnL2Ryb29scy9yZXRlb28vVHVwbGVTaW5rTm9kZUxp
-c3Q7eHBzcgAjb3JnLmRyb29scy5yZXRlb28uVHVwbGVTaW5rTm9kZUxpc3QAAAAAAAABQAIAA0kA
-BHNpemVMAAlmaXJzdE5vZGVxAH4AX0wACGxhc3ROb2RlcQB+AF94cAAAAAJzcQB+AFsAAAAABgAA
-AABzcQB+AFhzcgAeb3JnLmRyb29scy5yZXRlb28uVGVybWluYWxOb2RlAAAAAAAAAUACAARMABFu
-ZXh0VHVwbGVTaW5rTm9kZXEAfgBfTAAVcHJldmlvdXNUdXBsZVNpbmtOb2RlcQB+AF9MAARydWxl
-dAAWTG9yZy9kcm9vbHMvcnVsZS9SdWxlO0wAC3R1cGxlU291cmNlcQB+AF54cQB+ABwAAAAABwAA
-AABwcHNyABRvcmcuZHJvb2xzLnJ1bGUuUnVsZQAAAAAAAAFAAgAOWgAJYXV0b0ZvY3VzSgAJbG9h
-ZE9yZGVyWgAGbm9Mb29wSQAIc2FsaWVuY2VaABFzZW1hbnRpY2FsbHlWYWxpZEwAD0FjdGl2YXRp
-b25Hcm91cHEAfgAzTAALYWdlbmRhR3JvdXBxAH4AM0wAC2NvbnNlcXVlbmNldAAcTG9yZy9kcm9v
-bHMvc3BpL0NvbnNlcXVlbmNlO1sAEGRlY2xhcmF0aW9uQXJyYXl0AB5bTG9yZy9kcm9vbHMvcnVs
-ZS9EZWNsYXJhdGlvbjtMAAxkZWNsYXJhdGlvbnN0AA9MamF2YS91dGlsL01hcDtMAAhkdXJhdGlv
-bnQAGUxvcmcvZHJvb2xzL3NwaS9EdXJhdGlvbjtMAAdsaHNSb290dAAVTG9yZy9kcm9vbHMvcnVs
-ZS9BbmQ7TAAEbmFtZXEAfgAzTAADcGtncQB+ADN4cAAAAAAAAAAAAQAAAAAAAXB0AARNQUlOc3IA
-TW9yZy5kcm9vbHMuY29tcGlsZXIuUnVsZV90aHJlZV9jb2x1bW5zX3dpdGhfY29uc3RyYWludHNf
-MV8wQ29uc2VxdWVuY2VJbnZva2VyAAAAAAAAAUACAAB4cHVyAB5bTG9yZy5kcm9vbHMucnVsZS5E
-ZWNsYXJhdGlvbjv1p88LNGgp4wIAAHhwAAAABXNyABtvcmcuZHJvb2xzLnJ1bGUuRGVjbGFyYXRp
-b24DczwB8iDr1gIAA0wABmNvbHVtbnQAGExvcmcvZHJvb2xzL3J1bGUvQ29sdW1uO0wACWV4dHJh
-Y3RvcnQAGkxvcmcvZHJvb2xzL3NwaS9FeHRyYWN0b3I7TAAKaWRlbnRpZmllcnEAfgAzeHBzcgAW
-b3JnLmRyb29scy5ydWxlLkNvbHVtbgAAAAAAAAFAAgAFSQAFaW5kZXhJAAZvZmZzZXRMAAtjb25z
-dHJhaW50c3QAEExqYXZhL3V0aWwvTGlzdDtMAAtkZWNsYXJhdGlvbnQAHUxvcmcvZHJvb2xzL3J1
-bGUvRGVjbGFyYXRpb247TAAKb2JqZWN0VHlwZXEAfgBBeHAAAAAAAAAAAHNyABNqYXZhLnV0aWwu
-QXJyYXlMaXN0eIHSHZnHYZ0DAAFJAARzaXpleHAAAAADdwQAAAAEc3EAfgB3cQB+AH5zcgAjb3Jn
-LmRyb29scy5iYXNlLkNsYXNzRmllbGRFeHRyYWN0b3IAAAAAAAABQAIAAkwABWNsYXp6cQB+AC9M
-AAlmaWVsZE5hbWVxAH4AM3hwcQB+ADR0AAR0eXBldAAFJHR5cGVzcgAhb3JnLmRyb29scy5ydWxl
-LkxpdGVyYWxDb25zdHJhaW50AAAAAAAAAUACAAJMAAlleHRyYWN0b3J0AB9Mb3JnL2Ryb29scy9z
-cGkvRmllbGRFeHRyYWN0b3I7TAALcmVzdHJpY3Rpb250ACRMb3JnL2Ryb29scy9ydWxlL0xpdGVy
-YWxSZXN0cmljdGlvbjt4cHEAfgCDc3IAIm9yZy5kcm9vbHMucnVsZS5MaXRlcmFsUmVzdHJpY3Rp
-b24AAAAAAAABQAIAA0wADGNvbnRleHRFbnRyeXQAOExvcmcvZHJvb2xzL3J1bGUvTGl0ZXJhbFJl
-c3RyaWN0aW9uJExpdGVyYWxDb250ZXh0RW50cnk7TAAJZXZhbHVhdG9ydAAaTG9yZy9kcm9vbHMv
-c3BpL0V2YWx1YXRvcjtMAAVmaWVsZHQAG0xvcmcvZHJvb2xzL3NwaS9GaWVsZFZhbHVlO3hwc3IA
-Nm9yZy5kcm9vbHMucnVsZS5MaXRlcmFsUmVzdHJpY3Rpb24kTGl0ZXJhbENvbnRleHRFbnRyeSRi
-vCFU8WMrAgADTAAJZXh0cmFjdG9ycQB+AIdMAARuZXh0dAAeTG9yZy9kcm9vbHMvcnVsZS9Db250
-ZXh0RW50cnk7TAAGb2JqZWN0cQB+ACt4cHEAfgCDcHBzcgA9b3JnLmRyb29scy5iYXNlLmV2YWx1
-YXRvcnMuU3RyaW5nRmFjdG9yeSRTdHJpbmdFcXVhbEV2YWx1YXRvcgAAAAAAAAFAAgAAeHIAHW9y
-Zy5kcm9vbHMuYmFzZS5CYXNlRXZhbHVhdG9yKrR6Du2xfrYCAAJMAAhvcGVyYXRvcnQAJUxvcmcv
-ZHJvb2xzL2Jhc2UvZXZhbHVhdG9ycy9PcGVyYXRvcjtMAAR0eXBlcQB+ADB4cHNyACNvcmcuZHJv
-b2xzLmJhc2UuZXZhbHVhdG9ycy5PcGVyYXRvcgAAAAAAAAFAAgABTAAIb3BlcmF0b3JxAH4AM3hw
-dAACPT1zcQB+ADh2cgAQamF2YS5sYW5nLlN0cmluZ6DwpDh6O7NCAgAAeHBzcgAob3JnLmRyb29s
-cy5iYXNlLmV2YWx1YXRvcnMuU3RyaW5nRmFjdG9yeeeM/6nABRq+AgAAeHB0AAZTdHJpbmdzcgAl
-b3JnLmRyb29scy5iYXNlLmZpZWxkLk9iamVjdEZpZWxkSW1wbAAAAAAAAAFAAgABTAAFdmFsdWVx
-AH4AK3hwdAAHY2hlZGRhcnEAfgB6eHNxAH4Ad3EAfgB+c3IAHm9yZy5kcm9vbHMuc3BpLkNvbHVt
-bkV4dHJhY3RvcgAAAAAAAAFAAgABTAAKb2JqZWN0VHlwZXEAfgBBeHBxAH4AMXQACCRjaGVlc2Ux
-cQB+ADFzcQB+AIJxAH4ANHQABXByaWNldAAHJHByaWNlMXNxAH4Ad3NxAH4AewAAAAEAAAAAc3EA
-fgB/AAAAA3cEAAAABHNyACJvcmcuZHJvb2xzLnJ1bGUuVmFyaWFibGVDb25zdHJhaW50AAAAAAAA
-AUACAAJMAA5maWVsZEV4dHJhY3RvcnEAfgCHTAALcmVzdHJpY3Rpb250ACVMb3JnL2Ryb29scy9y
-dWxlL1ZhcmlhYmxlUmVzdHJpY3Rpb247eHBxAH4Ag3NyACNvcmcuZHJvb2xzLnJ1bGUuVmFyaWFi
-bGVSZXN0cmljdGlvbgAAAAAAAAFAAgAETAAMY29udGV4dEVudHJ5dAA6TG9yZy9kcm9vbHMvcnVs
-ZS9WYXJpYWJsZVJlc3RyaWN0aW9uJFZhcmlhYmxlQ29udGV4dEVudHJ5O0wAC2RlY2xhcmF0aW9u
-cQB+AH1MAAlldmFsdWF0b3JxAH4AjFsAFHJlcXVpcmVkRGVjbGFyYXRpb25zcQB+AG14cHNyAD5v
-cmcuZHJvb2xzLnJ1bGUuVmFyaWFibGVSZXN0cmljdGlvbiRPYmplY3RWYXJpYWJsZUNvbnRleHRF
-bnRyeTIPBL4GE40VAgACTAAEbGVmdHEAfgArTAAFcmlnaHRxAH4AK3hyADhvcmcuZHJvb2xzLnJ1
-bGUuVmFyaWFibGVSZXN0cmljdGlvbiRWYXJpYWJsZUNvbnRleHRFbnRyeQD/dR3MmHnsAgAFTAAL
-ZGVjbGFyYXRpb25xAH4AfUwABWVudHJ5cQB+AJBMAAlleHRyYWN0b3JxAH4Ah0wABm9iamVjdHEA
-fgArTAAJcmV0ZVR1cGxldAAdTG9yZy9kcm9vbHMvcmV0ZW9vL1JldGVUdXBsZTt4cHEAfgCBcHEA
-fgCDcHBwcHEAfgCBcQB+AJV1cQB+AHUAAAABcQB+AIFzcQB+AHdxAH4AqnEAfgCmdAAHJHByaWNl
-MnNyACNvcmcuZHJvb2xzLnJ1bGUuUHJlZGljYXRlQ29uc3RyYWludP6Qj6YiW4c4AgADTAALZGVj
-bGFyYXRpb25xAH4AfUwACmV4cHJlc3Npb250ACRMb3JnL2Ryb29scy9zcGkvUHJlZGljYXRlRXhw
-cmVzc2lvbjtbABRyZXF1aXJlZERlY2xhcmF0aW9uc3EAfgBteHBxAH4At3NyAExvcmcuZHJvb2xz
-LmNvbXBpbGVyLlJ1bGVfdGhyZWVfY29sdW1uc193aXRoX2NvbnN0cmFpbnRzXzFfMFByZWRpY2F0
-ZTBJbnZva2VyAAAAAAAAAUACAAB4cHVxAH4AdQAAAAFxAH4AenhxAH4AqXNxAH4ALgFxAH4ANHZy
-ABxvcmcuZHJvb2xzLkNoZWVzZVNoYWRvd1Byb3h5kNzUvXeQCr4CAAVJAAhnZXRQcmljZVoADWdl
-dFByaWNlSXNTZXRaAAxnZXRUeXBlSXNTZXRMAAhkZWxlZ2F0ZXEAfgA2TAAHZ2V0VHlwZXEAfgAz
-eHEAfgAycQB+ADpzcQB+AKNxAH4Av3QACCRjaGVlc2UycQB+AIFxAH4At3EAfgCic3EAfgANP0AA
-AAAAAAx3CAAAABAAAAAFcQB+AKhxAH4AenEAfgDDcQB+AKlxAH4AhXEAfgCBcQB+ALhxAH4At3EA
-fgClcQB+AKJ4cHNyABNvcmcuZHJvb2xzLnJ1bGUuQW5k/PjnIvCmw3YCAAB4cgAcb3JnLmRyb29s
-cy5ydWxlLkdyb3VwRWxlbWVudMbck79vtelYAgABTAAIY2hpbGRyZW5xAH4AfHhyACJvcmcuZHJv
-b2xzLnJ1bGUuQ29uZGl0aW9uYWxFbGVtZW50xgxz6WbzojYCAAB4cHNxAH4AfwAAAAN3BAAAAApx
-AH4AfnEAfgCqc3EAfgB7AAAAAgAAAABzcQB+AH8AAAABdwQAAAABc3EAfgCsc3EAfgCCdnIAEW9y
-Zy5kcm9vbHMuUGVyc29uJKQvAhefuGYCAAlJAANhZ2VaAAVhbGl2ZUMAA3NleEwACmJpZ0RlY2lt
-YWx0ABZMamF2YS9tYXRoL0JpZ0RlY2ltYWw7TAAKYmlnSW50ZWdlcnQAFkxqYXZhL21hdGgvQmln
-SW50ZWdlcjtMAARoYWlycQB+ADNMAAVsaWtlc3EAfgAzTAAEbmFtZXEAfgAzTAAGc3RhdHVzcQB+
-ADN4cHQABG5hbWVzcQB+AK9zcQB+ALJxAH4AgXBxAH4AzXBwcHBxAH4AgXEAfgCVdXEAfgB1AAAA
-AXEAfgCBeHBzcQB+AC4BcQB+ANF2cgAcb3JnLmRyb29scy5QZXJzb25TaGFkb3dQcm94efJLXAsl
-Ff7PAgATSQAGZ2V0QWdlWgALZ2V0QWdlSXNTZXRaABJnZXRCaWdEZWNpbWFsSXNTZXRaABJnZXRC
-aWdJbnRlZ2VySXNTZXRaAAxnZXRIYWlySXNTZXRaAA1nZXRMaWtlc0lzU2V0WgAMZ2V0TmFtZUlz
-U2V0QwAGZ2V0U2V4WgALZ2V0U2V4SXNTZXRaAA5nZXRTdGF0dXNJc1NldFoAB2lzQWxpdmVaAAxp
-c0FsaXZlSXNTZXRMAAhkZWxlZ2F0ZXQAE0xvcmcvZHJvb2xzL1BlcnNvbjtMAA1nZXRCaWdEZWNp
-bWFscQB+AM9MAA1nZXRCaWdJbnRlZ2VycQB+ANBMAAdnZXRIYWlycQB+ADNMAAhnZXRMaWtlc3EA
-fgAzTAAHZ2V0TmFtZXEAfgAzTAAJZ2V0U3RhdHVzcQB+ADN4cQB+AM5xAH4AOnh0ACB0aHJlZSBj
-b2x1bW5zIHdpdGggY29uc3RyYWludHMgMXBxAH4AZnNyACdvcmcuZHJvb2xzLmNvbW1vbi5TaW5n
-bGVCZXRhQ29uc3RyYWludHMAAAAAAAABQAIABFoAB2luZGV4ZWRMAARjb25mdAAiTG9yZy9kcm9v
-bHMvUnVsZUJhc2VDb25maWd1cmF0aW9uO0wACmNvbnN0cmFpbnR0AChMb3JnL2Ryb29scy9zcGkv
-QmV0YU5vZGVGaWVsZENvbnN0cmFpbnQ7TAAHY29udGV4dHEAfgCQeHABcQB+ABJxAH4AzHEAfgDU
-cQB+AGBwc3EAfgBoAAAAAAgAAAAAcHEAfgBmc3EAfgBrAAAAAAAAAAACAAAAAAABcHEAfgByc3IA
-TW9yZy5kcm9vbHMuY29tcGlsZXIuUnVsZV90aHJlZV9jb2x1bW5zX3dpdGhfY29uc3RyYWludHNf
-Ml8wQ29uc2VxdWVuY2VJbnZva2VyAAAAAAAAAUACAAB4cHVxAH4AdQAAAAVzcQB+AHdzcQB+AHsA
-AAAAAAAAAHNxAH4AfwAAAAN3BAAAAARzcQB+AHdxAH4A5XEAfgCDdAAFJHR5cGVzcQB+AIZxAH4A
-g3NxAH4AinNxAH4Aj3EAfgCDcHBxAH4AlXNxAH4An3EAfgChcQB+AOR4c3EAfgB3cQB+AOVzcQB+
-AKNzcQB+AC4BcQB+ADR2cgAcb3JnLmRyb29scy5DaGVlc2VTaGFkb3dQcm94eZDc1L13kAq+AgAF
-SQAIZ2V0UHJpY2VaAA1nZXRQcmljZUlzU2V0WgAMZ2V0VHlwZUlzU2V0TAAIZGVsZWdhdGVxAH4A
-NkwAB2dldFR5cGVxAH4AM3hxAH4AMnEAfgA6dAAIJGNoZWVzZTFxAH4A73EAfgCmdAAHJHByaWNl
-MXNxAH4Ad3NxAH4AewAAAAEAAAAAc3EAfgB/AAAAA3cEAAAABHNxAH4ArHEAfgCDc3EAfgCvc3EA
-fgCycQB+AOdwcQB+AINwcHBwcQB+AOdxAH4AlXVxAH4AdQAAAAFxAH4A53NxAH4Ad3EAfgD1cQB+
-AKZ0AAckcHJpY2Uyc3EAfgC5cQB+APtzcgBMb3JnLmRyb29scy5jb21waWxlci5SdWxlX3RocmVl
-X2NvbHVtbnNfd2l0aF9jb25zdHJhaW50c18yXzBQcmVkaWNhdGUwSW52b2tlcgAAAAAAAAFAAgAA
-eHB1cQB+AHUAAAABcQB+AOR4cQB+APRzcQB+AC4BcQB+ADR2cgAcb3JnLmRyb29scy5DaGVlc2VT
-aGFkb3dQcm94eZDc1L13kAq+AgAFSQAIZ2V0UHJpY2VaAA1nZXRQcmljZUlzU2V0WgAMZ2V0VHlw
-ZUlzU2V0TAAIZGVsZWdhdGVxAH4ANkwAB2dldFR5cGVxAH4AM3hxAH4AMnEAfgA6c3EAfgCjcQB+
-AQF0AAgkY2hlZXNlMnEAfgDncQB+APtxAH4A7XNxAH4ADT9AAAAAAAAMdwgAAAAQAAAABXEAfgDz
-cQB+AORxAH4BBXEAfgD0cQB+AOhxAH4A53EAfgD8cQB+APtxAH4A8nEAfgDteHBzcQB+AMVzcQB+
-AH8AAAACdwQAAAAKcQB+AOVxAH4A9Xh0ACB0aHJlZSBjb2x1bW5zIHdpdGggY29uc3RyYWludHMg
-MnBxAH4AYHBwc3EAfgBAAQAAAAUAAAAAAAAAA3BzcQB+AFFxAH4AZnEAfgDWcQB+AB1xAH4A33Ny
-ACdvcmcuZHJvb2xzLmNvbW1vbi5Eb3VibGVCZXRhQ29uc3RyYWludHMAAAAAAAABQAIAB1oACGlu
-ZGV4ZWQwWgAIaW5kZXhlZDFMAARjb25mcQB+ANxMAAtjb25zdHJhaW50MHEAfgDdTAALY29uc3Ry
-YWludDFxAH4A3UwACGNvbnRleHQwcQB+AJBMAAhjb250ZXh0MXEAfgCQeHABAHEAfgAScQB+AK5x
-AH4Au3EAfgC1c3IAOW9yZy5kcm9vbHMucnVsZS5QcmVkaWNhdGVDb25zdHJhaW50JFByZWRpY2F0
-ZUNvbnRleHRFbnRyeTqG6eC/3GoTAgAETAAFZW50cnlxAH4AkEwACWxlZnRUdXBsZXEAfgC0TAAL
-cmlnaHRPYmplY3RxAH4AK0wADXdvcmtpbmdNZW1vcnl0AClMb3JnL2Ryb29scy9jb21tb24vSW50
-ZXJuYWxXb3JraW5nTWVtb3J5O3hwcHBwcHEAfgBXcHBwcHEAfgBDcHEAfgBQcHEAfgCJcHBxAH4A
-UHNyABpvcmcuZHJvb2xzLnV0aWwuTGlua2VkTGlzdAAAAAAAAAFAAgAESQAEc2l6ZUwACWZpcnN0
-Tm9kZXQAIExvcmcvZHJvb2xzL3V0aWwvTGlua2VkTGlzdE5vZGU7TAAIaXRlcmF0b3J0AC9Mb3Jn
-L2Ryb29scy91dGlsL0xpbmtlZExpc3QkTGlua2VkTGlzdEl0ZXJhdG9yO0wACGxhc3ROb2RlcQB+
-ARJ4cAAAAAFzcgA3b3JnLmRyb29scy5yZXRlb28uQ29tcG9zaXRlT2JqZWN0U2lua0FkYXB0ZXIk
-RmllbGRJbmRleDV7H+K3TvCUAgAGSQAFY291bnRaAAZoYXNoZWRJAAVpbmRleEwADWZpZWxkRXh0
-YWN0b3JxAH4Ah0wABG5leHRxAH4BEkwACHByZXZpb3VzcQB+ARJ4cAAAAAEAAAAAAXEAfgCDcHBz
-cgAtb3JnLmRyb29scy51dGlsLkxpbmtlZExpc3QkTGlua2VkTGlzdEl0ZXJhdG9y/MXgPNEGp/kC
-AANMAAdjdXJyZW50cQB+ARJMAARsaXN0cQB+AEdMAAZ0aGlzJDBxAH4AR3hwcHBxAH4BFHEAfgEW
-cHNxAH4ASwAAAAFxAH4AYHEAfgBgcQB+ADFxAH4AHXBwcHBzcQB+ACoj2UhKcQB+ANZwcQB+AQpw
-cHBwcHNyAB9vcmcuZHJvb2xzLnJldGVvby5SZXRlb29CdWlsZGVyGB1Z+4/IA/ACAAlJABdjdXJy
-ZW50T2Zmc2V0QWRqdXN0bWVudEkAAmlkWgAQcmVtb3ZlSWRlbnRpdGllc0wADWF0dGFjaGVkTm9k
-ZXNxAH4AbkwADGRlY2xhcmF0aW9uc3EAfgBuTAAMb2JqZWN0U291cmNlcQB+ABpMAApvYmplY3RU
-eXBlcQB+AG5MAAVydWxlc3EAfgBuTAALdHVwbGVTb3VyY2VxAH4AXnhwAAAAAAAAAAkAc3EAfgAN
-P0AAAAAAAAx3CAAAABAAAAAGcQB+AQpxAH4BCnEAfgBDcQB+AENxAH4AYHEAfgBgcQB+AGZxAH4A
-ZnEAfgBXcQB+AFdxAH4AUHEAfgBQeHNxAH4ADT9AAAAAAAAMdwgAAAAQAAAABXEAfgDzcQB+AORx
-AH4BBXEAfgD0cQB+AOhxAH4A53EAfgD8cQB+APtxAH4A8nEAfgDteHEAfgBDc3IAF2phdmEudXRp
-bC5MaW5rZWRIYXNoTWFwNMBOXBBswPsCAAFaAAthY2Nlc3NPcmRlcnhxAH4ADT9AAAAAAAAMdwgA
-AAAQAAAAAHgAc3EAfgANP0AAAAAAAAx3CAAAABAAAAACcQB+AHF1cgAdW0xvcmcuZHJvb2xzLmNv
-bW1vbi5CYXNlTm9kZTt4D+Z1fQr+JQIAAHhwAAAAAXEAfgBqcQB+AOB1cQB+ASIAAAABcQB+AN94
-cQB+AGA=</byte-array>
-</org.drools.reteoo.ReteooRuleBase>
\ No newline at end of file

Deleted: labs/jbossrules/trunk/drools-compiler/src/test/resources/org/drools/reteoo/test_ThreeColumnsWithConstraints.drl
===================================================================
--- labs/jbossrules/trunk/drools-compiler/src/test/resources/org/drools/reteoo/test_ThreeColumnsWithConstraints.drl	2007-04-24 12:26:00 UTC (rev 11294)
+++ labs/jbossrules/trunk/drools-compiler/src/test/resources/org/drools/reteoo/test_ThreeColumnsWithConstraints.drl	2007-04-24 12:52:09 UTC (rev 11295)
@@ -1,23 +0,0 @@
-package org.drools.compiler;
-
-import org.drools.Cheese;
-import org.drools.Person;
-
-rule "three columns with constraints 1"
-  when  		  	
-    $cheese1 : Cheese( $type : type == "cheddar", $price1 : price )
-    $cheese2 : Cheese( type == $type, $price2 : price -> ( $price1 == $price2 ) )    
-    Person( name == $type )
-  then
-	System.out.println( "done 1" );
-end
-
-
-rule "three columns with constraints 2"
-  when  		  	
-    $cheese1 : Cheese( $type : type == "cheddar", $price1 : price )
-    $cheese2 : Cheese( type == $type, $price2 : price -> ( $price1 == $price2 ) )   
-  then
-	System.out.println( "done 2" );
-
-end

Copied: labs/jbossrules/trunk/drools-compiler/src/test/resources/org/drools/reteoo/test_ThreePatternsWithConstraints.drl (from rev 11268, labs/jbossrules/trunk/drools-compiler/src/test/resources/org/drools/reteoo/test_ThreeColumnsWithConstraints.drl)
===================================================================
--- labs/jbossrules/trunk/drools-compiler/src/test/resources/org/drools/reteoo/test_ThreePatternsWithConstraints.drl	                        (rev 0)
+++ labs/jbossrules/trunk/drools-compiler/src/test/resources/org/drools/reteoo/test_ThreePatternsWithConstraints.drl	2007-04-24 12:52:09 UTC (rev 11295)
@@ -0,0 +1,23 @@
+package org.drools.compiler;
+
+import org.drools.Cheese;
+import org.drools.Person;
+
+rule "three patterns with constraints 1"
+  when  		  	
+    $cheese1 : Cheese( $type : type == "cheddar", $price1 : price )
+    $cheese2 : Cheese( type == $type, $price2 : price -> ( $price1 == $price2 ) )    
+    Person( name == $type )
+  then
+	System.out.println( "done 1" );
+end
+
+
+rule "three patterns with constraints 2"
+  when  		  	
+    $cheese1 : Cheese( $type : type == "cheddar", $price1 : price )
+    $cheese2 : Cheese( type == $type, $price2 : price -> ( $price1 == $price2 ) )   
+  then
+	System.out.println( "done 2" );
+
+end

Modified: labs/jbossrules/trunk/drools-compiler/src/test/resources/org/drools/xml/test_ParseLhs.xml
===================================================================
--- labs/jbossrules/trunk/drools-compiler/src/test/resources/org/drools/xml/test_ParseLhs.xml	2007-04-24 12:26:00 UTC (rev 11294)
+++ labs/jbossrules/trunk/drools-compiler/src/test/resources/org/drools/xml/test_ParseLhs.xml	2007-04-24 12:52:09 UTC (rev 11295)
@@ -27,13 +27,13 @@
 			<or>
 			</or>
 			
-			<column object-type="Foo" >			
-			</column>							
+			<pattern object-type="Foo" >			
+			</pattern>							
 				
-			<column identifier="bar" object-type="Bar" >			
-			</column>		
+			<pattern identifier="bar" object-type="Bar" >			
+			</pattern>		
 									
-			<column object-type="Foo">
+			<pattern object-type="Foo">
 			    <field-constraint field-name="field1">
 				    <literal-restriction       evaluator="==" value="value1" />
     				<return-value-restriction  evaluator="==">1==1</return-value-restriction>				    
@@ -43,28 +43,28 @@
 				<predicate field-name="field1" identifier="var1">1==1</predicate>
 														
 				<field-binding field-name="field1" identifier="var1" />				
-			</column>		
+			</pattern>		
 			
 			<not>
-				<column object-type="Bar" />			
+				<pattern object-type="Bar" />			
 			</not>
 			
 			<exists>
-				<column object-type="Bar" />							
+				<pattern object-type="Bar" />							
 			</exists>		
 			
 			<and>
 				<or>
-					<column object-type="Bar" />			
+					<pattern object-type="Bar" />			
 				</or>
-				<column object-type="Yada" />							
+				<pattern object-type="Yada" />							
 			</and>							
 				
 			<or>
 				<and>
-					<column object-type="Foo" />							
+					<pattern object-type="Foo" />							
 				</and>	
-				<column object-type="Zaa" />			
+				<pattern object-type="Zaa" />			
 			</or>	
 			
 			<eval>1==1</eval>					

Modified: labs/jbossrules/trunk/drools-compiler/src/test/resources/org/drools/xml/test_ParseQuery.xml
===================================================================
--- labs/jbossrules/trunk/drools-compiler/src/test/resources/org/drools/xml/test_ParseQuery.xml	2007-04-24 12:26:00 UTC (rev 11294)
+++ labs/jbossrules/trunk/drools-compiler/src/test/resources/org/drools/xml/test_ParseQuery.xml	2007-04-24 12:52:09 UTC (rev 11295)
@@ -21,7 +21,7 @@
 	
 	<query name="my query">
 		<lhs>
-	       <column object-type="Foo" />							
+	       <pattern object-type="Foo" />							
 		</lhs>		
 	</query>
 </package>
\ No newline at end of file

Modified: labs/jbossrules/trunk/drools-compiler/src/test/resources/org/drools/xml/test_ParseRule.xml
===================================================================
--- labs/jbossrules/trunk/drools-compiler/src/test/resources/org/drools/xml/test_ParseRule.xml	2007-04-24 12:26:00 UTC (rev 11294)
+++ labs/jbossrules/trunk/drools-compiler/src/test/resources/org/drools/xml/test_ParseRule.xml	2007-04-24 12:52:09 UTC (rev 11295)
@@ -26,7 +26,7 @@
 	<rule-attribute name="activation-group" value="activation-group" />
 
 	<lhs>
-		<column identifier="foo3" object-type="Bar" >
+		<pattern identifier="foo3" object-type="Bar" >
 			<field-constraint field-name="a"> 
 				<literal-restriction evaluator="==" value="3" />
 				<restriction-connective connective="|"/>
@@ -38,38 +38,38 @@
 			<field-constraint field-name="a4"> 
 				<literal-restriction evaluator="==" value="null" />
 			</field-constraint>
-		</column>
+		</pattern>
 
-		<column identifier="foo4" object-type="Bar" >
+		<pattern identifier="foo4" object-type="Bar" >
 			<field-binding field-name="a" identifier="a4" />
 			<field-constraint field-name="a"> 
 				<literal-restriction evaluator="!=" value="4" />
 				<restriction-connective connective="&amp;"/>
 				<literal-restriction evaluator="!=" value="5" />
 			</field-constraint>
-		</column>
+		</pattern>
 
-		<column identifier="foo5" object-type="Bar" >
+		<pattern identifier="foo5" object-type="Bar" >
 			<field-constraint field-name="b"> 
 				<return-value-restriction evaluator="==" >a4 + 1</return-value-restriction>
 				<restriction-connective connective="|"/>
 				<variable-restriction evaluator="&gt;" identifier="a4" />
 			</field-constraint>
-		</column>
+		</pattern>
 
-		<column identifier="foo6" object-type="Bar" >
+		<pattern identifier="foo6" object-type="Bar" >
 			<field-binding field-name="a" identifier="a4" />
 			<field-constraint field-name="b"> 
 				<literal-restriction evaluator="==" value="6" />
 			</field-constraint>
-		</column>
+		</pattern>
 
-		<column identifier="foo7" object-type="Bar" >
+		<pattern identifier="foo7" object-type="Bar" >
 			<field-binding field-name="a" identifier="a4" />
 			<field-binding field-name="b" identifier="b4" />
-		</column>
+		</pattern>
 
-		<column object-type="Baz" > </column>
+		<pattern object-type="Baz" > </pattern>
 	</lhs>
 	<rhs>  
 		  if ( a == b ) {

Modified: labs/jbossrules/trunk/drools-core/src/main/java/org/drools/common/InstanceEqualsConstraint.java
===================================================================
--- labs/jbossrules/trunk/drools-core/src/main/java/org/drools/common/InstanceEqualsConstraint.java	2007-04-24 12:26:00 UTC (rev 11294)
+++ labs/jbossrules/trunk/drools-core/src/main/java/org/drools/common/InstanceEqualsConstraint.java	2007-04-24 12:52:09 UTC (rev 11295)
@@ -17,7 +17,7 @@
 package org.drools.common;
 
 import org.drools.reteoo.ReteTuple;
-import org.drools.rule.Column;
+import org.drools.rule.Pattern;
 import org.drools.rule.ContextEntry;
 import org.drools.rule.Declaration;
 import org.drools.spi.BetaNodeFieldConstraint;
@@ -39,22 +39,22 @@
 
     private final Declaration[] declarations     = new Declaration[0];
 
-    private Column              otherColumn;
+    private Pattern              otherPattern;
 
-    public InstanceEqualsConstraint(final Column otherColumn) {
-        this.otherColumn = otherColumn;
+    public InstanceEqualsConstraint(final Pattern otherPattern) {
+        this.otherPattern = otherPattern;
     }
 
     public Declaration[] getRequiredDeclarations() {
         return this.declarations;
     }
 
-    public Column getOtherColumn() {
-        return this.otherColumn;
+    public Pattern getOtherPattern() {
+        return this.otherPattern;
     }
 
     public ContextEntry getContextEntry() {
-        return new InstanceEqualsConstraintContextEntry( this.otherColumn );
+        return new InstanceEqualsConstraintContextEntry( this.otherPattern );
     }
 
     public boolean isAllowedCachedLeft(final ContextEntry context,
@@ -64,15 +64,15 @@
 
     public boolean isAllowedCachedRight(final ReteTuple tuple,
                                         final ContextEntry context) {
-        return tuple.get( this.otherColumn.getOffset() ).getObject() == ((InstanceEqualsConstraintContextEntry) context).right;
+        return tuple.get( this.otherPattern.getOffset() ).getObject() == ((InstanceEqualsConstraintContextEntry) context).right;
     }
 
     public String toString() {
-        return "[InstanceEqualsConstraint otherColumn=" + this.otherColumn + " ]";
+        return "[InstanceEqualsConstraint otherPattern=" + this.otherPattern + " ]";
     }
 
     public int hashCode() {
-        return this.otherColumn.hashCode();
+        return this.otherPattern.hashCode();
     }
 
     public boolean equals(final Object object) {
@@ -85,7 +85,7 @@
         }
 
         final InstanceEqualsConstraint other = (InstanceEqualsConstraint) object;
-        return this.otherColumn.equals( other.otherColumn );
+        return this.otherPattern.equals( other.otherPattern );
     }
 
     public static class InstanceEqualsConstraintContextEntry
@@ -97,11 +97,11 @@
         public Object             left;
         public Object             right;
 
-        private Column            column;
+        private Pattern            pattern;
         private ContextEntry      entry;
 
-        public InstanceEqualsConstraintContextEntry(final Column column) {
-            this.column = column;
+        public InstanceEqualsConstraintContextEntry(final Pattern pattern) {
+            this.pattern = pattern;
         }
 
         public ContextEntry getNext() {
@@ -114,7 +114,7 @@
 
         public void updateFromTuple(final InternalWorkingMemory workingMemory,
                                     final ReteTuple tuple) {
-            this.left = tuple.get( this.column.getOffset() ).getObject();
+            this.left = tuple.get( this.pattern.getOffset() ).getObject();
         }
 
         public void updateFromFactHandle(final InternalWorkingMemory workingMemory,

Modified: labs/jbossrules/trunk/drools-core/src/main/java/org/drools/common/InstanceNotEqualsConstraint.java
===================================================================
--- labs/jbossrules/trunk/drools-core/src/main/java/org/drools/common/InstanceNotEqualsConstraint.java	2007-04-24 12:26:00 UTC (rev 11294)
+++ labs/jbossrules/trunk/drools-core/src/main/java/org/drools/common/InstanceNotEqualsConstraint.java	2007-04-24 12:52:09 UTC (rev 11295)
@@ -17,7 +17,7 @@
  */
 
 import org.drools.reteoo.ReteTuple;
-import org.drools.rule.Column;
+import org.drools.rule.Pattern;
 import org.drools.rule.ContextEntry;
 import org.drools.rule.Declaration;
 import org.drools.spi.BetaNodeFieldConstraint;
@@ -30,22 +30,22 @@
 
     private static final Declaration[] declarations     = new Declaration[0];
 
-    private Column                     otherColumn;
+    private Pattern                     otherPattern;
 
-    public InstanceNotEqualsConstraint(final Column otherColumn) {
-        this.otherColumn = otherColumn;
+    public InstanceNotEqualsConstraint(final Pattern otherPattern) {
+        this.otherPattern = otherPattern;
     }
 
     public Declaration[] getRequiredDeclarations() {
         return InstanceNotEqualsConstraint.declarations;
     }
 
-    public Column getOtherColumn() {
-        return this.otherColumn;
+    public Pattern getOtherPattern() {
+        return this.otherPattern;
     }
 
     public ContextEntry getContextEntry() {
-        return new InstanceNotEqualsConstraintContextEntry( this.otherColumn );
+        return new InstanceNotEqualsConstraintContextEntry( this.otherPattern );
     }
 
     public boolean isAllowed(final ContextEntry entry) {
@@ -60,15 +60,15 @@
 
     public boolean isAllowedCachedRight(final ReteTuple tuple,
                                         final ContextEntry context) {
-        return tuple.get( this.otherColumn.getOffset() ).getObject() != ((InstanceNotEqualsConstraintContextEntry) context).right;
+        return tuple.get( this.otherPattern.getOffset() ).getObject() != ((InstanceNotEqualsConstraintContextEntry) context).right;
     }
 
     public String toString() {
-        return "[InstanceEqualsConstraint otherColumn=" + this.otherColumn + " ]";
+        return "[InstanceEqualsConstraint otherPattern=" + this.otherPattern + " ]";
     }
 
     public int hashCode() {
-        return this.otherColumn.hashCode();
+        return this.otherPattern.hashCode();
     }
 
     public boolean equals(final Object object) {
@@ -81,7 +81,7 @@
         }
 
         final InstanceNotEqualsConstraint other = (InstanceNotEqualsConstraint) object;
-        return this.otherColumn.equals( other.otherColumn );
+        return this.otherPattern.equals( other.otherPattern );
     }
 
     public static class InstanceNotEqualsConstraintContextEntry
@@ -92,11 +92,11 @@
         public Object             left;
         public Object             right;
 
-        private Column            column;
+        private Pattern            pattern;
         private ContextEntry      entry;
 
-        public InstanceNotEqualsConstraintContextEntry(final Column column) {
-            this.column = column;
+        public InstanceNotEqualsConstraintContextEntry(final Pattern pattern) {
+            this.pattern = pattern;
         }
 
         public ContextEntry getNext() {
@@ -109,7 +109,7 @@
 
         public void updateFromTuple(final InternalWorkingMemory workingMemory,
                                     final ReteTuple tuple) {
-            this.left = tuple.get( this.column.getOffset() ).getObject();
+            this.left = tuple.get( this.pattern.getOffset() ).getObject();
         }
 
         public void updateFromFactHandle(final InternalWorkingMemory workingMemory,

Modified: labs/jbossrules/trunk/drools-core/src/main/java/org/drools/facttemplates/FactTemplate.java
===================================================================
--- labs/jbossrules/trunk/drools-core/src/main/java/org/drools/facttemplates/FactTemplate.java	2007-04-24 12:26:00 UTC (rev 11294)
+++ labs/jbossrules/trunk/drools-core/src/main/java/org/drools/facttemplates/FactTemplate.java	2007-04-24 12:52:09 UTC (rev 11295)
@@ -42,7 +42,7 @@
 
     /**
      * templates may have 1 or more slots. A slot is a named
-     * column with a specific type of value.
+     * pattern with a specific type of value.
      * @return
      */
     int getNumberOfFields();
@@ -60,14 +60,14 @@
     FieldTemplate getFieldTemplate(String name);
 
     /**
-     * Get the Slot at the given column id
+     * Get the Slot at the given pattern id
      * @param index
      * @return
      */
     FieldTemplate getFieldTemplate(int index);
 
     /**
-     * Get the column index with the given name
+     * Get the pattern index with the given name
      * @param name
      * @return
      */

Modified: labs/jbossrules/trunk/drools-core/src/main/java/org/drools/facttemplates/FactTemplateImpl.java
===================================================================
--- labs/jbossrules/trunk/drools-core/src/main/java/org/drools/facttemplates/FactTemplateImpl.java	2007-04-24 12:26:00 UTC (rev 11294)
+++ labs/jbossrules/trunk/drools-core/src/main/java/org/drools/facttemplates/FactTemplateImpl.java	2007-04-24 12:52:09 UTC (rev 11295)
@@ -109,7 +109,7 @@
     }
 
     /**
-     * get the Slot at the given column id
+     * get the Slot at the given pattern id
      * @param id
      * @return
      */
@@ -118,7 +118,7 @@
     }
 
     /**
-     * Look up the column index of the slot
+     * Look up the pattern index of the slot
      * @param name
      * @return
      */

Modified: labs/jbossrules/trunk/drools-core/src/main/java/org/drools/reteoo/LeftInputAdapterNode.java
===================================================================
--- labs/jbossrules/trunk/drools-core/src/main/java/org/drools/reteoo/LeftInputAdapterNode.java	2007-04-24 12:26:00 UTC (rev 11294)
+++ labs/jbossrules/trunk/drools-core/src/main/java/org/drools/reteoo/LeftInputAdapterNode.java	2007-04-24 12:52:09 UTC (rev 11295)
@@ -28,7 +28,7 @@
 import org.drools.util.AbstractHashTable.FactEntry;
 
 /**
- * All asserting Facts must propagated into the right <code>ObjectSink</code> side of a BetaNode, if this is the first Column
+ * All asserting Facts must propagated into the right <code>ObjectSink</code> side of a BetaNode, if this is the first Pattern
  * then there are no BetaNodes to propagate to. <code>LeftInputAdapter</code> is used to adapt an ObjectSink propagation into a 
  * <code>TupleSource</code> which propagates a <code>ReteTuple</code> suitable fot the right <code>ReteTuple</code> side 
  * of a <code>BetaNode</code>.
@@ -55,7 +55,7 @@
 
     //    /**
     //     * Constructus a LeftInputAdapterNode with a unique id that receives <code>FactHandle</code> from a 
-    //     * parent <code>ObjectSource</code> and adds it to a given column in the resulting Tuples.
+    //     * parent <code>ObjectSource</code> and adds it to a given pattern in the resulting Tuples.
     //     * 
     //     * @param id
     //     *      The unique id of this node in the current Rete network
@@ -71,7 +71,7 @@
 
     /**
      * Constructus a LeftInputAdapterNode with a unique id that receives <code>FactHandle</code> from a 
-     * parent <code>ObjectSource</code> and adds it to a given column in the resulting Tuples.
+     * parent <code>ObjectSource</code> and adds it to a given pattern in the resulting Tuples.
      * 
      * @param id
      *      The unique id of this node in the current Rete network
@@ -79,7 +79,7 @@
      *      The parent node, where Facts are propagated from
      * @param binder
      *      An optional binder to filter out propagations. This binder will exist when
-     *      a predicate is used in the first column, for instance
+     *      a predicate is used in the first pattern, for instance
      */
     public LeftInputAdapterNode(final int id,
                                 final ObjectSource source) {

Modified: labs/jbossrules/trunk/drools-core/src/main/java/org/drools/reteoo/ObjectTypeNode.java
===================================================================
--- labs/jbossrules/trunk/drools-core/src/main/java/org/drools/reteoo/ObjectTypeNode.java	2007-04-24 12:26:00 UTC (rev 11294)
+++ labs/jbossrules/trunk/drools-core/src/main/java/org/drools/reteoo/ObjectTypeNode.java	2007-04-24 12:52:09 UTC (rev 11295)
@@ -361,7 +361,7 @@
         boolean usesDecl = false;
         final Declaration[] declarations = constraint.getRequiredDeclarations();
         for ( int j = 0; !usesDecl && j < declarations.length; j++ ) {
-            usesDecl = (declarations[j].getColumn().getObjectType() == this.objectType);
+            usesDecl = (declarations[j].getPattern().getObjectType() == this.objectType);
         }
         return usesDecl;
     }

Modified: labs/jbossrules/trunk/drools-core/src/main/java/org/drools/reteoo/ReteTuple.java
===================================================================
--- labs/jbossrules/trunk/drools-core/src/main/java/org/drools/reteoo/ReteTuple.java	2007-04-24 12:26:00 UTC (rev 11294)
+++ labs/jbossrules/trunk/drools-core/src/main/java/org/drools/reteoo/ReteTuple.java	2007-04-24 12:52:09 UTC (rev 11295)
@@ -103,7 +103,7 @@
     }
 
     public InternalFactHandle get(final Declaration declaration) {
-        return get( declaration.getColumn().getOffset() );
+        return get( declaration.getPattern().getOffset() );
     }
 
     public Activation getActivation() {

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	2007-04-24 12:26:00 UTC (rev 11294)
+++ labs/jbossrules/trunk/drools-core/src/main/java/org/drools/reteoo/builder/AccumulateBuilder.java	2007-04-24 12:52:09 UTC (rev 11295)
@@ -24,7 +24,7 @@
 import org.drools.reteoo.AccumulateNode;
 import org.drools.reteoo.TupleSource;
 import org.drools.rule.Accumulate;
-import org.drools.rule.Column;
+import org.drools.rule.Pattern;
 import org.drools.rule.Declaration;
 import org.drools.rule.LiteralConstraint;
 import org.drools.rule.RuleConditionElement;
@@ -46,21 +46,21 @@
                       final RuleConditionElement rce) {
         final Accumulate accumulate = (Accumulate) rce;
 
-        final Column sourceColumn = accumulate.getSourceColumn();
+        final Pattern sourcePattern = accumulate.getSourcePattern();
 
-        // get builder for the column
-        final ReteooComponentBuilder builder = utils.getBuilderFor( sourceColumn );
+        // get builder for the pattern
+        final ReteooComponentBuilder builder = utils.getBuilderFor( sourcePattern );
 
-        // builds the source column
+        // builds the source pattern
         builder.build( context,
                        utils,
-                       sourceColumn );
+                       sourcePattern );
 
-        final Column column = accumulate.getResultColumn();
-        // adjusting target column offset to be the same as the source column
-        column.setOffset( context.getCurrentColumnOffset() - 1 );
+        final Pattern pattern = accumulate.getResultPattern();
+        // adjusting target pattern offset to be the same as the source pattern
+        pattern.setOffset( context.getCurrentPatternOffset() - 1 );
 
-        final List constraints = column.getConstraints();
+        final List constraints = pattern.getConstraints();
 
         final List betaConstraints = new ArrayList();
         final List alphaConstraints = new ArrayList();
@@ -93,7 +93,7 @@
                                                                                     context.getBetaconstraints(),
                                                                                     resultsBinder,
                                                                                     accumulate ) ) );
-        // source column was bound, so nulling context
+        // source pattern was bound, so nulling context
         context.setObjectSource( null );
     }
 

Modified: labs/jbossrules/trunk/drools-core/src/main/java/org/drools/reteoo/builder/BuildContext.java
===================================================================
--- labs/jbossrules/trunk/drools-core/src/main/java/org/drools/reteoo/builder/BuildContext.java	2007-04-24 12:26:00 UTC (rev 11294)
+++ labs/jbossrules/trunk/drools-core/src/main/java/org/drools/reteoo/builder/BuildContext.java	2007-04-24 12:52:09 UTC (rev 11295)
@@ -46,8 +46,8 @@
     // object type cache to check for cross products
     private Map                       objectType;
 
-    // offset of the column
-    private int                       currentColumnOffset;
+    // offset of the pattern
+    private int                       currentPatternOffset;
 
     // rule base to add rules to
     private ReteooRuleBase            rulebase;
@@ -61,7 +61,7 @@
     // a build stack to track nested elements
     private LinkedList                buildstack;
 
-    // beta constraints from the last column attached
+    // beta constraints from the last pattern attached
     BetaConstraints                   betaconstraints;
 
     public BuildContext(final ReteooRuleBase rulebase,
@@ -76,21 +76,21 @@
         this.tupleSource = null;
         this.objectSource = null;
 
-        this.currentColumnOffset = 0;
+        this.currentPatternOffset = 0;
     }
 
     /**
-     * @return the currentColumnOffset
+     * @return the currentPatternOffset
      */
-    public int getCurrentColumnOffset() {
-        return this.currentColumnOffset;
+    public int getCurrentPatternOffset() {
+        return this.currentPatternOffset;
     }
 
     /**
-     * @param currentColumnOffset the currentColumnOffset to set
+     * @param currentPatternOffset the currentPatternOffset to set
      */
-    public void setCurrentColumnOffset(final int currentColumnIndex) {
-        this.currentColumnOffset = currentColumnIndex;
+    public void setCurrentPatternOffset(final int currentPatternIndex) {
+        this.currentPatternOffset = currentPatternIndex;
     }
 
     /**
@@ -135,12 +135,12 @@
         this.tupleSource = tupleSource;
     }
 
-    public void incrementCurrentColumnOffset() {
-        this.currentColumnOffset++;
+    public void incrementCurrentPatternOffset() {
+        this.currentPatternOffset++;
     }
 
-    public void decrementCurrentColumnOffset() {
-        this.currentColumnOffset--;
+    public void decrementCurrentPatternOffset() {
+        this.currentPatternOffset--;
     }
 
     /**

Modified: labs/jbossrules/trunk/drools-core/src/main/java/org/drools/reteoo/builder/BuildUtils.java
===================================================================
--- labs/jbossrules/trunk/drools-core/src/main/java/org/drools/reteoo/builder/BuildUtils.java	2007-04-24 12:26:00 UTC (rev 11294)
+++ labs/jbossrules/trunk/drools-core/src/main/java/org/drools/reteoo/builder/BuildUtils.java	2007-04-24 12:52:09 UTC (rev 11295)
@@ -203,7 +203,7 @@
             for ( final ListIterator it = context.stackIterator(); it.hasPrevious(); ) {
                 final RuleConditionElement rce = (RuleConditionElement) it.previous();
                 final Declaration decl = rce.resolveDeclaration( declarations[i].getIdentifier() );
-                if ( decl == null || decl.getColumn().getOffset() > declarations[i].getColumn().getOffset() ) {
+                if ( decl == null || decl.getPattern().getOffset() > declarations[i].getPattern().getOffset() ) {
                     list.add( declarations[i].getIdentifier() );
                 }
             }

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	2007-04-24 12:26:00 UTC (rev 11294)
+++ labs/jbossrules/trunk/drools-core/src/main/java/org/drools/reteoo/builder/CollectBuilder.java	2007-04-24 12:52:09 UTC (rev 11295)
@@ -24,7 +24,7 @@
 import org.drools.reteoo.CollectNode;
 import org.drools.reteoo.TupleSource;
 import org.drools.rule.Collect;
-import org.drools.rule.Column;
+import org.drools.rule.Pattern;
 import org.drools.rule.Declaration;
 import org.drools.rule.LiteralConstraint;
 import org.drools.rule.RuleConditionElement;
@@ -47,21 +47,21 @@
 
         final Collect collect = (Collect) rce;
 
-        final Column sourceColumn = collect.getSourceColumn();
+        final Pattern sourcePattern = collect.getSourcePattern();
 
-        // get builder for the column
-        final ReteooComponentBuilder builder = utils.getBuilderFor( sourceColumn );
+        // get builder for the pattern
+        final ReteooComponentBuilder builder = utils.getBuilderFor( sourcePattern );
 
-        // builds the source column
+        // builds the source pattern
         builder.build( context,
                        utils,
-                       sourceColumn );
+                       sourcePattern );
 
-        final Column column = collect.getResultColumn();
-        // adjusting target column offset to be the same as the source column
-        column.setOffset( context.getCurrentColumnOffset() - 1 );
+        final Pattern pattern = collect.getResultPattern();
+        // adjusting target pattern offset to be the same as the source pattern
+        pattern.setOffset( context.getCurrentPatternOffset() - 1 );
 
-        final List constraints = column.getConstraints();
+        final List constraints = pattern.getConstraints();
 
         final List betaConstraints = new ArrayList();
         final List alphaConstraints = new ArrayList();
@@ -94,7 +94,7 @@
                                                                                  context.getBetaconstraints(),
                                                                                  resultsBinder,
                                                                                  collect ) ) );
-        // source column was bound, so nulling context
+        // source pattern was bound, so nulling context
         context.setObjectSource( null );
     }
 

Deleted: labs/jbossrules/trunk/drools-core/src/main/java/org/drools/reteoo/builder/ColumnBuilder.java
===================================================================
--- labs/jbossrules/trunk/drools-core/src/main/java/org/drools/reteoo/builder/ColumnBuilder.java	2007-04-24 12:26:00 UTC (rev 11294)
+++ labs/jbossrules/trunk/drools-core/src/main/java/org/drools/reteoo/builder/ColumnBuilder.java	2007-04-24 12:52:09 UTC (rev 11295)
@@ -1,175 +0,0 @@
-/*
- * Copyright 2006 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.
- */
-
-package org.drools.reteoo.builder;
-
-import java.util.ArrayList;
-import java.util.Iterator;
-import java.util.List;
-import java.util.Map;
-
-import org.drools.base.ClassObjectType;
-import org.drools.common.BetaConstraints;
-import org.drools.common.InstanceNotEqualsConstraint;
-import org.drools.reteoo.AlphaNode;
-import org.drools.reteoo.ObjectSource;
-import org.drools.reteoo.ObjectTypeNode;
-import org.drools.rule.Column;
-import org.drools.rule.Declaration;
-import org.drools.rule.InvalidPatternException;
-import org.drools.rule.RuleConditionElement;
-import org.drools.spi.AlphaNodeFieldConstraint;
-import org.drools.spi.Constraint;
-
-/**
- * A builder for columns
- * 
- * @author etirelli
- */
-public class ColumnBuilder
-    implements
-    ReteooComponentBuilder {
-
-    /**
-     * @inheritDoc
-     */
-    public void build(final BuildContext context,
-                      final BuildUtils utils,
-                      final RuleConditionElement rce) {
-
-        final Column column = (Column) rce;
-
-        context.setBetaconstraints( this.attachColumn( context,
-                                                       utils,
-                                                       column ) );
-
-    }
-
-    private BetaConstraints attachColumn(final BuildContext context,
-                                         final BuildUtils utils,
-                                         final Column column) throws InvalidPatternException {
-
-        // Set column offset to the appropriate value
-        column.setOffset( context.getCurrentColumnOffset() );
-
-        context.incrementCurrentColumnOffset();
-
-        // Attach alpha nodes
-        final List predicates = attachAlphaNodes( context,
-                                                  utils,
-                                                  column );
-
-        // Create BetaConstraints object
-        final BetaConstraints binder = utils.createBetaNodeConstraint( context,
-                                                                       predicates );
-
-        return binder;
-    }
-
-    public List attachAlphaNodes(final BuildContext context,
-                                 final BuildUtils utils,
-                                 final Column column) throws InvalidPatternException {
-
-        final List constraints = column.getConstraints();
-
-        context.setObjectSource( (ObjectSource) utils.attachNode( context,
-                                                                  new ObjectTypeNode( context.getNextId(),
-                                                                                      column.getObjectType(),
-                                                                                      context.getRuleBase().getRete(),
-                                                                                      context.getRuleBase().getConfiguration().getAlphaNodeHashingThreshold() ) ) );
-
-        final List betaConstraints = new ArrayList();
-
-        // check if cross products for identity columns should be disabled
-        checkRemoveIdentities( context,
-                               column,
-                               betaConstraints );
-
-        for ( final Iterator it = constraints.iterator(); it.hasNext(); ) {
-            final Object object = it.next();
-            // Check if its a declaration
-            if ( object instanceof Declaration ) {
-                // nothing to be done
-                continue;
-            }
-
-            final Constraint constraint = (Constraint) object;
-            final Declaration[] declarations = constraint.getRequiredDeclarations();
-
-            boolean isAlphaConstraint = true;
-            for ( int i = 0; isAlphaConstraint && i < declarations.length; i++ ) {
-                if ( declarations[i].getColumn() != column ) {
-                    isAlphaConstraint = false;
-                }
-            }
-            if ( isAlphaConstraint ) {
-                context.setObjectSource( (ObjectSource) utils.attachNode( context,
-                                                                          new AlphaNode( context.getNextId(),
-                                                                                         (AlphaNodeFieldConstraint) constraint,
-                                                                                         context.getObjectSource() ) ) );
-            } else {
-                utils.checkUnboundDeclarations( context,
-                                                constraint.getRequiredDeclarations() );
-                betaConstraints.add( constraint );
-            }
-        }
-
-        return betaConstraints;
-    }
-
-    /**
-     * @param context
-     * @param column
-     * @param betaConstraints
-     */
-    private void checkRemoveIdentities(final BuildContext context,
-                                       final Column column,
-                                       final List betaConstraints) {
-        if ( context.getRuleBase().getConfiguration().isRemoveIdentities() && column.getObjectType().getClass() == ClassObjectType.class ) {
-            List columns = null;
-            // Check if this object type exists before
-            // If it does we need stop instance equals cross product
-            final Class thisClass = ((ClassObjectType) column.getObjectType()).getClassType();
-            for ( final Iterator it = context.getObjectType().entrySet().iterator(); it.hasNext(); ) {
-                final Map.Entry entry = (Map.Entry) it.next();
-                final Class previousClass = ((ClassObjectType) entry.getKey()).getClassType();
-                if ( thisClass.isAssignableFrom( previousClass ) ) {
-                    columns = (List) entry.getValue();
-                    for ( final Iterator columnsIt = columns.iterator(); columnsIt.hasNext(); ) {
-                        betaConstraints.add( new InstanceNotEqualsConstraint( (Column) columnsIt.next() ) );
-                    }
-                }
-            }
-            columns = (List) context.getObjectType().get( column.getObjectType() );
-            if ( columns == null ) {
-                columns = new ArrayList();
-            }
-            columns.add( column );
-
-            // Must be added after the checking, otherwise it matches against itself
-            context.getObjectType().put( column.getObjectType(),
-                                         columns );
-        }
-    }
-
-    /**
-     * @inheritDoc
-     */
-    public boolean requiresLeftActivation(final BuildUtils utils,
-                                          final RuleConditionElement rce) {
-        return false;
-    }
-}

Modified: labs/jbossrules/trunk/drools-core/src/main/java/org/drools/reteoo/builder/ForallBuilder.java
===================================================================
--- labs/jbossrules/trunk/drools-core/src/main/java/org/drools/reteoo/builder/ForallBuilder.java	2007-04-24 12:26:00 UTC (rev 11294)
+++ labs/jbossrules/trunk/drools-core/src/main/java/org/drools/reteoo/builder/ForallBuilder.java	2007-04-24 12:52:09 UTC (rev 11295)
@@ -18,7 +18,7 @@
 
 import java.util.Iterator;
 
-import org.drools.rule.Column;
+import org.drools.rule.Pattern;
 import org.drools.rule.Forall;
 import org.drools.rule.GroupElement;
 import org.drools.rule.GroupElementFactory;
@@ -42,20 +42,20 @@
         final Forall forall = (Forall) rce;
 
         // forall can be translated into
-        // not( baseColumn and not( <remaining_columns>+ ) ) 
+        // not( basePattern and not( <remaining_patterns>+ ) ) 
         // so we just do that:
 
         final GroupElement and = GroupElementFactory.newAndInstance();
-        and.addChild( forall.getBaseColumn() );
+        and.addChild( forall.getBasePattern() );
 
         final GroupElement not2 = GroupElementFactory.newNotInstance();
-        if ( forall.getRemainingColumns().size() == 1 ) {
-            not2.addChild( (Column) forall.getRemainingColumns().get( 0 ) );
+        if ( forall.getRemainingPatterns().size() == 1 ) {
+            not2.addChild( (Pattern) forall.getRemainingPatterns().get( 0 ) );
             and.addChild( not2 );
-        } else if ( forall.getRemainingColumns().size() > 1 ) {
+        } else if ( forall.getRemainingPatterns().size() > 1 ) {
             final GroupElement and2 = GroupElementFactory.newAndInstance();
-            for ( final Iterator it = forall.getRemainingColumns().iterator(); it.hasNext(); ) {
-                and2.addChild( (Column) it.next() );
+            for ( final Iterator it = forall.getRemainingPatterns().iterator(); it.hasNext(); ) {
+                and2.addChild( (Pattern) it.next() );
             }
             not2.addChild( and2 );
             and.addChild( not2 );

Modified: labs/jbossrules/trunk/drools-core/src/main/java/org/drools/reteoo/builder/FromBuilder.java
===================================================================
--- labs/jbossrules/trunk/drools-core/src/main/java/org/drools/reteoo/builder/FromBuilder.java	2007-04-24 12:26:00 UTC (rev 11294)
+++ labs/jbossrules/trunk/drools-core/src/main/java/org/drools/reteoo/builder/FromBuilder.java	2007-04-24 12:52:09 UTC (rev 11295)
@@ -23,7 +23,7 @@
 import org.drools.common.BetaConstraints;
 import org.drools.reteoo.FromNode;
 import org.drools.reteoo.TupleSource;
-import org.drools.rule.Column;
+import org.drools.rule.Pattern;
 import org.drools.rule.Declaration;
 import org.drools.rule.From;
 import org.drools.rule.LiteralConstraint;
@@ -46,13 +46,13 @@
                       final RuleConditionElement rce) {
         final From from = (From) rce;
 
-        final Column column = from.getColumn();
+        final Pattern pattern = from.getPattern();
 
-        // setting and incrementing column offset as appropriate
-        column.setOffset( context.getCurrentColumnOffset() );
-        context.incrementCurrentColumnOffset();
+        // setting and incrementing pattern offset as appropriate
+        pattern.setOffset( context.getCurrentPatternOffset() );
+        context.incrementCurrentPatternOffset();
 
-        final List constraints = column.getConstraints();
+        final List constraints = pattern.getConstraints();
 
         final List betaConstraints = new ArrayList();
         final List alphaConstraints = new ArrayList();

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	2007-04-24 12:26:00 UTC (rev 11294)
+++ labs/jbossrules/trunk/drools-core/src/main/java/org/drools/reteoo/builder/GroupElementBuilder.java	2007-04-24 12:52:09 UTC (rev 11295)
@@ -31,7 +31,7 @@
 import org.drools.reteoo.ObjectSource;
 import org.drools.reteoo.RightInputAdapterNode;
 import org.drools.reteoo.TupleSource;
-import org.drools.rule.Column;
+import org.drools.rule.Pattern;
 import org.drools.rule.GroupElement;
 import org.drools.rule.RuleConditionElement;
 
@@ -182,7 +182,7 @@
          * 
          * Not must verify what is the class of its child:
          * 
-         * If it is a column, a simple NotNode is added to the rulebase
+         * If it is a pattern, a simple NotNode is added to the rulebase
          * If it is a group element, than a subnetwork must be created
          */
         public void build(final BuildContext context,
@@ -191,7 +191,7 @@
             final GroupElement not = (GroupElement) rce;
 
             // NOT must save some context info to restore it later
-            final int currentColumnIndex = context.getCurrentColumnOffset();
+            final int currentPatternIndex = context.getCurrentPatternOffset();
             final TupleSource tupleSource = context.getTupleSource();
 
             // get child
@@ -205,8 +205,8 @@
                            utils,
                            child );
 
-            // if child is not a column adapt it into a subnetwork
-            if ( !(child instanceof Column) ) {
+            // if child is not a pattern adapt it into a subnetwork
+            if ( !(child instanceof Pattern) ) {
 
                 // attach right input adapter node to convert tuple source into an object source
                 context.setObjectSource( (ObjectSource) utils.attachNode( context,
@@ -236,8 +236,8 @@
             context.setBetaconstraints( null );
             context.setObjectSource( null );
 
-            // restore column index
-            context.setCurrentColumnOffset( currentColumnIndex );
+            // restore pattern index
+            context.setCurrentPatternOffset( currentPatternIndex );
         }
 
         public boolean requiresLeftActivation(final BuildUtils utils,
@@ -255,7 +255,7 @@
          * 
          * Exists must verify what is the class of its child:
          * 
-         * If it is a column, a simple ExistsNode is added to the rulebase
+         * If it is a pattern, a simple ExistsNode is added to the rulebase
          * If it is a group element, than a subnetwork must be created
          */
         public void build(final BuildContext context,
@@ -264,7 +264,7 @@
             final GroupElement exists = (GroupElement) rce;
 
             // EXISTS must save some context info to restore it later
-            final int currentColumnIndex = context.getCurrentColumnOffset();
+            final int currentPatternIndex = context.getCurrentPatternOffset();
             final TupleSource tupleSource = context.getTupleSource();
 
             // get child
@@ -278,8 +278,8 @@
                            utils,
                            child );
 
-            // if child is not a column adapt it into a subnetwork
-            if ( !(child instanceof Column) ) {
+            // if child is not a pattern adapt it into a subnetwork
+            if ( !(child instanceof Pattern) ) {
 
                 // attach right input adapter node to convert tuple source into an object source
                 context.setObjectSource( (ObjectSource) utils.attachNode( context,
@@ -309,8 +309,8 @@
             context.setBetaconstraints( null );
             context.setObjectSource( null );
 
-            // restore column index
-            context.setCurrentColumnOffset( currentColumnIndex );
+            // restore pattern index
+            context.setCurrentPatternOffset( currentPatternIndex );
         }
 
         /**

Copied: labs/jbossrules/trunk/drools-core/src/main/java/org/drools/reteoo/builder/PatternBuilder.java (from rev 11268, labs/jbossrules/trunk/drools-core/src/main/java/org/drools/reteoo/builder/ColumnBuilder.java)
===================================================================
--- labs/jbossrules/trunk/drools-core/src/main/java/org/drools/reteoo/builder/PatternBuilder.java	                        (rev 0)
+++ labs/jbossrules/trunk/drools-core/src/main/java/org/drools/reteoo/builder/PatternBuilder.java	2007-04-24 12:52:09 UTC (rev 11295)
@@ -0,0 +1,175 @@
+/*
+ * Copyright 2006 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.
+ */
+
+package org.drools.reteoo.builder;
+
+import java.util.ArrayList;
+import java.util.Iterator;
+import java.util.List;
+import java.util.Map;
+
+import org.drools.base.ClassObjectType;
+import org.drools.common.BetaConstraints;
+import org.drools.common.InstanceNotEqualsConstraint;
+import org.drools.reteoo.AlphaNode;
+import org.drools.reteoo.ObjectSource;
+import org.drools.reteoo.ObjectTypeNode;
+import org.drools.rule.Pattern;
+import org.drools.rule.Declaration;
+import org.drools.rule.InvalidPatternException;
+import org.drools.rule.RuleConditionElement;
+import org.drools.spi.AlphaNodeFieldConstraint;
+import org.drools.spi.Constraint;
+
+/**
+ * A builder for patterns
+ * 
+ * @author etirelli
+ */
+public class PatternBuilder
+    implements
+    ReteooComponentBuilder {
+
+    /**
+     * @inheritDoc
+     */
+    public void build(final BuildContext context,
+                      final BuildUtils utils,
+                      final RuleConditionElement rce) {
+
+        final Pattern pattern = (Pattern) rce;
+
+        context.setBetaconstraints( this.attachPattern( context,
+                                                       utils,
+                                                       pattern ) );
+
+    }
+
+    private BetaConstraints attachPattern(final BuildContext context,
+                                         final BuildUtils utils,
+                                         final Pattern pattern) throws InvalidPatternException {
+
+        // Set pattern offset to the appropriate value
+        pattern.setOffset( context.getCurrentPatternOffset() );
+
+        context.incrementCurrentPatternOffset();
+
+        // Attach alpha nodes
+        final List predicates = attachAlphaNodes( context,
+                                                  utils,
+                                                  pattern );
+
+        // Create BetaConstraints object
+        final BetaConstraints binder = utils.createBetaNodeConstraint( context,
+                                                                       predicates );
+
+        return binder;
+    }
+
+    public List attachAlphaNodes(final BuildContext context,
+                                 final BuildUtils utils,
+                                 final Pattern pattern) throws InvalidPatternException {
+
+        final List constraints = pattern.getConstraints();
+
+        context.setObjectSource( (ObjectSource) utils.attachNode( context,
+                                                                  new ObjectTypeNode( context.getNextId(),
+                                                                                      pattern.getObjectType(),
+                                                                                      context.getRuleBase().getRete(),
+                                                                                      context.getRuleBase().getConfiguration().getAlphaNodeHashingThreshold() ) ) );
+
+        final List betaConstraints = new ArrayList();
+
+        // check if cross products for identity patterns should be disabled
+        checkRemoveIdentities( context,
+                               pattern,
+                               betaConstraints );
+
+        for ( final Iterator it = constraints.iterator(); it.hasNext(); ) {
+            final Object object = it.next();
+            // Check if its a declaration
+            if ( object instanceof Declaration ) {
+                // nothing to be done
+                continue;
+            }
+
+            final Constraint constraint = (Constraint) object;
+            final Declaration[] declarations = constraint.getRequiredDeclarations();
+
+            boolean isAlphaConstraint = true;
+            for ( int i = 0; isAlphaConstraint && i < declarations.length; i++ ) {
+                if ( declarations[i].getPattern() != pattern ) {
+                    isAlphaConstraint = false;
+                }
+            }
+            if ( isAlphaConstraint ) {
+                context.setObjectSource( (ObjectSource) utils.attachNode( context,
+                                                                          new AlphaNode( context.getNextId(),
+                                                                                         (AlphaNodeFieldConstraint) constraint,
+                                                                                         context.getObjectSource() ) ) );
+            } else {
+                utils.checkUnboundDeclarations( context,
+                                                constraint.getRequiredDeclarations() );
+                betaConstraints.add( constraint );
+            }
+        }
+
+        return betaConstraints;
+    }
+
+    /**
+     * @param context
+     * @param pattern
+     * @param betaConstraints
+     */
+    private void checkRemoveIdentities(final BuildContext context,
+                                       final Pattern pattern,
+                                       final List betaConstraints) {
+        if ( context.getRuleBase().getConfiguration().isRemoveIdentities() && pattern.getObjectType().getClass() == ClassObjectType.class ) {
+            List patterns = null;
+            // Check if this object type exists before
+            // If it does we need stop instance equals cross product
+            final Class thisClass = ((ClassObjectType) pattern.getObjectType()).getClassType();
+            for ( final Iterator it = context.getObjectType().entrySet().iterator(); it.hasNext(); ) {
+                final Map.Entry entry = (Map.Entry) it.next();
+                final Class previousClass = ((ClassObjectType) entry.getKey()).getClassType();
+                if ( thisClass.isAssignableFrom( previousClass ) ) {
+                    patterns = (List) entry.getValue();
+                    for ( final Iterator patternIter = patterns.iterator(); patternIter.hasNext(); ) {
+                        betaConstraints.add( new InstanceNotEqualsConstraint( (Pattern) patternIter.next() ) );
+                    }
+                }
+            }
+            patterns = (List) context.getObjectType().get( pattern.getObjectType() );
+            if ( patterns == null ) {
+                patterns = new ArrayList();
+            }
+            patterns.add( pattern );
+
+            // Must be added after the checking, otherwise it matches against itself
+            context.getObjectType().put( pattern.getObjectType(),
+                                         patterns );
+        }
+    }
+
+    /**
+     * @inheritDoc
+     */
+    public boolean requiresLeftActivation(final BuildUtils utils,
+                                          final RuleConditionElement rce) {
+        return false;
+    }
+}

Modified: labs/jbossrules/trunk/drools-core/src/main/java/org/drools/reteoo/builder/ReteooComponentBuilder.java
===================================================================
--- labs/jbossrules/trunk/drools-core/src/main/java/org/drools/reteoo/builder/ReteooComponentBuilder.java	2007-04-24 12:26:00 UTC (rev 11294)
+++ labs/jbossrules/trunk/drools-core/src/main/java/org/drools/reteoo/builder/ReteooComponentBuilder.java	2007-04-24 12:52:09 UTC (rev 11295)
@@ -40,11 +40,11 @@
      * (tuple) activation in order to corretly build the given component.
      * 
      * In other words, if it returns true and no previous TupleSource is already created,
-     * an InitialFact column must be added with appropriate left input adapter for 
+     * an InitialFact pattern must be added with appropriate left input adapter for 
      * the network to be correctly built.
      * 
      * For instance, NOT / EXISTS / ACCUMULATE are examples of builders that must return true 
-     * for this method, while COLUMN must return false.
+     * for this method, while PATTERN must return false.
      * 
      * @param rce the element to be built
      * 

Modified: labs/jbossrules/trunk/drools-core/src/main/java/org/drools/reteoo/builder/ReteooRuleBuilder.java
===================================================================
--- labs/jbossrules/trunk/drools-core/src/main/java/org/drools/reteoo/builder/ReteooRuleBuilder.java	2007-04-24 12:26:00 UTC (rev 11294)
+++ labs/jbossrules/trunk/drools-core/src/main/java/org/drools/reteoo/builder/ReteooRuleBuilder.java	2007-04-24 12:52:09 UTC (rev 11295)
@@ -36,7 +36,7 @@
 import org.drools.reteoo.TerminalNode;
 import org.drools.rule.Accumulate;
 import org.drools.rule.Collect;
-import org.drools.rule.Column;
+import org.drools.rule.Pattern;
 import org.drools.rule.EvalCondition;
 import org.drools.rule.Forall;
 import org.drools.rule.From;
@@ -60,8 +60,8 @@
 
         this.utils.addBuilder( GroupElement.class,
                                new GroupElementBuilder() );
-        this.utils.addBuilder( Column.class,
-                               new ColumnBuilder() );
+        this.utils.addBuilder( Pattern.class,
+                               new PatternBuilder() );
         this.utils.addBuilder( EvalCondition.class,
                                new EvalBuilder() );
         this.utils.addBuilder( From.class,
@@ -121,9 +121,9 @@
                                     final GroupElement subrule,
                                     final Rule rule) throws InvalidPatternException {
 
-        // if it is a query, needs to add the query column
+        // if it is a query, needs to add the query pattern
         if ( rule instanceof Query ) {
-            this.addQueryColumn( context,
+            this.addQueryPattern( context,
                                  subrule,
                                  (Query) rule );
         }
@@ -134,7 +134,7 @@
         // checks if an initial-fact is needed
         if ( builder.requiresLeftActivation( this.utils,
                                              subrule ) ) {
-            this.addInitialFactColumn( context,
+            this.addInitialFactPattern( context,
                                        subrule,
                                        rule );
         }
@@ -175,18 +175,18 @@
     }
 
     /**
-     * Adds a query column to the given subrule
+     * Adds a query pattern to the given subrule
      * 
      * @param context
      * @param subrule
      * @param query
      */
-    private void addQueryColumn(final BuildContext context,
+    private void addQueryPattern(final BuildContext context,
                                 final GroupElement subrule,
                                 final Query query) {
 
-        // creates a column for initial fact
-        final Column column = new Column( 0,
+        // creates a pattern for initial fact
+        final Pattern pattern = new Pattern( 0,
                                           new ClassObjectType( DroolsQuery.class ) );
 
         final ClassFieldExtractor extractor = new ClassFieldExtractor( DroolsQuery.class,
@@ -199,33 +199,33 @@
                                                                     ValueType.STRING_TYPE.getEvaluator( Operator.EQUAL ),
                                                                     field );
 
-        // adds appropriate constraint to the column
-        column.addConstraint( constraint );
+        // adds appropriate constraint to the pattern
+        pattern.addConstraint( constraint );
 
-        // adds the column as the first child of the given AND group element
+        // adds the pattern as the first child of the given AND group element
         subrule.addChild( 0,
-                          column );
+                          pattern );
 
     }
 
     /**
-     * Adds a query column to the given subrule
+     * Adds a query pattern to the given subrule
      * 
      * @param context
      * @param subrule
      * @param query
      */
-    private void addInitialFactColumn(final BuildContext context,
+    private void addInitialFactPattern(final BuildContext context,
                                       final GroupElement subrule,
                                       final Rule rule) {
 
-        // creates a column for initial fact
-        final Column column = new Column( 0,
+        // creates a pattern for initial fact
+        final Pattern pattern = new Pattern( 0,
                                           new ClassObjectType( InitialFact.class ) );
 
-        // adds the column as the first child of the given AND group element
+        // adds the pattern as the first child of the given AND group element
         subrule.addChild( 0,
-                          column );
+                          pattern );
     }
 
 }

Modified: labs/jbossrules/trunk/drools-core/src/main/java/org/drools/rule/Accumulate.java
===================================================================
--- labs/jbossrules/trunk/drools-core/src/main/java/org/drools/rule/Accumulate.java	2007-04-24 12:26:00 UTC (rev 11294)
+++ labs/jbossrules/trunk/drools-core/src/main/java/org/drools/rule/Accumulate.java	2007-04-24 12:52:09 UTC (rev 11295)
@@ -32,41 +32,41 @@
     private static final long serialVersionUID = 4608000398919355806L;
 
     private Accumulator       accumulator;
-    private Column            sourceColumn;
-    private Column            resultColumn;
+    private Pattern            sourcePattern;
+    private Pattern            resultPattern;
     private Declaration[]     requiredDeclarations;
     private Declaration[]     innerDeclarations;
 
-    public Accumulate(final Column sourceColumn,
-                      final Column resultColumn) {
+    public Accumulate(final Pattern sourcePattern,
+                      final Pattern resultPattern) {
 
-        this( sourceColumn,
-              resultColumn,
+        this( sourcePattern,
+              resultPattern,
               new Declaration[0],
               new Declaration[0],
               null );
     }
 
-    public Accumulate(final Column sourceColumn,
-                      final Column resultColumn,
+    public Accumulate(final Pattern sourcePattern,
+                      final Pattern resultPattern,
                       final Declaration[] requiredDeclarations,
                       final Declaration[] innerDeclarations) {
 
-        this( sourceColumn,
-              resultColumn,
+        this( sourcePattern,
+              resultPattern,
               requiredDeclarations,
               innerDeclarations,
               null );
     }
 
-    public Accumulate(final Column sourceColumn,
-                      final Column resultColumn,
+    public Accumulate(final Pattern sourcePattern,
+                      final Pattern resultPattern,
                       final Declaration[] requiredDeclarations,
                       final Declaration[] innerDeclarations,
                       final Accumulator accumulator) {
 
-        this.sourceColumn = sourceColumn;
-        this.resultColumn = resultColumn;
+        this.sourcePattern = sourcePattern;
+        this.resultPattern = resultPattern;
         this.requiredDeclarations = requiredDeclarations;
         this.innerDeclarations = innerDeclarations;
         this.accumulator = accumulator;
@@ -95,34 +95,34 @@
     }
 
     public Object clone() {
-        return new Accumulate( this.sourceColumn,
-                               this.resultColumn,
+        return new Accumulate( this.sourcePattern,
+                               this.resultPattern,
                                this.requiredDeclarations,
                                this.innerDeclarations,
                                this.accumulator );
     }
 
-    public Column getResultColumn() {
-        return this.resultColumn;
+    public Pattern getResultPattern() {
+        return this.resultPattern;
     }
 
-    public Column getSourceColumn() {
-        return this.sourceColumn;
+    public Pattern getSourcePattern() {
+        return this.sourcePattern;
     }
 
     public Map getInnerDeclarations() {
-        return this.sourceColumn.getInnerDeclarations();
+        return this.sourcePattern.getInnerDeclarations();
     }
 
     public Map getOuterDeclarations() {
-        return this.resultColumn.getOuterDeclarations();
+        return this.resultPattern.getOuterDeclarations();
     }
 
     /**
      * @inheritDoc
      */
     public Declaration resolveDeclaration(final String identifier) {
-        return (Declaration) this.sourceColumn.getInnerDeclarations().get( identifier );
+        return (Declaration) this.sourcePattern.getInnerDeclarations().get( identifier );
     }
 
 }

Modified: labs/jbossrules/trunk/drools-core/src/main/java/org/drools/rule/Collect.java
===================================================================
--- labs/jbossrules/trunk/drools-core/src/main/java/org/drools/rule/Collect.java	2007-04-24 12:26:00 UTC (rev 11294)
+++ labs/jbossrules/trunk/drools-core/src/main/java/org/drools/rule/Collect.java	2007-04-24 12:52:09 UTC (rev 11295)
@@ -30,34 +30,34 @@
 
     private static final long serialVersionUID = 6064290134136990287L;
 
-    private Column            sourceColumn;
-    private Column            resultColumn;
+    private Pattern            sourcePattern;
+    private Pattern            resultPattern;
 
-    public Collect(final Column sourceColumn,
-                   final Column resultColumn) {
+    public Collect(final Pattern sourcePattern,
+                   final Pattern resultPattern) {
 
-        this.sourceColumn = sourceColumn;
-        this.resultColumn = resultColumn;
+        this.sourcePattern = sourcePattern;
+        this.resultPattern = resultPattern;
     }
 
     public Object clone() {
-        return new Collect( this.sourceColumn,
-                            this.resultColumn );
+        return new Collect( this.sourcePattern,
+                            this.resultPattern );
     }
 
-    public Column getResultColumn() {
-        return this.resultColumn;
+    public Pattern getResultPattern() {
+        return this.resultPattern;
     }
 
-    public Column getSourceColumn() {
-        return this.sourceColumn;
+    public Pattern getSourcePattern() {
+        return this.sourcePattern;
     }
 
     public Collection instantiateResultObject() throws RuntimeDroolsException {
         try {
             // Collect can only be used with a Collection implementation, so
             // FactTemplateObject type is not allowed
-            return (Collection) ((ClassObjectType) this.resultColumn.getObjectType()).getClassType().newInstance();
+            return (Collection) ((ClassObjectType) this.resultPattern.getObjectType()).getClassType().newInstance();
         } catch ( final ClassCastException cce ) {
             throw new RuntimeDroolsException( "Collect CE requires a Collection implementation as return type",
                                               cce );
@@ -71,17 +71,17 @@
     }
 
     public Map getInnerDeclarations() {
-        return this.sourceColumn.getInnerDeclarations();
+        return this.sourcePattern.getInnerDeclarations();
     }
 
     public Map getOuterDeclarations() {
-        return this.resultColumn.getOuterDeclarations();
+        return this.resultPattern.getOuterDeclarations();
     }
 
     /**
      * @inheritDoc
      */
     public Declaration resolveDeclaration(final String identifier) {
-        return (Declaration) this.sourceColumn.getInnerDeclarations().get( identifier );
+        return (Declaration) this.sourcePattern.getInnerDeclarations().get( identifier );
     }
 }

Deleted: labs/jbossrules/trunk/drools-core/src/main/java/org/drools/rule/Column.java
===================================================================
--- labs/jbossrules/trunk/drools-core/src/main/java/org/drools/rule/Column.java	2007-04-24 12:26:00 UTC (rev 11294)
+++ labs/jbossrules/trunk/drools-core/src/main/java/org/drools/rule/Column.java	2007-04-24 12:52:09 UTC (rev 11295)
@@ -1,226 +0,0 @@
-package org.drools.rule;
-
-/*
- * Copyright 2005 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.
- */
-
-import java.util.ArrayList;
-import java.util.Collections;
-import java.util.HashMap;
-import java.util.Iterator;
-import java.util.List;
-import java.util.Map;
-
-import org.drools.spi.ColumnExtractor;
-import org.drools.spi.Constraint;
-import org.drools.spi.Extractor;
-import org.drools.spi.ObjectType;
-
-public class Column
-    implements
-    RuleConditionElement {
-    /**
-     * 
-     */
-    private static final long serialVersionUID = 320;
-    private final ObjectType  objectType;
-    private List              constraints      = Collections.EMPTY_LIST;
-    final Declaration         declaration;
-    private Map               declarations;
-    private final int         index;
-
-    // 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 Column(final int index,
-                  final ObjectType objectType) {
-        this( index,
-              index,
-              objectType,
-              null );
-    }
-
-    public Column(final int index,
-                  final ObjectType objectType,
-                  final String identifier) {
-        this( index,
-              index,
-              objectType,
-              identifier );
-    }
-
-    public Column(final int index,
-                  final int offset,
-                  final ObjectType objectType,
-                  final String identifier) {
-        this.index = index;
-        this.offset = offset;
-        this.objectType = objectType;
-        if ( identifier != null && (!identifier.equals( "" )) ) {
-            this.declaration = new Declaration( identifier,
-                                                new ColumnExtractor( objectType ),
-                                                this );
-            this.declarations = new HashMap( 2 ); // default to avoid immediate resize
-            this.declarations.put( this.declaration.getIdentifier(),
-                                   this.declaration );
-        } else {
-            this.declaration = null;
-        }
-    }
-
-    public Object clone() {
-        final String identifier = (this.declaration != null) ? this.declaration.getIdentifier() : null;
-        final Column clone = new Column( this.index,
-                                   this.objectType,
-                                   identifier );
-
-        for ( final Iterator it = this.constraints.iterator(); it.hasNext(); ) {
-            final Object constr = it.next();
-            if ( constr instanceof Declaration ) {
-                final Declaration decl = (Declaration) constr;
-                clone.addDeclaration( decl.getIdentifier(),
-                                      decl.getExtractor() );
-            } else {
-                clone.addConstraint( (Constraint) constr );
-            }
-        }
-        return clone;
-    }
-
-    public ObjectType getObjectType() {
-        return this.objectType;
-    }
-
-    public List getConstraints() {
-        return Collections.unmodifiableList( this.constraints );
-    }
-
-    public void addConstraint(final Constraint constraint) {
-        if ( this.constraints == Collections.EMPTY_LIST ) {
-            this.constraints = new ArrayList( 1 );
-        }
-        this.constraints.add( constraint );
-    }
-
-    public Declaration addDeclaration(final String identifier,
-                                      final Extractor extractor) {
-        if ( this.constraints == Collections.EMPTY_LIST ) {
-            this.constraints = new ArrayList( 1 );
-        }
-        final Declaration declaration = new Declaration( identifier,
-                                                         extractor,
-                                                         this );
-        this.constraints.add( declaration );
-        if ( this.declarations == null ) {
-            this.declarations = new HashMap( 2 ); // default to avoid immediate resize
-        }
-        this.declarations.put( declaration.getIdentifier(),
-                               declaration );
-        return declaration;
-
-    }
-
-    public boolean isBound() {
-        return (this.declaration != null);
-    }
-
-    public Declaration getDeclaration() {
-        return this.declaration;
-    }
-
-    public int getIndex() {
-        return this.index;
-    }
-
-    /**
-     * The offset of the fact related to this column 
-     * inside the tuple
-     * 
-     * @return the offset
-     */
-    public int getOffset() {
-        return this.offset;
-    }
-
-    public void setOffset(final int offset) {
-        this.offset = offset;
-    }
-
-    public Map getInnerDeclarations() {
-        return (this.declarations != null) ? this.declarations : Collections.EMPTY_MAP;
-    }
-
-    public Map getOuterDeclarations() {
-        return (this.declarations != null) ? this.declarations : Collections.EMPTY_MAP;
-    }
-
-    public Declaration resolveDeclaration(final String identifier) {
-        return (this.declarations != null) ? (Declaration) this.declarations.get( identifier ) : null;
-    }
-
-    public String toString() {
-        return "Column type='" + ((this.objectType == null) ? "null" : this.objectType.toString()) + "', index='" + this.index + "', offset='" + this.getOffset() + "', identifer='" + ((this.declaration == null) ? "" : this.declaration.toString())
-               + "'";
-    }
-
-    public int hashCode() {
-        final int PRIME = 31;
-        int result = 1;
-        result = PRIME * result + this.constraints.hashCode();
-        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.offset;
-        return result;
-    }
-
-    public boolean equals(final Object object) {
-        if ( this == object ) {
-            return true;
-        }
-
-        if ( object == null || getClass() != object.getClass() ) {
-            return false;
-        }
-
-        final Column other = (Column) object;
-
-        if ( !this.constraints.equals( other.constraints ) ) {
-            return false;
-        }
-
-        if ( this.declaration == null ) {
-            if ( other.declaration != null ) {
-                return false;
-            }
-        } else if ( !this.declaration.equals( other.declaration ) ) {
-            return false;
-        }
-
-        if ( this.index != other.index ) {
-            return false;
-        }
-
-        if ( !this.objectType.equals( other.objectType ) ) {
-            return false;
-        }
-        if ( this.offset != other.offset ) {
-            return false;
-        }
-        return true;
-    }
-
-}
\ No newline at end of file

Modified: labs/jbossrules/trunk/drools-core/src/main/java/org/drools/rule/Declaration.java
===================================================================
--- labs/jbossrules/trunk/drools-core/src/main/java/org/drools/rule/Declaration.java	2007-04-24 12:26:00 UTC (rev 11294)
+++ labs/jbossrules/trunk/drools-core/src/main/java/org/drools/rule/Declaration.java	2007-04-24 12:52:09 UTC (rev 11295)
@@ -84,7 +84,7 @@
 
     private final Extractor   extractor;
 
-    private Column            column;
+    private Pattern            pattern;
 
     // ------------------------------------------------------------
     // Constructors
@@ -102,10 +102,10 @@
      */
     public Declaration(final String identifier,
                        final Extractor extractor,
-                       final Column column) {
+                       final Pattern pattern) {
         this.identifier = identifier;
         this.extractor = extractor;
-        this.column = column;
+        this.pattern = pattern;
     }
 
     // ------------------------------------------------------------
@@ -131,16 +131,16 @@
     }
 
     /**
-     * Returns the index of the column
+     * Returns the index of the pattern
      * 
-     * @return the column
+     * @return the pattern
      */
-    public Column getColumn() {
-        return this.column;
+    public Pattern getPattern() {
+        return this.pattern;
     }
 
-    public void setColumn(final Column column) {
-        this.column = column;
+    public void setPattern(final Pattern pattern) {
+        this.pattern = pattern;
     }
 
     /**
@@ -201,7 +201,7 @@
     public int hashCode() {
         final int PRIME = 31;
         int result = 1;
-        result = PRIME * this.column.getOffset();
+        result = PRIME * this.pattern.getOffset();
         result = PRIME * this.extractor.hashCode();
         result = PRIME * this.identifier.hashCode();
         return result;
@@ -218,7 +218,7 @@
 
         final Declaration other = (Declaration) object;
 
-        return this.column.getOffset() == other.column.getOffset() && this.identifier.equals( other.identifier ) && this.extractor.equals( other.extractor );
+        return this.pattern.getOffset() == other.pattern.getOffset() && this.identifier.equals( other.identifier ) && this.extractor.equals( other.extractor );
     }
 
 }

Modified: labs/jbossrules/trunk/drools-core/src/main/java/org/drools/rule/EvalCondition.java
===================================================================
--- labs/jbossrules/trunk/drools-core/src/main/java/org/drools/rule/EvalCondition.java	2007-04-24 12:26:00 UTC (rev 11294)
+++ labs/jbossrules/trunk/drools-core/src/main/java/org/drools/rule/EvalCondition.java	2007-04-24 12:52:09 UTC (rev 11295)
@@ -102,7 +102,7 @@
         }
 
         for ( int i = 0, length = this.requiredDeclarations.length; i < length; i++ ) {
-            if ( this.requiredDeclarations[i].getColumn().getOffset() != other.requiredDeclarations[i].getColumn().getOffset() ) {
+            if ( this.requiredDeclarations[i].getPattern().getOffset() != other.requiredDeclarations[i].getPattern().getOffset() ) {
                 return false;
             }
 

Modified: labs/jbossrules/trunk/drools-core/src/main/java/org/drools/rule/Forall.java
===================================================================
--- labs/jbossrules/trunk/drools-core/src/main/java/org/drools/rule/Forall.java	2007-04-24 12:26:00 UTC (rev 11294)
+++ labs/jbossrules/trunk/drools-core/src/main/java/org/drools/rule/Forall.java	2007-04-24 12:52:09 UTC (rev 11295)
@@ -32,43 +32,43 @@
 
     private static final long serialVersionUID = -5993305516857875971L;
 
-    // forall base column
-    private Column            baseColumn;
-    // foral remaining columns
-    private List              remainingColumns;
+    // forall base pattern
+    private Pattern            basePattern;
+    // foral remaining patterns
+    private List              remainingPatterns;
 
     public Forall() {
         this( null,
               new ArrayList( 1 ) );
     }
 
-    public Forall(final Column baseColumn) {
-        this( baseColumn,
+    public Forall(final Pattern basePattern) {
+        this( basePattern,
               new ArrayList( 1 ) );
     }
 
-    public Forall(final Column baseColumn,
-                  final List remainingColumns) {
-        this.baseColumn = baseColumn;
-        this.remainingColumns = remainingColumns;
+    public Forall(final Pattern basePattern,
+                  final List remainingPatterns) {
+        this.basePattern = basePattern;
+        this.remainingPatterns = remainingPatterns;
     }
 
     /* (non-Javadoc)
      * @see org.drools.rule.ConditionalElement#clone()
      */
     public Object clone() {
-        return new Forall( this.baseColumn,
-                           new ArrayList( this.remainingColumns ) );
+        return new Forall( this.basePattern,
+                           new ArrayList( this.remainingPatterns ) );
     }
 
     /**
-     * Forall inner declarations are only provided by the base columns
-     * since it negates the remaining columns
+     * Forall inner declarations are only provided by the base patterns
+     * since it negates the remaining patterns
      */
     public Map getInnerDeclarations() {
-        final Map inner = new HashMap( this.baseColumn.getOuterDeclarations() );
-        for ( final Iterator it = this.remainingColumns.iterator(); it.hasNext(); ) {
-            inner.putAll( ((Column) it.next()).getOuterDeclarations() );
+        final Map inner = new HashMap( this.basePattern.getOuterDeclarations() );
+        for ( final Iterator it = this.remainingPatterns.iterator(); it.hasNext(); ) {
+            inner.putAll( ((Pattern) it.next()).getOuterDeclarations() );
         }
         return inner;
     }
@@ -81,46 +81,46 @@
     }
 
     /**
-     * Forall can only resolve declarations from its base column
+     * Forall can only resolve declarations from its base pattern
      */
     public Declaration resolveDeclaration(final String identifier) {
         return (Declaration) this.getInnerDeclarations().get( identifier );
     }
 
     /**
-     * @return the baseColumn
+     * @return the basePattern
      */
-    public Column getBaseColumn() {
-        return this.baseColumn;
+    public Pattern getBasePattern() {
+        return this.basePattern;
     }
 
     /**
-     * @param baseColumn the baseColumn to set
+     * @param basePattern the basePattern to set
      */
-    public void setBaseColumn(final Column baseColumn) {
-        this.baseColumn = baseColumn;
+    public void setBasePattern(final Pattern basePattern) {
+        this.basePattern = basePattern;
     }
 
     /**
-     * @return the remainingColumns
+     * @return the remainingPatterns
      */
-    public List getRemainingColumns() {
-        return this.remainingColumns;
+    public List getRemainingPatterns() {
+        return this.remainingPatterns;
     }
 
     /**
-     * @param remainingColumns the remainingColumns to set
+     * @param remainingPatterns the remainingPatterns to set
      */
-    public void setRemainingColumns(final List remainingColumns) {
-        this.remainingColumns = remainingColumns;
+    public void setRemainingPatterns(final List remainingPatterns) {
+        this.remainingPatterns = remainingPatterns;
     }
 
     /**
-     * Adds one more column to the list of remaining columns
-     * @param column
+     * Adds one more pattern to the list of remaining patterns
+     * @param pattern
      */
-    public void addRemainingColumn(final Column column) {
-        this.remainingColumns.add( column );
+    public void addRemainingPattern(final Pattern pattern) {
+        this.remainingPatterns.add( pattern );
     }
 
 }

Modified: labs/jbossrules/trunk/drools-core/src/main/java/org/drools/rule/From.java
===================================================================
--- labs/jbossrules/trunk/drools-core/src/main/java/org/drools/rule/From.java	2007-04-24 12:26:00 UTC (rev 11294)
+++ labs/jbossrules/trunk/drools-core/src/main/java/org/drools/rule/From.java	2007-04-24 12:52:09 UTC (rev 11295)
@@ -11,18 +11,18 @@
 
     private static final long serialVersionUID = -2640290731776949513L;
 
-    private Column            column;
+    private Pattern            pattern;
 
     private DataProvider      dataProvider;
 
-    public From(final Column column,
+    public From(final Pattern pattern,
                 final DataProvider dataProvider) {
-        this.column = column;
+        this.pattern = pattern;
         this.dataProvider = dataProvider;
     }
 
-    public Column getColumn() {
-        return this.column;
+    public Pattern getPattern() {
+        return this.pattern;
     }
 
     public DataProvider getDataProvider() {
@@ -35,18 +35,18 @@
     }
 
     public Map getInnerDeclarations() {
-        return this.column.getInnerDeclarations();
+        return this.pattern.getInnerDeclarations();
     }
 
     public Map getOuterDeclarations() {
-        return this.column.getOuterDeclarations();
+        return this.pattern.getOuterDeclarations();
     }
 
     /**
      * @inheritDoc
      */
     public Declaration resolveDeclaration(final String identifier) {
-        return (Declaration) this.column.getInnerDeclarations().get( identifier );
+        return (Declaration) this.pattern.getInnerDeclarations().get( identifier );
     }
 
 }

Modified: labs/jbossrules/trunk/drools-core/src/main/java/org/drools/rule/Package.java
===================================================================
--- labs/jbossrules/trunk/drools-core/src/main/java/org/drools/rule/Package.java	2007-04-24 12:26:00 UTC (rev 11294)
+++ labs/jbossrules/trunk/drools-core/src/main/java/org/drools/rule/Package.java	2007-04-24 12:52:09 UTC (rev 11295)
@@ -297,8 +297,8 @@
                 final Object object = it.next();
                 if ( object instanceof ConditionalElement ) {
                     removeClasses( (ConditionalElement) object );
-                } else if ( object instanceof Column ) {
-                    removeClasses( (Column) object );
+                } else if ( object instanceof Pattern ) {
+                    removeClasses( (Pattern) object );
                 }
             }
         } else if ( ce instanceof EvalCondition ) {
@@ -306,8 +306,8 @@
         }
     }
 
-    private void removeClasses(final Column column) {
-        for ( final Iterator it = column.getConstraints().iterator(); it.hasNext(); ) {
+    private void removeClasses(final Pattern pattern) {
+        for ( final Iterator it = pattern.getConstraints().iterator(); it.hasNext(); ) {
             final Object object = it.next();
             if ( object instanceof PredicateConstraint ) {
                 this.packageCompilationData.remove( ((PredicateConstraint) object).getPredicateExpression().getClass().getName() );

Copied: labs/jbossrules/trunk/drools-core/src/main/java/org/drools/rule/Pattern.java (from rev 11268, labs/jbossrules/trunk/drools-core/src/main/java/org/drools/rule/Column.java)
===================================================================
--- labs/jbossrules/trunk/drools-core/src/main/java/org/drools/rule/Pattern.java	                        (rev 0)
+++ labs/jbossrules/trunk/drools-core/src/main/java/org/drools/rule/Pattern.java	2007-04-24 12:52:09 UTC (rev 11295)
@@ -0,0 +1,226 @@
+package org.drools.rule;
+
+/*
+ * Copyright 2005 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.
+ */
+
+import java.util.ArrayList;
+import java.util.Collections;
+import java.util.HashMap;
+import java.util.Iterator;
+import java.util.List;
+import java.util.Map;
+
+import org.drools.spi.PatternExtractor;
+import org.drools.spi.Constraint;
+import org.drools.spi.Extractor;
+import org.drools.spi.ObjectType;
+
+public class Pattern
+    implements
+    RuleConditionElement {
+    /**
+     * 
+     */
+    private static final long serialVersionUID = 320;
+    private final ObjectType  objectType;
+    private List              constraints      = Collections.EMPTY_LIST;
+    final Declaration         declaration;
+    private Map               declarations;
+    private final int         index;
+
+    // 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(final int index,
+                  final ObjectType objectType) {
+        this( index,
+              index,
+              objectType,
+              null );
+    }
+
+    public Pattern(final int index,
+                  final ObjectType objectType,
+                  final String identifier) {
+        this( index,
+              index,
+              objectType,
+              identifier );
+    }
+
+    public Pattern(final int index,
+                  final int offset,
+                  final ObjectType objectType,
+                  final String identifier) {
+        this.index = index;
+        this.offset = offset;
+        this.objectType = objectType;
+        if ( identifier != null && (!identifier.equals( "" )) ) {
+            this.declaration = new Declaration( identifier,
+                                                new PatternExtractor( objectType ),
+                                                this );
+            this.declarations = new HashMap( 2 ); // default to avoid immediate resize
+            this.declarations.put( this.declaration.getIdentifier(),
+                                   this.declaration );
+        } else {
+            this.declaration = null;
+        }
+    }
+
+    public Object clone() {
+        final String identifier = (this.declaration != null) ? this.declaration.getIdentifier() : null;
+        final Pattern clone = new Pattern( this.index,
+                                   this.objectType,
+                                   identifier );
+
+        for ( final Iterator it = this.constraints.iterator(); it.hasNext(); ) {
+            final Object constr = it.next();
+            if ( constr instanceof Declaration ) {
+                final Declaration decl = (Declaration) constr;
+                clone.addDeclaration( decl.getIdentifier(),
+                                      decl.getExtractor() );
+            } else {
+                clone.addConstraint( (Constraint) constr );
+            }
+        }
+        return clone;
+    }
+
+    public ObjectType getObjectType() {
+        return this.objectType;
+    }
+
+    public List getConstraints() {
+        return Collections.unmodifiableList( this.constraints );
+    }
+
+    public void addConstraint(final Constraint constraint) {
+        if ( this.constraints == Collections.EMPTY_LIST ) {
+            this.constraints = new ArrayList( 1 );
+        }
+        this.constraints.add( constraint );
+    }
+
+    public Declaration addDeclaration(final String identifier,
+                                      final Extractor extractor) {
+        if ( this.constraints == Collections.EMPTY_LIST ) {
+            this.constraints = new ArrayList( 1 );
+        }
+        final Declaration declaration = new Declaration( identifier,
+                                                         extractor,
+                                                         this );
+        this.constraints.add( declaration );
+        if ( this.declarations == null ) {
+            this.declarations = new HashMap( 2 ); // default to avoid immediate resize
+        }
+        this.declarations.put( declaration.getIdentifier(),
+                               declaration );
+        return declaration;
+
+    }
+
+    public boolean isBound() {
+        return (this.declaration != null);
+    }
+
+    public Declaration getDeclaration() {
+        return this.declaration;
+    }
+
+    public int getIndex() {
+        return this.index;
+    }
+
+    /**
+     * The offset of the fact related to this pattern 
+     * inside the tuple
+     * 
+     * @return the offset
+     */
+    public int getOffset() {
+        return this.offset;
+    }
+
+    public void setOffset(final int offset) {
+        this.offset = offset;
+    }
+
+    public Map getInnerDeclarations() {
+        return (this.declarations != null) ? this.declarations : Collections.EMPTY_MAP;
+    }
+
+    public Map getOuterDeclarations() {
+        return (this.declarations != null) ? this.declarations : Collections.EMPTY_MAP;
+    }
+
+    public Declaration resolveDeclaration(final String identifier) {
+        return (this.declarations != null) ? (Declaration) this.declarations.get( identifier ) : null;
+    }
+
+    public String toString() {
+        return "Pattern type='" + ((this.objectType == null) ? "null" : this.objectType.toString()) + "', index='" + this.index + "', offset='" + this.getOffset() + "', identifer='" + ((this.declaration == null) ? "" : this.declaration.toString())
+               + "'";
+    }
+
+    public int hashCode() {
+        final int PRIME = 31;
+        int result = 1;
+        result = PRIME * result + this.constraints.hashCode();
+        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.offset;
+        return result;
+    }
+
+    public boolean equals(final Object object) {
+        if ( this == object ) {
+            return true;
+        }
+
+        if ( object == null || getClass() != object.getClass() ) {
+            return false;
+        }
+
+        final Pattern other = (Pattern) object;
+
+        if ( !this.constraints.equals( other.constraints ) ) {
+            return false;
+        }
+
+        if ( this.declaration == null ) {
+            if ( other.declaration != null ) {
+                return false;
+            }
+        } else if ( !this.declaration.equals( other.declaration ) ) {
+            return false;
+        }
+
+        if ( this.index != other.index ) {
+            return false;
+        }
+
+        if ( !this.objectType.equals( other.objectType ) ) {
+            return false;
+        }
+        if ( this.offset != other.offset ) {
+            return false;
+        }
+        return true;
+    }
+
+}
\ No newline at end of file

Modified: labs/jbossrules/trunk/drools-core/src/main/java/org/drools/rule/PredicateConstraint.java
===================================================================
--- labs/jbossrules/trunk/drools-core/src/main/java/org/drools/rule/PredicateConstraint.java	2007-04-24 12:26:00 UTC (rev 11294)
+++ labs/jbossrules/trunk/drools-core/src/main/java/org/drools/rule/PredicateConstraint.java	2007-04-24 12:52:09 UTC (rev 11295)
@@ -154,7 +154,7 @@
         }
 
         for ( int i = 0, length = this.previousDeclarations.length; i < length; i++ ) {
-            if ( this.previousDeclarations[i].getColumn().getOffset() != other.previousDeclarations[i].getColumn().getOffset() ) {
+            if ( this.previousDeclarations[i].getPattern().getOffset() != other.previousDeclarations[i].getPattern().getOffset() ) {
                 return false;
             }
 
@@ -164,7 +164,7 @@
         }
 
         for ( int i = 0, length = this.localDeclarations.length; i < length; i++ ) {
-            if ( this.localDeclarations[i].getColumn().getOffset() != other.localDeclarations[i].getColumn().getOffset() ) {
+            if ( this.localDeclarations[i].getPattern().getOffset() != other.localDeclarations[i].getPattern().getOffset() ) {
                 return false;
             }
 

Modified: labs/jbossrules/trunk/drools-core/src/main/java/org/drools/rule/Rule.java
===================================================================
--- labs/jbossrules/trunk/drools-core/src/main/java/org/drools/rule/Rule.java	2007-04-24 12:26:00 UTC (rev 11294)
+++ labs/jbossrules/trunk/drools-core/src/main/java/org/drools/rule/Rule.java	2007-04-24 12:52:09 UTC (rev 11295)
@@ -199,7 +199,7 @@
      *         <code>false</code>.
      */
     public boolean isValid() {
-        //if ( this.columns.size() == 0 ) {
+        //if ( this.patterns.size() == 0 ) {
         //    return false;
         //}
 
@@ -407,8 +407,8 @@
         int specificity = 0;
         for ( final Iterator it = ce.getChildren().iterator(); it.hasNext(); ) {
             final Object object = it.next();
-            if ( object instanceof Column ) {
-                specificity += getSpecifity( (Column) object );
+            if ( object instanceof Pattern ) {
+                specificity += getSpecifity( (Pattern) object );
             } else if ( object instanceof GroupElement ) {
                 specificity += getSpecifity( (GroupElement) object );
             }
@@ -416,9 +416,9 @@
         return specificity;
     }
 
-    private int getSpecifity(final Column column) {
+    private int getSpecifity(final Pattern pattern) {
         int specificity = 0;
-        for ( final Iterator it = column.getConstraints().iterator(); it.hasNext(); ) {
+        for ( final Iterator it = pattern.getConstraints().iterator(); it.hasNext(); ) {
             if ( !(it.next() instanceof Declaration) ) {
                 specificity++;
             }

Deleted: labs/jbossrules/trunk/drools-core/src/main/java/org/drools/spi/ColumnExtractor.java
===================================================================
--- labs/jbossrules/trunk/drools-core/src/main/java/org/drools/spi/ColumnExtractor.java	2007-04-24 12:26:00 UTC (rev 11294)
+++ labs/jbossrules/trunk/drools-core/src/main/java/org/drools/spi/ColumnExtractor.java	2007-04-24 12:52:09 UTC (rev 11295)
@@ -1,148 +0,0 @@
-package org.drools.spi;
-
-import java.lang.reflect.Method;
-
-import org.drools.RuntimeDroolsException;
-import org.drools.base.ClassObjectType;
-import org.drools.base.ShadowProxy;
-import org.drools.base.ValueType;
-import org.drools.facttemplates.Fact;
-
-/*
- * Copyright 2005 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.
- */
-
-public class ColumnExtractor
-    implements
-    Extractor {
-
-    /**
-     * 
-     */
-    private static final long serialVersionUID = 320L;
-    private ObjectType        objectType;
-
-    public ColumnExtractor(final ObjectType objectType) {
-        this.objectType = objectType;
-    }
-
-    public Object getValue(final Object object) {
-        // need to use instanceof because an object may be created in nodes like accumulate and from
-        // where no shadow is applied
-        return (object instanceof ShadowProxy) ? ((ShadowProxy) object).getShadowedObject() : object;
-    }
-
-    public ObjectType getObjectType() {
-        return this.objectType;
-    }
-
-    public Class getExtractToClass() {
-        // @todo : this is a bit nasty, but does the trick
-        if ( this.objectType instanceof ClassObjectType ) {
-            return ((ClassObjectType) this.objectType).getClassType();
-        } else {
-            return Fact.class;
-        }
-    }
-
-    public ValueType getValueType() {
-        return this.objectType.getValueType();
-    }
-
-    public boolean getBooleanValue(final Object object) {
-        if ( this.objectType.getValueType().isBoolean() ) {
-            return ((Boolean) object).booleanValue();
-        }
-        throw new RuntimeDroolsException( "Conversion to boolean not supported for type: " + object.getClass() );
-    }
-
-    public byte getByteValue(final Object object) {
-        if ( this.objectType.getValueType().isNumber() ) {
-            return ((Number) object).byteValue();
-        }
-        throw new RuntimeDroolsException( "Conversion to byte not supported for type: " + object.getClass() );
-    }
-
-    public char getCharValue(final Object object) {
-        if ( this.objectType.getValueType().isChar() ) {
-            return ((Character) object).charValue();
-        }
-        throw new RuntimeDroolsException( "Conversion to char not supported for type: " + object.getClass() );
-    }
-
-    public double getDoubleValue(final Object object) {
-        if ( this.objectType.getValueType().isNumber() ) {
-            return ((Number) object).doubleValue();
-        }
-        throw new RuntimeDroolsException( "Conversion to double not supported for type: " + object.getClass() );
-    }
-
-    public float getFloatValue(final Object object) {
-        if ( this.objectType.getValueType().isNumber() ) {
-            return ((Number) object).floatValue();
-        }
-        throw new RuntimeDroolsException( "Conversion to float not supported for type: " + object.getClass() );
-    }
-
-    public int getIntValue(final Object object) {
-        if ( this.objectType.getValueType().isNumber() ) {
-            return ((Number) object).intValue();
-        }
-        throw new RuntimeDroolsException( "Conversion to int not supported for type: " + object.getClass() );
-    }
-
-    public long getLongValue(final Object object) {
-        if ( this.objectType.getValueType().isNumber() ) {
-            return ((Number) object).longValue();
-        }
-        throw new RuntimeDroolsException( "Conversion to long not supported for type: " + object.getClass() );
-    }
-
-    public short getShortValue(final Object object) {
-        if ( this.objectType.getValueType().isNumber() ) {
-            return ((Number) object).shortValue();
-        }
-        throw new RuntimeDroolsException( "Conversion to short not supported for type: " + object.getClass() );
-    }
-
-    public Method getNativeReadMethod() {
-        try {
-            return this.getClass().getDeclaredMethod( "getValue",
-                                                      new Class[]{Object.class} );
-        } catch ( final Exception e ) {
-            throw new RuntimeDroolsException( "This is a bug. Please report to development team: " + e.getMessage(),
-                                              e );
-        }
-    }
-
-    public int getHashCode(final Object object) {
-        return getValue( object ).hashCode();
-    }
-
-    public int hashCode() {
-        return this.objectType.hashCode();
-    }
-
-    public boolean equals(final Object obj) {
-        if ( this == obj ) {
-            return true;
-        }
-        if ( !(obj instanceof ColumnExtractor) ) {
-            return false;
-        }
-        final ColumnExtractor other = (ColumnExtractor) obj;
-        return this.objectType.equals( other.objectType );
-    }
-}
\ No newline at end of file

Modified: labs/jbossrules/trunk/drools-core/src/main/java/org/drools/spi/DeclarationScopeResolver.java
===================================================================
--- labs/jbossrules/trunk/drools-core/src/main/java/org/drools/spi/DeclarationScopeResolver.java	2007-04-24 12:26:00 UTC (rev 11294)
+++ labs/jbossrules/trunk/drools-core/src/main/java/org/drools/spi/DeclarationScopeResolver.java	2007-04-24 12:52:09 UTC (rev 11295)
@@ -4,7 +4,7 @@
 import java.util.Map;
 import java.util.Stack;
 
-import org.drools.rule.Column;
+import org.drools.rule.Pattern;
 import org.drools.rule.Declaration;
 import org.drools.rule.GroupElement;
 import org.drools.rule.RuleConditionElement;
@@ -67,7 +67,7 @@
             if ( this.maps[i].containsKey( (name) ) ) {
                 final GlobalExtractor global = new GlobalExtractor( name,
                                                               this.maps[i] );
-                final Column dummy = new Column( 0,
+                final Pattern dummy = new Pattern( 0,
                                            global.getObjectType() );
                 final Declaration declaration = new Declaration( name,
                                                            global,

Copied: labs/jbossrules/trunk/drools-core/src/main/java/org/drools/spi/PatternExtractor.java (from rev 11268, labs/jbossrules/trunk/drools-core/src/main/java/org/drools/spi/ColumnExtractor.java)
===================================================================
--- labs/jbossrules/trunk/drools-core/src/main/java/org/drools/spi/PatternExtractor.java	                        (rev 0)
+++ labs/jbossrules/trunk/drools-core/src/main/java/org/drools/spi/PatternExtractor.java	2007-04-24 12:52:09 UTC (rev 11295)
@@ -0,0 +1,148 @@
+package org.drools.spi;
+
+import java.lang.reflect.Method;
+
+import org.drools.RuntimeDroolsException;
+import org.drools.base.ClassObjectType;
+import org.drools.base.ShadowProxy;
+import org.drools.base.ValueType;
+import org.drools.facttemplates.Fact;
+
+/*
+ * Copyright 2005 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.
+ */
+
+public class PatternExtractor
+    implements
+    Extractor {
+
+    /**
+     * 
+     */
+    private static final long serialVersionUID = 320L;
+    private ObjectType        objectType;
+
+    public PatternExtractor(final ObjectType objectType) {
+        this.objectType = objectType;
+    }
+
+    public Object getValue(final Object object) {
+        // need to use instanceof because an object may be created in nodes like accumulate and from
+        // where no shadow is applied
+        return (object instanceof ShadowProxy) ? ((ShadowProxy) object).getShadowedObject() : object;
+    }
+
+    public ObjectType getObjectType() {
+        return this.objectType;
+    }
+
+    public Class getExtractToClass() {
+        // @todo : this is a bit nasty, but does the trick
+        if ( this.objectType instanceof ClassObjectType ) {
+            return ((ClassObjectType) this.objectType).getClassType();
+        } else {
+            return Fact.class;
+        }
+    }
+
+    public ValueType getValueType() {
+        return this.objectType.getValueType();
+    }
+
+    public boolean getBooleanValue(final Object object) {
+        if ( this.objectType.getValueType().isBoolean() ) {
+            return ((Boolean) object).booleanValue();
+        }
+        throw new RuntimeDroolsException( "Conversion to boolean not supported for type: " + object.getClass() );
+    }
+
+    public byte getByteValue(final Object object) {
+        if ( this.objectType.getValueType().isNumber() ) {
+            return ((Number) object).byteValue();
+        }
+        throw new RuntimeDroolsException( "Conversion to byte not supported for type: " + object.getClass() );
+    }
+
+    public char getCharValue(final Object object) {
+        if ( this.objectType.getValueType().isChar() ) {
+            return ((Character) object).charValue();
+        }
+        throw new RuntimeDroolsException( "Conversion to char not supported for type: " + object.getClass() );
+    }
+
+    public double getDoubleValue(final Object object) {
+        if ( this.objectType.getValueType().isNumber() ) {
+            return ((Number) object).doubleValue();
+        }
+        throw new RuntimeDroolsException( "Conversion to double not supported for type: " + object.getClass() );
+    }
+
+    public float getFloatValue(final Object object) {
+        if ( this.objectType.getValueType().isNumber() ) {
+            return ((Number) object).floatValue();
+        }
+        throw new RuntimeDroolsException( "Conversion to float not supported for type: " + object.getClass() );
+    }
+
+    public int getIntValue(final Object object) {
+        if ( this.objectType.getValueType().isNumber() ) {
+            return ((Number) object).intValue();
+        }
+        throw new RuntimeDroolsException( "Conversion to int not supported for type: " + object.getClass() );
+    }
+
+    public long getLongValue(final Object object) {
+        if ( this.objectType.getValueType().isNumber() ) {
+            return ((Number) object).longValue();
+        }
+        throw new RuntimeDroolsException( "Conversion to long not supported for type: " + object.getClass() );
+    }
+
+    public short getShortValue(final Object object) {
+        if ( this.objectType.getValueType().isNumber() ) {
+            return ((Number) object).shortValue();
+        }
+        throw new RuntimeDroolsException( "Conversion to short not supported for type: " + object.getClass() );
+    }
+
+    public Method getNativeReadMethod() {
+        try {
+            return this.getClass().getDeclaredMethod( "getValue",
+                                                      new Class[]{Object.class} );
+        } catch ( final Exception e ) {
+            throw new RuntimeDroolsException( "This is a bug. Please report to development team: " + e.getMessage(),
+                                              e );
+        }
+    }
+
+    public int getHashCode(final Object object) {
+        return getValue( object ).hashCode();
+    }
+
+    public int hashCode() {
+        return this.objectType.hashCode();
+    }
+
+    public boolean equals(final Object obj) {
+        if ( this == obj ) {
+            return true;
+        }
+        if ( !(obj instanceof PatternExtractor) ) {
+            return false;
+        }
+        final PatternExtractor other = (PatternExtractor) obj;
+        return this.objectType.equals( other.objectType );
+    }
+}
\ No newline at end of file

Modified: labs/jbossrules/trunk/drools-core/src/main/java/org/drools/spi/Tuple.java
===================================================================
--- labs/jbossrules/trunk/drools-core/src/main/java/org/drools/spi/Tuple.java	2007-04-24 12:26:00 UTC (rev 11294)
+++ labs/jbossrules/trunk/drools-core/src/main/java/org/drools/spi/Tuple.java	2007-04-24 12:52:09 UTC (rev 11295)
@@ -23,8 +23,8 @@
 
 /**
  * Partial matches are propagated through the Rete network as <code>Tuple</code>s. Each <code>Tuple</code>
- * Is able to return the <code>FactHandleImpl</code> members of the partial match for the requested column.
- * The column refers to the index position of the <code>FactHandleImpl</code> in the underlying implementation.
+ * Is able to return the <code>FactHandleImpl</code> members of the partial match for the requested pattern.
+ * The pattern refers to the index position of the <code>FactHandleImpl</code> in the underlying implementation.
  * 
  * @see FactHandle;
  * 
@@ -36,22 +36,22 @@
     extends
     Serializable {
     /**
-     * Returns the <code>FactHandle</code> for the given column index. If the column is empty
+     * Returns the <code>FactHandle</code> for the given pattern index. If the pattern is empty
      * It returns null.
      * 
-     * @param column
-     *      The index of the column from which the <code>FactHandleImpl</code> is to be returned
+     * @param pattern
+     *      The index of the pattern from which the <code>FactHandleImpl</code> is to be returned
      * @return
      *      The <code>FactHandle</code>
      */
-    InternalFactHandle get(int column);
+    InternalFactHandle get(int pattern);
 
     /**
      * Returns the <code>FactHandle</code> for the given <code>Declaration</code>, which in turn
-     * specifcy the <code>Column</code> that they depend on.
+     * specifcy the <code>Pattern</code> that they depend on.
      * 
      * @param declaration
-     *      The <code>Declaration</code> which specifies the <code>Column</code>
+     *      The <code>Declaration</code> which specifies the <code>Pattern</code>
      * @return
      *      The <code>FactHandle</code>
      */
@@ -66,7 +66,7 @@
     long getRecency();
 
     /**
-     * Returns the size of this tuple in number of elements (columns)
+     * Returns the size of this tuple in number of elements (patterns)
      * @return
      */
     int size();

Modified: labs/jbossrules/trunk/drools-core/src/test/java/org/drools/common/QuadroupleBetaConstraintsTest.java
===================================================================
--- labs/jbossrules/trunk/drools-core/src/test/java/org/drools/common/QuadroupleBetaConstraintsTest.java	2007-04-24 12:26:00 UTC (rev 11294)
+++ labs/jbossrules/trunk/drools-core/src/test/java/org/drools/common/QuadroupleBetaConstraintsTest.java	2007-04-24 12:52:09 UTC (rev 11295)
@@ -9,7 +9,7 @@
 import org.drools.base.ClassObjectType;
 import org.drools.base.evaluators.Operator;
 import org.drools.base.evaluators.StringFactory;
-import org.drools.rule.Column;
+import org.drools.rule.Pattern;
 import org.drools.rule.Declaration;
 import org.drools.rule.VariableConstraint;
 import org.drools.spi.BetaNodeFieldConstraint;
@@ -52,7 +52,7 @@
                                                                                       fieldName );
         Declaration declaration = new Declaration( fieldName,
                                                    extractor,
-                                                   new Column( 0,
+                                                   new Pattern( 0,
                                                                new ClassObjectType( clazz ) ) );
         Evaluator evaluator = StringFactory.getInstance().getEvaluator( Operator.EQUAL );
         return new VariableConstraint( extractor,

Modified: labs/jbossrules/trunk/drools-core/src/test/java/org/drools/event/AgendaEventSupportTest.java
===================================================================
--- labs/jbossrules/trunk/drools-core/src/test/java/org/drools/event/AgendaEventSupportTest.java	2007-04-24 12:26:00 UTC (rev 11294)
+++ labs/jbossrules/trunk/drools-core/src/test/java/org/drools/event/AgendaEventSupportTest.java	2007-04-24 12:52:09 UTC (rev 11295)
@@ -30,7 +30,7 @@
 import org.drools.base.FieldFactory;
 import org.drools.base.ValueType;
 import org.drools.base.evaluators.Operator;
-import org.drools.rule.Column;
+import org.drools.rule.Pattern;
 import org.drools.rule.LiteralConstraint;
 import org.drools.rule.Rule;
 import org.drools.rule.Package;
@@ -57,7 +57,7 @@
         final Rule rule = new Rule( "test1" );
         rule.setAgendaGroup( "test group" );
         final ClassObjectType cheeseObjectType = new ClassObjectType( Cheese.class );
-        final Column column = new Column( 0,
+        final Pattern pattern = new Pattern( 0,
                                     cheeseObjectType );
 
         final ClassFieldExtractor extractor = new ClassFieldExtractor( Cheese.class,
@@ -70,8 +70,8 @@
         final LiteralConstraint constraint = new LiteralConstraint( extractor,
                                                               evaluator,
                                                               field );
-        column.addConstraint( constraint );
-        rule.addPattern( column );
+        pattern.addConstraint( constraint );
+        rule.addPattern( pattern );
 
         rule.setConsequence( new Consequence() {
             public void evaluate(final KnowledgeHelper knowledgeHelper,

Modified: labs/jbossrules/trunk/drools-core/src/test/java/org/drools/examples/manners/BaseMannersTest.java
===================================================================
--- labs/jbossrules/trunk/drools-core/src/test/java/org/drools/examples/manners/BaseMannersTest.java	2007-04-24 12:26:00 UTC (rev 11294)
+++ labs/jbossrules/trunk/drools-core/src/test/java/org/drools/examples/manners/BaseMannersTest.java	2007-04-24 12:52:09 UTC (rev 11295)
@@ -40,7 +40,7 @@
 import org.drools.base.evaluators.Operator;
 import org.drools.base.field.BooleanFieldImpl;
 import org.drools.base.field.LongFieldImpl;
-import org.drools.rule.Column;
+import org.drools.rule.Pattern;
 import org.drools.rule.Declaration;
 import org.drools.rule.GroupElement;
 import org.drools.rule.GroupElementFactory;
@@ -171,38 +171,38 @@
         // -----------
         // context : Context( state == Context.START_UP )
         // -----------
-        final Column contextColumn = new Column( 0,
+        final Pattern contextPattern = new Pattern( 0,
                                                  this.contextType,
                                                  "context" );
 
-        contextColumn.addConstraint( getLiteralConstraint( contextColumn,
+        contextPattern.addConstraint( getLiteralConstraint( contextPattern,
                                                            "state",
                                                            Context.START_UP,
                                                            this.integerEqualEvaluator ) );
 
-        rule.addPattern( contextColumn );
+        rule.addPattern( contextPattern );
 
         final Declaration contextDeclaration = rule.getDeclaration( "context" );
 
         // -----------
         // guest: Guest()
         // -----------
-        final Column guestColumn = new Column( 1,
+        final Pattern guestPattern = new Pattern( 1,
                                                this.guestType,
                                                "guest" );
 
-        rule.addPattern( guestColumn );
+        rule.addPattern( guestPattern );
 
         final Declaration guestDeclaration = rule.getDeclaration( "guest" );
 
         // ------------
         // count : Count()
         // ------------
-        final Column countColumn = new Column( 2,
+        final Pattern countPattern = new Pattern( 2,
                                                this.countType,
                                                "count" );
 
-        rule.addPattern( countColumn );
+        rule.addPattern( countPattern );
 
         final Declaration countDeclaration = rule.getDeclaration( "count" );
 
@@ -304,16 +304,16 @@
         // ---------------
         // context : Context( state == Context.ASSIGN_SEATS )
         // ---------------
-        final Column contextColumn = new Column( 0,
+        final Pattern contextPattern = new Pattern( 0,
                                                  this.contextType,
                                                  "context" );
 
-        contextColumn.addConstraint( getLiteralConstraint( contextColumn,
+        contextPattern.addConstraint( getLiteralConstraint( contextPattern,
                                                            "state",
                                                            Context.ASSIGN_SEATS,
                                                            this.integerEqualEvaluator ) );
 
-        rule.addPattern( contextColumn );
+        rule.addPattern( contextPattern );
 
         final Declaration contextDeclaration = rule.getDeclaration( "context" );
 
@@ -321,31 +321,31 @@
         // Seating( seatingId:id, seatingPid:pid, pathDone == true
         // seatingRightSeat:rightSeat seatingRightGuestName:rightGuestName )
         // -------------------------------
-        final Column seatingColumn = new Column( 1,
+        final Pattern seatingPattern = new Pattern( 1,
                                                  this.seatingType );
 
-        setFieldDeclaration( seatingColumn,
+        setFieldDeclaration( seatingPattern,
                              "id",
                              "seatingId" );
 
-        setFieldDeclaration( seatingColumn,
+        setFieldDeclaration( seatingPattern,
                              "pid",
                              "seatingPid" );
 
-        seatingColumn.addConstraint( getLiteralConstraint( seatingColumn,
+        seatingPattern.addConstraint( getLiteralConstraint( seatingPattern,
                                                            "pathDone",
                                                            true,
                                                            this.booleanEqualEvaluator ) );
 
-        setFieldDeclaration( seatingColumn,
+        setFieldDeclaration( seatingPattern,
                              "rightSeat",
                              "seatingRightSeat" );
 
-        setFieldDeclaration( seatingColumn,
+        setFieldDeclaration( seatingPattern,
                              "rightGuestName",
                              "seatingRightGuestName" );
 
-        rule.addPattern( seatingColumn );
+        rule.addPattern( seatingPattern );
 
         final Declaration seatingIdDeclaration = rule.getDeclaration( "seatingId" );
         final Declaration seatingPidDeclaration = rule.getDeclaration( "seatingPid" );
@@ -355,23 +355,23 @@
         // Guest( name == seatingRightGuestName, rightGuestSex:sex,
         // rightGuestHobby:hobby )
         // ---------------
-        final Column rightGuestColumn = new Column( 2,
+        final Pattern rightGuestPattern = new Pattern( 2,
                                                     this.guestType );
 
-        rightGuestColumn.addConstraint( getBoundVariableConstraint( rightGuestColumn,
+        rightGuestPattern.addConstraint( getBoundVariableConstraint( rightGuestPattern,
                                                                     "name",
                                                                     seatingRightGuestNameDeclaration,
                                                                     this.objectEqualEvaluator ) );
 
-        setFieldDeclaration( rightGuestColumn,
+        setFieldDeclaration( rightGuestPattern,
                              "sex",
                              "rightGuestSex" );
 
-        setFieldDeclaration( rightGuestColumn,
+        setFieldDeclaration( rightGuestPattern,
                              "hobby",
                              "rightGuestHobby" );
 
-        rule.addPattern( rightGuestColumn );
+        rule.addPattern( rightGuestPattern );
 
         final Declaration rightGuestSexDeclaration = rule.getDeclaration( "rightGuestSex" );
         final Declaration rightGuestHobbyDeclaration = rule.getDeclaration( "rightGuestHobby" );
@@ -380,30 +380,30 @@
         // Guest( leftGuestName:name , sex != rightGuestSex, hobby ==
         // rightGuestHobby )
         // ----------------
-        final Column leftGuestColumn = new Column( 3,
+        final Pattern leftGuestPattern = new Pattern( 3,
                                                    this.guestType );
 
-        setFieldDeclaration( leftGuestColumn,
+        setFieldDeclaration( leftGuestPattern,
                              "name",
                              "leftGuestName" );
 
-        leftGuestColumn.addConstraint( getBoundVariableConstraint( rightGuestColumn,
+        leftGuestPattern.addConstraint( getBoundVariableConstraint( rightGuestPattern,
                                                                    "hobby",
                                                                    rightGuestHobbyDeclaration,
                                                                    this.objectEqualEvaluator ) );
 
-        leftGuestColumn.addConstraint( getBoundVariableConstraint( leftGuestColumn,
+        leftGuestPattern.addConstraint( getBoundVariableConstraint( leftGuestPattern,
                                                                    "sex",
                                                                    rightGuestSexDeclaration,
                                                                    this.objectNotEqualEvaluator ) );
 
-        rule.addPattern( leftGuestColumn );
+        rule.addPattern( leftGuestPattern );
         final Declaration leftGuestNameDeclaration = rule.getDeclaration( "leftGuestName" );
 
         // ---------------
         // count : Count()
         // ---------------
-        final Column count = new Column( 4,
+        final Pattern count = new Pattern( 4,
                                          this.countType,
                                          "count" );
 
@@ -414,45 +414,45 @@
         // --------------
         // not ( Path( id == seatingId, guestName == leftGuestName) )
         // --------------
-        final Column notPathColumn = new Column( 5,
+        final Pattern notPathPattern = new Pattern( 5,
                                                  this.pathType );
 
-        notPathColumn.addConstraint( getBoundVariableConstraint( notPathColumn,
+        notPathPattern.addConstraint( getBoundVariableConstraint( notPathPattern,
                                                                  "id",
                                                                  seatingIdDeclaration,
                                                                  this.integerEqualEvaluator ) );
 
-        notPathColumn.addConstraint( getBoundVariableConstraint( notPathColumn,
+        notPathPattern.addConstraint( getBoundVariableConstraint( notPathPattern,
                                                                  "guestName",
                                                                  leftGuestNameDeclaration,
                                                                  this.objectEqualEvaluator ) );
         final GroupElement notPath = GroupElementFactory.newNotInstance();
-        notPath.addChild( notPathColumn );
+        notPath.addChild( notPathPattern );
         rule.addPattern( notPath );
         // ------------
         // not ( Chosen( id == seatingId, guestName == leftGuestName, hobby ==
         // rightGuestHobby ) )
         // ------------
-        final Column notChosenColumn = new Column( 6,
+        final Pattern notChosenPattern = new Pattern( 6,
                                                    this.chosenType );
 
-        notChosenColumn.addConstraint( getBoundVariableConstraint( notChosenColumn,
+        notChosenPattern.addConstraint( getBoundVariableConstraint( notChosenPattern,
                                                                    "id",
                                                                    seatingIdDeclaration,
                                                                    this.integerEqualEvaluator ) );
 
-        notChosenColumn.addConstraint( getBoundVariableConstraint( notChosenColumn,
+        notChosenPattern.addConstraint( getBoundVariableConstraint( notChosenPattern,
                                                                    "guestName",
                                                                    leftGuestNameDeclaration,
                                                                    this.objectEqualEvaluator ) );
 
-        notChosenColumn.addConstraint( getBoundVariableConstraint( notChosenColumn,
+        notChosenPattern.addConstraint( getBoundVariableConstraint( notChosenPattern,
                                                                    "hobby",
                                                                    rightGuestHobbyDeclaration,
                                                                    this.objectEqualEvaluator ) );
 
         final GroupElement notChosen = GroupElementFactory.newNotInstance();
-        notChosen.addChild( notChosenColumn );
+        notChosen.addChild( notChosenPattern );
 
         rule.addPattern( notChosen );
 
@@ -569,36 +569,36 @@
         // -----------
         // context : Context( state == Context.MAKE_PATH )
         // -----------
-        final Column contextColumn = new Column( 0,
+        final Pattern contextPattern = new Pattern( 0,
                                                  this.contextType );
 
-        contextColumn.addConstraint( getLiteralConstraint( contextColumn,
+        contextPattern.addConstraint( getLiteralConstraint( contextPattern,
                                                            "state",
                                                            Context.MAKE_PATH,
                                                            this.integerEqualEvaluator ) );
 
-        rule.addPattern( contextColumn );
+        rule.addPattern( contextPattern );
 
         // ---------------
         // Seating( seatingId:id, seatingPid:pid, pathDone == false )
         // ---------------
-        final Column seatingColumn = new Column( 1,
+        final Pattern seatingPattern = new Pattern( 1,
                                                  this.seatingType );
 
-        setFieldDeclaration( seatingColumn,
+        setFieldDeclaration( seatingPattern,
                              "id",
                              "seatingId" );
 
-        setFieldDeclaration( seatingColumn,
+        setFieldDeclaration( seatingPattern,
                              "pid",
                              "seatingPid" );
 
-        seatingColumn.addConstraint( getLiteralConstraint( seatingColumn,
+        seatingPattern.addConstraint( getLiteralConstraint( seatingPattern,
                                                            "pathDone",
                                                            false,
                                                            this.booleanEqualEvaluator ) );
 
-        rule.addPattern( seatingColumn );
+        rule.addPattern( seatingPattern );
 
         final Declaration seatingIdDeclaration = rule.getDeclaration( "seatingId" );
         final Declaration seatingPidDeclaration = rule.getDeclaration( "seatingPid" );
@@ -606,44 +606,44 @@
         // -----------
         // Path( id == seatingPid, pathGuestName:guestName, pathSeat:seat )
         // -----------
-        final Column pathColumn = new Column( 2,
+        final Pattern pathPattern = new Pattern( 2,
                                               this.pathType );
 
-        pathColumn.addConstraint( getBoundVariableConstraint( pathColumn,
+        pathPattern.addConstraint( getBoundVariableConstraint( pathPattern,
                                                               "id",
                                                               seatingPidDeclaration,
                                                               this.integerEqualEvaluator ) );
 
-        setFieldDeclaration( pathColumn,
+        setFieldDeclaration( pathPattern,
                              "guestName",
                              "pathGuestName" );
 
-        setFieldDeclaration( pathColumn,
+        setFieldDeclaration( pathPattern,
                              "seat",
                              "pathSeat" );
 
-        rule.addPattern( pathColumn );
+        rule.addPattern( pathPattern );
 
         final Declaration pathGuestNameDeclaration = rule.getDeclaration( "pathGuestName" );
         final Declaration pathSeatDeclaration = rule.getDeclaration( "pathSeat" );
         // -------------
         // (not Path( id == seatingId, guestName == pathGuestName )
         // -------------
-        final Column notPathColumn = new Column( 3,
+        final Pattern notPathPattern = new Pattern( 3,
                                                  this.pathType );
 
-        notPathColumn.addConstraint( getBoundVariableConstraint( notPathColumn,
+        notPathPattern.addConstraint( getBoundVariableConstraint( notPathPattern,
                                                                  "id",
                                                                  seatingIdDeclaration,
                                                                  this.integerEqualEvaluator ) );
-        notPathColumn.addConstraint( getBoundVariableConstraint( notPathColumn,
+        notPathPattern.addConstraint( getBoundVariableConstraint( notPathPattern,
                                                                  "guestName",
                                                                  pathGuestNameDeclaration,
                                                                  this.objectEqualEvaluator ) );
 
         final GroupElement not = GroupElementFactory.newNotInstance();
 
-        not.addChild( notPathColumn );
+        not.addChild( notPathPattern );
 
         rule.addPattern( not );
 
@@ -708,31 +708,31 @@
         // -----------
         // context : Context( state == Context.MAKE_PATH )
         // -----------
-        final Column contextColumn = new Column( 0,
+        final Pattern contextPattern = new Pattern( 0,
                                                  this.contextType,
                                                  "context" );
 
-        contextColumn.addConstraint( getLiteralConstraint( contextColumn,
+        contextPattern.addConstraint( getLiteralConstraint( contextPattern,
                                                            "state",
                                                            Context.MAKE_PATH,
                                                            this.integerEqualEvaluator ) );
 
-        rule.addPattern( contextColumn );
+        rule.addPattern( contextPattern );
         final Declaration contextDeclaration = rule.getDeclaration( "context" );
 
         // ---------------
         // seating : Seating( pathDone == false )
         // ---------------
-        final Column seatingColumn = new Column( 1,
+        final Pattern seatingPattern = new Pattern( 1,
                                                  this.seatingType,
                                                  "seating" );
 
-        seatingColumn.addConstraint( getLiteralConstraint( seatingColumn,
+        seatingPattern.addConstraint( getLiteralConstraint( seatingPattern,
                                                            "pathDone",
                                                            false,
                                                            this.booleanEqualEvaluator ) );
 
-        rule.addPattern( seatingColumn );
+        rule.addPattern( seatingPattern );
 
         final Declaration seatingDeclaration = rule.getDeclaration( "seating" );
 
@@ -801,43 +801,43 @@
         // -----------
         // context : Context( state == Context.CHECK_DONE )
         // -----------
-        final Column contextColumn = new Column( 0,
+        final Pattern contextPattern = new Pattern( 0,
                                                  this.contextType,
                                                  "context" );
 
-        contextColumn.addConstraint( getLiteralConstraint( contextColumn,
+        contextPattern.addConstraint( getLiteralConstraint( contextPattern,
                                                            "state",
                                                            Context.CHECK_DONE,
                                                            this.integerEqualEvaluator ) );
 
-        rule.addPattern( contextColumn );
+        rule.addPattern( contextPattern );
         final Declaration contextDeclaration = rule.getDeclaration( "context" );
 
         // ---------------
         // LastSeat( lastSeat: seat )
         // ---------------
-        final Column lastSeatColumn = new Column( 1,
+        final Pattern lastSeatPattern = new Pattern( 1,
                                                   this.lastSeatType );
 
-        setFieldDeclaration( lastSeatColumn,
+        setFieldDeclaration( lastSeatPattern,
                              "seat",
                              "lastSeat" );
 
-        rule.addPattern( lastSeatColumn );
+        rule.addPattern( lastSeatPattern );
         final Declaration lastSeatDeclaration = rule.getDeclaration( "lastSeat" );
         // -------------
         // Seating( rightSeat == lastSeat )
         // -------------
-        final Column seatingColumn = new Column( 2,
+        final Pattern seatingPattern = new Pattern( 2,
                                                  this.seatingType,
                                                  null );
 
-        seatingColumn.addConstraint( getBoundVariableConstraint( seatingColumn,
+        seatingPattern.addConstraint( getBoundVariableConstraint( seatingPattern,
                                                                  "rightSeat",
                                                                  lastSeatDeclaration,
                                                                  this.integerEqualEvaluator ) );
 
-        rule.addPattern( seatingColumn );
+        rule.addPattern( seatingPattern );
 
         // ------------
         // context.setName( Context.PRINT_RESULTS );
@@ -891,16 +891,16 @@
         // -----------
         // context : Context( state == Context.CHECK_DONE )
         // -----------
-        final Column contextColumn = new Column( 0,
+        final Pattern contextPattern = new Pattern( 0,
                                                  this.contextType,
                                                  "context" );
 
-        contextColumn.addConstraint( getLiteralConstraint( contextColumn,
+        contextPattern.addConstraint( getLiteralConstraint( contextPattern,
                                                            "state",
                                                            Context.CHECK_DONE,
                                                            this.integerEqualEvaluator ) );
 
-        rule.addPattern( contextColumn );
+        rule.addPattern( contextPattern );
         final Declaration contextDeclaration = rule.getDeclaration( "context" );
 
         // ------------
@@ -956,15 +956,15 @@
         // -----------
         // context : Context( state == Context.PRINT_RESULTS )
         // -----------
-        final Column contextColumn = new Column( 0,
+        final Pattern contextPattern = new Pattern( 0,
                                                  this.contextType );
 
-        contextColumn.addConstraint( getLiteralConstraint( contextColumn,
+        contextPattern.addConstraint( getLiteralConstraint( contextPattern,
                                                            "state",
                                                            Context.PRINT_RESULTS,
                                                            this.integerEqualEvaluator ) );
 
-        rule.addPattern( contextColumn );
+        rule.addPattern( contextPattern );
         final Declaration contextDeclaration = rule.getDeclaration( "context" );
 
         // ------------
@@ -1108,11 +1108,11 @@
         return -1;
     }
 
-    private AlphaNodeFieldConstraint getLiteralConstraint(final Column column,
+    private AlphaNodeFieldConstraint getLiteralConstraint(final Pattern pattern,
                                                           final String fieldName,
                                                           final int fieldValue,
                                                           final Evaluator evaluator) throws IntrospectionException {
-        final Class clazz = ((ClassObjectType) column.getObjectType()).getClassType();
+        final Class clazz = ((ClassObjectType) pattern.getObjectType()).getClassType();
 
         final FieldExtractor extractor = new ClassFieldExtractor( clazz,
                                                                   fieldName );
@@ -1124,11 +1124,11 @@
                                       field );
     }
 
-    private AlphaNodeFieldConstraint getLiteralConstraint(final Column column,
+    private AlphaNodeFieldConstraint getLiteralConstraint(final Pattern pattern,
                                                           final String fieldName,
                                                           final boolean fieldValue,
                                                           final Evaluator evaluator) throws IntrospectionException {
-        final Class clazz = ((ClassObjectType) column.getObjectType()).getClassType();
+        final Class clazz = ((ClassObjectType) pattern.getObjectType()).getClassType();
 
         final FieldExtractor extractor = new ClassFieldExtractor( clazz,
                                                                   fieldName );
@@ -1140,23 +1140,23 @@
                                       field );
     }
 
-    private void setFieldDeclaration(final Column column,
+    private void setFieldDeclaration(final Pattern pattern,
                                      final String fieldName,
                                      final String identifier) throws IntrospectionException {
-        final Class clazz = ((ClassObjectType) column.getObjectType()).getClassType();
+        final Class clazz = ((ClassObjectType) pattern.getObjectType()).getClassType();
 
         final FieldExtractor extractor = new ClassFieldExtractor( clazz,
                                                                   fieldName );
 
-        column.addDeclaration( identifier,
+        pattern.addDeclaration( identifier,
                                extractor );
     }
 
-    private BetaNodeFieldConstraint getBoundVariableConstraint(final Column column,
+    private BetaNodeFieldConstraint getBoundVariableConstraint(final Pattern pattern,
                                                                final String fieldName,
                                                                final Declaration declaration,
                                                                final Evaluator evaluator) throws IntrospectionException {
-        final Class clazz = ((ClassObjectType) column.getObjectType()).getClassType();
+        final Class clazz = ((ClassObjectType) pattern.getObjectType()).getClassType();
 
         final FieldExtractor extractor = new ClassFieldExtractor( clazz,
                                                                   fieldName );

Modified: labs/jbossrules/trunk/drools-core/src/test/java/org/drools/facttemplates/FactTemplateFieldExtractorTest.java
===================================================================
--- labs/jbossrules/trunk/drools-core/src/test/java/org/drools/facttemplates/FactTemplateFieldExtractorTest.java	2007-04-24 12:26:00 UTC (rev 11294)
+++ labs/jbossrules/trunk/drools-core/src/test/java/org/drools/facttemplates/FactTemplateFieldExtractorTest.java	2007-04-24 12:52:09 UTC (rev 11295)
@@ -2,7 +2,7 @@
 
 import junit.framework.TestCase;
 
-import org.drools.rule.Column;
+import org.drools.rule.Pattern;
 import org.drools.rule.Declaration;
 import org.drools.rule.Package;
 import org.drools.spi.Extractor;
@@ -69,12 +69,12 @@
         final Extractor extractName = new FactTemplateFieldExtractor( cheese,
                                                                       0 );
 
-        final Column column = new Column( 0,
+        final Pattern pattern = new Pattern( 0,
                                           new FactTemplateObjectType( cheese ) );
 
         final Declaration declaration = new Declaration( "typeOfCheese",
                                                          extractName,
-                                                         column );
+                                                         pattern );
 
         final Fact brie = cheese.createFact( 12 );
         brie.setFieldValue( "name",

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	2007-04-24 12:26:00 UTC (rev 11294)
+++ labs/jbossrules/trunk/drools-core/src/test/java/org/drools/reteoo/AccumulateNodeTest.java	2007-04-24 12:52:09 UTC (rev 11295)
@@ -25,7 +25,7 @@
 import org.drools.common.InternalWorkingMemory;
 import org.drools.common.PropagationContextImpl;
 import org.drools.rule.Accumulate;
-import org.drools.rule.Column;
+import org.drools.rule.Pattern;
 import org.drools.rule.Declaration;
 import org.drools.rule.Rule;
 import org.drools.spi.MockConstraint;
@@ -71,13 +71,13 @@
         this.accumulator = new MockAccumulator();
 
         final ObjectType srcObjType = new ClassObjectType( String.class );
-        final Column sourceColumn = new Column( 0,
+        final Pattern sourcePattern = new Pattern( 0,
                                                 srcObjType );
         final ObjectType resultObjType = new ClassObjectType( String.class );
-        final Column resultColumn = new Column( 1,
+        final Pattern resultPattern = new Pattern( 1,
                                                 resultObjType );
-        this.accumulate = new Accumulate( sourceColumn,
-                                          resultColumn,
+        this.accumulate = new Accumulate( sourcePattern,
+                                          resultPattern,
                                           new Declaration[0],
                                           new Declaration[0],
                                           this.accumulator );

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	2007-04-24 12:26:00 UTC (rev 11294)
+++ labs/jbossrules/trunk/drools-core/src/test/java/org/drools/reteoo/CollectNodeTest.java	2007-04-24 12:52:09 UTC (rev 11295)
@@ -27,7 +27,7 @@
 import org.drools.common.DefaultFactHandle;
 import org.drools.common.PropagationContextImpl;
 import org.drools.rule.Collect;
-import org.drools.rule.Column;
+import org.drools.rule.Pattern;
 import org.drools.rule.Rule;
 import org.drools.spi.MockConstraint;
 import org.drools.spi.ObjectType;
@@ -68,13 +68,13 @@
         this.sink = new MockTupleSink();
 
         final ObjectType srcObjType = new ClassObjectType( String.class );
-        final Column sourceColumn = new Column( 0,
+        final Pattern sourcePattern = new Pattern( 0,
                                                 srcObjType );
         final ObjectType resultObjType = new ClassObjectType( LinkedList.class );
-        final Column resultColumn = new Column( 1,
+        final Pattern resultPattern = new Pattern( 1,
                                                 resultObjType );
-        this.collect = new Collect( sourceColumn,
-                                    resultColumn );
+        this.collect = new Collect( sourcePattern,
+                                    resultPattern );
 
         this.node = new CollectNode( 15,
                                      this.tupleSource,

Modified: labs/jbossrules/trunk/drools-core/src/test/java/org/drools/reteoo/CrossProductTest.java
===================================================================
--- labs/jbossrules/trunk/drools-core/src/test/java/org/drools/reteoo/CrossProductTest.java	2007-04-24 12:26:00 UTC (rev 11294)
+++ labs/jbossrules/trunk/drools-core/src/test/java/org/drools/reteoo/CrossProductTest.java	2007-04-24 12:52:09 UTC (rev 11295)
@@ -25,7 +25,7 @@
 import org.drools.RuleBaseFactory;
 import org.drools.WorkingMemory;
 import org.drools.base.ClassObjectType;
-import org.drools.rule.Column;
+import org.drools.rule.Pattern;
 import org.drools.rule.Declaration;
 import org.drools.rule.Package;
 import org.drools.rule.Rule;
@@ -45,15 +45,15 @@
 
         final Rule rule = new Rule( "rule-1" );
 
-        final Column list1Column = new Column( 0,
+        final Pattern list1Pattern = new Pattern( 0,
                                                list1ObjectType,
                                                "s1" );
-        final Column list2Column = new Column( 1,
+        final Pattern list2Pattern = new Pattern( 1,
                                                list2ObjectType,
                                                "s2" );
 
-        rule.addPattern( list1Column );
-        rule.addPattern( list2Column );
+        rule.addPattern( list1Pattern );
+        rule.addPattern( list2Pattern );
 
         final Declaration s1Declaration = rule.getDeclaration( "s1" );
         final Declaration s2Declaration = rule.getDeclaration( "s2" );

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	2007-04-24 12:26:00 UTC (rev 11294)
+++ labs/jbossrules/trunk/drools-core/src/test/java/org/drools/reteoo/ExistsNodeTest.java	2007-04-24 12:52:09 UTC (rev 11295)
@@ -64,7 +64,7 @@
 
         final RuleBaseConfiguration configuration = new RuleBaseConfiguration();
 
-        // string1Declaration is bound to column 3 
+        // string1Declaration is bound to pattern 3 
         this.node = new ExistsNode( 15,
                                     new MockTupleSource( 5 ),
                                     new MockObjectSource( 8 ),

Modified: labs/jbossrules/trunk/drools-core/src/test/java/org/drools/reteoo/FromNodeTest.java
===================================================================
--- labs/jbossrules/trunk/drools-core/src/test/java/org/drools/reteoo/FromNodeTest.java	2007-04-24 12:26:00 UTC (rev 11294)
+++ labs/jbossrules/trunk/drools-core/src/test/java/org/drools/reteoo/FromNodeTest.java	2007-04-24 12:52:09 UTC (rev 11295)
@@ -22,7 +22,7 @@
 import org.drools.common.InternalFactHandle;
 import org.drools.common.PropagationContextImpl;
 import org.drools.common.SingleBetaConstraints;
-import org.drools.rule.Column;
+import org.drools.rule.Pattern;
 import org.drools.rule.Declaration;
 import org.drools.rule.LiteralConstraint;
 import org.drools.rule.VariableConstraint;
@@ -140,12 +140,12 @@
         final ClassFieldExtractor ageExtractor = new ClassFieldExtractor( Person.class,
                                                                           "age" );
 
-        final Column column = new Column( 0,
+        final Pattern pattern = new Pattern( 0,
                                           new ClassObjectType( Person.class ) );
 
         final Declaration declaration = new Declaration( "age",
                                                          ageExtractor,
-                                                         column );
+                                                         pattern );
 
         final VariableConstraint variableConstraint = new VariableConstraint( priceExtractor,
                                                                               declaration,

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	2007-04-24 12:26:00 UTC (rev 11294)
+++ labs/jbossrules/trunk/drools-core/src/test/java/org/drools/reteoo/NotNodeTest.java	2007-04-24 12:52:09 UTC (rev 11295)
@@ -62,7 +62,7 @@
 
         final RuleBaseConfiguration configuration = new RuleBaseConfiguration();
 
-        // string1Declaration is bound to column 3 
+        // string1Declaration is bound to pattern 3 
         this.node = new NotNode( 15,
                                  new MockTupleSource( 5 ),
                                  new MockObjectSource( 8 ),

Modified: labs/jbossrules/trunk/drools-core/src/test/java/org/drools/reteoo/OtherwiseTest.java
===================================================================
--- labs/jbossrules/trunk/drools-core/src/test/java/org/drools/reteoo/OtherwiseTest.java	2007-04-24 12:26:00 UTC (rev 11294)
+++ labs/jbossrules/trunk/drools-core/src/test/java/org/drools/reteoo/OtherwiseTest.java	2007-04-24 12:52:09 UTC (rev 11295)
@@ -7,7 +7,7 @@
 import org.drools.base.ClassObjectType;
 import org.drools.base.ShadowProxyFactory;
 import org.drools.base.TestBean;
-import org.drools.rule.Column;
+import org.drools.rule.Pattern;
 import org.drools.rule.Package;
 import org.drools.rule.Rule;
 import org.drools.spi.Consequence;
@@ -116,7 +116,7 @@
 
     private Rule getOtherwise(final String name) {
         final Rule rule = new Rule( name );
-        final Column pat = new Column( 0,
+        final Pattern pat = new Pattern( 0,
                                        new ClassObjectType( Otherwise.class,
                                                             ShadowProxyFactory.getProxy( Otherwise.class ) ) );
         rule.addPattern( pat );
@@ -127,7 +127,7 @@
     private Rule getRule(final String name) {
         final Rule rule = new Rule( name );
 
-        final Column pat = new Column( 0,
+        final Pattern pat = new Pattern( 0,
                                        new ClassObjectType( TestBean.class,
                                                             ShadowProxyFactory.getProxy( TestBean.class ) ) );
 

Modified: labs/jbossrules/trunk/drools-core/src/test/java/org/drools/reteoo/builder/ReteooRuleBuilderTest.java
===================================================================
--- labs/jbossrules/trunk/drools-core/src/test/java/org/drools/reteoo/builder/ReteooRuleBuilderTest.java	2007-04-24 12:26:00 UTC (rev 11294)
+++ labs/jbossrules/trunk/drools-core/src/test/java/org/drools/reteoo/builder/ReteooRuleBuilderTest.java	2007-04-24 12:52:09 UTC (rev 11295)
@@ -26,7 +26,7 @@
 import org.drools.reteoo.ReteooBuilder;
 import org.drools.reteoo.ReteooRuleBase;
 import org.drools.reteoo.RuleTerminalNode;
-import org.drools.rule.Column;
+import org.drools.rule.Pattern;
 import org.drools.rule.GroupElement;
 import org.drools.rule.GroupElementFactory;
 import org.drools.rule.Rule;
@@ -61,13 +61,13 @@
     /**
      * Test method for {@link org.drools.reteoo.builder.ReteooRuleBuilder#addRule(org.drools.rule.Rule, org.drools.reteoo.ReteooRuleBase, java.util.Map, int)}.
      */
-    public void testAddRuleWithColumns() {
-        final Rule rule = new Rule( "only columns" );
-        final Column c1 = new Column( 0,
+    public void testAddRuleWithPatterns() {
+        final Rule rule = new Rule( "only patterns" );
+        final Pattern c1 = new Pattern( 0,
                                 new ClassObjectType( String.class ) );
-        final Column c2 = new Column( 1,
+        final Pattern c2 = new Pattern( 1,
                                 new ClassObjectType( String.class ) );
-        final Column c3 = new Column( 2,
+        final Pattern c3 = new Pattern( 2,
                                 new ClassObjectType( String.class ) );
 
         final GroupElement lhsroot = GroupElementFactory.newAndInstance();

Deleted: labs/jbossrules/trunk/drools-core/src/test/java/org/drools/rule/ColumnTest.java
===================================================================
--- labs/jbossrules/trunk/drools-core/src/test/java/org/drools/rule/ColumnTest.java	2007-04-24 12:26:00 UTC (rev 11294)
+++ labs/jbossrules/trunk/drools-core/src/test/java/org/drools/rule/ColumnTest.java	2007-04-24 12:52:09 UTC (rev 11295)
@@ -1,70 +0,0 @@
-package org.drools.rule;
-
-import junit.framework.TestCase;
-
-import org.drools.Cheese;
-import org.drools.base.ClassObjectType;
-import org.drools.facttemplates.Fact;
-import org.drools.facttemplates.FactTemplate;
-import org.drools.facttemplates.FactTemplateImpl;
-import org.drools.facttemplates.FactTemplateObjectType;
-import org.drools.facttemplates.FieldTemplate;
-import org.drools.facttemplates.FieldTemplateImpl;
-import org.drools.spi.Extractor;
-import org.drools.spi.ObjectType;
-
-public class ColumnTest extends TestCase {
-
-    public void testDeclarationsObjectType() throws Exception {
-        final ObjectType type = new ClassObjectType( Cheese.class );
-        final Column col = new Column( 0,
-                                       type,
-                                       "foo" );
-        final Declaration dec = col.getDeclaration();
-        final Extractor ext = dec.getExtractor();
-        assertEquals( Cheese.class,
-                      ext.getExtractToClass() );
-
-        final Cheese stilton = new Cheese( "stilton",
-                                           42 );
-
-        assertEquals( stilton,
-                      dec.getValue( stilton ) );
-
-    }
-
-    public void testDeclarationsFactTemplate() throws Exception {
-
-        final Package pkg = new Package( "org.store" );
-        final FieldTemplate cheeseName = new FieldTemplateImpl( "name",
-                                                                0,
-                                                                String.class );
-        final FieldTemplate cheesePrice = new FieldTemplateImpl( "price",
-                                                                 1,
-                                                                 Integer.class );
-        final FieldTemplate[] fields = new FieldTemplate[]{cheeseName, cheesePrice};
-        final FactTemplate cheese = new FactTemplateImpl( pkg,
-                                                          "Cheese",
-                                                          fields );
-
-        final ObjectType type = new FactTemplateObjectType( cheese );
-
-        final Column col = new Column( 0,
-                                       type,
-                                       "foo" );
-        final Declaration dec = col.getDeclaration();
-        final Extractor ext = dec.getExtractor();
-        assertEquals( Fact.class,
-                      ext.getExtractToClass() );
-
-        final Fact stilton = cheese.createFact( 10 );
-        stilton.setFieldValue( "name",
-                               "stilton" );
-        stilton.setFieldValue( "price",
-                               new Integer( 200 ) );
-
-        assertEquals( stilton,
-                      dec.getValue( stilton ) );
-    }
-
-}

Modified: labs/jbossrules/trunk/drools-core/src/test/java/org/drools/rule/DeclarationTest.java
===================================================================
--- labs/jbossrules/trunk/drools-core/src/test/java/org/drools/rule/DeclarationTest.java	2007-04-24 12:26:00 UTC (rev 11294)
+++ labs/jbossrules/trunk/drools-core/src/test/java/org/drools/rule/DeclarationTest.java	2007-04-24 12:52:09 UTC (rev 11295)
@@ -33,14 +33,14 @@
         final FieldExtractor extractor = new ClassFieldExtractor( Cheese.class,
                                                                   "type" );
 
-        final Column column = new Column( 5,
+        final Pattern pattern = new Pattern( 5,
                                           new ClassObjectType( Cheese.class ) );
 
         // Bind the extractor to a decleration
-        // Declarations know the column they derive their value from
+        // Declarations know the pattern they derive their value from
         final Declaration declaration = new Declaration( "typeOfCheese",
                                                          extractor,
-                                                         column );
+                                                         pattern );
 
         assertEquals( "typeOfCheese",
                       declaration.getIdentifier() );
@@ -52,7 +52,7 @@
                     declaration.getExtractor() );
 
         assertEquals( 5,
-                      declaration.getColumn().getOffset() );
+                      declaration.getPattern().getOffset() );
 
     }
 
@@ -60,14 +60,14 @@
         final FieldExtractor extractor = new ClassFieldExtractor( Cheese.class,
                                                                   "type" );
 
-        final Column column = new Column( 5,
+        final Pattern pattern = new Pattern( 5,
                                           new ClassObjectType( Cheese.class ) );
 
         // Bind the extractor to a decleration 
-        // Declarations know the column they derive their value from 
+        // Declarations know the pattern they derive their value from 
         final Declaration declaration = new Declaration( "typeOfCheese",
                                                          extractor,
-                                                         column );
+                                                         pattern );
 
         // Create some facts
         final Cheese cheddar = new Cheese( "cheddar",

Modified: labs/jbossrules/trunk/drools-core/src/test/java/org/drools/rule/FieldConstraintTest.java
===================================================================
--- labs/jbossrules/trunk/drools-core/src/test/java/org/drools/rule/FieldConstraintTest.java	2007-04-24 12:26:00 UTC (rev 11294)
+++ labs/jbossrules/trunk/drools-core/src/test/java/org/drools/rule/FieldConstraintTest.java	2007-04-24 12:52:09 UTC (rev 11295)
@@ -159,23 +159,23 @@
         final FieldExtractor priceExtractor = new ClassFieldExtractor( Cheese.class,
                                                                        "price" );
 
-        Column column = new Column( 0,
+        Pattern pattern = new Pattern( 0,
                                     new ClassObjectType( Cheese.class ) );
 
         // Bind the extractor to a decleration
-        // Declarations know the column they derive their value form
+        // Declarations know the pattern they derive their value form
         final Declaration price1Declaration = new Declaration( "price1",
                                                                priceExtractor,
-                                                               column );
+                                                               pattern );
 
-        column = new Column( 1,
+        pattern = new Pattern( 1,
                              new ClassObjectType( Cheese.class ) );
 
         // Bind the extractor to a decleration
-        // Declarations know the column they derive their value form
+        // Declarations know the pattern they derive their value form
         final Declaration price2Declaration = new Declaration( "price2",
                                                                priceExtractor,
-                                                               column );
+                                                               pattern );
 
         final PredicateExpression evaluator = new PredicateExpression() {
 
@@ -241,14 +241,14 @@
         final FieldExtractor priceExtractor = new ClassFieldExtractor( Cheese.class,
                                                                        "price" );
 
-        final Column column = new Column( 0,
+        final Pattern pattern = new Pattern( 0,
                                           new ClassObjectType( Cheese.class ) );
 
         // Bind the extractor to a decleration
-        // Declarations know the column they derive their value form
+        // Declarations know the pattern they derive their value form
         final Declaration priceDeclaration = new Declaration( "price1",
                                                               priceExtractor,
-                                                              column );
+                                                              pattern );
 
         final ReturnValueExpression isDoubleThePrice = new ReturnValueExpression() {
             /**

Modified: labs/jbossrules/trunk/drools-core/src/test/java/org/drools/rule/GroupElementTest.java
===================================================================
--- labs/jbossrules/trunk/drools-core/src/test/java/org/drools/rule/GroupElementTest.java	2007-04-24 12:26:00 UTC (rev 11294)
+++ labs/jbossrules/trunk/drools-core/src/test/java/org/drools/rule/GroupElementTest.java	2007-04-24 12:52:09 UTC (rev 11295)
@@ -9,19 +9,19 @@
 
     public void testPackNestedAnd() {
         final GroupElement and1 = GroupElementFactory.newAndInstance();
-        final Column column1 = new Column( 0,
+        final Pattern pattern1 = new Pattern( 0,
                                      null );
-        and1.addChild( column1 );
+        and1.addChild( pattern1 );
 
-        final Column column2 = new Column( 0,
+        final Pattern pattern2 = new Pattern( 0,
                                      null );
-        and1.addChild( column2 );
+        and1.addChild( pattern2 );
 
         assertEquals( 2,
                       and1.getChildren().size() );
-        assertSame( column1,
+        assertSame( pattern1,
                     and1.getChildren().get( 0 ) );
-        assertSame( column2,
+        assertSame( pattern2,
                     and1.getChildren().get( 1 ) );
 
         final GroupElement and2 = GroupElementFactory.newAndInstance();
@@ -30,27 +30,27 @@
         and2.pack();
         assertEquals( 2,
                       and2.getChildren().size() );
-        assertSame( column1,
+        assertSame( pattern1,
                     and2.getChildren().get( 0 ) );
-        assertSame( column2,
+        assertSame( pattern2,
                     and2.getChildren().get( 1 ) );
     }
 
     public void testPackNestedOr() {
         final GroupElement or1 = GroupElementFactory.newOrInstance();
-        final Column column1 = new Column( 0,
+        final Pattern pattern1 = new Pattern( 0,
                                      null );
-        or1.addChild( column1 );
+        or1.addChild( pattern1 );
 
-        final Column column2 = new Column( 0,
+        final Pattern pattern2 = new Pattern( 0,
                                      null );
-        or1.addChild( column2 );
+        or1.addChild( pattern2 );
 
         assertEquals( 2,
                       or1.getChildren().size() );
-        assertSame( column1,
+        assertSame( pattern1,
                     or1.getChildren().get( 0 ) );
-        assertSame( column2,
+        assertSame( pattern2,
                     or1.getChildren().get( 1 ) );
 
         final GroupElement or2 = GroupElementFactory.newOrInstance();
@@ -60,21 +60,21 @@
 
         assertEquals( 2,
                       or2.getChildren().size() );
-        assertSame( column1,
+        assertSame( pattern1,
                     or2.getChildren().get( 0 ) );
-        assertSame( column2,
+        assertSame( pattern2,
                     or2.getChildren().get( 1 ) );
     }
 
     public void testPackNestedExists() {
         final GroupElement exists1 = GroupElementFactory.newExistsInstance();
-        final Column column1 = new Column( 0,
+        final Pattern pattern1 = new Pattern( 0,
                                      null );
-        exists1.addChild( column1 );
+        exists1.addChild( pattern1 );
 
         assertEquals( 1,
                       exists1.getChildren().size() );
-        assertSame( column1,
+        assertSame( pattern1,
                     exists1.getChildren().get( 0 ) );
 
         final GroupElement exists2 = GroupElementFactory.newExistsInstance();
@@ -84,25 +84,25 @@
 
         assertEquals( 1,
                       exists2.getChildren().size() );
-        assertSame( column1,
+        assertSame( pattern1,
                     exists2.getChildren().get( 0 ) );
     }
 
     public void testAddMultipleChildsIntoNot() {
         final GroupElement not = GroupElementFactory.newNotInstance();
 
-        final Column column1 = new Column( 0,
+        final Pattern pattern1 = new Pattern( 0,
                                      null );
         try {
-            not.addChild( column1 );
+            not.addChild( pattern1 );
         } catch ( final RuntimeDroolsException rde ) {
             Assert.fail( "Adding a single child is not supposed to throw Exception for NOT GE: " + rde.getMessage() );
         }
 
-        final Column column2 = new Column( 0,
+        final Pattern pattern2 = new Pattern( 0,
                                      null );
         try {
-            not.addChild( column2 );
+            not.addChild( pattern2 );
             Assert.fail( "Adding a second child into a NOT GE should throw Exception" );
         } catch ( final RuntimeDroolsException rde ) {
             // everything is fine
@@ -111,12 +111,12 @@
 
     public void testAddSingleBranchAnd() {
         final GroupElement and1 = GroupElementFactory.newAndInstance();
-        final Column column = new Column( 0,
+        final Pattern pattern = new Pattern( 0,
                                     null );
-        and1.addChild( column );
+        and1.addChild( pattern );
         assertEquals( 1,
                       and1.getChildren().size() );
-        assertSame( column,
+        assertSame( pattern,
                     and1.getChildren().get( 0 ) );
 
         final GroupElement or1 = GroupElementFactory.newOrInstance();
@@ -125,18 +125,18 @@
         or1.pack();
         assertEquals( 1,
                       or1.getChildren().size() );
-        assertSame( column,
+        assertSame( pattern,
                     or1.getChildren().get( 0 ) );
     }
 
     public void testAddSingleBranchOr() {
         final GroupElement or1 = GroupElementFactory.newOrInstance();
-        final Column column = new Column( 0,
+        final Pattern pattern = new Pattern( 0,
                                     null );
-        or1.addChild( column );
+        or1.addChild( pattern );
         assertEquals( 1,
                       or1.getChildren().size() );
-        assertSame( column,
+        assertSame( pattern,
                     or1.getChildren().get( 0 ) );
 
         final GroupElement and1 = GroupElementFactory.newAndInstance();
@@ -145,7 +145,7 @@
         and1.pack();
         assertEquals( 1,
                       and1.getChildren().size() );
-        assertSame( column,
+        assertSame( pattern,
                     and1.getChildren().get( 0 ) );
     }
 
@@ -173,13 +173,13 @@
      */
     public void testDeepNestedStructure() {
         final GroupElement or1 = GroupElementFactory.newOrInstance();
-        final Column column1 = new Column( 0,
+        final Pattern pattern1 = new Pattern( 0,
                                      null );
-        or1.addChild( column1 );
+        or1.addChild( pattern1 );
 
-        final Column column2 = new Column( 0,
+        final Pattern pattern2 = new Pattern( 0,
                                      null );
-        or1.addChild( column2 );
+        or1.addChild( pattern2 );
 
         final GroupElement and1 = GroupElementFactory.newAndInstance();
         and1.addChild( or1 );
@@ -188,9 +188,9 @@
         assertSame( or1,
                     and1.getChildren().get( 0 ) );
 
-        assertSame( column1,
+        assertSame( pattern1,
                     or1.getChildren().get( 0 ) );
-        assertSame( column2,
+        assertSame( pattern2,
                     or1.getChildren().get( 1 ) );
 
         final GroupElement or2 = GroupElementFactory.newOrInstance();
@@ -227,9 +227,9 @@
         assertEquals( 2,
                       and2.getChildren().size() );
 
-        assertSame( column1,
+        assertSame( pattern1,
                     and2.getChildren().get( 0 ) );
-        assertSame( column2,
+        assertSame( pattern2,
                     and2.getChildren().get( 1 ) );
 
     }
@@ -260,13 +260,13 @@
      */
     public void testDeepNestedStructureWithMultipleElementsInRoot() {
         final GroupElement or1 = GroupElementFactory.newOrInstance();
-        final Column column1 = new Column( 0,
+        final Pattern pattern1 = new Pattern( 0,
                                      null );
-        or1.addChild( column1 );
+        or1.addChild( pattern1 );
 
-        final Column column2 = new Column( 0,
+        final Pattern pattern2 = new Pattern( 0,
                                      null );
-        or1.addChild( column2 );
+        or1.addChild( pattern2 );
 
         final GroupElement and1 = GroupElementFactory.newAndInstance();
         and1.addChild( or1 );
@@ -275,9 +275,9 @@
         assertSame( or1,
                     and1.getChildren().get( 0 ) );
 
-        assertSame( column1,
+        assertSame( pattern1,
                     or1.getChildren().get( 0 ) );
-        assertSame( column2,
+        assertSame( pattern2,
                     or1.getChildren().get( 1 ) );
 
         final GroupElement or2 = GroupElementFactory.newOrInstance();
@@ -299,15 +299,15 @@
         final GroupElement and2 = GroupElementFactory.newAndInstance();
         and2.addChild( or3 );
 
-        final Column column3 = new Column( 0,
+        final Pattern pattern3 = new Pattern( 0,
                                      null );
-        and2.addChild( column3 );
+        and2.addChild( pattern3 );
 
         assertEquals( 2,
                       and2.getChildren().size() );
         assertSame( or3,
                     and2.getChildren().get( 0 ) );
-        assertSame( column3,
+        assertSame( pattern3,
                     and2.getChildren().get( 1 ) );
 
         // Now pack the structure
@@ -322,14 +322,14 @@
         // order must be the same
         assertSame( or1,
                     and2.getChildren().get( 0 ) );
-        assertSame( column3,
+        assertSame( pattern3,
                     and2.getChildren().get( 1 ) );
 
         assertEquals( 2,
                       or1.getChildren().size() );
-        assertSame( column1,
+        assertSame( pattern1,
                     or1.getChildren().get( 0 ) );
-        assertSame( column2,
+        assertSame( pattern2,
                     or1.getChildren().get( 1 ) );
 
     }

Modified: labs/jbossrules/trunk/drools-core/src/test/java/org/drools/rule/LogicTransformerTest.java
===================================================================
--- labs/jbossrules/trunk/drools-core/src/test/java/org/drools/rule/LogicTransformerTest.java	2007-04-24 12:26:00 UTC (rev 11294)
+++ labs/jbossrules/trunk/drools-core/src/test/java/org/drools/rule/LogicTransformerTest.java	2007-04-24 12:52:09 UTC (rev 11295)
@@ -53,13 +53,13 @@
      */
     public void testSingleOrAndOrTransformation() throws InvalidPatternException {
         final ObjectType type = new ClassObjectType( String.class );
-        final Column a = new Column( 0,
+        final Pattern a = new Pattern( 0,
                                      type,
                                      "a" );
-        final Column b = new Column( 1,
+        final Pattern b = new Pattern( 1,
                                      type,
                                      "b" );
-        final Column c = new Column( 2,
+        final Pattern c = new Pattern( 2,
                                      type,
                                      "c" );
 
@@ -129,22 +129,22 @@
      */
     public void testMultipleOrAndOrTransformation() throws InvalidPatternException {
         final ObjectType type = new ClassObjectType( String.class );
-        final Column a = new Column( 0,
+        final Pattern a = new Pattern( 0,
                                      type,
                                      "a" );
-        final Column b = new Column( 1,
+        final Pattern b = new Pattern( 1,
                                      type,
                                      "b" );
-        final Column c = new Column( 2,
+        final Pattern c = new Pattern( 2,
                                      type,
                                      "c" );
-        final Column d = new Column( 3,
+        final Pattern d = new Pattern( 3,
                                      type,
                                      "d" );
-        final Column e = new Column( 4,
+        final Pattern e = new Pattern( 4,
                                      type,
                                      "e" );
-        final Column f = new Column( 5,
+        final Pattern f = new Pattern( 5,
                                      type,
                                      "f" );
 
@@ -262,10 +262,10 @@
      */
     public void testNotOrTransformation() throws InvalidPatternException {
         final ObjectType type = new ClassObjectType( String.class );
-        final Column a = new Column( 0,
+        final Pattern a = new Pattern( 0,
                                      type,
                                      "a" );
-        final Column b = new Column( 1,
+        final Pattern b = new Pattern( 1,
                                      type,
                                      "b" );
 
@@ -322,10 +322,10 @@
      */
     public void testExistOrTransformation() throws InvalidPatternException {
         final ObjectType type = new ClassObjectType( String.class );
-        final Column a = new Column( 0,
+        final Pattern a = new Pattern( 0,
                                      type,
                                      "a" );
-        final Column b = new Column( 1,
+        final Pattern b = new Pattern( 1,
                                      type,
                                      "b" );
 
@@ -362,16 +362,16 @@
 
     public void testEliminateEmptyBranchesAndDuplications() throws InvalidRuleException {
         final ObjectType type = new ClassObjectType( String.class );
-        final Column a = new Column( 0,
+        final Pattern a = new Pattern( 0,
                                      type,
                                      "a" );
-        final Column b = new Column( 1,
+        final Pattern b = new Pattern( 1,
                                      type,
                                      "b" );
-        final Column c = new Column( 2,
+        final Pattern c = new Pattern( 2,
                                      type,
                                      "c" );
-        final Column d = new Column( 3,
+        final Pattern d = new Pattern( 3,
                                      type,
                                      "d" );
 
@@ -455,28 +455,28 @@
                                  ClassNotFoundException,
                                  InvalidPatternException {
         final ObjectType type = new ClassObjectType( String.class );
-        final Column a = new Column( 0,
+        final Pattern a = new Pattern( 0,
                                      type,
                                      "a" );
-        final Column b = new Column( 1,
+        final Pattern b = new Pattern( 1,
                                      type,
                                      "b" );
-        final Column c = new Column( 2,
+        final Pattern c = new Pattern( 2,
                                      type,
                                      "c" );
-        final Column d = new Column( 3,
+        final Pattern d = new Pattern( 3,
                                      type,
                                      "d" );
-        final Column e = new Column( 4,
+        final Pattern e = new Pattern( 4,
                                      type,
                                      "e" );
-        final Column g = new Column( 5,
+        final Pattern g = new Pattern( 5,
                                      type,
                                      "g" );
-        final Column h = new Column( 6,
+        final Pattern h = new Pattern( 6,
                                      type,
                                      "h" );
-        final Column i = new Column( 7,
+        final Pattern i = new Pattern( 7,
                                      type,
                                      "i" );
 
@@ -521,8 +521,8 @@
 
         // Uncomment this when you need to output a new known correct tree
         // result
-        writeTree( result,
-                   "correct_processTree1.dat" );
+//        writeTree( result,
+//                   "correct_processTree1.dat" );
         final ObjectInputStream ois = new ObjectInputStream( this.getClass().getResourceAsStream( "/correct_processTree1.dat" ) );
 
         final GroupElement[] correctResultRoot = (GroupElement[]) ois.readObject();
@@ -536,28 +536,28 @@
 
     public void testCloneable() {
         final ObjectType type = new ClassObjectType( String.class );
-        final Column a = new Column( 0,
+        final Pattern a = new Pattern( 0,
                                      type,
                                      "a" );
-        final Column b = new Column( 1,
+        final Pattern b = new Pattern( 1,
                                      type,
                                      "b" );
-        final Column c = new Column( 2,
+        final Pattern c = new Pattern( 2,
                                      type,
                                      "c" );
-        final Column d = new Column( 3,
+        final Pattern d = new Pattern( 3,
                                      type,
                                      "d" );
-        final Column e = new Column( 4,
+        final Pattern e = new Pattern( 4,
                                      type,
                                      "e" );
-        final Column f = new Column( 5,
+        final Pattern f = new Pattern( 5,
                                      type,
                                      "f" );
-        final Column g = new Column( 6,
+        final Pattern g = new Pattern( 6,
                                      type,
                                      "g" );
-        final Column h = new Column( 7,
+        final Pattern h = new Pattern( 7,
                                      type,
                                      "h" );
 
@@ -640,28 +640,28 @@
                                ClassNotFoundException,
                                InvalidPatternException {
         final ObjectType type = new ClassObjectType( String.class );
-        final Column a = new Column( 0,
+        final Pattern a = new Pattern( 0,
                                      type,
                                      "a" );
-        final Column b = new Column( 1,
+        final Pattern b = new Pattern( 1,
                                      type,
                                      "b" );
-        final Column c = new Column( 2,
+        final Pattern c = new Pattern( 2,
                                      type,
                                      "c" );
-        final Column d = new Column( 3,
+        final Pattern d = new Pattern( 3,
                                      type,
                                      "d" );
-        final Column e = new Column( 4,
+        final Pattern e = new Pattern( 4,
                                      type,
                                      "e" );
-        final Column f = new Column( 5,
+        final Pattern f = new Pattern( 5,
                                      type,
                                      "f" );
-        final Column g = new Column( 6,
+        final Pattern g = new Pattern( 6,
                                      type,
                                      "g" );
-        final Column h = new Column( 7,
+        final Pattern h = new Pattern( 7,
                                      type,
                                      "h" );
 
@@ -698,8 +698,8 @@
 
         // Uncomment this when you need to output a new known correct tree
         // result
-        writeTree( ands,
-                   "correct_transform1.dat" );
+//        writeTree( ands,
+//                   "correct_transform1.dat" );
 
         // Now check the main tree
 

Copied: labs/jbossrules/trunk/drools-core/src/test/java/org/drools/rule/PatternTest.java (from rev 11268, labs/jbossrules/trunk/drools-core/src/test/java/org/drools/rule/ColumnTest.java)
===================================================================
--- labs/jbossrules/trunk/drools-core/src/test/java/org/drools/rule/PatternTest.java	                        (rev 0)
+++ labs/jbossrules/trunk/drools-core/src/test/java/org/drools/rule/PatternTest.java	2007-04-24 12:52:09 UTC (rev 11295)
@@ -0,0 +1,70 @@
+package org.drools.rule;
+
+import junit.framework.TestCase;
+
+import org.drools.Cheese;
+import org.drools.base.ClassObjectType;
+import org.drools.facttemplates.Fact;
+import org.drools.facttemplates.FactTemplate;
+import org.drools.facttemplates.FactTemplateImpl;
+import org.drools.facttemplates.FactTemplateObjectType;
+import org.drools.facttemplates.FieldTemplate;
+import org.drools.facttemplates.FieldTemplateImpl;
+import org.drools.spi.Extractor;
+import org.drools.spi.ObjectType;
+
+public class PatternTest extends TestCase {
+
+    public void testDeclarationsObjectType() throws Exception {
+        final ObjectType type = new ClassObjectType( Cheese.class );
+        final Pattern col = new Pattern( 0,
+                                       type,
+                                       "foo" );
+        final Declaration dec = col.getDeclaration();
+        final Extractor ext = dec.getExtractor();
+        assertEquals( Cheese.class,
+                      ext.getExtractToClass() );
+
+        final Cheese stilton = new Cheese( "stilton",
+                                           42 );
+
+        assertEquals( stilton,
+                      dec.getValue( stilton ) );
+
+    }
+
+    public void testDeclarationsFactTemplate() throws Exception {
+
+        final Package pkg = new Package( "org.store" );
+        final FieldTemplate cheeseName = new FieldTemplateImpl( "name",
+                                                                0,
+                                                                String.class );
+        final FieldTemplate cheesePrice = new FieldTemplateImpl( "price",
+                                                                 1,
+                                                                 Integer.class );
+        final FieldTemplate[] fields = new FieldTemplate[]{cheeseName, cheesePrice};
+        final FactTemplate cheese = new FactTemplateImpl( pkg,
+                                                          "Cheese",
+                                                          fields );
+
+        final ObjectType type = new FactTemplateObjectType( cheese );
+
+        final Pattern col = new Pattern( 0,
+                                       type,
+                                       "foo" );
+        final Declaration dec = col.getDeclaration();
+        final Extractor ext = dec.getExtractor();
+        assertEquals( Fact.class,
+                      ext.getExtractToClass() );
+
+        final Fact stilton = cheese.createFact( 10 );
+        stilton.setFieldValue( "name",
+                               "stilton" );
+        stilton.setFieldValue( "price",
+                               new Integer( 200 ) );
+
+        assertEquals( stilton,
+                      dec.getValue( stilton ) );
+    }
+
+}

Modified: labs/jbossrules/trunk/drools-core/src/test/java/org/drools/util/FieldIndexHashTableTest.java
===================================================================
--- labs/jbossrules/trunk/drools-core/src/test/java/org/drools/util/FieldIndexHashTableTest.java	2007-04-24 12:26:00 UTC (rev 11294)
+++ labs/jbossrules/trunk/drools-core/src/test/java/org/drools/util/FieldIndexHashTableTest.java	2007-04-24 12:52:09 UTC (rev 11295)
@@ -15,7 +15,7 @@
 import org.drools.common.DefaultFactHandle;
 import org.drools.common.InternalFactHandle;
 import org.drools.reteoo.ReteTuple;
-import org.drools.rule.Column;
+import org.drools.rule.Pattern;
 import org.drools.rule.Declaration;
 import org.drools.spi.FieldExtractor;
 import org.drools.util.AbstractHashTable.FactEntry;
@@ -29,12 +29,12 @@
         final FieldExtractor extractor = new ClassFieldExtractor( Cheese.class,
                                                                   "type" );
 
-        final Column column = new Column( 0,
+        final Pattern pattern = new Pattern( 0,
                                           new ClassObjectType( Cheese.class ) );
 
         final Declaration declaration = new Declaration( "typeOfCheese",
                                                          extractor,
-                                                         column );
+                                                         pattern );
 
         final FieldIndex fieldIndex = new FieldIndex( extractor,
                                                       declaration,
@@ -77,12 +77,12 @@
         final FieldExtractor extractor = new ClassFieldExtractor( Cheese.class,
                                                                   "type" );
 
-        final Column column = new Column( 0,
+        final Pattern pattern = new Pattern( 0,
                                           new ClassObjectType( Cheese.class ) );
 
         final Declaration declaration = new Declaration( "typeOfCheese",
                                                          extractor,
-                                                         column );
+                                                         pattern );
 
         final FieldIndex fieldIndex = new FieldIndex( extractor,
                                                       declaration,
@@ -133,12 +133,12 @@
         final FieldExtractor extractor = new ClassFieldExtractor( Cheese.class,
                                                                   "type" );
 
-        final Column column = new Column( 0,
+        final Pattern pattern = new Pattern( 0,
                                           new ClassObjectType( Cheese.class ) );
 
         final Declaration declaration = new Declaration( "typeOfCheese",
                                                          extractor,
-                                                         column );
+                                                         pattern );
 
         final FieldIndex fieldIndex = new FieldIndex( extractor,
                                                       declaration,
@@ -189,12 +189,12 @@
         final FieldExtractor extractor = new ClassFieldExtractor( TestClass.class,
                                                                   "object" );
 
-        final Column column = new Column( 0,
+        final Pattern pattern = new Pattern( 0,
                                           new ClassObjectType( TestClass.class ) );
 
         final Declaration declaration = new Declaration( "theObject",
                                                          extractor,
-                                                         column );
+                                                         pattern );
 
         final FieldIndex fieldIndex = new FieldIndex( extractor,
                                                       declaration,
@@ -235,12 +235,12 @@
         final FieldExtractor extractor = new ClassFieldExtractor( Cheese.class,
                                                                   "type" );
 
-        final Column column = new Column( 0,
+        final Pattern pattern = new Pattern( 0,
                                           new ClassObjectType( Cheese.class ) );
 
         final Declaration declaration = new Declaration( "typeOfCheese",
                                                          extractor,
-                                                         column );
+                                                         pattern );
 
         final FieldIndex fieldIndex = new FieldIndex( extractor,
                                                       declaration,
@@ -301,12 +301,12 @@
         final FieldExtractor extractor = new ClassFieldExtractor( Cheese.class,
                                                                   "type" );
 
-        final Column column = new Column( 0,
+        final Pattern pattern = new Pattern( 0,
                                           new ClassObjectType( Cheese.class ) );
 
         final Declaration declaration = new Declaration( "typeOfCheese",
                                                          extractor,
-                                                         column );
+                                                         pattern );
 
         final FieldIndex fieldIndex = new FieldIndex( extractor,
                                                       declaration,
@@ -517,12 +517,12 @@
         final FieldExtractor extractor = new ClassFieldExtractor( Cheese.class,
                                                                   "type" );
 
-        final Column column = new Column( 0,
+        final Pattern pattern = new Pattern( 0,
                                           new ClassObjectType( Cheese.class ) );
 
         final Declaration declaration = new Declaration( "typeOfCheese",
                                                          extractor,
-                                                         column );
+                                                         pattern );
 
         final FieldIndex fieldIndex = new FieldIndex( extractor,
                                                       declaration,

Modified: labs/jbossrules/trunk/drools-core/src/test/resources/correct_processTree1.dat
===================================================================
(Binary files differ)

Modified: labs/jbossrules/trunk/drools-core/src/test/resources/correct_transform1.dat
===================================================================
(Binary files differ)

Modified: labs/jbossrules/trunk/drools-decisiontables/.classpath
===================================================================
--- labs/jbossrules/trunk/drools-decisiontables/.classpath	2007-04-24 12:26:00 UTC (rev 11294)
+++ labs/jbossrules/trunk/drools-decisiontables/.classpath	2007-04-24 12:52:09 UTC (rev 11295)
@@ -5,18 +5,18 @@
   <classpathentry kind="src" path="src/test/resources" output="target/test-classes"/>
   <classpathentry kind="output" path="target/classes"/>
   <classpathentry kind="con" path="org.eclipse.jdt.launching.JRE_CONTAINER"/>
+  <classpathentry kind="var" path="M2_REPO/jexcelapi/jxl/2.4.2/jxl-2.4.2.jar"/>
+  <classpathentry kind="var" path="M2_REPO/xpp3/xpp3/1.1.3.4.O/xpp3-1.1.3.4.O.jar"/>
+  <classpathentry kind="var" path="M2_REPO/xerces/xercesImpl/2.4.0/xercesImpl-2.4.0.jar"/>
+  <classpathentry kind="var" path="M2_REPO/junit/junit/3.8.1/junit-3.8.1.jar"/>
+  <classpathentry kind="src" path="/drools-compiler"/>
   <classpathentry kind="var" path="M2_REPO/antlr/antlr/2.7.7/antlr-2.7.7.jar"/>
+  <classpathentry kind="var" path="M2_REPO/org/antlr/antlr/3.0b7/antlr-3.0b7.jar"/>
   <classpathentry kind="src" path="/drools-core"/>
-  <classpathentry kind="var" path="M2_REPO/antlr/stringtemplate/3.0/stringtemplate-3.0.jar"/>
-  <classpathentry kind="var" path="M2_REPO/org/antlr/antlr/3.0b5/antlr-3.0b5.jar"/>
-  <classpathentry kind="var" path="M2_REPO/xerces/xercesImpl/2.4.0/xercesImpl-2.4.0.jar"/>
-  <classpathentry kind="var" path="M2_REPO/org/mvel/mvel14/1.2beta15/mvel14-1.2beta15.jar"/>
+  <classpathentry kind="var" path="M2_REPO/xstream/xstream/1.1.3/xstream-1.1.3.jar"/>
   <classpathentry kind="var" path="M2_REPO/xml-apis/xml-apis/1.0.b2/xml-apis-1.0.b2.jar"/>
   <classpathentry kind="var" path="M2_REPO/org/eclipse/jdt/core/3.2.1.v_677_R32x/core-3.2.1.v_677_R32x.jar"/>
-  <classpathentry kind="var" path="M2_REPO/junit/junit/3.8.1/junit-3.8.1.jar"/>
-  <classpathentry kind="src" path="/drools-compiler"/>
-  <classpathentry kind="var" path="M2_REPO/xstream/xstream/1.1.3/xstream-1.1.3.jar"/>
-  <classpathentry kind="var" path="M2_REPO/jexcelapi/jxl/2.4.2/jxl-2.4.2.jar"/>
-  <classpathentry kind="var" path="M2_REPO/xpp3/xpp3/1.1.3.4.O/xpp3-1.1.3.4.O.jar"/>
+  <classpathentry kind="var" path="M2_REPO/org/mvel/mvel14/1.2beta15/mvel14-1.2beta15.jar"/>
   <classpathentry kind="var" path="M2_REPO/janino/janino/2.5.5/janino-2.5.5.jar"/>
+  <classpathentry kind="var" path="M2_REPO/antlr/stringtemplate/3.0/stringtemplate-3.0.jar"/>
 </classpath>
\ No newline at end of file

Modified: labs/jbossrules/trunk/drools-decisiontables/.project
===================================================================
--- labs/jbossrules/trunk/drools-decisiontables/.project	2007-04-24 12:26:00 UTC (rev 11294)
+++ labs/jbossrules/trunk/drools-decisiontables/.project	2007-04-24 12:52:09 UTC (rev 11295)
@@ -2,8 +2,8 @@
   <name>drools-decisiontables</name>
   <comment>A rule production system</comment>
   <projects>
+    <project>drools-compiler</project>
     <project>drools-core</project>
-    <project>drools-compiler</project>
   </projects>
   <buildSpec>
     <buildCommand>

Modified: labs/jbossrules/trunk/drools-decisiontables/src/test/java/org/drools/decisiontable/parser/DefaultTemplateRuleBaseTest.java
===================================================================
--- labs/jbossrules/trunk/drools-decisiontables/src/test/java/org/drools/decisiontable/parser/DefaultTemplateRuleBaseTest.java	2007-04-24 12:26:00 UTC (rev 11294)
+++ labs/jbossrules/trunk/drools-decisiontables/src/test/java/org/drools/decisiontable/parser/DefaultTemplateRuleBaseTest.java	2007-04-24 12:52:09 UTC (rev 11295)
@@ -51,11 +51,11 @@
 		//  Cell(row == r, column == "column1")
 		//  Cell(row == r, column == "column2")
 		assertEquals(3, lhs.getChildren().size());
-		org.drools.rule.Column column = (org.drools.rule.Column) lhs.getChildren().get(1);
-		LiteralConstraint constraint = (LiteralConstraint) column.getConstraints().get(1);
+		org.drools.rule.Pattern pattern = (org.drools.rule.Pattern) lhs.getChildren().get(1);
+		LiteralConstraint constraint = (LiteralConstraint) pattern.getConstraints().get(1);
 		assertEquals("column1", constraint.getField().getValue());
-		column = (org.drools.rule.Column) lhs.getChildren().get(2);
-		constraint = (LiteralConstraint) column.getConstraints().get(1);
+		pattern = (org.drools.rule.Pattern) lhs.getChildren().get(2);
+		constraint = (LiteralConstraint) pattern.getConstraints().get(1);
 		assertEquals("column2", constraint.getField().getValue());
 	}
 }

Modified: labs/jbossrules/trunk/drools-decisiontables/src/test/java/org/drools/decisiontable/parser/ExternalSheetListenerTest.java
===================================================================
--- labs/jbossrules/trunk/drools-decisiontables/src/test/java/org/drools/decisiontable/parser/ExternalSheetListenerTest.java	2007-04-24 12:26:00 UTC (rev 11294)
+++ labs/jbossrules/trunk/drools-decisiontables/src/test/java/org/drools/decisiontable/parser/ExternalSheetListenerTest.java	2007-04-24 12:52:09 UTC (rev 11295)
@@ -71,7 +71,7 @@
 			for (Iterator it2 = cells.iterator(); it2.hasNext(); i++) {
 				Cell cell = (Cell) it2.next();
 				assertEquals("row" + row.getRowNumber() + "col" + i, cell.getValue());
-				assertEquals("Column " + i, cell.getColumn());
+				assertEquals("Pattern " + i, cell.getColumn());
 			}
 		}
 	}
@@ -314,8 +314,8 @@
 		}
 
 		public Column[] getColumns() {
-			return new Column[] { new Column("Column 1"),
-					new Column("Column 2"), new Column("Column 3") };
+			return new Column[] { new Column("Pattern 1"),
+					new Column("Pattern 2"), new Column("Pattern 3") };
 		}
 
 		public String getHeader() {

Modified: labs/jbossrules/trunk/drools-jbrms/.classpath
===================================================================
--- labs/jbossrules/trunk/drools-jbrms/.classpath	2007-04-24 12:26:00 UTC (rev 11294)
+++ labs/jbossrules/trunk/drools-jbrms/.classpath	2007-04-24 12:52:09 UTC (rev 11295)
@@ -5,49 +5,49 @@
 	<classpathentry kind="src" output="target/test-classes" path="src/test/java"/>
 	<classpathentry kind="src" output="target/test-classes" path="src/test/resources"/>
 	<classpathentry kind="con" path="org.eclipse.jdt.launching.JRE_CONTAINER/org.eclipse.jdt.internal.debug.ui.launcher.StandardVMType/jdk1.5.0_10"/>
-	<classpathentry kind="var" path="M2_REPO/org/apache/geronimo/specs/geronimo-jta_1.0.1B_spec/1.0.1/geronimo-jta_1.0.1B_spec-1.0.1.jar"/>
-	<classpathentry kind="var" path="M2_REPO/google/gwt-servlet/1.3.3/gwt-servlet-1.3.3.jar"/>
-	<classpathentry kind="src" path="/drools-compiler"/>
-	<classpathentry kind="var" path="M2_REPO/xerces/xercesImpl/2.4.0/xercesImpl-2.4.0.jar"/>
+	<classpathentry kind="var" path="M2_REPO/org/apache/jackrabbit/jackrabbit-core/1.2.2/jackrabbit-core-1.2.2.jar"/>
+	<classpathentry kind="var" path="M2_REPO/org/antlr/antlr/3.0b7/antlr-3.0b7.jar"/>
+	<classpathentry kind="var" path="M2_REPO/junit/junit/3.8.1/junit-3.8.1.jar"/>
+	<classpathentry kind="var" path="M2_REPO/cglib/cglib/2.1_3/cglib-2.1_3.jar"/>
+	<classpathentry kind="var" path="M2_REPO/org/tmatesoft/javasvn/1.1-beta5/javasvn-1.1-beta5.jar"/>
+	<classpathentry kind="var" path="M2_REPO/concurrent/concurrent/1.3.4/concurrent-1.3.4.jar"/>
+	<classpathentry kind="src" path="/drools-repository"/>
+	<classpathentry kind="var" path="M2_REPO/javax/jms/jms/1.1/jms-1.1.jar"/>
+	<classpathentry kind="var" path="M2_REPO/org/apache/lucene/lucene-core/2.0.0/lucene-core-2.0.0.jar"/>
+	<classpathentry kind="var" path="M2_REPO/jboss/javassist/3.4.ga/javassist-3.4.ga.jar"/>
+	<classpathentry kind="var" path="M2_REPO/dom4j/dom4j/1.6.1/dom4j-1.6.1.jar"/>
+	<classpathentry kind="var" path="M2_REPO/xml-apis/xml-apis/1.0.b2/xml-apis-1.0.b2.jar"/>
+	<classpathentry kind="var" path="M2_REPO/commons-logging/commons-logging/1.0.4/commons-logging-1.0.4.jar"/>
+	<classpathentry kind="var" path="M2_REPO/jboss/seam/profiles/seam-nopersistence/1.2.0.GA/seam-nopersistence-1.2.0.GA.jar"/>
+	<classpathentry kind="var" path="M2_REPO/xpp3/xpp3/1.1.3.4.O/xpp3-1.1.3.4.O.jar"/>
 	<classpathentry kind="var" path="M2_REPO/log4j/log4j/1.2.8/log4j-1.2.8.jar"/>
+	<classpathentry kind="var" path="M2_REPO/org/mvel/mvel14/1.2beta15/mvel14-1.2beta15.jar"/>
 	<classpathentry kind="var" path="M2_REPO/antlr/stringtemplate/3.0/stringtemplate-3.0.jar"/>
-	<classpathentry kind="var" path="M2_REPO/org/tmatesoft/javasvn/1.1-beta5/javasvn-1.1-beta5.jar"/>
-	<classpathentry kind="var" path="M2_REPO/org/apache/jackrabbit/jackrabbit-jcr-commons/1.2.2/jackrabbit-jcr-commons-1.2.2.jar"/>
-	<classpathentry kind="var" path="M2_REPO/xpp3/xpp3/1.1.3.4.O/xpp3-1.1.3.4.O.jar"/>
-	<classpathentry kind="var" path="M2_REPO/org/antlr/antlr/3.0b5/antlr-3.0b5.jar"/>
-	<classpathentry kind="var" path="M2_REPO/asm/asm/1.5.3/asm-1.5.3.jar"/>
-	<classpathentry kind="src" path="/drools-core"/>
-	<classpathentry kind="var" path="M2_REPO/cglib/cglib/2.1_3/cglib-2.1_3.jar"/>
+	<classpathentry kind="src" path="/drools-compiler"/>
+	<classpathentry kind="var" path="M2_REPO/asm/asm-attrs/1.5.3/asm-attrs-1.5.3.jar"/>
+	<classpathentry kind="var" path="M2_REPO/javax/transaction/jta/1.0.1B/jta-1.0.1B.jar"/>
+	<classpathentry kind="var" path="M2_REPO/org/apache/jackrabbit/jackrabbit-api/1.2.2/jackrabbit-api-1.2.2.jar"/>
+	<classpathentry kind="var" path="M2_REPO/commons-fileupload/commons-fileupload/1.1.1/commons-fileupload-1.1.1.jar"/>
 	<classpathentry kind="var" path="M2_REPO/commons-collections/commons-collections/3.1/commons-collections-3.1.jar"/>
-	<classpathentry kind="var" path="M2_REPO/org/apache/jackrabbit/jackrabbit-api/1.2.2/jackrabbit-api-1.2.2.jar"/>
+	<classpathentry kind="var" path="M2_REPO/jboss/seam/jboss-seam/1.2.0.GA/jboss-seam-1.2.0.GA.jar"/>
+	<classpathentry kind="var" path="M2_REPO/org/hibernate/hibernate-annotations/3.2.1.ga/hibernate-annotations-3.2.1.ga.jar"/>
+	<classpathentry kind="var" path="M2_REPO/javax/persistence/persistence-api/1.0/persistence-api-1.0.jar"/>
+	<classpathentry kind="var" path="M2_REPO/net/sf/ehcache/ehcache/1.2.3/ehcache-1.2.3.jar"/>
+	<classpathentry kind="var" path="M2_REPO/antlr/antlr/2.7.7/antlr-2.7.7.jar"/>
+	<classpathentry kind="var" path="M2_REPO/xerces/xercesImpl/2.4.0/xercesImpl-2.4.0.jar"/>
+	<classpathentry kind="var" path="M2_REPO/org/eclipse/jdt/core/3.2.1.v_677_R32x/core-3.2.1.v_677_R32x.jar"/>
+	<classpathentry kind="var" path="M2_REPO/xstream/xstream/1.1.3/xstream-1.1.3.jar"/>
+	<classpathentry kind="var" path="M2_REPO/janino/janino/2.5.5/janino-2.5.5.jar"/>
+	<classpathentry kind="var" path="M2_REPO/google/gwt-servlet/1.3.3/gwt-servlet-1.3.3.jar"/>
 	<classpathentry kind="var" path="M2_REPO/javax/jcr/jcr/1.0/jcr-1.0.jar"/>
+	<classpathentry kind="var" path="M2_REPO/org/apache/jackrabbit/jackrabbit-jcr-commons/1.2.2/jackrabbit-jcr-commons-1.2.2.jar"/>
+	<classpathentry kind="var" path="M2_REPO/org/apache/geronimo/specs/geronimo-jta_1.0.1B_spec/1.0.1/geronimo-jta_1.0.1B_spec-1.0.1.jar"/>
 	<classpathentry kind="var" path="M2_REPO/commons-io/commons-io/1.1/commons-io-1.1.jar"/>
-	<classpathentry kind="var" path="M2_REPO/org/apache/jackrabbit/jackrabbit-core/1.2.2/jackrabbit-core-1.2.2.jar"/>
-	<classpathentry kind="var" path="M2_REPO/net/sf/ehcache/ehcache/1.2.3/ehcache-1.2.3.jar"/>
+	<classpathentry kind="var" path="M2_REPO/javax/servlet/servlet-api/2.3/servlet-api-2.3.jar"/>
+	<classpathentry kind="var" path="M2_REPO/asm/asm/1.5.3/asm-1.5.3.jar"/>
 	<classpathentry kind="var" path="M2_REPO/org/hibernate/hibernate/3.2.1.ga/hibernate-3.2.1.ga.jar"/>
-	<classpathentry kind="var" path="M2_REPO/javax/transaction/jta/1.0.1B/jta-1.0.1B.jar"/>
-	<classpathentry kind="var" path="M2_REPO/javax/persistence/persistence-api/1.0/persistence-api-1.0.jar"/>
-	<classpathentry kind="var" path="M2_REPO/commons-logging/commons-logging/1.0.4/commons-logging-1.0.4.jar"/>
-	<classpathentry kind="var" path="M2_REPO/xml-apis/xml-apis/1.0.b2/xml-apis-1.0.b2.jar"/>
-	<classpathentry kind="var" path="M2_REPO/concurrent/concurrent/1.3.4/concurrent-1.3.4.jar"/>
-	<classpathentry kind="var" path="M2_REPO/javax/servlet/servlet-api/2.3/servlet-api-2.3.jar"/>
-	<classpathentry kind="var" path="M2_REPO/xstream/xstream/1.1.3/xstream-1.1.3.jar"/>
-	<classpathentry kind="var" path="M2_REPO/antlr/antlr/2.7.7/antlr-2.7.7.jar"/>
-	<classpathentry kind="var" path="M2_REPO/dom4j/dom4j/1.6.1/dom4j-1.6.1.jar"/>
-	<classpathentry kind="var" path="M2_REPO/jboss/javassist/3.4.ga/javassist-3.4.ga.jar"/>
-	<classpathentry kind="var" path="M2_REPO/org/hibernate/hibernate-annotations/3.2.1.ga/hibernate-annotations-3.2.1.ga.jar"/>
-	<classpathentry kind="src" path="/drools-repository"/>
-	<classpathentry kind="var" path="M2_REPO/jboss/seam/profiles/seam-nopersistence/1.2.0.GA/seam-nopersistence-1.2.0.GA.jar"/>
+	<classpathentry kind="src" path="/drools-core"/>
 	<classpathentry kind="var" path="M2_REPO/org/apache/derby/derby/10.2.1.6/derby-10.2.1.6.jar"/>
-	<classpathentry kind="var" path="M2_REPO/jboss/seam/jboss-seam/1.2.0.GA/jboss-seam-1.2.0.GA.jar"/>
-	<classpathentry kind="var" path="M2_REPO/org/eclipse/jdt/core/3.2.1.v_677_R32x/core-3.2.1.v_677_R32x.jar"/>
 	<classpathentry kind="var" path="M2_REPO/org/slf4j/slf4j-log4j12/1.0/slf4j-log4j12-1.0.jar"/>
-	<classpathentry kind="var" path="M2_REPO/asm/asm-attrs/1.5.3/asm-attrs-1.5.3.jar"/>
-	<classpathentry kind="var" path="M2_REPO/org/apache/lucene/lucene-core/2.0.0/lucene-core-2.0.0.jar"/>
-	<classpathentry kind="var" path="M2_REPO/commons-fileupload/commons-fileupload/1.1.1/commons-fileupload-1.1.1.jar"/>
-	<classpathentry kind="var" path="M2_REPO/javax/jms/jms/1.1/jms-1.1.jar"/>
-	<classpathentry kind="var" path="M2_REPO/org/mvel/mvel14/1.2beta15/mvel14-1.2beta15.jar"/>
-	<classpathentry kind="var" path="M2_REPO/junit/junit/3.8.1/junit-3.8.1.jar"/>
-	<classpathentry kind="var" path="M2_REPO/janino/janino/2.5.5/janino-2.5.5.jar"/>
 	<classpathentry kind="output" path="target/classes"/>
 </classpath>

Modified: labs/jbossrules/trunk/drools-jbrms/.project
===================================================================
--- labs/jbossrules/trunk/drools-jbrms/.project	2007-04-24 12:26:00 UTC (rev 11294)
+++ labs/jbossrules/trunk/drools-jbrms/.project	2007-04-24 12:52:09 UTC (rev 11295)
@@ -2,9 +2,9 @@
   <name>drools-jbrms</name>
   <comment>A rule production system</comment>
   <projects>
+    <project>drools-repository</project>
     <project>drools-compiler</project>
     <project>drools-core</project>
-    <project>drools-repository</project>
   </projects>
   <buildSpec>
     <buildCommand>

Modified: labs/jbossrules/trunk/drools-jbrms/src/main/java/org/drools/brms/client/table/SortableTable.java
===================================================================
--- labs/jbossrules/trunk/drools-jbrms/src/main/java/org/drools/brms/client/table/SortableTable.java	2007-04-24 12:26:00 UTC (rev 11294)
+++ labs/jbossrules/trunk/drools-jbrms/src/main/java/org/drools/brms/client/table/SortableTable.java	2007-04-24 12:52:09 UTC (rev 11295)
@@ -153,7 +153,7 @@
 	public void sort(int columnIndex){
 		Collections.sort(this.tableRows);
 		if(this.sortColIndex != columnIndex){
-			// New Column Header clicked
+			// New Pattern Header clicked
 			// Reset the sortDirection to ASC
 			this.sortDirection = SORT_ASCENDING;
 		}else{
@@ -370,8 +370,8 @@
 	 * renderTableHeader
 	 * Renders a particular column in the Table Header
 	 * 
-	 * @param Column Name (String)
-	 * @param Column Index (int) 
+	 * @param Pattern Name (String)
+	 * @param Pattern Index (int) 
 	 */
 	private void renderTableHeader(String name, int index){
 		StringBuffer headerText = new StringBuffer();

Modified: labs/jbossrules/trunk/drools-jsr94/.classpath
===================================================================
--- labs/jbossrules/trunk/drools-jsr94/.classpath	2007-04-24 12:26:00 UTC (rev 11294)
+++ labs/jbossrules/trunk/drools-jsr94/.classpath	2007-04-24 12:52:09 UTC (rev 11295)
@@ -1,25 +1,24 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<classpath>
-	<classpathentry kind="src" path="src/main/java"/>
-	<classpathentry kind="src" path="src/main/resources"/>
-	<classpathentry kind="src" output="target/test-classes" path="src/test/java"/>
-	<classpathentry kind="src" output="target/test-classes" path="src/test/resources"/>
-	<classpathentry kind="con" path="org.eclipse.jdt.launching.JRE_CONTAINER"/>
-	<classpathentry kind="var" path="M2_REPO/jsr94/jsr94-sigtest/1.1/jsr94-sigtest-1.1.jar"/>
-	<classpathentry kind="var" path="M2_REPO/junit/junit/3.8.1/junit-3.8.1.jar"/>
-	<classpathentry kind="var" path="M2_REPO/jsr94/jsr94/1.1/jsr94-1.1.jar"/>
-	<classpathentry kind="src" path="/drools-core"/>
-	<classpathentry kind="var" path="M2_REPO/jsr94/jsr94-tck/1.0.3/jsr94-tck-1.0.3.jar" sourcepath="/M2_REPO/jsr94/jsr94-tck/1.0.3/jsr94-tck-1.0.3-src.jar"/>
-	<classpathentry kind="var" path="M2_REPO/xerces/xercesImpl/2.4.0/xercesImpl-2.4.0.jar"/>
-	<classpathentry kind="var" path="M2_REPO/xpp3/xpp3/1.1.3.4.O/xpp3-1.1.3.4.O.jar"/>
-	<classpathentry kind="src" path="/drools-compiler"/>
-	<classpathentry kind="var" path="M2_REPO/org/eclipse/jdt/core/3.2.1.v_677_R32x/core-3.2.1.v_677_R32x.jar"/>
-	<classpathentry kind="var" path="M2_REPO/xml-apis/xml-apis/1.0.b2/xml-apis-1.0.b2.jar"/>
-	<classpathentry kind="var" path="M2_REPO/antlr/stringtemplate/3.0/stringtemplate-3.0.jar"/>
-	<classpathentry kind="var" path="M2_REPO/antlr/antlr/2.7.7/antlr-2.7.7.jar"/>
-	<classpathentry kind="var" path="M2_REPO/org/antlr/antlr/3.0b5/antlr-3.0b5.jar"/>
-	<classpathentry kind="var" path="M2_REPO/xstream/xstream/1.1.3/xstream-1.1.3.jar"/>
-	<classpathentry kind="var" path="M2_REPO/org/mvel/mvel14/1.2beta15/mvel14-1.2beta15.jar"/>
-	<classpathentry kind="var" path="M2_REPO/janino/janino/2.5.5/janino-2.5.5.jar"/>
-	<classpathentry kind="output" path="target/classes"/>
-</classpath>
+<classpath>
+  <classpathentry kind="src" path="src/main/java"/>
+  <classpathentry kind="src" path="src/main/resources"/>
+  <classpathentry kind="src" path="src/test/java" output="target/test-classes"/>
+  <classpathentry kind="src" path="src/test/resources" output="target/test-classes"/>
+  <classpathentry kind="output" path="target/classes"/>
+  <classpathentry kind="con" path="org.eclipse.jdt.launching.JRE_CONTAINER"/>
+  <classpathentry kind="var" path="M2_REPO/antlr/antlr/2.7.7/antlr-2.7.7.jar"/>
+  <classpathentry kind="var" path="M2_REPO/org/eclipse/jdt/core/3.2.1.v_677_R32x/core-3.2.1.v_677_R32x.jar"/>
+  <classpathentry kind="var" path="M2_REPO/xstream/xstream/1.1.3/xstream-1.1.3.jar"/>
+  <classpathentry kind="var" path="M2_REPO/jsr94/jsr94-sigtest/1.1/jsr94-sigtest-1.1.jar"/>
+  <classpathentry kind="src" path="/drools-compiler"/>
+  <classpathentry kind="var" path="M2_REPO/xml-apis/xml-apis/1.0.b2/xml-apis-1.0.b2.jar"/>
+  <classpathentry kind="var" path="M2_REPO/junit/junit/3.8.1/junit-3.8.1.jar"/>
+  <classpathentry kind="var" path="M2_REPO/jsr94/jsr94/1.1/jsr94-1.1.jar"/>
+  <classpathentry kind="var" path="M2_REPO/antlr/stringtemplate/3.0/stringtemplate-3.0.jar"/>
+  <classpathentry kind="var" path="M2_REPO/xerces/xercesImpl/2.4.0/xercesImpl-2.4.0.jar"/>
+  <classpathentry kind="var" path="M2_REPO/jsr94/jsr94-tck/1.0.3/jsr94-tck-1.0.3.jar"/>
+  <classpathentry kind="var" path="M2_REPO/org/mvel/mvel14/1.2beta15/mvel14-1.2beta15.jar"/>
+  <classpathentry kind="var" path="M2_REPO/xpp3/xpp3/1.1.3.4.O/xpp3-1.1.3.4.O.jar"/>
+  <classpathentry kind="src" path="/drools-core"/>
+  <classpathentry kind="var" path="M2_REPO/janino/janino/2.5.5/janino-2.5.5.jar"/>
+  <classpathentry kind="var" path="M2_REPO/org/antlr/antlr/3.0b7/antlr-3.0b7.jar"/>
+</classpath>
\ No newline at end of file

Modified: labs/jbossrules/trunk/drools-jsr94/.project
===================================================================
--- labs/jbossrules/trunk/drools-jsr94/.project	2007-04-24 12:26:00 UTC (rev 11294)
+++ labs/jbossrules/trunk/drools-jsr94/.project	2007-04-24 12:52:09 UTC (rev 11295)
@@ -2,8 +2,8 @@
   <name>drools-jsr94</name>
   <comment>A rule production system</comment>
   <projects>
+    <project>drools-compiler</project>
     <project>drools-core</project>
-    <project>drools-compiler</project>
   </projects>
   <buildSpec>
     <buildCommand>

Modified: labs/jbossrules/trunk/drools-jsr94/src/test/resources/org/drools/jsr94/rules/sisters.xml
===================================================================
--- labs/jbossrules/trunk/drools-jsr94/src/test/resources/org/drools/jsr94/rules/sisters.xml	2007-04-24 12:26:00 UTC (rev 11294)
+++ labs/jbossrules/trunk/drools-jsr94/src/test/resources/org/drools/jsr94/rules/sisters.xml	2007-04-24 12:52:09 UTC (rev 11295)
@@ -8,13 +8,13 @@
 
 	<rule name="FindSisters">	
 	    <lhs>	
-		    <column object-type="Person" identifier="$person1">
+		    <pattern object-type="Person" identifier="$person1">
 			    <field-binding field-name="name" identifier="$name1" />		
-			</column>
+			</pattern>
 	
-			<column object-type="Person" identifier="$person2">
+			<pattern object-type="Person" identifier="$person2">
 				<field-binding field-name="name" identifier="$name2" />		
-			</column>
+			</pattern>
 			<eval>$person1.hasSister($person2)</eval>
 		</lhs>
 		

Modified: labs/jbossrules/trunk/drools-repository/.classpath
===================================================================
--- labs/jbossrules/trunk/drools-repository/.classpath	2007-04-24 12:26:00 UTC (rev 11294)
+++ labs/jbossrules/trunk/drools-repository/.classpath	2007-04-24 12:52:09 UTC (rev 11295)
@@ -5,18 +5,18 @@
 	<classpathentry kind="src" output="target/test-classes" path="src/test/java"/>
 	<classpathentry kind="src" output="target/test-classes" path="src/test/resources"/>
 	<classpathentry kind="con" path="org.eclipse.jdt.launching.JRE_CONTAINER/org.eclipse.jdt.internal.debug.ui.launcher.StandardVMType/jdk1.5.0_10"/>
-	<classpathentry kind="var" path="M2_REPO/org/apache/jackrabbit/jackrabbit-api/1.2.2/jackrabbit-api-1.2.2.jar" sourcepath="M2_REPO/org/apache/jackrabbit/jackrabbit-api/1.2.2/jackrabbit-api-1.2.2-sources.jar"/>
+	<classpathentry kind="var" path="M2_REPO/org/tmatesoft/javasvn/1.1-beta5/javasvn-1.1-beta5.jar"/>
+	<classpathentry kind="var" path="M2_REPO/org/apache/jackrabbit/jackrabbit-api/1.2.2/jackrabbit-api-1.2.2.jar"/>
 	<classpathentry kind="var" path="M2_REPO/org/apache/geronimo/specs/geronimo-jta_1.0.1B_spec/1.0.1/geronimo-jta_1.0.1B_spec-1.0.1.jar"/>
-	<classpathentry kind="var" path="M2_REPO/org/apache/jackrabbit/jackrabbit-jcr-commons/1.2.2/jackrabbit-jcr-commons-1.2.2.jar" sourcepath="M2_REPO/org/apache/jackrabbit/jackrabbit-jcr-commons/1.2.2/jackrabbit-jcr-commons-1.2.2-sources.jar"/>
-	<classpathentry kind="var" path="M2_REPO/junit/junit/3.8.1/junit-3.8.1.jar" sourcepath="M2_REPO/junit/junit/3.8.1/junit-3.8.1-sources.jar"/>
-	<classpathentry kind="var" path="M2_REPO/commons-collections/commons-collections/3.1/commons-collections-3.1.jar" sourcepath="M2_REPO/commons-collections/commons-collections/3.1/commons-collections-3.1-sources.jar"/>
-	<classpathentry kind="var" path="M2_REPO/org/apache/jackrabbit/jackrabbit-core/1.2.2/jackrabbit-core-1.2.2.jar" sourcepath="M2_REPO/org/apache/jackrabbit/jackrabbit-core/1.2.2/jackrabbit-core-1.2.2-sources.jar"/>
-	<classpathentry kind="var" path="M2_REPO/log4j/log4j/1.2.8/log4j-1.2.8.jar" sourcepath="M2_REPO/log4j/log4j/1.2.8/log4j-1.2.8-sources.jar"/>
-	<classpathentry kind="var" path="M2_REPO/org/slf4j/slf4j-log4j12/1.0/slf4j-log4j12-1.0.jar" sourcepath="M2_REPO/org/slf4j/slf4j-log4j12/1.0/slf4j-log4j12-1.0-sources.jar"/>
+	<classpathentry kind="var" path="M2_REPO/javax/jcr/jcr/1.0/jcr-1.0.jar"/>
 	<classpathentry kind="var" path="M2_REPO/org/apache/lucene/lucene-core/2.0.0/lucene-core-2.0.0.jar"/>
-	<classpathentry kind="var" path="M2_REPO/javax/jcr/jcr/1.0/jcr-1.0.jar"/>
+	<classpathentry kind="var" path="M2_REPO/junit/junit/3.8.1/junit-3.8.1.jar"/>
 	<classpathentry kind="var" path="M2_REPO/org/apache/derby/derby/10.2.1.6/derby-10.2.1.6.jar"/>
-	<classpathentry kind="var" path="M2_REPO/concurrent/concurrent/1.3.4/concurrent-1.3.4.jar" sourcepath="M2_REPO/concurrent/concurrent/1.3.4/concurrent-1.3.4-sources.jar"/>
-	<classpathentry kind="var" path="M2_REPO/org/tmatesoft/javasvn/1.1-beta5/javasvn-1.1-beta5.jar"/>
+	<classpathentry kind="var" path="M2_REPO/concurrent/concurrent/1.3.4/concurrent-1.3.4.jar"/>
+	<classpathentry kind="var" path="M2_REPO/org/apache/jackrabbit/jackrabbit-jcr-commons/1.2.2/jackrabbit-jcr-commons-1.2.2.jar"/>
+	<classpathentry kind="var" path="M2_REPO/commons-collections/commons-collections/3.1/commons-collections-3.1.jar"/>
+	<classpathentry kind="var" path="M2_REPO/log4j/log4j/1.2.8/log4j-1.2.8.jar"/>
+	<classpathentry kind="var" path="M2_REPO/org/slf4j/slf4j-log4j12/1.0/slf4j-log4j12-1.0.jar"/>
+	<classpathentry kind="var" path="M2_REPO/org/apache/jackrabbit/jackrabbit-core/1.2.2/jackrabbit-core-1.2.2.jar"/>
 	<classpathentry kind="output" path="target/classes"/>
 </classpath>




More information about the jboss-svn-commits mailing list