[jboss-svn-commits] JBL Code SVN: r11339 - in labs/jbossrules/trunk/drools-clips: src/main/java/org/drools/clp and 2 other directories.

jboss-svn-commits at lists.jboss.org jboss-svn-commits at lists.jboss.org
Wed Apr 25 20:42:42 EDT 2007


Author: mark.proctor at jboss.com
Date: 2007-04-25 20:42:42 -0400 (Wed, 25 Apr 2007)
New Revision: 11339

Added:
   labs/jbossrules/trunk/drools-clips/src/test/java/org/drools/Cheese.java
   labs/jbossrules/trunk/drools-clips/src/test/java/org/drools/Person.java
   labs/jbossrules/trunk/drools-clips/src/test/java/org/drools/PersonInterface.java
Modified:
   labs/jbossrules/trunk/drools-clips/.classpath
   labs/jbossrules/trunk/drools-clips/src/main/java/org/drools/clp/CLPLexer.java
   labs/jbossrules/trunk/drools-clips/src/main/java/org/drools/clp/CLPParser.java
   labs/jbossrules/trunk/drools-clips/src/main/resources/org/drools/clp/CLP.g
Log:
JBRULES-816 Refactor Column to be Pattern

Modified: labs/jbossrules/trunk/drools-clips/.classpath
===================================================================
--- labs/jbossrules/trunk/drools-clips/.classpath	2007-04-26 00:29:41 UTC (rev 11338)
+++ labs/jbossrules/trunk/drools-clips/.classpath	2007-04-26 00:42:42 UTC (rev 11339)
@@ -1,22 +1,21 @@
-<?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/janino/janino/2.5.5/janino-2.5.5.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/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"/>
-	<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.2beta13/mvel14-1.2beta13.jar"/>
-	<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/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/org/antlr/antlr/3.0b5/antlr-3.0b5.jar"/>
-	<classpathentry combineaccessrules="false" kind="src" path="/drools-compiler"/>
-	<classpathentry combineaccessrules="false" kind="src" path="/drools-core"/>
-	<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/xpp3/xpp3/1.1.3.4.O/xpp3-1.1.3.4.O.jar"/>
+  <classpathentry kind="var" path="M2_REPO/org/drools/drools-compiler/3.1.0-M1/drools-compiler-3.1.0-M1.jar"/>
+  <classpathentry kind="var" path="M2_REPO/org/drools/drools-core/3.1.0-M1/drools-core-3.1.0-M1.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"/>
+  <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/xerces/xercesImpl/2.4.0/xercesImpl-2.4.0.jar"/>
+  <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"/>
+  <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/antlr/antlr/2.7.7/antlr-2.7.7.jar"/>
+</classpath>
\ No newline at end of file

Modified: labs/jbossrules/trunk/drools-clips/src/main/java/org/drools/clp/CLPLexer.java
===================================================================
--- labs/jbossrules/trunk/drools-clips/src/main/java/org/drools/clp/CLPLexer.java	2007-04-26 00:29:41 UTC (rev 11338)
+++ labs/jbossrules/trunk/drools-clips/src/main/java/org/drools/clp/CLPLexer.java	2007-04-26 00:42:42 UTC (rev 11339)
@@ -1,2580 +1,2152 @@
-// $ANTLR 3.0b7 C:\\dev\\jbossrules\\trunk\\drools-compiler\\src\\main\\resources\\org\\drools\\clp\\CLP.g 2007-03-24 20:05:52
+// $ANTLR 3.0b7 C:\\dev\\jbossrules\\trunk4\\drools-clips\\src\\main\\resources\\org\\drools\\clp\\CLP.g 2007-04-26 01:37:19
+
+	package org.drools.clp;
 
-package org.drools.clp;
 
+import org.antlr.runtime.*;
+import java.util.Stack;
+import java.util.List;
+import java.util.ArrayList;
+import java.util.Map;
 import java.util.HashMap;
-
-import org.antlr.runtime.BaseRecognizer;
-import org.antlr.runtime.CharStream;
-import org.antlr.runtime.DFA;
-import org.antlr.runtime.EarlyExitException;
-import org.antlr.runtime.Lexer;
-import org.antlr.runtime.MismatchedSetException;
-import org.antlr.runtime.NoViableAltException;
-import org.antlr.runtime.RecognitionException;
-import org.antlr.runtime.Token;
-
 public class CLPLexer extends Lexer {
-    public static final int EXISTS                       = 14;
-    public static final int LEFT_PAREN                   = 4;
-    public static final int RIGHT_CURLY                  = 39;
-    public static final int BOOL                         = 24;
-    public static final int DEFRULE                      = 5;
-    public static final int HexDigit                     = 30;
-    public static final int WS                           = 27;
-    public static final int STRING                       = 7;
-    public static final int FLOAT                        = 23;
-    public static final int TILDE                        = 20;
-    public static final int OR                           = 12;
-    public static final int PIPE                         = 19;
-    public static final int EQUALS                       = 22;
-    public static final int VAR                          = 16;
-    public static final int ASSIGN_OP                    = 17;
-    public static final int AND                          = 11;
-    public static final int UnicodeEscape                = 31;
-    public static final int EscapeSequence               = 29;
-    public static final int INT                          = 10;
-    public static final int EOF                          = -1;
-    public static final int NULL                         = 25;
-    public static final int EOL                          = 26;
-    public static final int SYMBOL                       = 33;
-    public static final int LEFT_SQUARE                  = 36;
-    public static final int Tokens                       = 42;
-    public static final int COLON                        = 21;
-    public static final int SALIENCE                     = 9;
-    public static final int OctalEscape                  = 32;
-    public static final int SH_STYLE_SINGLE_LINE_COMMENT = 34;
-    public static final int MULTI_LINE_COMMENT           = 40;
-    public static final int AMPERSAND                    = 18;
-    public static final int TEST                         = 15;
-    public static final int NAME                         = 6;
-    public static final int T41                          = 41;
-    public static final int NOT                          = 13;
-    public static final int RIGHT_PAREN                  = 8;
-    public static final int DECLARE                      = 28;
-    public static final int LEFT_CURLY                   = 38;
-    public static final int RIGHT_SQUARE                 = 37;
-    public static final int C_STYLE_SINGLE_LINE_COMMENT  = 35;
-
-    public CLPLexer() {
-        ;
-    }
-
+    public static final int RIGHT_SQUARE=37;
+    public static final int RIGHT_CURLY=39;
+    public static final int SYMBOL=33;
+    public static final int NULL=25;
+    public static final int BOOL=24;
+    public static final int SALIENCE=9;
+    public static final int AMPERSAND=18;
+    public static final int FLOAT=23;
+    public static final int EQUALS=22;
+    public static final int INT=10;
+    public static final int SH_STYLE_SINGLE_LINE_COMMENT=34;
+    public static final int NOT=13;
+    public static final int AND=11;
+    public static final int Tokens=42;
+    public static final int EOF=-1;
+    public static final int T41=41;
+    public static final int HexDigit=30;
+    public static final int MULTI_LINE_COMMENT=40;
+    public static final int ASSIGN_OP=17;
+    public static final int COLON=21;
+    public static final int RIGHT_PAREN=8;
+    public static final int NAME=6;
+    public static final int EOL=26;
+    public static final int WS=27;
+    public static final int UnicodeEscape=31;
+    public static final int DEFRULE=5;
+    public static final int LEFT_CURLY=38;
+    public static final int OR=12;
+    public static final int TILDE=20;
+    public static final int TEST=15;
+    public static final int LEFT_PAREN=4;
+    public static final int DECLARE=28;
+    public static final int PIPE=19;
+    public static final int VAR=16;
+    public static final int EXISTS=14;
+    public static final int LEFT_SQUARE=36;
+    public static final int EscapeSequence=29;
+    public static final int OctalEscape=32;
+    public static final int C_STYLE_SINGLE_LINE_COMMENT=35;
+    public static final int STRING=7;
+    public CLPLexer() {;} 
     public CLPLexer(CharStream input) {
-        super( input );
-        ruleMemo = new HashMap[40 + 1];
-    }
+        super(input);
+        ruleMemo = new HashMap[40+1];
+     }
+    public String getGrammarFileName() { return "C:\\dev\\jbossrules\\trunk4\\drools-clips\\src\\main\\resources\\org\\drools\\clp\\CLP.g"; }
 
-    public String getGrammarFileName() {
-        return "C:\\dev\\jbossrules\\trunk\\drools-compiler\\src\\main\\resources\\org\\drools\\clp\\CLP.g";
-    }
-
     // $ANTLR start T41
-    public void mT41() throws RecognitionException {
+    public final void mT41() throws RecognitionException {
         try {
-            ruleNestingLevel++;
             int _type = T41;
-            int _start = getCharIndex();
-            int _line = getLine();
-            int _charPosition = getCharPositionInLine();
-            int _channel = Token.DEFAULT_CHANNEL;
-            // C:\\dev\\jbossrules\\trunk\\drools-compiler\\src\\main\\resources\\org\\drools\\clp\\CLP.g:6:7: ( '=>' )
-            // C:\\dev\\jbossrules\\trunk\\drools-compiler\\src\\main\\resources\\org\\drools\\clp\\CLP.g:6:7: '=>'
+            // C:\\dev\\jbossrules\\trunk4\\drools-clips\\src\\main\\resources\\org\\drools\\clp\\CLP.g:6:7: ( '=>' )
+            // C:\\dev\\jbossrules\\trunk4\\drools-clips\\src\\main\\resources\\org\\drools\\clp\\CLP.g:6:7: '=>'
             {
-                match( "=>" );
-                if ( failed ) return;
+            match("=>"); if (failed) return ;
 
-            }
 
-            if ( backtracking == 0 ) {
-
-                if ( token == null && ruleNestingLevel == 1 ) {
-                    emit( _type,
-                          _line,
-                          _charPosition,
-                          _channel,
-                          _start,
-                          getCharIndex() - 1 );
-                }
-
             }
-        } finally {
-            ruleNestingLevel--;
+
+            this.type = _type;
         }
+        finally {
+        }
     }
-
     // $ANTLR end T41
 
     // $ANTLR start WS
-    public void mWS() throws RecognitionException {
+    public final void mWS() throws RecognitionException {
         try {
-            ruleNestingLevel++;
             int _type = WS;
-            int _start = getCharIndex();
-            int _line = getLine();
-            int _charPosition = getCharPositionInLine();
-            int _channel = Token.DEFAULT_CHANNEL;
-            // C:\\dev\\jbossrules\\trunk\\drools-compiler\\src\\main\\resources\\org\\drools\\clp\\CLP.g:554:17: ( ( ' ' | '\\t' | '\\f' | EOL ) )
-            // C:\\dev\\jbossrules\\trunk\\drools-compiler\\src\\main\\resources\\org\\drools\\clp\\CLP.g:554:17: ( ' ' | '\\t' | '\\f' | EOL )
+            // C:\\dev\\jbossrules\\trunk4\\drools-clips\\src\\main\\resources\\org\\drools\\clp\\CLP.g:554:17: ( ( ' ' | '\\t' | '\\f' | EOL ) )
+            // C:\\dev\\jbossrules\\trunk4\\drools-clips\\src\\main\\resources\\org\\drools\\clp\\CLP.g:554:17: ( ' ' | '\\t' | '\\f' | EOL )
             {
-                // C:\\dev\\jbossrules\\trunk\\drools-compiler\\src\\main\\resources\\org\\drools\\clp\\CLP.g:554: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( "554:17: ( ' ' | '\\t' | '\\f' | EOL )",
-                                                                              1,
-                                                                              0,
-                                                                              input );
-
-                        throw nvae;
+            // C:\\dev\\jbossrules\\trunk4\\drools-clips\\src\\main\\resources\\org\\drools\\clp\\CLP.g:554: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("554:17: ( ' ' | '\\t' | '\\f' | EOL )", 1, 0, input);
 
-                switch ( alt1 ) {
-                    case 1 :
-                        // C:\\dev\\jbossrules\\trunk\\drools-compiler\\src\\main\\resources\\org\\drools\\clp\\CLP.g:554:19: ' '
+                throw nvae;
+            }
+
+            switch (alt1) {
+                case 1 :
+                    // C:\\dev\\jbossrules\\trunk4\\drools-clips\\src\\main\\resources\\org\\drools\\clp\\CLP.g:554:19: ' '
                     {
-                        match( ' ' );
-                        if ( failed ) return;
+                    match(' '); if (failed) return ;
 
                     }
-                        break;
-                    case 2 :
-                        // C:\\dev\\jbossrules\\trunk\\drools-compiler\\src\\main\\resources\\org\\drools\\clp\\CLP.g:555:19: '\\t'
+                    break;
+                case 2 :
+                    // C:\\dev\\jbossrules\\trunk4\\drools-clips\\src\\main\\resources\\org\\drools\\clp\\CLP.g:555:19: '\\t'
                     {
-                        match( '\t' );
-                        if ( failed ) return;
+                    match('\t'); if (failed) return ;
 
                     }
-                        break;
-                    case 3 :
-                        // C:\\dev\\jbossrules\\trunk\\drools-compiler\\src\\main\\resources\\org\\drools\\clp\\CLP.g:556:19: '\\f'
+                    break;
+                case 3 :
+                    // C:\\dev\\jbossrules\\trunk4\\drools-clips\\src\\main\\resources\\org\\drools\\clp\\CLP.g:556:19: '\\f'
                     {
-                        match( '\f' );
-                        if ( failed ) return;
+                    match('\f'); if (failed) return ;
 
                     }
-                        break;
-                    case 4 :
-                        // C:\\dev\\jbossrules\\trunk\\drools-compiler\\src\\main\\resources\\org\\drools\\clp\\CLP.g:557:19: EOL
+                    break;
+                case 4 :
+                    // C:\\dev\\jbossrules\\trunk4\\drools-clips\\src\\main\\resources\\org\\drools\\clp\\CLP.g:557:19: EOL
                     {
-                        mEOL();
-                        if ( failed ) return;
+                    mEOL(); if (failed) return ;
 
                     }
-                        break;
+                    break;
 
-                }
+            }
 
-                if ( backtracking == 0 ) {
-                    _channel = HIDDEN;
-                }
-
+            if ( backtracking==0 ) {
+               channel=HIDDEN; 
             }
 
-            if ( backtracking == 0 ) {
-
-                if ( token == null && ruleNestingLevel == 1 ) {
-                    emit( _type,
-                          _line,
-                          _charPosition,
-                          _channel,
-                          _start,
-                          getCharIndex() - 1 );
-                }
-
             }
-        } finally {
-            ruleNestingLevel--;
+
+            this.type = _type;
         }
+        finally {
+        }
     }
-
     // $ANTLR end WS
 
     // $ANTLR start DEFRULE
-    public void mDEFRULE() throws RecognitionException {
+    public final void mDEFRULE() throws RecognitionException {
         try {
-            ruleNestingLevel++;
             int _type = DEFRULE;
-            int _start = getCharIndex();
-            int _line = getLine();
-            int _charPosition = getCharPositionInLine();
-            int _channel = Token.DEFAULT_CHANNEL;
-            // C:\\dev\\jbossrules\\trunk\\drools-compiler\\src\\main\\resources\\org\\drools\\clp\\CLP.g:562:11: ( 'defrule' )
-            // C:\\dev\\jbossrules\\trunk\\drools-compiler\\src\\main\\resources\\org\\drools\\clp\\CLP.g:562:11: 'defrule'
+            // C:\\dev\\jbossrules\\trunk4\\drools-clips\\src\\main\\resources\\org\\drools\\clp\\CLP.g:562:11: ( 'defrule' )
+            // C:\\dev\\jbossrules\\trunk4\\drools-clips\\src\\main\\resources\\org\\drools\\clp\\CLP.g:562:11: 'defrule'
             {
-                match( "defrule" );
-                if ( failed ) return;
+            match("defrule"); if (failed) return ;
 
-            }
 
-            if ( backtracking == 0 ) {
-
-                if ( token == null && ruleNestingLevel == 1 ) {
-                    emit( _type,
-                          _line,
-                          _charPosition,
-                          _channel,
-                          _start,
-                          getCharIndex() - 1 );
-                }
-
             }
-        } finally {
-            ruleNestingLevel--;
+
+            this.type = _type;
         }
+        finally {
+        }
     }
-
     // $ANTLR end DEFRULE
 
     // $ANTLR start OR
-    public void mOR() throws RecognitionException {
+    public final void mOR() throws RecognitionException {
         try {
-            ruleNestingLevel++;
             int _type = OR;
-            int _start = getCharIndex();
-            int _line = getLine();
-            int _charPosition = getCharPositionInLine();
-            int _channel = Token.DEFAULT_CHANNEL;
-            // C:\\dev\\jbossrules\\trunk\\drools-compiler\\src\\main\\resources\\org\\drools\\clp\\CLP.g:563:7: ( 'or' )
-            // C:\\dev\\jbossrules\\trunk\\drools-compiler\\src\\main\\resources\\org\\drools\\clp\\CLP.g:563:7: 'or'
+            // C:\\dev\\jbossrules\\trunk4\\drools-clips\\src\\main\\resources\\org\\drools\\clp\\CLP.g:563:7: ( 'or' )
+            // C:\\dev\\jbossrules\\trunk4\\drools-clips\\src\\main\\resources\\org\\drools\\clp\\CLP.g:563:7: 'or'
             {
-                match( "or" );
-                if ( failed ) return;
+            match("or"); if (failed) return ;
 
-            }
 
-            if ( backtracking == 0 ) {
-
-                if ( token == null && ruleNestingLevel == 1 ) {
-                    emit( _type,
-                          _line,
-                          _charPosition,
-                          _channel,
-                          _start,
-                          getCharIndex() - 1 );
-                }
-
             }
-        } finally {
-            ruleNestingLevel--;
+
+            this.type = _type;
         }
+        finally {
+        }
     }
-
     // $ANTLR end OR
 
     // $ANTLR start AND
-    public void mAND() throws RecognitionException {
+    public final void mAND() throws RecognitionException {
         try {
-            ruleNestingLevel++;
             int _type = AND;
-            int _start = getCharIndex();
-            int _line = getLine();
-            int _charPosition = getCharPositionInLine();
-            int _channel = Token.DEFAULT_CHANNEL;
-            // C:\\dev\\jbossrules\\trunk\\drools-compiler\\src\\main\\resources\\org\\drools\\clp\\CLP.g:564:8: ( 'and' )
-            // C:\\dev\\jbossrules\\trunk\\drools-compiler\\src\\main\\resources\\org\\drools\\clp\\CLP.g:564:8: 'and'
+            // C:\\dev\\jbossrules\\trunk4\\drools-clips\\src\\main\\resources\\org\\drools\\clp\\CLP.g:564:8: ( 'and' )
+            // C:\\dev\\jbossrules\\trunk4\\drools-clips\\src\\main\\resources\\org\\drools\\clp\\CLP.g:564:8: 'and'
             {
-                match( "and" );
-                if ( failed ) return;
+            match("and"); if (failed) return ;
 
-            }
 
-            if ( backtracking == 0 ) {
-
-                if ( token == null && ruleNestingLevel == 1 ) {
-                    emit( _type,
-                          _line,
-                          _charPosition,
-                          _channel,
-                          _start,
-                          getCharIndex() - 1 );
-                }
-
             }
-        } finally {
-            ruleNestingLevel--;
+
+            this.type = _type;
         }
+        finally {
+        }
     }
-
     // $ANTLR end AND
 
     // $ANTLR start NOT
-    public void mNOT() throws RecognitionException {
+    public final void mNOT() throws RecognitionException {
         try {
-            ruleNestingLevel++;
             int _type = NOT;
-            int _start = getCharIndex();
-            int _line = getLine();
-            int _charPosition = getCharPositionInLine();
-            int _channel = Token.DEFAULT_CHANNEL;
-            // C:\\dev\\jbossrules\\trunk\\drools-compiler\\src\\main\\resources\\org\\drools\\clp\\CLP.g:565:8: ( 'not' )
-            // C:\\dev\\jbossrules\\trunk\\drools-compiler\\src\\main\\resources\\org\\drools\\clp\\CLP.g:565:8: 'not'
+            // C:\\dev\\jbossrules\\trunk4\\drools-clips\\src\\main\\resources\\org\\drools\\clp\\CLP.g:565:8: ( 'not' )
+            // C:\\dev\\jbossrules\\trunk4\\drools-clips\\src\\main\\resources\\org\\drools\\clp\\CLP.g:565:8: 'not'
             {
-                match( "not" );
-                if ( failed ) return;
+            match("not"); if (failed) return ;
 
-            }
 
-            if ( backtracking == 0 ) {
-
-                if ( token == null && ruleNestingLevel == 1 ) {
-                    emit( _type,
-                          _line,
-                          _charPosition,
-                          _channel,
-                          _start,
-                          getCharIndex() - 1 );
-                }
-
             }
-        } finally {
-            ruleNestingLevel--;
+
+            this.type = _type;
         }
+        finally {
+        }
     }
-
     // $ANTLR end NOT
 
     // $ANTLR start EXISTS
-    public void mEXISTS() throws RecognitionException {
+    public final void mEXISTS() throws RecognitionException {
         try {
-            ruleNestingLevel++;
             int _type = EXISTS;
-            int _start = getCharIndex();
-            int _line = getLine();
-            int _charPosition = getCharPositionInLine();
-            int _channel = Token.DEFAULT_CHANNEL;
-            // C:\\dev\\jbossrules\\trunk\\drools-compiler\\src\\main\\resources\\org\\drools\\clp\\CLP.g:566:11: ( 'exists' )
-            // C:\\dev\\jbossrules\\trunk\\drools-compiler\\src\\main\\resources\\org\\drools\\clp\\CLP.g:566:11: 'exists'
+            // C:\\dev\\jbossrules\\trunk4\\drools-clips\\src\\main\\resources\\org\\drools\\clp\\CLP.g:566:11: ( 'exists' )
+            // C:\\dev\\jbossrules\\trunk4\\drools-clips\\src\\main\\resources\\org\\drools\\clp\\CLP.g:566:11: 'exists'
             {
-                match( "exists" );
-                if ( failed ) return;
+            match("exists"); if (failed) return ;
 
-            }
 
-            if ( backtracking == 0 ) {
-
-                if ( token == null && ruleNestingLevel == 1 ) {
-                    emit( _type,
-                          _line,
-                          _charPosition,
-                          _channel,
-                          _start,
-                          getCharIndex() - 1 );
-                }
-
             }
-        } finally {
-            ruleNestingLevel--;
+
+            this.type = _type;
         }
+        finally {
+        }
     }
-
     // $ANTLR end EXISTS
 
     // $ANTLR start TEST
-    public void mTEST() throws RecognitionException {
+    public final void mTEST() throws RecognitionException {
         try {
-            ruleNestingLevel++;
             int _type = TEST;
-            int _start = getCharIndex();
-            int _line = getLine();
-            int _charPosition = getCharPositionInLine();
-            int _channel = Token.DEFAULT_CHANNEL;
-            // C:\\dev\\jbossrules\\trunk\\drools-compiler\\src\\main\\resources\\org\\drools\\clp\\CLP.g:567:9: ( 'test' )
-            // C:\\dev\\jbossrules\\trunk\\drools-compiler\\src\\main\\resources\\org\\drools\\clp\\CLP.g:567:9: 'test'
+            // C:\\dev\\jbossrules\\trunk4\\drools-clips\\src\\main\\resources\\org\\drools\\clp\\CLP.g:567:9: ( 'test' )
+            // C:\\dev\\jbossrules\\trunk4\\drools-clips\\src\\main\\resources\\org\\drools\\clp\\CLP.g:567:9: 'test'
             {
-                match( "test" );
-                if ( failed ) return;
+            match("test"); if (failed) return ;
 
-            }
 
-            if ( backtracking == 0 ) {
-
-                if ( token == null && ruleNestingLevel == 1 ) {
-                    emit( _type,
-                          _line,
-                          _charPosition,
-                          _channel,
-                          _start,
-                          getCharIndex() - 1 );
-                }
-
             }
-        } finally {
-            ruleNestingLevel--;
+
+            this.type = _type;
         }
+        finally {
+        }
     }
-
     // $ANTLR end TEST
 
     // $ANTLR start NULL
-    public void mNULL() throws RecognitionException {
+    public final void mNULL() throws RecognitionException {
         try {
-            ruleNestingLevel++;
             int _type = NULL;
-            int _start = getCharIndex();
-            int _line = getLine();
-            int _charPosition = getCharPositionInLine();
-            int _channel = Token.DEFAULT_CHANNEL;
-            // C:\\dev\\jbossrules\\trunk\\drools-compiler\\src\\main\\resources\\org\\drools\\clp\\CLP.g:569:8: ( 'null' )
-            // C:\\dev\\jbossrules\\trunk\\drools-compiler\\src\\main\\resources\\org\\drools\\clp\\CLP.g:569:8: 'null'
+            // C:\\dev\\jbossrules\\trunk4\\drools-clips\\src\\main\\resources\\org\\drools\\clp\\CLP.g:569:8: ( 'null' )
+            // C:\\dev\\jbossrules\\trunk4\\drools-clips\\src\\main\\resources\\org\\drools\\clp\\CLP.g:569:8: 'null'
             {
-                match( "null" );
-                if ( failed ) return;
+            match("null"); if (failed) return ;
 
-            }
 
-            if ( backtracking == 0 ) {
-
-                if ( token == null && ruleNestingLevel == 1 ) {
-                    emit( _type,
-                          _line,
-                          _charPosition,
-                          _channel,
-                          _start,
-                          getCharIndex() - 1 );
-                }
-
             }
-        } finally {
-            ruleNestingLevel--;
+
+            this.type = _type;
         }
+        finally {
+        }
     }
-
     // $ANTLR end NULL
 
     // $ANTLR start DECLARE
-    public void mDECLARE() throws RecognitionException {
+    public final void mDECLARE() throws RecognitionException {
         try {
-            ruleNestingLevel++;
             int _type = DECLARE;
-            int _start = getCharIndex();
-            int _line = getLine();
-            int _charPosition = getCharPositionInLine();
-            int _channel = Token.DEFAULT_CHANNEL;
-            // C:\\dev\\jbossrules\\trunk\\drools-compiler\\src\\main\\resources\\org\\drools\\clp\\CLP.g:571:11: ( 'declare' )
-            // C:\\dev\\jbossrules\\trunk\\drools-compiler\\src\\main\\resources\\org\\drools\\clp\\CLP.g:571:11: 'declare'
+            // C:\\dev\\jbossrules\\trunk4\\drools-clips\\src\\main\\resources\\org\\drools\\clp\\CLP.g:571:11: ( 'declare' )
+            // C:\\dev\\jbossrules\\trunk4\\drools-clips\\src\\main\\resources\\org\\drools\\clp\\CLP.g:571:11: 'declare'
             {
-                match( "declare" );
-                if ( failed ) return;
+            match("declare"); if (failed) return ;
 
-            }
 
-            if ( backtracking == 0 ) {
-
-                if ( token == null && ruleNestingLevel == 1 ) {
-                    emit( _type,
-                          _line,
-                          _charPosition,
-                          _channel,
-                          _start,
-                          getCharIndex() - 1 );
-                }
-
             }
-        } finally {
-            ruleNestingLevel--;
+
+            this.type = _type;
         }
+        finally {
+        }
     }
-
     // $ANTLR end DECLARE
 
     // $ANTLR start SALIENCE
-    public void mSALIENCE() throws RecognitionException {
+    public final void mSALIENCE() throws RecognitionException {
         try {
-            ruleNestingLevel++;
             int _type = SALIENCE;
-            int _start = getCharIndex();
-            int _line = getLine();
-            int _charPosition = getCharPositionInLine();
-            int _channel = Token.DEFAULT_CHANNEL;
-            // C:\\dev\\jbossrules\\trunk\\drools-compiler\\src\\main\\resources\\org\\drools\\clp\\CLP.g:573:11: ( 'salience' )
-            // C:\\dev\\jbossrules\\trunk\\drools-compiler\\src\\main\\resources\\org\\drools\\clp\\CLP.g:573:11: 'salience'
+            // C:\\dev\\jbossrules\\trunk4\\drools-clips\\src\\main\\resources\\org\\drools\\clp\\CLP.g:573:11: ( 'salience' )
+            // C:\\dev\\jbossrules\\trunk4\\drools-clips\\src\\main\\resources\\org\\drools\\clp\\CLP.g:573:11: 'salience'
             {
-                match( "salience" );
-                if ( failed ) return;
+            match("salience"); if (failed) return ;
 
-            }
 
-            if ( backtracking == 0 ) {
-
-                if ( token == null && ruleNestingLevel == 1 ) {
-                    emit( _type,
-                          _line,
-                          _charPosition,
-                          _channel,
-                          _start,
-                          getCharIndex() - 1 );
-                }
-
             }
-        } finally {
-            ruleNestingLevel--;
+
+            this.type = _type;
         }
+        finally {
+        }
     }
-
     // $ANTLR end SALIENCE
 
     // $ANTLR start EOL
-    public void mEOL() throws RecognitionException {
+    public final void mEOL() throws RecognitionException {
         try {
-            ruleNestingLevel++;
-            // C:\\dev\\jbossrules\\trunk\\drools-compiler\\src\\main\\resources\\org\\drools\\clp\\CLP.g:579:6: ( ( ( '\\r\\n' )=> '\\r\\n' | '\\r' | '\\n' ) )
-            // C:\\dev\\jbossrules\\trunk\\drools-compiler\\src\\main\\resources\\org\\drools\\clp\\CLP.g:579:6: ( ( '\\r\\n' )=> '\\r\\n' | '\\r' | '\\n' )
+            // C:\\dev\\jbossrules\\trunk4\\drools-clips\\src\\main\\resources\\org\\drools\\clp\\CLP.g:579:6: ( ( ( '\\r\\n' )=> '\\r\\n' | '\\r' | '\\n' ) )
+            // C:\\dev\\jbossrules\\trunk4\\drools-clips\\src\\main\\resources\\org\\drools\\clp\\CLP.g:579:6: ( ( '\\r\\n' )=> '\\r\\n' | '\\r' | '\\n' )
             {
-                // C:\\dev\\jbossrules\\trunk\\drools-compiler\\src\\main\\resources\\org\\drools\\clp\\CLP.g:579:6: ( ( '\\r\\n' )=> '\\r\\n' | '\\r' | '\\n' )
-                int alt2 = 3;
-                int LA2_0 = input.LA( 1 );
-                if ( (LA2_0 == '\r') ) {
-                    int LA2_1 = input.LA( 2 );
-                    if ( (LA2_1 == '\n') ) {
-                        alt2 = 1;
-                    } else {
-                        alt2 = 2;
-                    }
-                } else if ( (LA2_0 == '\n') ) {
-                    alt2 = 3;
-                } else {
-                    if ( backtracking > 0 ) {
-                        failed = true;
-                        return;
-                    }
-                    NoViableAltException nvae = new NoViableAltException( "579:6: ( ( '\\r\\n' )=> '\\r\\n' | '\\r' | '\\n' )",
-                                                                          2,
-                                                                          0,
-                                                                          input );
+            // C:\\dev\\jbossrules\\trunk4\\drools-clips\\src\\main\\resources\\org\\drools\\clp\\CLP.g:579: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\\trunk\\drools-compiler\\src\\main\\resources\\org\\drools\\clp\\CLP.g:579: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("579:6: ( ( '\\r\\n' )=> '\\r\\n' | '\\r' | '\\n' )", 2, 0, input);
+
+                throw nvae;
+            }
+            switch (alt2) {
+                case 1 :
+                    // C:\\dev\\jbossrules\\trunk4\\drools-clips\\src\\main\\resources\\org\\drools\\clp\\CLP.g:579:14: ( '\\r\\n' )=> '\\r\\n'
                     {
-                        match( "\r\n" );
-                        if ( failed ) return;
+                    match("\r\n"); if (failed) return ;
 
+
                     }
-                        break;
-                    case 2 :
-                        // C:\\dev\\jbossrules\\trunk\\drools-compiler\\src\\main\\resources\\org\\drools\\clp\\CLP.g:580:25: '\\r'
+                    break;
+                case 2 :
+                    // C:\\dev\\jbossrules\\trunk4\\drools-clips\\src\\main\\resources\\org\\drools\\clp\\CLP.g:580:25: '\\r'
                     {
-                        match( '\r' );
-                        if ( failed ) return;
+                    match('\r'); if (failed) return ;
 
                     }
-                        break;
-                    case 3 :
-                        // C:\\dev\\jbossrules\\trunk\\drools-compiler\\src\\main\\resources\\org\\drools\\clp\\CLP.g:581:25: '\\n'
+                    break;
+                case 3 :
+                    // C:\\dev\\jbossrules\\trunk4\\drools-clips\\src\\main\\resources\\org\\drools\\clp\\CLP.g:581:25: '\\n'
                     {
-                        match( '\n' );
-                        if ( failed ) return;
+                    match('\n'); if (failed) return ;
 
                     }
-                        break;
+                    break;
 
-                }
+            }
 
+
             }
 
-        } finally {
-            ruleNestingLevel--;
         }
+        finally {
+        }
     }
-
     // $ANTLR end EOL
 
     // $ANTLR start INT
-    public void mINT() throws RecognitionException {
+    public final void mINT() throws RecognitionException {
         try {
-            ruleNestingLevel++;
             int _type = INT;
-            int _start = getCharIndex();
-            int _line = getLine();
-            int _charPosition = getCharPositionInLine();
-            int _channel = Token.DEFAULT_CHANNEL;
-            // C:\\dev\\jbossrules\\trunk\\drools-compiler\\src\\main\\resources\\org\\drools\\clp\\CLP.g:586:4: ( ( '-' )? ( '0' .. '9' )+ )
-            // C:\\dev\\jbossrules\\trunk\\drools-compiler\\src\\main\\resources\\org\\drools\\clp\\CLP.g:586:4: ( '-' )? ( '0' .. '9' )+
+            // C:\\dev\\jbossrules\\trunk4\\drools-clips\\src\\main\\resources\\org\\drools\\clp\\CLP.g:586:4: ( ( '-' )? ( '0' .. '9' )+ )
+            // C:\\dev\\jbossrules\\trunk4\\drools-clips\\src\\main\\resources\\org\\drools\\clp\\CLP.g:586:4: ( '-' )? ( '0' .. '9' )+
             {
-                // C:\\dev\\jbossrules\\trunk\\drools-compiler\\src\\main\\resources\\org\\drools\\clp\\CLP.g:586:4: ( '-' )?
-                int alt3 = 2;
-                int LA3_0 = input.LA( 1 );
-                if ( (LA3_0 == '-') ) {
-                    alt3 = 1;
-                }
-                switch ( alt3 ) {
-                    case 1 :
-                        // C:\\dev\\jbossrules\\trunk\\drools-compiler\\src\\main\\resources\\org\\drools\\clp\\CLP.g:586:5: '-'
+            // C:\\dev\\jbossrules\\trunk4\\drools-clips\\src\\main\\resources\\org\\drools\\clp\\CLP.g:586:4: ( '-' )?
+            int alt3=2;
+            int LA3_0 = input.LA(1);
+
+            if ( (LA3_0=='-') ) {
+                alt3=1;
+            }
+            switch (alt3) {
+                case 1 :
+                    // C:\\dev\\jbossrules\\trunk4\\drools-clips\\src\\main\\resources\\org\\drools\\clp\\CLP.g:586:5: '-'
                     {
-                        match( '-' );
-                        if ( failed ) return;
+                    match('-'); if (failed) return ;
 
                     }
-                        break;
+                    break;
 
-                }
+            }
 
-                // C:\\dev\\jbossrules\\trunk\\drools-compiler\\src\\main\\resources\\org\\drools\\clp\\CLP.g:586:10: ( '0' .. '9' )+
-                int cnt4 = 0;
-                loop4 : do {
-                    int alt4 = 2;
-                    int LA4_0 = input.LA( 1 );
-                    if ( ((LA4_0 >= '0' && LA4_0 <= '9')) ) {
-                        alt4 = 1;
-                    }
+            // C:\\dev\\jbossrules\\trunk4\\drools-clips\\src\\main\\resources\\org\\drools\\clp\\CLP.g:586:10: ( '0' .. '9' )+
+            int cnt4=0;
+            loop4:
+            do {
+                int alt4=2;
+                int LA4_0 = input.LA(1);
 
-                    switch ( alt4 ) {
-                        case 1 :
-                            // C:\\dev\\jbossrules\\trunk\\drools-compiler\\src\\main\\resources\\org\\drools\\clp\\CLP.g:586:11: '0' .. '9'
-                        {
-                            matchRange( '0',
-                                        '9' );
-                            if ( failed ) return;
+                if ( ((LA4_0>='0' && LA4_0<='9')) ) {
+                    alt4=1;
+                }
 
-                        }
-                            break;
 
-                        default :
-                            if ( cnt4 >= 1 ) break loop4;
-                            if ( backtracking > 0 ) {
-                                failed = true;
-                                return;
-                            }
-                            EarlyExitException eee = new EarlyExitException( 4,
-                                                                             input );
-                            throw eee;
-                    }
-                    cnt4++;
-                } while ( true );
+                switch (alt4) {
+            	case 1 :
+            	    // C:\\dev\\jbossrules\\trunk4\\drools-clips\\src\\main\\resources\\org\\drools\\clp\\CLP.g:586:11: '0' .. '9'
+            	    {
+            	    matchRange('0','9'); if (failed) return ;
 
-            }
+            	    }
+            	    break;
 
-            if ( backtracking == 0 ) {
-
-                if ( token == null && 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 {
-            ruleNestingLevel--;
+
+            this.type = _type;
         }
+        finally {
+        }
     }
-
     // $ANTLR end INT
 
     // $ANTLR start FLOAT
-    public void mFLOAT() throws RecognitionException {
+    public final void mFLOAT() throws RecognitionException {
         try {
-            ruleNestingLevel++;
             int _type = FLOAT;
-            int _start = getCharIndex();
-            int _line = getLine();
-            int _charPosition = getCharPositionInLine();
-            int _channel = Token.DEFAULT_CHANNEL;
-            // C:\\dev\\jbossrules\\trunk\\drools-compiler\\src\\main\\resources\\org\\drools\\clp\\CLP.g:590:4: ( ( '-' )? ( '0' .. '9' )+ '.' ( '0' .. '9' )+ )
-            // C:\\dev\\jbossrules\\trunk\\drools-compiler\\src\\main\\resources\\org\\drools\\clp\\CLP.g:590:4: ( '-' )? ( '0' .. '9' )+ '.' ( '0' .. '9' )+
+            // C:\\dev\\jbossrules\\trunk4\\drools-clips\\src\\main\\resources\\org\\drools\\clp\\CLP.g:590:4: ( ( '-' )? ( '0' .. '9' )+ '.' ( '0' .. '9' )+ )
+            // C:\\dev\\jbossrules\\trunk4\\drools-clips\\src\\main\\resources\\org\\drools\\clp\\CLP.g:590:4: ( '-' )? ( '0' .. '9' )+ '.' ( '0' .. '9' )+
             {
-                // C:\\dev\\jbossrules\\trunk\\drools-compiler\\src\\main\\resources\\org\\drools\\clp\\CLP.g:590:4: ( '-' )?
-                int alt5 = 2;
-                int LA5_0 = input.LA( 1 );
-                if ( (LA5_0 == '-') ) {
-                    alt5 = 1;
-                }
-                switch ( alt5 ) {
-                    case 1 :
-                        // C:\\dev\\jbossrules\\trunk\\drools-compiler\\src\\main\\resources\\org\\drools\\clp\\CLP.g:590:5: '-'
+            // C:\\dev\\jbossrules\\trunk4\\drools-clips\\src\\main\\resources\\org\\drools\\clp\\CLP.g:590:4: ( '-' )?
+            int alt5=2;
+            int LA5_0 = input.LA(1);
+
+            if ( (LA5_0=='-') ) {
+                alt5=1;
+            }
+            switch (alt5) {
+                case 1 :
+                    // C:\\dev\\jbossrules\\trunk4\\drools-clips\\src\\main\\resources\\org\\drools\\clp\\CLP.g:590:5: '-'
                     {
-                        match( '-' );
-                        if ( failed ) return;
+                    match('-'); if (failed) return ;
 
                     }
-                        break;
+                    break;
 
-                }
+            }
 
-                // C:\\dev\\jbossrules\\trunk\\drools-compiler\\src\\main\\resources\\org\\drools\\clp\\CLP.g:590:10: ( '0' .. '9' )+
-                int cnt6 = 0;
-                loop6 : do {
-                    int alt6 = 2;
-                    int LA6_0 = input.LA( 1 );
-                    if ( ((LA6_0 >= '0' && LA6_0 <= '9')) ) {
-                        alt6 = 1;
-                    }
+            // C:\\dev\\jbossrules\\trunk4\\drools-clips\\src\\main\\resources\\org\\drools\\clp\\CLP.g:590:10: ( '0' .. '9' )+
+            int cnt6=0;
+            loop6:
+            do {
+                int alt6=2;
+                int LA6_0 = input.LA(1);
 
-                    switch ( alt6 ) {
-                        case 1 :
-                            // C:\\dev\\jbossrules\\trunk\\drools-compiler\\src\\main\\resources\\org\\drools\\clp\\CLP.g:590:11: '0' .. '9'
-                        {
-                            matchRange( '0',
-                                        '9' );
-                            if ( failed ) return;
+                if ( ((LA6_0>='0' && LA6_0<='9')) ) {
+                    alt6=1;
+                }
 
-                        }
-                            break;
 
-                        default :
-                            if ( cnt6 >= 1 ) break loop6;
-                            if ( backtracking > 0 ) {
-                                failed = true;
-                                return;
-                            }
-                            EarlyExitException eee = new EarlyExitException( 6,
-                                                                             input );
-                            throw eee;
-                    }
-                    cnt6++;
-                } while ( true );
+                switch (alt6) {
+            	case 1 :
+            	    // C:\\dev\\jbossrules\\trunk4\\drools-clips\\src\\main\\resources\\org\\drools\\clp\\CLP.g:590:11: '0' .. '9'
+            	    {
+            	    matchRange('0','9'); if (failed) return ;
 
-                match( '.' );
-                if ( failed ) return;
-                // C:\\dev\\jbossrules\\trunk\\drools-compiler\\src\\main\\resources\\org\\drools\\clp\\CLP.g:590:26: ( '0' .. '9' )+
-                int cnt7 = 0;
-                loop7 : do {
-                    int alt7 = 2;
-                    int LA7_0 = input.LA( 1 );
-                    if ( ((LA7_0 >= '0' && LA7_0 <= '9')) ) {
-                        alt7 = 1;
-                    }
+            	    }
+            	    break;
 
-                    switch ( alt7 ) {
-                        case 1 :
-                            // C:\\dev\\jbossrules\\trunk\\drools-compiler\\src\\main\\resources\\org\\drools\\clp\\CLP.g:590:27: '0' .. '9'
-                        {
-                            matchRange( '0',
-                                        '9' );
-                            if ( failed ) return;
+            	default :
+            	    if ( cnt6 >= 1 ) break loop6;
+            	    if (backtracking>0) {failed=true; return ;}
+                        EarlyExitException eee =
+                            new EarlyExitException(6, input);
+                        throw eee;
+                }
+                cnt6++;
+            } while (true);
 
-                        }
-                            break;
+            match('.'); if (failed) return ;
+            // C:\\dev\\jbossrules\\trunk4\\drools-clips\\src\\main\\resources\\org\\drools\\clp\\CLP.g:590:26: ( '0' .. '9' )+
+            int cnt7=0;
+            loop7:
+            do {
+                int alt7=2;
+                int LA7_0 = input.LA(1);
 
-                        default :
-                            if ( cnt7 >= 1 ) break loop7;
-                            if ( backtracking > 0 ) {
-                                failed = true;
-                                return;
-                            }
-                            EarlyExitException eee = new EarlyExitException( 7,
-                                                                             input );
-                            throw eee;
-                    }
-                    cnt7++;
-                } while ( true );
+                if ( ((LA7_0>='0' && LA7_0<='9')) ) {
+                    alt7=1;
+                }
 
-            }
 
-            if ( backtracking == 0 ) {
+                switch (alt7) {
+            	case 1 :
+            	    // C:\\dev\\jbossrules\\trunk4\\drools-clips\\src\\main\\resources\\org\\drools\\clp\\CLP.g:590:27: '0' .. '9'
+            	    {
+            	    matchRange('0','9'); if (failed) return ;
 
-                if ( token == null && ruleNestingLevel == 1 ) {
-                    emit( _type,
-                          _line,
-                          _charPosition,
-                          _channel,
-                          _start,
-                          getCharIndex() - 1 );
+            	    }
+            	    break;
+
+            	default :
+            	    if ( cnt7 >= 1 ) break loop7;
+            	    if (backtracking>0) {failed=true; return ;}
+                        EarlyExitException eee =
+                            new EarlyExitException(7, input);
+                        throw eee;
                 }
+                cnt7++;
+            } while (true);
 
+
             }
-        } finally {
-            ruleNestingLevel--;
+
+            this.type = _type;
         }
+        finally {
+        }
     }
-
     // $ANTLR end FLOAT
 
     // $ANTLR start STRING
-    public void mSTRING() throws RecognitionException {
+    public final void mSTRING() throws RecognitionException {
         try {
-            ruleNestingLevel++;
             int _type = STRING;
-            int _start = getCharIndex();
-            int _line = getLine();
-            int _charPosition = getCharPositionInLine();
-            int _channel = Token.DEFAULT_CHANNEL;
-            // C:\\dev\\jbossrules\\trunk\\drools-compiler\\src\\main\\resources\\org\\drools\\clp\\CLP.g:594: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( "593:1: STRING : ( ( '\"' ( EscapeSequence | ~ ('\\\\'|'\"'))* '\"' ) | ( '\\'' ( EscapeSequence | ~ ('\\\\'|'\\''))* '\\'' ) );",
-                                                                      10,
-                                                                      0,
-                                                                      input );
+            // C:\\dev\\jbossrules\\trunk4\\drools-clips\\src\\main\\resources\\org\\drools\\clp\\CLP.g:594: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("593:1: STRING : ( ( '\"' ( EscapeSequence | ~ ( '\\\\' | '\"' ) )* '\"' ) | ( '\\'' ( EscapeSequence | ~ ( '\\\\' | '\\'' ) )* '\\'' ) );", 10, 0, input);
+
                 throw nvae;
             }
-            switch ( alt10 ) {
+            switch (alt10) {
                 case 1 :
-                    // C:\\dev\\jbossrules\\trunk\\drools-compiler\\src\\main\\resources\\org\\drools\\clp\\CLP.g:594:8: ( '\"' ( EscapeSequence | ~ ('\\\\'|'\"'))* '\"' )
-                {
-                    // C:\\dev\\jbossrules\\trunk\\drools-compiler\\src\\main\\resources\\org\\drools\\clp\\CLP.g:594:8: ( '\"' ( EscapeSequence | ~ ('\\\\'|'\"'))* '\"' )
-                    // C:\\dev\\jbossrules\\trunk\\drools-compiler\\src\\main\\resources\\org\\drools\\clp\\CLP.g:594:9: '\"' ( EscapeSequence | ~ ('\\\\'|'\"'))* '\"'
+                    // C:\\dev\\jbossrules\\trunk4\\drools-clips\\src\\main\\resources\\org\\drools\\clp\\CLP.g:594:8: ( '\"' ( EscapeSequence | ~ ( '\\\\' | '\"' ) )* '\"' )
                     {
-                        match( '\"' );
-                        if ( failed ) return;
-                        // C:\\dev\\jbossrules\\trunk\\drools-compiler\\src\\main\\resources\\org\\drools\\clp\\CLP.g:594:13: ( EscapeSequence | ~ ('\\\\'|'\"'))*
-                        loop8 : do {
-                            int alt8 = 3;
-                            int LA8_0 = 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;
-                            }
+                    // C:\\dev\\jbossrules\\trunk4\\drools-clips\\src\\main\\resources\\org\\drools\\clp\\CLP.g:594:8: ( '\"' ( EscapeSequence | ~ ( '\\\\' | '\"' ) )* '\"' )
+                    // C:\\dev\\jbossrules\\trunk4\\drools-clips\\src\\main\\resources\\org\\drools\\clp\\CLP.g:594:9: '\"' ( EscapeSequence | ~ ( '\\\\' | '\"' ) )* '\"'
+                    {
+                    match('\"'); if (failed) return ;
+                    // C:\\dev\\jbossrules\\trunk4\\drools-clips\\src\\main\\resources\\org\\drools\\clp\\CLP.g:594:13: ( EscapeSequence | ~ ( '\\\\' | '\"' ) )*
+                    loop8:
+                    do {
+                        int alt8=3;
+                        int LA8_0 = input.LA(1);
 
-                            switch ( alt8 ) {
-                                case 1 :
-                                    // C:\\dev\\jbossrules\\trunk\\drools-compiler\\src\\main\\resources\\org\\drools\\clp\\CLP.g:594:15: EscapeSequence
-                                {
-                                    mEscapeSequence();
-                                    if ( failed ) return;
+                        if ( (LA8_0=='\\') ) {
+                            alt8=1;
+                        }
+                        else if ( ((LA8_0>='\u0000' && LA8_0<='!')||(LA8_0>='#' && LA8_0<='[')||(LA8_0>=']' && LA8_0<='\uFFFE')) ) {
+                            alt8=2;
+                        }
 
-                                }
-                                    break;
-                                case 2 :
-                                    // C:\\dev\\jbossrules\\trunk\\drools-compiler\\src\\main\\resources\\org\\drools\\clp\\CLP.g:594: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;
-                                    }
 
-                                }
-                                    break;
+                        switch (alt8) {
+                    	case 1 :
+                    	    // C:\\dev\\jbossrules\\trunk4\\drools-clips\\src\\main\\resources\\org\\drools\\clp\\CLP.g:594:15: EscapeSequence
+                    	    {
+                    	    mEscapeSequence(); if (failed) return ;
 
-                                default :
-                                    break loop8;
-                            }
-                        } while ( true );
+                    	    }
+                    	    break;
+                    	case 2 :
+                    	    // C:\\dev\\jbossrules\\trunk4\\drools-clips\\src\\main\\resources\\org\\drools\\clp\\CLP.g:594: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;
+                    	    }
 
-                        match( '\"' );
-                        if ( failed ) return;
 
+                    	    }
+                    	    break;
+
+                    	default :
+                    	    break loop8;
+                        }
+                    } while (true);
+
+                    match('\"'); if (failed) return ;
+
                     }
 
-                }
+
+                    }
                     break;
                 case 2 :
-                    // C:\\dev\\jbossrules\\trunk\\drools-compiler\\src\\main\\resources\\org\\drools\\clp\\CLP.g:595:8: ( '\\'' ( EscapeSequence | ~ ('\\\\'|'\\''))* '\\'' )
-                {
-                    // C:\\dev\\jbossrules\\trunk\\drools-compiler\\src\\main\\resources\\org\\drools\\clp\\CLP.g:595:8: ( '\\'' ( EscapeSequence | ~ ('\\\\'|'\\''))* '\\'' )
-                    // C:\\dev\\jbossrules\\trunk\\drools-compiler\\src\\main\\resources\\org\\drools\\clp\\CLP.g:595:9: '\\'' ( EscapeSequence | ~ ('\\\\'|'\\''))* '\\''
+                    // C:\\dev\\jbossrules\\trunk4\\drools-clips\\src\\main\\resources\\org\\drools\\clp\\CLP.g:595:8: ( '\\'' ( EscapeSequence | ~ ( '\\\\' | '\\'' ) )* '\\'' )
                     {
-                        match( '\'' );
-                        if ( failed ) return;
-                        // C:\\dev\\jbossrules\\trunk\\drools-compiler\\src\\main\\resources\\org\\drools\\clp\\CLP.g:595:14: ( EscapeSequence | ~ ('\\\\'|'\\''))*
-                        loop9 : do {
-                            int alt9 = 3;
-                            int LA9_0 = 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;
-                            }
+                    // C:\\dev\\jbossrules\\trunk4\\drools-clips\\src\\main\\resources\\org\\drools\\clp\\CLP.g:595:8: ( '\\'' ( EscapeSequence | ~ ( '\\\\' | '\\'' ) )* '\\'' )
+                    // C:\\dev\\jbossrules\\trunk4\\drools-clips\\src\\main\\resources\\org\\drools\\clp\\CLP.g:595:9: '\\'' ( EscapeSequence | ~ ( '\\\\' | '\\'' ) )* '\\''
+                    {
+                    match('\''); if (failed) return ;
+                    // C:\\dev\\jbossrules\\trunk4\\drools-clips\\src\\main\\resources\\org\\drools\\clp\\CLP.g:595:14: ( EscapeSequence | ~ ( '\\\\' | '\\'' ) )*
+                    loop9:
+                    do {
+                        int alt9=3;
+                        int LA9_0 = input.LA(1);
 
-                            switch ( alt9 ) {
-                                case 1 :
-                                    // C:\\dev\\jbossrules\\trunk\\drools-compiler\\src\\main\\resources\\org\\drools\\clp\\CLP.g:595:16: EscapeSequence
-                                {
-                                    mEscapeSequence();
-                                    if ( failed ) return;
+                        if ( (LA9_0=='\\') ) {
+                            alt9=1;
+                        }
+                        else if ( ((LA9_0>='\u0000' && LA9_0<='&')||(LA9_0>='(' && LA9_0<='[')||(LA9_0>=']' && LA9_0<='\uFFFE')) ) {
+                            alt9=2;
+                        }
 
-                                }
-                                    break;
-                                case 2 :
-                                    // C:\\dev\\jbossrules\\trunk\\drools-compiler\\src\\main\\resources\\org\\drools\\clp\\CLP.g:595: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;
-                                    }
 
-                                }
-                                    break;
+                        switch (alt9) {
+                    	case 1 :
+                    	    // C:\\dev\\jbossrules\\trunk4\\drools-clips\\src\\main\\resources\\org\\drools\\clp\\CLP.g:595:16: EscapeSequence
+                    	    {
+                    	    mEscapeSequence(); if (failed) return ;
 
-                                default :
-                                    break loop9;
-                            }
-                        } while ( true );
+                    	    }
+                    	    break;
+                    	case 2 :
+                    	    // C:\\dev\\jbossrules\\trunk4\\drools-clips\\src\\main\\resources\\org\\drools\\clp\\CLP.g:595: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;
+                    	    }
 
-                        match( '\'' );
-                        if ( failed ) return;
 
-                    }
+                    	    }
+                    	    break;
 
-                }
-                    break;
+                    	default :
+                    	    break loop9;
+                        }
+                    } while (true);
 
-            }
+                    match('\''); if (failed) return ;
 
-            if ( backtracking == 0 ) {
+                    }
 
-                if ( token == null && ruleNestingLevel == 1 ) {
-                    emit( _type,
-                          _line,
-                          _charPosition,
-                          _channel,
-                          _start,
-                          getCharIndex() - 1 );
-                }
 
+                    }
+                    break;
+
             }
-        } finally {
-            ruleNestingLevel--;
+            this.type = _type;
         }
+        finally {
+        }
     }
-
     // $ANTLR end STRING
 
     // $ANTLR start HexDigit
-    public void mHexDigit() throws RecognitionException {
+    public final void mHexDigit() throws RecognitionException {
         try {
-            ruleNestingLevel++;
-            // C:\\dev\\jbossrules\\trunk\\drools-compiler\\src\\main\\resources\\org\\drools\\clp\\CLP.g:599:12: ( ('0'..'9'|'a'..'f'|'A'..'F'))
-            // C:\\dev\\jbossrules\\trunk\\drools-compiler\\src\\main\\resources\\org\\drools\\clp\\CLP.g:599:12: ('0'..'9'|'a'..'f'|'A'..'F')
+            // C:\\dev\\jbossrules\\trunk4\\drools-clips\\src\\main\\resources\\org\\drools\\clp\\CLP.g:599:12: ( ( '0' .. '9' | 'a' .. 'f' | 'A' .. 'F' ) )
+            // C:\\dev\\jbossrules\\trunk4\\drools-clips\\src\\main\\resources\\org\\drools\\clp\\CLP.g:599:12: ( '0' .. '9' | 'a' .. 'f' | 'A' .. 'F' )
             {
-                if ( (input.LA( 1 ) >= '0' && input.LA( 1 ) <= '9') || (input.LA( 1 ) >= 'A' && input.LA( 1 ) <= 'F') || (input.LA( 1 ) >= 'a' && input.LA( 1 ) <= 'f') ) {
-                    input.consume();
-                    failed = false;
-                } else {
-                    if ( backtracking > 0 ) {
-                        failed = true;
-                        return;
-                    }
-                    MismatchedSetException mse = new MismatchedSetException( null,
-                                                                             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 {
-            ruleNestingLevel--;
         }
+        finally {
+        }
     }
-
     // $ANTLR end HexDigit
 
     // $ANTLR start EscapeSequence
-    public void mEscapeSequence() throws RecognitionException {
+    public final void mEscapeSequence() throws RecognitionException {
         try {
-            ruleNestingLevel++;
-            // C:\\dev\\jbossrules\\trunk\\drools-compiler\\src\\main\\resources\\org\\drools\\clp\\CLP.g:603:9: ( '\\\\' ('b'|'t'|'n'|'f'|'r'|'\\\"'|'\\''|'\\\\') | UnicodeEscape | OctalEscape )
-            int alt11 = 3;
-            int LA11_0 = input.LA( 1 );
-            if ( (LA11_0 == '\\') ) {
-                switch ( input.LA( 2 ) ) {
-                    case 'u' :
-                        alt11 = 2;
-                        break;
-                    case '\"' :
-                    case '\'' :
-                    case '\\' :
-                    case 'b' :
-                    case 'f' :
-                    case 'n' :
-                    case 'r' :
-                    case 't' :
-                        alt11 = 1;
-                        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( "601:1: fragment EscapeSequence : ( '\\\\' ('b'|'t'|'n'|'f'|'r'|'\\\"'|'\\''|'\\\\') | UnicodeEscape | OctalEscape );",
-                                                                              11,
-                                                                              1,
-                                                                              input );
+            // C:\\dev\\jbossrules\\trunk4\\drools-clips\\src\\main\\resources\\org\\drools\\clp\\CLP.g:603: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 'u':
+                    {
+                    alt11=2;
+                    }
+                    break;
+                case '\"':
+                case '\'':
+                case '\\':
+                case 'b':
+                case 'f':
+                case 'n':
+                case 'r':
+                case 't':
+                    {
+                    alt11=1;
+                    }
+                    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("601:1: fragment EscapeSequence : ( '\\\\' ( 'b' | 't' | 'n' | 'f' | 'r' | '\\\"' | '\\'' | '\\\\' ) | UnicodeEscape | OctalEscape );", 11, 1, input);
 
-            } else {
-                if ( backtracking > 0 ) {
-                    failed = true;
-                    return;
+                    throw nvae;
                 }
-                NoViableAltException nvae = new NoViableAltException( "601:1: fragment EscapeSequence : ( '\\\\' ('b'|'t'|'n'|'f'|'r'|'\\\"'|'\\''|'\\\\') | UnicodeEscape | OctalEscape );",
-                                                                      11,
-                                                                      0,
-                                                                      input );
 
+            }
+            else {
+                if (backtracking>0) {failed=true; return ;}
+                NoViableAltException nvae =
+                    new NoViableAltException("601:1: fragment EscapeSequence : ( '\\\\' ( 'b' | 't' | 'n' | 'f' | 'r' | '\\\"' | '\\'' | '\\\\' ) | UnicodeEscape | OctalEscape );", 11, 0, input);
+
                 throw nvae;
             }
-            switch ( alt11 ) {
+            switch (alt11) {
                 case 1 :
-                    // C:\\dev\\jbossrules\\trunk\\drools-compiler\\src\\main\\resources\\org\\drools\\clp\\CLP.g:603:9: '\\\\' ('b'|'t'|'n'|'f'|'r'|'\\\"'|'\\''|'\\\\')
-                {
-                    match( '\\' );
-                    if ( failed ) return;
-                    if ( 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' ) {
+                    // C:\\dev\\jbossrules\\trunk4\\drools-clips\\src\\main\\resources\\org\\drools\\clp\\CLP.g:603:9: '\\\\' ( 'b' | 't' | 'n' | 'f' | 'r' | '\\\"' | '\\'' | '\\\\' )
+                    {
+                    match('\\'); if (failed) return ;
+                    if ( 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;
-                    } else {
-                        if ( backtracking > 0 ) {
-                            failed = true;
-                            return;
-                        }
-                        MismatchedSetException mse = new MismatchedSetException( null,
-                                                                                 input );
-                        recover( mse );
-                        throw mse;
+                    failed=false;
                     }
+                    else {
+                        if (backtracking>0) {failed=true; return ;}
+                        MismatchedSetException mse =
+                            new MismatchedSetException(null,input);
+                        recover(mse);    throw mse;
+                    }
 
-                }
+
+                    }
                     break;
                 case 2 :
-                    // C:\\dev\\jbossrules\\trunk\\drools-compiler\\src\\main\\resources\\org\\drools\\clp\\CLP.g:604:9: UnicodeEscape
-                {
-                    mUnicodeEscape();
-                    if ( failed ) return;
+                    // C:\\dev\\jbossrules\\trunk4\\drools-clips\\src\\main\\resources\\org\\drools\\clp\\CLP.g:604:9: UnicodeEscape
+                    {
+                    mUnicodeEscape(); if (failed) return ;
 
-                }
+                    }
                     break;
                 case 3 :
-                    // C:\\dev\\jbossrules\\trunk\\drools-compiler\\src\\main\\resources\\org\\drools\\clp\\CLP.g:605:9: OctalEscape
-                {
-                    mOctalEscape();
-                    if ( failed ) return;
+                    // C:\\dev\\jbossrules\\trunk4\\drools-clips\\src\\main\\resources\\org\\drools\\clp\\CLP.g:605:9: OctalEscape
+                    {
+                    mOctalEscape(); if (failed) return ;
 
-                }
+                    }
                     break;
 
             }
-        } finally {
-            ruleNestingLevel--;
         }
+        finally {
+        }
     }
-
     // $ANTLR end EscapeSequence
 
     // $ANTLR start OctalEscape
-    public void mOctalEscape() throws RecognitionException {
+    public final void mOctalEscape() throws RecognitionException {
         try {
-            ruleNestingLevel++;
-            // C:\\dev\\jbossrules\\trunk\\drools-compiler\\src\\main\\resources\\org\\drools\\clp\\CLP.g:610:9: ( '\\\\' ( '0' .. '3' ) ( '0' .. '7' ) ( '0' .. '7' ) | '\\\\' ( '0' .. '7' ) ( '0' .. '7' ) | '\\\\' ( '0' .. '7' ) )
-            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_5 = input.LA( 4 );
-                        if ( ((LA12_5 >= '0' && LA12_5 <= '7')) ) {
-                            alt12 = 1;
-                        } else {
-                            alt12 = 2;
+            // C:\\dev\\jbossrules\\trunk4\\drools-clips\\src\\main\\resources\\org\\drools\\clp\\CLP.g:610:9: ( '\\\\' ( '0' .. '3' ) ( '0' .. '7' ) ( '0' .. '7' ) | '\\\\' ( '0' .. '7' ) ( '0' .. '7' ) | '\\\\' ( '0' .. '7' ) )
+            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')) ) {
-                    int LA12_3 = 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 ( backtracking > 0 ) {
-                        failed = true;
-                        return;
-                    }
-                    NoViableAltException nvae = new NoViableAltException( "608:1: fragment OctalEscape : ( '\\\\' ( '0' .. '3' ) ( '0' .. '7' ) ( '0' .. '7' ) | '\\\\' ( '0' .. '7' ) ( '0' .. '7' ) | '\\\\' ( '0' .. '7' ) );",
-                                                                          12,
-                                                                          1,
-                                                                          input );
+                    else {
+                        alt12=3;}
+                }
+                else {
+                    if (backtracking>0) {failed=true; return ;}
+                    NoViableAltException nvae =
+                        new NoViableAltException("608:1: fragment OctalEscape : ( '\\\\' ( '0' .. '3' ) ( '0' .. '7' ) ( '0' .. '7' ) | '\\\\' ( '0' .. '7' ) ( '0' .. '7' ) | '\\\\' ( '0' .. '7' ) );", 12, 1, input);
 
                     throw nvae;
                 }
-            } else {
-                if ( backtracking > 0 ) {
-                    failed = true;
-                    return;
-                }
-                NoViableAltException nvae = new NoViableAltException( "608:1: fragment OctalEscape : ( '\\\\' ( '0' .. '3' ) ( '0' .. '7' ) ( '0' .. '7' ) | '\\\\' ( '0' .. '7' ) ( '0' .. '7' ) | '\\\\' ( '0' .. '7' ) );",
-                                                                      12,
-                                                                      0,
-                                                                      input );
+            }
+            else {
+                if (backtracking>0) {failed=true; return ;}
+                NoViableAltException nvae =
+                    new NoViableAltException("608: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\\trunk\\drools-compiler\\src\\main\\resources\\org\\drools\\clp\\CLP.g:610:9: '\\\\' ( '0' .. '3' ) ( '0' .. '7' ) ( '0' .. '7' )
-                {
-                    match( '\\' );
-                    if ( failed ) return;
-                    // C:\\dev\\jbossrules\\trunk\\drools-compiler\\src\\main\\resources\\org\\drools\\clp\\CLP.g:610:14: ( '0' .. '3' )
-                    // C:\\dev\\jbossrules\\trunk\\drools-compiler\\src\\main\\resources\\org\\drools\\clp\\CLP.g:610:15: '0' .. '3'
+                    // C:\\dev\\jbossrules\\trunk4\\drools-clips\\src\\main\\resources\\org\\drools\\clp\\CLP.g:610:9: '\\\\' ( '0' .. '3' ) ( '0' .. '7' ) ( '0' .. '7' )
                     {
-                        matchRange( '0',
-                                    '3' );
-                        if ( failed ) return;
+                    match('\\'); if (failed) return ;
+                    // C:\\dev\\jbossrules\\trunk4\\drools-clips\\src\\main\\resources\\org\\drools\\clp\\CLP.g:610:14: ( '0' .. '3' )
+                    // C:\\dev\\jbossrules\\trunk4\\drools-clips\\src\\main\\resources\\org\\drools\\clp\\CLP.g:610:15: '0' .. '3'
+                    {
+                    matchRange('0','3'); if (failed) return ;
 
                     }
 
-                    // C:\\dev\\jbossrules\\trunk\\drools-compiler\\src\\main\\resources\\org\\drools\\clp\\CLP.g:610:25: ( '0' .. '7' )
-                    // C:\\dev\\jbossrules\\trunk\\drools-compiler\\src\\main\\resources\\org\\drools\\clp\\CLP.g:610:26: '0' .. '7'
+                    // C:\\dev\\jbossrules\\trunk4\\drools-clips\\src\\main\\resources\\org\\drools\\clp\\CLP.g:610:25: ( '0' .. '7' )
+                    // C:\\dev\\jbossrules\\trunk4\\drools-clips\\src\\main\\resources\\org\\drools\\clp\\CLP.g:610:26: '0' .. '7'
                     {
-                        matchRange( '0',
-                                    '7' );
-                        if ( failed ) return;
+                    matchRange('0','7'); if (failed) return ;
 
                     }
 
-                    // C:\\dev\\jbossrules\\trunk\\drools-compiler\\src\\main\\resources\\org\\drools\\clp\\CLP.g:610:36: ( '0' .. '7' )
-                    // C:\\dev\\jbossrules\\trunk\\drools-compiler\\src\\main\\resources\\org\\drools\\clp\\CLP.g:610:37: '0' .. '7'
+                    // C:\\dev\\jbossrules\\trunk4\\drools-clips\\src\\main\\resources\\org\\drools\\clp\\CLP.g:610:36: ( '0' .. '7' )
+                    // C:\\dev\\jbossrules\\trunk4\\drools-clips\\src\\main\\resources\\org\\drools\\clp\\CLP.g:610:37: '0' .. '7'
                     {
-                        matchRange( '0',
-                                    '7' );
-                        if ( failed ) return;
+                    matchRange('0','7'); if (failed) return ;
 
                     }
 
-                }
+
+                    }
                     break;
                 case 2 :
-                    // C:\\dev\\jbossrules\\trunk\\drools-compiler\\src\\main\\resources\\org\\drools\\clp\\CLP.g:611:9: '\\\\' ( '0' .. '7' ) ( '0' .. '7' )
-                {
-                    match( '\\' );
-                    if ( failed ) return;
-                    // C:\\dev\\jbossrules\\trunk\\drools-compiler\\src\\main\\resources\\org\\drools\\clp\\CLP.g:611:14: ( '0' .. '7' )
-                    // C:\\dev\\jbossrules\\trunk\\drools-compiler\\src\\main\\resources\\org\\drools\\clp\\CLP.g:611:15: '0' .. '7'
+                    // C:\\dev\\jbossrules\\trunk4\\drools-clips\\src\\main\\resources\\org\\drools\\clp\\CLP.g:611:9: '\\\\' ( '0' .. '7' ) ( '0' .. '7' )
                     {
-                        matchRange( '0',
-                                    '7' );
-                        if ( failed ) return;
+                    match('\\'); if (failed) return ;
+                    // C:\\dev\\jbossrules\\trunk4\\drools-clips\\src\\main\\resources\\org\\drools\\clp\\CLP.g:611:14: ( '0' .. '7' )
+                    // C:\\dev\\jbossrules\\trunk4\\drools-clips\\src\\main\\resources\\org\\drools\\clp\\CLP.g:611:15: '0' .. '7'
+                    {
+                    matchRange('0','7'); if (failed) return ;
 
                     }
 
-                    // C:\\dev\\jbossrules\\trunk\\drools-compiler\\src\\main\\resources\\org\\drools\\clp\\CLP.g:611:25: ( '0' .. '7' )
-                    // C:\\dev\\jbossrules\\trunk\\drools-compiler\\src\\main\\resources\\org\\drools\\clp\\CLP.g:611:26: '0' .. '7'
+                    // C:\\dev\\jbossrules\\trunk4\\drools-clips\\src\\main\\resources\\org\\drools\\clp\\CLP.g:611:25: ( '0' .. '7' )
+                    // C:\\dev\\jbossrules\\trunk4\\drools-clips\\src\\main\\resources\\org\\drools\\clp\\CLP.g:611:26: '0' .. '7'
                     {
-                        matchRange( '0',
-                                    '7' );
-                        if ( failed ) return;
+                    matchRange('0','7'); if (failed) return ;
 
                     }
 
-                }
+
+                    }
                     break;
                 case 3 :
-                    // C:\\dev\\jbossrules\\trunk\\drools-compiler\\src\\main\\resources\\org\\drools\\clp\\CLP.g:612:9: '\\\\' ( '0' .. '7' )
-                {
-                    match( '\\' );
-                    if ( failed ) return;
-                    // C:\\dev\\jbossrules\\trunk\\drools-compiler\\src\\main\\resources\\org\\drools\\clp\\CLP.g:612:14: ( '0' .. '7' )
-                    // C:\\dev\\jbossrules\\trunk\\drools-compiler\\src\\main\\resources\\org\\drools\\clp\\CLP.g:612:15: '0' .. '7'
+                    // C:\\dev\\jbossrules\\trunk4\\drools-clips\\src\\main\\resources\\org\\drools\\clp\\CLP.g:612:9: '\\\\' ( '0' .. '7' )
                     {
-                        matchRange( '0',
-                                    '7' );
-                        if ( failed ) return;
+                    match('\\'); if (failed) return ;
+                    // C:\\dev\\jbossrules\\trunk4\\drools-clips\\src\\main\\resources\\org\\drools\\clp\\CLP.g:612:14: ( '0' .. '7' )
+                    // C:\\dev\\jbossrules\\trunk4\\drools-clips\\src\\main\\resources\\org\\drools\\clp\\CLP.g:612:15: '0' .. '7'
+                    {
+                    matchRange('0','7'); if (failed) return ;
 
                     }
 
-                }
+
+                    }
                     break;
 
             }
-        } finally {
-            ruleNestingLevel--;
         }
+        finally {
+        }
     }
-
     // $ANTLR end OctalEscape
 
     // $ANTLR start UnicodeEscape
-    public void mUnicodeEscape() throws RecognitionException {
+    public final void mUnicodeEscape() throws RecognitionException {
         try {
-            ruleNestingLevel++;
-            // C:\\dev\\jbossrules\\trunk\\drools-compiler\\src\\main\\resources\\org\\drools\\clp\\CLP.g:617:9: ( '\\\\' 'u' HexDigit HexDigit HexDigit HexDigit )
-            // C:\\dev\\jbossrules\\trunk\\drools-compiler\\src\\main\\resources\\org\\drools\\clp\\CLP.g:617:9: '\\\\' 'u' HexDigit HexDigit HexDigit HexDigit
+            // C:\\dev\\jbossrules\\trunk4\\drools-clips\\src\\main\\resources\\org\\drools\\clp\\CLP.g:617:9: ( '\\\\' 'u' HexDigit HexDigit HexDigit HexDigit )
+            // C:\\dev\\jbossrules\\trunk4\\drools-clips\\src\\main\\resources\\org\\drools\\clp\\CLP.g:617:9: '\\\\' 'u' HexDigit HexDigit HexDigit HexDigit
             {
-                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;
+            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 {
-            ruleNestingLevel--;
         }
+        finally {
+        }
     }
-
     // $ANTLR end UnicodeEscape
 
     // $ANTLR start BOOL
-    public void mBOOL() throws RecognitionException {
+    public final void mBOOL() throws RecognitionException {
         try {
-            ruleNestingLevel++;
             int _type = BOOL;
-            int _start = getCharIndex();
-            int _line = getLine();
-            int _charPosition = getCharPositionInLine();
-            int _channel = Token.DEFAULT_CHANNEL;
-            // C:\\dev\\jbossrules\\trunk\\drools-compiler\\src\\main\\resources\\org\\drools\\clp\\CLP.g:621:4: ( ( 'true' | 'false' ) )
-            // C:\\dev\\jbossrules\\trunk\\drools-compiler\\src\\main\\resources\\org\\drools\\clp\\CLP.g:621:4: ( 'true' | 'false' )
+            // C:\\dev\\jbossrules\\trunk4\\drools-clips\\src\\main\\resources\\org\\drools\\clp\\CLP.g:621:4: ( ( 'true' | 'false' ) )
+            // C:\\dev\\jbossrules\\trunk4\\drools-clips\\src\\main\\resources\\org\\drools\\clp\\CLP.g:621:4: ( 'true' | 'false' )
             {
-                // C:\\dev\\jbossrules\\trunk\\drools-compiler\\src\\main\\resources\\org\\drools\\clp\\CLP.g:621:4: ( 'true' | 'false' )
-                int alt13 = 2;
-                int LA13_0 = input.LA( 1 );
-                if ( (LA13_0 == 't') ) {
-                    alt13 = 1;
-                } else if ( (LA13_0 == 'f') ) {
-                    alt13 = 2;
-                } else {
-                    if ( backtracking > 0 ) {
-                        failed = true;
-                        return;
-                    }
-                    NoViableAltException nvae = new NoViableAltException( "621:4: ( 'true' | 'false' )",
-                                                                          13,
-                                                                          0,
-                                                                          input );
+            // C:\\dev\\jbossrules\\trunk4\\drools-clips\\src\\main\\resources\\org\\drools\\clp\\CLP.g:621:4: ( 'true' | 'false' )
+            int alt13=2;
+            int LA13_0 = input.LA(1);
 
-                    throw nvae;
-                }
-                switch ( alt13 ) {
-                    case 1 :
-                        // C:\\dev\\jbossrules\\trunk\\drools-compiler\\src\\main\\resources\\org\\drools\\clp\\CLP.g:621: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("621:4: ( 'true' | 'false' )", 13, 0, input);
+
+                throw nvae;
+            }
+            switch (alt13) {
+                case 1 :
+                    // C:\\dev\\jbossrules\\trunk4\\drools-clips\\src\\main\\resources\\org\\drools\\clp\\CLP.g:621:5: 'true'
                     {
-                        match( "true" );
-                        if ( failed ) return;
+                    match("true"); if (failed) return ;
 
+
                     }
-                        break;
-                    case 2 :
-                        // C:\\dev\\jbossrules\\trunk\\drools-compiler\\src\\main\\resources\\org\\drools\\clp\\CLP.g:621:12: 'false'
+                    break;
+                case 2 :
+                    // C:\\dev\\jbossrules\\trunk4\\drools-clips\\src\\main\\resources\\org\\drools\\clp\\CLP.g:621:12: 'false'
                     {
-                        match( "false" );
-                        if ( failed ) return;
+                    match("false"); if (failed) return ;
 
+
                     }
-                        break;
+                    break;
 
-                }
-
             }
 
-            if ( backtracking == 0 ) {
 
-                if ( token == null && ruleNestingLevel == 1 ) {
-                    emit( _type,
-                          _line,
-                          _charPosition,
-                          _channel,
-                          _start,
-                          getCharIndex() - 1 );
-                }
-
             }
-        } finally {
-            ruleNestingLevel--;
+
+            this.type = _type;
         }
+        finally {
+        }
     }
-
     // $ANTLR end BOOL
 
     // $ANTLR start VAR
-    public void mVAR() throws RecognitionException {
+    public final void mVAR() throws RecognitionException {
         try {
-            ruleNestingLevel++;
             int _type = VAR;
-            int _start = getCharIndex();
-            int _line = getLine();
-            int _charPosition = getCharPositionInLine();
-            int _channel = Token.DEFAULT_CHANNEL;
-            // C:\\dev\\jbossrules\\trunk\\drools-compiler\\src\\main\\resources\\org\\drools\\clp\\CLP.g:624:8: ( '?' ('a'..'z'|'A'..'Z'|'_'|'$') ( SYMBOL )* )
-            // C:\\dev\\jbossrules\\trunk\\drools-compiler\\src\\main\\resources\\org\\drools\\clp\\CLP.g:624:8: '?' ('a'..'z'|'A'..'Z'|'_'|'$') ( SYMBOL )*
+            // C:\\dev\\jbossrules\\trunk4\\drools-clips\\src\\main\\resources\\org\\drools\\clp\\CLP.g:624:8: ( '?' ( 'a' .. 'z' | 'A' .. 'Z' | '_' | '$' ) ( SYMBOL )* )
+            // C:\\dev\\jbossrules\\trunk4\\drools-clips\\src\\main\\resources\\org\\drools\\clp\\CLP.g:624:8: '?' ( 'a' .. 'z' | 'A' .. 'Z' | '_' | '$' ) ( SYMBOL )*
             {
-                match( '?' );
-                if ( failed ) return;
-                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();
-                    failed = false;
-                } else {
-                    if ( backtracking > 0 ) {
-                        failed = true;
-                        return;
-                    }
-                    MismatchedSetException mse = new MismatchedSetException( null,
-                                                                             input );
-                    recover( mse );
-                    throw mse;
-                }
+            match('?'); if (failed) return ;
+            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();
+            failed=false;
+            }
+            else {
+                if (backtracking>0) {failed=true; return ;}
+                MismatchedSetException mse =
+                    new MismatchedSetException(null,input);
+                recover(mse);    throw mse;
+            }
 
-                // C:\\dev\\jbossrules\\trunk\\drools-compiler\\src\\main\\resources\\org\\drools\\clp\\CLP.g:624:38: ( SYMBOL )*
-                loop14 : do {
-                    int alt14 = 2;
-                    int LA14_0 = input.LA( 1 );
-                    if ( ((LA14_0 >= '\u0000' && LA14_0 <= '\b') || (LA14_0 >= '\u000B' && LA14_0 <= '\f') || (LA14_0 >= '\u000E' && LA14_0 <= '\u001F') || LA14_0 == '!' || (LA14_0 >= '#' && LA14_0 <= '%') || LA14_0 == '\''
-                          || (LA14_0 >= '*' && LA14_0 <= ':') || (LA14_0 >= '<' && LA14_0 <= '>') || (LA14_0 >= '@' && LA14_0 <= '{') || LA14_0 == '}' || (LA14_0 >= '\u007F' && LA14_0 <= '\uFFFE')) ) {
-                        alt14 = 1;
-                    }
+            // C:\\dev\\jbossrules\\trunk4\\drools-clips\\src\\main\\resources\\org\\drools\\clp\\CLP.g:624:38: ( SYMBOL )*
+            loop14:
+            do {
+                int alt14=2;
+                int LA14_0 = input.LA(1);
 
-                    switch ( alt14 ) {
-                        case 1 :
-                            // C:\\dev\\jbossrules\\trunk\\drools-compiler\\src\\main\\resources\\org\\drools\\clp\\CLP.g:624:38: SYMBOL
-                        {
-                            mSYMBOL();
-                            if ( failed ) return;
+                if ( ((LA14_0>='\u0000' && LA14_0<='\b')||(LA14_0>='\u000B' && LA14_0<='\f')||(LA14_0>='\u000E' && LA14_0<='\u001F')||LA14_0=='!'||(LA14_0>='#' && LA14_0<='%')||LA14_0=='\''||(LA14_0>='*' && LA14_0<=':')||(LA14_0>='<' && LA14_0<='>')||(LA14_0>='@' && LA14_0<='{')||LA14_0=='}'||(LA14_0>='\u007F' && LA14_0<='\uFFFE')) ) {
+                    alt14=1;
+                }
 
-                        }
-                            break;
 
-                        default :
-                            break loop14;
-                    }
-                } while ( true );
+                switch (alt14) {
+            	case 1 :
+            	    // C:\\dev\\jbossrules\\trunk4\\drools-clips\\src\\main\\resources\\org\\drools\\clp\\CLP.g:624:38: SYMBOL
+            	    {
+            	    mSYMBOL(); if (failed) return ;
 
-            }
+            	    }
+            	    break;
 
-            if ( backtracking == 0 ) {
-
-                if ( token == null && ruleNestingLevel == 1 ) {
-                    emit( _type,
-                          _line,
-                          _charPosition,
-                          _channel,
-                          _start,
-                          getCharIndex() - 1 );
+            	default :
+            	    break loop14;
                 }
+            } while (true);
 
+
             }
-        } finally {
-            ruleNestingLevel--;
+
+            this.type = _type;
         }
+        finally {
+        }
     }
-
     // $ANTLR end VAR
 
     // $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 {
-            ruleNestingLevel++;
             int _type = SH_STYLE_SINGLE_LINE_COMMENT;
-            int _start = getCharIndex();
-            int _line = getLine();
-            int _charPosition = getCharPositionInLine();
-            int _channel = Token.DEFAULT_CHANNEL;
-            // C:\\dev\\jbossrules\\trunk\\drools-compiler\\src\\main\\resources\\org\\drools\\clp\\CLP.g:628:4: ( '#' ( options {greedy=false; } : . )* EOL )
-            // C:\\dev\\jbossrules\\trunk\\drools-compiler\\src\\main\\resources\\org\\drools\\clp\\CLP.g:628:4: '#' ( options {greedy=false; } : . )* EOL
+            // C:\\dev\\jbossrules\\trunk4\\drools-clips\\src\\main\\resources\\org\\drools\\clp\\CLP.g:628:4: ( '#' ( options {greedy=false; } : . )* EOL )
+            // C:\\dev\\jbossrules\\trunk4\\drools-clips\\src\\main\\resources\\org\\drools\\clp\\CLP.g:628:4: '#' ( options {greedy=false; } : . )* EOL
             {
-                match( '#' );
-                if ( failed ) return;
-                // C:\\dev\\jbossrules\\trunk\\drools-compiler\\src\\main\\resources\\org\\drools\\clp\\CLP.g:628:8: ( options {greedy=false; } : . )*
-                loop15 : do {
-                    int alt15 = 2;
-                    int LA15_0 = 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;
-                    }
+            match('#'); if (failed) return ;
+            // C:\\dev\\jbossrules\\trunk4\\drools-clips\\src\\main\\resources\\org\\drools\\clp\\CLP.g:628:8: ( options {greedy=false; } : . )*
+            loop15:
+            do {
+                int alt15=2;
+                int LA15_0 = input.LA(1);
 
-                    switch ( alt15 ) {
-                        case 1 :
-                            // C:\\dev\\jbossrules\\trunk\\drools-compiler\\src\\main\\resources\\org\\drools\\clp\\CLP.g:628:35: .
-                        {
-                            matchAny();
-                            if ( failed ) return;
+                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;
+                }
 
-                        }
-                            break;
 
-                        default :
-                            break loop15;
-                    }
-                } while ( true );
+                switch (alt15) {
+            	case 1 :
+            	    // C:\\dev\\jbossrules\\trunk4\\drools-clips\\src\\main\\resources\\org\\drools\\clp\\CLP.g:628:35: .
+            	    {
+            	    matchAny(); if (failed) return ;
 
-                mEOL();
-                if ( failed ) return;
-                if ( backtracking == 0 ) {
-                    _channel = HIDDEN;
+            	    }
+            	    break;
+
+            	default :
+            	    break loop15;
                 }
+            } while (true);
 
+            mEOL(); if (failed) return ;
+            if ( backtracking==0 ) {
+               channel=HIDDEN; 
             }
 
-            if ( backtracking == 0 ) {
-
-                if ( token == null && ruleNestingLevel == 1 ) {
-                    emit( _type,
-                          _line,
-                          _charPosition,
-                          _channel,
-                          _start,
-                          getCharIndex() - 1 );
-                }
-
             }
-        } finally {
-            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 {
-            ruleNestingLevel++;
             int _type = C_STYLE_SINGLE_LINE_COMMENT;
-            int _start = getCharIndex();
-            int _line = getLine();
-            int _charPosition = getCharPositionInLine();
-            int _channel = Token.DEFAULT_CHANNEL;
-            // C:\\dev\\jbossrules\\trunk\\drools-compiler\\src\\main\\resources\\org\\drools\\clp\\CLP.g:634:4: ( '//' ( options {greedy=false; } : . )* EOL )
-            // C:\\dev\\jbossrules\\trunk\\drools-compiler\\src\\main\\resources\\org\\drools\\clp\\CLP.g:634:4: '//' ( options {greedy=false; } : . )* EOL
+            // C:\\dev\\jbossrules\\trunk4\\drools-clips\\src\\main\\resources\\org\\drools\\clp\\CLP.g:634:4: ( '//' ( options {greedy=false; } : . )* EOL )
+            // C:\\dev\\jbossrules\\trunk4\\drools-clips\\src\\main\\resources\\org\\drools\\clp\\CLP.g:634:4: '//' ( options {greedy=false; } : . )* EOL
             {
-                match( "//" );
-                if ( failed ) return;
+            match("//"); if (failed) return ;
 
-                // C:\\dev\\jbossrules\\trunk\\drools-compiler\\src\\main\\resources\\org\\drools\\clp\\CLP.g:634:9: ( options {greedy=false; } : . )*
-                loop16 : do {
-                    int alt16 = 2;
-                    int LA16_0 = 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\\trunk4\\drools-clips\\src\\main\\resources\\org\\drools\\clp\\CLP.g:634:9: ( options {greedy=false; } : . )*
+            loop16:
+            do {
+                int alt16=2;
+                int LA16_0 = input.LA(1);
 
-                    switch ( alt16 ) {
-                        case 1 :
-                            // C:\\dev\\jbossrules\\trunk\\drools-compiler\\src\\main\\resources\\org\\drools\\clp\\CLP.g:634:36: .
-                        {
-                            matchAny();
-                            if ( failed ) return;
+                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;
+                }
 
-                        }
-                            break;
 
-                        default :
-                            break loop16;
-                    }
-                } while ( true );
+                switch (alt16) {
+            	case 1 :
+            	    // C:\\dev\\jbossrules\\trunk4\\drools-clips\\src\\main\\resources\\org\\drools\\clp\\CLP.g:634:36: .
+            	    {
+            	    matchAny(); if (failed) return ;
 
-                mEOL();
-                if ( failed ) return;
-                if ( backtracking == 0 ) {
-                    _channel = HIDDEN;
+            	    }
+            	    break;
+
+            	default :
+            	    break loop16;
                 }
+            } while (true);
 
+            mEOL(); if (failed) return ;
+            if ( backtracking==0 ) {
+               channel=HIDDEN; 
             }
 
-            if ( backtracking == 0 ) {
-
-                if ( token == null && ruleNestingLevel == 1 ) {
-                    emit( _type,
-                          _line,
-                          _charPosition,
-                          _channel,
-                          _start,
-                          getCharIndex() - 1 );
-                }
-
             }
-        } finally {
-            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 {
-            ruleNestingLevel++;
             int _type = LEFT_PAREN;
-            int _start = getCharIndex();
-            int _line = getLine();
-            int _charPosition = getCharPositionInLine();
-            int _channel = Token.DEFAULT_CHANNEL;
-            // C:\\dev\\jbossrules\\trunk\\drools-compiler\\src\\main\\resources\\org\\drools\\clp\\CLP.g:640:4: ( '(' )
-            // C:\\dev\\jbossrules\\trunk\\drools-compiler\\src\\main\\resources\\org\\drools\\clp\\CLP.g:640:4: '('
+            // C:\\dev\\jbossrules\\trunk4\\drools-clips\\src\\main\\resources\\org\\drools\\clp\\CLP.g:640:4: ( '(' )
+            // C:\\dev\\jbossrules\\trunk4\\drools-clips\\src\\main\\resources\\org\\drools\\clp\\CLP.g:640:4: '('
             {
-                match( '(' );
-                if ( failed ) return;
+            match('('); if (failed) return ;
 
             }
 
-            if ( backtracking == 0 ) {
-
-                if ( token == null && ruleNestingLevel == 1 ) {
-                    emit( _type,
-                          _line,
-                          _charPosition,
-                          _channel,
-                          _start,
-                          getCharIndex() - 1 );
-                }
-
-            }
-        } finally {
-            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 {
-            ruleNestingLevel++;
             int _type = RIGHT_PAREN;
-            int _start = getCharIndex();
-            int _line = getLine();
-            int _charPosition = getCharPositionInLine();
-            int _channel = Token.DEFAULT_CHANNEL;
-            // C:\\dev\\jbossrules\\trunk\\drools-compiler\\src\\main\\resources\\org\\drools\\clp\\CLP.g:644:4: ( ')' )
-            // C:\\dev\\jbossrules\\trunk\\drools-compiler\\src\\main\\resources\\org\\drools\\clp\\CLP.g:644:4: ')'
+            // C:\\dev\\jbossrules\\trunk4\\drools-clips\\src\\main\\resources\\org\\drools\\clp\\CLP.g:644:4: ( ')' )
+            // C:\\dev\\jbossrules\\trunk4\\drools-clips\\src\\main\\resources\\org\\drools\\clp\\CLP.g:644:4: ')'
             {
-                match( ')' );
-                if ( failed ) return;
+            match(')'); if (failed) return ;
 
             }
 
-            if ( backtracking == 0 ) {
-
-                if ( token == null && ruleNestingLevel == 1 ) {
-                    emit( _type,
-                          _line,
-                          _charPosition,
-                          _channel,
-                          _start,
-                          getCharIndex() - 1 );
-                }
-
-            }
-        } finally {
-            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 {
-            ruleNestingLevel++;
             int _type = LEFT_SQUARE;
-            int _start = getCharIndex();
-            int _line = getLine();
-            int _charPosition = getCharPositionInLine();
-            int _channel = Token.DEFAULT_CHANNEL;
-            // C:\\dev\\jbossrules\\trunk\\drools-compiler\\src\\main\\resources\\org\\drools\\clp\\CLP.g:648:4: ( '[' )
-            // C:\\dev\\jbossrules\\trunk\\drools-compiler\\src\\main\\resources\\org\\drools\\clp\\CLP.g:648:4: '['
+            // C:\\dev\\jbossrules\\trunk4\\drools-clips\\src\\main\\resources\\org\\drools\\clp\\CLP.g:648:4: ( '[' )
+            // C:\\dev\\jbossrules\\trunk4\\drools-clips\\src\\main\\resources\\org\\drools\\clp\\CLP.g:648:4: '['
             {
-                match( '[' );
-                if ( failed ) return;
+            match('['); if (failed) return ;
 
             }
 
-            if ( backtracking == 0 ) {
-
-                if ( token == null && ruleNestingLevel == 1 ) {
-                    emit( _type,
-                          _line,
-                          _charPosition,
-                          _channel,
-                          _start,
-                          getCharIndex() - 1 );
-                }
-
-            }
-        } finally {
-            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 {
-            ruleNestingLevel++;
             int _type = RIGHT_SQUARE;
-            int _start = getCharIndex();
-            int _line = getLine();
-            int _charPosition = getCharPositionInLine();
-            int _channel = Token.DEFAULT_CHANNEL;
-            // C:\\dev\\jbossrules\\trunk\\drools-compiler\\src\\main\\resources\\org\\drools\\clp\\CLP.g:652:4: ( ']' )
-            // C:\\dev\\jbossrules\\trunk\\drools-compiler\\src\\main\\resources\\org\\drools\\clp\\CLP.g:652:4: ']'
+            // C:\\dev\\jbossrules\\trunk4\\drools-clips\\src\\main\\resources\\org\\drools\\clp\\CLP.g:652:4: ( ']' )
+            // C:\\dev\\jbossrules\\trunk4\\drools-clips\\src\\main\\resources\\org\\drools\\clp\\CLP.g:652:4: ']'
             {
-                match( ']' );
-                if ( failed ) return;
+            match(']'); if (failed) return ;
 
             }
 
-            if ( backtracking == 0 ) {
-
-                if ( token == null && ruleNestingLevel == 1 ) {
-                    emit( _type,
-                          _line,
-                          _charPosition,
-                          _channel,
-                          _start,
-                          getCharIndex() - 1 );
-                }
-
-            }
-        } finally {
-            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 {
-            ruleNestingLevel++;
             int _type = LEFT_CURLY;
-            int _start = getCharIndex();
-            int _line = getLine();
-            int _charPosition = getCharPositionInLine();
-            int _channel = Token.DEFAULT_CHANNEL;
-            // C:\\dev\\jbossrules\\trunk\\drools-compiler\\src\\main\\resources\\org\\drools\\clp\\CLP.g:656:4: ( '{' )
-            // C:\\dev\\jbossrules\\trunk\\drools-compiler\\src\\main\\resources\\org\\drools\\clp\\CLP.g:656:4: '{'
+            // C:\\dev\\jbossrules\\trunk4\\drools-clips\\src\\main\\resources\\org\\drools\\clp\\CLP.g:656:4: ( '{' )
+            // C:\\dev\\jbossrules\\trunk4\\drools-clips\\src\\main\\resources\\org\\drools\\clp\\CLP.g:656:4: '{'
             {
-                match( '{' );
-                if ( failed ) return;
+            match('{'); if (failed) return ;
 
             }
 
-            if ( backtracking == 0 ) {
-
-                if ( token == null && ruleNestingLevel == 1 ) {
-                    emit( _type,
-                          _line,
-                          _charPosition,
-                          _channel,
-                          _start,
-                          getCharIndex() - 1 );
-                }
-
-            }
-        } finally {
-            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 {
-            ruleNestingLevel++;
             int _type = RIGHT_CURLY;
-            int _start = getCharIndex();
-            int _line = getLine();
-            int _charPosition = getCharPositionInLine();
-            int _channel = Token.DEFAULT_CHANNEL;
-            // C:\\dev\\jbossrules\\trunk\\drools-compiler\\src\\main\\resources\\org\\drools\\clp\\CLP.g:660:4: ( '}' )
-            // C:\\dev\\jbossrules\\trunk\\drools-compiler\\src\\main\\resources\\org\\drools\\clp\\CLP.g:660:4: '}'
+            // C:\\dev\\jbossrules\\trunk4\\drools-clips\\src\\main\\resources\\org\\drools\\clp\\CLP.g:660:4: ( '}' )
+            // C:\\dev\\jbossrules\\trunk4\\drools-clips\\src\\main\\resources\\org\\drools\\clp\\CLP.g:660:4: '}'
             {
-                match( '}' );
-                if ( failed ) return;
+            match('}'); if (failed) return ;
 
             }
 
-            if ( backtracking == 0 ) {
-
-                if ( token == null && ruleNestingLevel == 1 ) {
-                    emit( _type,
-                          _line,
-                          _charPosition,
-                          _channel,
-                          _start,
-                          getCharIndex() - 1 );
-                }
-
-            }
-        } finally {
-            ruleNestingLevel--;
+            this.type = _type;
         }
+        finally {
+        }
     }
-
     // $ANTLR end RIGHT_CURLY
 
     // $ANTLR start TILDE
-    public void mTILDE() throws RecognitionException {
+    public final void mTILDE() throws RecognitionException {
         try {
-            ruleNestingLevel++;
             int _type = TILDE;
-            int _start = getCharIndex();
-            int _line = getLine();
-            int _charPosition = getCharPositionInLine();
-            int _channel = Token.DEFAULT_CHANNEL;
-            // C:\\dev\\jbossrules\\trunk\\drools-compiler\\src\\main\\resources\\org\\drools\\clp\\CLP.g:663:9: ( '~' )
-            // C:\\dev\\jbossrules\\trunk\\drools-compiler\\src\\main\\resources\\org\\drools\\clp\\CLP.g:663:9: '~'
+            // C:\\dev\\jbossrules\\trunk4\\drools-clips\\src\\main\\resources\\org\\drools\\clp\\CLP.g:663:9: ( '~' )
+            // C:\\dev\\jbossrules\\trunk4\\drools-clips\\src\\main\\resources\\org\\drools\\clp\\CLP.g:663:9: '~'
             {
-                match( '~' );
-                if ( failed ) return;
+            match('~'); if (failed) return ;
 
             }
 
-            if ( backtracking == 0 ) {
-
-                if ( token == null && ruleNestingLevel == 1 ) {
-                    emit( _type,
-                          _line,
-                          _charPosition,
-                          _channel,
-                          _start,
-                          getCharIndex() - 1 );
-                }
-
-            }
-        } finally {
-            ruleNestingLevel--;
+            this.type = _type;
         }
+        finally {
+        }
     }
-
     // $ANTLR end TILDE
 
     // $ANTLR start AMPERSAND
-    public void mAMPERSAND() throws RecognitionException {
+    public final void mAMPERSAND() throws RecognitionException {
         try {
-            ruleNestingLevel++;
             int _type = AMPERSAND;
-            int _start = getCharIndex();
-            int _line = getLine();
-            int _charPosition = getCharPositionInLine();
-            int _channel = Token.DEFAULT_CHANNEL;
-            // C:\\dev\\jbossrules\\trunk\\drools-compiler\\src\\main\\resources\\org\\drools\\clp\\CLP.g:667:4: ( '&' )
-            // C:\\dev\\jbossrules\\trunk\\drools-compiler\\src\\main\\resources\\org\\drools\\clp\\CLP.g:667:4: '&'
+            // C:\\dev\\jbossrules\\trunk4\\drools-clips\\src\\main\\resources\\org\\drools\\clp\\CLP.g:667:4: ( '&' )
+            // C:\\dev\\jbossrules\\trunk4\\drools-clips\\src\\main\\resources\\org\\drools\\clp\\CLP.g:667:4: '&'
             {
-                match( '&' );
-                if ( failed ) return;
+            match('&'); if (failed) return ;
 
             }
 
-            if ( backtracking == 0 ) {
-
-                if ( token == null && ruleNestingLevel == 1 ) {
-                    emit( _type,
-                          _line,
-                          _charPosition,
-                          _channel,
-                          _start,
-                          getCharIndex() - 1 );
-                }
-
-            }
-        } finally {
-            ruleNestingLevel--;
+            this.type = _type;
         }
+        finally {
+        }
     }
-
     // $ANTLR end AMPERSAND
 
     // $ANTLR start PIPE
-    public void mPIPE() throws RecognitionException {
+    public final void mPIPE() throws RecognitionException {
         try {
-            ruleNestingLevel++;
             int _type = PIPE;
-            int _start = getCharIndex();
-            int _line = getLine();
-            int _charPosition = getCharPositionInLine();
-            int _channel = Token.DEFAULT_CHANNEL;
-            // C:\\dev\\jbossrules\\trunk\\drools-compiler\\src\\main\\resources\\org\\drools\\clp\\CLP.g:671:4: ( '|' )
-            // C:\\dev\\jbossrules\\trunk\\drools-compiler\\src\\main\\resources\\org\\drools\\clp\\CLP.g:671:4: '|'
+            // C:\\dev\\jbossrules\\trunk4\\drools-clips\\src\\main\\resources\\org\\drools\\clp\\CLP.g:671:4: ( '|' )
+            // C:\\dev\\jbossrules\\trunk4\\drools-clips\\src\\main\\resources\\org\\drools\\clp\\CLP.g:671:4: '|'
             {
-                match( '|' );
-                if ( failed ) return;
+            match('|'); if (failed) return ;
 
             }
 
-            if ( backtracking == 0 ) {
-
-                if ( token == null && ruleNestingLevel == 1 ) {
-                    emit( _type,
-                          _line,
-                          _charPosition,
-                          _channel,
-                          _start,
-                          getCharIndex() - 1 );
-                }
-
-            }
-        } finally {
-            ruleNestingLevel--;
+            this.type = _type;
         }
+        finally {
+        }
     }
-
     // $ANTLR end PIPE
 
     // $ANTLR start ASSIGN_OP
-    public void mASSIGN_OP() throws RecognitionException {
+    public final void mASSIGN_OP() throws RecognitionException {
         try {
-            ruleNestingLevel++;
             int _type = ASSIGN_OP;
-            int _start = getCharIndex();
-            int _line = getLine();
-            int _charPosition = getCharPositionInLine();
-            int _channel = Token.DEFAULT_CHANNEL;
-            // C:\\dev\\jbossrules\\trunk\\drools-compiler\\src\\main\\resources\\org\\drools\\clp\\CLP.g:675:4: ( '<-' )
-            // C:\\dev\\jbossrules\\trunk\\drools-compiler\\src\\main\\resources\\org\\drools\\clp\\CLP.g:675:4: '<-'
+            // C:\\dev\\jbossrules\\trunk4\\drools-clips\\src\\main\\resources\\org\\drools\\clp\\CLP.g:675:4: ( '<-' )
+            // C:\\dev\\jbossrules\\trunk4\\drools-clips\\src\\main\\resources\\org\\drools\\clp\\CLP.g:675:4: '<-'
             {
-                match( "<-" );
-                if ( failed ) return;
+            match("<-"); if (failed) return ;
 
-            }
 
-            if ( backtracking == 0 ) {
-
-                if ( token == null && ruleNestingLevel == 1 ) {
-                    emit( _type,
-                          _line,
-                          _charPosition,
-                          _channel,
-                          _start,
-                          getCharIndex() - 1 );
-                }
-
             }
-        } finally {
-            ruleNestingLevel--;
+
+            this.type = _type;
         }
+        finally {
+        }
     }
-
     // $ANTLR end ASSIGN_OP
 
     // $ANTLR start COLON
-    public void mCOLON() throws RecognitionException {
+    public final void mCOLON() throws RecognitionException {
         try {
-            ruleNestingLevel++;
             int _type = COLON;
-            int _start = getCharIndex();
-            int _line = getLine();
-            int _charPosition = getCharPositionInLine();
-            int _channel = Token.DEFAULT_CHANNEL;
-            // C:\\dev\\jbossrules\\trunk\\drools-compiler\\src\\main\\resources\\org\\drools\\clp\\CLP.g:678:9: ( ':' )
-            // C:\\dev\\jbossrules\\trunk\\drools-compiler\\src\\main\\resources\\org\\drools\\clp\\CLP.g:678:9: ':'
+            // C:\\dev\\jbossrules\\trunk4\\drools-clips\\src\\main\\resources\\org\\drools\\clp\\CLP.g:678:9: ( ':' )
+            // C:\\dev\\jbossrules\\trunk4\\drools-clips\\src\\main\\resources\\org\\drools\\clp\\CLP.g:678:9: ':'
             {
-                match( ':' );
-                if ( failed ) return;
+            match(':'); if (failed) return ;
 
             }
 
-            if ( backtracking == 0 ) {
-
-                if ( token == null && ruleNestingLevel == 1 ) {
-                    emit( _type,
-                          _line,
-                          _charPosition,
-                          _channel,
-                          _start,
-                          getCharIndex() - 1 );
-                }
-
-            }
-        } finally {
-            ruleNestingLevel--;
+            this.type = _type;
         }
+        finally {
+        }
     }
-
     // $ANTLR end COLON
 
     // $ANTLR start EQUALS
-    public void mEQUALS() throws RecognitionException {
+    public final void mEQUALS() throws RecognitionException {
         try {
-            ruleNestingLevel++;
             int _type = EQUALS;
-            int _start = getCharIndex();
-            int _line = getLine();
-            int _charPosition = getCharPositionInLine();
-            int _channel = Token.DEFAULT_CHANNEL;
-            // C:\\dev\\jbossrules\\trunk\\drools-compiler\\src\\main\\resources\\org\\drools\\clp\\CLP.g:680:10: ( '=' )
-            // C:\\dev\\jbossrules\\trunk\\drools-compiler\\src\\main\\resources\\org\\drools\\clp\\CLP.g:680:10: '='
+            // C:\\dev\\jbossrules\\trunk4\\drools-clips\\src\\main\\resources\\org\\drools\\clp\\CLP.g:680:10: ( '=' )
+            // C:\\dev\\jbossrules\\trunk4\\drools-clips\\src\\main\\resources\\org\\drools\\clp\\CLP.g:680:10: '='
             {
-                match( '=' );
-                if ( failed ) return;
+            match('='); if (failed) return ;
 
             }
 
-            if ( backtracking == 0 ) {
-
-                if ( token == null && ruleNestingLevel == 1 ) {
-                    emit( _type,
-                          _line,
-                          _charPosition,
-                          _channel,
-                          _start,
-                          getCharIndex() - 1 );
-                }
-
-            }
-        } finally {
-            ruleNestingLevel--;
+            this.type = _type;
         }
+        finally {
+        }
     }
-
     // $ANTLR end EQUALS
 
     // $ANTLR start MULTI_LINE_COMMENT
-    public void mMULTI_LINE_COMMENT() throws RecognitionException {
+    public final void mMULTI_LINE_COMMENT() throws RecognitionException {
         try {
-            ruleNestingLevel++;
             int _type = MULTI_LINE_COMMENT;
-            int _start = getCharIndex();
-            int _line = getLine();
-            int _charPosition = getCharPositionInLine();
-            int _channel = Token.DEFAULT_CHANNEL;
-            // C:\\dev\\jbossrules\\trunk\\drools-compiler\\src\\main\\resources\\org\\drools\\clp\\CLP.g:683:4: ( '/*' ( options {greedy=false; } : . )* '*/' )
-            // C:\\dev\\jbossrules\\trunk\\drools-compiler\\src\\main\\resources\\org\\drools\\clp\\CLP.g:683:4: '/*' ( options {greedy=false; } : . )* '*/'
+            // C:\\dev\\jbossrules\\trunk4\\drools-clips\\src\\main\\resources\\org\\drools\\clp\\CLP.g:683:4: ( '/*' ( options {greedy=false; } : . )* '*/' )
+            // C:\\dev\\jbossrules\\trunk4\\drools-clips\\src\\main\\resources\\org\\drools\\clp\\CLP.g:683:4: '/*' ( options {greedy=false; } : . )* '*/'
             {
-                match( "/*" );
-                if ( failed ) return;
+            match("/*"); if (failed) return ;
 
-                // C:\\dev\\jbossrules\\trunk\\drools-compiler\\src\\main\\resources\\org\\drools\\clp\\CLP.g:683:9: ( options {greedy=false; } : . )*
-                loop17 : do {
-                    int alt17 = 2;
-                    int LA17_0 = input.LA( 1 );
-                    if ( (LA17_0 == '*') ) {
-                        int LA17_1 = 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\\trunk4\\drools-clips\\src\\main\\resources\\org\\drools\\clp\\CLP.g:683: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\\trunk\\drools-compiler\\src\\main\\resources\\org\\drools\\clp\\CLP.g:683:35: .
-                        {
-                            matchAny();
-                            if ( 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 ( failed ) return;
 
-                if ( backtracking == 0 ) {
-                    _channel = HIDDEN;
                 }
+                else if ( ((LA17_0>='\u0000' && LA17_0<=')')||(LA17_0>='+' && LA17_0<='\uFFFE')) ) {
+                    alt17=1;
+                }
 
-            }
 
-            if ( backtracking == 0 ) {
+                switch (alt17) {
+            	case 1 :
+            	    // C:\\dev\\jbossrules\\trunk4\\drools-clips\\src\\main\\resources\\org\\drools\\clp\\CLP.g:683:35: .
+            	    {
+            	    matchAny(); if (failed) return ;
 
-                if ( token == null && 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 {
-            ruleNestingLevel--;
+
+            }
+
+            this.type = _type;
         }
+        finally {
+        }
     }
-
     // $ANTLR end MULTI_LINE_COMMENT
 
     // $ANTLR start NAME
-    public void mNAME() throws RecognitionException {
+    public final void mNAME() throws RecognitionException {
         try {
-            ruleNestingLevel++;
             int _type = NAME;
-            int _start = getCharIndex();
-            int _line = getLine();
-            int _charPosition = getCharPositionInLine();
-            int _channel = Token.DEFAULT_CHANNEL;
-            // C:\\dev\\jbossrules\\trunk\\drools-compiler\\src\\main\\resources\\org\\drools\\clp\\CLP.g:687:8: ( SYMBOL )
-            // C:\\dev\\jbossrules\\trunk\\drools-compiler\\src\\main\\resources\\org\\drools\\clp\\CLP.g:687:8: SYMBOL
+            // C:\\dev\\jbossrules\\trunk4\\drools-clips\\src\\main\\resources\\org\\drools\\clp\\CLP.g:687:8: ( SYMBOL )
+            // C:\\dev\\jbossrules\\trunk4\\drools-clips\\src\\main\\resources\\org\\drools\\clp\\CLP.g:687:8: SYMBOL
             {
-                mSYMBOL();
-                if ( failed ) return;
+            mSYMBOL(); if (failed) return ;
 
             }
 
-            if ( backtracking == 0 ) {
-
-                if ( token == null && ruleNestingLevel == 1 ) {
-                    emit( _type,
-                          _line,
-                          _charPosition,
-                          _channel,
-                          _start,
-                          getCharIndex() - 1 );
-                }
-
-            }
-        } finally {
-            ruleNestingLevel--;
+            this.type = _type;
         }
+        finally {
+        }
     }
-
     // $ANTLR end NAME
 
     // $ANTLR start SYMBOL
-    public void mSYMBOL() throws RecognitionException {
+    public final void mSYMBOL() throws RecognitionException {
         try {
-            ruleNestingLevel++;
-            // C:\\dev\\jbossrules\\trunk\\drools-compiler\\src\\main\\resources\\org\\drools\\clp\\CLP.g:691:4: ( ( (~ (' '|'\\t'|'\\n'|'\\r'|'\"'|'('|')'|';'|'&'|'|'|'~'|'?'|'$')) | ( '$' ~ ('?'|' '|'\\t'|'\\n'|'\\r'|'\"'|'('|')'|';'|'&'|'|'|'~'|'<')) ) (~ (' '|'\\t'|'\\n'|'\\r'|'\"'|'('|')'|';'|'&'|'|'|'~'|'<'|'?'))* )
-            // C:\\dev\\jbossrules\\trunk\\drools-compiler\\src\\main\\resources\\org\\drools\\clp\\CLP.g:691:4: ( (~ (' '|'\\t'|'\\n'|'\\r'|'\"'|'('|')'|';'|'&'|'|'|'~'|'?'|'$')) | ( '$' ~ ('?'|' '|'\\t'|'\\n'|'\\r'|'\"'|'('|')'|';'|'&'|'|'|'~'|'<')) ) (~ (' '|'\\t'|'\\n'|'\\r'|'\"'|'('|')'|';'|'&'|'|'|'~'|'<'|'?'))*
+            // C:\\dev\\jbossrules\\trunk4\\drools-clips\\src\\main\\resources\\org\\drools\\clp\\CLP.g:691:4: ( ( (~ ( ' ' | '\\t' | '\\n' | '\\r' | '\"' | '(' | ')' | ';' | '&' | '|' | '~' | '?' | '$' ) ) | ( '$' ~ ( '?' | ' ' | '\\t' | '\\n' | '\\r' | '\"' | '(' | ')' | ';' | '&' | '|' | '~' | '<' ) ) ) (~ ( ' ' | '\\t' | '\\n' | '\\r' | '\"' | '(' | ')' | ';' | '&' | '|' | '~' | '<' | '?' ) )* )
+            // C:\\dev\\jbossrules\\trunk4\\drools-clips\\src\\main\\resources\\org\\drools\\clp\\CLP.g:691:4: ( (~ ( ' ' | '\\t' | '\\n' | '\\r' | '\"' | '(' | ')' | ';' | '&' | '|' | '~' | '?' | '$' ) ) | ( '$' ~ ( '?' | ' ' | '\\t' | '\\n' | '\\r' | '\"' | '(' | ')' | ';' | '&' | '|' | '~' | '<' ) ) ) (~ ( ' ' | '\\t' | '\\n' | '\\r' | '\"' | '(' | ')' | ';' | '&' | '|' | '~' | '<' | '?' ) )*
             {
-                // C:\\dev\\jbossrules\\trunk\\drools-compiler\\src\\main\\resources\\org\\drools\\clp\\CLP.g:691:4: ( (~ (' '|'\\t'|'\\n'|'\\r'|'\"'|'('|')'|';'|'&'|'|'|'~'|'?'|'$')) | ( '$' ~ ('?'|' '|'\\t'|'\\n'|'\\r'|'\"'|'('|')'|';'|'&'|'|'|'~'|'<')) )
-                int alt18 = 2;
-                int LA18_0 = input.LA( 1 );
-                if ( ((LA18_0 >= '\u0000' && LA18_0 <= '\b') || (LA18_0 >= '\u000B' && LA18_0 <= '\f') || (LA18_0 >= '\u000E' && LA18_0 <= '\u001F') || LA18_0 == '!' || LA18_0 == '#' || LA18_0 == '%' || LA18_0 == '\''
-                      || (LA18_0 >= '*' && LA18_0 <= ':') || (LA18_0 >= '<' && LA18_0 <= '>') || (LA18_0 >= '@' && LA18_0 <= '{') || LA18_0 == '}' || (LA18_0 >= '\u007F' && LA18_0 <= '\uFFFE')) ) {
-                    alt18 = 1;
-                } else if ( (LA18_0 == '$') ) {
-                    alt18 = 2;
-                } else {
-                    if ( backtracking > 0 ) {
-                        failed = true;
-                        return;
-                    }
-                    NoViableAltException nvae = new NoViableAltException( "691:4: ( (~ (' '|'\\t'|'\\n'|'\\r'|'\"'|'('|')'|';'|'&'|'|'|'~'|'?'|'$')) | ( '$' ~ ('?'|' '|'\\t'|'\\n'|'\\r'|'\"'|'('|')'|';'|'&'|'|'|'~'|'<')) )",
-                                                                          18,
-                                                                          0,
-                                                                          input );
+            // C:\\dev\\jbossrules\\trunk4\\drools-clips\\src\\main\\resources\\org\\drools\\clp\\CLP.g:691:4: ( (~ ( ' ' | '\\t' | '\\n' | '\\r' | '\"' | '(' | ')' | ';' | '&' | '|' | '~' | '?' | '$' ) ) | ( '$' ~ ( '?' | ' ' | '\\t' | '\\n' | '\\r' | '\"' | '(' | ')' | ';' | '&' | '|' | '~' | '<' ) ) )
+            int alt18=2;
+            int LA18_0 = input.LA(1);
 
-                    throw nvae;
-                }
-                switch ( alt18 ) {
-                    case 1 :
-                        // C:\\dev\\jbossrules\\trunk\\drools-compiler\\src\\main\\resources\\org\\drools\\clp\\CLP.g:691:5: (~ (' '|'\\t'|'\\n'|'\\r'|'\"'|'('|')'|';'|'&'|'|'|'~'|'?'|'$'))
+            if ( ((LA18_0>='\u0000' && LA18_0<='\b')||(LA18_0>='\u000B' && LA18_0<='\f')||(LA18_0>='\u000E' && LA18_0<='\u001F')||LA18_0=='!'||LA18_0=='#'||LA18_0=='%'||LA18_0=='\''||(LA18_0>='*' && LA18_0<=':')||(LA18_0>='<' && LA18_0<='>')||(LA18_0>='@' && LA18_0<='{')||LA18_0=='}'||(LA18_0>='\u007F' && LA18_0<='\uFFFE')) ) {
+                alt18=1;
+            }
+            else if ( (LA18_0=='$') ) {
+                alt18=2;
+            }
+            else {
+                if (backtracking>0) {failed=true; return ;}
+                NoViableAltException nvae =
+                    new NoViableAltException("691:4: ( (~ ( ' ' | '\\t' | '\\n' | '\\r' | '\"' | '(' | ')' | ';' | '&' | '|' | '~' | '?' | '$' ) ) | ( '$' ~ ( '?' | ' ' | '\\t' | '\\n' | '\\r' | '\"' | '(' | ')' | ';' | '&' | '|' | '~' | '<' ) ) )", 18, 0, input);
+
+                throw nvae;
+            }
+            switch (alt18) {
+                case 1 :
+                    // C:\\dev\\jbossrules\\trunk4\\drools-clips\\src\\main\\resources\\org\\drools\\clp\\CLP.g:691:5: (~ ( ' ' | '\\t' | '\\n' | '\\r' | '\"' | '(' | ')' | ';' | '&' | '|' | '~' | '?' | '$' ) )
                     {
-                        // C:\\dev\\jbossrules\\trunk\\drools-compiler\\src\\main\\resources\\org\\drools\\clp\\CLP.g:691:5: (~ (' '|'\\t'|'\\n'|'\\r'|'\"'|'('|')'|';'|'&'|'|'|'~'|'?'|'$'))
-                        // C:\\dev\\jbossrules\\trunk\\drools-compiler\\src\\main\\resources\\org\\drools\\clp\\CLP.g:691:6: ~ (' '|'\\t'|'\\n'|'\\r'|'\"'|'('|')'|';'|'&'|'|'|'~'|'?'|'$')
-                        {
-                            if ( (input.LA( 1 ) >= '\u0000' && input.LA( 1 ) <= '\b') || (input.LA( 1 ) >= '\u000B' && input.LA( 1 ) <= '\f') || (input.LA( 1 ) >= '\u000E' && input.LA( 1 ) <= '\u001F') || 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 ) >= '\u007F' && 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;
-                            }
+                    // C:\\dev\\jbossrules\\trunk4\\drools-clips\\src\\main\\resources\\org\\drools\\clp\\CLP.g:691:5: (~ ( ' ' | '\\t' | '\\n' | '\\r' | '\"' | '(' | ')' | ';' | '&' | '|' | '~' | '?' | '$' ) )
+                    // C:\\dev\\jbossrules\\trunk4\\drools-clips\\src\\main\\resources\\org\\drools\\clp\\CLP.g:691:6: ~ ( ' ' | '\\t' | '\\n' | '\\r' | '\"' | '(' | ')' | ';' | '&' | '|' | '~' | '?' | '$' )
+                    {
+                    if ( (input.LA(1)>='\u0000' && input.LA(1)<='\b')||(input.LA(1)>='\u000B' && input.LA(1)<='\f')||(input.LA(1)>='\u000E' && input.LA(1)<='\u001F')||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)>='\u007F' && 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;
+                    }
 
-                        }
 
                     }
-                        break;
-                    case 2 :
-                        // C:\\dev\\jbossrules\\trunk\\drools-compiler\\src\\main\\resources\\org\\drools\\clp\\CLP.g:691:65: ( '$' ~ ('?'|' '|'\\t'|'\\n'|'\\r'|'\"'|'('|')'|';'|'&'|'|'|'~'|'<'))
+
+
+                    }
+                    break;
+                case 2 :
+                    // C:\\dev\\jbossrules\\trunk4\\drools-clips\\src\\main\\resources\\org\\drools\\clp\\CLP.g:691:65: ( '$' ~ ( '?' | ' ' | '\\t' | '\\n' | '\\r' | '\"' | '(' | ')' | ';' | '&' | '|' | '~' | '<' ) )
                     {
-                        // C:\\dev\\jbossrules\\trunk\\drools-compiler\\src\\main\\resources\\org\\drools\\clp\\CLP.g:691:65: ( '$' ~ ('?'|' '|'\\t'|'\\n'|'\\r'|'\"'|'('|')'|';'|'&'|'|'|'~'|'<'))
-                        // C:\\dev\\jbossrules\\trunk\\drools-compiler\\src\\main\\resources\\org\\drools\\clp\\CLP.g:691:66: '$' ~ ('?'|' '|'\\t'|'\\n'|'\\r'|'\"'|'('|')'|';'|'&'|'|'|'~'|'<')
-                        {
-                            match( '$' );
-                            if ( failed ) return;
-                            if ( (input.LA( 1 ) >= '\u0000' && input.LA( 1 ) <= '\b') || (input.LA( 1 ) >= '\u000B' && input.LA( 1 ) <= '\f') || (input.LA( 1 ) >= '\u000E' && input.LA( 1 ) <= '\u001F') || 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 ) >= '\u007F' && 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;
-                            }
+                    // C:\\dev\\jbossrules\\trunk4\\drools-clips\\src\\main\\resources\\org\\drools\\clp\\CLP.g:691:65: ( '$' ~ ( '?' | ' ' | '\\t' | '\\n' | '\\r' | '\"' | '(' | ')' | ';' | '&' | '|' | '~' | '<' ) )
+                    // C:\\dev\\jbossrules\\trunk4\\drools-clips\\src\\main\\resources\\org\\drools\\clp\\CLP.g:691:66: '$' ~ ( '?' | ' ' | '\\t' | '\\n' | '\\r' | '\"' | '(' | ')' | ';' | '&' | '|' | '~' | '<' )
+                    {
+                    match('$'); if (failed) return ;
+                    if ( (input.LA(1)>='\u0000' && input.LA(1)<='\b')||(input.LA(1)>='\u000B' && input.LA(1)<='\f')||(input.LA(1)>='\u000E' && input.LA(1)<='\u001F')||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)>='\u007F' && 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;
+                    }
 
-                        }
 
                     }
-                        break;
 
-                }
 
-                // C:\\dev\\jbossrules\\trunk\\drools-compiler\\src\\main\\resources\\org\\drools\\clp\\CLP.g:692:11: (~ (' '|'\\t'|'\\n'|'\\r'|'\"'|'('|')'|';'|'&'|'|'|'~'|'<'|'?'))*
-                loop19 : do {
-                    int alt19 = 2;
-                    int LA19_0 = input.LA( 1 );
-                    if ( ((LA19_0 >= '\u0000' && LA19_0 <= '\b') || (LA19_0 >= '\u000B' && LA19_0 <= '\f') || (LA19_0 >= '\u000E' && LA19_0 <= '\u001F') || LA19_0 == '!' || (LA19_0 >= '#' && LA19_0 <= '%') || LA19_0 == '\''
-                          || (LA19_0 >= '*' && LA19_0 <= ':') || (LA19_0 >= '=' && LA19_0 <= '>') || (LA19_0 >= '@' && LA19_0 <= '{') || LA19_0 == '}' || (LA19_0 >= '\u007F' && LA19_0 <= '\uFFFE')) ) {
-                        alt19 = 1;
                     }
+                    break;
 
-                    switch ( alt19 ) {
-                        case 1 :
-                            // C:\\dev\\jbossrules\\trunk\\drools-compiler\\src\\main\\resources\\org\\drools\\clp\\CLP.g:692:12: ~ (' '|'\\t'|'\\n'|'\\r'|'\"'|'('|')'|';'|'&'|'|'|'~'|'<'|'?')
-                        {
-                            if ( (input.LA( 1 ) >= '\u0000' && input.LA( 1 ) <= '\b') || (input.LA( 1 ) >= '\u000B' && input.LA( 1 ) <= '\f') || (input.LA( 1 ) >= '\u000E' && input.LA( 1 ) <= '\u001F') || 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 ) >= '\u007F' && 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;
-                            }
+            }
 
-                        }
-                            break;
+            // C:\\dev\\jbossrules\\trunk4\\drools-clips\\src\\main\\resources\\org\\drools\\clp\\CLP.g:692:11: (~ ( ' ' | '\\t' | '\\n' | '\\r' | '\"' | '(' | ')' | ';' | '&' | '|' | '~' | '<' | '?' ) )*
+            loop19:
+            do {
+                int alt19=2;
+                int LA19_0 = input.LA(1);
 
-                        default :
-                            break loop19;
-                    }
-                } while ( true );
+                if ( ((LA19_0>='\u0000' && LA19_0<='\b')||(LA19_0>='\u000B' && LA19_0<='\f')||(LA19_0>='\u000E' && LA19_0<='\u001F')||LA19_0=='!'||(LA19_0>='#' && LA19_0<='%')||LA19_0=='\''||(LA19_0>='*' && LA19_0<=':')||(LA19_0>='=' && LA19_0<='>')||(LA19_0>='@' && LA19_0<='{')||LA19_0=='}'||(LA19_0>='\u007F' && LA19_0<='\uFFFE')) ) {
+                    alt19=1;
+                }
 
+
+                switch (alt19) {
+            	case 1 :
+            	    // C:\\dev\\jbossrules\\trunk4\\drools-clips\\src\\main\\resources\\org\\drools\\clp\\CLP.g:692:12: ~ ( ' ' | '\\t' | '\\n' | '\\r' | '\"' | '(' | ')' | ';' | '&' | '|' | '~' | '<' | '?' )
+            	    {
+            	    if ( (input.LA(1)>='\u0000' && input.LA(1)<='\b')||(input.LA(1)>='\u000B' && input.LA(1)<='\f')||(input.LA(1)>='\u000E' && input.LA(1)<='\u001F')||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)>='\u007F' && 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;
+            	    }
+
+
+            	    }
+            	    break;
+
+            	default :
+            	    break loop19;
+                }
+            } while (true);
+
+
             }
 
-        } finally {
-            ruleNestingLevel--;
         }
+        finally {
+        }
     }
-
     // $ANTLR end SYMBOL
 
     public void mTokens() throws RecognitionException {
-        // C:\\dev\\jbossrules\\trunk\\drools-compiler\\src\\main\\resources\\org\\drools\\clp\\CLP.g:1:10: ( T41 | WS | DEFRULE | OR | AND | NOT | EXISTS | TEST | NULL | DECLARE | SALIENCE | INT | FLOAT | STRING | BOOL | VAR | SH_STYLE_SINGLE_LINE_COMMENT | C_STYLE_SINGLE_LINE_COMMENT | LEFT_PAREN | RIGHT_PAREN | LEFT_SQUARE | RIGHT_SQUARE | LEFT_CURLY | RIGHT_CURLY | TILDE | AMPERSAND | PIPE | ASSIGN_OP | COLON | EQUALS | MULTI_LINE_COMMENT | NAME )
-        int alt20 = 32;
-        alt20 = dfa20.predict( input );
-        switch ( alt20 ) {
+        // C:\\dev\\jbossrules\\trunk4\\drools-clips\\src\\main\\resources\\org\\drools\\clp\\CLP.g:1:10: ( T41 | WS | DEFRULE | OR | AND | NOT | EXISTS | TEST | NULL | DECLARE | SALIENCE | INT | FLOAT | STRING | BOOL | VAR | SH_STYLE_SINGLE_LINE_COMMENT | C_STYLE_SINGLE_LINE_COMMENT | LEFT_PAREN | RIGHT_PAREN | LEFT_SQUARE | RIGHT_SQUARE | LEFT_CURLY | RIGHT_CURLY | TILDE | AMPERSAND | PIPE | ASSIGN_OP | COLON | EQUALS | MULTI_LINE_COMMENT | NAME )
+        int alt20=32;
+        alt20 = dfa20.predict(input);
+        switch (alt20) {
             case 1 :
-                // C:\\dev\\jbossrules\\trunk\\drools-compiler\\src\\main\\resources\\org\\drools\\clp\\CLP.g:1:10: T41
-            {
-                mT41();
-                if ( failed ) return;
+                // C:\\dev\\jbossrules\\trunk4\\drools-clips\\src\\main\\resources\\org\\drools\\clp\\CLP.g:1:10: T41
+                {
+                mT41(); if (failed) return ;
 
-            }
+                }
                 break;
             case 2 :
-                // C:\\dev\\jbossrules\\trunk\\drools-compiler\\src\\main\\resources\\org\\drools\\clp\\CLP.g:1:14: WS
-            {
-                mWS();
-                if ( failed ) return;
+                // C:\\dev\\jbossrules\\trunk4\\drools-clips\\src\\main\\resources\\org\\drools\\clp\\CLP.g:1:14: WS
+                {
+                mWS(); if (failed) return ;
 
-            }
+                }
                 break;
             case 3 :
-                // C:\\dev\\jbossrules\\trunk\\drools-compiler\\src\\main\\resources\\org\\drools\\clp\\CLP.g:1:17: DEFRULE
-            {
-                mDEFRULE();
-                if ( failed ) return;
+                // C:\\dev\\jbossrules\\trunk4\\drools-clips\\src\\main\\resources\\org\\drools\\clp\\CLP.g:1:17: DEFRULE
+                {
+                mDEFRULE(); if (failed) return ;
 
-            }
+                }
                 break;
             case 4 :
-                // C:\\dev\\jbossrules\\trunk\\drools-compiler\\src\\main\\resources\\org\\drools\\clp\\CLP.g:1:25: OR
-            {
-                mOR();
-                if ( failed ) return;
+                // C:\\dev\\jbossrules\\trunk4\\drools-clips\\src\\main\\resources\\org\\drools\\clp\\CLP.g:1:25: OR
+                {
+                mOR(); if (failed) return ;
 
-            }
+                }
                 break;
             case 5 :
-                // C:\\dev\\jbossrules\\trunk\\drools-compiler\\src\\main\\resources\\org\\drools\\clp\\CLP.g:1:28: AND
-            {
-                mAND();
-                if ( failed ) return;
+                // C:\\dev\\jbossrules\\trunk4\\drools-clips\\src\\main\\resources\\org\\drools\\clp\\CLP.g:1:28: AND
+                {
+                mAND(); if (failed) return ;
 
-            }
+                }
                 break;
             case 6 :
-                // C:\\dev\\jbossrules\\trunk\\drools-compiler\\src\\main\\resources\\org\\drools\\clp\\CLP.g:1:32: NOT
-            {
-                mNOT();
-                if ( failed ) return;
+                // C:\\dev\\jbossrules\\trunk4\\drools-clips\\src\\main\\resources\\org\\drools\\clp\\CLP.g:1:32: NOT
+                {
+                mNOT(); if (failed) return ;
 
-            }
+                }
                 break;
             case 7 :
-                // C:\\dev\\jbossrules\\trunk\\drools-compiler\\src\\main\\resources\\org\\drools\\clp\\CLP.g:1:36: EXISTS
-            {
-                mEXISTS();
-                if ( failed ) return;
+                // C:\\dev\\jbossrules\\trunk4\\drools-clips\\src\\main\\resources\\org\\drools\\clp\\CLP.g:1:36: EXISTS
+                {
+                mEXISTS(); if (failed) return ;
 
-            }
+                }
                 break;
             case 8 :
-                // C:\\dev\\jbossrules\\trunk\\drools-compiler\\src\\main\\resources\\org\\drools\\clp\\CLP.g:1:43: TEST
-            {
-                mTEST();
-                if ( failed ) return;
+                // C:\\dev\\jbossrules\\trunk4\\drools-clips\\src\\main\\resources\\org\\drools\\clp\\CLP.g:1:43: TEST
+                {
+                mTEST(); if (failed) return ;
 
-            }
+                }
                 break;
             case 9 :
-                // C:\\dev\\jbossrules\\trunk\\drools-compiler\\src\\main\\resources\\org\\drools\\clp\\CLP.g:1:48: NULL
-            {
-                mNULL();
-                if ( failed ) return;
+                // C:\\dev\\jbossrules\\trunk4\\drools-clips\\src\\main\\resources\\org\\drools\\clp\\CLP.g:1:48: NULL
+                {
+                mNULL(); if (failed) return ;
 
-            }
+                }
                 break;
             case 10 :
-                // C:\\dev\\jbossrules\\trunk\\drools-compiler\\src\\main\\resources\\org\\drools\\clp\\CLP.g:1:53: DECLARE
-            {
-                mDECLARE();
-                if ( failed ) return;
+                // C:\\dev\\jbossrules\\trunk4\\drools-clips\\src\\main\\resources\\org\\drools\\clp\\CLP.g:1:53: DECLARE
+                {
+                mDECLARE(); if (failed) return ;
 
-            }
+                }
                 break;
             case 11 :
-                // C:\\dev\\jbossrules\\trunk\\drools-compiler\\src\\main\\resources\\org\\drools\\clp\\CLP.g:1:61: SALIENCE
-            {
-                mSALIENCE();
-                if ( failed ) return;
+                // C:\\dev\\jbossrules\\trunk4\\drools-clips\\src\\main\\resources\\org\\drools\\clp\\CLP.g:1:61: SALIENCE
+                {
+                mSALIENCE(); if (failed) return ;
 
-            }
+                }
                 break;
             case 12 :
-                // C:\\dev\\jbossrules\\trunk\\drools-compiler\\src\\main\\resources\\org\\drools\\clp\\CLP.g:1:70: INT
-            {
-                mINT();
-                if ( failed ) return;
+                // C:\\dev\\jbossrules\\trunk4\\drools-clips\\src\\main\\resources\\org\\drools\\clp\\CLP.g:1:70: INT
+                {
+                mINT(); if (failed) return ;
 
-            }
+                }
                 break;
             case 13 :
-                // C:\\dev\\jbossrules\\trunk\\drools-compiler\\src\\main\\resources\\org\\drools\\clp\\CLP.g:1:74: FLOAT
-            {
-                mFLOAT();
-                if ( failed ) return;
+                // C:\\dev\\jbossrules\\trunk4\\drools-clips\\src\\main\\resources\\org\\drools\\clp\\CLP.g:1:74: FLOAT
+                {
+                mFLOAT(); if (failed) return ;
 
-            }
+                }
                 break;
             case 14 :
-                // C:\\dev\\jbossrules\\trunk\\drools-compiler\\src\\main\\resources\\org\\drools\\clp\\CLP.g:1:80: STRING
-            {
-                mSTRING();
-                if ( failed ) return;
+                // C:\\dev\\jbossrules\\trunk4\\drools-clips\\src\\main\\resources\\org\\drools\\clp\\CLP.g:1:80: STRING
+                {
+                mSTRING(); if (failed) return ;
 
-            }
+                }
                 break;
             case 15 :
-                // C:\\dev\\jbossrules\\trunk\\drools-compiler\\src\\main\\resources\\org\\drools\\clp\\CLP.g:1:87: BOOL
-            {
-                mBOOL();
-                if ( failed ) return;
+                // C:\\dev\\jbossrules\\trunk4\\drools-clips\\src\\main\\resources\\org\\drools\\clp\\CLP.g:1:87: BOOL
+                {
+                mBOOL(); if (failed) return ;
 
-            }
+                }
                 break;
             case 16 :
-                // C:\\dev\\jbossrules\\trunk\\drools-compiler\\src\\main\\resources\\org\\drools\\clp\\CLP.g:1:92: VAR
-            {
-                mVAR();
-                if ( failed ) return;
+                // C:\\dev\\jbossrules\\trunk4\\drools-clips\\src\\main\\resources\\org\\drools\\clp\\CLP.g:1:92: VAR
+                {
+                mVAR(); if (failed) return ;
 
-            }
+                }
                 break;
             case 17 :
-                // C:\\dev\\jbossrules\\trunk\\drools-compiler\\src\\main\\resources\\org\\drools\\clp\\CLP.g:1:96: SH_STYLE_SINGLE_LINE_COMMENT
-            {
-                mSH_STYLE_SINGLE_LINE_COMMENT();
-                if ( failed ) return;
+                // C:\\dev\\jbossrules\\trunk4\\drools-clips\\src\\main\\resources\\org\\drools\\clp\\CLP.g:1:96: SH_STYLE_SINGLE_LINE_COMMENT
+                {
+                mSH_STYLE_SINGLE_LINE_COMMENT(); if (failed) return ;
 
-            }
+                }
                 break;
             case 18 :
-                // C:\\dev\\jbossrules\\trunk\\drools-compiler\\src\\main\\resources\\org\\drools\\clp\\CLP.g:1:125: C_STYLE_SINGLE_LINE_COMMENT
-            {
-                mC_STYLE_SINGLE_LINE_COMMENT();
-                if ( failed ) return;
+                // C:\\dev\\jbossrules\\trunk4\\drools-clips\\src\\main\\resources\\org\\drools\\clp\\CLP.g:1:125: C_STYLE_SINGLE_LINE_COMMENT
+                {
+                mC_STYLE_SINGLE_LINE_COMMENT(); if (failed) return ;
 
-            }
+                }
                 break;
             case 19 :
-                // C:\\dev\\jbossrules\\trunk\\drools-compiler\\src\\main\\resources\\org\\drools\\clp\\CLP.g:1:153: LEFT_PAREN
-            {
-                mLEFT_PAREN();
-                if ( failed ) return;
+                // C:\\dev\\jbossrules\\trunk4\\drools-clips\\src\\main\\resources\\org\\drools\\clp\\CLP.g:1:153: LEFT_PAREN
+                {
+                mLEFT_PAREN(); if (failed) return ;
 
-            }
+                }
                 break;
             case 20 :
-                // C:\\dev\\jbossrules\\trunk\\drools-compiler\\src\\main\\resources\\org\\drools\\clp\\CLP.g:1:164: RIGHT_PAREN
-            {
-                mRIGHT_PAREN();
-                if ( failed ) return;
+                // C:\\dev\\jbossrules\\trunk4\\drools-clips\\src\\main\\resources\\org\\drools\\clp\\CLP.g:1:164: RIGHT_PAREN
+                {
+                mRIGHT_PAREN(); if (failed) return ;
 
-            }
+                }
                 break;
             case 21 :
-                // C:\\dev\\jbossrules\\trunk\\drools-compiler\\src\\main\\resources\\org\\drools\\clp\\CLP.g:1:176: LEFT_SQUARE
-            {
-                mLEFT_SQUARE();
-                if ( failed ) return;
+                // C:\\dev\\jbossrules\\trunk4\\drools-clips\\src\\main\\resources\\org\\drools\\clp\\CLP.g:1:176: LEFT_SQUARE
+                {
+                mLEFT_SQUARE(); if (failed) return ;
 
-            }
+                }
                 break;
             case 22 :
-                // C:\\dev\\jbossrules\\trunk\\drools-compiler\\src\\main\\resources\\org\\drools\\clp\\CLP.g:1:188: RIGHT_SQUARE
-            {
-                mRIGHT_SQUARE();
-                if ( failed ) return;
+                // C:\\dev\\jbossrules\\trunk4\\drools-clips\\src\\main\\resources\\org\\drools\\clp\\CLP.g:1:188: RIGHT_SQUARE
+                {
+                mRIGHT_SQUARE(); if (failed) return ;
 
-            }
+                }
                 break;
             case 23 :
-                // C:\\dev\\jbossrules\\trunk\\drools-compiler\\src\\main\\resources\\org\\drools\\clp\\CLP.g:1:201: LEFT_CURLY
-            {
-                mLEFT_CURLY();
-                if ( failed ) return;
+                // C:\\dev\\jbossrules\\trunk4\\drools-clips\\src\\main\\resources\\org\\drools\\clp\\CLP.g:1:201: LEFT_CURLY
+                {
+                mLEFT_CURLY(); if (failed) return ;
 
-            }
+                }
                 break;
             case 24 :
-                // C:\\dev\\jbossrules\\trunk\\drools-compiler\\src\\main\\resources\\org\\drools\\clp\\CLP.g:1:212: RIGHT_CURLY
-            {
-                mRIGHT_CURLY();
-                if ( failed ) return;
+                // C:\\dev\\jbossrules\\trunk4\\drools-clips\\src\\main\\resources\\org\\drools\\clp\\CLP.g:1:212: RIGHT_CURLY
+                {
+                mRIGHT_CURLY(); if (failed) return ;
 
-            }
+                }
                 break;
             case 25 :
-                // C:\\dev\\jbossrules\\trunk\\drools-compiler\\src\\main\\resources\\org\\drools\\clp\\CLP.g:1:224: TILDE
-            {
-                mTILDE();
-                if ( failed ) return;
+                // C:\\dev\\jbossrules\\trunk4\\drools-clips\\src\\main\\resources\\org\\drools\\clp\\CLP.g:1:224: TILDE
+                {
+                mTILDE(); if (failed) return ;
 
-            }
+                }
                 break;
             case 26 :
-                // C:\\dev\\jbossrules\\trunk\\drools-compiler\\src\\main\\resources\\org\\drools\\clp\\CLP.g:1:230: AMPERSAND
-            {
-                mAMPERSAND();
-                if ( failed ) return;
+                // C:\\dev\\jbossrules\\trunk4\\drools-clips\\src\\main\\resources\\org\\drools\\clp\\CLP.g:1:230: AMPERSAND
+                {
+                mAMPERSAND(); if (failed) return ;
 
-            }
+                }
                 break;
             case 27 :
-                // C:\\dev\\jbossrules\\trunk\\drools-compiler\\src\\main\\resources\\org\\drools\\clp\\CLP.g:1:240: PIPE
-            {
-                mPIPE();
-                if ( failed ) return;
+                // C:\\dev\\jbossrules\\trunk4\\drools-clips\\src\\main\\resources\\org\\drools\\clp\\CLP.g:1:240: PIPE
+                {
+                mPIPE(); if (failed) return ;
 
-            }
+                }
                 break;
             case 28 :
-                // C:\\dev\\jbossrules\\trunk\\drools-compiler\\src\\main\\resources\\org\\drools\\clp\\CLP.g:1:245: ASSIGN_OP
-            {
-                mASSIGN_OP();
-                if ( failed ) return;
+                // C:\\dev\\jbossrules\\trunk4\\drools-clips\\src\\main\\resources\\org\\drools\\clp\\CLP.g:1:245: ASSIGN_OP
+                {
+                mASSIGN_OP(); if (failed) return ;
 
-            }
+                }
                 break;
             case 29 :
-                // C:\\dev\\jbossrules\\trunk\\drools-compiler\\src\\main\\resources\\org\\drools\\clp\\CLP.g:1:255: COLON
-            {
-                mCOLON();
-                if ( failed ) return;
+                // C:\\dev\\jbossrules\\trunk4\\drools-clips\\src\\main\\resources\\org\\drools\\clp\\CLP.g:1:255: COLON
+                {
+                mCOLON(); if (failed) return ;
 
-            }
+                }
                 break;
             case 30 :
-                // C:\\dev\\jbossrules\\trunk\\drools-compiler\\src\\main\\resources\\org\\drools\\clp\\CLP.g:1:261: EQUALS
-            {
-                mEQUALS();
-                if ( failed ) return;
+                // C:\\dev\\jbossrules\\trunk4\\drools-clips\\src\\main\\resources\\org\\drools\\clp\\CLP.g:1:261: EQUALS
+                {
+                mEQUALS(); if (failed) return ;
 
-            }
+                }
                 break;
             case 31 :
-                // C:\\dev\\jbossrules\\trunk\\drools-compiler\\src\\main\\resources\\org\\drools\\clp\\CLP.g:1:268: MULTI_LINE_COMMENT
-            {
-                mMULTI_LINE_COMMENT();
-                if ( failed ) return;
+                // C:\\dev\\jbossrules\\trunk4\\drools-clips\\src\\main\\resources\\org\\drools\\clp\\CLP.g:1:268: MULTI_LINE_COMMENT
+                {
+                mMULTI_LINE_COMMENT(); if (failed) return ;
 
-            }
+                }
                 break;
             case 32 :
-                // C:\\dev\\jbossrules\\trunk\\drools-compiler\\src\\main\\resources\\org\\drools\\clp\\CLP.g:1:287: NAME
-            {
-                mNAME();
-                if ( failed ) return;
+                // C:\\dev\\jbossrules\\trunk4\\drools-clips\\src\\main\\resources\\org\\drools\\clp\\CLP.g:1:287: NAME
+                {
+                mNAME(); if (failed) return ;
 
-            }
+                }
                 break;
 
         }
 
     }
 
-    protected DFA20              dfa20            = new DFA20( this );
-    public static final String   DFA20_eotS       = "\1\uffff\1\40\1\uffff\1\2\10\36\1\54\1\uffff\2\36\1\uffff\2\36\2" + "\uffff\1\65\1\66\1\67\1\70\3\uffff\1\36\1\72\1\uffff\1\73\1\uffff"
-                                                    + "\1\36\1\76\7\36\1\54\1\36\1\uffff\2\36\1\15\1\36\1\uffff\3\36\4" + "\uffff\1\121\2\uffff\2\36\1\uffff\1\124\1\125\5\36\1\133\7\36\1"
-                                                    + "\uffff\1\36\2\uffff\2\36\2\uffff\1\143\1\36\1\145\1\146\1\36\1\uffff" + "\4\36\1\116\2\36\1\uffff\1\36\2\uffff\3\36\1\145\2\36\1\162\2\36" + "\1\165\1\166\1\uffff\2\36\2\uffff\1\170\1\uffff";
-    public static final String   DFA20_eofS       = "\171\uffff";
-    public static final String   DFA20_minS       = "\2\0\1\uffff\1\0\1\145\1\162\1\156\1\157\1\170\1\145\1\141\1\60" + "\1\0\1\uffff\1\0\1\141\1\uffff\1\0\1\52\2\uffff\4\0\3\uffff\1\55"
-                                                    + "\1\0\1\uffff\1\0\1\uffff\1\143\1\0\1\144\1\164\1\154\1\151\1\165" + "\1\163\1\154\1\0\1\60\1\uffff\1\42\2\0\1\154\1\uffff\3\0\4\uffff"
-                                                    + "\1\0\2\uffff\1\154\1\162\1\uffff\2\0\1\154\1\163\1\145\1\164\1\151" + "\2\0\1\60\2\0\1\163\2\0\1\uffff\1\0\2\uffff\1\141\1\165\2\uffff"
-                                                    + "\1\0\1\164\2\0\1\145\1\uffff\1\60\2\0\1\145\1\0\1\162\1\154\1\uffff" + "\1\163\2\uffff\1\156\1\60\2\0\2\145\1\0\1\143\1\60\2\0\1\uffff\1" + "\145\1\0\2\uffff\1\0\1\uffff";
-    public static final String   DFA20_maxS       = "\2\ufffe\1\uffff\1\ufffe\1\145\1\162\1\156\1\165\1\170\1\162\1\141" + "\1\71\1\ufffe\1\uffff\1\ufffe\1\141\1\uffff\1\ufffe\1\57\2\uffff"
-                                                    + "\4\ufffe\3\uffff\1\55\1\ufffe\1\uffff\1\ufffe\1\uffff\1\146\1\ufffe" + "\1\144\1\164\1\154\1\151\1\165\1\163\1\154\1\ufffe\1\71\1\uffff"
-                                                    + "\1\165\2\ufffe\1\154\1\uffff\3\ufffe\4\uffff\1\ufffe\2\uffff\1\154" + "\1\162\1\uffff\2\ufffe\1\154\1\163\1\145\1\164\1\151\2\ufffe\1\146"
-                                                    + "\2\ufffe\1\163\2\ufffe\1\uffff\1\ufffe\2\uffff\1\141\1\165\2\uffff" + "\1\ufffe\1\164\2\ufffe\1\145\1\uffff\1\146\2\ufffe\1\145\1\ufffe"
-                                                    + "\1\162\1\154\1\uffff\1\163\2\uffff\1\156\1\146\2\ufffe\2\145\1\ufffe" + "\1\143\1\146\2\ufffe\1\uffff\1\145\1\ufffe\2\uffff\1\ufffe\1\uffff";
-    public static final String   DFA20_acceptS    = "\2\uffff\1\2\12\uffff\1\16\2\uffff\1\20\2\uffff\1\23\1\24\4\uffff" + "\1\31\1\32\1\33\2\uffff\1\40\1\uffff\1\36\13\uffff\1\14\4\uffff"
-                                                    + "\1\21\3\uffff\1\25\1\26\1\27\1\30\1\uffff\1\35\1\1\2\uffff\1\4\17" + "\uffff\1\37\1\uffff\1\22\1\34\2\uffff\1\5\1\6\5\uffff\1\15\7\uffff"
-                                                    + "\1\11\1\uffff\1\17\1\10\13\uffff\1\7\2\uffff\1\12\1\3\1\uffff\1" + "\13";
-    public static final String   DFA20_specialS   = "\171\uffff}>";
-    public static final String[] DFA20_transition = {
-            "\11\36\2\2\1\36\1\3\1\2\22\36\1\2\1\36\1\15\1\21\2\36\1\32\1\16" + "\1\23\1\24\3\36\1\13\1\36\1\22\12\14\1\35\1\uffff\1\34\1\1\1\36" + "\1\20\33\36\1\25\1\36\1\26\3\36\1\6\2\36\1\4\1\10\1\17\7\36\1\7"
-                    + "\1\5\3\36\1\12\1\11\6\36\1\27\1\33\1\30\1\31\uff80\36", "\11\36\2\uffff\2\36\1\uffff\22\36\1\uffff\1\36\1\uffff\3\36\1\uffff" + "\1\36\2\uffff\21\36\2\uffff\1\36\1\37\1\uffff\74\36\1\uffff\1\36" + "\1\uffff\uff80\36", "",
-            "\11\36\2\uffff\2\36\1\uffff\22\36\1\uffff\1\36\1\uffff\3\36\1\uffff" + "\1\36\2\uffff\21\36\2\uffff\2\36\1\uffff\74\36\1\uffff\1\36\1\uffff" + "\uff80\36", "\1\41", "\1\42", "\1\43", "\1\44\5\uffff\1\45", "\1\46", "\1\50\14\uffff\1\47",
-            "\1\51", "\12\52", "\11\36\2\uffff\2\36\1\uffff\22\36\1\uffff\1\36\1\uffff\3\36\1\uffff" + "\1\36\2\uffff\4\36\1\53\1\36\12\52\1\36\2\uffff\2\36\1\uffff\74" + "\36\1\uffff\1\36\1\uffff\uff80\36", "",
-            "\11\56\2\15\2\56\1\15\22\56\1\15\1\56\1\15\3\56\1\15\1\57\2\15\21" + "\56\2\15\2\56\1\15\34\56\1\55\37\56\1\15\1\56\1\15\uff80\56", "\1\60", "",
-            "\11\62\2\61\2\62\1\61\22\62\1\61\1\62\1\61\3\62\1\61\1\62\2\61\21" + "\62\2\61\2\62\1\61\74\62\1\61\1\62\1\61\uff80\62", "\1\63\4\uffff\1\64", "", "",
-            "\11\36\2\uffff\2\36\1\uffff\22\36\1\uffff\1\36\1\uffff\3\36\1\uffff" + "\1\36\2\uffff\21\36\2\uffff\2\36\1\uffff\74\36\1\uffff\1\36\1\uffff" + "\uff80\36",
-            "\11\36\2\uffff\2\36\1\uffff\22\36\1\uffff\1\36\1\uffff\3\36\1\uffff" + "\1\36\2\uffff\21\36\2\uffff\2\36\1\uffff\74\36\1\uffff\1\36\1\uffff" + "\uff80\36",
-            "\11\36\2\uffff\2\36\1\uffff\22\36\1\uffff\1\36\1\uffff\3\36\1\uffff" + "\1\36\2\uffff\21\36\2\uffff\2\36\1\uffff\74\36\1\uffff\1\36\1\uffff" + "\uff80\36",
-            "\11\36\2\uffff\2\36\1\uffff\22\36\1\uffff\1\36\1\uffff\3\36\1\uffff" + "\1\36\2\uffff\21\36\2\uffff\2\36\1\uffff\74\36\1\uffff\1\36\1\uffff" + "\uff80\36", "", "", "", "\1\71",
-            "\11\36\2\uffff\2\36\1\uffff\22\36\1\uffff\1\36\1\uffff\3\36\1\uffff" + "\1\36\2\uffff\21\36\2\uffff\2\36\1\uffff\74\36\1\uffff\1\36\1\uffff" + "\uff80\36", "",
-            "\11\36\2\uffff\2\36\1\uffff\22\36\1\uffff\1\36\1\uffff\3\36\1\uffff" + "\1\36\2\uffff\21\36\2\uffff\2\36\1\uffff\74\36\1\uffff\1\36\1\uffff" + "\uff80\36", "", "\1\74\2\uffff\1\75",
-            "\11\36\2\uffff\2\36\1\uffff\22\36\1\uffff\1\36\1\uffff\3\36\1\uffff" + "\1\36\2\uffff\21\36\2\uffff\2\36\1\uffff\74\36\1\uffff\1\36\1\uffff" + "\uff80\36", "\1\77", "\1\100", "\1\101", "\1\102", "\1\103", "\1\104", "\1\105",
-            "\11\36\2\uffff\2\36\1\uffff\22\36\1\uffff\1\36\1\uffff\3\36\1\uffff" + "\1\36\2\uffff\4\36\1\53\1\36\12\52\1\36\2\uffff\2\36\1\uffff\74" + "\36\1\uffff\1\36\1\uffff\uff80\36", "\12\106", "",
-            "\1\15\4\uffff\1\107\10\uffff\4\111\4\112\44\uffff\1\107\5\uffff" + "\1\107\3\uffff\1\107\7\uffff\1\107\3\uffff\1\107\1\uffff\1\107\1" + "\110",
-            "\11\56\2\15\2\56\1\15\22\56\1\15\1\56\1\15\3\56\1\15\1\57\2\15\21" + "\56\2\15\2\56\1\15\34\56\1\55\37\56\1\15\1\56\1\15\uff80\56",
-            "\11\36\2\uffff\2\36\1\uffff\22\36\1\uffff\1\36\1\uffff\3\36\1\uffff" + "\1\36\2\uffff\21\36\2\uffff\2\36\1\uffff\74\36\1\uffff\1\36\1\uffff" + "\uff80\36", "\1\113", "",
-            "\11\62\2\61\2\62\1\61\22\62\1\61\1\62\1\61\3\62\1\61\1\62\2\61\21" + "\62\2\61\2\62\1\61\74\62\1\61\1\62\1\61\uff80\62",
-            "\11\115\2\116\2\115\1\116\22\115\1\116\1\115\1\116\3\115\1\116\1" + "\115\2\116\1\114\20\115\2\116\2\115\1\116\74\115\1\116\1\115\1\116" + "\uff80\115",
-            "\11\117\2\120\2\117\1\120\22\117\1\120\1\117\1\120\3\117\1\120\1" + "\117\2\120\21\117\2\120\2\117\1\120\74\117\1\120\1\117\1\120\uff80" + "\117", "", "", "", "",
-            "\11\36\2\uffff\2\36\1\uffff\22\36\1\uffff\1\36\1\uffff\3\36\1\uffff" + "\1\36\2\uffff\21\36\2\uffff\2\36\1\uffff\74\36\1\uffff\1\36\1\uffff" + "\uff80\36", "", "", "\1\122", "\1\123", "",
-            "\11\36\2\uffff\2\36\1\uffff\22\36\1\uffff\1\36\1\uffff\3\36\1\uffff" + "\1\36\2\uffff\21\36\2\uffff\2\36\1\uffff\74\36\1\uffff\1\36\1\uffff" + "\uff80\36",
-            "\11\36\2\uffff\2\36\1\uffff\22\36\1\uffff\1\36\1\uffff\3\36\1\uffff" + "\1\36\2\uffff\21\36\2\uffff\2\36\1\uffff\74\36\1\uffff\1\36\1\uffff" + "\uff80\36", "\1\126", "\1\127", "\1\130", "\1\131", "\1\132",
-            "\11\36\2\uffff\2\36\1\uffff\22\36\1\uffff\1\36\1\uffff\3\36\1\uffff" + "\1\36\2\uffff\6\36\12\106\1\36\2\uffff\2\36\1\uffff\74\36\1\uffff" + "\1\36\1\uffff\uff80\36",
-            "\11\56\2\15\2\56\1\15\22\56\1\15\1\56\1\15\3\56\1\15\1\57\2\15\21" + "\56\2\15\2\56\1\15\34\56\1\55\37\56\1\15\1\56\1\15\uff80\56", "\12\134\7\uffff\6\134\32\uffff\6\134",
-            "\11\56\2\15\2\56\1\15\22\56\1\15\1\56\1\15\3\56\1\15\1\57\2\15\6" + "\56\10\135\3\56\2\15\2\56\1\15\34\56\1\55\37\56\1\15\1\56\1\15\uff80" + "\56",
-            "\11\56\2\15\2\56\1\15\22\56\1\15\1\56\1\15\3\56\1\15\1\57\2\15\6" + "\56\10\136\3\56\2\15\2\56\1\15\34\56\1\55\37\56\1\15\1\56\1\15\uff80" + "\56", "\1\137",
-            "\11\115\2\116\2\115\1\116\22\115\1\116\1\115\1\116\3\115\1\116\1" + "\115\2\116\1\114\4\115\1\140\13\115\2\116\2\115\1\116\74\115\1\116" + "\1\115\1\116\uff80\115",
-            "\11\115\2\116\2\115\1\116\22\115\1\116\1\115\1\116\3\115\1\116\1" + "\115\2\116\1\114\20\115\2\116\2\115\1\116\74\115\1\116\1\115\1\116" + "\uff80\115", "",
-            "\11\117\2\120\2\117\1\120\22\117\1\120\1\117\1\120\3\117\1\120\1" + "\117\2\120\21\117\2\120\2\117\1\120\74\117\1\120\1\117\1\120\uff80" + "\117", "", "", "\1\141", "\1\142", "", "",
-            "\11\36\2\uffff\2\36\1\uffff\22\36\1\uffff\1\36\1\uffff\3\36\1\uffff" + "\1\36\2\uffff\21\36\2\uffff\2\36\1\uffff\74\36\1\uffff\1\36\1\uffff" + "\uff80\36", "\1\144",
-            "\11\36\2\uffff\2\36\1\uffff\22\36\1\uffff\1\36\1\uffff\3\36\1\uffff" + "\1\36\2\uffff\21\36\2\uffff\2\36\1\uffff\74\36\1\uffff\1\36\1\uffff" + "\uff80\36",
-            "\11\36\2\uffff\2\36\1\uffff\22\36\1\uffff\1\36\1\uffff\3\36\1\uffff" + "\1\36\2\uffff\21\36\2\uffff\2\36\1\uffff\74\36\1\uffff\1\36\1\uffff" + "\uff80\36", "\1\147", "", "\12\150\7\uffff\6\150\32\uffff\6\150",
-            "\11\56\2\15\2\56\1\15\22\56\1\15\1\56\1\15\3\56\1\15\1\57\2\15\6" + "\56\10\151\3\56\2\15\2\56\1\15\34\56\1\55\37\56\1\15\1\56\1\15\uff80" + "\56",
-            "\11\56\2\15\2\56\1\15\22\56\1\15\1\56\1\15\3\56\1\15\1\57\2\15\21" + "\56\2\15\2\56\1\15\34\56\1\55\37\56\1\15\1\56\1\15\uff80\56", "\1\152",
-            "\11\115\2\uffff\2\115\1\uffff\22\115\1\uffff\1\115\1\uffff\3\115" + "\1\uffff\1\115\2\uffff\1\114\20\115\2\uffff\2\115\1\uffff\74\115" + "\1\uffff\1\115\1\uffff\uff80\115", "\1\153", "\1\154", "", "\1\155", "", "", "\1\156",
-            "\12\157\7\uffff\6\157\32\uffff\6\157", "\11\56\2\15\2\56\1\15\22\56\1\15\1\56\1\15\3\56\1\15\1\57\2\15\21" + "\56\2\15\2\56\1\15\34\56\1\55\37\56\1\15\1\56\1\15\uff80\56",
-            "\11\36\2\uffff\2\36\1\uffff\22\36\1\uffff\1\36\1\uffff\3\36\1\uffff" + "\1\36\2\uffff\21\36\2\uffff\2\36\1\uffff\74\36\1\uffff\1\36\1\uffff" + "\uff80\36", "\1\160", "\1\161",
-            "\11\36\2\uffff\2\36\1\uffff\22\36\1\uffff\1\36\1\uffff\3\36\1\uffff" + "\1\36\2\uffff\21\36\2\uffff\2\36\1\uffff\74\36\1\uffff\1\36\1\uffff" + "\uff80\36", "\1\163", "\12\164\7\uffff\6\164\32\uffff\6\164",
-            "\11\36\2\uffff\2\36\1\uffff\22\36\1\uffff\1\36\1\uffff\3\36\1\uffff" + "\1\36\2\uffff\21\36\2\uffff\2\36\1\uffff\74\36\1\uffff\1\36\1\uffff" + "\uff80\36",
-            "\11\36\2\uffff\2\36\1\uffff\22\36\1\uffff\1\36\1\uffff\3\36\1\uffff" + "\1\36\2\uffff\21\36\2\uffff\2\36\1\uffff\74\36\1\uffff\1\36\1\uffff" + "\uff80\36", "", "\1\167",
-            "\11\56\2\15\2\56\1\15\22\56\1\15\1\56\1\15\3\56\1\15\1\57\2\15\21" + "\56\2\15\2\56\1\15\34\56\1\55\37\56\1\15\1\56\1\15\uff80\56", "", "",
-            "\11\36\2\uffff\2\36\1\uffff\22\36\1\uffff\1\36\1\uffff\3\36\1\uffff" + "\1\36\2\uffff\21\36\2\uffff\2\36\1\uffff\74\36\1\uffff\1\36\1\uffff" + "\uff80\36", ""};
+    // $ANTLR start synpred1
+    public final void synpred1_fragment() throws RecognitionException {   
+        // C:\\dev\\jbossrules\\trunk4\\drools-clips\\src\\main\\resources\\org\\drools\\clp\\CLP.g:579:14: ( '\\r\\n' )
+        // C:\\dev\\jbossrules\\trunk4\\drools-clips\\src\\main\\resources\\org\\drools\\clp\\CLP.g:579: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 DFA20 dfa20 = new DFA20(this);
+    static final String DFA20_eotS =
+        "\1\uffff\1\40\1\uffff\1\2\10\36\1\54\1\uffff\2\36\1\uffff\2\36\2"+
+        "\uffff\1\65\1\66\1\67\1\70\3\uffff\1\36\1\72\1\uffff\1\73\1\uffff"+
+        "\1\36\1\76\7\36\1\54\1\36\1\uffff\2\36\1\15\2\36\1\uffff\2\36\4"+
+        "\uffff\1\121\2\uffff\2\36\1\uffff\1\124\1\125\5\36\1\133\6\36\1"+
+        "\uffff\1\36\1\uffff\1\36\1\uffff\2\36\2\uffff\1\143\1\36\1\145\1"+
+        "\146\1\36\1\uffff\4\36\1\117\2\36\1\uffff\1\36\2\uffff\3\36\1\146"+
+        "\2\36\1\162\2\36\1\165\1\166\1\uffff\2\36\2\uffff\1\170\1\uffff";
+    static final String DFA20_eofS =
+        "\171\uffff";
+    static final String DFA20_minS =
+        "\2\0\1\uffff\1\0\1\145\1\162\1\156\1\157\1\170\1\145\1\141\1\60"+
+        "\1\0\1\uffff\1\0\1\141\1\uffff\1\0\1\52\2\uffff\4\0\3\uffff\1\55"+
+        "\1\0\1\uffff\1\0\1\uffff\1\143\1\0\1\144\1\164\1\154\1\151\1\163"+
+        "\1\165\1\154\1\0\1\60\1\uffff\1\42\2\0\1\154\1\0\1\uffff\2\0\4\uffff"+
+        "\1\0\2\uffff\1\154\1\162\1\uffff\2\0\1\154\1\163\1\164\1\145\1\151"+
+        "\2\0\1\60\2\0\1\163\1\0\1\uffff\1\0\1\uffff\1\0\1\uffff\1\141\1"+
+        "\165\2\uffff\1\0\1\164\2\0\1\145\1\uffff\1\60\2\0\1\145\1\0\1\162"+
+        "\1\154\1\uffff\1\163\2\uffff\1\156\1\60\2\0\2\145\1\0\1\143\1\60"+
+        "\2\0\1\uffff\1\145\1\0\2\uffff\1\0\1\uffff";
+    static final String DFA20_maxS =
+        "\2\ufffe\1\uffff\1\ufffe\1\145\1\162\1\156\1\165\1\170\1\162\1\141"+
+        "\1\71\1\ufffe\1\uffff\1\ufffe\1\141\1\uffff\1\ufffe\1\57\2\uffff"+
+        "\4\ufffe\3\uffff\1\55\1\ufffe\1\uffff\1\ufffe\1\uffff\1\146\1\ufffe"+
+        "\1\144\1\164\1\154\1\151\1\163\1\165\1\154\1\ufffe\1\71\1\uffff"+
+        "\1\165\2\ufffe\1\154\1\ufffe\1\uffff\2\ufffe\4\uffff\1\ufffe\2\uffff"+
+        "\1\154\1\162\1\uffff\2\ufffe\1\154\1\163\1\164\1\145\1\151\2\ufffe"+
+        "\1\146\2\ufffe\1\163\1\ufffe\1\uffff\1\ufffe\1\uffff\1\ufffe\1\uffff"+
+        "\1\141\1\165\2\uffff\1\ufffe\1\164\2\ufffe\1\145\1\uffff\1\146\2"+
+        "\ufffe\1\145\1\ufffe\1\162\1\154\1\uffff\1\163\2\uffff\1\156\1\146"+
+        "\2\ufffe\2\145\1\ufffe\1\143\1\146\2\ufffe\1\uffff\1\145\1\ufffe"+
+        "\2\uffff\1\ufffe\1\uffff";
+    static final String DFA20_acceptS =
+        "\2\uffff\1\2\12\uffff\1\16\2\uffff\1\20\2\uffff\1\23\1\24\4\uffff"+
+        "\1\31\1\32\1\33\2\uffff\1\40\1\uffff\1\36\13\uffff\1\14\5\uffff"+
+        "\1\21\2\uffff\1\25\1\26\1\27\1\30\1\uffff\1\35\1\1\2\uffff\1\4\16"+
+        "\uffff\1\22\1\uffff\1\37\1\uffff\1\34\2\uffff\1\5\1\6\5\uffff\1"+
+        "\15\7\uffff\1\11\1\uffff\1\10\1\17\13\uffff\1\7\2\uffff\1\12\1\3"+
+        "\1\uffff\1\13";
+    static final String DFA20_specialS =
+        "\171\uffff}>";
+    static final String[] DFA20_transitionS = {
+            "\11\36\2\2\1\36\1\3\1\2\22\36\1\2\1\36\1\15\1\21\2\36\1\32\1"+
+            "\16\1\23\1\24\3\36\1\13\1\36\1\22\12\14\1\35\1\uffff\1\34\1"+
+            "\1\1\36\1\20\33\36\1\25\1\36\1\26\3\36\1\6\2\36\1\4\1\10\1\17"+
+            "\7\36\1\7\1\5\3\36\1\12\1\11\6\36\1\27\1\33\1\30\1\31\uff80"+
+            "\36",
+            "\11\36\2\uffff\2\36\1\uffff\22\36\1\uffff\1\36\1\uffff\3\36"+
+            "\1\uffff\1\36\2\uffff\21\36\2\uffff\1\36\1\37\1\uffff\74\36"+
+            "\1\uffff\1\36\1\uffff\uff80\36",
+            "",
+            "\11\36\2\uffff\2\36\1\uffff\22\36\1\uffff\1\36\1\uffff\3\36"+
+            "\1\uffff\1\36\2\uffff\21\36\2\uffff\2\36\1\uffff\74\36\1\uffff"+
+            "\1\36\1\uffff\uff80\36",
+            "\1\41",
+            "\1\42",
+            "\1\43",
+            "\1\44\5\uffff\1\45",
+            "\1\46",
+            "\1\47\14\uffff\1\50",
+            "\1\51",
+            "\12\52",
+            "\11\36\2\uffff\2\36\1\uffff\22\36\1\uffff\1\36\1\uffff\3\36"+
+            "\1\uffff\1\36\2\uffff\4\36\1\53\1\36\12\52\1\36\2\uffff\2\36"+
+            "\1\uffff\74\36\1\uffff\1\36\1\uffff\uff80\36",
+            "",
+            "\11\56\2\15\2\56\1\15\22\56\1\15\1\56\1\15\3\56\1\15\1\57\2"+
+            "\15\21\56\2\15\2\56\1\15\34\56\1\55\37\56\1\15\1\56\1\15\uff80"+
+            "\56",
+            "\1\60",
+            "",
+            "\11\61\2\62\2\61\1\62\22\61\1\62\1\61\1\62\3\61\1\62\1\61\2"+
+            "\62\21\61\2\62\2\61\1\62\74\61\1\62\1\61\1\62\uff80\61",
+            "\1\64\4\uffff\1\63",
+            "",
+            "",
+            "\11\36\2\uffff\2\36\1\uffff\22\36\1\uffff\1\36\1\uffff\3\36"+
+            "\1\uffff\1\36\2\uffff\21\36\2\uffff\2\36\1\uffff\74\36\1\uffff"+
+            "\1\36\1\uffff\uff80\36",
+            "\11\36\2\uffff\2\36\1\uffff\22\36\1\uffff\1\36\1\uffff\3\36"+
+            "\1\uffff\1\36\2\uffff\21\36\2\uffff\2\36\1\uffff\74\36\1\uffff"+
+            "\1\36\1\uffff\uff80\36",
+            "\11\36\2\uffff\2\36\1\uffff\22\36\1\uffff\1\36\1\uffff\3\36"+
+            "\1\uffff\1\36\2\uffff\21\36\2\uffff\2\36\1\uffff\74\36\1\uffff"+
+            "\1\36\1\uffff\uff80\36",
+            "\11\36\2\uffff\2\36\1\uffff\22\36\1\uffff\1\36\1\uffff\3\36"+
+            "\1\uffff\1\36\2\uffff\21\36\2\uffff\2\36\1\uffff\74\36\1\uffff"+
+            "\1\36\1\uffff\uff80\36",
+            "",
+            "",
+            "",
+            "\1\71",
+            "\11\36\2\uffff\2\36\1\uffff\22\36\1\uffff\1\36\1\uffff\3\36"+
+            "\1\uffff\1\36\2\uffff\21\36\2\uffff\2\36\1\uffff\74\36\1\uffff"+
+            "\1\36\1\uffff\uff80\36",
+            "",
+            "\11\36\2\uffff\2\36\1\uffff\22\36\1\uffff\1\36\1\uffff\3\36"+
+            "\1\uffff\1\36\2\uffff\21\36\2\uffff\2\36\1\uffff\74\36\1\uffff"+
+            "\1\36\1\uffff\uff80\36",
+            "",
+            "\1\74\2\uffff\1\75",
+            "\11\36\2\uffff\2\36\1\uffff\22\36\1\uffff\1\36\1\uffff\3\36"+
+            "\1\uffff\1\36\2\uffff\21\36\2\uffff\2\36\1\uffff\74\36\1\uffff"+
+            "\1\36\1\uffff\uff80\36",
+            "\1\77",
+            "\1\100",
+            "\1\101",
+            "\1\102",
+            "\1\103",
+            "\1\104",
+            "\1\105",
+            "\11\36\2\uffff\2\36\1\uffff\22\36\1\uffff\1\36\1\uffff\3\36"+
+            "\1\uffff\1\36\2\uffff\4\36\1\53\1\36\12\52\1\36\2\uffff\2\36"+
+            "\1\uffff\74\36\1\uffff\1\36\1\uffff\uff80\36",
+            "\12\106",
+            "",
+            "\1\15\4\uffff\1\107\10\uffff\4\111\4\112\44\uffff\1\107\5\uffff"+
+            "\1\107\3\uffff\1\107\7\uffff\1\107\3\uffff\1\107\1\uffff\1\107"+
+            "\1\110",
+            "\11\56\2\15\2\56\1\15\22\56\1\15\1\56\1\15\3\56\1\15\1\57\2"+
+            "\15\21\56\2\15\2\56\1\15\34\56\1\55\37\56\1\15\1\56\1\15\uff80"+
+            "\56",
+            "\11\36\2\uffff\2\36\1\uffff\22\36\1\uffff\1\36\1\uffff\3\36"+
+            "\1\uffff\1\36\2\uffff\21\36\2\uffff\2\36\1\uffff\74\36\1\uffff"+
+            "\1\36\1\uffff\uff80\36",
+            "\1\113",
+            "\11\61\2\62\2\61\1\62\22\61\1\62\1\61\1\62\3\61\1\62\1\61\2"+
+            "\62\21\61\2\62\2\61\1\62\74\61\1\62\1\61\1\62\uff80\61",
+            "",
+            "\11\114\2\115\2\114\1\115\22\114\1\115\1\114\1\115\3\114\1\115"+
+            "\1\114\2\115\21\114\2\115\2\114\1\115\74\114\1\115\1\114\1\115"+
+            "\uff80\114",
+            "\11\120\2\117\2\120\1\117\22\120\1\117\1\120\1\117\3\120\1\117"+
+            "\1\120\2\117\1\116\20\120\2\117\2\120\1\117\74\120\1\117\1\120"+
+            "\1\117\uff80\120",
+            "",
+            "",
+            "",
+            "",
+            "\11\36\2\uffff\2\36\1\uffff\22\36\1\uffff\1\36\1\uffff\3\36"+
+            "\1\uffff\1\36\2\uffff\21\36\2\uffff\2\36\1\uffff\74\36\1\uffff"+
+            "\1\36\1\uffff\uff80\36",
+            "",
+            "",
+            "\1\122",
+            "\1\123",
+            "",
+            "\11\36\2\uffff\2\36\1\uffff\22\36\1\uffff\1\36\1\uffff\3\36"+
+            "\1\uffff\1\36\2\uffff\21\36\2\uffff\2\36\1\uffff\74\36\1\uffff"+
+            "\1\36\1\uffff\uff80\36",
+            "\11\36\2\uffff\2\36\1\uffff\22\36\1\uffff\1\36\1\uffff\3\36"+
+            "\1\uffff\1\36\2\uffff\21\36\2\uffff\2\36\1\uffff\74\36\1\uffff"+
+            "\1\36\1\uffff\uff80\36",
+            "\1\126",
+            "\1\127",
+            "\1\130",
+            "\1\131",
+            "\1\132",
+            "\11\36\2\uffff\2\36\1\uffff\22\36\1\uffff\1\36\1\uffff\3\36"+
+            "\1\uffff\1\36\2\uffff\6\36\12\106\1\36\2\uffff\2\36\1\uffff"+
+            "\74\36\1\uffff\1\36\1\uffff\uff80\36",
+            "\11\56\2\15\2\56\1\15\22\56\1\15\1\56\1\15\3\56\1\15\1\57\2"+
+            "\15\21\56\2\15\2\56\1\15\34\56\1\55\37\56\1\15\1\56\1\15\uff80"+
+            "\56",
+            "\12\134\7\uffff\6\134\32\uffff\6\134",
+            "\11\56\2\15\2\56\1\15\22\56\1\15\1\56\1\15\3\56\1\15\1\57\2"+
+            "\15\6\56\10\135\3\56\2\15\2\56\1\15\34\56\1\55\37\56\1\15\1"+
+            "\56\1\15\uff80\56",
+            "\11\56\2\15\2\56\1\15\22\56\1\15\1\56\1\15\3\56\1\15\1\57\2"+
+            "\15\6\56\10\136\3\56\2\15\2\56\1\15\34\56\1\55\37\56\1\15\1"+
+            "\56\1\15\uff80\56",
+            "\1\137",
+            "\11\114\2\115\2\114\1\115\22\114\1\115\1\114\1\115\3\114\1\115"+
+            "\1\114\2\115\21\114\2\115\2\114\1\115\74\114\1\115\1\114\1\115"+
+            "\uff80\114",
+            "",
+            "\11\120\2\117\2\120\1\117\22\120\1\117\1\120\1\117\3\120\1\117"+
+            "\1\120\2\117\1\116\4\120\1\140\13\120\2\117\2\120\1\117\74\120"+
+            "\1\117\1\120\1\117\uff80\120",
+            "",
+            "\11\120\2\117\2\120\1\117\22\120\1\117\1\120\1\117\3\120\1\117"+
+            "\1\120\2\117\1\116\20\120\2\117\2\120\1\117\74\120\1\117\1\120"+
+            "\1\117\uff80\120",
+            "",
+            "\1\141",
+            "\1\142",
+            "",
+            "",
+            "\11\36\2\uffff\2\36\1\uffff\22\36\1\uffff\1\36\1\uffff\3\36"+
+            "\1\uffff\1\36\2\uffff\21\36\2\uffff\2\36\1\uffff\74\36\1\uffff"+
+            "\1\36\1\uffff\uff80\36",
+            "\1\144",
+            "\11\36\2\uffff\2\36\1\uffff\22\36\1\uffff\1\36\1\uffff\3\36"+
+            "\1\uffff\1\36\2\uffff\21\36\2\uffff\2\36\1\uffff\74\36\1\uffff"+
+            "\1\36\1\uffff\uff80\36",
+            "\11\36\2\uffff\2\36\1\uffff\22\36\1\uffff\1\36\1\uffff\3\36"+
+            "\1\uffff\1\36\2\uffff\21\36\2\uffff\2\36\1\uffff\74\36\1\uffff"+
+            "\1\36\1\uffff\uff80\36",
+            "\1\147",
+            "",
+            "\12\150\7\uffff\6\150\32\uffff\6\150",
+            "\11\56\2\15\2\56\1\15\22\56\1\15\1\56\1\15\3\56\1\15\1\57\2"+
+            "\15\6\56\10\151\3\56\2\15\2\56\1\15\34\56\1\55\37\56\1\15\1"+
+            "\56\1\15\uff80\56",
+            "\11\56\2\15\2\56\1\15\22\56\1\15\1\56\1\15\3\56\1\15\1\57\2"+
+            "\15\21\56\2\15\2\56\1\15\34\56\1\55\37\56\1\15\1\56\1\15\uff80"+
+            "\56",
+            "\1\152",
+            "\11\120\2\uffff\2\120\1\uffff\22\120\1\uffff\1\120\1\uffff\3"+
+            "\120\1\uffff\1\120\2\uffff\1\116\20\120\2\uffff\2\120\1\uffff"+
+            "\74\120\1\uffff\1\120\1\uffff\uff80\120",
+            "\1\153",
+            "\1\154",
+            "",
+            "\1\155",
+            "",
+            "",
+            "\1\156",
+            "\12\157\7\uffff\6\157\32\uffff\6\157",
+            "\11\56\2\15\2\56\1\15\22\56\1\15\1\56\1\15\3\56\1\15\1\57\2"+
+            "\15\21\56\2\15\2\56\1\15\34\56\1\55\37\56\1\15\1\56\1\15\uff80"+
+            "\56",
+            "\11\36\2\uffff\2\36\1\uffff\22\36\1\uffff\1\36\1\uffff\3\36"+
+            "\1\uffff\1\36\2\uffff\21\36\2\uffff\2\36\1\uffff\74\36\1\uffff"+
+            "\1\36\1\uffff\uff80\36",
+            "\1\160",
+            "\1\161",
+            "\11\36\2\uffff\2\36\1\uffff\22\36\1\uffff\1\36\1\uffff\3\36"+
+            "\1\uffff\1\36\2\uffff\21\36\2\uffff\2\36\1\uffff\74\36\1\uffff"+
+            "\1\36\1\uffff\uff80\36",
+            "\1\163",
+            "\12\164\7\uffff\6\164\32\uffff\6\164",
+            "\11\36\2\uffff\2\36\1\uffff\22\36\1\uffff\1\36\1\uffff\3\36"+
+            "\1\uffff\1\36\2\uffff\21\36\2\uffff\2\36\1\uffff\74\36\1\uffff"+
+            "\1\36\1\uffff\uff80\36",
+            "\11\36\2\uffff\2\36\1\uffff\22\36\1\uffff\1\36\1\uffff\3\36"+
+            "\1\uffff\1\36\2\uffff\21\36\2\uffff\2\36\1\uffff\74\36\1\uffff"+
+            "\1\36\1\uffff\uff80\36",
+            "",
+            "\1\167",
+            "\11\56\2\15\2\56\1\15\22\56\1\15\1\56\1\15\3\56\1\15\1\57\2"+
+            "\15\21\56\2\15\2\56\1\15\34\56\1\55\37\56\1\15\1\56\1\15\uff80"+
+            "\56",
+            "",
+            "",
+            "\11\36\2\uffff\2\36\1\uffff\22\36\1\uffff\1\36\1\uffff\3\36"+
+            "\1\uffff\1\36\2\uffff\21\36\2\uffff\2\36\1\uffff\74\36\1\uffff"+
+            "\1\36\1\uffff\uff80\36",
+            ""
+    };
+
+    static final short[] DFA20_eot = DFA.unpackEncodedString(DFA20_eotS);
+    static final short[] DFA20_eof = DFA.unpackEncodedString(DFA20_eofS);
+    static final char[] DFA20_min = DFA.unpackEncodedStringToUnsignedChars(DFA20_minS);
+    static final char[] DFA20_max = DFA.unpackEncodedStringToUnsignedChars(DFA20_maxS);
+    static final short[] DFA20_accept = DFA.unpackEncodedString(DFA20_acceptS);
+    static final short[] DFA20_special = DFA.unpackEncodedString(DFA20_specialS);
+    static final short[][] DFA20_transition;
+
+    static {
+        int numStates = DFA20_transitionS.length;
+        DFA20_transition = new short[numStates][];
+        for (int i=0; i<numStates; i++) {
+            DFA20_transition[i] = DFA.unpackEncodedString(DFA20_transitionS[i]);
+        }
+    }
+
     class DFA20 extends DFA {
+
         public DFA20(BaseRecognizer recognizer) {
             this.recognizer = recognizer;
             this.decisionNumber = 20;
-            this.eot = DFA.unpackEncodedString( DFA20_eotS );
-            this.eof = DFA.unpackEncodedString( DFA20_eofS );
-            this.min = DFA.unpackEncodedStringToUnsignedChars( DFA20_minS );
-            this.max = DFA.unpackEncodedStringToUnsignedChars( DFA20_maxS );
-            this.accept = DFA.unpackEncodedString( DFA20_acceptS );
-            this.special = DFA.unpackEncodedString( DFA20_specialS );
-            int numStates = DFA20_transition.length;
-            this.transition = new short[numStates][];
-            for ( int i = 0; i < numStates; i++ ) {
-                transition[i] = DFA.unpackEncodedString( DFA20_transition[i] );
-            }
+            this.eot = DFA20_eot;
+            this.eof = DFA20_eof;
+            this.min = DFA20_min;
+            this.max = DFA20_max;
+            this.accept = DFA20_accept;
+            this.special = DFA20_special;
+            this.transition = DFA20_transition;
         }
-
         public String getDescription() {
             return "1:1: Tokens : ( T41 | WS | DEFRULE | OR | AND | NOT | EXISTS | TEST | NULL | DECLARE | SALIENCE | INT | FLOAT | STRING | BOOL | VAR | SH_STYLE_SINGLE_LINE_COMMENT | C_STYLE_SINGLE_LINE_COMMENT | LEFT_PAREN | RIGHT_PAREN | LEFT_SQUARE | RIGHT_SQUARE | LEFT_CURLY | RIGHT_CURLY | TILDE | AMPERSAND | PIPE | ASSIGN_OP | COLON | EQUALS | MULTI_LINE_COMMENT | NAME );";
         }
     }
+ 
 
 }
\ No newline at end of file

Modified: labs/jbossrules/trunk/drools-clips/src/main/java/org/drools/clp/CLPParser.java
===================================================================
--- labs/jbossrules/trunk/drools-clips/src/main/java/org/drools/clp/CLPParser.java	2007-04-26 00:29:41 UTC (rev 11338)
+++ labs/jbossrules/trunk/drools-clips/src/main/java/org/drools/clp/CLPParser.java	2007-04-26 00:42:42 UTC (rev 11339)
@@ -1,1888 +1,1874 @@
-// $ANTLR 3.0b7 C:\\dev\\jbossrules\\trunk\\drools-compiler\\src\\main\\resources\\org\\drools\\clp\\CLP.g 2007-03-24 20:05:52
+// $ANTLR 3.0b7 C:\\dev\\jbossrules\\trunk4\\drools-clips\\src\\main\\resources\\org\\drools\\clp\\CLP.g 2007-04-26 01:37:19
+
+	package org.drools.clp;
+	
+	import org.drools.clp.valuehandlers.*;
+	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.clp;
 
-import java.util.ArrayList;
-import java.util.Iterator;
+import org.antlr.runtime.*;
+import java.util.Stack;
 import java.util.List;
+import java.util.ArrayList;
 
-import org.antlr.runtime.BitSet;
-import org.antlr.runtime.CommonToken;
-import org.antlr.runtime.EarlyExitException;
-import org.antlr.runtime.FailedPredicateException;
-import org.antlr.runtime.MismatchedNotSetException;
-import org.antlr.runtime.MismatchedSetException;
-import org.antlr.runtime.MismatchedTokenException;
-import org.antlr.runtime.MismatchedTreeNodeException;
-import org.antlr.runtime.NoViableAltException;
-import org.antlr.runtime.Parser;
-import org.antlr.runtime.RecognitionException;
-import org.antlr.runtime.Token;
-import org.antlr.runtime.TokenStream;
-import org.drools.clp.valuehandlers.BooleanValueHandler;
-import org.drools.clp.valuehandlers.DoubleValueHandler;
-import org.drools.clp.valuehandlers.FunctionCaller;
-import org.drools.clp.valuehandlers.LongValueHandler;
-import org.drools.clp.valuehandlers.ObjectValueHandler;
-import org.drools.lang.descr.AndDescr;
-import org.drools.lang.descr.AttributeDescr;
-import org.drools.lang.descr.ColumnDescr;
-import org.drools.lang.descr.ConditionalElementDescr;
-import org.drools.lang.descr.DescrFactory;
-import org.drools.lang.descr.EvalDescr;
-import org.drools.lang.descr.ExistsDescr;
-import org.drools.lang.descr.FieldBindingDescr;
-import org.drools.lang.descr.FieldConstraintDescr;
-import org.drools.lang.descr.LiteralRestrictionDescr;
-import org.drools.lang.descr.NotDescr;
-import org.drools.lang.descr.OrDescr;
-import org.drools.lang.descr.PackageDescr;
-import org.drools.lang.descr.PredicateDescr;
-import org.drools.lang.descr.RestrictionConnectiveDescr;
-import org.drools.lang.descr.ReturnValueRestrictionDescr;
-import org.drools.lang.descr.RuleDescr;
-import org.drools.lang.descr.VariableRestrictionDescr;
-
 public class CLPParser extends Parser {
-    public static final String[] tokenNames                   = new String[]{"<invalid>", "<EOR>", "<DOWN>", "<UP>", "LEFT_PAREN", "DEFRULE", "NAME", "STRING", "RIGHT_PAREN", "SALIENCE", "INT", "AND", "OR", "NOT", "EXISTS", "TEST", "VAR",
-            "ASSIGN_OP", "AMPERSAND", "PIPE", "TILDE", "COLON", "EQUALS", "FLOAT", "BOOL", "NULL", "EOL", "WS", "DECLARE", "EscapeSequence", "HexDigit", "UnicodeEscape", "OctalEscape", "SYMBOL", "SH_STYLE_SINGLE_LINE_COMMENT",
-            "C_STYLE_SINGLE_LINE_COMMENT", "LEFT_SQUARE", "RIGHT_SQUARE", "LEFT_CURLY", "RIGHT_CURLY", "MULTI_LINE_COMMENT", "'=>'"};
-    public static final int      EXISTS                       = 14;
-    public static final int      LEFT_PAREN                   = 4;
-    public static final int      RIGHT_CURLY                  = 39;
-    public static final int      BOOL                         = 24;
-    public static final int      DEFRULE                      = 5;
-    public static final int      HexDigit                     = 30;
-    public static final int      WS                           = 27;
-    public static final int      STRING                       = 7;
-    public static final int      FLOAT                        = 23;
-    public static final int      TILDE                        = 20;
-    public static final int      OR                           = 12;
-    public static final int      PIPE                         = 19;
-    public static final int      EQUALS                       = 22;
-    public static final int      VAR                          = 16;
-    public static final int      ASSIGN_OP                    = 17;
-    public static final int      UnicodeEscape                = 31;
-    public static final int      AND                          = 11;
-    public static final int      EscapeSequence               = 29;
-    public static final int      INT                          = 10;
-    public static final int      EOF                          = -1;
-    public static final int      EOL                          = 26;
-    public static final int      NULL                         = 25;
-    public static final int      SYMBOL                       = 33;
-    public static final int      LEFT_SQUARE                  = 36;
-    public static final int      COLON                        = 21;
-    public static final int      SH_STYLE_SINGLE_LINE_COMMENT = 34;
-    public static final int      OctalEscape                  = 32;
-    public static final int      SALIENCE                     = 9;
-    public static final int      MULTI_LINE_COMMENT           = 40;
-    public static final int      TEST                         = 15;
-    public static final int      AMPERSAND                    = 18;
-    public static final int      NAME                         = 6;
-    public static final int      DECLARE                      = 28;
-    public static final int      RIGHT_PAREN                  = 8;
-    public static final int      NOT                          = 13;
-    public static final int      LEFT_CURLY                   = 38;
-    public static final int      RIGHT_SQUARE                 = 37;
-    public static final int      C_STYLE_SINGLE_LINE_COMMENT  = 35;
+    public static final String[] tokenNames = new String[] {
+        "<invalid>", "<EOR>", "<DOWN>", "<UP>", "LEFT_PAREN", "DEFRULE", "NAME", "STRING", "RIGHT_PAREN", "SALIENCE", "INT", "AND", "OR", "NOT", "EXISTS", "TEST", "VAR", "ASSIGN_OP", "AMPERSAND", "PIPE", "TILDE", "COLON", "EQUALS", "FLOAT", "BOOL", "NULL", "EOL", "WS", "DECLARE", "EscapeSequence", "HexDigit", "UnicodeEscape", "OctalEscape", "SYMBOL", "SH_STYLE_SINGLE_LINE_COMMENT", "C_STYLE_SINGLE_LINE_COMMENT", "LEFT_SQUARE", "RIGHT_SQUARE", "LEFT_CURLY", "RIGHT_CURLY", "MULTI_LINE_COMMENT", "'=>'"
+    };
+    public static final int RIGHT_SQUARE=37;
+    public static final int RIGHT_CURLY=39;
+    public static final int SYMBOL=33;
+    public static final int NULL=25;
+    public static final int BOOL=24;
+    public static final int SALIENCE=9;
+    public static final int AMPERSAND=18;
+    public static final int FLOAT=23;
+    public static final int EQUALS=22;
+    public static final int INT=10;
+    public static final int SH_STYLE_SINGLE_LINE_COMMENT=34;
+    public static final int NOT=13;
+    public static final int AND=11;
+    public static final int EOF=-1;
+    public static final int HexDigit=30;
+    public static final int MULTI_LINE_COMMENT=40;
+    public static final int COLON=21;
+    public static final int ASSIGN_OP=17;
+    public static final int RIGHT_PAREN=8;
+    public static final int NAME=6;
+    public static final int WS=27;
+    public static final int EOL=26;
+    public static final int UnicodeEscape=31;
+    public static final int LEFT_CURLY=38;
+    public static final int DEFRULE=5;
+    public static final int OR=12;
+    public static final int TILDE=20;
+    public static final int TEST=15;
+    public static final int LEFT_PAREN=4;
+    public static final int DECLARE=28;
+    public static final int PIPE=19;
+    public static final int VAR=16;
+    public static final int EXISTS=14;
+    public static final int LEFT_SQUARE=36;
+    public static final int OctalEscape=32;
+    public static final int EscapeSequence=29;
+    public static final int C_STYLE_SINGLE_LINE_COMMENT=35;
+    public static final int STRING=7;
 
-    public CLPParser(TokenStream input) {
-        super( input );
-    }
-
-    public String[] getTokenNames() {
-        return tokenNames;
-    }
-
-    public String getGrammarFileName() {
-        return "C:\\dev\\jbossrules\\trunk\\drools-compiler\\src\\main\\resources\\org\\drools\\clp\\CLP.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;
-    private FunctionRegistry functionRegistry;
-
-    FunctionRegistry         factoryRegistry;
-
-    public void setFunctionRegistry(FunctionRegistry functionRegistry) {
-        this.functionRegistry = functionRegistry;
-    }
-
-    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;
+        public CLPParser(TokenStream input) {
+            super(input);
         }
-        errorRecovery = true;
+        
 
-        ex.line = offset( ex.line ); //add the offset if there is one
-        errors.add( ex );
-    }
+    public String[] getTokenNames() { return tokenNames; }
+    public String getGrammarFileName() { return "C:\\dev\\jbossrules\\trunk4\\drools-clips\\src\\main\\resources\\org\\drools\\clp\\CLP.g"; }
 
-    /** return the raw RecognitionException errors */
-    public List getErrors() {
-        return errors;
-    }
+    
+    	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;
+    	private FunctionRegistry functionRegistry;
+    	
+        FunctionRegistry factoryRegistry;
+    	
+    	public void setFunctionRegistry(FunctionRegistry functionRegistry) {
+    		this.functionRegistry = functionRegistry;
+    	}
+    	
+    	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) ) );
+            	}
+            }
+          
 
-    /** 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 + "; 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 ) ) );
-        }
-    }
-
     // $ANTLR start deffunction
-    // C:\\dev\\jbossrules\\trunk\\drools-compiler\\src\\main\\resources\\org\\drools\\clp\\CLP.g:225:1: deffunction : ;
-    public void deffunction() throws RecognitionException {
+    // C:\\dev\\jbossrules\\trunk4\\drools-clips\\src\\main\\resources\\org\\drools\\clp\\CLP.g:225:1: deffunction : ;
+    public final void deffunction() throws RecognitionException {
         try {
-            // C:\\dev\\jbossrules\\trunk\\drools-compiler\\src\\main\\resources\\org\\drools\\clp\\CLP.g:227:2: ()
-            // C:\\dev\\jbossrules\\trunk\\drools-compiler\\src\\main\\resources\\org\\drools\\clp\\CLP.g:227:2: 
+            // C:\\dev\\jbossrules\\trunk4\\drools-clips\\src\\main\\resources\\org\\drools\\clp\\CLP.g:227:2: ()
+            // C:\\dev\\jbossrules\\trunk4\\drools-clips\\src\\main\\resources\\org\\drools\\clp\\CLP.g:227:2: 
             {
             }
 
-        } finally {
         }
-        return;
+        finally {
+        }
+        return ;
     }
-
     // $ANTLR end deffunction
 
+
     // $ANTLR start defrule
-    // C:\\dev\\jbossrules\\trunk\\drools-compiler\\src\\main\\resources\\org\\drools\\clp\\CLP.g:229:1: defrule returns [RuleDescr rule] : loc= LEFT_PAREN DEFRULE ruleName= NAME documentation= STRING ruleAttribute[rule] ( ce[lhs] )* '=>' engine= rhs RIGHT_PAREN ;
-    public RuleDescr defrule() throws RecognitionException {
+    // C:\\dev\\jbossrules\\trunk4\\drools-clips\\src\\main\\resources\\org\\drools\\clp\\CLP.g:229:1: defrule returns [RuleDescr rule] : loc= LEFT_PAREN DEFRULE ruleName= NAME documentation= STRING ruleAttribute[rule] ( ce[lhs] )* '=>' engine= rhs RIGHT_PAREN ;
+    public final RuleDescr defrule() throws RecognitionException {
         RuleDescr rule = null;
 
-        Token loc = null;
-        Token ruleName = null;
-        Token documentation = null;
+        Token loc=null;
+        Token ruleName=null;
+        Token documentation=null;
         ExecutionEngine engine = null;
 
-        rule = null;
-        AndDescr lhs = null;
-        ColumnDescr colum = null;
-        AttributeDescr module = null;
 
+         
+        	        rule = null; 
+        	        AndDescr lhs = null;
+        	        PatternDescr colum = null;
+        	        AttributeDescr module = null;	        
+        	      
         try {
-            // C:\\dev\\jbossrules\\trunk\\drools-compiler\\src\\main\\resources\\org\\drools\\clp\\CLP.g:236:4: (loc= LEFT_PAREN DEFRULE ruleName= NAME documentation= STRING ruleAttribute[rule] ( ce[lhs] )* '=>' engine= rhs RIGHT_PAREN )
-            // C:\\dev\\jbossrules\\trunk\\drools-compiler\\src\\main\\resources\\org\\drools\\clp\\CLP.g:236:4: loc= LEFT_PAREN DEFRULE ruleName= NAME documentation= STRING ruleAttribute[rule] ( ce[lhs] )* '=>' engine= rhs RIGHT_PAREN
+            // C:\\dev\\jbossrules\\trunk4\\drools-clips\\src\\main\\resources\\org\\drools\\clp\\CLP.g:236:4: (loc= LEFT_PAREN DEFRULE ruleName= NAME documentation= STRING ruleAttribute[rule] ( ce[lhs] )* '=>' engine= rhs RIGHT_PAREN )
+            // C:\\dev\\jbossrules\\trunk4\\drools-clips\\src\\main\\resources\\org\\drools\\clp\\CLP.g:236:4: loc= LEFT_PAREN DEFRULE ruleName= NAME documentation= STRING ruleAttribute[rule] ( ce[lhs] )* '=>' engine= rhs RIGHT_PAREN
             {
-                loc = (Token) input.LT( 1 );
-                match( input,
-                       LEFT_PAREN,
-                       FOLLOW_LEFT_PAREN_in_defrule68 );
-                match( input,
-                       DEFRULE,
-                       FOLLOW_DEFRULE_in_defrule76 );
-                ruleName = (Token) input.LT( 1 );
-                match( input,
-                       NAME,
-                       FOLLOW_NAME_in_defrule80 );
+            loc=(Token)input.LT(1);
+            match(input,LEFT_PAREN,FOLLOW_LEFT_PAREN_in_defrule68); 
+            match(input,DEFRULE,FOLLOW_DEFRULE_in_defrule76); 
+            ruleName=(Token)input.LT(1);
+            match(input,NAME,FOLLOW_NAME_in_defrule80); 
+             	  			  		
+            	  		debug( "start rule: " + ruleName.getText() );
+            	  		String ruleStr = ruleName.getText();
+            
+            	        if ( ruleStr.indexOf("::") >= 0 ) {
+            	            String mod = ruleStr.substring(0, ruleStr.indexOf("::"));
+            	            ruleStr = ruleStr.substring(ruleStr.indexOf("::")+2);
+            				module = new AttributeDescr( "agenda-group", mod );
+            				module.setLocation( offset(ruleName.getLine()), ruleName.getCharPositionInLine() );
+            				module.setStartCharacter( ((CommonToken)ruleName).getStartIndex() );
+            				module.setEndCharacter( ((CommonToken)ruleName).getStopIndex() );
+            			}
+            		    
+            		    rule = new RuleDescr( ruleStr, null ); 
+            		    if( module != null ) {
+            		    	rule.addAttribute( module );
+            		    }
+            		        
+            			rule.setLocation( offset(loc.getLine()), loc.getCharPositionInLine() );
+            			rule.setStartCharacter( ((CommonToken)loc).getStartIndex() ); 
+            		
+            			// not sure how you define where a LHS starts in clips, so just putting it here for now
+              	        	lhs = new AndDescr(); 
+            	  	        rule.setLhs( lhs ); 
+               		        lhs.setLocation( offset(loc.getLine()), loc.getCharPositionInLine() );
+            			lhs.setStartCharacter( ((CommonToken)loc).getStartIndex() );				
+            		
+            documentation=(Token)input.LT(1);
+            match(input,STRING,FOLLOW_STRING_in_defrule92); 
+            
+            	    	// do nothing here for now
+            		
+            pushFollow(FOLLOW_ruleAttribute_in_defrule98);
+            ruleAttribute(rule);
+            _fsp--;
 
-                debug( "start rule: " + ruleName.getText() );
-                String ruleStr = ruleName.getText();
+            // C:\\dev\\jbossrules\\trunk4\\drools-clips\\src\\main\\resources\\org\\drools\\clp\\CLP.g:271:3: ( ce[lhs] )*
+            loop1:
+            do {
+                int alt1=2;
+                int LA1_0 = input.LA(1);
 
-                if ( ruleStr.indexOf( "::" ) >= 0 ) {
-                    String mod = ruleStr.substring( 0,
-                                                    ruleStr.indexOf( "::" ) );
-                    ruleStr = ruleStr.substring( ruleStr.indexOf( "::" ) + 2 );
-                    module = new AttributeDescr( "agenda-group",
-                                                 mod );
-                    module.setLocation( offset( ruleName.getLine() ),
-                                        ruleName.getCharPositionInLine() );
-                    module.setStartCharacter( ((CommonToken) ruleName).getStartIndex() );
-                    module.setEndCharacter( ((CommonToken) ruleName).getStopIndex() );
+                if ( (LA1_0==LEFT_PAREN||LA1_0==VAR) ) {
+                    alt1=1;
                 }
 
-                rule = new RuleDescr( ruleStr,
-                                      null );
-                if ( module != null ) {
-                    rule.addAttribute( module );
-                }
 
-                rule.setLocation( offset( loc.getLine() ),
-                                  loc.getCharPositionInLine() );
-                rule.setStartCharacter( ((CommonToken) loc).getStartIndex() );
+                switch (alt1) {
+            	case 1 :
+            	    // C:\\dev\\jbossrules\\trunk4\\drools-clips\\src\\main\\resources\\org\\drools\\clp\\CLP.g:271:3: ce[lhs]
+            	    {
+            	    pushFollow(FOLLOW_ce_in_defrule106);
+            	    ce(lhs);
+            	    _fsp--;
 
-                // not sure how you define where a LHS starts in clips, so just putting it here for now
-                lhs = new AndDescr();
-                rule.setLhs( lhs );
-                lhs.setLocation( offset( loc.getLine() ),
-                                 loc.getCharPositionInLine() );
-                lhs.setStartCharacter( ((CommonToken) loc).getStartIndex() );
 
-                documentation = (Token) input.LT( 1 );
-                match( input,
-                       STRING,
-                       FOLLOW_STRING_in_defrule92 );
+            	    }
+            	    break;
 
-                // do nothing here for now
+            	default :
+            	    break loop1;
+                }
+            } while (true);
 
-                pushFollow( FOLLOW_ruleAttribute_in_defrule98 );
-                ruleAttribute( rule );
-                _fsp--;
+            match(input,41,FOLLOW_41_in_defrule115); 
+            pushFollow(FOLLOW_rhs_in_defrule124);
+            engine=rhs();
+            _fsp--;
 
-                // C:\\dev\\jbossrules\\trunk\\drools-compiler\\src\\main\\resources\\org\\drools\\clp\\CLP.g:271:3: ( ce[lhs] )*
-                loop1 : do {
-                    int alt1 = 2;
-                    int LA1_0 = input.LA( 1 );
-                    if ( (LA1_0 == LEFT_PAREN || LA1_0 == VAR) ) {
-                        alt1 = 1;
-                    }
+             rule.setConsequence( engine ); 
+            match(input,RIGHT_PAREN,FOLLOW_RIGHT_PAREN_in_defrule133); 
 
-                    switch ( alt1 ) {
-                        case 1 :
-                            // C:\\dev\\jbossrules\\trunk\\drools-compiler\\src\\main\\resources\\org\\drools\\clp\\CLP.g:271:3: ce[lhs]
-                        {
-                            pushFollow( FOLLOW_ce_in_defrule106 );
-                            ce( lhs );
-                            _fsp--;
-
-                        }
-                            break;
-
-                        default :
-                            break loop1;
-                    }
-                } while ( true );
-
-                match( input,
-                       41,
-                       FOLLOW_41_in_defrule115 );
-                pushFollow( FOLLOW_rhs_in_defrule124 );
-                engine = rhs();
-                _fsp--;
-
-                rule.setConsequence( engine );
-                match( input,
-                       RIGHT_PAREN,
-                       FOLLOW_RIGHT_PAREN_in_defrule133 );
-
             }
 
-        } catch ( RecognitionException re ) {
-            reportError( re );
-            recover( input,
-                     re );
-        } finally {
         }
+        catch (RecognitionException re) {
+            reportError(re);
+            recover(input,re);
+        }
+        finally {
+        }
         return rule;
     }
-
     // $ANTLR end defrule
 
+
     // $ANTLR start ruleAttribute
-    // C:\\dev\\jbossrules\\trunk\\drools-compiler\\src\\main\\resources\\org\\drools\\clp\\CLP.g:281:1: ruleAttribute[RuleDescr rule] : ( LEFT_PAREN 'declare' ( LEFT_PAREN d= salience RIGHT_PAREN )? RIGHT_PAREN )? ;
-    public void ruleAttribute(RuleDescr rule) throws RecognitionException {
+    // C:\\dev\\jbossrules\\trunk4\\drools-clips\\src\\main\\resources\\org\\drools\\clp\\CLP.g:281:1: ruleAttribute[RuleDescr rule] : ( LEFT_PAREN 'declare' ( LEFT_PAREN d= salience RIGHT_PAREN )? RIGHT_PAREN )? ;
+    public final void ruleAttribute(RuleDescr rule) throws RecognitionException {
         AttributeDescr d = null;
 
+
         try {
-            // C:\\dev\\jbossrules\\trunk\\drools-compiler\\src\\main\\resources\\org\\drools\\clp\\CLP.g:283:3: ( ( LEFT_PAREN 'declare' ( LEFT_PAREN d= salience RIGHT_PAREN )? RIGHT_PAREN )? )
-            // C:\\dev\\jbossrules\\trunk\\drools-compiler\\src\\main\\resources\\org\\drools\\clp\\CLP.g:283:3: ( LEFT_PAREN 'declare' ( LEFT_PAREN d= salience RIGHT_PAREN )? RIGHT_PAREN )?
+            // C:\\dev\\jbossrules\\trunk4\\drools-clips\\src\\main\\resources\\org\\drools\\clp\\CLP.g:283:3: ( ( LEFT_PAREN 'declare' ( LEFT_PAREN d= salience RIGHT_PAREN )? RIGHT_PAREN )? )
+            // C:\\dev\\jbossrules\\trunk4\\drools-clips\\src\\main\\resources\\org\\drools\\clp\\CLP.g:283:3: ( LEFT_PAREN 'declare' ( LEFT_PAREN d= salience RIGHT_PAREN )? RIGHT_PAREN )?
             {
-                // C:\\dev\\jbossrules\\trunk\\drools-compiler\\src\\main\\resources\\org\\drools\\clp\\CLP.g:283:3: ( LEFT_PAREN 'declare' ( LEFT_PAREN d= salience RIGHT_PAREN )? RIGHT_PAREN )?
-                int alt3 = 2;
-                int LA3_0 = input.LA( 1 );
-                if ( (LA3_0 == LEFT_PAREN) ) {
-                    int LA3_1 = input.LA( 2 );
-                    if ( (LA3_1 == DECLARE) ) {
-                        alt3 = 1;
-                    }
+            // C:\\dev\\jbossrules\\trunk4\\drools-clips\\src\\main\\resources\\org\\drools\\clp\\CLP.g:283:3: ( LEFT_PAREN 'declare' ( LEFT_PAREN d= salience RIGHT_PAREN )? RIGHT_PAREN )?
+            int alt3=2;
+            int LA3_0 = input.LA(1);
+
+            if ( (LA3_0==LEFT_PAREN) ) {
+                int LA3_1 = input.LA(2);
+
+                if ( (LA3_1==DECLARE) ) {
+                    alt3=1;
                 }
-                switch ( alt3 ) {
-                    case 1 :
-                        // C:\\dev\\jbossrules\\trunk\\drools-compiler\\src\\main\\resources\\org\\drools\\clp\\CLP.g:283:5: LEFT_PAREN 'declare' ( LEFT_PAREN d= salience RIGHT_PAREN )? RIGHT_PAREN
+            }
+            switch (alt3) {
+                case 1 :
+                    // C:\\dev\\jbossrules\\trunk4\\drools-clips\\src\\main\\resources\\org\\drools\\clp\\CLP.g:283:5: LEFT_PAREN 'declare' ( LEFT_PAREN d= salience RIGHT_PAREN )? RIGHT_PAREN
                     {
-                        match( input,
-                               LEFT_PAREN,
-                               FOLLOW_LEFT_PAREN_in_ruleAttribute150 );
-                        match( input,
-                               DECLARE,
-                               FOLLOW_DECLARE_in_ruleAttribute152 );
-                        // C:\\dev\\jbossrules\\trunk\\drools-compiler\\src\\main\\resources\\org\\drools\\clp\\CLP.g:284:4: ( LEFT_PAREN d= salience RIGHT_PAREN )?
-                        int alt2 = 2;
-                        int LA2_0 = input.LA( 1 );
-                        if ( (LA2_0 == LEFT_PAREN) ) {
-                            alt2 = 1;
-                        }
-                        switch ( alt2 ) {
-                            case 1 :
-                                // C:\\dev\\jbossrules\\trunk\\drools-compiler\\src\\main\\resources\\org\\drools\\clp\\CLP.g:284:6: LEFT_PAREN d= salience RIGHT_PAREN
+                    match(input,LEFT_PAREN,FOLLOW_LEFT_PAREN_in_ruleAttribute150); 
+                    match(input,DECLARE,FOLLOW_DECLARE_in_ruleAttribute152); 
+                    // C:\\dev\\jbossrules\\trunk4\\drools-clips\\src\\main\\resources\\org\\drools\\clp\\CLP.g:284:4: ( LEFT_PAREN d= salience RIGHT_PAREN )?
+                    int alt2=2;
+                    int LA2_0 = input.LA(1);
+
+                    if ( (LA2_0==LEFT_PAREN) ) {
+                        alt2=1;
+                    }
+                    switch (alt2) {
+                        case 1 :
+                            // C:\\dev\\jbossrules\\trunk4\\drools-clips\\src\\main\\resources\\org\\drools\\clp\\CLP.g:284:6: LEFT_PAREN d= salience RIGHT_PAREN
                             {
-                                match( input,
-                                       LEFT_PAREN,
-                                       FOLLOW_LEFT_PAREN_in_ruleAttribute159 );
-                                pushFollow( FOLLOW_salience_in_ruleAttribute163 );
-                                d = salience();
-                                _fsp--;
+                            match(input,LEFT_PAREN,FOLLOW_LEFT_PAREN_in_ruleAttribute159); 
+                            pushFollow(FOLLOW_salience_in_ruleAttribute163);
+                            d=salience();
+                            _fsp--;
 
-                                rule.addAttribute( d );
-                                match( input,
-                                       RIGHT_PAREN,
-                                       FOLLOW_RIGHT_PAREN_in_ruleAttribute167 );
+                             rule.addAttribute( d ); 
+                            match(input,RIGHT_PAREN,FOLLOW_RIGHT_PAREN_in_ruleAttribute167); 
 
                             }
-                                break;
+                            break;
 
-                        }
+                    }
 
-                        match( input,
-                               RIGHT_PAREN,
-                               FOLLOW_RIGHT_PAREN_in_ruleAttribute174 );
+                    match(input,RIGHT_PAREN,FOLLOW_RIGHT_PAREN_in_ruleAttribute174); 
 
                     }
-                        break;
+                    break;
 
-                }
+            }
 
+
             }
 
-        } catch ( RecognitionException re ) {
-            reportError( re );
-            recover( input,
-                     re );
-        } finally {
         }
-        return;
+        catch (RecognitionException re) {
+            reportError(re);
+            recover(input,re);
+        }
+        finally {
+        }
+        return ;
     }
-
     // $ANTLR end ruleAttribute
 
+
     // $ANTLR start salience
-    // C:\\dev\\jbossrules\\trunk\\drools-compiler\\src\\main\\resources\\org\\drools\\clp\\CLP.g:288:1: salience returns [AttributeDescr d ] : loc= SALIENCE i= INT ;
-    public AttributeDescr salience() throws RecognitionException {
+    // C:\\dev\\jbossrules\\trunk4\\drools-clips\\src\\main\\resources\\org\\drools\\clp\\CLP.g:288:1: salience returns [AttributeDescr d ] : loc= SALIENCE i= INT ;
+    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\\trunk\\drools-compiler\\src\\main\\resources\\org\\drools\\clp\\CLP.g:293:3: (loc= SALIENCE i= INT )
-            // C:\\dev\\jbossrules\\trunk\\drools-compiler\\src\\main\\resources\\org\\drools\\clp\\CLP.g:293:3: loc= SALIENCE i= INT
+            // C:\\dev\\jbossrules\\trunk4\\drools-clips\\src\\main\\resources\\org\\drools\\clp\\CLP.g:293:3: (loc= SALIENCE i= INT )
+            // C:\\dev\\jbossrules\\trunk4\\drools-clips\\src\\main\\resources\\org\\drools\\clp\\CLP.g:293:3: loc= SALIENCE i= INT
             {
-                loc = (Token) input.LT( 1 );
-                match( input,
-                       SALIENCE,
-                       FOLLOW_SALIENCE_in_salience204 );
-                i = (Token) input.LT( 1 );
-                match( input,
-                       INT,
-                       FOLLOW_INT_in_salience208 );
+            loc=(Token)input.LT(1);
+            match(input,SALIENCE,FOLLOW_SALIENCE_in_salience204); 
+            i=(Token)input.LT(1);
+            match(input,INT,FOLLOW_INT_in_salience208); 
+            
+            			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 ( RecognitionException re ) {
-            reportError( re );
-            recover( input,
-                     re );
-        } finally {
         }
+        catch (RecognitionException re) {
+            reportError(re);
+            recover(input,re);
+        }
+        finally {
+        }
         return d;
     }
-
     // $ANTLR end salience
 
+
     // $ANTLR start ce
-    // C:\\dev\\jbossrules\\trunk\\drools-compiler\\src\\main\\resources\\org\\drools\\clp\\CLP.g:303:1: ce[ConditionalElementDescr in_ce] : ( and_ce[in_ce] | or_ce[in_ce] | not_ce[in_ce] | exists_ce[in_ce] | eval_ce[in_ce] | normal_pattern[in_ce] | bound_pattern[in_ce] ) ;
-    public void ce(ConditionalElementDescr in_ce) throws RecognitionException {
+    // C:\\dev\\jbossrules\\trunk4\\drools-clips\\src\\main\\resources\\org\\drools\\clp\\CLP.g:303:1: ce[ConditionalElementDescr in_ce] : ( and_ce[in_ce] | or_ce[in_ce] | not_ce[in_ce] | exists_ce[in_ce] | eval_ce[in_ce] | normal_pattern[in_ce] | bound_pattern[in_ce] ) ;
+    public final void ce(ConditionalElementDescr in_ce) throws RecognitionException {
         try {
-            // C:\\dev\\jbossrules\\trunk\\drools-compiler\\src\\main\\resources\\org\\drools\\clp\\CLP.g:304:4: ( ( and_ce[in_ce] | or_ce[in_ce] | not_ce[in_ce] | exists_ce[in_ce] | eval_ce[in_ce] | normal_pattern[in_ce] | bound_pattern[in_ce] ) )
-            // C:\\dev\\jbossrules\\trunk\\drools-compiler\\src\\main\\resources\\org\\drools\\clp\\CLP.g:304:4: ( and_ce[in_ce] | or_ce[in_ce] | not_ce[in_ce] | exists_ce[in_ce] | eval_ce[in_ce] | normal_pattern[in_ce] | bound_pattern[in_ce] )
+            // C:\\dev\\jbossrules\\trunk4\\drools-clips\\src\\main\\resources\\org\\drools\\clp\\CLP.g:304:4: ( ( and_ce[in_ce] | or_ce[in_ce] | not_ce[in_ce] | exists_ce[in_ce] | eval_ce[in_ce] | normal_pattern[in_ce] | bound_pattern[in_ce] ) )
+            // C:\\dev\\jbossrules\\trunk4\\drools-clips\\src\\main\\resources\\org\\drools\\clp\\CLP.g:304:4: ( and_ce[in_ce] | or_ce[in_ce] | not_ce[in_ce] | exists_ce[in_ce] | eval_ce[in_ce] | normal_pattern[in_ce] | bound_pattern[in_ce] )
             {
-                // C:\\dev\\jbossrules\\trunk\\drools-compiler\\src\\main\\resources\\org\\drools\\clp\\CLP.g:304:4: ( and_ce[in_ce] | or_ce[in_ce] | not_ce[in_ce] | exists_ce[in_ce] | eval_ce[in_ce] | normal_pattern[in_ce] | bound_pattern[in_ce] )
-                int alt4 = 7;
-                int LA4_0 = input.LA( 1 );
-                if ( (LA4_0 == LEFT_PAREN) ) {
-                    switch ( input.LA( 2 ) ) {
-                        case NAME :
-                            alt4 = 6;
-                            break;
-                        case AND :
-                            alt4 = 1;
-                            break;
-                        case OR :
-                            alt4 = 2;
-                            break;
-                        case EXISTS :
-                            alt4 = 4;
-                            break;
-                        case NOT :
-                            alt4 = 3;
-                            break;
-                        case TEST :
-                            alt4 = 5;
-                            break;
-                        default :
-                            NoViableAltException nvae = new NoViableAltException( "304:4: ( and_ce[in_ce] | or_ce[in_ce] | not_ce[in_ce] | exists_ce[in_ce] | eval_ce[in_ce] | normal_pattern[in_ce] | bound_pattern[in_ce] )",
-                                                                                  4,
-                                                                                  1,
-                                                                                  input );
+            // C:\\dev\\jbossrules\\trunk4\\drools-clips\\src\\main\\resources\\org\\drools\\clp\\CLP.g:304:4: ( and_ce[in_ce] | or_ce[in_ce] | not_ce[in_ce] | exists_ce[in_ce] | eval_ce[in_ce] | normal_pattern[in_ce] | bound_pattern[in_ce] )
+            int alt4=7;
+            int LA4_0 = input.LA(1);
 
-                            throw nvae;
+            if ( (LA4_0==LEFT_PAREN) ) {
+                switch ( input.LA(2) ) {
+                case TEST:
+                    {
+                    alt4=5;
                     }
+                    break;
+                case AND:
+                    {
+                    alt4=1;
+                    }
+                    break;
+                case EXISTS:
+                    {
+                    alt4=4;
+                    }
+                    break;
+                case OR:
+                    {
+                    alt4=2;
+                    }
+                    break;
+                case NOT:
+                    {
+                    alt4=3;
+                    }
+                    break;
+                case NAME:
+                    {
+                    alt4=6;
+                    }
+                    break;
+                default:
+                    NoViableAltException nvae =
+                        new NoViableAltException("304:4: ( and_ce[in_ce] | or_ce[in_ce] | not_ce[in_ce] | exists_ce[in_ce] | eval_ce[in_ce] | normal_pattern[in_ce] | bound_pattern[in_ce] )", 4, 1, input);
 
-                } else if ( (LA4_0 == VAR) ) {
-                    alt4 = 7;
-                } else {
-                    NoViableAltException nvae = new NoViableAltException( "304:4: ( and_ce[in_ce] | or_ce[in_ce] | not_ce[in_ce] | exists_ce[in_ce] | eval_ce[in_ce] | normal_pattern[in_ce] | bound_pattern[in_ce] )",
-                                                                          4,
-                                                                          0,
-                                                                          input );
-
                     throw nvae;
                 }
-                switch ( alt4 ) {
-                    case 1 :
-                        // C:\\dev\\jbossrules\\trunk\\drools-compiler\\src\\main\\resources\\org\\drools\\clp\\CLP.g:304:8: and_ce[in_ce]
+
+            }
+            else if ( (LA4_0==VAR) ) {
+                alt4=7;
+            }
+            else {
+                NoViableAltException nvae =
+                    new NoViableAltException("304:4: ( and_ce[in_ce] | or_ce[in_ce] | not_ce[in_ce] | exists_ce[in_ce] | eval_ce[in_ce] | normal_pattern[in_ce] | bound_pattern[in_ce] )", 4, 0, input);
+
+                throw nvae;
+            }
+            switch (alt4) {
+                case 1 :
+                    // C:\\dev\\jbossrules\\trunk4\\drools-clips\\src\\main\\resources\\org\\drools\\clp\\CLP.g:304:8: and_ce[in_ce]
                     {
-                        pushFollow( FOLLOW_and_ce_in_ce234 );
-                        and_ce( in_ce );
-                        _fsp--;
+                    pushFollow(FOLLOW_and_ce_in_ce234);
+                    and_ce(in_ce);
+                    _fsp--;
 
+
                     }
-                        break;
-                    case 2 :
-                        // C:\\dev\\jbossrules\\trunk\\drools-compiler\\src\\main\\resources\\org\\drools\\clp\\CLP.g:305:7: or_ce[in_ce]
+                    break;
+                case 2 :
+                    // C:\\dev\\jbossrules\\trunk4\\drools-clips\\src\\main\\resources\\org\\drools\\clp\\CLP.g:305:7: or_ce[in_ce]
                     {
-                        pushFollow( FOLLOW_or_ce_in_ce244 );
-                        or_ce( in_ce );
-                        _fsp--;
+                    pushFollow(FOLLOW_or_ce_in_ce244);
+                    or_ce(in_ce);
+                    _fsp--;
 
+
                     }
-                        break;
-                    case 3 :
-                        // C:\\dev\\jbossrules\\trunk\\drools-compiler\\src\\main\\resources\\org\\drools\\clp\\CLP.g:306:7: not_ce[in_ce]
+                    break;
+                case 3 :
+                    // C:\\dev\\jbossrules\\trunk4\\drools-clips\\src\\main\\resources\\org\\drools\\clp\\CLP.g:306:7: not_ce[in_ce]
                     {
-                        pushFollow( FOLLOW_not_ce_in_ce253 );
-                        not_ce( in_ce );
-                        _fsp--;
+                    pushFollow(FOLLOW_not_ce_in_ce253);
+                    not_ce(in_ce);
+                    _fsp--;
 
+
                     }
-                        break;
-                    case 4 :
-                        // C:\\dev\\jbossrules\\trunk\\drools-compiler\\src\\main\\resources\\org\\drools\\clp\\CLP.g:307:7: exists_ce[in_ce]
+                    break;
+                case 4 :
+                    // C:\\dev\\jbossrules\\trunk4\\drools-clips\\src\\main\\resources\\org\\drools\\clp\\CLP.g:307:7: exists_ce[in_ce]
                     {
-                        pushFollow( FOLLOW_exists_ce_in_ce262 );
-                        exists_ce( in_ce );
-                        _fsp--;
+                    pushFollow(FOLLOW_exists_ce_in_ce262);
+                    exists_ce(in_ce);
+                    _fsp--;
 
+
                     }
-                        break;
-                    case 5 :
-                        // C:\\dev\\jbossrules\\trunk\\drools-compiler\\src\\main\\resources\\org\\drools\\clp\\CLP.g:308:8: eval_ce[in_ce]
+                    break;
+                case 5 :
+                    // C:\\dev\\jbossrules\\trunk4\\drools-clips\\src\\main\\resources\\org\\drools\\clp\\CLP.g:308:8: eval_ce[in_ce]
                     {
-                        pushFollow( FOLLOW_eval_ce_in_ce276 );
-                        eval_ce( in_ce );
-                        _fsp--;
+                    pushFollow(FOLLOW_eval_ce_in_ce276);
+                    eval_ce(in_ce);
+                    _fsp--;
 
+
                     }
-                        break;
-                    case 6 :
-                        // C:\\dev\\jbossrules\\trunk\\drools-compiler\\src\\main\\resources\\org\\drools\\clp\\CLP.g:309:7: normal_pattern[in_ce]
+                    break;
+                case 6 :
+                    // C:\\dev\\jbossrules\\trunk4\\drools-clips\\src\\main\\resources\\org\\drools\\clp\\CLP.g:309:7: normal_pattern[in_ce]
                     {
-                        pushFollow( FOLLOW_normal_pattern_in_ce290 );
-                        normal_pattern( in_ce );
-                        _fsp--;
+                    pushFollow(FOLLOW_normal_pattern_in_ce290);
+                    normal_pattern(in_ce);
+                    _fsp--;
 
+
                     }
-                        break;
-                    case 7 :
-                        // C:\\dev\\jbossrules\\trunk\\drools-compiler\\src\\main\\resources\\org\\drools\\clp\\CLP.g:310:7: bound_pattern[in_ce]
+                    break;
+                case 7 :
+                    // C:\\dev\\jbossrules\\trunk4\\drools-clips\\src\\main\\resources\\org\\drools\\clp\\CLP.g:310:7: bound_pattern[in_ce]
                     {
-                        pushFollow( FOLLOW_bound_pattern_in_ce299 );
-                        bound_pattern( in_ce );
-                        _fsp--;
+                    pushFollow(FOLLOW_bound_pattern_in_ce299);
+                    bound_pattern(in_ce);
+                    _fsp--;
 
+
                     }
-                        break;
+                    break;
 
-                }
+            }
 
+
             }
 
-        } catch ( RecognitionException re ) {
-            reportError( re );
-            recover( input,
-                     re );
-        } finally {
         }
-        return;
+        catch (RecognitionException re) {
+            reportError(re);
+            recover(input,re);
+        }
+        finally {
+        }
+        return ;
     }
-
     // $ANTLR end ce
 
+
     // $ANTLR start rhs
-    // C:\\dev\\jbossrules\\trunk\\drools-compiler\\src\\main\\resources\\org\\drools\\clp\\CLP.g:314:1: rhs returns [ExecutionEngine engine] : (fc= lisp_list[context, new LispForm(context) ] )* ;
-    public ExecutionEngine rhs() throws RecognitionException {
+    // C:\\dev\\jbossrules\\trunk4\\drools-clips\\src\\main\\resources\\org\\drools\\clp\\CLP.g:314:1: rhs returns [ExecutionEngine engine] : (fc= lisp_list[context, new LispForm(context) ] )* ;
+    public final ExecutionEngine rhs() throws RecognitionException {
         ExecutionEngine engine = null;
 
         ValueHandler fc = null;
 
-        engine = new BlockExecutionEngine();
-        ExecutionBuildContext context = new ExecutionBuildContext( engine,
-                                                                   functionRegistry );
 
+        
+        	        engine = new BlockExecutionEngine();
+        			ExecutionBuildContext context = new ExecutionBuildContext( engine, functionRegistry );  	
+        	
         try {
-            // C:\\dev\\jbossrules\\trunk\\drools-compiler\\src\\main\\resources\\org\\drools\\clp\\CLP.g:321:3: ( (fc= lisp_list[context, new LispForm(context) ] )* )
-            // C:\\dev\\jbossrules\\trunk\\drools-compiler\\src\\main\\resources\\org\\drools\\clp\\CLP.g:321:3: (fc= lisp_list[context, new LispForm(context) ] )*
+            // C:\\dev\\jbossrules\\trunk4\\drools-clips\\src\\main\\resources\\org\\drools\\clp\\CLP.g:321:3: ( (fc= lisp_list[context, new LispForm(context) ] )* )
+            // C:\\dev\\jbossrules\\trunk4\\drools-clips\\src\\main\\resources\\org\\drools\\clp\\CLP.g:321:3: (fc= lisp_list[context, new LispForm(context) ] )*
             {
-                // C:\\dev\\jbossrules\\trunk\\drools-compiler\\src\\main\\resources\\org\\drools\\clp\\CLP.g:321:3: (fc= lisp_list[context, new LispForm(context) ] )*
-                loop5 : do {
-                    int alt5 = 2;
-                    int LA5_0 = input.LA( 1 );
-                    if ( (LA5_0 == LEFT_PAREN) ) {
-                        alt5 = 1;
-                    }
+            // C:\\dev\\jbossrules\\trunk4\\drools-clips\\src\\main\\resources\\org\\drools\\clp\\CLP.g:321:3: (fc= lisp_list[context, new LispForm(context) ] )*
+            loop5:
+            do {
+                int alt5=2;
+                int LA5_0 = input.LA(1);
 
-                    switch ( alt5 ) {
-                        case 1 :
-                            // C:\\dev\\jbossrules\\trunk\\drools-compiler\\src\\main\\resources\\org\\drools\\clp\\CLP.g:321:4: fc= lisp_list[context, new LispForm(context) ]
-                        {
-                            pushFollow( FOLLOW_lisp_list_in_rhs331 );
-                            fc = lisp_list( context,
-                                            new LispForm( context ) );
-                            _fsp--;
+                if ( (LA5_0==LEFT_PAREN) ) {
+                    alt5=1;
+                }
 
-                            context.addFunction( (FunctionCaller) fc );
 
-                        }
-                            break;
+                switch (alt5) {
+            	case 1 :
+            	    // C:\\dev\\jbossrules\\trunk4\\drools-clips\\src\\main\\resources\\org\\drools\\clp\\CLP.g:321:4: fc= lisp_list[context, new LispForm(context) ]
+            	    {
+            	    pushFollow(FOLLOW_lisp_list_in_rhs331);
+            	    fc=lisp_list(context,  new LispForm(context) );
+            	    _fsp--;
 
-                        default :
-                            break loop5;
-                    }
-                } while ( true );
+            	     context.addFunction( (FunctionCaller) fc ); 
 
+            	    }
+            	    break;
+
+            	default :
+            	    break loop5;
+                }
+            } while (true);
+
+
             }
 
-        } catch ( RecognitionException re ) {
-            reportError( re );
-            recover( input,
-                     re );
-        } finally {
         }
+        catch (RecognitionException re) {
+            reportError(re);
+            recover(input,re);
+        }
+        finally {
+        }
         return engine;
     }
-
     // $ANTLR end rhs
 
-    // $ANTLR start and_ce
-    // C:\\dev\\jbossrules\\trunk\\drools-compiler\\src\\main\\resources\\org\\drools\\clp\\CLP.g:324:1: and_ce[ConditionalElementDescr in_ce] : LEFT_PAREN AND ( ce[andDescr] )+ RIGHT_PAREN ;
-    public void and_ce(ConditionalElementDescr in_ce) throws RecognitionException {
 
-        AndDescr andDescr = null;
-
+    // $ANTLR start and_ce
+    // C:\\dev\\jbossrules\\trunk4\\drools-clips\\src\\main\\resources\\org\\drools\\clp\\CLP.g:324:1: and_ce[ConditionalElementDescr in_ce] : LEFT_PAREN AND ( ce[andDescr] )+ RIGHT_PAREN ;
+    public final void and_ce(ConditionalElementDescr in_ce) throws RecognitionException {
+        
+                AndDescr andDescr= null;        
+            
         try {
-            // C:\\dev\\jbossrules\\trunk\\drools-compiler\\src\\main\\resources\\org\\drools\\clp\\CLP.g:328:4: ( LEFT_PAREN AND ( ce[andDescr] )+ RIGHT_PAREN )
-            // C:\\dev\\jbossrules\\trunk\\drools-compiler\\src\\main\\resources\\org\\drools\\clp\\CLP.g:328:4: LEFT_PAREN AND ( ce[andDescr] )+ RIGHT_PAREN
+            // C:\\dev\\jbossrules\\trunk4\\drools-clips\\src\\main\\resources\\org\\drools\\clp\\CLP.g:328:4: ( LEFT_PAREN AND ( ce[andDescr] )+ RIGHT_PAREN )
+            // C:\\dev\\jbossrules\\trunk4\\drools-clips\\src\\main\\resources\\org\\drools\\clp\\CLP.g:328:4: LEFT_PAREN AND ( ce[andDescr] )+ RIGHT_PAREN
             {
-                match( input,
-                       LEFT_PAREN,
-                       FOLLOW_LEFT_PAREN_in_and_ce359 );
-                match( input,
-                       AND,
-                       FOLLOW_AND_in_and_ce364 );
+            match(input,LEFT_PAREN,FOLLOW_LEFT_PAREN_in_and_ce359); 
+            match(input,AND,FOLLOW_AND_in_and_ce364); 
+            
+            	    	andDescr = new AndDescr();
+            			in_ce.addDescr( andDescr );
+            		
+            // C:\\dev\\jbossrules\\trunk4\\drools-clips\\src\\main\\resources\\org\\drools\\clp\\CLP.g:333:3: ( ce[andDescr] )+
+            int cnt6=0;
+            loop6:
+            do {
+                int alt6=2;
+                int LA6_0 = input.LA(1);
 
-                andDescr = new AndDescr();
-                in_ce.addDescr( andDescr );
+                if ( (LA6_0==LEFT_PAREN||LA6_0==VAR) ) {
+                    alt6=1;
+                }
 
-                // C:\\dev\\jbossrules\\trunk\\drools-compiler\\src\\main\\resources\\org\\drools\\clp\\CLP.g:333:3: ( ce[andDescr] )+
-                int cnt6 = 0;
-                loop6 : do {
-                    int alt6 = 2;
-                    int LA6_0 = input.LA( 1 );
-                    if ( (LA6_0 == LEFT_PAREN || LA6_0 == VAR) ) {
-                        alt6 = 1;
-                    }
 
-                    switch ( alt6 ) {
-                        case 1 :
-                            // C:\\dev\\jbossrules\\trunk\\drools-compiler\\src\\main\\resources\\org\\drools\\clp\\CLP.g:333:3: ce[andDescr]
-                        {
-                            pushFollow( FOLLOW_ce_in_and_ce370 );
-                            ce( andDescr );
-                            _fsp--;
+                switch (alt6) {
+            	case 1 :
+            	    // C:\\dev\\jbossrules\\trunk4\\drools-clips\\src\\main\\resources\\org\\drools\\clp\\CLP.g:333:3: ce[andDescr]
+            	    {
+            	    pushFollow(FOLLOW_ce_in_and_ce370);
+            	    ce(andDescr);
+            	    _fsp--;
 
-                        }
-                            break;
 
-                        default :
-                            if ( cnt6 >= 1 ) break loop6;
-                            EarlyExitException eee = new EarlyExitException( 6,
-                                                                             input );
-                            throw eee;
-                    }
-                    cnt6++;
-                } while ( true );
+            	    }
+            	    break;
 
-                match( input,
-                       RIGHT_PAREN,
-                       FOLLOW_RIGHT_PAREN_in_and_ce379 );
+            	default :
+            	    if ( cnt6 >= 1 ) break loop6;
+                        EarlyExitException eee =
+                            new EarlyExitException(6, input);
+                        throw eee;
+                }
+                cnt6++;
+            } while (true);
 
+            match(input,RIGHT_PAREN,FOLLOW_RIGHT_PAREN_in_and_ce379); 
+
             }
 
-        } catch ( RecognitionException re ) {
-            reportError( re );
-            recover( input,
-                     re );
-        } finally {
         }
-        return;
+        catch (RecognitionException re) {
+            reportError(re);
+            recover(input,re);
+        }
+        finally {
+        }
+        return ;
     }
-
     // $ANTLR end and_ce
 
-    // $ANTLR start or_ce
-    // C:\\dev\\jbossrules\\trunk\\drools-compiler\\src\\main\\resources\\org\\drools\\clp\\CLP.g:337:1: or_ce[ConditionalElementDescr in_ce] : LEFT_PAREN OR ( ce[orDescr] )+ RIGHT_PAREN ;
-    public void or_ce(ConditionalElementDescr in_ce) throws RecognitionException {
 
-        OrDescr orDescr = null;
-
+    // $ANTLR start or_ce
+    // C:\\dev\\jbossrules\\trunk4\\drools-clips\\src\\main\\resources\\org\\drools\\clp\\CLP.g:337:1: or_ce[ConditionalElementDescr in_ce] : LEFT_PAREN OR ( ce[orDescr] )+ RIGHT_PAREN ;
+    public final void or_ce(ConditionalElementDescr in_ce) throws RecognitionException {
+        
+                OrDescr orDescr= null;         
+            
         try {
-            // C:\\dev\\jbossrules\\trunk\\drools-compiler\\src\\main\\resources\\org\\drools\\clp\\CLP.g:341:4: ( LEFT_PAREN OR ( ce[orDescr] )+ RIGHT_PAREN )
-            // C:\\dev\\jbossrules\\trunk\\drools-compiler\\src\\main\\resources\\org\\drools\\clp\\CLP.g:341:4: LEFT_PAREN OR ( ce[orDescr] )+ RIGHT_PAREN
+            // C:\\dev\\jbossrules\\trunk4\\drools-clips\\src\\main\\resources\\org\\drools\\clp\\CLP.g:341:4: ( LEFT_PAREN OR ( ce[orDescr] )+ RIGHT_PAREN )
+            // C:\\dev\\jbossrules\\trunk4\\drools-clips\\src\\main\\resources\\org\\drools\\clp\\CLP.g:341:4: LEFT_PAREN OR ( ce[orDescr] )+ RIGHT_PAREN
             {
-                match( input,
-                       LEFT_PAREN,
-                       FOLLOW_LEFT_PAREN_in_or_ce407 );
-                match( input,
-                       OR,
-                       FOLLOW_OR_in_or_ce412 );
+            match(input,LEFT_PAREN,FOLLOW_LEFT_PAREN_in_or_ce407); 
+            match(input,OR,FOLLOW_OR_in_or_ce412); 
+            
+            	    	orDescr = new OrDescr();
+            			in_ce.addDescr( orDescr );
+            		
+            // C:\\dev\\jbossrules\\trunk4\\drools-clips\\src\\main\\resources\\org\\drools\\clp\\CLP.g:346:3: ( ce[orDescr] )+
+            int cnt7=0;
+            loop7:
+            do {
+                int alt7=2;
+                int LA7_0 = input.LA(1);
 
-                orDescr = new OrDescr();
-                in_ce.addDescr( orDescr );
+                if ( (LA7_0==LEFT_PAREN||LA7_0==VAR) ) {
+                    alt7=1;
+                }
 
-                // C:\\dev\\jbossrules\\trunk\\drools-compiler\\src\\main\\resources\\org\\drools\\clp\\CLP.g:346:3: ( ce[orDescr] )+
-                int cnt7 = 0;
-                loop7 : do {
-                    int alt7 = 2;
-                    int LA7_0 = input.LA( 1 );
-                    if ( (LA7_0 == LEFT_PAREN || LA7_0 == VAR) ) {
-                        alt7 = 1;
-                    }
 
-                    switch ( alt7 ) {
-                        case 1 :
-                            // C:\\dev\\jbossrules\\trunk\\drools-compiler\\src\\main\\resources\\org\\drools\\clp\\CLP.g:346:3: ce[orDescr]
-                        {
-                            pushFollow( FOLLOW_ce_in_or_ce418 );
-                            ce( orDescr );
-                            _fsp--;
+                switch (alt7) {
+            	case 1 :
+            	    // C:\\dev\\jbossrules\\trunk4\\drools-clips\\src\\main\\resources\\org\\drools\\clp\\CLP.g:346:3: ce[orDescr]
+            	    {
+            	    pushFollow(FOLLOW_ce_in_or_ce418);
+            	    ce(orDescr);
+            	    _fsp--;
 
-                        }
-                            break;
 
-                        default :
-                            if ( cnt7 >= 1 ) break loop7;
-                            EarlyExitException eee = new EarlyExitException( 7,
-                                                                             input );
-                            throw eee;
-                    }
-                    cnt7++;
-                } while ( true );
+            	    }
+            	    break;
 
-                match( input,
-                       RIGHT_PAREN,
-                       FOLLOW_RIGHT_PAREN_in_or_ce427 );
+            	default :
+            	    if ( cnt7 >= 1 ) break loop7;
+                        EarlyExitException eee =
+                            new EarlyExitException(7, input);
+                        throw eee;
+                }
+                cnt7++;
+            } while (true);
 
+            match(input,RIGHT_PAREN,FOLLOW_RIGHT_PAREN_in_or_ce427); 
+
             }
 
-        } catch ( RecognitionException re ) {
-            reportError( re );
-            recover( input,
-                     re );
-        } finally {
         }
-        return;
+        catch (RecognitionException re) {
+            reportError(re);
+            recover(input,re);
+        }
+        finally {
+        }
+        return ;
     }
-
     // $ANTLR end or_ce
 
-    // $ANTLR start not_ce
-    // C:\\dev\\jbossrules\\trunk\\drools-compiler\\src\\main\\resources\\org\\drools\\clp\\CLP.g:350:1: not_ce[ConditionalElementDescr in_ce] : LEFT_PAREN NOT ce[notDescr] RIGHT_PAREN ;
-    public void not_ce(ConditionalElementDescr in_ce) throws RecognitionException {
 
-        NotDescr notDescr = null;
-
+    // $ANTLR start not_ce
+    // C:\\dev\\jbossrules\\trunk4\\drools-clips\\src\\main\\resources\\org\\drools\\clp\\CLP.g:350:1: not_ce[ConditionalElementDescr in_ce] : LEFT_PAREN NOT ce[notDescr] RIGHT_PAREN ;
+    public final void not_ce(ConditionalElementDescr in_ce) throws RecognitionException {
+        
+                NotDescr notDescr= null;         
+            
         try {
-            // C:\\dev\\jbossrules\\trunk\\drools-compiler\\src\\main\\resources\\org\\drools\\clp\\CLP.g:354:4: ( LEFT_PAREN NOT ce[notDescr] RIGHT_PAREN )
-            // C:\\dev\\jbossrules\\trunk\\drools-compiler\\src\\main\\resources\\org\\drools\\clp\\CLP.g:354:4: LEFT_PAREN NOT ce[notDescr] RIGHT_PAREN
+            // C:\\dev\\jbossrules\\trunk4\\drools-clips\\src\\main\\resources\\org\\drools\\clp\\CLP.g:354:4: ( LEFT_PAREN NOT ce[notDescr] RIGHT_PAREN )
+            // C:\\dev\\jbossrules\\trunk4\\drools-clips\\src\\main\\resources\\org\\drools\\clp\\CLP.g:354:4: LEFT_PAREN NOT ce[notDescr] RIGHT_PAREN
             {
-                match( input,
-                       LEFT_PAREN,
-                       FOLLOW_LEFT_PAREN_in_not_ce455 );
-                match( input,
-                       NOT,
-                       FOLLOW_NOT_in_not_ce460 );
+            match(input,LEFT_PAREN,FOLLOW_LEFT_PAREN_in_not_ce455); 
+            match(input,NOT,FOLLOW_NOT_in_not_ce460); 
+            
+            			notDescr = new NotDescr();
+            		    in_ce.addDescr( notDescr );
+            		
+            pushFollow(FOLLOW_ce_in_not_ce466);
+            ce(notDescr);
+            _fsp--;
 
-                notDescr = new NotDescr();
-                in_ce.addDescr( notDescr );
+            match(input,RIGHT_PAREN,FOLLOW_RIGHT_PAREN_in_not_ce474); 
 
-                pushFollow( FOLLOW_ce_in_not_ce466 );
-                ce( notDescr );
-                _fsp--;
-
-                match( input,
-                       RIGHT_PAREN,
-                       FOLLOW_RIGHT_PAREN_in_not_ce474 );
-
             }
 
-        } catch ( RecognitionException re ) {
-            reportError( re );
-            recover( input,
-                     re );
-        } finally {
         }
-        return;
+        catch (RecognitionException re) {
+            reportError(re);
+            recover(input,re);
+        }
+        finally {
+        }
+        return ;
     }
-
     // $ANTLR end not_ce
 
-    // $ANTLR start exists_ce
-    // C:\\dev\\jbossrules\\trunk\\drools-compiler\\src\\main\\resources\\org\\drools\\clp\\CLP.g:363:1: exists_ce[ConditionalElementDescr in_ce] : LEFT_PAREN EXISTS ce[existsDescr] RIGHT_PAREN ;
-    public void exists_ce(ConditionalElementDescr in_ce) throws RecognitionException {
 
-        ExistsDescr existsDescr = null;
-
+    // $ANTLR start exists_ce
+    // C:\\dev\\jbossrules\\trunk4\\drools-clips\\src\\main\\resources\\org\\drools\\clp\\CLP.g:363:1: exists_ce[ConditionalElementDescr in_ce] : LEFT_PAREN EXISTS ce[existsDescr] RIGHT_PAREN ;
+    public final void exists_ce(ConditionalElementDescr in_ce) throws RecognitionException {
+        
+                ExistsDescr existsDescr= null;        
+            
         try {
-            // C:\\dev\\jbossrules\\trunk\\drools-compiler\\src\\main\\resources\\org\\drools\\clp\\CLP.g:367:4: ( LEFT_PAREN EXISTS ce[existsDescr] RIGHT_PAREN )
-            // C:\\dev\\jbossrules\\trunk\\drools-compiler\\src\\main\\resources\\org\\drools\\clp\\CLP.g:367:4: LEFT_PAREN EXISTS ce[existsDescr] RIGHT_PAREN
+            // C:\\dev\\jbossrules\\trunk4\\drools-clips\\src\\main\\resources\\org\\drools\\clp\\CLP.g:367:4: ( LEFT_PAREN EXISTS ce[existsDescr] RIGHT_PAREN )
+            // C:\\dev\\jbossrules\\trunk4\\drools-clips\\src\\main\\resources\\org\\drools\\clp\\CLP.g:367:4: LEFT_PAREN EXISTS ce[existsDescr] RIGHT_PAREN
             {
-                match( input,
-                       LEFT_PAREN,
-                       FOLLOW_LEFT_PAREN_in_exists_ce503 );
-                match( input,
-                       EXISTS,
-                       FOLLOW_EXISTS_in_exists_ce508 );
+            match(input,LEFT_PAREN,FOLLOW_LEFT_PAREN_in_exists_ce503); 
+            match(input,EXISTS,FOLLOW_EXISTS_in_exists_ce508); 
+            
+            		    existsDescr = new ExistsDescr();
+            		    in_ce.addDescr( existsDescr );
+            		
+            pushFollow(FOLLOW_ce_in_exists_ce514);
+            ce(existsDescr);
+            _fsp--;
 
-                existsDescr = new ExistsDescr();
-                in_ce.addDescr( existsDescr );
+            match(input,RIGHT_PAREN,FOLLOW_RIGHT_PAREN_in_exists_ce522); 
 
-                pushFollow( FOLLOW_ce_in_exists_ce514 );
-                ce( existsDescr );
-                _fsp--;
-
-                match( input,
-                       RIGHT_PAREN,
-                       FOLLOW_RIGHT_PAREN_in_exists_ce522 );
-
             }
 
-        } catch ( RecognitionException re ) {
-            reportError( re );
-            recover( input,
-                     re );
-        } finally {
         }
-        return;
+        catch (RecognitionException re) {
+            reportError(re);
+            recover(input,re);
+        }
+        finally {
+        }
+        return ;
     }
-
     // $ANTLR end exists_ce
 
+
     // $ANTLR start eval_ce
-    // C:\\dev\\jbossrules\\trunk\\drools-compiler\\src\\main\\resources\\org\\drools\\clp\\CLP.g:376:1: eval_ce[ConditionalElementDescr in_ce] : LEFT_PAREN TEST fc= lisp_list[context, new LispForm(context)] RIGHT_PAREN ;
-    public void eval_ce(ConditionalElementDescr in_ce) throws RecognitionException {
+    // C:\\dev\\jbossrules\\trunk4\\drools-clips\\src\\main\\resources\\org\\drools\\clp\\CLP.g:376:1: eval_ce[ConditionalElementDescr in_ce] : LEFT_PAREN TEST fc= lisp_list[context, new LispForm(context)] RIGHT_PAREN ;
+    public final void eval_ce(ConditionalElementDescr in_ce) throws RecognitionException {
         ValueHandler fc = null;
 
-        EvalDescr evalDescr = null;
-        ExecutionEngine engine = new CLPEval();
-        ExecutionBuildContext context = new ExecutionBuildContext( engine,
-                                                                   functionRegistry );
 
+        
+                EvalDescr evalDescr= null;    
+           		ExecutionEngine engine = new CLPEval();     
+        		ExecutionBuildContext context = new ExecutionBuildContext( engine, functionRegistry );   		         
+            
         try {
-            // C:\\dev\\jbossrules\\trunk\\drools-compiler\\src\\main\\resources\\org\\drools\\clp\\CLP.g:382:4: ( LEFT_PAREN TEST fc= lisp_list[context, new LispForm(context)] RIGHT_PAREN )
-            // C:\\dev\\jbossrules\\trunk\\drools-compiler\\src\\main\\resources\\org\\drools\\clp\\CLP.g:382:4: LEFT_PAREN TEST fc= lisp_list[context, new LispForm(context)] RIGHT_PAREN
+            // C:\\dev\\jbossrules\\trunk4\\drools-clips\\src\\main\\resources\\org\\drools\\clp\\CLP.g:382:4: ( LEFT_PAREN TEST fc= lisp_list[context, new LispForm(context)] RIGHT_PAREN )
+            // C:\\dev\\jbossrules\\trunk4\\drools-clips\\src\\main\\resources\\org\\drools\\clp\\CLP.g:382:4: LEFT_PAREN TEST fc= lisp_list[context, new LispForm(context)] RIGHT_PAREN
             {
-                match( input,
-                       LEFT_PAREN,
-                       FOLLOW_LEFT_PAREN_in_eval_ce550 );
-                match( input,
-                       TEST,
-                       FOLLOW_TEST_in_eval_ce555 );
+            match(input,LEFT_PAREN,FOLLOW_LEFT_PAREN_in_eval_ce550); 
+            match(input,TEST,FOLLOW_TEST_in_eval_ce555); 
+            
+            		    evalDescr = new EvalDescr();
+            		    in_ce.addDescr( evalDescr );
+            		
+            pushFollow(FOLLOW_lisp_list_in_eval_ce563);
+            fc=lisp_list(context,  new LispForm(context));
+            _fsp--;
 
-                evalDescr = new EvalDescr();
-                in_ce.addDescr( evalDescr );
+            					
+            		    engine.addFunction( (FunctionCaller) fc );		
+            			evalDescr.setContent( engine );			
+            		
+            match(input,RIGHT_PAREN,FOLLOW_RIGHT_PAREN_in_eval_ce574); 
 
-                pushFollow( FOLLOW_lisp_list_in_eval_ce563 );
-                fc = lisp_list( context,
-                                new LispForm( context ) );
-                _fsp--;
-
-                engine.addFunction( (FunctionCaller) fc );
-                evalDescr.setContent( engine );
-
-                match( input,
-                       RIGHT_PAREN,
-                       FOLLOW_RIGHT_PAREN_in_eval_ce574 );
-
             }
 
-        } catch ( RecognitionException re ) {
-            reportError( re );
-            recover( input,
-                     re );
-        } finally {
         }
-        return;
+        catch (RecognitionException re) {
+            reportError(re);
+            recover(input,re);
+        }
+        finally {
+        }
+        return ;
     }
-
     // $ANTLR end eval_ce
 
+
     // $ANTLR start normal_pattern
-    // C:\\dev\\jbossrules\\trunk\\drools-compiler\\src\\main\\resources\\org\\drools\\clp\\CLP.g:394:1: normal_pattern[ConditionalElementDescr in_ce] : LEFT_PAREN name= NAME ( field_constriant[column] )* RIGHT_PAREN ;
-    public void normal_pattern(ConditionalElementDescr in_ce) throws RecognitionException {
-        Token name = null;
+    // C:\\dev\\jbossrules\\trunk4\\drools-clips\\src\\main\\resources\\org\\drools\\clp\\CLP.g:394:1: normal_pattern[ConditionalElementDescr in_ce] : LEFT_PAREN name= NAME ( field_constriant[pattern] )* RIGHT_PAREN ;
+    public final void normal_pattern(ConditionalElementDescr in_ce) throws RecognitionException {
+        Token name=null;
 
-        ColumnDescr column = null;
-
+        
+                PatternDescr pattern = null;
+            
         try {
-            // C:\\dev\\jbossrules\\trunk\\drools-compiler\\src\\main\\resources\\org\\drools\\clp\\CLP.g:398:4: ( LEFT_PAREN name= NAME ( field_constriant[column] )* RIGHT_PAREN )
-            // C:\\dev\\jbossrules\\trunk\\drools-compiler\\src\\main\\resources\\org\\drools\\clp\\CLP.g:398:4: LEFT_PAREN name= NAME ( field_constriant[column] )* RIGHT_PAREN
+            // C:\\dev\\jbossrules\\trunk4\\drools-clips\\src\\main\\resources\\org\\drools\\clp\\CLP.g:398:4: ( LEFT_PAREN name= NAME ( field_constriant[pattern] )* RIGHT_PAREN )
+            // C:\\dev\\jbossrules\\trunk4\\drools-clips\\src\\main\\resources\\org\\drools\\clp\\CLP.g:398:4: LEFT_PAREN name= NAME ( field_constriant[pattern] )* RIGHT_PAREN
             {
-                match( input,
-                       LEFT_PAREN,
-                       FOLLOW_LEFT_PAREN_in_normal_pattern602 );
-                name = (Token) input.LT( 1 );
-                match( input,
-                       NAME,
-                       FOLLOW_NAME_in_normal_pattern609 );
+            match(input,LEFT_PAREN,FOLLOW_LEFT_PAREN_in_normal_pattern602); 
+            name=(Token)input.LT(1);
+            match(input,NAME,FOLLOW_NAME_in_normal_pattern609); 
+            
+            			pattern = new PatternDescr(name.getText());
+            			in_ce.addDescr( pattern );
+            		
+            // C:\\dev\\jbossrules\\trunk4\\drools-clips\\src\\main\\resources\\org\\drools\\clp\\CLP.g:403:3: ( field_constriant[pattern] )*
+            loop8:
+            do {
+                int alt8=2;
+                int LA8_0 = input.LA(1);
 
-                column = new ColumnDescr( name.getText() );
-                in_ce.addDescr( column );
+                if ( (LA8_0==LEFT_PAREN) ) {
+                    alt8=1;
+                }
 
-                // C:\\dev\\jbossrules\\trunk\\drools-compiler\\src\\main\\resources\\org\\drools\\clp\\CLP.g:403:3: ( field_constriant[column] )*
-                loop8 : do {
-                    int alt8 = 2;
-                    int LA8_0 = input.LA( 1 );
-                    if ( (LA8_0 == LEFT_PAREN) ) {
-                        alt8 = 1;
-                    }
 
-                    switch ( alt8 ) {
-                        case 1 :
-                            // C:\\dev\\jbossrules\\trunk\\drools-compiler\\src\\main\\resources\\org\\drools\\clp\\CLP.g:403:3: field_constriant[column]
-                        {
-                            pushFollow( FOLLOW_field_constriant_in_normal_pattern615 );
-                            field_constriant( column );
-                            _fsp--;
+                switch (alt8) {
+            	case 1 :
+            	    // C:\\dev\\jbossrules\\trunk4\\drools-clips\\src\\main\\resources\\org\\drools\\clp\\CLP.g:403:3: field_constriant[pattern]
+            	    {
+            	    pushFollow(FOLLOW_field_constriant_in_normal_pattern615);
+            	    field_constriant(pattern);
+            	    _fsp--;
 
-                        }
-                            break;
 
-                        default :
-                            break loop8;
-                    }
-                } while ( true );
+            	    }
+            	    break;
 
-                match( input,
-                       RIGHT_PAREN,
-                       FOLLOW_RIGHT_PAREN_in_normal_pattern625 );
+            	default :
+            	    break loop8;
+                }
+            } while (true);
 
+            match(input,RIGHT_PAREN,FOLLOW_RIGHT_PAREN_in_normal_pattern625); 
+
             }
 
-        } catch ( RecognitionException re ) {
-            reportError( re );
-            recover( input,
-                     re );
-        } finally {
         }
-        return;
+        catch (RecognitionException re) {
+            reportError(re);
+            recover(input,re);
+        }
+        finally {
+        }
+        return ;
     }
-
     // $ANTLR end normal_pattern
 
+
     // $ANTLR start bound_pattern
-    // C:\\dev\\jbossrules\\trunk\\drools-compiler\\src\\main\\resources\\org\\drools\\clp\\CLP.g:409:1: bound_pattern[ConditionalElementDescr in_ce] : var= VAR ASSIGN_OP LEFT_PAREN name= NAME ( field_constriant[column] )* RIGHT_PAREN ;
-    public void bound_pattern(ConditionalElementDescr in_ce) throws RecognitionException {
-        Token var = null;
-        Token name = null;
+    // C:\\dev\\jbossrules\\trunk4\\drools-clips\\src\\main\\resources\\org\\drools\\clp\\CLP.g:409:1: bound_pattern[ConditionalElementDescr in_ce] : var= VAR ASSIGN_OP LEFT_PAREN name= NAME ( field_constriant[pattern] )* RIGHT_PAREN ;
+    public final void bound_pattern(ConditionalElementDescr in_ce) throws RecognitionException {
+        Token var=null;
+        Token name=null;
 
-        ColumnDescr column = null;
-        String identifier = null;
-
+        
+                PatternDescr pattern = null;
+                String identifier = null;
+            
         try {
-            // C:\\dev\\jbossrules\\trunk\\drools-compiler\\src\\main\\resources\\org\\drools\\clp\\CLP.g:414:4: (var= VAR ASSIGN_OP LEFT_PAREN name= NAME ( field_constriant[column] )* RIGHT_PAREN )
-            // C:\\dev\\jbossrules\\trunk\\drools-compiler\\src\\main\\resources\\org\\drools\\clp\\CLP.g:414:4: var= VAR ASSIGN_OP LEFT_PAREN name= NAME ( field_constriant[column] )* RIGHT_PAREN
+            // C:\\dev\\jbossrules\\trunk4\\drools-clips\\src\\main\\resources\\org\\drools\\clp\\CLP.g:414:4: (var= VAR ASSIGN_OP LEFT_PAREN name= NAME ( field_constriant[pattern] )* RIGHT_PAREN )
+            // C:\\dev\\jbossrules\\trunk4\\drools-clips\\src\\main\\resources\\org\\drools\\clp\\CLP.g:414:4: var= VAR ASSIGN_OP LEFT_PAREN name= NAME ( field_constriant[pattern] )* RIGHT_PAREN
             {
-                var = (Token) input.LT( 1 );
-                match( input,
-                       VAR,
-                       FOLLOW_VAR_in_bound_pattern653 );
+            var=(Token)input.LT(1);
+            match(input,VAR,FOLLOW_VAR_in_bound_pattern653); 
+            
+            			identifier = var.getText();
+            		
+            match(input,ASSIGN_OP,FOLLOW_ASSIGN_OP_in_bound_pattern659); 
+            match(input,LEFT_PAREN,FOLLOW_LEFT_PAREN_in_bound_pattern661); 
+            name=(Token)input.LT(1);
+            match(input,NAME,FOLLOW_NAME_in_bound_pattern665); 
+            
+            			pattern = new PatternDescr(name.getText());
+            			pattern.setIdentifier( identifier );
+            			in_ce.addDescr( pattern );	    
+            		
+            // C:\\dev\\jbossrules\\trunk4\\drools-clips\\src\\main\\resources\\org\\drools\\clp\\CLP.g:423:3: ( field_constriant[pattern] )*
+            loop9:
+            do {
+                int alt9=2;
+                int LA9_0 = input.LA(1);
 
-                identifier = var.getText();
+                if ( (LA9_0==LEFT_PAREN) ) {
+                    alt9=1;
+                }
 
-                match( input,
-                       ASSIGN_OP,
-                       FOLLOW_ASSIGN_OP_in_bound_pattern659 );
-                match( input,
-                       LEFT_PAREN,
-                       FOLLOW_LEFT_PAREN_in_bound_pattern661 );
-                name = (Token) input.LT( 1 );
-                match( input,
-                       NAME,
-                       FOLLOW_NAME_in_bound_pattern665 );
 
-                column = new ColumnDescr( name.getText() );
-                column.setIdentifier( identifier );
-                in_ce.addDescr( column );
+                switch (alt9) {
+            	case 1 :
+            	    // C:\\dev\\jbossrules\\trunk4\\drools-clips\\src\\main\\resources\\org\\drools\\clp\\CLP.g:423:3: field_constriant[pattern]
+            	    {
+            	    pushFollow(FOLLOW_field_constriant_in_bound_pattern674);
+            	    field_constriant(pattern);
+            	    _fsp--;
 
-                // C:\\dev\\jbossrules\\trunk\\drools-compiler\\src\\main\\resources\\org\\drools\\clp\\CLP.g:423:3: ( field_constriant[column] )*
-                loop9 : do {
-                    int alt9 = 2;
-                    int LA9_0 = input.LA( 1 );
-                    if ( (LA9_0 == LEFT_PAREN) ) {
-                        alt9 = 1;
-                    }
 
-                    switch ( alt9 ) {
-                        case 1 :
-                            // C:\\dev\\jbossrules\\trunk\\drools-compiler\\src\\main\\resources\\org\\drools\\clp\\CLP.g:423:3: field_constriant[column]
-                        {
-                            pushFollow( FOLLOW_field_constriant_in_bound_pattern674 );
-                            field_constriant( column );
-                            _fsp--;
+            	    }
+            	    break;
 
-                        }
-                            break;
+            	default :
+            	    break loop9;
+                }
+            } while (true);
 
-                        default :
-                            break loop9;
-                    }
-                } while ( true );
+            match(input,RIGHT_PAREN,FOLLOW_RIGHT_PAREN_in_bound_pattern681); 
 
-                match( input,
-                       RIGHT_PAREN,
-                       FOLLOW_RIGHT_PAREN_in_bound_pattern681 );
-
             }
 
-        } catch ( RecognitionException re ) {
-            reportError( re );
-            recover( input,
-                     re );
-        } finally {
         }
-        return;
+        catch (RecognitionException re) {
+            reportError(re);
+            recover(input,re);
+        }
+        finally {
+        }
+        return ;
     }
-
     // $ANTLR end bound_pattern
 
+
     // $ANTLR start field_constriant
-    // C:\\dev\\jbossrules\\trunk\\drools-compiler\\src\\main\\resources\\org\\drools\\clp\\CLP.g:427:1: field_constriant[ColumnDescr column] : LEFT_PAREN f= NAME connected_constraint[fc, column] RIGHT_PAREN ;
-    public void field_constriant(ColumnDescr column) throws RecognitionException {
-        Token f = null;
+    // C:\\dev\\jbossrules\\trunk4\\drools-clips\\src\\main\\resources\\org\\drools\\clp\\CLP.g:427:1: field_constriant[PatternDescr pattern] : LEFT_PAREN f= NAME connected_constraint[fc, pattern] RIGHT_PAREN ;
+    public final void field_constriant(PatternDescr pattern) throws RecognitionException {
+        Token f=null;
 
-        List list = new ArrayList();
-        FieldBindingDescr fbd = null;
-        FieldConstraintDescr fc = null;
-        String op = "==";
-
+        
+             	List list = new ArrayList();
+        		FieldBindingDescr fbd = null;
+        		FieldConstraintDescr fc = null;
+        		String op = "==";
+        	
         try {
-            // C:\\dev\\jbossrules\\trunk\\drools-compiler\\src\\main\\resources\\org\\drools\\clp\\CLP.g:435:3: ( LEFT_PAREN f= NAME connected_constraint[fc, column] RIGHT_PAREN )
-            // C:\\dev\\jbossrules\\trunk\\drools-compiler\\src\\main\\resources\\org\\drools\\clp\\CLP.g:435:3: LEFT_PAREN f= NAME connected_constraint[fc, column] RIGHT_PAREN
+            // C:\\dev\\jbossrules\\trunk4\\drools-clips\\src\\main\\resources\\org\\drools\\clp\\CLP.g:435:3: ( LEFT_PAREN f= NAME connected_constraint[fc, pattern] RIGHT_PAREN )
+            // C:\\dev\\jbossrules\\trunk4\\drools-clips\\src\\main\\resources\\org\\drools\\clp\\CLP.g:435:3: LEFT_PAREN f= NAME connected_constraint[fc, pattern] RIGHT_PAREN
             {
-                match( input,
-                       LEFT_PAREN,
-                       FOLLOW_LEFT_PAREN_in_field_constriant712 );
-                f = (Token) input.LT( 1 );
-                match( input,
-                       NAME,
-                       FOLLOW_NAME_in_field_constriant716 );
+            match(input,LEFT_PAREN,FOLLOW_LEFT_PAREN_in_field_constriant712); 
+            f=(Token)input.LT(1);
+            match(input,NAME,FOLLOW_NAME_in_field_constriant716); 
+            
+            			fc = new FieldConstraintDescr(f.getText());
+            			fc.setLocation( offset(f.getLine()), f.getCharPositionInLine() );
+            			fc.setStartCharacter( ((CommonToken)f).getStartIndex() );
+            			pattern.addDescr( fc );			
+            		
+            pushFollow(FOLLOW_connected_constraint_in_field_constriant731);
+            connected_constraint(fc,  pattern);
+            _fsp--;
 
-                fc = new FieldConstraintDescr( f.getText() );
-                fc.setLocation( offset( f.getLine() ),
-                                f.getCharPositionInLine() );
-                fc.setStartCharacter( ((CommonToken) f).getStartIndex() );
-                column.addDescr( fc );
+            match(input,RIGHT_PAREN,FOLLOW_RIGHT_PAREN_in_field_constriant737); 
 
-                pushFollow( FOLLOW_connected_constraint_in_field_constriant731 );
-                connected_constraint( fc,
-                                      column );
-                _fsp--;
-
-                match( input,
-                       RIGHT_PAREN,
-                       FOLLOW_RIGHT_PAREN_in_field_constriant737 );
-
             }
 
-        } catch ( RecognitionException re ) {
-            reportError( re );
-            recover( input,
-                     re );
-        } finally {
         }
-        return;
+        catch (RecognitionException re) {
+            reportError(re);
+            recover(input,re);
+        }
+        finally {
+        }
+        return ;
     }
-
     // $ANTLR end field_constriant
 
+
     // $ANTLR start connected_constraint
-    // C:\\dev\\jbossrules\\trunk\\drools-compiler\\src\\main\\resources\\org\\drools\\clp\\CLP.g:447:1: connected_constraint[FieldConstraintDescr fc, ColumnDescr column] : restriction[fc, column] ( AMPERSAND connected_constraint[fc, column] | PIPE connected_constraint[fc, column] )? ;
-    public void connected_constraint(FieldConstraintDescr fc,
-                                     ColumnDescr column) throws RecognitionException {
+    // C:\\dev\\jbossrules\\trunk4\\drools-clips\\src\\main\\resources\\org\\drools\\clp\\CLP.g:447:1: connected_constraint[FieldConstraintDescr fc, PatternDescr pattern] : restriction[fc, pattern] ( AMPERSAND connected_constraint[fc, pattern] | PIPE connected_constraint[fc, pattern] )? ;
+    public final void connected_constraint(FieldConstraintDescr fc, PatternDescr pattern) throws RecognitionException {
         try {
-            // C:\\dev\\jbossrules\\trunk\\drools-compiler\\src\\main\\resources\\org\\drools\\clp\\CLP.g:449:2: ( restriction[fc, column] ( AMPERSAND connected_constraint[fc, column] | PIPE connected_constraint[fc, column] )? )
-            // C:\\dev\\jbossrules\\trunk\\drools-compiler\\src\\main\\resources\\org\\drools\\clp\\CLP.g:449:2: restriction[fc, column] ( AMPERSAND connected_constraint[fc, column] | PIPE connected_constraint[fc, column] )?
+            // C:\\dev\\jbossrules\\trunk4\\drools-clips\\src\\main\\resources\\org\\drools\\clp\\CLP.g:449:2: ( restriction[fc, pattern] ( AMPERSAND connected_constraint[fc, pattern] | PIPE connected_constraint[fc, pattern] )? )
+            // C:\\dev\\jbossrules\\trunk4\\drools-clips\\src\\main\\resources\\org\\drools\\clp\\CLP.g:449:2: restriction[fc, pattern] ( AMPERSAND connected_constraint[fc, pattern] | PIPE connected_constraint[fc, pattern] )?
             {
-                pushFollow( FOLLOW_restriction_in_connected_constraint753 );
-                restriction( fc,
-                             column );
-                _fsp--;
+            pushFollow(FOLLOW_restriction_in_connected_constraint753);
+            restriction(fc,  pattern);
+            _fsp--;
 
-                // C:\\dev\\jbossrules\\trunk\\drools-compiler\\src\\main\\resources\\org\\drools\\clp\\CLP.g:450:2: ( AMPERSAND connected_constraint[fc, column] | PIPE connected_constraint[fc, column] )?
-                int alt10 = 3;
-                int LA10_0 = input.LA( 1 );
-                if ( (LA10_0 == AMPERSAND) ) {
-                    alt10 = 1;
-                } else if ( (LA10_0 == PIPE) ) {
-                    alt10 = 2;
-                }
-                switch ( alt10 ) {
-                    case 1 :
-                        // C:\\dev\\jbossrules\\trunk\\drools-compiler\\src\\main\\resources\\org\\drools\\clp\\CLP.g:451:6: AMPERSAND connected_constraint[fc, column]
+            // C:\\dev\\jbossrules\\trunk4\\drools-clips\\src\\main\\resources\\org\\drools\\clp\\CLP.g:450:2: ( AMPERSAND connected_constraint[fc, pattern] | PIPE connected_constraint[fc, pattern] )?
+            int alt10=3;
+            int LA10_0 = input.LA(1);
+
+            if ( (LA10_0==AMPERSAND) ) {
+                alt10=1;
+            }
+            else if ( (LA10_0==PIPE) ) {
+                alt10=2;
+            }
+            switch (alt10) {
+                case 1 :
+                    // C:\\dev\\jbossrules\\trunk4\\drools-clips\\src\\main\\resources\\org\\drools\\clp\\CLP.g:451:6: AMPERSAND connected_constraint[fc, pattern]
                     {
-                        match( input,
-                               AMPERSAND,
-                               FOLLOW_AMPERSAND_in_connected_constraint765 );
-                        fc.addRestriction( new RestrictionConnectiveDescr( RestrictionConnectiveDescr.AND ) );
-                        pushFollow( FOLLOW_connected_constraint_in_connected_constraint774 );
-                        connected_constraint( fc,
-                                              column );
-                        _fsp--;
+                    match(input,AMPERSAND,FOLLOW_AMPERSAND_in_connected_constraint765); 
+                     fc.addRestriction(new RestrictionConnectiveDescr(RestrictionConnectiveDescr.AND)); 
+                    pushFollow(FOLLOW_connected_constraint_in_connected_constraint774);
+                    connected_constraint(fc,  pattern);
+                    _fsp--;
 
+
                     }
-                        break;
-                    case 2 :
-                        // C:\\dev\\jbossrules\\trunk\\drools-compiler\\src\\main\\resources\\org\\drools\\clp\\CLP.g:454:6: PIPE connected_constraint[fc, column]
+                    break;
+                case 2 :
+                    // C:\\dev\\jbossrules\\trunk4\\drools-clips\\src\\main\\resources\\org\\drools\\clp\\CLP.g:454:6: PIPE connected_constraint[fc, pattern]
                     {
-                        match( input,
-                               PIPE,
-                               FOLLOW_PIPE_in_connected_constraint786 );
-                        fc.addRestriction( new RestrictionConnectiveDescr( RestrictionConnectiveDescr.OR ) );
-                        pushFollow( FOLLOW_connected_constraint_in_connected_constraint795 );
-                        connected_constraint( fc,
-                                              column );
-                        _fsp--;
+                    match(input,PIPE,FOLLOW_PIPE_in_connected_constraint786); 
+                    fc.addRestriction(new RestrictionConnectiveDescr(RestrictionConnectiveDescr.OR)); 
+                    pushFollow(FOLLOW_connected_constraint_in_connected_constraint795);
+                    connected_constraint(fc,  pattern);
+                    _fsp--;
 
+
                     }
-                        break;
+                    break;
 
-                }
+            }
 
+
             }
 
-        } catch ( RecognitionException re ) {
-            reportError( re );
-            recover( input,
-                     re );
-        } finally {
         }
-        return;
+        catch (RecognitionException re) {
+            reportError(re);
+            recover(input,re);
+        }
+        finally {
+        }
+        return ;
     }
-
     // $ANTLR end connected_constraint
 
+
     // $ANTLR start restriction
-    // C:\\dev\\jbossrules\\trunk\\drools-compiler\\src\\main\\resources\\org\\drools\\clp\\CLP.g:459:1: restriction[FieldConstraintDescr fc, ColumnDescr column] : ( TILDE )? ( predicate_constraint[op, column] | return_value_restriction[op, fc] | variable_restriction[op, fc] | lc= literal_restriction ) ;
-    public void restriction(FieldConstraintDescr fc,
-                            ColumnDescr column) throws RecognitionException {
+    // C:\\dev\\jbossrules\\trunk4\\drools-clips\\src\\main\\resources\\org\\drools\\clp\\CLP.g:459:1: restriction[FieldConstraintDescr fc, PatternDescr pattern] : ( TILDE )? ( predicate_constraint[op, pattern] | return_value_restriction[op, fc] | variable_restriction[op, fc] | lc= literal_restriction ) ;
+    public final void restriction(FieldConstraintDescr fc, PatternDescr pattern) throws RecognitionException {
         String lc = null;
 
-        String op = "==";
 
+        
+        			String op = "==";
+        	
         try {
-            // C:\\dev\\jbossrules\\trunk\\drools-compiler\\src\\main\\resources\\org\\drools\\clp\\CLP.g:463:4: ( ( TILDE )? ( predicate_constraint[op, column] | return_value_restriction[op, fc] | variable_restriction[op, fc] | lc= literal_restriction ) )
-            // C:\\dev\\jbossrules\\trunk\\drools-compiler\\src\\main\\resources\\org\\drools\\clp\\CLP.g:463:4: ( TILDE )? ( predicate_constraint[op, column] | return_value_restriction[op, fc] | variable_restriction[op, fc] | lc= literal_restriction )
+            // C:\\dev\\jbossrules\\trunk4\\drools-clips\\src\\main\\resources\\org\\drools\\clp\\CLP.g:463:4: ( ( TILDE )? ( predicate_constraint[op, pattern] | return_value_restriction[op, fc] | variable_restriction[op, fc] | lc= literal_restriction ) )
+            // C:\\dev\\jbossrules\\trunk4\\drools-clips\\src\\main\\resources\\org\\drools\\clp\\CLP.g:463:4: ( TILDE )? ( predicate_constraint[op, pattern] | return_value_restriction[op, fc] | variable_restriction[op, fc] | lc= literal_restriction )
             {
-                // C:\\dev\\jbossrules\\trunk\\drools-compiler\\src\\main\\resources\\org\\drools\\clp\\CLP.g:463:4: ( TILDE )?
-                int alt11 = 2;
-                int LA11_0 = input.LA( 1 );
-                if ( (LA11_0 == TILDE) ) {
-                    alt11 = 1;
-                }
-                switch ( alt11 ) {
-                    case 1 :
-                        // C:\\dev\\jbossrules\\trunk\\drools-compiler\\src\\main\\resources\\org\\drools\\clp\\CLP.g:463:5: TILDE
+            // C:\\dev\\jbossrules\\trunk4\\drools-clips\\src\\main\\resources\\org\\drools\\clp\\CLP.g:463:4: ( TILDE )?
+            int alt11=2;
+            int LA11_0 = input.LA(1);
+
+            if ( (LA11_0==TILDE) ) {
+                alt11=1;
+            }
+            switch (alt11) {
+                case 1 :
+                    // C:\\dev\\jbossrules\\trunk4\\drools-clips\\src\\main\\resources\\org\\drools\\clp\\CLP.g:463:5: TILDE
                     {
-                        match( input,
-                               TILDE,
-                               FOLLOW_TILDE_in_restriction821 );
-                        op = "!=";
+                    match(input,TILDE,FOLLOW_TILDE_in_restriction821); 
+                    op = "!=";
 
                     }
-                        break;
+                    break;
 
-                }
+            }
 
-                // C:\\dev\\jbossrules\\trunk\\drools-compiler\\src\\main\\resources\\org\\drools\\clp\\CLP.g:464:3: ( predicate_constraint[op, column] | return_value_restriction[op, fc] | variable_restriction[op, fc] | lc= literal_restriction )
-                int alt12 = 4;
-                switch ( input.LA( 1 ) ) {
-                    case COLON :
-                        alt12 = 1;
-                        break;
-                    case EQUALS :
-                        alt12 = 2;
-                        break;
-                    case VAR :
-                        alt12 = 3;
-                        break;
-                    case NAME :
-                    case STRING :
-                    case INT :
-                    case FLOAT :
-                    case BOOL :
-                    case NULL :
-                        alt12 = 4;
-                        break;
-                    default :
-                        NoViableAltException nvae = new NoViableAltException( "464:3: ( predicate_constraint[op, column] | return_value_restriction[op, fc] | variable_restriction[op, fc] | lc= literal_restriction )",
-                                                                              12,
-                                                                              0,
-                                                                              input );
-
-                        throw nvae;
+            // C:\\dev\\jbossrules\\trunk4\\drools-clips\\src\\main\\resources\\org\\drools\\clp\\CLP.g:464:3: ( predicate_constraint[op, pattern] | return_value_restriction[op, fc] | variable_restriction[op, fc] | lc= literal_restriction )
+            int alt12=4;
+            switch ( input.LA(1) ) {
+            case COLON:
+                {
+                alt12=1;
                 }
+                break;
+            case EQUALS:
+                {
+                alt12=2;
+                }
+                break;
+            case VAR:
+                {
+                alt12=3;
+                }
+                break;
+            case NAME:
+            case STRING:
+            case INT:
+            case FLOAT:
+            case BOOL:
+            case NULL:
+                {
+                alt12=4;
+                }
+                break;
+            default:
+                NoViableAltException nvae =
+                    new NoViableAltException("464:3: ( predicate_constraint[op, pattern] | return_value_restriction[op, fc] | variable_restriction[op, fc] | lc= literal_restriction )", 12, 0, input);
 
-                switch ( alt12 ) {
-                    case 1 :
-                        // C:\\dev\\jbossrules\\trunk\\drools-compiler\\src\\main\\resources\\org\\drools\\clp\\CLP.g:464:5: predicate_constraint[op, column]
+                throw nvae;
+            }
+
+            switch (alt12) {
+                case 1 :
+                    // C:\\dev\\jbossrules\\trunk4\\drools-clips\\src\\main\\resources\\org\\drools\\clp\\CLP.g:464:5: predicate_constraint[op, pattern]
                     {
-                        pushFollow( FOLLOW_predicate_constraint_in_restriction837 );
-                        predicate_constraint( op,
-                                              column );
-                        _fsp--;
+                    pushFollow(FOLLOW_predicate_constraint_in_restriction837);
+                    predicate_constraint(op,  pattern);
+                    _fsp--;
 
+
                     }
-                        break;
-                    case 2 :
-                        // C:\\dev\\jbossrules\\trunk\\drools-compiler\\src\\main\\resources\\org\\drools\\clp\\CLP.g:465:7: return_value_restriction[op, fc]
+                    break;
+                case 2 :
+                    // C:\\dev\\jbossrules\\trunk4\\drools-clips\\src\\main\\resources\\org\\drools\\clp\\CLP.g:465:7: return_value_restriction[op, fc]
                     {
-                        pushFollow( FOLLOW_return_value_restriction_in_restriction853 );
-                        return_value_restriction( op,
-                                                  fc );
-                        _fsp--;
+                    pushFollow(FOLLOW_return_value_restriction_in_restriction853);
+                    return_value_restriction(op,  fc);
+                    _fsp--;
 
+
                     }
-                        break;
-                    case 3 :
-                        // C:\\dev\\jbossrules\\trunk\\drools-compiler\\src\\main\\resources\\org\\drools\\clp\\CLP.g:466:7: variable_restriction[op, fc]
+                    break;
+                case 3 :
+                    // C:\\dev\\jbossrules\\trunk4\\drools-clips\\src\\main\\resources\\org\\drools\\clp\\CLP.g:466:7: variable_restriction[op, fc]
                     {
-                        pushFollow( FOLLOW_variable_restriction_in_restriction862 );
-                        variable_restriction( op,
-                                              fc );
-                        _fsp--;
+                    pushFollow(FOLLOW_variable_restriction_in_restriction862);
+                    variable_restriction(op,  fc);
+                    _fsp--;
 
+
                     }
-                        break;
-                    case 4 :
-                        // C:\\dev\\jbossrules\\trunk\\drools-compiler\\src\\main\\resources\\org\\drools\\clp\\CLP.g:467:8: lc= literal_restriction
+                    break;
+                case 4 :
+                    // C:\\dev\\jbossrules\\trunk4\\drools-clips\\src\\main\\resources\\org\\drools\\clp\\CLP.g:467:8: lc= literal_restriction
                     {
-                        pushFollow( FOLLOW_literal_restriction_in_restriction874 );
-                        lc = literal_restriction();
-                        _fsp--;
+                    pushFollow(FOLLOW_literal_restriction_in_restriction874);
+                    lc=literal_restriction();
+                    _fsp--;
 
-                        fc.addRestriction( new LiteralRestrictionDescr( op,
-                                                                        lc,
-                                                                        true ) );
-                        op = "==";
+                    
+                         	    			fc.addRestriction( new LiteralRestrictionDescr(op, lc, true) );
+                    		      		op = "==";
+                    		        
 
                     }
-                        break;
+                    break;
 
-                }
+            }
 
+
             }
 
-        } catch ( RecognitionException re ) {
-            reportError( re );
-            recover( input,
-                     re );
-        } finally {
         }
-        return;
+        catch (RecognitionException re) {
+            reportError(re);
+            recover(input,re);
+        }
+        finally {
+        }
+        return ;
     }
-
     // $ANTLR end restriction
 
+
     // $ANTLR start predicate_constraint
-    // C:\\dev\\jbossrules\\trunk\\drools-compiler\\src\\main\\resources\\org\\drools\\clp\\CLP.g:474:1: predicate_constraint[String op, ColumnDescr column] : COLON fc= lisp_list[context, new LispForm(context)] ;
-    public void predicate_constraint(String op,
-                                     ColumnDescr column) throws RecognitionException {
+    // C:\\dev\\jbossrules\\trunk4\\drools-clips\\src\\main\\resources\\org\\drools\\clp\\CLP.g:474:1: predicate_constraint[String op, PatternDescr pattern] : COLON fc= lisp_list[context, new LispForm(context)] ;
+    public final void predicate_constraint(String op, PatternDescr pattern) throws RecognitionException {
         ValueHandler fc = null;
 
-        ExecutionEngine engine = new CLPPredicate();
-        ExecutionBuildContext context = new ExecutionBuildContext( engine,
-                                                                   functionRegistry );
 
+        
+           		ExecutionEngine engine = new CLPPredicate();
+        		ExecutionBuildContext context = new ExecutionBuildContext( engine, functionRegistry );    
+            
         try {
-            // C:\\dev\\jbossrules\\trunk\\drools-compiler\\src\\main\\resources\\org\\drools\\clp\\CLP.g:479:4: ( COLON fc= lisp_list[context, new LispForm(context)] )
-            // C:\\dev\\jbossrules\\trunk\\drools-compiler\\src\\main\\resources\\org\\drools\\clp\\CLP.g:479:4: COLON fc= lisp_list[context, new LispForm(context)]
+            // C:\\dev\\jbossrules\\trunk4\\drools-clips\\src\\main\\resources\\org\\drools\\clp\\CLP.g:479:4: ( COLON fc= lisp_list[context, new LispForm(context)] )
+            // C:\\dev\\jbossrules\\trunk4\\drools-clips\\src\\main\\resources\\org\\drools\\clp\\CLP.g:479:4: COLON fc= lisp_list[context, new LispForm(context)]
             {
-                match( input,
-                       COLON,
-                       FOLLOW_COLON_in_predicate_constraint916 );
-                pushFollow( FOLLOW_lisp_list_in_predicate_constraint922 );
-                fc = lisp_list( context,
-                                new LispForm( context ) );
-                _fsp--;
+            match(input,COLON,FOLLOW_COLON_in_predicate_constraint916); 
+            pushFollow(FOLLOW_lisp_list_in_predicate_constraint922);
+            fc=lisp_list(context,  new LispForm(context));
+            _fsp--;
 
-                engine.addFunction( (FunctionCaller) fc );
-                column.addDescr( new PredicateDescr( engine ) );
+            	
+            		    engine.addFunction( (FunctionCaller) fc );
+            			pattern.addDescr( new PredicateDescr( engine ) );
+            		
 
             }
 
-        } catch ( RecognitionException re ) {
-            reportError( re );
-            recover( input,
-                     re );
-        } finally {
         }
-        return;
+        catch (RecognitionException re) {
+            reportError(re);
+            recover(input,re);
+        }
+        finally {
+        }
+        return ;
     }
-
     // $ANTLR end predicate_constraint
 
+
     // $ANTLR start return_value_restriction
-    // C:\\dev\\jbossrules\\trunk\\drools-compiler\\src\\main\\resources\\org\\drools\\clp\\CLP.g:488:1: return_value_restriction[String op, FieldConstraintDescr fc] : EQUALS func= lisp_list[context, new LispForm(context)] ;
-    public void return_value_restriction(String op,
-                                         FieldConstraintDescr fc) throws RecognitionException {
+    // C:\\dev\\jbossrules\\trunk4\\drools-clips\\src\\main\\resources\\org\\drools\\clp\\CLP.g:488:1: return_value_restriction[String op, FieldConstraintDescr fc] : EQUALS func= lisp_list[context, new LispForm(context)] ;
+    public final void return_value_restriction(String op, FieldConstraintDescr fc) throws RecognitionException {
         ValueHandler func = null;
 
-        ExecutionEngine engine = new CLPReturnValue();
-        ExecutionBuildContext context = new ExecutionBuildContext( engine,
-                                                                   functionRegistry );
 
+        
+        		ExecutionEngine engine = new CLPReturnValue();
+        		ExecutionBuildContext context = new ExecutionBuildContext( engine, functionRegistry );
+        	
         try {
-            // C:\\dev\\jbossrules\\trunk\\drools-compiler\\src\\main\\resources\\org\\drools\\clp\\CLP.g:493:4: ( EQUALS func= lisp_list[context, new LispForm(context)] )
-            // C:\\dev\\jbossrules\\trunk\\drools-compiler\\src\\main\\resources\\org\\drools\\clp\\CLP.g:493:4: EQUALS func= lisp_list[context, new LispForm(context)]
+            // C:\\dev\\jbossrules\\trunk4\\drools-clips\\src\\main\\resources\\org\\drools\\clp\\CLP.g:493:4: ( EQUALS func= lisp_list[context, new LispForm(context)] )
+            // C:\\dev\\jbossrules\\trunk4\\drools-clips\\src\\main\\resources\\org\\drools\\clp\\CLP.g:493:4: EQUALS func= lisp_list[context, new LispForm(context)]
             {
-                match( input,
-                       EQUALS,
-                       FOLLOW_EQUALS_in_return_value_restriction948 );
-                pushFollow( FOLLOW_lisp_list_in_return_value_restriction955 );
-                func = lisp_list( context,
-                                  new LispForm( context ) );
-                _fsp--;
+            match(input,EQUALS,FOLLOW_EQUALS_in_return_value_restriction948); 
+            pushFollow(FOLLOW_lisp_list_in_return_value_restriction955);
+            func=lisp_list(context,  new LispForm(context));
+            _fsp--;
 
-                engine.addFunction( (FunctionCaller) func );
-                fc.addRestriction( new ReturnValueRestrictionDescr( op,
-                                                                    engine ) );
+            					
+               		    engine.addFunction( (FunctionCaller) func );
+            			fc.addRestriction( new ReturnValueRestrictionDescr (op, engine ) );
+            		
 
             }
 
-        } catch ( RecognitionException re ) {
-            reportError( re );
-            recover( input,
-                     re );
-        } finally {
         }
-        return;
+        catch (RecognitionException re) {
+            reportError(re);
+            recover(input,re);
+        }
+        finally {
+        }
+        return ;
     }
-
     // $ANTLR end return_value_restriction
 
+
     // $ANTLR start variable_restriction
-    // C:\\dev\\jbossrules\\trunk\\drools-compiler\\src\\main\\resources\\org\\drools\\clp\\CLP.g:500:1: variable_restriction[String op, FieldConstraintDescr fc] : var= VAR ;
-    public void variable_restriction(String op,
-                                     FieldConstraintDescr fc) throws RecognitionException {
-        Token var = null;
+    // C:\\dev\\jbossrules\\trunk4\\drools-clips\\src\\main\\resources\\org\\drools\\clp\\CLP.g:500:1: variable_restriction[String op, FieldConstraintDescr fc] : var= VAR ;
+    public final void variable_restriction(String op, FieldConstraintDescr fc) throws RecognitionException {
+        Token var=null;
 
         try {
-            // C:\\dev\\jbossrules\\trunk\\drools-compiler\\src\\main\\resources\\org\\drools\\clp\\CLP.g:501:4: (var= VAR )
-            // C:\\dev\\jbossrules\\trunk\\drools-compiler\\src\\main\\resources\\org\\drools\\clp\\CLP.g:501:4: var= VAR
+            // C:\\dev\\jbossrules\\trunk4\\drools-clips\\src\\main\\resources\\org\\drools\\clp\\CLP.g:501:4: (var= VAR )
+            // C:\\dev\\jbossrules\\trunk4\\drools-clips\\src\\main\\resources\\org\\drools\\clp\\CLP.g:501:4: var= VAR
             {
-                var = (Token) input.LT( 1 );
-                match( input,
-                       VAR,
-                       FOLLOW_VAR_in_variable_restriction976 );
+            var=(Token)input.LT(1);
+            match(input,VAR,FOLLOW_VAR_in_variable_restriction976); 
+            
+            			fc.addRestriction( new VariableRestrictionDescr(op, var.getText()) );
+            		
 
-                fc.addRestriction( new VariableRestrictionDescr( op,
-                                                                 var.getText() ) );
-
             }
 
-        } catch ( RecognitionException re ) {
-            reportError( re );
-            recover( input,
-                     re );
-        } finally {
         }
-        return;
+        catch (RecognitionException re) {
+            reportError(re);
+            recover(input,re);
+        }
+        finally {
+        }
+        return ;
     }
-
     // $ANTLR end variable_restriction
 
+
     // $ANTLR start literal_restriction
-    // C:\\dev\\jbossrules\\trunk\\drools-compiler\\src\\main\\resources\\org\\drools\\clp\\CLP.g:507:1: literal_restriction returns [String text] : t= literal ;
-    public String literal_restriction() throws RecognitionException {
+    // C:\\dev\\jbossrules\\trunk4\\drools-clips\\src\\main\\resources\\org\\drools\\clp\\CLP.g:507:1: literal_restriction returns [String text] : t= literal ;
+    public final String literal_restriction() throws RecognitionException {
         String text = null;
 
         String t = null;
 
-        text = null;
 
+        
+        		text = null;
+        	
         try {
-            // C:\\dev\\jbossrules\\trunk\\drools-compiler\\src\\main\\resources\\org\\drools\\clp\\CLP.g:512:6: (t= literal )
-            // C:\\dev\\jbossrules\\trunk\\drools-compiler\\src\\main\\resources\\org\\drools\\clp\\CLP.g:512:6: t= literal
+            // C:\\dev\\jbossrules\\trunk4\\drools-clips\\src\\main\\resources\\org\\drools\\clp\\CLP.g:512:6: (t= literal )
+            // C:\\dev\\jbossrules\\trunk4\\drools-clips\\src\\main\\resources\\org\\drools\\clp\\CLP.g:512:6: t= literal
             {
-                pushFollow( FOLLOW_literal_in_literal_restriction1009 );
-                t = literal();
-                _fsp--;
+            pushFollow(FOLLOW_literal_in_literal_restriction1009);
+            t=literal();
+            _fsp--;
 
-                text = t;
+            
+            	    	text = t;
+            	    
 
             }
 
-        } catch ( RecognitionException re ) {
-            reportError( re );
-            recover( input,
-                     re );
-        } finally {
         }
+        catch (RecognitionException re) {
+            reportError(re);
+            recover(input,re);
+        }
+        finally {
+        }
         return text;
     }
-
     // $ANTLR end literal_restriction
 
+
     // $ANTLR start lisp_list
-    // C:\\dev\\jbossrules\\trunk\\drools-compiler\\src\\main\\resources\\org\\drools\\clp\\CLP.g:517:1: lisp_list[ExecutionBuildContext context, LispList list] returns [ValueHandler valueHandler] : LEFT_PAREN (a= lisp_atom[context] | a= lisp_list[context, list.createList()] )* RIGHT_PAREN ;
-    public ValueHandler lisp_list(ExecutionBuildContext context,
-                                  LispList list) throws RecognitionException {
+    // C:\\dev\\jbossrules\\trunk4\\drools-clips\\src\\main\\resources\\org\\drools\\clp\\CLP.g:517:1: lisp_list[ExecutionBuildContext context, LispList list] returns [ValueHandler valueHandler] : LEFT_PAREN (a= lisp_atom[context] | a= lisp_list[context, list.createList()] )* RIGHT_PAREN ;
+    public final ValueHandler lisp_list(ExecutionBuildContext context, LispList list) throws RecognitionException {
         ValueHandler valueHandler = null;
 
         ValueHandler a = null;
 
+
         try {
-            // C:\\dev\\jbossrules\\trunk\\drools-compiler\\src\\main\\resources\\org\\drools\\clp\\CLP.g:518:4: ( LEFT_PAREN (a= lisp_atom[context] | a= lisp_list[context, list.createList()] )* RIGHT_PAREN )
-            // C:\\dev\\jbossrules\\trunk\\drools-compiler\\src\\main\\resources\\org\\drools\\clp\\CLP.g:518:4: LEFT_PAREN (a= lisp_atom[context] | a= lisp_list[context, list.createList()] )* RIGHT_PAREN
+            // C:\\dev\\jbossrules\\trunk4\\drools-clips\\src\\main\\resources\\org\\drools\\clp\\CLP.g:518:4: ( LEFT_PAREN (a= lisp_atom[context] | a= lisp_list[context, list.createList()] )* RIGHT_PAREN )
+            // C:\\dev\\jbossrules\\trunk4\\drools-clips\\src\\main\\resources\\org\\drools\\clp\\CLP.g:518:4: LEFT_PAREN (a= lisp_atom[context] | a= lisp_list[context, list.createList()] )* RIGHT_PAREN
             {
-                match( input,
-                       LEFT_PAREN,
-                       FOLLOW_LEFT_PAREN_in_lisp_list1028 );
-                // C:\\dev\\jbossrules\\trunk\\drools-compiler\\src\\main\\resources\\org\\drools\\clp\\CLP.g:519:3: (a= lisp_atom[context] | a= lisp_list[context, list.createList()] )*
-                loop13 : do {
-                    int alt13 = 3;
-                    int LA13_0 = input.LA( 1 );
-                    if ( ((LA13_0 >= NAME && LA13_0 <= STRING) || LA13_0 == INT || LA13_0 == VAR || (LA13_0 >= FLOAT && LA13_0 <= NULL)) ) {
-                        alt13 = 1;
-                    } else if ( (LA13_0 == LEFT_PAREN) ) {
-                        alt13 = 2;
-                    }
+            match(input,LEFT_PAREN,FOLLOW_LEFT_PAREN_in_lisp_list1028); 
+            // C:\\dev\\jbossrules\\trunk4\\drools-clips\\src\\main\\resources\\org\\drools\\clp\\CLP.g:519:3: (a= lisp_atom[context] | a= lisp_list[context, list.createList()] )*
+            loop13:
+            do {
+                int alt13=3;
+                int LA13_0 = input.LA(1);
 
-                    switch ( alt13 ) {
-                        case 1 :
-                            // C:\\dev\\jbossrules\\trunk\\drools-compiler\\src\\main\\resources\\org\\drools\\clp\\CLP.g:519:6: a= lisp_atom[context]
-                        {
-                            pushFollow( FOLLOW_lisp_atom_in_lisp_list1038 );
-                            a = lisp_atom( context );
-                            _fsp--;
+                if ( ((LA13_0>=NAME && LA13_0<=STRING)||LA13_0==INT||LA13_0==VAR||(LA13_0>=FLOAT && LA13_0<=NULL)) ) {
+                    alt13=1;
+                }
+                else if ( (LA13_0==LEFT_PAREN) ) {
+                    alt13=2;
+                }
 
-                            list.add( a );
 
-                        }
-                            break;
-                        case 2 :
-                            // C:\\dev\\jbossrules\\trunk\\drools-compiler\\src\\main\\resources\\org\\drools\\clp\\CLP.g:520:6: a= lisp_list[context, list.createList()]
-                        {
-                            pushFollow( FOLLOW_lisp_list_in_lisp_list1054 );
-                            a = lisp_list( context,
-                                           list.createList() );
-                            _fsp--;
+                switch (alt13) {
+            	case 1 :
+            	    // C:\\dev\\jbossrules\\trunk4\\drools-clips\\src\\main\\resources\\org\\drools\\clp\\CLP.g:519:6: a= lisp_atom[context]
+            	    {
+            	    pushFollow(FOLLOW_lisp_atom_in_lisp_list1038);
+            	    a=lisp_atom(context);
+            	    _fsp--;
 
-                            list.add( a );
+            	     list.add( a ); 
 
-                        }
-                            break;
+            	    }
+            	    break;
+            	case 2 :
+            	    // C:\\dev\\jbossrules\\trunk4\\drools-clips\\src\\main\\resources\\org\\drools\\clp\\CLP.g:520:6: a= lisp_list[context, list.createList()]
+            	    {
+            	    pushFollow(FOLLOW_lisp_list_in_lisp_list1054);
+            	    a=lisp_list(context,  list.createList());
+            	    _fsp--;
 
-                        default :
-                            break loop13;
-                    }
-                } while ( true );
+            	     list.add( a ); 
 
-                match( input,
-                       RIGHT_PAREN,
-                       FOLLOW_RIGHT_PAREN_in_lisp_list1084 );
-                valueHandler = list.getValueHandler();
+            	    }
+            	    break;
 
+            	default :
+            	    break loop13;
+                }
+            } while (true);
+
+            match(input,RIGHT_PAREN,FOLLOW_RIGHT_PAREN_in_lisp_list1084); 
+             valueHandler = list.getValueHandler(); 
+
             }
 
-        } catch ( RecognitionException re ) {
-            reportError( re );
-            recover( input,
-                     re );
-        } finally {
         }
+        catch (RecognitionException re) {
+            reportError(re);
+            recover(input,re);
+        }
+        finally {
+        }
         return valueHandler;
     }
-
     // $ANTLR end lisp_list
 
+
     // $ANTLR start lisp_atom
-    // C:\\dev\\jbossrules\\trunk\\drools-compiler\\src\\main\\resources\\org\\drools\\clp\\CLP.g:526:1: lisp_atom[ExecutionBuildContext context] returns [ValueHandler value] : (t= VAR | t= STRING | t= NAME | t= FLOAT | t= INT | t= BOOL | t= NULL ) ;
-    public ValueHandler lisp_atom(ExecutionBuildContext context) throws RecognitionException {
+    // C:\\dev\\jbossrules\\trunk4\\drools-clips\\src\\main\\resources\\org\\drools\\clp\\CLP.g:526:1: lisp_atom[ExecutionBuildContext context] returns [ValueHandler value] : (t= VAR | t= STRING | t= NAME | t= FLOAT | t= INT | t= BOOL | t= NULL ) ;
+    public final ValueHandler lisp_atom(ExecutionBuildContext context) throws RecognitionException {
         ValueHandler value = null;
 
-        Token t = null;
+        Token t=null;
 
-        value = null;
-
+        
+        		value  =  null;		
+        	
         try {
-            // C:\\dev\\jbossrules\\trunk\\drools-compiler\\src\\main\\resources\\org\\drools\\clp\\CLP.g:531:3: ( (t= VAR | t= STRING | t= NAME | t= FLOAT | t= INT | t= BOOL | t= NULL ) )
-            // C:\\dev\\jbossrules\\trunk\\drools-compiler\\src\\main\\resources\\org\\drools\\clp\\CLP.g:531:3: (t= VAR | t= STRING | t= NAME | t= FLOAT | t= INT | t= BOOL | t= NULL )
+            // C:\\dev\\jbossrules\\trunk4\\drools-clips\\src\\main\\resources\\org\\drools\\clp\\CLP.g:531:3: ( (t= VAR | t= STRING | t= NAME | t= FLOAT | t= INT | t= BOOL | t= NULL ) )
+            // C:\\dev\\jbossrules\\trunk4\\drools-clips\\src\\main\\resources\\org\\drools\\clp\\CLP.g:531:3: (t= VAR | t= STRING | t= NAME | t= FLOAT | t= INT | t= BOOL | t= NULL )
             {
-                // C:\\dev\\jbossrules\\trunk\\drools-compiler\\src\\main\\resources\\org\\drools\\clp\\CLP.g:531:3: (t= VAR | t= STRING | t= NAME | t= FLOAT | t= INT | t= BOOL | t= NULL )
-                int alt14 = 7;
-                switch ( input.LA( 1 ) ) {
-                    case VAR :
-                        alt14 = 1;
-                        break;
-                    case STRING :
-                        alt14 = 2;
-                        break;
-                    case NAME :
-                        alt14 = 3;
-                        break;
-                    case FLOAT :
-                        alt14 = 4;
-                        break;
-                    case INT :
-                        alt14 = 5;
-                        break;
-                    case BOOL :
-                        alt14 = 6;
-                        break;
-                    case NULL :
-                        alt14 = 7;
-                        break;
-                    default :
-                        NoViableAltException nvae = new NoViableAltException( "531:3: (t= VAR | t= STRING | t= NAME | t= FLOAT | t= INT | t= BOOL | t= NULL )",
-                                                                              14,
-                                                                              0,
-                                                                              input );
-
-                        throw nvae;
+            // C:\\dev\\jbossrules\\trunk4\\drools-clips\\src\\main\\resources\\org\\drools\\clp\\CLP.g:531:3: (t= VAR | t= STRING | t= NAME | t= FLOAT | t= INT | t= BOOL | t= NULL )
+            int alt14=7;
+            switch ( input.LA(1) ) {
+            case VAR:
+                {
+                alt14=1;
                 }
+                break;
+            case STRING:
+                {
+                alt14=2;
+                }
+                break;
+            case NAME:
+                {
+                alt14=3;
+                }
+                break;
+            case FLOAT:
+                {
+                alt14=4;
+                }
+                break;
+            case INT:
+                {
+                alt14=5;
+                }
+                break;
+            case BOOL:
+                {
+                alt14=6;
+                }
+                break;
+            case NULL:
+                {
+                alt14=7;
+                }
+                break;
+            default:
+                NoViableAltException nvae =
+                    new NoViableAltException("531:3: (t= VAR | t= STRING | t= NAME | t= FLOAT | t= INT | t= BOOL | t= NULL )", 14, 0, input);
 
-                switch ( alt14 ) {
-                    case 1 :
-                        // C:\\dev\\jbossrules\\trunk\\drools-compiler\\src\\main\\resources\\org\\drools\\clp\\CLP.g:531:6: t= VAR
+                throw nvae;
+            }
+
+            switch (alt14) {
+                case 1 :
+                    // C:\\dev\\jbossrules\\trunk4\\drools-clips\\src\\main\\resources\\org\\drools\\clp\\CLP.g:531:6: t= VAR
                     {
-                        t = (Token) input.LT( 1 );
-                        match( input,
-                               VAR,
-                               FOLLOW_VAR_in_lisp_atom1121 );
-                        value = context.getVariableValueHandler( t.getText() );
+                    t=(Token)input.LT(1);
+                    match(input,VAR,FOLLOW_VAR_in_lisp_atom1121); 
+                     value = context.getVariableValueHandler(t.getText() ); 
 
                     }
-                        break;
-                    case 2 :
-                        // C:\\dev\\jbossrules\\trunk\\drools-compiler\\src\\main\\resources\\org\\drools\\clp\\CLP.g:532:6: t= STRING
+                    break;
+                case 2 :
+                    // C:\\dev\\jbossrules\\trunk4\\drools-clips\\src\\main\\resources\\org\\drools\\clp\\CLP.g:532:6: t= STRING
                     {
-                        t = (Token) input.LT( 1 );
-                        match( input,
-                               STRING,
-                               FOLLOW_STRING_in_lisp_atom1133 );
-                        value = new ObjectValueHandler( getString( t ) );
+                    t=(Token)input.LT(1);
+                    match(input,STRING,FOLLOW_STRING_in_lisp_atom1133); 
+                     value = new ObjectValueHandler( getString( t ) ); 
 
                     }
-                        break;
-                    case 3 :
-                        // C:\\dev\\jbossrules\\trunk\\drools-compiler\\src\\main\\resources\\org\\drools\\clp\\CLP.g:533:7: t= NAME
+                    break;
+                case 3 :
+                    // C:\\dev\\jbossrules\\trunk4\\drools-clips\\src\\main\\resources\\org\\drools\\clp\\CLP.g:533:7: t= NAME
                     {
-                        t = (Token) input.LT( 1 );
-                        match( input,
-                               NAME,
-                               FOLLOW_NAME_in_lisp_atom1145 );
-                        value = new ObjectValueHandler( t.getText() );
+                    t=(Token)input.LT(1);
+                    match(input,NAME,FOLLOW_NAME_in_lisp_atom1145); 
+                     value = new ObjectValueHandler( t.getText() ); 
 
                     }
-                        break;
-                    case 4 :
-                        // C:\\dev\\jbossrules\\trunk\\drools-compiler\\src\\main\\resources\\org\\drools\\clp\\CLP.g:534:6: t= FLOAT
+                    break;
+                case 4 :
+                    // C:\\dev\\jbossrules\\trunk4\\drools-clips\\src\\main\\resources\\org\\drools\\clp\\CLP.g:534:6: t= FLOAT
                     {
-                        t = (Token) input.LT( 1 );
-                        match( input,
-                               FLOAT,
-                               FOLLOW_FLOAT_in_lisp_atom1160 );
-                        value = new DoubleValueHandler( t.getText() );
+                    t=(Token)input.LT(1);
+                    match(input,FLOAT,FOLLOW_FLOAT_in_lisp_atom1160); 
+                     value = new DoubleValueHandler( t.getText() ); 
 
                     }
-                        break;
-                    case 5 :
-                        // C:\\dev\\jbossrules\\trunk\\drools-compiler\\src\\main\\resources\\org\\drools\\clp\\CLP.g:535:6: t= INT
+                    break;
+                case 5 :
+                    // C:\\dev\\jbossrules\\trunk4\\drools-clips\\src\\main\\resources\\org\\drools\\clp\\CLP.g:535:6: t= INT
                     {
-                        t = (Token) input.LT( 1 );
-                        match( input,
-                               INT,
-                               FOLLOW_INT_in_lisp_atom1172 );
-                        value = new LongValueHandler( t.getText() );
+                    t=(Token)input.LT(1);
+                    match(input,INT,FOLLOW_INT_in_lisp_atom1172); 
+                     value = new LongValueHandler( t.getText() ); 
 
                     }
-                        break;
-                    case 6 :
-                        // C:\\dev\\jbossrules\\trunk\\drools-compiler\\src\\main\\resources\\org\\drools\\clp\\CLP.g:536:6: t= BOOL
+                    break;
+                case 6 :
+                    // C:\\dev\\jbossrules\\trunk4\\drools-clips\\src\\main\\resources\\org\\drools\\clp\\CLP.g:536:6: t= BOOL
                     {
-                        t = (Token) input.LT( 1 );
-                        match( input,
-                               BOOL,
-                               FOLLOW_BOOL_in_lisp_atom1188 );
-                        value = new BooleanValueHandler( t.getText() );
+                    t=(Token)input.LT(1);
+                    match(input,BOOL,FOLLOW_BOOL_in_lisp_atom1188); 
+                     value = new BooleanValueHandler( t.getText() ); 
 
                     }
-                        break;
-                    case 7 :
-                        // C:\\dev\\jbossrules\\trunk\\drools-compiler\\src\\main\\resources\\org\\drools\\clp\\CLP.g:537:6: t= NULL
+                    break;
+                case 7 :
+                    // C:\\dev\\jbossrules\\trunk4\\drools-clips\\src\\main\\resources\\org\\drools\\clp\\CLP.g:537:6: t= NULL
                     {
-                        t = (Token) input.LT( 1 );
-                        match( input,
-                               NULL,
-                               FOLLOW_NULL_in_lisp_atom1206 );
-                        value = ObjectValueHandler.NULL;
+                    t=(Token)input.LT(1);
+                    match(input,NULL,FOLLOW_NULL_in_lisp_atom1206); 
+                     value = ObjectValueHandler.NULL; 
 
                     }
-                        break;
+                    break;
 
-                }
+            }
 
+
             }
 
-        } catch ( RecognitionException re ) {
-            reportError( re );
-            recover( input,
-                     re );
-        } finally {
         }
+        catch (RecognitionException re) {
+            reportError(re);
+            recover(input,re);
+        }
+        finally {
+        }
         return value;
     }
-
     // $ANTLR end lisp_atom
 
+
     // $ANTLR start literal
-    // C:\\dev\\jbossrules\\trunk\\drools-compiler\\src\\main\\resources\\org\\drools\\clp\\CLP.g:541:1: literal returns [String text] : (t= STRING | t= NAME | t= INT | t= FLOAT | t= BOOL | t= NULL ) ;
-    public String literal() throws RecognitionException {
+    // C:\\dev\\jbossrules\\trunk4\\drools-clips\\src\\main\\resources\\org\\drools\\clp\\CLP.g:541:1: literal returns [String text] : (t= STRING | t= NAME | t= INT | t= FLOAT | t= BOOL | t= NULL ) ;
+    public final String literal() throws RecognitionException {
         String text = null;
 
-        Token t = null;
+        Token t=null;
 
-        text = null;
-
+        
+        		text = null;
+        	
         try {
-            // C:\\dev\\jbossrules\\trunk\\drools-compiler\\src\\main\\resources\\org\\drools\\clp\\CLP.g:545:4: ( (t= STRING | t= NAME | t= INT | t= FLOAT | t= BOOL | t= NULL ) )
-            // C:\\dev\\jbossrules\\trunk\\drools-compiler\\src\\main\\resources\\org\\drools\\clp\\CLP.g:545:4: (t= STRING | t= NAME | t= INT | t= FLOAT | t= BOOL | t= NULL )
+            // C:\\dev\\jbossrules\\trunk4\\drools-clips\\src\\main\\resources\\org\\drools\\clp\\CLP.g:545:4: ( (t= STRING | t= NAME | t= INT | t= FLOAT | t= BOOL | t= NULL ) )
+            // C:\\dev\\jbossrules\\trunk4\\drools-clips\\src\\main\\resources\\org\\drools\\clp\\CLP.g:545:4: (t= STRING | t= NAME | t= INT | t= FLOAT | t= BOOL | t= NULL )
             {
-                // C:\\dev\\jbossrules\\trunk\\drools-compiler\\src\\main\\resources\\org\\drools\\clp\\CLP.g:545:4: (t= STRING | t= NAME | t= INT | t= FLOAT | t= BOOL | t= NULL )
-                int alt15 = 6;
-                switch ( input.LA( 1 ) ) {
-                    case STRING :
-                        alt15 = 1;
-                        break;
-                    case NAME :
-                        alt15 = 2;
-                        break;
-                    case INT :
-                        alt15 = 3;
-                        break;
-                    case FLOAT :
-                        alt15 = 4;
-                        break;
-                    case BOOL :
-                        alt15 = 5;
-                        break;
-                    case NULL :
-                        alt15 = 6;
-                        break;
-                    default :
-                        NoViableAltException nvae = new NoViableAltException( "545:4: (t= STRING | t= NAME | t= INT | t= FLOAT | t= BOOL | t= NULL )",
-                                                                              15,
-                                                                              0,
-                                                                              input );
-
-                        throw nvae;
+            // C:\\dev\\jbossrules\\trunk4\\drools-clips\\src\\main\\resources\\org\\drools\\clp\\CLP.g:545:4: (t= STRING | t= NAME | t= INT | t= FLOAT | t= BOOL | t= NULL )
+            int alt15=6;
+            switch ( input.LA(1) ) {
+            case STRING:
+                {
+                alt15=1;
                 }
+                break;
+            case NAME:
+                {
+                alt15=2;
+                }
+                break;
+            case INT:
+                {
+                alt15=3;
+                }
+                break;
+            case FLOAT:
+                {
+                alt15=4;
+                }
+                break;
+            case BOOL:
+                {
+                alt15=5;
+                }
+                break;
+            case NULL:
+                {
+                alt15=6;
+                }
+                break;
+            default:
+                NoViableAltException nvae =
+                    new NoViableAltException("545:4: (t= STRING | t= NAME | t= INT | t= FLOAT | t= BOOL | t= NULL )", 15, 0, input);
 
-                switch ( alt15 ) {
-                    case 1 :
-                        // C:\\dev\\jbossrules\\trunk\\drools-compiler\\src\\main\\resources\\org\\drools\\clp\\CLP.g:545:8: t= STRING
+                throw nvae;
+            }
+
+            switch (alt15) {
+                case 1 :
+                    // C:\\dev\\jbossrules\\trunk4\\drools-clips\\src\\main\\resources\\org\\drools\\clp\\CLP.g:545:8: t= STRING
                     {
-                        t = (Token) input.LT( 1 );
-                        match( input,
-                               STRING,
-                               FOLLOW_STRING_in_literal1242 );
-                        text = getString( t );
+                    t=(Token)input.LT(1);
+                    match(input,STRING,FOLLOW_STRING_in_literal1242); 
+                     text = getString( t ); 
 
                     }
-                        break;
-                    case 2 :
-                        // C:\\dev\\jbossrules\\trunk\\drools-compiler\\src\\main\\resources\\org\\drools\\clp\\CLP.g:546:7: t= NAME
+                    break;
+                case 2 :
+                    // C:\\dev\\jbossrules\\trunk4\\drools-clips\\src\\main\\resources\\org\\drools\\clp\\CLP.g:546:7: t= NAME
                     {
-                        t = (Token) input.LT( 1 );
-                        match( input,
-                               NAME,
-                               FOLLOW_NAME_in_literal1255 );
-                        text = t.getText();
+                    t=(Token)input.LT(1);
+                    match(input,NAME,FOLLOW_NAME_in_literal1255); 
+                     text = t.getText(); 
 
                     }
-                        break;
-                    case 3 :
-                        // C:\\dev\\jbossrules\\trunk\\drools-compiler\\src\\main\\resources\\org\\drools\\clp\\CLP.g:547:7: t= INT
+                    break;
+                case 3 :
+                    // C:\\dev\\jbossrules\\trunk4\\drools-clips\\src\\main\\resources\\org\\drools\\clp\\CLP.g:547:7: t= INT
                     {
-                        t = (Token) input.LT( 1 );
-                        match( input,
-                               INT,
-                               FOLLOW_INT_in_literal1271 );
-                        text = t.getText();
+                    t=(Token)input.LT(1);
+                    match(input,INT,FOLLOW_INT_in_literal1271); 
+                     text = t.getText(); 
 
                     }
-                        break;
-                    case 4 :
-                        // C:\\dev\\jbossrules\\trunk\\drools-compiler\\src\\main\\resources\\org\\drools\\clp\\CLP.g:548:7: t= FLOAT
+                    break;
+                case 4 :
+                    // C:\\dev\\jbossrules\\trunk4\\drools-clips\\src\\main\\resources\\org\\drools\\clp\\CLP.g:548:7: t= FLOAT
                     {
-                        t = (Token) input.LT( 1 );
-                        match( input,
-                               FLOAT,
-                               FOLLOW_FLOAT_in_literal1286 );
-                        text = t.getText();
+                    t=(Token)input.LT(1);
+                    match(input,FLOAT,FOLLOW_FLOAT_in_literal1286); 
+                     text = t.getText(); 
 
                     }
-                        break;
-                    case 5 :
-                        // C:\\dev\\jbossrules\\trunk\\drools-compiler\\src\\main\\resources\\org\\drools\\clp\\CLP.g:549:7: t= BOOL
+                    break;
+                case 5 :
+                    // C:\\dev\\jbossrules\\trunk4\\drools-clips\\src\\main\\resources\\org\\drools\\clp\\CLP.g:549:7: t= BOOL
                     {
-                        t = (Token) input.LT( 1 );
-                        match( input,
-                               BOOL,
-                               FOLLOW_BOOL_in_literal1299 );
-                        text = t.getText();
+                    t=(Token)input.LT(1);
+                    match(input,BOOL,FOLLOW_BOOL_in_literal1299); 
+                     text = t.getText(); 
 
                     }
-                        break;
-                    case 6 :
-                        // C:\\dev\\jbossrules\\trunk\\drools-compiler\\src\\main\\resources\\org\\drools\\clp\\CLP.g:550:7: t= NULL
+                    break;
+                case 6 :
+                    // C:\\dev\\jbossrules\\trunk4\\drools-clips\\src\\main\\resources\\org\\drools\\clp\\CLP.g:550:7: t= NULL
                     {
-                        t = (Token) input.LT( 1 );
-                        match( input,
-                               NULL,
-                               FOLLOW_NULL_in_literal1313 );
-                        text = null;
+                    t=(Token)input.LT(1);
+                    match(input,NULL,FOLLOW_NULL_in_literal1313); 
+                     text = null; 
 
                     }
-                        break;
+                    break;
 
-                }
+            }
 
+
             }
 
-        } catch ( RecognitionException re ) {
-            reportError( re );
-            recover( input,
-                     re );
-        } finally {
         }
+        catch (RecognitionException re) {
+            reportError(re);
+            recover(input,re);
+        }
+        finally {
+        }
         return text;
     }
-
     // $ANTLR end literal
 
-    public static final BitSet FOLLOW_LEFT_PAREN_in_defrule68                         = new BitSet( new long[]{0x0000000000000020L} );
-    public static final BitSet FOLLOW_DEFRULE_in_defrule76                            = new BitSet( new long[]{0x0000000000000040L} );
-    public static final BitSet FOLLOW_NAME_in_defrule80                               = new BitSet( new long[]{0x0000000000000080L} );
-    public static final BitSet FOLLOW_STRING_in_defrule92                             = new BitSet( new long[]{0x0000020000010010L} );
-    public static final BitSet FOLLOW_ruleAttribute_in_defrule98                      = new BitSet( new long[]{0x0000020000010010L} );
-    public static final BitSet FOLLOW_ce_in_defrule106                                = new BitSet( new long[]{0x0000020000010010L} );
-    public static final BitSet FOLLOW_41_in_defrule115                                = new BitSet( new long[]{0x0000000000000110L} );
-    public static final BitSet FOLLOW_rhs_in_defrule124                               = new BitSet( new long[]{0x0000000000000100L} );
-    public static final BitSet FOLLOW_RIGHT_PAREN_in_defrule133                       = new BitSet( new long[]{0x0000000000000002L} );
-    public static final BitSet FOLLOW_LEFT_PAREN_in_ruleAttribute150                  = new BitSet( new long[]{0x0000000010000000L} );
-    public static final BitSet FOLLOW_DECLARE_in_ruleAttribute152                     = new BitSet( new long[]{0x0000000000000110L} );
-    public static final BitSet FOLLOW_LEFT_PAREN_in_ruleAttribute159                  = new BitSet( new long[]{0x0000000000000200L} );
-    public static final BitSet FOLLOW_salience_in_ruleAttribute163                    = new BitSet( new long[]{0x0000000000000100L} );
-    public static final BitSet FOLLOW_RIGHT_PAREN_in_ruleAttribute167                 = new BitSet( new long[]{0x0000000000000100L} );
-    public static final BitSet FOLLOW_RIGHT_PAREN_in_ruleAttribute174                 = new BitSet( new long[]{0x0000000000000002L} );
-    public static final BitSet FOLLOW_SALIENCE_in_salience204                         = new BitSet( new long[]{0x0000000000000400L} );
-    public static final BitSet FOLLOW_INT_in_salience208                              = new BitSet( new long[]{0x0000000000000002L} );
-    public static final BitSet FOLLOW_and_ce_in_ce234                                 = new BitSet( new long[]{0x0000000000000002L} );
-    public static final BitSet FOLLOW_or_ce_in_ce244                                  = new BitSet( new long[]{0x0000000000000002L} );
-    public static final BitSet FOLLOW_not_ce_in_ce253                                 = new BitSet( new long[]{0x0000000000000002L} );
-    public static final BitSet FOLLOW_exists_ce_in_ce262                              = new BitSet( new long[]{0x0000000000000002L} );
-    public static final BitSet FOLLOW_eval_ce_in_ce276                                = new BitSet( new long[]{0x0000000000000002L} );
-    public static final BitSet FOLLOW_normal_pattern_in_ce290                         = new BitSet( new long[]{0x0000000000000002L} );
-    public static final BitSet FOLLOW_bound_pattern_in_ce299                          = new BitSet( new long[]{0x0000000000000002L} );
-    public static final BitSet FOLLOW_lisp_list_in_rhs331                             = new BitSet( new long[]{0x0000000000000012L} );
-    public static final BitSet FOLLOW_LEFT_PAREN_in_and_ce359                         = new BitSet( new long[]{0x0000000000000800L} );
-    public static final BitSet FOLLOW_AND_in_and_ce364                                = new BitSet( new long[]{0x0000000000010010L} );
-    public static final BitSet FOLLOW_ce_in_and_ce370                                 = new BitSet( new long[]{0x0000000000010110L} );
-    public static final BitSet FOLLOW_RIGHT_PAREN_in_and_ce379                        = new BitSet( new long[]{0x0000000000000002L} );
-    public static final BitSet FOLLOW_LEFT_PAREN_in_or_ce407                          = new BitSet( new long[]{0x0000000000001000L} );
-    public static final BitSet FOLLOW_OR_in_or_ce412                                  = new BitSet( new long[]{0x0000000000010010L} );
-    public static final BitSet FOLLOW_ce_in_or_ce418                                  = new BitSet( new long[]{0x0000000000010110L} );
-    public static final BitSet FOLLOW_RIGHT_PAREN_in_or_ce427                         = new BitSet( new long[]{0x0000000000000002L} );
-    public static final BitSet FOLLOW_LEFT_PAREN_in_not_ce455                         = new BitSet( new long[]{0x0000000000002000L} );
-    public static final BitSet FOLLOW_NOT_in_not_ce460                                = new BitSet( new long[]{0x0000000000010010L} );
-    public static final BitSet FOLLOW_ce_in_not_ce466                                 = new BitSet( new long[]{0x0000000000000100L} );
-    public static final BitSet FOLLOW_RIGHT_PAREN_in_not_ce474                        = new BitSet( new long[]{0x0000000000000002L} );
-    public static final BitSet FOLLOW_LEFT_PAREN_in_exists_ce503                      = new BitSet( new long[]{0x0000000000004000L} );
-    public static final BitSet FOLLOW_EXISTS_in_exists_ce508                          = new BitSet( new long[]{0x0000000000010010L} );
-    public static final BitSet FOLLOW_ce_in_exists_ce514                              = new BitSet( new long[]{0x0000000000000100L} );
-    public static final BitSet FOLLOW_RIGHT_PAREN_in_exists_ce522                     = new BitSet( new long[]{0x0000000000000002L} );
-    public static final BitSet FOLLOW_LEFT_PAREN_in_eval_ce550                        = new BitSet( new long[]{0x0000000000008000L} );
-    public static final BitSet FOLLOW_TEST_in_eval_ce555                              = new BitSet( new long[]{0x0000000000000010L} );
-    public static final BitSet FOLLOW_lisp_list_in_eval_ce563                         = new BitSet( new long[]{0x0000000000000100L} );
-    public static final BitSet FOLLOW_RIGHT_PAREN_in_eval_ce574                       = new BitSet( new long[]{0x0000000000000002L} );
-    public static final BitSet FOLLOW_LEFT_PAREN_in_normal_pattern602                 = new BitSet( new long[]{0x0000000000000040L} );
-    public static final BitSet FOLLOW_NAME_in_normal_pattern609                       = new BitSet( new long[]{0x0000000000000110L} );
-    public static final BitSet FOLLOW_field_constriant_in_normal_pattern615           = new BitSet( new long[]{0x0000000000000110L} );
-    public static final BitSet FOLLOW_RIGHT_PAREN_in_normal_pattern625                = new BitSet( new long[]{0x0000000000000002L} );
-    public static final BitSet FOLLOW_VAR_in_bound_pattern653                         = new BitSet( new long[]{0x0000000000020000L} );
-    public static final BitSet FOLLOW_ASSIGN_OP_in_bound_pattern659                   = new BitSet( new long[]{0x0000000000000010L} );
-    public static final BitSet FOLLOW_LEFT_PAREN_in_bound_pattern661                  = new BitSet( new long[]{0x0000000000000040L} );
-    public static final BitSet FOLLOW_NAME_in_bound_pattern665                        = new BitSet( new long[]{0x0000000000000110L} );
-    public static final BitSet FOLLOW_field_constriant_in_bound_pattern674            = new BitSet( new long[]{0x0000000000000110L} );
-    public static final BitSet FOLLOW_RIGHT_PAREN_in_bound_pattern681                 = new BitSet( new long[]{0x0000000000000002L} );
-    public static final BitSet FOLLOW_LEFT_PAREN_in_field_constriant712               = new BitSet( new long[]{0x0000000000000040L} );
-    public static final BitSet FOLLOW_NAME_in_field_constriant716                     = new BitSet( new long[]{0x0000000003F104C0L} );
-    public static final BitSet FOLLOW_connected_constraint_in_field_constriant731     = new BitSet( new long[]{0x0000000000000100L} );
-    public static final BitSet FOLLOW_RIGHT_PAREN_in_field_constriant737              = new BitSet( new long[]{0x0000000000000002L} );
-    public static final BitSet FOLLOW_restriction_in_connected_constraint753          = new BitSet( new long[]{0x00000000000C0002L} );
-    public static final BitSet FOLLOW_AMPERSAND_in_connected_constraint765            = new BitSet( new long[]{0x0000000003F104C0L} );
-    public static final BitSet FOLLOW_connected_constraint_in_connected_constraint774 = new BitSet( new long[]{0x0000000000000002L} );
-    public static final BitSet FOLLOW_PIPE_in_connected_constraint786                 = new BitSet( new long[]{0x0000000003F104C0L} );
-    public static final BitSet FOLLOW_connected_constraint_in_connected_constraint795 = new BitSet( new long[]{0x0000000000000002L} );
-    public static final BitSet FOLLOW_TILDE_in_restriction821                         = new BitSet( new long[]{0x0000000003E104C0L} );
-    public static final BitSet FOLLOW_predicate_constraint_in_restriction837          = new BitSet( new long[]{0x0000000000000002L} );
-    public static final BitSet FOLLOW_return_value_restriction_in_restriction853      = new BitSet( new long[]{0x0000000000000002L} );
-    public static final BitSet FOLLOW_variable_restriction_in_restriction862          = new BitSet( new long[]{0x0000000000000002L} );
-    public static final BitSet FOLLOW_literal_restriction_in_restriction874           = new BitSet( new long[]{0x0000000000000002L} );
-    public static final BitSet FOLLOW_COLON_in_predicate_constraint916                = new BitSet( new long[]{0x0000000000000010L} );
-    public static final BitSet FOLLOW_lisp_list_in_predicate_constraint922            = new BitSet( new long[]{0x0000000000000002L} );
-    public static final BitSet FOLLOW_EQUALS_in_return_value_restriction948           = new BitSet( new long[]{0x0000000000000010L} );
-    public static final BitSet FOLLOW_lisp_list_in_return_value_restriction955        = new BitSet( new long[]{0x0000000000000002L} );
-    public static final BitSet FOLLOW_VAR_in_variable_restriction976                  = new BitSet( new long[]{0x0000000000000002L} );
-    public static final BitSet FOLLOW_literal_in_literal_restriction1009              = new BitSet( new long[]{0x0000000000000002L} );
-    public static final BitSet FOLLOW_LEFT_PAREN_in_lisp_list1028                     = new BitSet( new long[]{0x00000000038105D0L} );
-    public static final BitSet FOLLOW_lisp_atom_in_lisp_list1038                      = new BitSet( new long[]{0x00000000038105D0L} );
-    public static final BitSet FOLLOW_lisp_list_in_lisp_list1054                      = new BitSet( new long[]{0x00000000038105D0L} );
-    public static final BitSet FOLLOW_RIGHT_PAREN_in_lisp_list1084                    = new BitSet( new long[]{0x0000000000000002L} );
-    public static final BitSet FOLLOW_VAR_in_lisp_atom1121                            = new BitSet( new long[]{0x0000000000000002L} );
-    public static final BitSet FOLLOW_STRING_in_lisp_atom1133                         = new BitSet( new long[]{0x0000000000000002L} );
-    public static final BitSet FOLLOW_NAME_in_lisp_atom1145                           = new BitSet( new long[]{0x0000000000000002L} );
-    public static final BitSet FOLLOW_FLOAT_in_lisp_atom1160                          = new BitSet( new long[]{0x0000000000000002L} );
-    public static final BitSet FOLLOW_INT_in_lisp_atom1172                            = new BitSet( new long[]{0x0000000000000002L} );
-    public static final BitSet FOLLOW_BOOL_in_lisp_atom1188                           = new BitSet( new long[]{0x0000000000000002L} );
-    public static final BitSet FOLLOW_NULL_in_lisp_atom1206                           = new BitSet( new long[]{0x0000000000000002L} );
-    public static final BitSet FOLLOW_STRING_in_literal1242                           = new BitSet( new long[]{0x0000000000000002L} );
-    public static final BitSet FOLLOW_NAME_in_literal1255                             = new BitSet( new long[]{0x0000000000000002L} );
-    public static final BitSet FOLLOW_INT_in_literal1271                              = new BitSet( new long[]{0x0000000000000002L} );
-    public static final BitSet FOLLOW_FLOAT_in_literal1286                            = new BitSet( new long[]{0x0000000000000002L} );
-    public static final BitSet FOLLOW_BOOL_in_literal1299                             = new BitSet( new long[]{0x0000000000000002L} );
-    public static final BitSet FOLLOW_NULL_in_literal1313                             = new BitSet( new long[]{0x0000000000000002L} );
 
+ 
+
+    public static final BitSet FOLLOW_LEFT_PAREN_in_defrule68 = new BitSet(new long[]{0x0000000000000020L});
+    public static final BitSet FOLLOW_DEFRULE_in_defrule76 = new BitSet(new long[]{0x0000000000000040L});
+    public static final BitSet FOLLOW_NAME_in_defrule80 = new BitSet(new long[]{0x0000000000000080L});
+    public static final BitSet FOLLOW_STRING_in_defrule92 = new BitSet(new long[]{0x0000020000010010L});
+    public static final BitSet FOLLOW_ruleAttribute_in_defrule98 = new BitSet(new long[]{0x0000020000010010L});
+    public static final BitSet FOLLOW_ce_in_defrule106 = new BitSet(new long[]{0x0000020000010010L});
+    public static final BitSet FOLLOW_41_in_defrule115 = new BitSet(new long[]{0x0000000000000110L});
+    public static final BitSet FOLLOW_rhs_in_defrule124 = new BitSet(new long[]{0x0000000000000100L});
+    public static final BitSet FOLLOW_RIGHT_PAREN_in_defrule133 = new BitSet(new long[]{0x0000000000000002L});
+    public static final BitSet FOLLOW_LEFT_PAREN_in_ruleAttribute150 = new BitSet(new long[]{0x0000000010000000L});
+    public static final BitSet FOLLOW_DECLARE_in_ruleAttribute152 = new BitSet(new long[]{0x0000000000000110L});
+    public static final BitSet FOLLOW_LEFT_PAREN_in_ruleAttribute159 = new BitSet(new long[]{0x0000000000000200L});
+    public static final BitSet FOLLOW_salience_in_ruleAttribute163 = new BitSet(new long[]{0x0000000000000100L});
+    public static final BitSet FOLLOW_RIGHT_PAREN_in_ruleAttribute167 = new BitSet(new long[]{0x0000000000000100L});
+    public static final BitSet FOLLOW_RIGHT_PAREN_in_ruleAttribute174 = new BitSet(new long[]{0x0000000000000002L});
+    public static final BitSet FOLLOW_SALIENCE_in_salience204 = new BitSet(new long[]{0x0000000000000400L});
+    public static final BitSet FOLLOW_INT_in_salience208 = new BitSet(new long[]{0x0000000000000002L});
+    public static final BitSet FOLLOW_and_ce_in_ce234 = new BitSet(new long[]{0x0000000000000002L});
+    public static final BitSet FOLLOW_or_ce_in_ce244 = new BitSet(new long[]{0x0000000000000002L});
+    public static final BitSet FOLLOW_not_ce_in_ce253 = new BitSet(new long[]{0x0000000000000002L});
+    public static final BitSet FOLLOW_exists_ce_in_ce262 = new BitSet(new long[]{0x0000000000000002L});
+    public static final BitSet FOLLOW_eval_ce_in_ce276 = new BitSet(new long[]{0x0000000000000002L});
+    public static final BitSet FOLLOW_normal_pattern_in_ce290 = new BitSet(new long[]{0x0000000000000002L});
+    public static final BitSet FOLLOW_bound_pattern_in_ce299 = new BitSet(new long[]{0x0000000000000002L});
+    public static final BitSet FOLLOW_lisp_list_in_rhs331 = new BitSet(new long[]{0x0000000000000012L});
+    public static final BitSet FOLLOW_LEFT_PAREN_in_and_ce359 = new BitSet(new long[]{0x0000000000000800L});
+    public static final BitSet FOLLOW_AND_in_and_ce364 = new BitSet(new long[]{0x0000000000010010L});
+    public static final BitSet FOLLOW_ce_in_and_ce370 = new BitSet(new long[]{0x0000000000010110L});
+    public static final BitSet FOLLOW_RIGHT_PAREN_in_and_ce379 = new BitSet(new long[]{0x0000000000000002L});
+    public static final BitSet FOLLOW_LEFT_PAREN_in_or_ce407 = new BitSet(new long[]{0x0000000000001000L});
+    public static final BitSet FOLLOW_OR_in_or_ce412 = new BitSet(new long[]{0x0000000000010010L});
+    public static final BitSet FOLLOW_ce_in_or_ce418 = new BitSet(new long[]{0x0000000000010110L});
+    public static final BitSet FOLLOW_RIGHT_PAREN_in_or_ce427 = new BitSet(new long[]{0x0000000000000002L});
+    public static final BitSet FOLLOW_LEFT_PAREN_in_not_ce455 = new BitSet(new long[]{0x0000000000002000L});
+    public static final BitSet FOLLOW_NOT_in_not_ce460 = new BitSet(new long[]{0x0000000000010010L});
+    public static final BitSet FOLLOW_ce_in_not_ce466 = new BitSet(new long[]{0x0000000000000100L});
+    public static final BitSet FOLLOW_RIGHT_PAREN_in_not_ce474 = new BitSet(new long[]{0x0000000000000002L});
+    public static final BitSet FOLLOW_LEFT_PAREN_in_exists_ce503 = new BitSet(new long[]{0x0000000000004000L});
+    public static final BitSet FOLLOW_EXISTS_in_exists_ce508 = new BitSet(new long[]{0x0000000000010010L});
+    public static final BitSet FOLLOW_ce_in_exists_ce514 = new BitSet(new long[]{0x0000000000000100L});
+    public static final BitSet FOLLOW_RIGHT_PAREN_in_exists_ce522 = new BitSet(new long[]{0x0000000000000002L});
+    public static final BitSet FOLLOW_LEFT_PAREN_in_eval_ce550 = new BitSet(new long[]{0x0000000000008000L});
+    public static final BitSet FOLLOW_TEST_in_eval_ce555 = new BitSet(new long[]{0x0000000000000010L});
+    public static final BitSet FOLLOW_lisp_list_in_eval_ce563 = new BitSet(new long[]{0x0000000000000100L});
+    public static final BitSet FOLLOW_RIGHT_PAREN_in_eval_ce574 = new BitSet(new long[]{0x0000000000000002L});
+    public static final BitSet FOLLOW_LEFT_PAREN_in_normal_pattern602 = new BitSet(new long[]{0x0000000000000040L});
+    public static final BitSet FOLLOW_NAME_in_normal_pattern609 = new BitSet(new long[]{0x0000000000000110L});
+    public static final BitSet FOLLOW_field_constriant_in_normal_pattern615 = new BitSet(new long[]{0x0000000000000110L});
+    public static final BitSet FOLLOW_RIGHT_PAREN_in_normal_pattern625 = new BitSet(new long[]{0x0000000000000002L});
+    public static final BitSet FOLLOW_VAR_in_bound_pattern653 = new BitSet(new long[]{0x0000000000020000L});
+    public static final BitSet FOLLOW_ASSIGN_OP_in_bound_pattern659 = new BitSet(new long[]{0x0000000000000010L});
+    public static final BitSet FOLLOW_LEFT_PAREN_in_bound_pattern661 = new BitSet(new long[]{0x0000000000000040L});
+    public static final BitSet FOLLOW_NAME_in_bound_pattern665 = new BitSet(new long[]{0x0000000000000110L});
+    public static final BitSet FOLLOW_field_constriant_in_bound_pattern674 = new BitSet(new long[]{0x0000000000000110L});
+    public static final BitSet FOLLOW_RIGHT_PAREN_in_bound_pattern681 = new BitSet(new long[]{0x0000000000000002L});
+    public static final BitSet FOLLOW_LEFT_PAREN_in_field_constriant712 = new BitSet(new long[]{0x0000000000000040L});
+    public static final BitSet FOLLOW_NAME_in_field_constriant716 = new BitSet(new long[]{0x0000000003F104C0L});
+    public static final BitSet FOLLOW_connected_constraint_in_field_constriant731 = new BitSet(new long[]{0x0000000000000100L});
+    public static final BitSet FOLLOW_RIGHT_PAREN_in_field_constriant737 = new BitSet(new long[]{0x0000000000000002L});
+    public static final BitSet FOLLOW_restriction_in_connected_constraint753 = new BitSet(new long[]{0x00000000000C0002L});
+    public static final BitSet FOLLOW_AMPERSAND_in_connected_constraint765 = new BitSet(new long[]{0x0000000003F104C0L});
+    public static final BitSet FOLLOW_connected_constraint_in_connected_constraint774 = new BitSet(new long[]{0x0000000000000002L});
+    public static final BitSet FOLLOW_PIPE_in_connected_constraint786 = new BitSet(new long[]{0x0000000003F104C0L});
+    public static final BitSet FOLLOW_connected_constraint_in_connected_constraint795 = new BitSet(new long[]{0x0000000000000002L});
+    public static final BitSet FOLLOW_TILDE_in_restriction821 = new BitSet(new long[]{0x0000000003E104C0L});
+    public static final BitSet FOLLOW_predicate_constraint_in_restriction837 = new BitSet(new long[]{0x0000000000000002L});
+    public static final BitSet FOLLOW_return_value_restriction_in_restriction853 = new BitSet(new long[]{0x0000000000000002L});
+    public static final BitSet FOLLOW_variable_restriction_in_restriction862 = new BitSet(new long[]{0x0000000000000002L});
+    public static final BitSet FOLLOW_literal_restriction_in_restriction874 = new BitSet(new long[]{0x0000000000000002L});
+    public static final BitSet FOLLOW_COLON_in_predicate_constraint916 = new BitSet(new long[]{0x0000000000000010L});
+    public static final BitSet FOLLOW_lisp_list_in_predicate_constraint922 = new BitSet(new long[]{0x0000000000000002L});
+    public static final BitSet FOLLOW_EQUALS_in_return_value_restriction948 = new BitSet(new long[]{0x0000000000000010L});
+    public static final BitSet FOLLOW_lisp_list_in_return_value_restriction955 = new BitSet(new long[]{0x0000000000000002L});
+    public static final BitSet FOLLOW_VAR_in_variable_restriction976 = new BitSet(new long[]{0x0000000000000002L});
+    public static final BitSet FOLLOW_literal_in_literal_restriction1009 = new BitSet(new long[]{0x0000000000000002L});
+    public static final BitSet FOLLOW_LEFT_PAREN_in_lisp_list1028 = new BitSet(new long[]{0x00000000038105D0L});
+    public static final BitSet FOLLOW_lisp_atom_in_lisp_list1038 = new BitSet(new long[]{0x00000000038105D0L});
+    public static final BitSet FOLLOW_lisp_list_in_lisp_list1054 = new BitSet(new long[]{0x00000000038105D0L});
+    public static final BitSet FOLLOW_RIGHT_PAREN_in_lisp_list1084 = new BitSet(new long[]{0x0000000000000002L});
+    public static final BitSet FOLLOW_VAR_in_lisp_atom1121 = new BitSet(new long[]{0x0000000000000002L});
+    public static final BitSet FOLLOW_STRING_in_lisp_atom1133 = new BitSet(new long[]{0x0000000000000002L});
+    public static final BitSet FOLLOW_NAME_in_lisp_atom1145 = new BitSet(new long[]{0x0000000000000002L});
+    public static final BitSet FOLLOW_FLOAT_in_lisp_atom1160 = new BitSet(new long[]{0x0000000000000002L});
+    public static final BitSet FOLLOW_INT_in_lisp_atom1172 = new BitSet(new long[]{0x0000000000000002L});
+    public static final BitSet FOLLOW_BOOL_in_lisp_atom1188 = new BitSet(new long[]{0x0000000000000002L});
+    public static final BitSet FOLLOW_NULL_in_lisp_atom1206 = new BitSet(new long[]{0x0000000000000002L});
+    public static final BitSet FOLLOW_STRING_in_literal1242 = new BitSet(new long[]{0x0000000000000002L});
+    public static final BitSet FOLLOW_NAME_in_literal1255 = new BitSet(new long[]{0x0000000000000002L});
+    public static final BitSet FOLLOW_INT_in_literal1271 = new BitSet(new long[]{0x0000000000000002L});
+    public static final BitSet FOLLOW_FLOAT_in_literal1286 = new BitSet(new long[]{0x0000000000000002L});
+    public static final BitSet FOLLOW_BOOL_in_literal1299 = new BitSet(new long[]{0x0000000000000002L});
+    public static final BitSet FOLLOW_NULL_in_literal1313 = new BitSet(new long[]{0x0000000000000002L});
+
 }
\ No newline at end of file

Modified: labs/jbossrules/trunk/drools-clips/src/main/resources/org/drools/clp/CLP.g
===================================================================
--- labs/jbossrules/trunk/drools-clips/src/main/resources/org/drools/clp/CLP.g	2007-04-26 00:29:41 UTC (rev 11338)
+++ labs/jbossrules/trunk/drools-clips/src/main/resources/org/drools/clp/CLP.g	2007-04-26 00:42:42 UTC (rev 11339)
@@ -114,7 +114,7 @@
                 else if ( e instanceof MismatchedTreeNodeException ) {
                         MismatchedTreeNodeException mtne = (MismatchedTreeNodeException)e;
                         message.append("mismatched tree node: "+
-                                                           mtne.foundNode+
+                                                           //mtne.foundNode+ FIXME
                                                            "; expecting type "+
                                                            tokenNames[mtne.expecting]);
                 }
@@ -230,7 +230,7 @@
 	@init { 
 	        rule = null; 
 	        AndDescr lhs = null;
-	        ColumnDescr colum = null;
+	        PatternDescr colum = null;
 	        AttributeDescr module = null;	        
 	      }
 	:	loc=LEFT_PAREN 
@@ -393,14 +393,14 @@
 
 normal_pattern[ConditionalElementDescr in_ce]
     @init {
-        ColumnDescr column = null;
+        PatternDescr pattern = null;
     }
 	:	LEFT_PAREN 
 		name=NAME {
-			column = new ColumnDescr(name.getText());
-			in_ce.addDescr( column );
+			pattern = new PatternDescr(name.getText());
+			in_ce.addDescr( pattern );
 		}
-		field_constriant[column]* 	  
+		field_constriant[pattern]* 	  
 		RIGHT_PAREN
 	;		
 	
@@ -408,7 +408,7 @@
 
 bound_pattern[ConditionalElementDescr in_ce]
     @init {
-        ColumnDescr column = null;
+        PatternDescr pattern = null;
         String identifier = null;
     }
 	:	var=VAR {
@@ -416,15 +416,15 @@
 		}
 		ASSIGN_OP LEFT_PAREN name=NAME 
 		{
-			column = new ColumnDescr(name.getText());
-			column.setIdentifier( identifier );
-			in_ce.addDescr( column );	    
+			pattern = new PatternDescr(name.getText());
+			pattern.setIdentifier( identifier );
+			in_ce.addDescr( pattern );	    
 		}
-		field_constriant[column]* 
+		field_constriant[pattern]* 
 		RIGHT_PAREN	
 	;			
 	
-field_constriant[ColumnDescr column] 
+field_constriant[PatternDescr pattern] 
 	@init {
      	List list = new ArrayList();
 		FieldBindingDescr fbd = null;
@@ -437,31 +437,31 @@
 			fc = new FieldConstraintDescr(f.getText());
 			fc.setLocation( offset(f.getLine()), f.getCharPositionInLine() );
 			fc.setStartCharacter( ((CommonToken)f).getStartIndex() );
-			column.addDescr( fc );			
+			pattern.addDescr( fc );			
 		}	  
 		
-		connected_constraint[fc, column] 
+		connected_constraint[fc, pattern] 
 		RIGHT_PAREN		
 	;
 	
-connected_constraint[FieldConstraintDescr fc, ColumnDescr column]
+connected_constraint[FieldConstraintDescr fc, PatternDescr pattern]
 	:
-	restriction[fc, column]
+	restriction[fc, pattern]
 	( 
 	    AMPERSAND { fc.addRestriction(new RestrictionConnectiveDescr(RestrictionConnectiveDescr.AND)); }
-	    connected_constraint[fc, column]
+	    connected_constraint[fc, pattern]
 	| 
 	    PIPE {fc.addRestriction(new RestrictionConnectiveDescr(RestrictionConnectiveDescr.OR)); }
-	    connected_constraint[fc, column]
+	    connected_constraint[fc, pattern]
 	)?
 	;	
 	
-restriction[FieldConstraintDescr fc, ColumnDescr column]
+restriction[FieldConstraintDescr fc, PatternDescr pattern]
 	@init {
 			String op = "==";
 	}
 	:	(TILDE{op = "!=";})?	 	  	 
-		(	predicate_constraint[op, column]	  	  	
+		(	predicate_constraint[op, pattern]	  	  	
 	  	|	return_value_restriction[op, fc]
 	  	|	variable_restriction[op, fc]
 	  	| 	lc=literal_restriction {
@@ -471,7 +471,7 @@
 		)		
 	;		
 
-predicate_constraint[String op, ColumnDescr column]	
+predicate_constraint[String op, PatternDescr pattern]	
     @init {
    		ExecutionEngine engine = new CLPPredicate();
 		ExecutionBuildContext context = new ExecutionBuildContext( engine, functionRegistry );    
@@ -479,7 +479,7 @@
 	:	COLON
 		fc=lisp_list[context, new LispForm(context)] {	
 		    engine.addFunction( (FunctionCaller) fc );
-			column.addDescr( new PredicateDescr( engine ) );
+			pattern.addDescr( new PredicateDescr( engine ) );
 		}	
 		
 	;

Added: labs/jbossrules/trunk/drools-clips/src/test/java/org/drools/Cheese.java
===================================================================
--- labs/jbossrules/trunk/drools-clips/src/test/java/org/drools/Cheese.java	                        (rev 0)
+++ labs/jbossrules/trunk/drools-clips/src/test/java/org/drools/Cheese.java	2007-04-26 00:42:42 UTC (rev 11339)
@@ -0,0 +1,84 @@
+package org.drools;
+
+import java.io.Serializable;
+
+/*
+ * 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 Cheese
+    implements
+    Serializable {
+    /**
+     * 
+     */
+    private static final long serialVersionUID = -1187540653710115339L;
+    private String            type;
+    private int               price;
+
+    public Cheese() {
+
+    }
+
+    public Cheese(final String type,
+                  final int price) {
+        super();
+        this.type = type;
+        this.price = price;
+    }
+
+    public int getPrice() {
+        return this.price;
+    }
+
+    public String getType() {
+        return this.type;
+    }
+
+    public void setType(final String type) {
+        this.type = type;
+    }
+
+    public void setPrice(final int price) {
+        this.price = price;
+    }
+
+    public String toString() {
+        return "Cheese( type='" + this.type + "', price=" + this.price + " )";
+    }
+
+    public int hashCode() {
+        final int PRIME = 31;
+        int result = 1;
+        result = PRIME * result + price;
+        result = PRIME * result + ((type == null) ? 0 : type.hashCode());
+        return result;
+    }
+
+    public boolean equals(Object obj) {
+        if ( this == obj ) return true;
+        if ( obj == null ) return false;
+        if ( getClass() != obj.getClass() ) return false;
+        final Cheese other = (Cheese) obj;
+        if ( price != other.price ) return false;
+        if ( type == null ) {
+            if ( other.type != null ) return false;
+        } else if ( !type.equals( other.type ) ) return false;
+        return true;
+    }
+    
+    
+
+}
\ No newline at end of file

Added: labs/jbossrules/trunk/drools-clips/src/test/java/org/drools/Person.java
===================================================================
--- labs/jbossrules/trunk/drools-clips/src/test/java/org/drools/Person.java	                        (rev 0)
+++ labs/jbossrules/trunk/drools-clips/src/test/java/org/drools/Person.java	2007-04-26 00:42:42 UTC (rev 11339)
@@ -0,0 +1,224 @@
+package org.drools;
+
+import java.io.Serializable;
+import java.math.BigDecimal;
+import java.math.BigInteger;
+
+public class Person
+    implements
+    Serializable,
+    PersonInterface {
+    /**
+     * 
+     */
+    private static final long serialVersionUID = 2640286967578736742L;
+    private String            name;
+    private String            likes;
+    private int               age;
+    private BigDecimal        bigDecimal;
+    private BigInteger        bigInteger;
+    private String            hair;
+
+    private char              sex;
+
+    private boolean           alive;
+
+    private String            status;
+
+    private Cheese            cheese;
+
+    public Person() {
+
+    }
+
+    public Person(final String name) {
+        this( name,
+              "",
+              0 );
+    }
+
+    public Person(final String name,
+                  final String likes) {
+        this( name,
+              likes,
+              0 );
+    }
+
+    public Person(final String name,
+                  final String likes,
+                  final int age) {
+        this.name = name;
+        this.likes = likes;
+        this.age = age;
+    }
+
+    /* (non-Javadoc)
+     * @see org.drools.PersonInterface#getStatus()
+     */
+    public String getStatus() {
+        return this.status;
+    }
+
+    /* (non-Javadoc)
+     * @see org.drools.PersonInterface#setStatus(java.lang.String)
+     */
+    public void setStatus(final String status) {
+        this.status = status;
+    }
+
+    /* (non-Javadoc)
+     * @see org.drools.PersonInterface#getLikes()
+     */
+    public String getLikes() {
+        return this.likes;
+    }
+
+    /* (non-Javadoc)
+     * @see org.drools.PersonInterface#getName()
+     */
+    public String getName() {
+        return this.name;
+    }
+
+    public void setName(final String name) {
+        this.name = name;
+    }
+
+    /* (non-Javadoc)
+     * @see org.drools.PersonInterface#getAge()
+     */
+    public int getAge() {
+        return this.age;
+    }
+
+    public void setAge(final int age) {
+        this.age = age;
+    }
+
+    /* (non-Javadoc)
+     * @see org.drools.PersonInterface#isAlive()
+     */
+    public boolean isAlive() {
+        return this.alive;
+    }
+
+    /* (non-Javadoc)
+     * @see org.drools.PersonInterface#setAlive(boolean)
+     */
+    public void setAlive(final boolean alive) {
+        this.alive = alive;
+    }
+
+    /* (non-Javadoc)
+     * @see org.drools.PersonInterface#getSex()
+     */
+    public char getSex() {
+        return this.sex;
+    }
+
+    /* (non-Javadoc)
+     * @see org.drools.PersonInterface#setSex(char)
+     */
+    public void setSex(final char sex) {
+        this.sex = sex;
+    }
+
+    public String getHair() {
+        return this.hair;
+    }
+
+    public void setHair(final String hair) {
+        this.hair = hair;
+    }
+
+    public String toString() {
+        return "[Person name='" + this.name + "']";
+    }
+
+    /**
+     * @inheritDoc
+     */
+    public int hashCode() {
+        final int PRIME = 31;
+        int result = 1;
+        result = PRIME * result + this.age;
+        result = PRIME * result + (this.alive ? 1231 : 1237);
+        result = PRIME * result + ((this.name == null) ? 0 : this.name.hashCode());
+        result = PRIME * result + this.sex;
+        return result;
+    }
+
+    /**
+     * @inheritDoc
+     */
+    public boolean equals(final Object obj) {
+        if ( this == obj ) {
+            return true;
+        }
+        if ( obj == null ) {
+            return false;
+        }
+        if ( getClass() != obj.getClass() ) {
+            return false;
+        }
+        final Person other = (Person) obj;
+        if ( this.age != other.age ) {
+            return false;
+        }
+        if ( this.alive != other.alive ) {
+            return false;
+        }
+        if ( this.name == null ) {
+            if ( other.name != null ) {
+                return false;
+            }
+        } else if ( !this.name.equals( other.name ) ) {
+            return false;
+        }
+        if ( this.sex != other.sex ) {
+            return false;
+        }
+        return true;
+    }
+
+    /* (non-Javadoc)
+     * @see org.drools.PersonInterface#getBigDecimal()
+     */
+    public BigDecimal getBigDecimal() {
+        return this.bigDecimal;
+    }
+
+    /* (non-Javadoc)
+     * @see org.drools.PersonInterface#setBigDecimal(java.math.BigDecimal)
+     */
+    public void setBigDecimal(final BigDecimal bigDecimal) {
+        this.bigDecimal = bigDecimal;
+    }
+
+    /* (non-Javadoc)
+     * @see org.drools.PersonInterface#getBigInteger()
+     */
+    public BigInteger getBigInteger() {
+        return this.bigInteger;
+    }
+
+    /* (non-Javadoc)
+     * @see org.drools.PersonInterface#setBigInteger(java.math.BigInteger)
+     */
+    public void setBigInteger(final BigInteger bigInteger) {
+        this.bigInteger = bigInteger;
+    }
+
+    public void setLikes(final String likes) {
+        this.likes = likes;
+    }
+
+    public Cheese getCheese() {
+        return this.cheese;
+    }
+
+    public void setCheese(final Cheese cheese) {
+        this.cheese = cheese;
+    }
+
+}
\ No newline at end of file

Added: labs/jbossrules/trunk/drools-clips/src/test/java/org/drools/PersonInterface.java
===================================================================
--- labs/jbossrules/trunk/drools-clips/src/test/java/org/drools/PersonInterface.java	                        (rev 0)
+++ labs/jbossrules/trunk/drools-clips/src/test/java/org/drools/PersonInterface.java	2007-04-26 00:42:42 UTC (rev 11339)
@@ -0,0 +1,34 @@
+package org.drools;
+
+import java.math.BigDecimal;
+import java.math.BigInteger;
+
+public interface PersonInterface {
+
+    public abstract String getStatus();
+
+    public abstract void setStatus(String status);
+
+    public abstract String getLikes();
+
+    public abstract String getName();
+
+    public abstract int getAge();
+
+    public abstract boolean isAlive();
+
+    public abstract void setAlive(boolean alive);
+
+    public abstract char getSex();
+
+    public abstract void setSex(char sex);
+
+    public abstract BigDecimal getBigDecimal();
+
+    public abstract void setBigDecimal(BigDecimal bigDecimal);
+
+    public abstract BigInteger getBigInteger();
+
+    public abstract void setBigInteger(BigInteger bigInteger);
+
+}
\ No newline at end of file




More information about the jboss-svn-commits mailing list