[jboss-svn-commits] JBL Code SVN: r10240 - in labs/jbossrules/trunk/drools-compiler/src/main: resources/org/drools/clp and 1 other directory.

jboss-svn-commits at lists.jboss.org jboss-svn-commits at lists.jboss.org
Thu Mar 15 14:47:56 EDT 2007


Author: tirelli
Date: 2007-03-15 14:47:56 -0400 (Thu, 15 Mar 2007)
New Revision: 10240

Modified:
   labs/jbossrules/trunk/drools-compiler/src/main/java/org/drools/clp/CLPLexer.java
   labs/jbossrules/trunk/drools-compiler/src/main/java/org/drools/clp/CLPParser.java
   labs/jbossrules/trunk/drools-compiler/src/main/resources/org/drools/clp/CLP.g
Log:
JBRULES-720: improving clips parser

Modified: labs/jbossrules/trunk/drools-compiler/src/main/java/org/drools/clp/CLPLexer.java
===================================================================
--- labs/jbossrules/trunk/drools-compiler/src/main/java/org/drools/clp/CLPLexer.java	2007-03-15 18:43:34 UTC (rev 10239)
+++ labs/jbossrules/trunk/drools-compiler/src/main/java/org/drools/clp/CLPLexer.java	2007-03-15 18:47:56 UTC (rev 10240)
@@ -1,4 +1,4 @@
-// $ANTLR 3.0b5 D:\\workspace\\jboss\\jbossrules\\drools-compiler\\src\\main\\resources\\org\\drools\\clp\\CLP.g 2007-03-15 13:31:31
+// $ANTLR 3.0b5 D:\\workspace\\jboss\\jbossrules\\drools-compiler\\src\\main\\resources\\org\\drools\\clp\\CLP.g 2007-03-15 15:42:57
 
 	package org.drools.clp;
 
@@ -12,46 +12,46 @@
 public class CLPLexer extends Lexer {
     public static final int EXISTS=14;
     public static final int DEFRULE=5;
-    public static final int HexDigit=28;
-    public static final int MISC=23;
-    public static final int FLOAT=20;
-    public static final int TILDE=19;
+    public static final int HexDigit=30;
+    public static final int FLOAT=23;
+    public static final int TILDE=20;
     public static final int OR=12;
-    public static final int PIPE=18;
+    public static final int PIPE=19;
+    public static final int ASSIGN_OP=17;
     public static final int AND=11;
-    public static final int EscapeSequence=27;
+    public static final int EscapeSequence=29;
     public static final int INT=10;
-    public static final int SYMBOL=6;
-    public static final int LEFT_SQUARE=33;
-    public static final int SH_STYLE_SINGLE_LINE_COMMENT=31;
-    public static final int AMPERSAND=17;
-    public static final int T38=38;
-    public static final int DECLARE=26;
+    public static final int SYMBOL=33;
+    public static final int LEFT_SQUARE=36;
+    public static final int SH_STYLE_SINGLE_LINE_COMMENT=34;
+    public static final int AMPERSAND=18;
+    public static final int DECLARE=28;
     public static final int T41=41;
-    public static final int LEFT_CURLY=35;
-    public static final int T39=39;
+    public static final int LEFT_CURLY=38;
     public static final int LEFT_PAREN=4;
-    public static final int RIGHT_CURLY=36;
-    public static final int BOOL=21;
-    public static final int WS=25;
+    public static final int RIGHT_CURLY=39;
+    public static final int BOOL=24;
+    public static final int WS=27;
     public static final int STRING=7;
     public static final int T43=43;
     public static final int T42=42;
-    public static final int T40=40;
     public static final int VAR=16;
-    public static final int UnicodeEscape=29;
+    public static final int EQUALS=22;
+    public static final int UnicodeEscape=31;
     public static final int EOF=-1;
-    public static final int EOL=24;
-    public static final int NULL=22;
+    public static final int EOL=26;
+    public static final int NULL=25;
     public static final int Tokens=44;
-    public static final int OctalEscape=30;
+    public static final int COLON=21;
+    public static final int OctalEscape=32;
     public static final int SALIENCE=9;
-    public static final int MULTI_LINE_COMMENT=37;
+    public static final int MULTI_LINE_COMMENT=40;
     public static final int TEST=15;
+    public static final int NAME=6;
     public static final int RIGHT_PAREN=8;
     public static final int NOT=13;
-    public static final int RIGHT_SQUARE=34;
-    public static final int C_STYLE_SINGLE_LINE_COMMENT=32;
+    public static final int RIGHT_SQUARE=37;
+    public static final int C_STYLE_SINGLE_LINE_COMMENT=35;
     public CLPLexer() {;} 
     public CLPLexer(CharStream input) {
         super(input);
@@ -59,11 +59,11 @@
      }
     public String getGrammarFileName() { return "D:\\workspace\\jboss\\jbossrules\\drools-compiler\\src\\main\\resources\\org\\drools\\clp\\CLP.g"; }
 
-    // $ANTLR start T38
-    public void mT38() throws RecognitionException {
+    // $ANTLR start T41
+    public void mT41() throws RecognitionException {
         try {
             ruleNestingLevel++;
-            int _type = T38;
+            int _type = T41;
             int _start = getCharIndex();
             int _line = getLine();
             int _charPosition = getCharPositionInLine();
@@ -88,13 +88,13 @@
             ruleNestingLevel--;
         }
     }
-    // $ANTLR end T38
+    // $ANTLR end T41
 
-    // $ANTLR start T39
-    public void mT39() throws RecognitionException {
+    // $ANTLR start T42
+    public void mT42() throws RecognitionException {
         try {
             ruleNestingLevel++;
-            int _type = T39;
+            int _type = T42;
             int _start = getCharIndex();
             int _line = getLine();
             int _charPosition = getCharPositionInLine();
@@ -120,21 +120,21 @@
             ruleNestingLevel--;
         }
     }
-    // $ANTLR end T39
+    // $ANTLR end T42
 
-    // $ANTLR start T40
-    public void mT40() throws RecognitionException {
+    // $ANTLR start T43
+    public void mT43() throws RecognitionException {
         try {
             ruleNestingLevel++;
-            int _type = T40;
+            int _type = T43;
             int _start = getCharIndex();
             int _line = getLine();
             int _charPosition = getCharPositionInLine();
             int _channel = Token.DEFAULT_CHANNEL;
-            // D:\\workspace\\jboss\\jbossrules\\drools-compiler\\src\\main\\resources\\org\\drools\\clp\\CLP.g:8:7: ( '<-' )
-            // D:\\workspace\\jboss\\jbossrules\\drools-compiler\\src\\main\\resources\\org\\drools\\clp\\CLP.g:8:7: '<-'
+            // D:\\workspace\\jboss\\jbossrules\\drools-compiler\\src\\main\\resources\\org\\drools\\clp\\CLP.g:8:7: ( 'modify' )
+            // D:\\workspace\\jboss\\jbossrules\\drools-compiler\\src\\main\\resources\\org\\drools\\clp\\CLP.g:8:7: 'modify'
             {
-            match("<-"); if (failed) return ;
+            match("modify"); if (failed) return ;
 
 
             }
@@ -152,85 +152,80 @@
             ruleNestingLevel--;
         }
     }
-    // $ANTLR end T40
+    // $ANTLR end T43
 
-    // $ANTLR start T41
-    public void mT41() throws RecognitionException {
+    // $ANTLR start WS
+    public void mWS() throws RecognitionException {
         try {
             ruleNestingLevel++;
-            int _type = T41;
+            int _type = WS;
             int _start = getCharIndex();
             int _line = getLine();
             int _charPosition = getCharPositionInLine();
             int _channel = Token.DEFAULT_CHANNEL;
-            // D:\\workspace\\jboss\\jbossrules\\drools-compiler\\src\\main\\resources\\org\\drools\\clp\\CLP.g:9:7: ( ':' )
-            // D:\\workspace\\jboss\\jbossrules\\drools-compiler\\src\\main\\resources\\org\\drools\\clp\\CLP.g:9:7: ':'
+            // D:\\workspace\\jboss\\jbossrules\\drools-compiler\\src\\main\\resources\\org\\drools\\clp\\CLP.g:582:17: ( ( ' ' | '\\t' | '\\f' | EOL ) )
+            // D:\\workspace\\jboss\\jbossrules\\drools-compiler\\src\\main\\resources\\org\\drools\\clp\\CLP.g:582:17: ( ' ' | '\\t' | '\\f' | EOL )
             {
-            match(':'); if (failed) return ;
+            // D:\\workspace\\jboss\\jbossrules\\drools-compiler\\src\\main\\resources\\org\\drools\\clp\\CLP.g:582: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("582:17: ( ' ' | '\\t' | '\\f' | EOL )", 1, 0, input);
 
+                throw nvae;
             }
 
+            switch (alt1) {
+                case 1 :
+                    // D:\\workspace\\jboss\\jbossrules\\drools-compiler\\src\\main\\resources\\org\\drools\\clp\\CLP.g:582:19: ' '
+                    {
+                    match(' '); if (failed) return ;
 
-            if ( backtracking==0 ) {
+                    }
+                    break;
+                case 2 :
+                    // D:\\workspace\\jboss\\jbossrules\\drools-compiler\\src\\main\\resources\\org\\drools\\clp\\CLP.g:583:19: '\\t'
+                    {
+                    match('\t'); if (failed) return ;
 
-                      if ( token==null && ruleNestingLevel==1 ) {
-                          emit(_type,_line,_charPosition,_channel,_start,getCharIndex()-1);
-                      }
+                    }
+                    break;
+                case 3 :
+                    // D:\\workspace\\jboss\\jbossrules\\drools-compiler\\src\\main\\resources\\org\\drools\\clp\\CLP.g:584:19: '\\f'
+                    {
+                    match('\f'); if (failed) return ;
 
-                      
-            }    }
-        finally {
-            ruleNestingLevel--;
-        }
-    }
-    // $ANTLR end T41
+                    }
+                    break;
+                case 4 :
+                    // D:\\workspace\\jboss\\jbossrules\\drools-compiler\\src\\main\\resources\\org\\drools\\clp\\CLP.g:585:19: EOL
+                    {
+                    mEOL(); if (failed) return ;
 
-    // $ANTLR start T42
-    public void mT42() throws RecognitionException {
-        try {
-            ruleNestingLevel++;
-            int _type = T42;
-            int _start = getCharIndex();
-            int _line = getLine();
-            int _charPosition = getCharPositionInLine();
-            int _channel = Token.DEFAULT_CHANNEL;
-            // D:\\workspace\\jboss\\jbossrules\\drools-compiler\\src\\main\\resources\\org\\drools\\clp\\CLP.g:10:7: ( '=' )
-            // D:\\workspace\\jboss\\jbossrules\\drools-compiler\\src\\main\\resources\\org\\drools\\clp\\CLP.g:10:7: '='
-            {
-            match('='); if (failed) return ;
+                    }
+                    break;
 
             }
 
-
             if ( backtracking==0 ) {
+               _channel=HIDDEN; 
+            }
 
-                      if ( token==null && ruleNestingLevel==1 ) {
-                          emit(_type,_line,_charPosition,_channel,_start,getCharIndex()-1);
-                      }
-
-                      
-            }    }
-        finally {
-            ruleNestingLevel--;
-        }
-    }
-    // $ANTLR end T42
-
-    // $ANTLR start T43
-    public void mT43() throws RecognitionException {
-        try {
-            ruleNestingLevel++;
-            int _type = T43;
-            int _start = getCharIndex();
-            int _line = getLine();
-            int _charPosition = getCharPositionInLine();
-            int _channel = Token.DEFAULT_CHANNEL;
-            // D:\\workspace\\jboss\\jbossrules\\drools-compiler\\src\\main\\resources\\org\\drools\\clp\\CLP.g:11:7: ( 'modify' )
-            // D:\\workspace\\jboss\\jbossrules\\drools-compiler\\src\\main\\resources\\org\\drools\\clp\\CLP.g:11:7: 'modify'
-            {
-            match("modify"); if (failed) return ;
-
-
             }
 
 
@@ -246,7 +241,7 @@
             ruleNestingLevel--;
         }
     }
-    // $ANTLR end T43
+    // $ANTLR end WS
 
     // $ANTLR start DEFRULE
     public void mDEFRULE() throws RecognitionException {
@@ -257,8 +252,8 @@
             int _line = getLine();
             int _charPosition = getCharPositionInLine();
             int _channel = Token.DEFAULT_CHANNEL;
-            // D:\\workspace\\jboss\\jbossrules\\drools-compiler\\src\\main\\resources\\org\\drools\\clp\\CLP.g:598:11: ( 'defrule' )
-            // D:\\workspace\\jboss\\jbossrules\\drools-compiler\\src\\main\\resources\\org\\drools\\clp\\CLP.g:598:11: 'defrule'
+            // D:\\workspace\\jboss\\jbossrules\\drools-compiler\\src\\main\\resources\\org\\drools\\clp\\CLP.g:590:11: ( 'defrule' )
+            // D:\\workspace\\jboss\\jbossrules\\drools-compiler\\src\\main\\resources\\org\\drools\\clp\\CLP.g:590:11: 'defrule'
             {
             match("defrule"); if (failed) return ;
 
@@ -289,8 +284,8 @@
             int _line = getLine();
             int _charPosition = getCharPositionInLine();
             int _channel = Token.DEFAULT_CHANNEL;
-            // D:\\workspace\\jboss\\jbossrules\\drools-compiler\\src\\main\\resources\\org\\drools\\clp\\CLP.g:599:7: ( 'or' )
-            // D:\\workspace\\jboss\\jbossrules\\drools-compiler\\src\\main\\resources\\org\\drools\\clp\\CLP.g:599:7: 'or'
+            // D:\\workspace\\jboss\\jbossrules\\drools-compiler\\src\\main\\resources\\org\\drools\\clp\\CLP.g:591:7: ( 'or' )
+            // D:\\workspace\\jboss\\jbossrules\\drools-compiler\\src\\main\\resources\\org\\drools\\clp\\CLP.g:591:7: 'or'
             {
             match("or"); if (failed) return ;
 
@@ -321,8 +316,8 @@
             int _line = getLine();
             int _charPosition = getCharPositionInLine();
             int _channel = Token.DEFAULT_CHANNEL;
-            // D:\\workspace\\jboss\\jbossrules\\drools-compiler\\src\\main\\resources\\org\\drools\\clp\\CLP.g:600:8: ( 'and' )
-            // D:\\workspace\\jboss\\jbossrules\\drools-compiler\\src\\main\\resources\\org\\drools\\clp\\CLP.g:600:8: 'and'
+            // D:\\workspace\\jboss\\jbossrules\\drools-compiler\\src\\main\\resources\\org\\drools\\clp\\CLP.g:592:8: ( 'and' )
+            // D:\\workspace\\jboss\\jbossrules\\drools-compiler\\src\\main\\resources\\org\\drools\\clp\\CLP.g:592:8: 'and'
             {
             match("and"); if (failed) return ;
 
@@ -353,8 +348,8 @@
             int _line = getLine();
             int _charPosition = getCharPositionInLine();
             int _channel = Token.DEFAULT_CHANNEL;
-            // D:\\workspace\\jboss\\jbossrules\\drools-compiler\\src\\main\\resources\\org\\drools\\clp\\CLP.g:601:8: ( 'not' )
-            // D:\\workspace\\jboss\\jbossrules\\drools-compiler\\src\\main\\resources\\org\\drools\\clp\\CLP.g:601:8: 'not'
+            // D:\\workspace\\jboss\\jbossrules\\drools-compiler\\src\\main\\resources\\org\\drools\\clp\\CLP.g:593:8: ( 'not' )
+            // D:\\workspace\\jboss\\jbossrules\\drools-compiler\\src\\main\\resources\\org\\drools\\clp\\CLP.g:593:8: 'not'
             {
             match("not"); if (failed) return ;
 
@@ -385,8 +380,8 @@
             int _line = getLine();
             int _charPosition = getCharPositionInLine();
             int _channel = Token.DEFAULT_CHANNEL;
-            // D:\\workspace\\jboss\\jbossrules\\drools-compiler\\src\\main\\resources\\org\\drools\\clp\\CLP.g:602:11: ( 'exists' )
-            // D:\\workspace\\jboss\\jbossrules\\drools-compiler\\src\\main\\resources\\org\\drools\\clp\\CLP.g:602:11: 'exists'
+            // D:\\workspace\\jboss\\jbossrules\\drools-compiler\\src\\main\\resources\\org\\drools\\clp\\CLP.g:594:11: ( 'exists' )
+            // D:\\workspace\\jboss\\jbossrules\\drools-compiler\\src\\main\\resources\\org\\drools\\clp\\CLP.g:594:11: 'exists'
             {
             match("exists"); if (failed) return ;
 
@@ -417,8 +412,8 @@
             int _line = getLine();
             int _charPosition = getCharPositionInLine();
             int _channel = Token.DEFAULT_CHANNEL;
-            // D:\\workspace\\jboss\\jbossrules\\drools-compiler\\src\\main\\resources\\org\\drools\\clp\\CLP.g:603:9: ( 'test' )
-            // D:\\workspace\\jboss\\jbossrules\\drools-compiler\\src\\main\\resources\\org\\drools\\clp\\CLP.g:603:9: 'test'
+            // D:\\workspace\\jboss\\jbossrules\\drools-compiler\\src\\main\\resources\\org\\drools\\clp\\CLP.g:595:9: ( 'test' )
+            // D:\\workspace\\jboss\\jbossrules\\drools-compiler\\src\\main\\resources\\org\\drools\\clp\\CLP.g:595:9: 'test'
             {
             match("test"); if (failed) return ;
 
@@ -449,8 +444,8 @@
             int _line = getLine();
             int _charPosition = getCharPositionInLine();
             int _channel = Token.DEFAULT_CHANNEL;
-            // D:\\workspace\\jboss\\jbossrules\\drools-compiler\\src\\main\\resources\\org\\drools\\clp\\CLP.g:605:8: ( 'null' )
-            // D:\\workspace\\jboss\\jbossrules\\drools-compiler\\src\\main\\resources\\org\\drools\\clp\\CLP.g:605:8: 'null'
+            // D:\\workspace\\jboss\\jbossrules\\drools-compiler\\src\\main\\resources\\org\\drools\\clp\\CLP.g:597:8: ( 'null' )
+            // D:\\workspace\\jboss\\jbossrules\\drools-compiler\\src\\main\\resources\\org\\drools\\clp\\CLP.g:597:8: 'null'
             {
             match("null"); if (failed) return ;
 
@@ -472,95 +467,6 @@
     }
     // $ANTLR end NULL
 
-    // $ANTLR start WS
-    public void mWS() throws RecognitionException {
-        try {
-            ruleNestingLevel++;
-            int _type = WS;
-            int _start = getCharIndex();
-            int _line = getLine();
-            int _charPosition = getCharPositionInLine();
-            int _channel = Token.DEFAULT_CHANNEL;
-            // D:\\workspace\\jboss\\jbossrules\\drools-compiler\\src\\main\\resources\\org\\drools\\clp\\CLP.g:608:17: ( ( ' ' | '\\t' | '\\f' | EOL ) )
-            // D:\\workspace\\jboss\\jbossrules\\drools-compiler\\src\\main\\resources\\org\\drools\\clp\\CLP.g:608:17: ( ' ' | '\\t' | '\\f' | EOL )
-            {
-            // D:\\workspace\\jboss\\jbossrules\\drools-compiler\\src\\main\\resources\\org\\drools\\clp\\CLP.g:608: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("608:17: ( ' ' | '\\t' | '\\f' | EOL )", 1, 0, input);
-
-                throw nvae;
-            }
-
-            switch (alt1) {
-                case 1 :
-                    // D:\\workspace\\jboss\\jbossrules\\drools-compiler\\src\\main\\resources\\org\\drools\\clp\\CLP.g:608:19: ' '
-                    {
-                    match(' '); if (failed) return ;
-
-                    }
-                    break;
-                case 2 :
-                    // D:\\workspace\\jboss\\jbossrules\\drools-compiler\\src\\main\\resources\\org\\drools\\clp\\CLP.g:609:19: '\\t'
-                    {
-                    match('\t'); if (failed) return ;
-
-                    }
-                    break;
-                case 3 :
-                    // D:\\workspace\\jboss\\jbossrules\\drools-compiler\\src\\main\\resources\\org\\drools\\clp\\CLP.g:610:19: '\\f'
-                    {
-                    match('\f'); if (failed) return ;
-
-                    }
-                    break;
-                case 4 :
-                    // D:\\workspace\\jboss\\jbossrules\\drools-compiler\\src\\main\\resources\\org\\drools\\clp\\CLP.g:611:19: EOL
-                    {
-                    mEOL(); if (failed) return ;
-
-                    }
-                    break;
-
-            }
-
-            if ( backtracking==0 ) {
-               _channel=HIDDEN; 
-            }
-
-            }
-
-
-            if ( backtracking==0 ) {
-
-                      if ( token==null && ruleNestingLevel==1 ) {
-                          emit(_type,_line,_charPosition,_channel,_start,getCharIndex()-1);
-                      }
-
-                      
-            }    }
-        finally {
-            ruleNestingLevel--;
-        }
-    }
-    // $ANTLR end WS
-
     // $ANTLR start DECLARE
     public void mDECLARE() throws RecognitionException {
         try {
@@ -570,8 +476,8 @@
             int _line = getLine();
             int _charPosition = getCharPositionInLine();
             int _channel = Token.DEFAULT_CHANNEL;
-            // D:\\workspace\\jboss\\jbossrules\\drools-compiler\\src\\main\\resources\\org\\drools\\clp\\CLP.g:617:4: ( 'declare' )
-            // D:\\workspace\\jboss\\jbossrules\\drools-compiler\\src\\main\\resources\\org\\drools\\clp\\CLP.g:617:4: 'declare'
+            // D:\\workspace\\jboss\\jbossrules\\drools-compiler\\src\\main\\resources\\org\\drools\\clp\\CLP.g:599:11: ( 'declare' )
+            // D:\\workspace\\jboss\\jbossrules\\drools-compiler\\src\\main\\resources\\org\\drools\\clp\\CLP.g:599:11: 'declare'
             {
             match("declare"); if (failed) return ;
 
@@ -602,8 +508,8 @@
             int _line = getLine();
             int _charPosition = getCharPositionInLine();
             int _channel = Token.DEFAULT_CHANNEL;
-            // D:\\workspace\\jboss\\jbossrules\\drools-compiler\\src\\main\\resources\\org\\drools\\clp\\CLP.g:620:4: ( 'salience' )
-            // D:\\workspace\\jboss\\jbossrules\\drools-compiler\\src\\main\\resources\\org\\drools\\clp\\CLP.g:620:4: 'salience'
+            // D:\\workspace\\jboss\\jbossrules\\drools-compiler\\src\\main\\resources\\org\\drools\\clp\\CLP.g:601:11: ( 'salience' )
+            // D:\\workspace\\jboss\\jbossrules\\drools-compiler\\src\\main\\resources\\org\\drools\\clp\\CLP.g:601:11: 'salience'
             {
             match("salience"); if (failed) return ;
 
@@ -629,10 +535,10 @@
     public void mEOL() throws RecognitionException {
         try {
             ruleNestingLevel++;
-            // D:\\workspace\\jboss\\jbossrules\\drools-compiler\\src\\main\\resources\\org\\drools\\clp\\CLP.g:624:6: ( ( ( '\\r\\n' )=> '\\r\\n' | '\\r' | '\\n' ) )
-            // D:\\workspace\\jboss\\jbossrules\\drools-compiler\\src\\main\\resources\\org\\drools\\clp\\CLP.g:624:6: ( ( '\\r\\n' )=> '\\r\\n' | '\\r' | '\\n' )
+            // D:\\workspace\\jboss\\jbossrules\\drools-compiler\\src\\main\\resources\\org\\drools\\clp\\CLP.g:605:6: ( ( ( '\\r\\n' )=> '\\r\\n' | '\\r' | '\\n' ) )
+            // D:\\workspace\\jboss\\jbossrules\\drools-compiler\\src\\main\\resources\\org\\drools\\clp\\CLP.g:605:6: ( ( '\\r\\n' )=> '\\r\\n' | '\\r' | '\\n' )
             {
-            // D:\\workspace\\jboss\\jbossrules\\drools-compiler\\src\\main\\resources\\org\\drools\\clp\\CLP.g:624:6: ( ( '\\r\\n' )=> '\\r\\n' | '\\r' | '\\n' )
+            // D:\\workspace\\jboss\\jbossrules\\drools-compiler\\src\\main\\resources\\org\\drools\\clp\\CLP.g:605:6: ( ( '\\r\\n' )=> '\\r\\n' | '\\r' | '\\n' )
             int alt2=3;
             int LA2_0 = input.LA(1);
             if ( (LA2_0=='\r') ) {
@@ -649,13 +555,13 @@
             else {
                 if (backtracking>0) {failed=true; return ;}
                 NoViableAltException nvae =
-                    new NoViableAltException("624:6: ( ( '\\r\\n' )=> '\\r\\n' | '\\r' | '\\n' )", 2, 0, input);
+                    new NoViableAltException("605:6: ( ( '\\r\\n' )=> '\\r\\n' | '\\r' | '\\n' )", 2, 0, input);
 
                 throw nvae;
             }
             switch (alt2) {
                 case 1 :
-                    // D:\\workspace\\jboss\\jbossrules\\drools-compiler\\src\\main\\resources\\org\\drools\\clp\\CLP.g:624:14: ( '\\r\\n' )=> '\\r\\n'
+                    // D:\\workspace\\jboss\\jbossrules\\drools-compiler\\src\\main\\resources\\org\\drools\\clp\\CLP.g:605:14: ( '\\r\\n' )=> '\\r\\n'
                     {
                     match("\r\n"); if (failed) return ;
 
@@ -663,14 +569,14 @@
                     }
                     break;
                 case 2 :
-                    // D:\\workspace\\jboss\\jbossrules\\drools-compiler\\src\\main\\resources\\org\\drools\\clp\\CLP.g:625:25: '\\r'
+                    // D:\\workspace\\jboss\\jbossrules\\drools-compiler\\src\\main\\resources\\org\\drools\\clp\\CLP.g:606:25: '\\r'
                     {
                     match('\r'); if (failed) return ;
 
                     }
                     break;
                 case 3 :
-                    // D:\\workspace\\jboss\\jbossrules\\drools-compiler\\src\\main\\resources\\org\\drools\\clp\\CLP.g:626:25: '\\n'
+                    // D:\\workspace\\jboss\\jbossrules\\drools-compiler\\src\\main\\resources\\org\\drools\\clp\\CLP.g:607:25: '\\n'
                     {
                     match('\n'); if (failed) return ;
 
@@ -698,10 +604,10 @@
             int _line = getLine();
             int _charPosition = getCharPositionInLine();
             int _channel = Token.DEFAULT_CHANNEL;
-            // D:\\workspace\\jboss\\jbossrules\\drools-compiler\\src\\main\\resources\\org\\drools\\clp\\CLP.g:631:4: ( ( '-' )? ( '0' .. '9' )+ )
-            // D:\\workspace\\jboss\\jbossrules\\drools-compiler\\src\\main\\resources\\org\\drools\\clp\\CLP.g:631:4: ( '-' )? ( '0' .. '9' )+
+            // D:\\workspace\\jboss\\jbossrules\\drools-compiler\\src\\main\\resources\\org\\drools\\clp\\CLP.g:612:4: ( ( '-' )? ( '0' .. '9' )+ )
+            // D:\\workspace\\jboss\\jbossrules\\drools-compiler\\src\\main\\resources\\org\\drools\\clp\\CLP.g:612:4: ( '-' )? ( '0' .. '9' )+
             {
-            // D:\\workspace\\jboss\\jbossrules\\drools-compiler\\src\\main\\resources\\org\\drools\\clp\\CLP.g:631:4: ( '-' )?
+            // D:\\workspace\\jboss\\jbossrules\\drools-compiler\\src\\main\\resources\\org\\drools\\clp\\CLP.g:612:4: ( '-' )?
             int alt3=2;
             int LA3_0 = input.LA(1);
             if ( (LA3_0=='-') ) {
@@ -709,7 +615,7 @@
             }
             switch (alt3) {
                 case 1 :
-                    // D:\\workspace\\jboss\\jbossrules\\drools-compiler\\src\\main\\resources\\org\\drools\\clp\\CLP.g:631:5: '-'
+                    // D:\\workspace\\jboss\\jbossrules\\drools-compiler\\src\\main\\resources\\org\\drools\\clp\\CLP.g:612:5: '-'
                     {
                     match('-'); if (failed) return ;
 
@@ -718,7 +624,7 @@
 
             }
 
-            // D:\\workspace\\jboss\\jbossrules\\drools-compiler\\src\\main\\resources\\org\\drools\\clp\\CLP.g:631:10: ( '0' .. '9' )+
+            // D:\\workspace\\jboss\\jbossrules\\drools-compiler\\src\\main\\resources\\org\\drools\\clp\\CLP.g:612:10: ( '0' .. '9' )+
             int cnt4=0;
             loop4:
             do {
@@ -731,7 +637,7 @@
 
                 switch (alt4) {
             	case 1 :
-            	    // D:\\workspace\\jboss\\jbossrules\\drools-compiler\\src\\main\\resources\\org\\drools\\clp\\CLP.g:631:11: '0' .. '9'
+            	    // D:\\workspace\\jboss\\jbossrules\\drools-compiler\\src\\main\\resources\\org\\drools\\clp\\CLP.g:612:11: '0' .. '9'
             	    {
             	    matchRange('0','9'); if (failed) return ;
 
@@ -775,10 +681,10 @@
             int _line = getLine();
             int _charPosition = getCharPositionInLine();
             int _channel = Token.DEFAULT_CHANNEL;
-            // D:\\workspace\\jboss\\jbossrules\\drools-compiler\\src\\main\\resources\\org\\drools\\clp\\CLP.g:635:4: ( ( '-' )? ( '0' .. '9' )+ '.' ( '0' .. '9' )+ )
-            // D:\\workspace\\jboss\\jbossrules\\drools-compiler\\src\\main\\resources\\org\\drools\\clp\\CLP.g:635:4: ( '-' )? ( '0' .. '9' )+ '.' ( '0' .. '9' )+
+            // D:\\workspace\\jboss\\jbossrules\\drools-compiler\\src\\main\\resources\\org\\drools\\clp\\CLP.g:616:4: ( ( '-' )? ( '0' .. '9' )+ '.' ( '0' .. '9' )+ )
+            // D:\\workspace\\jboss\\jbossrules\\drools-compiler\\src\\main\\resources\\org\\drools\\clp\\CLP.g:616:4: ( '-' )? ( '0' .. '9' )+ '.' ( '0' .. '9' )+
             {
-            // D:\\workspace\\jboss\\jbossrules\\drools-compiler\\src\\main\\resources\\org\\drools\\clp\\CLP.g:635:4: ( '-' )?
+            // D:\\workspace\\jboss\\jbossrules\\drools-compiler\\src\\main\\resources\\org\\drools\\clp\\CLP.g:616:4: ( '-' )?
             int alt5=2;
             int LA5_0 = input.LA(1);
             if ( (LA5_0=='-') ) {
@@ -786,7 +692,7 @@
             }
             switch (alt5) {
                 case 1 :
-                    // D:\\workspace\\jboss\\jbossrules\\drools-compiler\\src\\main\\resources\\org\\drools\\clp\\CLP.g:635:5: '-'
+                    // D:\\workspace\\jboss\\jbossrules\\drools-compiler\\src\\main\\resources\\org\\drools\\clp\\CLP.g:616:5: '-'
                     {
                     match('-'); if (failed) return ;
 
@@ -795,7 +701,7 @@
 
             }
 
-            // D:\\workspace\\jboss\\jbossrules\\drools-compiler\\src\\main\\resources\\org\\drools\\clp\\CLP.g:635:10: ( '0' .. '9' )+
+            // D:\\workspace\\jboss\\jbossrules\\drools-compiler\\src\\main\\resources\\org\\drools\\clp\\CLP.g:616:10: ( '0' .. '9' )+
             int cnt6=0;
             loop6:
             do {
@@ -808,7 +714,7 @@
 
                 switch (alt6) {
             	case 1 :
-            	    // D:\\workspace\\jboss\\jbossrules\\drools-compiler\\src\\main\\resources\\org\\drools\\clp\\CLP.g:635:11: '0' .. '9'
+            	    // D:\\workspace\\jboss\\jbossrules\\drools-compiler\\src\\main\\resources\\org\\drools\\clp\\CLP.g:616:11: '0' .. '9'
             	    {
             	    matchRange('0','9'); if (failed) return ;
 
@@ -826,7 +732,7 @@
             } while (true);
 
             match('.'); if (failed) return ;
-            // D:\\workspace\\jboss\\jbossrules\\drools-compiler\\src\\main\\resources\\org\\drools\\clp\\CLP.g:635:26: ( '0' .. '9' )+
+            // D:\\workspace\\jboss\\jbossrules\\drools-compiler\\src\\main\\resources\\org\\drools\\clp\\CLP.g:616:26: ( '0' .. '9' )+
             int cnt7=0;
             loop7:
             do {
@@ -839,7 +745,7 @@
 
                 switch (alt7) {
             	case 1 :
-            	    // D:\\workspace\\jboss\\jbossrules\\drools-compiler\\src\\main\\resources\\org\\drools\\clp\\CLP.g:635:27: '0' .. '9'
+            	    // D:\\workspace\\jboss\\jbossrules\\drools-compiler\\src\\main\\resources\\org\\drools\\clp\\CLP.g:616:27: '0' .. '9'
             	    {
             	    matchRange('0','9'); if (failed) return ;
 
@@ -883,7 +789,7 @@
             int _line = getLine();
             int _charPosition = getCharPositionInLine();
             int _channel = Token.DEFAULT_CHANNEL;
-            // D:\\workspace\\jboss\\jbossrules\\drools-compiler\\src\\main\\resources\\org\\drools\\clp\\CLP.g:639:8: ( ( '\"' ( EscapeSequence | ~ ('\\\\'|'\"'))* '\"' ) | ( '\\'' ( EscapeSequence | ~ ('\\\\'|'\\''))* '\\'' ) )
+            // D:\\workspace\\jboss\\jbossrules\\drools-compiler\\src\\main\\resources\\org\\drools\\clp\\CLP.g:620:8: ( ( '\"' ( EscapeSequence | ~ ('\\\\'|'\"'))* '\"' ) | ( '\\'' ( EscapeSequence | ~ ('\\\\'|'\\''))* '\\'' ) )
             int alt10=2;
             int LA10_0 = input.LA(1);
             if ( (LA10_0=='\"') ) {
@@ -895,19 +801,19 @@
             else {
                 if (backtracking>0) {failed=true; return ;}
                 NoViableAltException nvae =
-                    new NoViableAltException("638:1: STRING : ( ( '\"' ( EscapeSequence | ~ ('\\\\'|'\"'))* '\"' ) | ( '\\'' ( EscapeSequence | ~ ('\\\\'|'\\''))* '\\'' ) );", 10, 0, input);
+                    new NoViableAltException("619:1: STRING : ( ( '\"' ( EscapeSequence | ~ ('\\\\'|'\"'))* '\"' ) | ( '\\'' ( EscapeSequence | ~ ('\\\\'|'\\''))* '\\'' ) );", 10, 0, input);
 
                 throw nvae;
             }
             switch (alt10) {
                 case 1 :
-                    // D:\\workspace\\jboss\\jbossrules\\drools-compiler\\src\\main\\resources\\org\\drools\\clp\\CLP.g:639:8: ( '\"' ( EscapeSequence | ~ ('\\\\'|'\"'))* '\"' )
+                    // D:\\workspace\\jboss\\jbossrules\\drools-compiler\\src\\main\\resources\\org\\drools\\clp\\CLP.g:620:8: ( '\"' ( EscapeSequence | ~ ('\\\\'|'\"'))* '\"' )
                     {
-                    // D:\\workspace\\jboss\\jbossrules\\drools-compiler\\src\\main\\resources\\org\\drools\\clp\\CLP.g:639:8: ( '\"' ( EscapeSequence | ~ ('\\\\'|'\"'))* '\"' )
-                    // D:\\workspace\\jboss\\jbossrules\\drools-compiler\\src\\main\\resources\\org\\drools\\clp\\CLP.g:639:9: '\"' ( EscapeSequence | ~ ('\\\\'|'\"'))* '\"'
+                    // D:\\workspace\\jboss\\jbossrules\\drools-compiler\\src\\main\\resources\\org\\drools\\clp\\CLP.g:620:8: ( '\"' ( EscapeSequence | ~ ('\\\\'|'\"'))* '\"' )
+                    // D:\\workspace\\jboss\\jbossrules\\drools-compiler\\src\\main\\resources\\org\\drools\\clp\\CLP.g:620:9: '\"' ( EscapeSequence | ~ ('\\\\'|'\"'))* '\"'
                     {
                     match('\"'); if (failed) return ;
-                    // D:\\workspace\\jboss\\jbossrules\\drools-compiler\\src\\main\\resources\\org\\drools\\clp\\CLP.g:639:13: ( EscapeSequence | ~ ('\\\\'|'\"'))*
+                    // D:\\workspace\\jboss\\jbossrules\\drools-compiler\\src\\main\\resources\\org\\drools\\clp\\CLP.g:620:13: ( EscapeSequence | ~ ('\\\\'|'\"'))*
                     loop8:
                     do {
                         int alt8=3;
@@ -922,14 +828,14 @@
 
                         switch (alt8) {
                     	case 1 :
-                    	    // D:\\workspace\\jboss\\jbossrules\\drools-compiler\\src\\main\\resources\\org\\drools\\clp\\CLP.g:639:15: EscapeSequence
+                    	    // D:\\workspace\\jboss\\jbossrules\\drools-compiler\\src\\main\\resources\\org\\drools\\clp\\CLP.g:620:15: EscapeSequence
                     	    {
                     	    mEscapeSequence(); if (failed) return ;
 
                     	    }
                     	    break;
                     	case 2 :
-                    	    // D:\\workspace\\jboss\\jbossrules\\drools-compiler\\src\\main\\resources\\org\\drools\\clp\\CLP.g:639:32: ~ ('\\\\'|'\"')
+                    	    // D:\\workspace\\jboss\\jbossrules\\drools-compiler\\src\\main\\resources\\org\\drools\\clp\\CLP.g:620:32: ~ ('\\\\'|'\"')
                     	    {
                     	    if ( (input.LA(1)>='\u0000' && input.LA(1)<='!')||(input.LA(1)>='#' && input.LA(1)<='[')||(input.LA(1)>=']' && input.LA(1)<='\uFFFE') ) {
                     	        input.consume();
@@ -959,13 +865,13 @@
                     }
                     break;
                 case 2 :
-                    // D:\\workspace\\jboss\\jbossrules\\drools-compiler\\src\\main\\resources\\org\\drools\\clp\\CLP.g:640:8: ( '\\'' ( EscapeSequence | ~ ('\\\\'|'\\''))* '\\'' )
+                    // D:\\workspace\\jboss\\jbossrules\\drools-compiler\\src\\main\\resources\\org\\drools\\clp\\CLP.g:621:8: ( '\\'' ( EscapeSequence | ~ ('\\\\'|'\\''))* '\\'' )
                     {
-                    // D:\\workspace\\jboss\\jbossrules\\drools-compiler\\src\\main\\resources\\org\\drools\\clp\\CLP.g:640:8: ( '\\'' ( EscapeSequence | ~ ('\\\\'|'\\''))* '\\'' )
-                    // D:\\workspace\\jboss\\jbossrules\\drools-compiler\\src\\main\\resources\\org\\drools\\clp\\CLP.g:640:9: '\\'' ( EscapeSequence | ~ ('\\\\'|'\\''))* '\\''
+                    // D:\\workspace\\jboss\\jbossrules\\drools-compiler\\src\\main\\resources\\org\\drools\\clp\\CLP.g:621:8: ( '\\'' ( EscapeSequence | ~ ('\\\\'|'\\''))* '\\'' )
+                    // D:\\workspace\\jboss\\jbossrules\\drools-compiler\\src\\main\\resources\\org\\drools\\clp\\CLP.g:621:9: '\\'' ( EscapeSequence | ~ ('\\\\'|'\\''))* '\\''
                     {
                     match('\''); if (failed) return ;
-                    // D:\\workspace\\jboss\\jbossrules\\drools-compiler\\src\\main\\resources\\org\\drools\\clp\\CLP.g:640:14: ( EscapeSequence | ~ ('\\\\'|'\\''))*
+                    // D:\\workspace\\jboss\\jbossrules\\drools-compiler\\src\\main\\resources\\org\\drools\\clp\\CLP.g:621:14: ( EscapeSequence | ~ ('\\\\'|'\\''))*
                     loop9:
                     do {
                         int alt9=3;
@@ -980,14 +886,14 @@
 
                         switch (alt9) {
                     	case 1 :
-                    	    // D:\\workspace\\jboss\\jbossrules\\drools-compiler\\src\\main\\resources\\org\\drools\\clp\\CLP.g:640:16: EscapeSequence
+                    	    // D:\\workspace\\jboss\\jbossrules\\drools-compiler\\src\\main\\resources\\org\\drools\\clp\\CLP.g:621:16: EscapeSequence
                     	    {
                     	    mEscapeSequence(); if (failed) return ;
 
                     	    }
                     	    break;
                     	case 2 :
-                    	    // D:\\workspace\\jboss\\jbossrules\\drools-compiler\\src\\main\\resources\\org\\drools\\clp\\CLP.g:640:33: ~ ('\\\\'|'\\'')
+                    	    // D:\\workspace\\jboss\\jbossrules\\drools-compiler\\src\\main\\resources\\org\\drools\\clp\\CLP.g:621:33: ~ ('\\\\'|'\\'')
                     	    {
                     	    if ( (input.LA(1)>='\u0000' && input.LA(1)<='&')||(input.LA(1)>='(' && input.LA(1)<='[')||(input.LA(1)>=']' && input.LA(1)<='\uFFFE') ) {
                     	        input.consume();
@@ -1037,8 +943,8 @@
     public void mHexDigit() throws RecognitionException {
         try {
             ruleNestingLevel++;
-            // D:\\workspace\\jboss\\jbossrules\\drools-compiler\\src\\main\\resources\\org\\drools\\clp\\CLP.g:644:12: ( ('0'..'9'|'a'..'f'|'A'..'F'))
-            // D:\\workspace\\jboss\\jbossrules\\drools-compiler\\src\\main\\resources\\org\\drools\\clp\\CLP.g:644:12: ('0'..'9'|'a'..'f'|'A'..'F')
+            // D:\\workspace\\jboss\\jbossrules\\drools-compiler\\src\\main\\resources\\org\\drools\\clp\\CLP.g:625:12: ( ('0'..'9'|'a'..'f'|'A'..'F'))
+            // D:\\workspace\\jboss\\jbossrules\\drools-compiler\\src\\main\\resources\\org\\drools\\clp\\CLP.g:625: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();
@@ -1065,7 +971,7 @@
     public void mEscapeSequence() throws RecognitionException {
         try {
             ruleNestingLevel++;
-            // D:\\workspace\\jboss\\jbossrules\\drools-compiler\\src\\main\\resources\\org\\drools\\clp\\CLP.g:648:9: ( '\\\\' ('b'|'t'|'n'|'f'|'r'|'\\\"'|'\\''|'\\\\') | UnicodeEscape | OctalEscape )
+            // D:\\workspace\\jboss\\jbossrules\\drools-compiler\\src\\main\\resources\\org\\drools\\clp\\CLP.g:629:9: ( '\\\\' ('b'|'t'|'n'|'f'|'r'|'\\\"'|'\\''|'\\\\') | UnicodeEscape | OctalEscape )
             int alt11=3;
             int LA11_0 = input.LA(1);
             if ( (LA11_0=='\\') ) {
@@ -1096,7 +1002,7 @@
                 default:
                     if (backtracking>0) {failed=true; return ;}
                     NoViableAltException nvae =
-                        new NoViableAltException("646:1: fragment EscapeSequence : ( '\\\\' ('b'|'t'|'n'|'f'|'r'|'\\\"'|'\\''|'\\\\') | UnicodeEscape | OctalEscape );", 11, 1, input);
+                        new NoViableAltException("627:1: fragment EscapeSequence : ( '\\\\' ('b'|'t'|'n'|'f'|'r'|'\\\"'|'\\''|'\\\\') | UnicodeEscape | OctalEscape );", 11, 1, input);
 
                     throw nvae;
                 }
@@ -1105,13 +1011,13 @@
             else {
                 if (backtracking>0) {failed=true; return ;}
                 NoViableAltException nvae =
-                    new NoViableAltException("646:1: fragment EscapeSequence : ( '\\\\' ('b'|'t'|'n'|'f'|'r'|'\\\"'|'\\''|'\\\\') | UnicodeEscape | OctalEscape );", 11, 0, input);
+                    new NoViableAltException("627:1: fragment EscapeSequence : ( '\\\\' ('b'|'t'|'n'|'f'|'r'|'\\\"'|'\\''|'\\\\') | UnicodeEscape | OctalEscape );", 11, 0, input);
 
                 throw nvae;
             }
             switch (alt11) {
                 case 1 :
-                    // D:\\workspace\\jboss\\jbossrules\\drools-compiler\\src\\main\\resources\\org\\drools\\clp\\CLP.g:648:9: '\\\\' ('b'|'t'|'n'|'f'|'r'|'\\\"'|'\\''|'\\\\')
+                    // D:\\workspace\\jboss\\jbossrules\\drools-compiler\\src\\main\\resources\\org\\drools\\clp\\CLP.g:629: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' ) {
@@ -1129,14 +1035,14 @@
                     }
                     break;
                 case 2 :
-                    // D:\\workspace\\jboss\\jbossrules\\drools-compiler\\src\\main\\resources\\org\\drools\\clp\\CLP.g:649:9: UnicodeEscape
+                    // D:\\workspace\\jboss\\jbossrules\\drools-compiler\\src\\main\\resources\\org\\drools\\clp\\CLP.g:630:9: UnicodeEscape
                     {
                     mUnicodeEscape(); if (failed) return ;
 
                     }
                     break;
                 case 3 :
-                    // D:\\workspace\\jboss\\jbossrules\\drools-compiler\\src\\main\\resources\\org\\drools\\clp\\CLP.g:650:9: OctalEscape
+                    // D:\\workspace\\jboss\\jbossrules\\drools-compiler\\src\\main\\resources\\org\\drools\\clp\\CLP.g:631:9: OctalEscape
                     {
                     mOctalEscape(); if (failed) return ;
 
@@ -1155,7 +1061,7 @@
     public void mOctalEscape() throws RecognitionException {
         try {
             ruleNestingLevel++;
-            // D:\\workspace\\jboss\\jbossrules\\drools-compiler\\src\\main\\resources\\org\\drools\\clp\\CLP.g:655:9: ( '\\\\' ( '0' .. '3' ) ( '0' .. '7' ) ( '0' .. '7' ) | '\\\\' ( '0' .. '7' ) ( '0' .. '7' ) | '\\\\' ( '0' .. '7' ) )
+            // D:\\workspace\\jboss\\jbossrules\\drools-compiler\\src\\main\\resources\\org\\drools\\clp\\CLP.g:636: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=='\\') ) {
@@ -1163,8 +1069,8 @@
                 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')) ) {
+                        int LA12_5 = input.LA(4);
+                        if ( ((LA12_5>='0' && LA12_5<='7')) ) {
                             alt12=1;
                         }
                         else {
@@ -1184,7 +1090,7 @@
                 else {
                     if (backtracking>0) {failed=true; return ;}
                     NoViableAltException nvae =
-                        new NoViableAltException("653:1: fragment OctalEscape : ( '\\\\' ( '0' .. '3' ) ( '0' .. '7' ) ( '0' .. '7' ) | '\\\\' ( '0' .. '7' ) ( '0' .. '7' ) | '\\\\' ( '0' .. '7' ) );", 12, 1, input);
+                        new NoViableAltException("634:1: fragment OctalEscape : ( '\\\\' ( '0' .. '3' ) ( '0' .. '7' ) ( '0' .. '7' ) | '\\\\' ( '0' .. '7' ) ( '0' .. '7' ) | '\\\\' ( '0' .. '7' ) );", 12, 1, input);
 
                     throw nvae;
                 }
@@ -1192,31 +1098,31 @@
             else {
                 if (backtracking>0) {failed=true; return ;}
                 NoViableAltException nvae =
-                    new NoViableAltException("653:1: fragment OctalEscape : ( '\\\\' ( '0' .. '3' ) ( '0' .. '7' ) ( '0' .. '7' ) | '\\\\' ( '0' .. '7' ) ( '0' .. '7' ) | '\\\\' ( '0' .. '7' ) );", 12, 0, input);
+                    new NoViableAltException("634:1: fragment OctalEscape : ( '\\\\' ( '0' .. '3' ) ( '0' .. '7' ) ( '0' .. '7' ) | '\\\\' ( '0' .. '7' ) ( '0' .. '7' ) | '\\\\' ( '0' .. '7' ) );", 12, 0, input);
 
                 throw nvae;
             }
             switch (alt12) {
                 case 1 :
-                    // D:\\workspace\\jboss\\jbossrules\\drools-compiler\\src\\main\\resources\\org\\drools\\clp\\CLP.g:655:9: '\\\\' ( '0' .. '3' ) ( '0' .. '7' ) ( '0' .. '7' )
+                    // D:\\workspace\\jboss\\jbossrules\\drools-compiler\\src\\main\\resources\\org\\drools\\clp\\CLP.g:636:9: '\\\\' ( '0' .. '3' ) ( '0' .. '7' ) ( '0' .. '7' )
                     {
                     match('\\'); if (failed) return ;
-                    // D:\\workspace\\jboss\\jbossrules\\drools-compiler\\src\\main\\resources\\org\\drools\\clp\\CLP.g:655:14: ( '0' .. '3' )
-                    // D:\\workspace\\jboss\\jbossrules\\drools-compiler\\src\\main\\resources\\org\\drools\\clp\\CLP.g:655:15: '0' .. '3'
+                    // D:\\workspace\\jboss\\jbossrules\\drools-compiler\\src\\main\\resources\\org\\drools\\clp\\CLP.g:636:14: ( '0' .. '3' )
+                    // D:\\workspace\\jboss\\jbossrules\\drools-compiler\\src\\main\\resources\\org\\drools\\clp\\CLP.g:636:15: '0' .. '3'
                     {
                     matchRange('0','3'); if (failed) return ;
 
                     }
 
-                    // D:\\workspace\\jboss\\jbossrules\\drools-compiler\\src\\main\\resources\\org\\drools\\clp\\CLP.g:655:25: ( '0' .. '7' )
-                    // D:\\workspace\\jboss\\jbossrules\\drools-compiler\\src\\main\\resources\\org\\drools\\clp\\CLP.g:655:26: '0' .. '7'
+                    // D:\\workspace\\jboss\\jbossrules\\drools-compiler\\src\\main\\resources\\org\\drools\\clp\\CLP.g:636:25: ( '0' .. '7' )
+                    // D:\\workspace\\jboss\\jbossrules\\drools-compiler\\src\\main\\resources\\org\\drools\\clp\\CLP.g:636:26: '0' .. '7'
                     {
                     matchRange('0','7'); if (failed) return ;
 
                     }
 
-                    // D:\\workspace\\jboss\\jbossrules\\drools-compiler\\src\\main\\resources\\org\\drools\\clp\\CLP.g:655:36: ( '0' .. '7' )
-                    // D:\\workspace\\jboss\\jbossrules\\drools-compiler\\src\\main\\resources\\org\\drools\\clp\\CLP.g:655:37: '0' .. '7'
+                    // D:\\workspace\\jboss\\jbossrules\\drools-compiler\\src\\main\\resources\\org\\drools\\clp\\CLP.g:636:36: ( '0' .. '7' )
+                    // D:\\workspace\\jboss\\jbossrules\\drools-compiler\\src\\main\\resources\\org\\drools\\clp\\CLP.g:636:37: '0' .. '7'
                     {
                     matchRange('0','7'); if (failed) return ;
 
@@ -1226,18 +1132,18 @@
                     }
                     break;
                 case 2 :
-                    // D:\\workspace\\jboss\\jbossrules\\drools-compiler\\src\\main\\resources\\org\\drools\\clp\\CLP.g:656:9: '\\\\' ( '0' .. '7' ) ( '0' .. '7' )
+                    // D:\\workspace\\jboss\\jbossrules\\drools-compiler\\src\\main\\resources\\org\\drools\\clp\\CLP.g:637:9: '\\\\' ( '0' .. '7' ) ( '0' .. '7' )
                     {
                     match('\\'); if (failed) return ;
-                    // D:\\workspace\\jboss\\jbossrules\\drools-compiler\\src\\main\\resources\\org\\drools\\clp\\CLP.g:656:14: ( '0' .. '7' )
-                    // D:\\workspace\\jboss\\jbossrules\\drools-compiler\\src\\main\\resources\\org\\drools\\clp\\CLP.g:656:15: '0' .. '7'
+                    // D:\\workspace\\jboss\\jbossrules\\drools-compiler\\src\\main\\resources\\org\\drools\\clp\\CLP.g:637:14: ( '0' .. '7' )
+                    // D:\\workspace\\jboss\\jbossrules\\drools-compiler\\src\\main\\resources\\org\\drools\\clp\\CLP.g:637:15: '0' .. '7'
                     {
                     matchRange('0','7'); if (failed) return ;
 
                     }
 
-                    // D:\\workspace\\jboss\\jbossrules\\drools-compiler\\src\\main\\resources\\org\\drools\\clp\\CLP.g:656:25: ( '0' .. '7' )
-                    // D:\\workspace\\jboss\\jbossrules\\drools-compiler\\src\\main\\resources\\org\\drools\\clp\\CLP.g:656:26: '0' .. '7'
+                    // D:\\workspace\\jboss\\jbossrules\\drools-compiler\\src\\main\\resources\\org\\drools\\clp\\CLP.g:637:25: ( '0' .. '7' )
+                    // D:\\workspace\\jboss\\jbossrules\\drools-compiler\\src\\main\\resources\\org\\drools\\clp\\CLP.g:637:26: '0' .. '7'
                     {
                     matchRange('0','7'); if (failed) return ;
 
@@ -1247,11 +1153,11 @@
                     }
                     break;
                 case 3 :
-                    // D:\\workspace\\jboss\\jbossrules\\drools-compiler\\src\\main\\resources\\org\\drools\\clp\\CLP.g:657:9: '\\\\' ( '0' .. '7' )
+                    // D:\\workspace\\jboss\\jbossrules\\drools-compiler\\src\\main\\resources\\org\\drools\\clp\\CLP.g:638:9: '\\\\' ( '0' .. '7' )
                     {
                     match('\\'); if (failed) return ;
-                    // D:\\workspace\\jboss\\jbossrules\\drools-compiler\\src\\main\\resources\\org\\drools\\clp\\CLP.g:657:14: ( '0' .. '7' )
-                    // D:\\workspace\\jboss\\jbossrules\\drools-compiler\\src\\main\\resources\\org\\drools\\clp\\CLP.g:657:15: '0' .. '7'
+                    // D:\\workspace\\jboss\\jbossrules\\drools-compiler\\src\\main\\resources\\org\\drools\\clp\\CLP.g:638:14: ( '0' .. '7' )
+                    // D:\\workspace\\jboss\\jbossrules\\drools-compiler\\src\\main\\resources\\org\\drools\\clp\\CLP.g:638:15: '0' .. '7'
                     {
                     matchRange('0','7'); if (failed) return ;
 
@@ -1273,8 +1179,8 @@
     public void mUnicodeEscape() throws RecognitionException {
         try {
             ruleNestingLevel++;
-            // D:\\workspace\\jboss\\jbossrules\\drools-compiler\\src\\main\\resources\\org\\drools\\clp\\CLP.g:662:9: ( '\\\\' 'u' HexDigit HexDigit HexDigit HexDigit )
-            // D:\\workspace\\jboss\\jbossrules\\drools-compiler\\src\\main\\resources\\org\\drools\\clp\\CLP.g:662:9: '\\\\' 'u' HexDigit HexDigit HexDigit HexDigit
+            // D:\\workspace\\jboss\\jbossrules\\drools-compiler\\src\\main\\resources\\org\\drools\\clp\\CLP.g:643:9: ( '\\\\' 'u' HexDigit HexDigit HexDigit HexDigit )
+            // D:\\workspace\\jboss\\jbossrules\\drools-compiler\\src\\main\\resources\\org\\drools\\clp\\CLP.g:643:9: '\\\\' 'u' HexDigit HexDigit HexDigit HexDigit
             {
             match('\\'); if (failed) return ;
             match('u'); if (failed) return ;
@@ -1301,10 +1207,10 @@
             int _line = getLine();
             int _charPosition = getCharPositionInLine();
             int _channel = Token.DEFAULT_CHANNEL;
-            // D:\\workspace\\jboss\\jbossrules\\drools-compiler\\src\\main\\resources\\org\\drools\\clp\\CLP.g:666:4: ( ( 'true' | 'false' ) )
-            // D:\\workspace\\jboss\\jbossrules\\drools-compiler\\src\\main\\resources\\org\\drools\\clp\\CLP.g:666:4: ( 'true' | 'false' )
+            // D:\\workspace\\jboss\\jbossrules\\drools-compiler\\src\\main\\resources\\org\\drools\\clp\\CLP.g:647:4: ( ( 'true' | 'false' ) )
+            // D:\\workspace\\jboss\\jbossrules\\drools-compiler\\src\\main\\resources\\org\\drools\\clp\\CLP.g:647:4: ( 'true' | 'false' )
             {
-            // D:\\workspace\\jboss\\jbossrules\\drools-compiler\\src\\main\\resources\\org\\drools\\clp\\CLP.g:666:4: ( 'true' | 'false' )
+            // D:\\workspace\\jboss\\jbossrules\\drools-compiler\\src\\main\\resources\\org\\drools\\clp\\CLP.g:647:4: ( 'true' | 'false' )
             int alt13=2;
             int LA13_0 = input.LA(1);
             if ( (LA13_0=='t') ) {
@@ -1316,13 +1222,13 @@
             else {
                 if (backtracking>0) {failed=true; return ;}
                 NoViableAltException nvae =
-                    new NoViableAltException("666:4: ( 'true' | 'false' )", 13, 0, input);
+                    new NoViableAltException("647:4: ( 'true' | 'false' )", 13, 0, input);
 
                 throw nvae;
             }
             switch (alt13) {
                 case 1 :
-                    // D:\\workspace\\jboss\\jbossrules\\drools-compiler\\src\\main\\resources\\org\\drools\\clp\\CLP.g:666:5: 'true'
+                    // D:\\workspace\\jboss\\jbossrules\\drools-compiler\\src\\main\\resources\\org\\drools\\clp\\CLP.g:647:5: 'true'
                     {
                     match("true"); if (failed) return ;
 
@@ -1330,7 +1236,7 @@
                     }
                     break;
                 case 2 :
-                    // D:\\workspace\\jboss\\jbossrules\\drools-compiler\\src\\main\\resources\\org\\drools\\clp\\CLP.g:666:12: 'false'
+                    // D:\\workspace\\jboss\\jbossrules\\drools-compiler\\src\\main\\resources\\org\\drools\\clp\\CLP.g:647:12: 'false'
                     {
                     match("false"); if (failed) return ;
 
@@ -1367,8 +1273,8 @@
             int _line = getLine();
             int _charPosition = getCharPositionInLine();
             int _channel = Token.DEFAULT_CHANNEL;
-            // D:\\workspace\\jboss\\jbossrules\\drools-compiler\\src\\main\\resources\\org\\drools\\clp\\CLP.g:669:8: ( '?' ('a'..'z'|'A'..'Z'|'_'|'$') ( ('a'..'z'|'A'..'Z'|'_'|'0'..'9'))* )
-            // D:\\workspace\\jboss\\jbossrules\\drools-compiler\\src\\main\\resources\\org\\drools\\clp\\CLP.g:669:8: '?' ('a'..'z'|'A'..'Z'|'_'|'$') ( ('a'..'z'|'A'..'Z'|'_'|'0'..'9'))*
+            // D:\\workspace\\jboss\\jbossrules\\drools-compiler\\src\\main\\resources\\org\\drools\\clp\\CLP.g:650:8: ( '?' ('a'..'z'|'A'..'Z'|'_'|'$') ( SYMBOL )* )
+            // D:\\workspace\\jboss\\jbossrules\\drools-compiler\\src\\main\\resources\\org\\drools\\clp\\CLP.g:650: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') ) {
@@ -1382,32 +1288,22 @@
                 recover(mse);    throw mse;
             }
 
-            // D:\\workspace\\jboss\\jbossrules\\drools-compiler\\src\\main\\resources\\org\\drools\\clp\\CLP.g:669:38: ( ('a'..'z'|'A'..'Z'|'_'|'0'..'9'))*
+            // D:\\workspace\\jboss\\jbossrules\\drools-compiler\\src\\main\\resources\\org\\drools\\clp\\CLP.g:650:38: ( SYMBOL )*
             loop14:
             do {
                 int alt14=2;
                 int LA14_0 = input.LA(1);
-                if ( ((LA14_0>='0' && LA14_0<='9')||(LA14_0>='A' && LA14_0<='Z')||LA14_0=='_'||(LA14_0>='a' && LA14_0<='z')) ) {
+                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;
                 }
 
 
                 switch (alt14) {
             	case 1 :
-            	    // D:\\workspace\\jboss\\jbossrules\\drools-compiler\\src\\main\\resources\\org\\drools\\clp\\CLP.g:669:39: ('a'..'z'|'A'..'Z'|'_'|'0'..'9')
+            	    // D:\\workspace\\jboss\\jbossrules\\drools-compiler\\src\\main\\resources\\org\\drools\\clp\\CLP.g:650:38: SYMBOL
             	    {
-            	    if ( (input.LA(1)>='0' && input.LA(1)<='9')||(input.LA(1)>='A' && input.LA(1)<='Z')||input.LA(1)=='_'||(input.LA(1)>='a' && input.LA(1)<='z') ) {
-            	        input.consume();
-            	    failed=false;
-            	    }
-            	    else {
-            	        if (backtracking>0) {failed=true; return ;}
-            	        MismatchedSetException mse =
-            	            new MismatchedSetException(null,input);
-            	        recover(mse);    throw mse;
-            	    }
+            	    mSYMBOL(); if (failed) return ;
 
-
             	    }
             	    break;
 
@@ -1443,11 +1339,11 @@
             int _line = getLine();
             int _charPosition = getCharPositionInLine();
             int _channel = Token.DEFAULT_CHANNEL;
-            // D:\\workspace\\jboss\\jbossrules\\drools-compiler\\src\\main\\resources\\org\\drools\\clp\\CLP.g:677:4: ( '#' ( options {greedy=false; } : . )* EOL )
-            // D:\\workspace\\jboss\\jbossrules\\drools-compiler\\src\\main\\resources\\org\\drools\\clp\\CLP.g:677:4: '#' ( options {greedy=false; } : . )* EOL
+            // D:\\workspace\\jboss\\jbossrules\\drools-compiler\\src\\main\\resources\\org\\drools\\clp\\CLP.g:654:4: ( '#' ( options {greedy=false; } : . )* EOL )
+            // D:\\workspace\\jboss\\jbossrules\\drools-compiler\\src\\main\\resources\\org\\drools\\clp\\CLP.g:654:4: '#' ( options {greedy=false; } : . )* EOL
             {
             match('#'); if (failed) return ;
-            // D:\\workspace\\jboss\\jbossrules\\drools-compiler\\src\\main\\resources\\org\\drools\\clp\\CLP.g:677:8: ( options {greedy=false; } : . )*
+            // D:\\workspace\\jboss\\jbossrules\\drools-compiler\\src\\main\\resources\\org\\drools\\clp\\CLP.g:654:8: ( options {greedy=false; } : . )*
             loop15:
             do {
                 int alt15=2;
@@ -1465,7 +1361,7 @@
 
                 switch (alt15) {
             	case 1 :
-            	    // D:\\workspace\\jboss\\jbossrules\\drools-compiler\\src\\main\\resources\\org\\drools\\clp\\CLP.g:677:35: .
+            	    // D:\\workspace\\jboss\\jbossrules\\drools-compiler\\src\\main\\resources\\org\\drools\\clp\\CLP.g:654:35: .
             	    {
             	    matchAny(); if (failed) return ;
 
@@ -1508,12 +1404,12 @@
             int _line = getLine();
             int _charPosition = getCharPositionInLine();
             int _channel = Token.DEFAULT_CHANNEL;
-            // D:\\workspace\\jboss\\jbossrules\\drools-compiler\\src\\main\\resources\\org\\drools\\clp\\CLP.g:683:4: ( '//' ( options {greedy=false; } : . )* EOL )
-            // D:\\workspace\\jboss\\jbossrules\\drools-compiler\\src\\main\\resources\\org\\drools\\clp\\CLP.g:683:4: '//' ( options {greedy=false; } : . )* EOL
+            // D:\\workspace\\jboss\\jbossrules\\drools-compiler\\src\\main\\resources\\org\\drools\\clp\\CLP.g:660:4: ( '//' ( options {greedy=false; } : . )* EOL )
+            // D:\\workspace\\jboss\\jbossrules\\drools-compiler\\src\\main\\resources\\org\\drools\\clp\\CLP.g:660:4: '//' ( options {greedy=false; } : . )* EOL
             {
             match("//"); if (failed) return ;
 
-            // D:\\workspace\\jboss\\jbossrules\\drools-compiler\\src\\main\\resources\\org\\drools\\clp\\CLP.g:683:9: ( options {greedy=false; } : . )*
+            // D:\\workspace\\jboss\\jbossrules\\drools-compiler\\src\\main\\resources\\org\\drools\\clp\\CLP.g:660:9: ( options {greedy=false; } : . )*
             loop16:
             do {
                 int alt16=2;
@@ -1531,7 +1427,7 @@
 
                 switch (alt16) {
             	case 1 :
-            	    // D:\\workspace\\jboss\\jbossrules\\drools-compiler\\src\\main\\resources\\org\\drools\\clp\\CLP.g:683:36: .
+            	    // D:\\workspace\\jboss\\jbossrules\\drools-compiler\\src\\main\\resources\\org\\drools\\clp\\CLP.g:660:36: .
             	    {
             	    matchAny(); if (failed) return ;
 
@@ -1574,8 +1470,8 @@
             int _line = getLine();
             int _charPosition = getCharPositionInLine();
             int _channel = Token.DEFAULT_CHANNEL;
-            // D:\\workspace\\jboss\\jbossrules\\drools-compiler\\src\\main\\resources\\org\\drools\\clp\\CLP.g:689:4: ( '(' )
-            // D:\\workspace\\jboss\\jbossrules\\drools-compiler\\src\\main\\resources\\org\\drools\\clp\\CLP.g:689:4: '('
+            // D:\\workspace\\jboss\\jbossrules\\drools-compiler\\src\\main\\resources\\org\\drools\\clp\\CLP.g:666:4: ( '(' )
+            // D:\\workspace\\jboss\\jbossrules\\drools-compiler\\src\\main\\resources\\org\\drools\\clp\\CLP.g:666:4: '('
             {
             match('('); if (failed) return ;
 
@@ -1605,8 +1501,8 @@
             int _line = getLine();
             int _charPosition = getCharPositionInLine();
             int _channel = Token.DEFAULT_CHANNEL;
-            // D:\\workspace\\jboss\\jbossrules\\drools-compiler\\src\\main\\resources\\org\\drools\\clp\\CLP.g:693:4: ( ')' )
-            // D:\\workspace\\jboss\\jbossrules\\drools-compiler\\src\\main\\resources\\org\\drools\\clp\\CLP.g:693:4: ')'
+            // D:\\workspace\\jboss\\jbossrules\\drools-compiler\\src\\main\\resources\\org\\drools\\clp\\CLP.g:670:4: ( ')' )
+            // D:\\workspace\\jboss\\jbossrules\\drools-compiler\\src\\main\\resources\\org\\drools\\clp\\CLP.g:670:4: ')'
             {
             match(')'); if (failed) return ;
 
@@ -1636,8 +1532,8 @@
             int _line = getLine();
             int _charPosition = getCharPositionInLine();
             int _channel = Token.DEFAULT_CHANNEL;
-            // D:\\workspace\\jboss\\jbossrules\\drools-compiler\\src\\main\\resources\\org\\drools\\clp\\CLP.g:697:4: ( '[' )
-            // D:\\workspace\\jboss\\jbossrules\\drools-compiler\\src\\main\\resources\\org\\drools\\clp\\CLP.g:697:4: '['
+            // D:\\workspace\\jboss\\jbossrules\\drools-compiler\\src\\main\\resources\\org\\drools\\clp\\CLP.g:674:4: ( '[' )
+            // D:\\workspace\\jboss\\jbossrules\\drools-compiler\\src\\main\\resources\\org\\drools\\clp\\CLP.g:674:4: '['
             {
             match('['); if (failed) return ;
 
@@ -1667,8 +1563,8 @@
             int _line = getLine();
             int _charPosition = getCharPositionInLine();
             int _channel = Token.DEFAULT_CHANNEL;
-            // D:\\workspace\\jboss\\jbossrules\\drools-compiler\\src\\main\\resources\\org\\drools\\clp\\CLP.g:701:4: ( ']' )
-            // D:\\workspace\\jboss\\jbossrules\\drools-compiler\\src\\main\\resources\\org\\drools\\clp\\CLP.g:701:4: ']'
+            // D:\\workspace\\jboss\\jbossrules\\drools-compiler\\src\\main\\resources\\org\\drools\\clp\\CLP.g:678:4: ( ']' )
+            // D:\\workspace\\jboss\\jbossrules\\drools-compiler\\src\\main\\resources\\org\\drools\\clp\\CLP.g:678:4: ']'
             {
             match(']'); if (failed) return ;
 
@@ -1698,8 +1594,8 @@
             int _line = getLine();
             int _charPosition = getCharPositionInLine();
             int _channel = Token.DEFAULT_CHANNEL;
-            // D:\\workspace\\jboss\\jbossrules\\drools-compiler\\src\\main\\resources\\org\\drools\\clp\\CLP.g:705:4: ( '{' )
-            // D:\\workspace\\jboss\\jbossrules\\drools-compiler\\src\\main\\resources\\org\\drools\\clp\\CLP.g:705:4: '{'
+            // D:\\workspace\\jboss\\jbossrules\\drools-compiler\\src\\main\\resources\\org\\drools\\clp\\CLP.g:682:4: ( '{' )
+            // D:\\workspace\\jboss\\jbossrules\\drools-compiler\\src\\main\\resources\\org\\drools\\clp\\CLP.g:682:4: '{'
             {
             match('{'); if (failed) return ;
 
@@ -1729,8 +1625,8 @@
             int _line = getLine();
             int _charPosition = getCharPositionInLine();
             int _channel = Token.DEFAULT_CHANNEL;
-            // D:\\workspace\\jboss\\jbossrules\\drools-compiler\\src\\main\\resources\\org\\drools\\clp\\CLP.g:709:4: ( '}' )
-            // D:\\workspace\\jboss\\jbossrules\\drools-compiler\\src\\main\\resources\\org\\drools\\clp\\CLP.g:709:4: '}'
+            // D:\\workspace\\jboss\\jbossrules\\drools-compiler\\src\\main\\resources\\org\\drools\\clp\\CLP.g:686:4: ( '}' )
+            // D:\\workspace\\jboss\\jbossrules\\drools-compiler\\src\\main\\resources\\org\\drools\\clp\\CLP.g:686:4: '}'
             {
             match('}'); if (failed) return ;
 
@@ -1760,8 +1656,8 @@
             int _line = getLine();
             int _charPosition = getCharPositionInLine();
             int _channel = Token.DEFAULT_CHANNEL;
-            // D:\\workspace\\jboss\\jbossrules\\drools-compiler\\src\\main\\resources\\org\\drools\\clp\\CLP.g:712:9: ( '~' )
-            // D:\\workspace\\jboss\\jbossrules\\drools-compiler\\src\\main\\resources\\org\\drools\\clp\\CLP.g:712:9: '~'
+            // D:\\workspace\\jboss\\jbossrules\\drools-compiler\\src\\main\\resources\\org\\drools\\clp\\CLP.g:689:9: ( '~' )
+            // D:\\workspace\\jboss\\jbossrules\\drools-compiler\\src\\main\\resources\\org\\drools\\clp\\CLP.g:689:9: '~'
             {
             match('~'); if (failed) return ;
 
@@ -1791,8 +1687,8 @@
             int _line = getLine();
             int _charPosition = getCharPositionInLine();
             int _channel = Token.DEFAULT_CHANNEL;
-            // D:\\workspace\\jboss\\jbossrules\\drools-compiler\\src\\main\\resources\\org\\drools\\clp\\CLP.g:716:4: ( '&' )
-            // D:\\workspace\\jboss\\jbossrules\\drools-compiler\\src\\main\\resources\\org\\drools\\clp\\CLP.g:716:4: '&'
+            // D:\\workspace\\jboss\\jbossrules\\drools-compiler\\src\\main\\resources\\org\\drools\\clp\\CLP.g:693:4: ( '&' )
+            // D:\\workspace\\jboss\\jbossrules\\drools-compiler\\src\\main\\resources\\org\\drools\\clp\\CLP.g:693:4: '&'
             {
             match('&'); if (failed) return ;
 
@@ -1822,8 +1718,8 @@
             int _line = getLine();
             int _charPosition = getCharPositionInLine();
             int _channel = Token.DEFAULT_CHANNEL;
-            // D:\\workspace\\jboss\\jbossrules\\drools-compiler\\src\\main\\resources\\org\\drools\\clp\\CLP.g:720:4: ( '|' )
-            // D:\\workspace\\jboss\\jbossrules\\drools-compiler\\src\\main\\resources\\org\\drools\\clp\\CLP.g:720:4: '|'
+            // D:\\workspace\\jboss\\jbossrules\\drools-compiler\\src\\main\\resources\\org\\drools\\clp\\CLP.g:697:4: ( '|' )
+            // D:\\workspace\\jboss\\jbossrules\\drools-compiler\\src\\main\\resources\\org\\drools\\clp\\CLP.g:697:4: '|'
             {
             match('|'); if (failed) return ;
 
@@ -1844,6 +1740,100 @@
     }
     // $ANTLR end PIPE
 
+    // $ANTLR start ASSIGN_OP
+    public 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;
+            // D:\\workspace\\jboss\\jbossrules\\drools-compiler\\src\\main\\resources\\org\\drools\\clp\\CLP.g:701:4: ( '<-' )
+            // D:\\workspace\\jboss\\jbossrules\\drools-compiler\\src\\main\\resources\\org\\drools\\clp\\CLP.g:701:4: '<-'
+            {
+            match("<-"); if (failed) return ;
+
+
+            }
+
+
+            if ( backtracking==0 ) {
+
+                      if ( token==null && ruleNestingLevel==1 ) {
+                          emit(_type,_line,_charPosition,_channel,_start,getCharIndex()-1);
+                      }
+
+                      
+            }    }
+        finally {
+            ruleNestingLevel--;
+        }
+    }
+    // $ANTLR end ASSIGN_OP
+
+    // $ANTLR start COLON
+    public void mCOLON() throws RecognitionException {
+        try {
+            ruleNestingLevel++;
+            int _type = COLON;
+            int _start = getCharIndex();
+            int _line = getLine();
+            int _charPosition = getCharPositionInLine();
+            int _channel = Token.DEFAULT_CHANNEL;
+            // D:\\workspace\\jboss\\jbossrules\\drools-compiler\\src\\main\\resources\\org\\drools\\clp\\CLP.g:704:9: ( ':' )
+            // D:\\workspace\\jboss\\jbossrules\\drools-compiler\\src\\main\\resources\\org\\drools\\clp\\CLP.g:704:9: ':'
+            {
+            match(':'); if (failed) return ;
+
+            }
+
+
+            if ( backtracking==0 ) {
+
+                      if ( token==null && ruleNestingLevel==1 ) {
+                          emit(_type,_line,_charPosition,_channel,_start,getCharIndex()-1);
+                      }
+
+                      
+            }    }
+        finally {
+            ruleNestingLevel--;
+        }
+    }
+    // $ANTLR end COLON
+
+    // $ANTLR start EQUALS
+    public void mEQUALS() throws RecognitionException {
+        try {
+            ruleNestingLevel++;
+            int _type = EQUALS;
+            int _start = getCharIndex();
+            int _line = getLine();
+            int _charPosition = getCharPositionInLine();
+            int _channel = Token.DEFAULT_CHANNEL;
+            // D:\\workspace\\jboss\\jbossrules\\drools-compiler\\src\\main\\resources\\org\\drools\\clp\\CLP.g:706:10: ( '=' )
+            // D:\\workspace\\jboss\\jbossrules\\drools-compiler\\src\\main\\resources\\org\\drools\\clp\\CLP.g:706:10: '='
+            {
+            match('='); if (failed) return ;
+
+            }
+
+
+            if ( backtracking==0 ) {
+
+                      if ( token==null && ruleNestingLevel==1 ) {
+                          emit(_type,_line,_charPosition,_channel,_start,getCharIndex()-1);
+                      }
+
+                      
+            }    }
+        finally {
+            ruleNestingLevel--;
+        }
+    }
+    // $ANTLR end EQUALS
+
     // $ANTLR start MULTI_LINE_COMMENT
     public void mMULTI_LINE_COMMENT() throws RecognitionException {
         try {
@@ -1853,12 +1843,12 @@
             int _line = getLine();
             int _charPosition = getCharPositionInLine();
             int _channel = Token.DEFAULT_CHANNEL;
-            // D:\\workspace\\jboss\\jbossrules\\drools-compiler\\src\\main\\resources\\org\\drools\\clp\\CLP.g:724:4: ( '/*' ( options {greedy=false; } : . )* '*/' )
-            // D:\\workspace\\jboss\\jbossrules\\drools-compiler\\src\\main\\resources\\org\\drools\\clp\\CLP.g:724:4: '/*' ( options {greedy=false; } : . )* '*/'
+            // D:\\workspace\\jboss\\jbossrules\\drools-compiler\\src\\main\\resources\\org\\drools\\clp\\CLP.g:709:4: ( '/*' ( options {greedy=false; } : . )* '*/' )
+            // D:\\workspace\\jboss\\jbossrules\\drools-compiler\\src\\main\\resources\\org\\drools\\clp\\CLP.g:709:4: '/*' ( options {greedy=false; } : . )* '*/'
             {
             match("/*"); if (failed) return ;
 
-            // D:\\workspace\\jboss\\jbossrules\\drools-compiler\\src\\main\\resources\\org\\drools\\clp\\CLP.g:724:9: ( options {greedy=false; } : . )*
+            // D:\\workspace\\jboss\\jbossrules\\drools-compiler\\src\\main\\resources\\org\\drools\\clp\\CLP.g:709:9: ( options {greedy=false; } : . )*
             loop17:
             do {
                 int alt17=2;
@@ -1881,7 +1871,7 @@
 
                 switch (alt17) {
             	case 1 :
-            	    // D:\\workspace\\jboss\\jbossrules\\drools-compiler\\src\\main\\resources\\org\\drools\\clp\\CLP.g:724:35: .
+            	    // D:\\workspace\\jboss\\jbossrules\\drools-compiler\\src\\main\\resources\\org\\drools\\clp\\CLP.g:709:35: .
             	    {
             	    matchAny(); if (failed) return ;
 
@@ -1916,226 +1906,23 @@
     }
     // $ANTLR end MULTI_LINE_COMMENT
 
-    // $ANTLR start MISC
-    public void mMISC() throws RecognitionException {
+    // $ANTLR start NAME
+    public void mNAME() throws RecognitionException {
         try {
             ruleNestingLevel++;
-            int _type = MISC;
+            int _type = NAME;
             int _start = getCharIndex();
             int _line = getLine();
             int _charPosition = getCharPositionInLine();
             int _channel = Token.DEFAULT_CHANNEL;
-            // D:\\workspace\\jboss\\jbossrules\\drools-compiler\\src\\main\\resources\\org\\drools\\clp\\CLP.g:729:3: ( '!' | '@' | '$' | '%' | '^' | '*' | '_' | '-' | '+' | '?' | ',' | '=' | '/' | '\\'' | '\\\\' | '<' | '>' | '<=' | '>=' )
-            int alt18=19;
-            switch ( input.LA(1) ) {
-            case '!':
-                alt18=1;
-                break;
-            case '@':
-                alt18=2;
-                break;
-            case '$':
-                alt18=3;
-                break;
-            case '%':
-                alt18=4;
-                break;
-            case '^':
-                alt18=5;
-                break;
-            case '*':
-                alt18=6;
-                break;
-            case '_':
-                alt18=7;
-                break;
-            case '-':
-                alt18=8;
-                break;
-            case '+':
-                alt18=9;
-                break;
-            case '?':
-                alt18=10;
-                break;
-            case ',':
-                alt18=11;
-                break;
-            case '=':
-                alt18=12;
-                break;
-            case '/':
-                alt18=13;
-                break;
-            case '\'':
-                alt18=14;
-                break;
-            case '\\':
-                alt18=15;
-                break;
-            case '<':
-                int LA18_16 = input.LA(2);
-                if ( (LA18_16=='=') ) {
-                    alt18=18;
-                }
-                else {
-                    alt18=16;}
-                break;
-            case '>':
-                int LA18_17 = input.LA(2);
-                if ( (LA18_17=='=') ) {
-                    alt18=19;
-                }
-                else {
-                    alt18=17;}
-                break;
-            default:
-                if (backtracking>0) {failed=true; return ;}
-                NoViableAltException nvae =
-                    new NoViableAltException("728:1: MISC : ( '!' | '@' | '$' | '%' | '^' | '*' | '_' | '-' | '+' | '?' | ',' | '=' | '/' | '\\'' | '\\\\' | '<' | '>' | '<=' | '>=' );", 18, 0, input);
+            // D:\\workspace\\jboss\\jbossrules\\drools-compiler\\src\\main\\resources\\org\\drools\\clp\\CLP.g:713:8: ( SYMBOL )
+            // D:\\workspace\\jboss\\jbossrules\\drools-compiler\\src\\main\\resources\\org\\drools\\clp\\CLP.g:713:8: SYMBOL
+            {
+            mSYMBOL(); if (failed) return ;
 
-                throw nvae;
             }
 
-            switch (alt18) {
-                case 1 :
-                    // D:\\workspace\\jboss\\jbossrules\\drools-compiler\\src\\main\\resources\\org\\drools\\clp\\CLP.g:729:3: '!'
-                    {
-                    match('!'); if (failed) return ;
 
-                    }
-                    break;
-                case 2 :
-                    // D:\\workspace\\jboss\\jbossrules\\drools-compiler\\src\\main\\resources\\org\\drools\\clp\\CLP.g:729:9: '@'
-                    {
-                    match('@'); if (failed) return ;
-
-                    }
-                    break;
-                case 3 :
-                    // D:\\workspace\\jboss\\jbossrules\\drools-compiler\\src\\main\\resources\\org\\drools\\clp\\CLP.g:729:15: '$'
-                    {
-                    match('$'); if (failed) return ;
-
-                    }
-                    break;
-                case 4 :
-                    // D:\\workspace\\jboss\\jbossrules\\drools-compiler\\src\\main\\resources\\org\\drools\\clp\\CLP.g:729:21: '%'
-                    {
-                    match('%'); if (failed) return ;
-
-                    }
-                    break;
-                case 5 :
-                    // D:\\workspace\\jboss\\jbossrules\\drools-compiler\\src\\main\\resources\\org\\drools\\clp\\CLP.g:729:27: '^'
-                    {
-                    match('^'); if (failed) return ;
-
-                    }
-                    break;
-                case 6 :
-                    // D:\\workspace\\jboss\\jbossrules\\drools-compiler\\src\\main\\resources\\org\\drools\\clp\\CLP.g:729:33: '*'
-                    {
-                    match('*'); if (failed) return ;
-
-                    }
-                    break;
-                case 7 :
-                    // D:\\workspace\\jboss\\jbossrules\\drools-compiler\\src\\main\\resources\\org\\drools\\clp\\CLP.g:729:39: '_'
-                    {
-                    match('_'); if (failed) return ;
-
-                    }
-                    break;
-                case 8 :
-                    // D:\\workspace\\jboss\\jbossrules\\drools-compiler\\src\\main\\resources\\org\\drools\\clp\\CLP.g:729:45: '-'
-                    {
-                    match('-'); if (failed) return ;
-
-                    }
-                    break;
-                case 9 :
-                    // D:\\workspace\\jboss\\jbossrules\\drools-compiler\\src\\main\\resources\\org\\drools\\clp\\CLP.g:729:51: '+'
-                    {
-                    match('+'); if (failed) return ;
-
-                    }
-                    break;
-                case 10 :
-                    // D:\\workspace\\jboss\\jbossrules\\drools-compiler\\src\\main\\resources\\org\\drools\\clp\\CLP.g:729:58: '?'
-                    {
-                    match('?'); if (failed) return ;
-
-                    }
-                    break;
-                case 11 :
-                    // D:\\workspace\\jboss\\jbossrules\\drools-compiler\\src\\main\\resources\\org\\drools\\clp\\CLP.g:729:64: ','
-                    {
-                    match(','); if (failed) return ;
-
-                    }
-                    break;
-                case 12 :
-                    // D:\\workspace\\jboss\\jbossrules\\drools-compiler\\src\\main\\resources\\org\\drools\\clp\\CLP.g:729:70: '='
-                    {
-                    match('='); if (failed) return ;
-
-                    }
-                    break;
-                case 13 :
-                    // D:\\workspace\\jboss\\jbossrules\\drools-compiler\\src\\main\\resources\\org\\drools\\clp\\CLP.g:729:76: '/'
-                    {
-                    match('/'); if (failed) return ;
-
-                    }
-                    break;
-                case 14 :
-                    // D:\\workspace\\jboss\\jbossrules\\drools-compiler\\src\\main\\resources\\org\\drools\\clp\\CLP.g:729:82: '\\''
-                    {
-                    match('\''); if (failed) return ;
-
-                    }
-                    break;
-                case 15 :
-                    // D:\\workspace\\jboss\\jbossrules\\drools-compiler\\src\\main\\resources\\org\\drools\\clp\\CLP.g:729:89: '\\\\'
-                    {
-                    match('\\'); if (failed) return ;
-
-                    }
-                    break;
-                case 16 :
-                    // D:\\workspace\\jboss\\jbossrules\\drools-compiler\\src\\main\\resources\\org\\drools\\clp\\CLP.g:730:3: '<'
-                    {
-                    match('<'); if (failed) return ;
-
-                    }
-                    break;
-                case 17 :
-                    // D:\\workspace\\jboss\\jbossrules\\drools-compiler\\src\\main\\resources\\org\\drools\\clp\\CLP.g:730:9: '>'
-                    {
-                    match('>'); if (failed) return ;
-
-                    }
-                    break;
-                case 18 :
-                    // D:\\workspace\\jboss\\jbossrules\\drools-compiler\\src\\main\\resources\\org\\drools\\clp\\CLP.g:730:15: '<='
-                    {
-                    match("<="); if (failed) return ;
-
-
-                    }
-                    break;
-                case 19 :
-                    // D:\\workspace\\jboss\\jbossrules\\drools-compiler\\src\\main\\resources\\org\\drools\\clp\\CLP.g:730:22: '>='
-                    {
-                    match(">="); if (failed) return ;
-
-
-                    }
-                    break;
-
-            }
-
             if ( backtracking==0 ) {
 
                       if ( token==null && ruleNestingLevel==1 ) {
@@ -2148,42 +1935,37 @@
             ruleNestingLevel--;
         }
     }
-    // $ANTLR end MISC
+    // $ANTLR end NAME
 
     // $ANTLR start SYMBOL
     public void mSYMBOL() throws RecognitionException {
         try {
             ruleNestingLevel++;
-            int _type = SYMBOL;
-            int _start = getCharIndex();
-            int _line = getLine();
-            int _charPosition = getCharPositionInLine();
-            int _channel = Token.DEFAULT_CHANNEL;
-            // D:\\workspace\\jboss\\jbossrules\\drools-compiler\\src\\main\\resources\\org\\drools\\clp\\CLP.g:734:4: ( ( (~ (' '|'\\t'|'\\n'|'\\r'|'\"'|'('|')'|';'|'&'|'|'|'~'|'?'|'$')) | ( '$' ~ ('?'|' '|'\\t'|'\\n'|'\\r'|'\"'|'('|')'|';'|'&'|'|'|'~'|'<')) ) (~ (' '|'\\t'|'\\n'|'\\r'|'\"'|'('|')'|';'|'&'|'|'|'~'|'<'|'?'))* )
-            // D:\\workspace\\jboss\\jbossrules\\drools-compiler\\src\\main\\resources\\org\\drools\\clp\\CLP.g:734:4: ( (~ (' '|'\\t'|'\\n'|'\\r'|'\"'|'('|')'|';'|'&'|'|'|'~'|'?'|'$')) | ( '$' ~ ('?'|' '|'\\t'|'\\n'|'\\r'|'\"'|'('|')'|';'|'&'|'|'|'~'|'<')) ) (~ (' '|'\\t'|'\\n'|'\\r'|'\"'|'('|')'|';'|'&'|'|'|'~'|'<'|'?'))*
+            // D:\\workspace\\jboss\\jbossrules\\drools-compiler\\src\\main\\resources\\org\\drools\\clp\\CLP.g:717:4: ( ( (~ (' '|'\\t'|'\\n'|'\\r'|'\"'|'('|')'|';'|'&'|'|'|'~'|'?'|'$')) | ( '$' ~ ('?'|' '|'\\t'|'\\n'|'\\r'|'\"'|'('|')'|';'|'&'|'|'|'~'|'<')) ) (~ (' '|'\\t'|'\\n'|'\\r'|'\"'|'('|')'|';'|'&'|'|'|'~'|'<'|'?'))* )
+            // D:\\workspace\\jboss\\jbossrules\\drools-compiler\\src\\main\\resources\\org\\drools\\clp\\CLP.g:717:4: ( (~ (' '|'\\t'|'\\n'|'\\r'|'\"'|'('|')'|';'|'&'|'|'|'~'|'?'|'$')) | ( '$' ~ ('?'|' '|'\\t'|'\\n'|'\\r'|'\"'|'('|')'|';'|'&'|'|'|'~'|'<')) ) (~ (' '|'\\t'|'\\n'|'\\r'|'\"'|'('|')'|';'|'&'|'|'|'~'|'<'|'?'))*
             {
-            // D:\\workspace\\jboss\\jbossrules\\drools-compiler\\src\\main\\resources\\org\\drools\\clp\\CLP.g:734:4: ( (~ (' '|'\\t'|'\\n'|'\\r'|'\"'|'('|')'|';'|'&'|'|'|'~'|'?'|'$')) | ( '$' ~ ('?'|' '|'\\t'|'\\n'|'\\r'|'\"'|'('|')'|';'|'&'|'|'|'~'|'<')) )
-            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;
+            // D:\\workspace\\jboss\\jbossrules\\drools-compiler\\src\\main\\resources\\org\\drools\\clp\\CLP.g:717: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 ( (LA19_0=='$') ) {
-                alt19=2;
+            else if ( (LA18_0=='$') ) {
+                alt18=2;
             }
             else {
                 if (backtracking>0) {failed=true; return ;}
                 NoViableAltException nvae =
-                    new NoViableAltException("734:4: ( (~ (' '|'\\t'|'\\n'|'\\r'|'\"'|'('|')'|';'|'&'|'|'|'~'|'?'|'$')) | ( '$' ~ ('?'|' '|'\\t'|'\\n'|'\\r'|'\"'|'('|')'|';'|'&'|'|'|'~'|'<')) )", 19, 0, input);
+                    new NoViableAltException("717:4: ( (~ (' '|'\\t'|'\\n'|'\\r'|'\"'|'('|')'|';'|'&'|'|'|'~'|'?'|'$')) | ( '$' ~ ('?'|' '|'\\t'|'\\n'|'\\r'|'\"'|'('|')'|';'|'&'|'|'|'~'|'<')) )", 18, 0, input);
 
                 throw nvae;
             }
-            switch (alt19) {
+            switch (alt18) {
                 case 1 :
-                    // D:\\workspace\\jboss\\jbossrules\\drools-compiler\\src\\main\\resources\\org\\drools\\clp\\CLP.g:734:5: (~ (' '|'\\t'|'\\n'|'\\r'|'\"'|'('|')'|';'|'&'|'|'|'~'|'?'|'$'))
+                    // D:\\workspace\\jboss\\jbossrules\\drools-compiler\\src\\main\\resources\\org\\drools\\clp\\CLP.g:717:5: (~ (' '|'\\t'|'\\n'|'\\r'|'\"'|'('|')'|';'|'&'|'|'|'~'|'?'|'$'))
                     {
-                    // D:\\workspace\\jboss\\jbossrules\\drools-compiler\\src\\main\\resources\\org\\drools\\clp\\CLP.g:734:5: (~ (' '|'\\t'|'\\n'|'\\r'|'\"'|'('|')'|';'|'&'|'|'|'~'|'?'|'$'))
-                    // D:\\workspace\\jboss\\jbossrules\\drools-compiler\\src\\main\\resources\\org\\drools\\clp\\CLP.g:734:6: ~ (' '|'\\t'|'\\n'|'\\r'|'\"'|'('|')'|';'|'&'|'|'|'~'|'?'|'$')
+                    // D:\\workspace\\jboss\\jbossrules\\drools-compiler\\src\\main\\resources\\org\\drools\\clp\\CLP.g:717:5: (~ (' '|'\\t'|'\\n'|'\\r'|'\"'|'('|')'|';'|'&'|'|'|'~'|'?'|'$'))
+                    // D:\\workspace\\jboss\\jbossrules\\drools-compiler\\src\\main\\resources\\org\\drools\\clp\\CLP.g:717: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();
@@ -2203,10 +1985,10 @@
                     }
                     break;
                 case 2 :
-                    // D:\\workspace\\jboss\\jbossrules\\drools-compiler\\src\\main\\resources\\org\\drools\\clp\\CLP.g:734:65: ( '$' ~ ('?'|' '|'\\t'|'\\n'|'\\r'|'\"'|'('|')'|';'|'&'|'|'|'~'|'<'))
+                    // D:\\workspace\\jboss\\jbossrules\\drools-compiler\\src\\main\\resources\\org\\drools\\clp\\CLP.g:717:65: ( '$' ~ ('?'|' '|'\\t'|'\\n'|'\\r'|'\"'|'('|')'|';'|'&'|'|'|'~'|'<'))
                     {
-                    // D:\\workspace\\jboss\\jbossrules\\drools-compiler\\src\\main\\resources\\org\\drools\\clp\\CLP.g:734:65: ( '$' ~ ('?'|' '|'\\t'|'\\n'|'\\r'|'\"'|'('|')'|';'|'&'|'|'|'~'|'<'))
-                    // D:\\workspace\\jboss\\jbossrules\\drools-compiler\\src\\main\\resources\\org\\drools\\clp\\CLP.g:734:66: '$' ~ ('?'|' '|'\\t'|'\\n'|'\\r'|'\"'|'('|')'|';'|'&'|'|'|'~'|'<')
+                    // D:\\workspace\\jboss\\jbossrules\\drools-compiler\\src\\main\\resources\\org\\drools\\clp\\CLP.g:717:65: ( '$' ~ ('?'|' '|'\\t'|'\\n'|'\\r'|'\"'|'('|')'|';'|'&'|'|'|'~'|'<'))
+                    // D:\\workspace\\jboss\\jbossrules\\drools-compiler\\src\\main\\resources\\org\\drools\\clp\\CLP.g:717: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') ) {
@@ -2229,19 +2011,19 @@
 
             }
 
-            // D:\\workspace\\jboss\\jbossrules\\drools-compiler\\src\\main\\resources\\org\\drools\\clp\\CLP.g:735:11: (~ (' '|'\\t'|'\\n'|'\\r'|'\"'|'('|')'|';'|'&'|'|'|'~'|'<'|'?'))*
-            loop20:
+            // D:\\workspace\\jboss\\jbossrules\\drools-compiler\\src\\main\\resources\\org\\drools\\clp\\CLP.g:718:11: (~ (' '|'\\t'|'\\n'|'\\r'|'\"'|'('|')'|';'|'&'|'|'|'~'|'<'|'?'))*
+            loop19:
             do {
-                int alt20=2;
-                int LA20_0 = input.LA(1);
-                if ( ((LA20_0>='\u0000' && LA20_0<='\b')||(LA20_0>='\u000B' && LA20_0<='\f')||(LA20_0>='\u000E' && LA20_0<='\u001F')||LA20_0=='!'||(LA20_0>='#' && LA20_0<='%')||LA20_0=='\''||(LA20_0>='*' && LA20_0<=':')||(LA20_0>='=' && LA20_0<='>')||(LA20_0>='@' && LA20_0<='{')||LA20_0=='}'||(LA20_0>='\u007F' && LA20_0<='\uFFFE')) ) {
-                    alt20=1;
+                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;
                 }
 
 
-                switch (alt20) {
+                switch (alt19) {
             	case 1 :
-            	    // D:\\workspace\\jboss\\jbossrules\\drools-compiler\\src\\main\\resources\\org\\drools\\clp\\CLP.g:735:12: ~ (' '|'\\t'|'\\n'|'\\r'|'\"'|'('|')'|';'|'&'|'|'|'~'|'<'|'?')
+            	    // D:\\workspace\\jboss\\jbossrules\\drools-compiler\\src\\main\\resources\\org\\drools\\clp\\CLP.g:718: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();
@@ -2259,22 +2041,14 @@
             	    break;
 
             	default :
-            	    break loop20;
+            	    break loop19;
                 }
             } while (true);
 
 
             }
 
-
-            if ( backtracking==0 ) {
-
-                      if ( token==null && ruleNestingLevel==1 ) {
-                          emit(_type,_line,_charPosition,_channel,_start,getCharIndex()-1);
-                      }
-
-                      
-            }    }
+        }
         finally {
             ruleNestingLevel--;
         }
@@ -2282,593 +2056,530 @@
     // $ANTLR end SYMBOL
 
     public void mTokens() throws RecognitionException {
-        // D:\\workspace\\jboss\\jbossrules\\drools-compiler\\src\\main\\resources\\org\\drools\\clp\\CLP.g:1:10: ( T38 | T39 | T40 | T41 | T42 | T43 | DEFRULE | OR | AND | NOT | EXISTS | TEST | NULL | WS | 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 | MULTI_LINE_COMMENT | MISC | SYMBOL )
-        int alt21=35;
-        alt21 = dfa21.predict(input);
-        switch (alt21) {
+        // D:\\workspace\\jboss\\jbossrules\\drools-compiler\\src\\main\\resources\\org\\drools\\clp\\CLP.g:1:10: ( T41 | T42 | T43 | 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=34;
+        alt20 = dfa20.predict(input);
+        switch (alt20) {
             case 1 :
-                // D:\\workspace\\jboss\\jbossrules\\drools-compiler\\src\\main\\resources\\org\\drools\\clp\\CLP.g:1:10: T38
+                // D:\\workspace\\jboss\\jbossrules\\drools-compiler\\src\\main\\resources\\org\\drools\\clp\\CLP.g:1:10: T41
                 {
-                mT38(); if (failed) return ;
+                mT41(); if (failed) return ;
 
                 }
                 break;
             case 2 :
-                // D:\\workspace\\jboss\\jbossrules\\drools-compiler\\src\\main\\resources\\org\\drools\\clp\\CLP.g:1:14: T39
+                // D:\\workspace\\jboss\\jbossrules\\drools-compiler\\src\\main\\resources\\org\\drools\\clp\\CLP.g:1:14: T42
                 {
-                mT39(); if (failed) return ;
+                mT42(); if (failed) return ;
 
                 }
                 break;
             case 3 :
-                // D:\\workspace\\jboss\\jbossrules\\drools-compiler\\src\\main\\resources\\org\\drools\\clp\\CLP.g:1:18: T40
+                // D:\\workspace\\jboss\\jbossrules\\drools-compiler\\src\\main\\resources\\org\\drools\\clp\\CLP.g:1:18: T43
                 {
-                mT40(); if (failed) return ;
+                mT43(); if (failed) return ;
 
                 }
                 break;
             case 4 :
-                // D:\\workspace\\jboss\\jbossrules\\drools-compiler\\src\\main\\resources\\org\\drools\\clp\\CLP.g:1:22: T41
+                // D:\\workspace\\jboss\\jbossrules\\drools-compiler\\src\\main\\resources\\org\\drools\\clp\\CLP.g:1:22: WS
                 {
-                mT41(); if (failed) return ;
+                mWS(); if (failed) return ;
 
                 }
                 break;
             case 5 :
-                // D:\\workspace\\jboss\\jbossrules\\drools-compiler\\src\\main\\resources\\org\\drools\\clp\\CLP.g:1:26: T42
+                // D:\\workspace\\jboss\\jbossrules\\drools-compiler\\src\\main\\resources\\org\\drools\\clp\\CLP.g:1:25: DEFRULE
                 {
-                mT42(); if (failed) return ;
+                mDEFRULE(); if (failed) return ;
 
                 }
                 break;
             case 6 :
-                // D:\\workspace\\jboss\\jbossrules\\drools-compiler\\src\\main\\resources\\org\\drools\\clp\\CLP.g:1:30: T43
+                // D:\\workspace\\jboss\\jbossrules\\drools-compiler\\src\\main\\resources\\org\\drools\\clp\\CLP.g:1:33: OR
                 {
-                mT43(); if (failed) return ;
+                mOR(); if (failed) return ;
 
                 }
                 break;
             case 7 :
-                // D:\\workspace\\jboss\\jbossrules\\drools-compiler\\src\\main\\resources\\org\\drools\\clp\\CLP.g:1:34: DEFRULE
+                // D:\\workspace\\jboss\\jbossrules\\drools-compiler\\src\\main\\resources\\org\\drools\\clp\\CLP.g:1:36: AND
                 {
-                mDEFRULE(); if (failed) return ;
+                mAND(); if (failed) return ;
 
                 }
                 break;
             case 8 :
-                // D:\\workspace\\jboss\\jbossrules\\drools-compiler\\src\\main\\resources\\org\\drools\\clp\\CLP.g:1:42: OR
+                // D:\\workspace\\jboss\\jbossrules\\drools-compiler\\src\\main\\resources\\org\\drools\\clp\\CLP.g:1:40: NOT
                 {
-                mOR(); if (failed) return ;
+                mNOT(); if (failed) return ;
 
                 }
                 break;
             case 9 :
-                // D:\\workspace\\jboss\\jbossrules\\drools-compiler\\src\\main\\resources\\org\\drools\\clp\\CLP.g:1:45: AND
+                // D:\\workspace\\jboss\\jbossrules\\drools-compiler\\src\\main\\resources\\org\\drools\\clp\\CLP.g:1:44: EXISTS
                 {
-                mAND(); if (failed) return ;
+                mEXISTS(); if (failed) return ;
 
                 }
                 break;
             case 10 :
-                // D:\\workspace\\jboss\\jbossrules\\drools-compiler\\src\\main\\resources\\org\\drools\\clp\\CLP.g:1:49: NOT
+                // D:\\workspace\\jboss\\jbossrules\\drools-compiler\\src\\main\\resources\\org\\drools\\clp\\CLP.g:1:51: TEST
                 {
-                mNOT(); if (failed) return ;
+                mTEST(); if (failed) return ;
 
                 }
                 break;
             case 11 :
-                // D:\\workspace\\jboss\\jbossrules\\drools-compiler\\src\\main\\resources\\org\\drools\\clp\\CLP.g:1:53: EXISTS
+                // D:\\workspace\\jboss\\jbossrules\\drools-compiler\\src\\main\\resources\\org\\drools\\clp\\CLP.g:1:56: NULL
                 {
-                mEXISTS(); if (failed) return ;
+                mNULL(); if (failed) return ;
 
                 }
                 break;
             case 12 :
-                // D:\\workspace\\jboss\\jbossrules\\drools-compiler\\src\\main\\resources\\org\\drools\\clp\\CLP.g:1:60: TEST
+                // D:\\workspace\\jboss\\jbossrules\\drools-compiler\\src\\main\\resources\\org\\drools\\clp\\CLP.g:1:61: DECLARE
                 {
-                mTEST(); if (failed) return ;
+                mDECLARE(); if (failed) return ;
 
                 }
                 break;
             case 13 :
-                // D:\\workspace\\jboss\\jbossrules\\drools-compiler\\src\\main\\resources\\org\\drools\\clp\\CLP.g:1:65: NULL
+                // D:\\workspace\\jboss\\jbossrules\\drools-compiler\\src\\main\\resources\\org\\drools\\clp\\CLP.g:1:69: SALIENCE
                 {
-                mNULL(); if (failed) return ;
+                mSALIENCE(); if (failed) return ;
 
                 }
                 break;
             case 14 :
-                // D:\\workspace\\jboss\\jbossrules\\drools-compiler\\src\\main\\resources\\org\\drools\\clp\\CLP.g:1:70: WS
+                // D:\\workspace\\jboss\\jbossrules\\drools-compiler\\src\\main\\resources\\org\\drools\\clp\\CLP.g:1:78: INT
                 {
-                mWS(); if (failed) return ;
+                mINT(); if (failed) return ;
 
                 }
                 break;
             case 15 :
-                // D:\\workspace\\jboss\\jbossrules\\drools-compiler\\src\\main\\resources\\org\\drools\\clp\\CLP.g:1:73: DECLARE
+                // D:\\workspace\\jboss\\jbossrules\\drools-compiler\\src\\main\\resources\\org\\drools\\clp\\CLP.g:1:82: FLOAT
                 {
-                mDECLARE(); if (failed) return ;
+                mFLOAT(); if (failed) return ;
 
                 }
                 break;
             case 16 :
-                // D:\\workspace\\jboss\\jbossrules\\drools-compiler\\src\\main\\resources\\org\\drools\\clp\\CLP.g:1:81: SALIENCE
+                // D:\\workspace\\jboss\\jbossrules\\drools-compiler\\src\\main\\resources\\org\\drools\\clp\\CLP.g:1:88: STRING
                 {
-                mSALIENCE(); if (failed) return ;
+                mSTRING(); if (failed) return ;
 
                 }
                 break;
             case 17 :
-                // D:\\workspace\\jboss\\jbossrules\\drools-compiler\\src\\main\\resources\\org\\drools\\clp\\CLP.g:1:90: INT
+                // D:\\workspace\\jboss\\jbossrules\\drools-compiler\\src\\main\\resources\\org\\drools\\clp\\CLP.g:1:95: BOOL
                 {
-                mINT(); if (failed) return ;
+                mBOOL(); if (failed) return ;
 
                 }
                 break;
             case 18 :
-                // D:\\workspace\\jboss\\jbossrules\\drools-compiler\\src\\main\\resources\\org\\drools\\clp\\CLP.g:1:94: FLOAT
+                // D:\\workspace\\jboss\\jbossrules\\drools-compiler\\src\\main\\resources\\org\\drools\\clp\\CLP.g:1:100: VAR
                 {
-                mFLOAT(); if (failed) return ;
+                mVAR(); if (failed) return ;
 
                 }
                 break;
             case 19 :
-                // D:\\workspace\\jboss\\jbossrules\\drools-compiler\\src\\main\\resources\\org\\drools\\clp\\CLP.g:1:100: STRING
+                // D:\\workspace\\jboss\\jbossrules\\drools-compiler\\src\\main\\resources\\org\\drools\\clp\\CLP.g:1:104: SH_STYLE_SINGLE_LINE_COMMENT
                 {
-                mSTRING(); if (failed) return ;
+                mSH_STYLE_SINGLE_LINE_COMMENT(); if (failed) return ;
 
                 }
                 break;
             case 20 :
-                // D:\\workspace\\jboss\\jbossrules\\drools-compiler\\src\\main\\resources\\org\\drools\\clp\\CLP.g:1:107: BOOL
+                // D:\\workspace\\jboss\\jbossrules\\drools-compiler\\src\\main\\resources\\org\\drools\\clp\\CLP.g:1:133: C_STYLE_SINGLE_LINE_COMMENT
                 {
-                mBOOL(); if (failed) return ;
+                mC_STYLE_SINGLE_LINE_COMMENT(); if (failed) return ;
 
                 }
                 break;
             case 21 :
-                // D:\\workspace\\jboss\\jbossrules\\drools-compiler\\src\\main\\resources\\org\\drools\\clp\\CLP.g:1:112: VAR
+                // D:\\workspace\\jboss\\jbossrules\\drools-compiler\\src\\main\\resources\\org\\drools\\clp\\CLP.g:1:161: LEFT_PAREN
                 {
-                mVAR(); if (failed) return ;
+                mLEFT_PAREN(); if (failed) return ;
 
                 }
                 break;
             case 22 :
-                // D:\\workspace\\jboss\\jbossrules\\drools-compiler\\src\\main\\resources\\org\\drools\\clp\\CLP.g:1:116: SH_STYLE_SINGLE_LINE_COMMENT
+                // D:\\workspace\\jboss\\jbossrules\\drools-compiler\\src\\main\\resources\\org\\drools\\clp\\CLP.g:1:172: RIGHT_PAREN
                 {
-                mSH_STYLE_SINGLE_LINE_COMMENT(); if (failed) return ;
+                mRIGHT_PAREN(); if (failed) return ;
 
                 }
                 break;
             case 23 :
-                // D:\\workspace\\jboss\\jbossrules\\drools-compiler\\src\\main\\resources\\org\\drools\\clp\\CLP.g:1:145: C_STYLE_SINGLE_LINE_COMMENT
+                // D:\\workspace\\jboss\\jbossrules\\drools-compiler\\src\\main\\resources\\org\\drools\\clp\\CLP.g:1:184: LEFT_SQUARE
                 {
-                mC_STYLE_SINGLE_LINE_COMMENT(); if (failed) return ;
+                mLEFT_SQUARE(); if (failed) return ;
 
                 }
                 break;
             case 24 :
-                // D:\\workspace\\jboss\\jbossrules\\drools-compiler\\src\\main\\resources\\org\\drools\\clp\\CLP.g:1:173: LEFT_PAREN
+                // D:\\workspace\\jboss\\jbossrules\\drools-compiler\\src\\main\\resources\\org\\drools\\clp\\CLP.g:1:196: RIGHT_SQUARE
                 {
-                mLEFT_PAREN(); if (failed) return ;
+                mRIGHT_SQUARE(); if (failed) return ;
 
                 }
                 break;
             case 25 :
-                // D:\\workspace\\jboss\\jbossrules\\drools-compiler\\src\\main\\resources\\org\\drools\\clp\\CLP.g:1:184: RIGHT_PAREN
+                // D:\\workspace\\jboss\\jbossrules\\drools-compiler\\src\\main\\resources\\org\\drools\\clp\\CLP.g:1:209: LEFT_CURLY
                 {
-                mRIGHT_PAREN(); if (failed) return ;
+                mLEFT_CURLY(); if (failed) return ;
 
                 }
                 break;
             case 26 :
-                // D:\\workspace\\jboss\\jbossrules\\drools-compiler\\src\\main\\resources\\org\\drools\\clp\\CLP.g:1:196: LEFT_SQUARE
+                // D:\\workspace\\jboss\\jbossrules\\drools-compiler\\src\\main\\resources\\org\\drools\\clp\\CLP.g:1:220: RIGHT_CURLY
                 {
-                mLEFT_SQUARE(); if (failed) return ;
+                mRIGHT_CURLY(); if (failed) return ;
 
                 }
                 break;
             case 27 :
-                // D:\\workspace\\jboss\\jbossrules\\drools-compiler\\src\\main\\resources\\org\\drools\\clp\\CLP.g:1:208: RIGHT_SQUARE
+                // D:\\workspace\\jboss\\jbossrules\\drools-compiler\\src\\main\\resources\\org\\drools\\clp\\CLP.g:1:232: TILDE
                 {
-                mRIGHT_SQUARE(); if (failed) return ;
+                mTILDE(); if (failed) return ;
 
                 }
                 break;
             case 28 :
-                // D:\\workspace\\jboss\\jbossrules\\drools-compiler\\src\\main\\resources\\org\\drools\\clp\\CLP.g:1:221: LEFT_CURLY
+                // D:\\workspace\\jboss\\jbossrules\\drools-compiler\\src\\main\\resources\\org\\drools\\clp\\CLP.g:1:238: AMPERSAND
                 {
-                mLEFT_CURLY(); if (failed) return ;
+                mAMPERSAND(); if (failed) return ;
 
                 }
                 break;
             case 29 :
-                // D:\\workspace\\jboss\\jbossrules\\drools-compiler\\src\\main\\resources\\org\\drools\\clp\\CLP.g:1:232: RIGHT_CURLY
+                // D:\\workspace\\jboss\\jbossrules\\drools-compiler\\src\\main\\resources\\org\\drools\\clp\\CLP.g:1:248: PIPE
                 {
-                mRIGHT_CURLY(); if (failed) return ;
+                mPIPE(); if (failed) return ;
 
                 }
                 break;
             case 30 :
-                // D:\\workspace\\jboss\\jbossrules\\drools-compiler\\src\\main\\resources\\org\\drools\\clp\\CLP.g:1:244: TILDE
+                // D:\\workspace\\jboss\\jbossrules\\drools-compiler\\src\\main\\resources\\org\\drools\\clp\\CLP.g:1:253: ASSIGN_OP
                 {
-                mTILDE(); if (failed) return ;
+                mASSIGN_OP(); if (failed) return ;
 
                 }
                 break;
             case 31 :
-                // D:\\workspace\\jboss\\jbossrules\\drools-compiler\\src\\main\\resources\\org\\drools\\clp\\CLP.g:1:250: AMPERSAND
+                // D:\\workspace\\jboss\\jbossrules\\drools-compiler\\src\\main\\resources\\org\\drools\\clp\\CLP.g:1:263: COLON
                 {
-                mAMPERSAND(); if (failed) return ;
+                mCOLON(); if (failed) return ;
 
                 }
                 break;
             case 32 :
-                // D:\\workspace\\jboss\\jbossrules\\drools-compiler\\src\\main\\resources\\org\\drools\\clp\\CLP.g:1:260: PIPE
+                // D:\\workspace\\jboss\\jbossrules\\drools-compiler\\src\\main\\resources\\org\\drools\\clp\\CLP.g:1:269: EQUALS
                 {
-                mPIPE(); if (failed) return ;
+                mEQUALS(); if (failed) return ;
 
                 }
                 break;
             case 33 :
-                // D:\\workspace\\jboss\\jbossrules\\drools-compiler\\src\\main\\resources\\org\\drools\\clp\\CLP.g:1:265: MULTI_LINE_COMMENT
+                // D:\\workspace\\jboss\\jbossrules\\drools-compiler\\src\\main\\resources\\org\\drools\\clp\\CLP.g:1:276: MULTI_LINE_COMMENT
                 {
                 mMULTI_LINE_COMMENT(); if (failed) return ;
 
                 }
                 break;
             case 34 :
-                // D:\\workspace\\jboss\\jbossrules\\drools-compiler\\src\\main\\resources\\org\\drools\\clp\\CLP.g:1:284: MISC
+                // D:\\workspace\\jboss\\jbossrules\\drools-compiler\\src\\main\\resources\\org\\drools\\clp\\CLP.g:1:295: NAME
                 {
-                mMISC(); if (failed) return ;
+                mNAME(); if (failed) return ;
 
                 }
                 break;
-            case 35 :
-                // D:\\workspace\\jboss\\jbossrules\\drools-compiler\\src\\main\\resources\\org\\drools\\clp\\CLP.g:1:289: SYMBOL
-                {
-                mSYMBOL(); if (failed) return ;
 
-                }
-                break;
-
         }
 
     }
 
 
-    protected DFA21 dfa21 = new DFA21(this);
-    public static final String DFA21_eotS =
-        "\2\uffff\1\55\1\60\1\61\7\53\1\uffff\1\14\1\53\1\60\1\75\1\uffff"+
-        "\1\60\1\53\1\60\1\53\1\60\2\uffff\1\110\1\111\1\112\1\113\3\uffff"+
-        "\13\60\1\uffff\1\115\1\uffff\1\60\1\116\2\uffff\2\53\1\122\7\53"+
-        "\1\75\1\uffff\3\53\1\21\1\53\2\uffff\3\53\4\uffff\1\60\2\uffff\3"+
-        "\53\1\uffff\1\150\1\53\1\152\4\53\1\157\5\53\1\uffff\2\53\1\uffff"+
-        "\4\53\1\uffff\1\170\1\uffff\1\53\1\172\1\173\1\53\1\uffff\4\53\1"+
-        "\143\3\53\1\uffff\1\53\2\uffff\3\53\1\173\1\u0086\2\53\1\u0089\2"+
-        "\53\1\uffff\1\u008c\1\u008d\1\uffff\2\53\2\uffff\1\u008f\1\uffff";
-    public static final String DFA21_eofS =
-        "\u0090\uffff";
-    public static final String DFA21_minS =
-        "\1\0\1\uffff\3\0\1\157\1\145\1\162\1\156\1\157\1\170\1\145\1\uffff"+
-        "\1\0\1\141\2\0\1\uffff\1\0\1\141\1\44\2\0\2\uffff\4\0\3\uffff\13"+
-        "\0\1\uffff\1\0\1\uffff\2\0\2\uffff\1\144\1\143\1\0\1\144\1\154\1"+
-        "\164\1\151\1\163\1\165\1\154\1\0\1\uffff\1\60\1\42\2\0\1\154\2\uffff"+
-        "\3\0\4\uffff\1\0\2\uffff\1\151\1\154\1\162\1\uffff\1\0\1\154\1\0"+
-        "\1\163\1\164\1\145\1\151\1\0\1\60\3\0\1\163\1\uffff\2\0\1\uffff"+
-        "\1\0\1\146\1\141\1\165\1\uffff\1\0\1\uffff\1\164\2\0\1\145\1\uffff"+
-        "\1\60\2\0\1\145\1\0\1\171\1\162\1\154\1\uffff\1\163\2\uffff\1\156"+
-        "\1\60\3\0\2\145\1\0\1\143\1\60\1\uffff\2\0\1\uffff\1\145\1\0\2\uffff"+
-        "\1\0\1\uffff";
-    public static final String DFA21_maxS =
-        "\1\ufffe\1\uffff\3\ufffe\1\157\1\145\1\162\1\156\1\165\1\170\1\162"+
-        "\1\uffff\1\ufffe\1\141\2\ufffe\1\uffff\1\ufffe\1\141\1\172\2\ufffe"+
-        "\2\uffff\4\ufffe\3\uffff\13\ufffe\1\uffff\1\ufffe\1\uffff\2\ufffe"+
-        "\2\uffff\1\144\1\146\1\ufffe\1\144\1\154\1\164\1\151\1\163\1\165"+
-        "\1\154\1\ufffe\1\uffff\1\71\1\165\2\ufffe\1\154\2\uffff\3\ufffe"+
-        "\4\uffff\1\ufffe\2\uffff\1\151\1\154\1\162\1\uffff\1\ufffe\1\154"+
-        "\1\ufffe\1\163\1\164\1\145\1\151\1\ufffe\1\146\3\ufffe\1\163\1\uffff"+
-        "\2\ufffe\1\uffff\1\ufffe\1\146\1\141\1\165\1\uffff\1\ufffe\1\uffff"+
-        "\1\164\2\ufffe\1\145\1\uffff\1\146\2\ufffe\1\145\1\ufffe\1\171\1"+
-        "\162\1\154\1\uffff\1\163\2\uffff\1\156\1\146\3\ufffe\2\145\1\ufffe"+
-        "\1\143\1\146\1\uffff\2\ufffe\1\uffff\1\145\1\ufffe\2\uffff\1\ufffe"+
-        "\1\uffff";
-    public static final String DFA21_acceptS =
-        "\1\uffff\1\1\12\uffff\1\16\4\uffff\1\23\5\uffff\1\30\1\31\4\uffff"+
-        "\1\36\1\37\1\40\13\uffff\1\43\1\uffff\1\5\2\uffff\1\42\1\4\13\uffff"+
-        "\1\21\5\uffff\1\25\1\26\3\uffff\1\32\1\33\1\34\1\35\1\uffff\1\2"+
-        "\1\3\3\uffff\1\10\15\uffff\1\27\2\uffff\1\41\4\uffff\1\11\1\uffff"+
-        "\1\12\4\uffff\1\22\10\uffff\1\15\1\uffff\1\14\1\24\12\uffff\1\6"+
-        "\2\uffff\1\13\2\uffff\1\17\1\7\1\uffff\1\20";
-    public static final String DFA21_specialS =
-        "\u0090\uffff}>";
-    public static final String[] DFA21_transition = {
-        "\11\53\2\14\1\53\1\15\1\14\22\53\1\14\1\40\1\21\1\25\1\42\1\43\1"+
-        "\36\1\22\1\27\1\30\1\45\1\47\1\50\1\17\1\53\1\26\12\20\1\4\1\1\1"+
-        "\3\1\2\1\52\1\24\1\41\32\53\1\31\1\51\1\32\1\44\1\46\1\53\1\10\2"+
-        "\53\1\6\1\12\1\23\6\53\1\5\1\11\1\7\3\53\1\16\1\13\6\53\1\33\1\37"+
-        "\1\34\1\35\uff80\53",
+    protected DFA20 dfa20 = new DFA20(this);
+    public static final String DFA20_eotS =
+        "\2\uffff\1\42\1\40\1\uffff\1\4\10\40\1\57\1\uffff\2\40\1\uffff\2"+
+        "\40\2\uffff\1\70\1\71\1\72\1\73\3\uffff\1\40\1\75\1\uffff\1\76\1"+
+        "\uffff\2\40\1\102\7\40\1\57\1\40\1\uffff\2\40\1\17\2\40\1\uffff"+
+        "\2\40\4\uffff\1\125\2\uffff\3\40\1\uffff\1\131\1\40\1\133\4\40\1"+
+        "\140\6\40\1\uffff\2\40\2\uffff\3\40\1\uffff\1\151\1\uffff\1\40\1"+
+        "\153\1\154\1\40\1\uffff\4\40\1\121\3\40\1\uffff\1\40\2\uffff\3\40"+
+        "\1\153\1\167\2\40\1\172\2\40\1\uffff\1\175\1\176\1\uffff\2\40\2"+
+        "\uffff\1\u0080\1\uffff";
+    public static final String DFA20_eofS =
+        "\u0081\uffff";
+    public static final String DFA20_minS =
+        "\1\0\1\uffff\1\0\1\157\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\144\1\143\1\0\1\144"+
+        "\1\154\1\164\1\151\1\165\1\163\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\151\1\162\1\154\1\uffff"+
+        "\1\0\1\154\1\0\1\163\1\145\1\164\1\151\1\0\1\60\3\0\1\163\1\0\1"+
+        "\uffff\2\0\2\uffff\1\146\1\165\1\141\1\uffff\1\0\1\uffff\1\164\2"+
+        "\0\1\145\1\uffff\1\60\2\0\1\145\1\0\1\171\1\154\1\162\1\uffff\1"+
+        "\163\2\uffff\1\156\1\60\3\0\2\145\1\0\1\143\1\60\1\uffff\2\0\1\uffff"+
+        "\1\145\1\0\2\uffff\1\0\1\uffff";
+    public static final String DFA20_maxS =
+        "\1\ufffe\1\uffff\1\ufffe\1\157\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\144\1\146\1\ufffe\1\144\1\154\1\164\1\151\1\165\1\163"+
+        "\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\151\1\162\1\154\1\uffff\1\ufffe"+
+        "\1\154\1\ufffe\1\163\1\145\1\164\1\151\1\ufffe\1\146\3\ufffe\1\163"+
+        "\1\ufffe\1\uffff\2\ufffe\2\uffff\1\146\1\165\1\141\1\uffff\1\ufffe"+
+        "\1\uffff\1\164\2\ufffe\1\145\1\uffff\1\146\2\ufffe\1\145\1\ufffe"+
+        "\1\171\1\154\1\162\1\uffff\1\163\2\uffff\1\156\1\146\3\ufffe\2\145"+
+        "\1\ufffe\1\143\1\146\1\uffff\2\ufffe\1\uffff\1\145\1\ufffe\2\uffff"+
+        "\1\ufffe\1\uffff";
+    public static final String DFA20_acceptS =
+        "\1\uffff\1\1\2\uffff\1\4\12\uffff\1\20\2\uffff\1\22\2\uffff\1\25"+
+        "\1\26\4\uffff\1\33\1\34\1\35\2\uffff\1\42\1\uffff\1\40\14\uffff"+
+        "\1\16\5\uffff\1\23\2\uffff\1\27\1\30\1\31\1\32\1\uffff\1\37\1\2"+
+        "\3\uffff\1\6\16\uffff\1\41\2\uffff\1\24\1\36\3\uffff\1\7\1\uffff"+
+        "\1\10\4\uffff\1\17\10\uffff\1\13\1\uffff\1\21\1\12\12\uffff\1\3"+
+        "\2\uffff\1\11\2\uffff\1\5\1\14\1\uffff\1\15";
+    public static final String DFA20_specialS =
+        "\u0081\uffff}>";
+    public static final String[] DFA20_transition = {
+        "\11\40\2\4\1\40\1\5\1\4\22\40\1\4\1\40\1\17\1\23\2\40\1\34\1\20"+
+        "\1\25\1\26\3\40\1\15\1\40\1\24\12\16\1\37\1\1\1\36\1\2\1\40\1\22"+
+        "\33\40\1\27\1\40\1\30\3\40\1\10\2\40\1\6\1\12\1\21\6\40\1\3\1\11"+
+        "\1\7\3\40\1\14\1\13\6\40\1\31\1\35\1\32\1\33\uff80\40",
         "",
-        "\11\53\2\uffff\2\53\1\uffff\22\53\1\uffff\1\53\1\uffff\3\53\1\uffff"+
-        "\1\53\2\uffff\21\53\2\uffff\1\53\1\54\1\uffff\74\53\1\uffff\1\53"+
-        "\1\uffff\uff80\53",
-        "\11\53\2\uffff\2\53\1\uffff\22\53\1\uffff\1\53\1\uffff\3\53\1\uffff"+
-        "\1\53\2\uffff\3\53\1\57\15\53\2\uffff\1\56\1\53\1\uffff\74\53\1"+
-        "\uffff\1\53\1\uffff\uff80\53",
-        "\11\53\2\uffff\2\53\1\uffff\22\53\1\uffff\1\53\1\uffff\3\53\1\uffff"+
-        "\1\53\2\uffff\21\53\2\uffff\2\53\1\uffff\74\53\1\uffff\1\53\1\uffff"+
-        "\uff80\53",
-        "\1\62",
-        "\1\63",
-        "\1\64",
-        "\1\65",
-        "\1\67\5\uffff\1\66",
-        "\1\70",
-        "\1\71\14\uffff\1\72",
+        "\11\40\2\uffff\2\40\1\uffff\22\40\1\uffff\1\40\1\uffff\3\40\1\uffff"+
+        "\1\40\2\uffff\21\40\2\uffff\1\40\1\41\1\uffff\74\40\1\uffff\1\40"+
+        "\1\uffff\uff80\40",
+        "\1\43",
         "",
-        "\11\53\2\uffff\2\53\1\uffff\22\53\1\uffff\1\53\1\uffff\3\53\1\uffff"+
-        "\1\53\2\uffff\21\53\2\uffff\2\53\1\uffff\74\53\1\uffff\1\53\1\uffff"+
-        "\uff80\53",
-        "\1\73",
-        "\11\53\2\uffff\2\53\1\uffff\22\53\1\uffff\1\53\1\uffff\3\53\1\uffff"+
-        "\1\53\2\uffff\6\53\12\74\1\53\2\uffff\2\53\1\uffff\74\53\1\uffff"+
-        "\1\53\1\uffff\uff80\53",
-        "\11\53\2\uffff\2\53\1\uffff\22\53\1\uffff\1\53\1\uffff\3\53\1\uffff"+
-        "\1\53\2\uffff\4\53\1\76\1\53\12\74\1\53\2\uffff\2\53\1\uffff\74"+
-        "\53\1\uffff\1\53\1\uffff\uff80\53",
+        "\11\40\2\uffff\2\40\1\uffff\22\40\1\uffff\1\40\1\uffff\3\40\1\uffff"+
+        "\1\40\2\uffff\21\40\2\uffff\2\40\1\uffff\74\40\1\uffff\1\40\1\uffff"+
+        "\uff80\40",
+        "\1\44",
+        "\1\45",
+        "\1\46",
+        "\1\50\5\uffff\1\47",
+        "\1\51",
+        "\1\53\14\uffff\1\52",
+        "\1\54",
+        "\12\55",
+        "\11\40\2\uffff\2\40\1\uffff\22\40\1\uffff\1\40\1\uffff\3\40\1\uffff"+
+        "\1\40\2\uffff\4\40\1\56\1\40\12\55\1\40\2\uffff\2\40\1\uffff\74"+
+        "\40\1\uffff\1\40\1\uffff\uff80\40",
         "",
-        "\11\100\2\21\2\100\1\21\22\100\1\21\1\100\1\21\3\100\1\21\1\101"+
-        "\2\21\21\100\2\21\2\100\1\21\34\100\1\77\37\100\1\21\1\100\1\21"+
-        "\uff80\100",
-        "\1\102",
-        "\1\103\34\uffff\32\103\4\uffff\1\103\1\uffff\32\103",
-        "\11\105\2\104\2\105\1\104\22\105\1\104\1\105\1\104\3\105\1\104\1"+
-        "\105\2\104\21\105\2\104\2\105\1\104\74\105\1\104\1\105\1\104\uff80"+
-        "\105",
-        "\11\53\2\uffff\2\53\1\uffff\22\53\1\uffff\1\53\1\uffff\3\53\1\uffff"+
-        "\1\53\2\uffff\1\107\4\53\1\106\13\53\2\uffff\2\53\1\uffff\74\53"+
-        "\1\uffff\1\53\1\uffff\uff80\53",
+        "\11\61\2\17\2\61\1\17\22\61\1\17\1\61\1\17\3\61\1\17\1\62\2\17\21"+
+        "\61\2\17\2\61\1\17\34\61\1\60\37\61\1\17\1\61\1\17\uff80\61",
+        "\1\63",
         "",
+        "\11\64\2\65\2\64\1\65\22\64\1\65\1\64\1\65\3\64\1\65\1\64\2\65\21"+
+        "\64\2\65\2\64\1\65\74\64\1\65\1\64\1\65\uff80\64",
+        "\1\66\4\uffff\1\67",
         "",
-        "\11\53\2\uffff\2\53\1\uffff\22\53\1\uffff\1\53\1\uffff\3\53\1\uffff"+
-        "\1\53\2\uffff\21\53\2\uffff\2\53\1\uffff\74\53\1\uffff\1\53\1\uffff"+
-        "\uff80\53",
-        "\11\53\2\uffff\2\53\1\uffff\22\53\1\uffff\1\53\1\uffff\3\53\1\uffff"+
-        "\1\53\2\uffff\21\53\2\uffff\2\53\1\uffff\74\53\1\uffff\1\53\1\uffff"+
-        "\uff80\53",
-        "\11\53\2\uffff\2\53\1\uffff\22\53\1\uffff\1\53\1\uffff\3\53\1\uffff"+
-        "\1\53\2\uffff\21\53\2\uffff\2\53\1\uffff\74\53\1\uffff\1\53\1\uffff"+
-        "\uff80\53",
-        "\11\53\2\uffff\2\53\1\uffff\22\53\1\uffff\1\53\1\uffff\3\53\1\uffff"+
-        "\1\53\2\uffff\21\53\2\uffff\2\53\1\uffff\74\53\1\uffff\1\53\1\uffff"+
-        "\uff80\53",
         "",
+        "\11\40\2\uffff\2\40\1\uffff\22\40\1\uffff\1\40\1\uffff\3\40\1\uffff"+
+        "\1\40\2\uffff\21\40\2\uffff\2\40\1\uffff\74\40\1\uffff\1\40\1\uffff"+
+        "\uff80\40",
+        "\11\40\2\uffff\2\40\1\uffff\22\40\1\uffff\1\40\1\uffff\3\40\1\uffff"+
+        "\1\40\2\uffff\21\40\2\uffff\2\40\1\uffff\74\40\1\uffff\1\40\1\uffff"+
+        "\uff80\40",
+        "\11\40\2\uffff\2\40\1\uffff\22\40\1\uffff\1\40\1\uffff\3\40\1\uffff"+
+        "\1\40\2\uffff\21\40\2\uffff\2\40\1\uffff\74\40\1\uffff\1\40\1\uffff"+
+        "\uff80\40",
+        "\11\40\2\uffff\2\40\1\uffff\22\40\1\uffff\1\40\1\uffff\3\40\1\uffff"+
+        "\1\40\2\uffff\21\40\2\uffff\2\40\1\uffff\74\40\1\uffff\1\40\1\uffff"+
+        "\uff80\40",
         "",
         "",
-        "\11\53\2\uffff\2\53\1\uffff\22\53\1\uffff\1\53\1\uffff\3\53\1\uffff"+
-        "\1\53\2\uffff\21\53\2\uffff\2\53\1\uffff\74\53\1\uffff\1\53\1\uffff"+
-        "\uff80\53",
-        "\11\53\2\uffff\2\53\1\uffff\22\53\1\uffff\1\53\1\uffff\3\53\1\uffff"+
-        "\1\53\2\uffff\21\53\2\uffff\2\53\1\uffff\74\53\1\uffff\1\53\1\uffff"+
-        "\uff80\53",
-        "\11\53\2\uffff\2\53\1\uffff\22\53\1\uffff\1\53\1\uffff\3\53\1\uffff"+
-        "\1\53\2\uffff\21\53\2\uffff\2\53\1\uffff\74\53\1\uffff\1\53\1\uffff"+
-        "\uff80\53",
-        "\11\53\2\uffff\2\53\1\uffff\22\53\1\uffff\1\53\1\uffff\3\53\1\uffff"+
-        "\1\53\2\uffff\21\53\2\uffff\2\53\1\uffff\74\53\1\uffff\1\53\1\uffff"+
-        "\uff80\53",
-        "\11\53\2\uffff\2\53\1\uffff\22\53\1\uffff\1\53\1\uffff\3\53\1\uffff"+
-        "\1\53\2\uffff\21\53\2\uffff\2\53\1\uffff\74\53\1\uffff\1\53\1\uffff"+
-        "\uff80\53",
-        "\11\53\2\uffff\2\53\1\uffff\22\53\1\uffff\1\53\1\uffff\3\53\1\uffff"+
-        "\1\53\2\uffff\21\53\2\uffff\2\53\1\uffff\74\53\1\uffff\1\53\1\uffff"+
-        "\uff80\53",
-        "\11\53\2\uffff\2\53\1\uffff\22\53\1\uffff\1\53\1\uffff\3\53\1\uffff"+
-        "\1\53\2\uffff\21\53\2\uffff\2\53\1\uffff\74\53\1\uffff\1\53\1\uffff"+
-        "\uff80\53",
-        "\11\53\2\uffff\2\53\1\uffff\22\53\1\uffff\1\53\1\uffff\3\53\1\uffff"+
-        "\1\53\2\uffff\21\53\2\uffff\2\53\1\uffff\74\53\1\uffff\1\53\1\uffff"+
-        "\uff80\53",
-        "\11\53\2\uffff\2\53\1\uffff\22\53\1\uffff\1\53\1\uffff\3\53\1\uffff"+
-        "\1\53\2\uffff\21\53\2\uffff\2\53\1\uffff\74\53\1\uffff\1\53\1\uffff"+
-        "\uff80\53",
-        "\11\53\2\uffff\2\53\1\uffff\22\53\1\uffff\1\53\1\uffff\3\53\1\uffff"+
-        "\1\53\2\uffff\21\53\2\uffff\2\53\1\uffff\74\53\1\uffff\1\53\1\uffff"+
-        "\uff80\53",
-        "\11\53\2\uffff\2\53\1\uffff\22\53\1\uffff\1\53\1\uffff\3\53\1\uffff"+
-        "\1\53\2\uffff\21\53\2\uffff\1\114\1\53\1\uffff\74\53\1\uffff\1\53"+
-        "\1\uffff\uff80\53",
         "",
-        "\11\53\2\uffff\2\53\1\uffff\22\53\1\uffff\1\53\1\uffff\3\53\1\uffff"+
-        "\1\53\2\uffff\21\53\2\uffff\2\53\1\uffff\74\53\1\uffff\1\53\1\uffff"+
-        "\uff80\53",
+        "\1\74",
+        "\11\40\2\uffff\2\40\1\uffff\22\40\1\uffff\1\40\1\uffff\3\40\1\uffff"+
+        "\1\40\2\uffff\21\40\2\uffff\2\40\1\uffff\74\40\1\uffff\1\40\1\uffff"+
+        "\uff80\40",
         "",
-        "\11\53\2\uffff\2\53\1\uffff\22\53\1\uffff\1\53\1\uffff\3\53\1\uffff"+
-        "\1\53\2\uffff\21\53\2\uffff\2\53\1\uffff\74\53\1\uffff\1\53\1\uffff"+
-        "\uff80\53",
-        "\11\53\2\uffff\2\53\1\uffff\22\53\1\uffff\1\53\1\uffff\3\53\1\uffff"+
-        "\1\53\2\uffff\21\53\2\uffff\2\53\1\uffff\74\53\1\uffff\1\53\1\uffff"+
-        "\uff80\53",
+        "\11\40\2\uffff\2\40\1\uffff\22\40\1\uffff\1\40\1\uffff\3\40\1\uffff"+
+        "\1\40\2\uffff\21\40\2\uffff\2\40\1\uffff\74\40\1\uffff\1\40\1\uffff"+
+        "\uff80\40",
         "",
+        "\1\77",
+        "\1\101\2\uffff\1\100",
+        "\11\40\2\uffff\2\40\1\uffff\22\40\1\uffff\1\40\1\uffff\3\40\1\uffff"+
+        "\1\40\2\uffff\21\40\2\uffff\2\40\1\uffff\74\40\1\uffff\1\40\1\uffff"+
+        "\uff80\40",
+        "\1\103",
+        "\1\104",
+        "\1\105",
+        "\1\106",
+        "\1\107",
+        "\1\110",
+        "\1\111",
+        "\11\40\2\uffff\2\40\1\uffff\22\40\1\uffff\1\40\1\uffff\3\40\1\uffff"+
+        "\1\40\2\uffff\4\40\1\56\1\40\12\55\1\40\2\uffff\2\40\1\uffff\74"+
+        "\40\1\uffff\1\40\1\uffff\uff80\40",
+        "\12\112",
         "",
+        "\1\17\4\uffff\1\114\10\uffff\4\115\4\116\44\uffff\1\114\5\uffff"+
+        "\1\114\3\uffff\1\114\7\uffff\1\114\3\uffff\1\114\1\uffff\1\114\1"+
+        "\113",
+        "\11\61\2\17\2\61\1\17\22\61\1\17\1\61\1\17\3\61\1\17\1\62\2\17\21"+
+        "\61\2\17\2\61\1\17\34\61\1\60\37\61\1\17\1\61\1\17\uff80\61",
+        "\11\40\2\uffff\2\40\1\uffff\22\40\1\uffff\1\40\1\uffff\3\40\1\uffff"+
+        "\1\40\2\uffff\21\40\2\uffff\2\40\1\uffff\74\40\1\uffff\1\40\1\uffff"+
+        "\uff80\40",
         "\1\117",
-        "\1\120\2\uffff\1\121",
-        "\11\53\2\uffff\2\53\1\uffff\22\53\1\uffff\1\53\1\uffff\3\53\1\uffff"+
-        "\1\53\2\uffff\21\53\2\uffff\2\53\1\uffff\74\53\1\uffff\1\53\1\uffff"+
-        "\uff80\53",
-        "\1\123",
-        "\1\124",
-        "\1\125",
-        "\1\126",
-        "\1\127",
-        "\1\130",
-        "\1\131",
-        "\11\53\2\uffff\2\53\1\uffff\22\53\1\uffff\1\53\1\uffff\3\53\1\uffff"+
-        "\1\53\2\uffff\4\53\1\76\1\53\12\74\1\53\2\uffff\2\53\1\uffff\74"+
-        "\53\1\uffff\1\53\1\uffff\uff80\53",
+        "\11\64\2\65\2\64\1\65\22\64\1\65\1\64\1\65\3\64\1\65\1\64\2\65\21"+
+        "\64\2\65\2\64\1\65\74\64\1\65\1\64\1\65\uff80\64",
         "",
-        "\12\132",
-        "\1\21\4\uffff\1\134\10\uffff\4\135\4\136\44\uffff\1\134\5\uffff"+
-        "\1\134\3\uffff\1\134\7\uffff\1\134\3\uffff\1\134\1\uffff\1\134\1"+
-        "\133",
-        "\11\100\2\21\2\100\1\21\22\100\1\21\1\100\1\21\3\100\1\21\1\101"+
-        "\2\21\21\100\2\21\2\100\1\21\34\100\1\77\37\100\1\21\1\100\1\21"+
-        "\uff80\100",
-        "\11\53\2\uffff\2\53\1\uffff\22\53\1\uffff\1\53\1\uffff\3\53\1\uffff"+
-        "\1\53\2\uffff\21\53\2\uffff\2\53\1\uffff\74\53\1\uffff\1\53\1\uffff"+
-        "\uff80\53",
-        "\1\137",
+        "\11\122\2\121\2\122\1\121\22\122\1\121\1\122\1\121\3\122\1\121\1"+
+        "\122\2\121\1\120\20\122\2\121\2\122\1\121\74\122\1\121\1\122\1\121"+
+        "\uff80\122",
+        "\11\123\2\124\2\123\1\124\22\123\1\124\1\123\1\124\3\123\1\124\1"+
+        "\123\2\124\21\123\2\124\2\123\1\124\74\123\1\124\1\123\1\124\uff80"+
+        "\123",
         "",
         "",
-        "\11\105\2\104\2\105\1\104\22\105\1\104\1\105\1\104\3\105\1\104\1"+
-        "\105\2\104\21\105\2\104\2\105\1\104\74\105\1\104\1\105\1\104\uff80"+
-        "\105",
-        "\11\141\2\140\2\141\1\140\22\141\1\140\1\141\1\140\3\141\1\140\1"+
-        "\141\2\140\21\141\2\140\2\141\1\140\74\141\1\140\1\141\1\140\uff80"+
-        "\141",
-        "\11\144\2\143\2\144\1\143\22\144\1\143\1\144\1\143\3\144\1\143\1"+
-        "\144\2\143\1\142\20\144\2\143\2\144\1\143\74\144\1\143\1\144\1\143"+
-        "\uff80\144",
         "",
         "",
+        "\11\40\2\uffff\2\40\1\uffff\22\40\1\uffff\1\40\1\uffff\3\40\1\uffff"+
+        "\1\40\2\uffff\21\40\2\uffff\2\40\1\uffff\74\40\1\uffff\1\40\1\uffff"+
+        "\uff80\40",
         "",
         "",
-        "\11\53\2\uffff\2\53\1\uffff\22\53\1\uffff\1\53\1\uffff\3\53\1\uffff"+
-        "\1\53\2\uffff\21\53\2\uffff\2\53\1\uffff\74\53\1\uffff\1\53\1\uffff"+
-        "\uff80\53",
+        "\1\126",
+        "\1\127",
+        "\1\130",
         "",
+        "\11\40\2\uffff\2\40\1\uffff\22\40\1\uffff\1\40\1\uffff\3\40\1\uffff"+
+        "\1\40\2\uffff\21\40\2\uffff\2\40\1\uffff\74\40\1\uffff\1\40\1\uffff"+
+        "\uff80\40",
+        "\1\132",
+        "\11\40\2\uffff\2\40\1\uffff\22\40\1\uffff\1\40\1\uffff\3\40\1\uffff"+
+        "\1\40\2\uffff\21\40\2\uffff\2\40\1\uffff\74\40\1\uffff\1\40\1\uffff"+
+        "\uff80\40",
+        "\1\134",
+        "\1\135",
+        "\1\136",
+        "\1\137",
+        "\11\40\2\uffff\2\40\1\uffff\22\40\1\uffff\1\40\1\uffff\3\40\1\uffff"+
+        "\1\40\2\uffff\6\40\12\112\1\40\2\uffff\2\40\1\uffff\74\40\1\uffff"+
+        "\1\40\1\uffff\uff80\40",
+        "\12\141\7\uffff\6\141\32\uffff\6\141",
+        "\11\61\2\17\2\61\1\17\22\61\1\17\1\61\1\17\3\61\1\17\1\62\2\17\21"+
+        "\61\2\17\2\61\1\17\34\61\1\60\37\61\1\17\1\61\1\17\uff80\61",
+        "\11\61\2\17\2\61\1\17\22\61\1\17\1\61\1\17\3\61\1\17\1\62\2\17\6"+
+        "\61\10\142\3\61\2\17\2\61\1\17\34\61\1\60\37\61\1\17\1\61\1\17\uff80"+
+        "\61",
+        "\11\61\2\17\2\61\1\17\22\61\1\17\1\61\1\17\3\61\1\17\1\62\2\17\6"+
+        "\61\10\143\3\61\2\17\2\61\1\17\34\61\1\60\37\61\1\17\1\61\1\17\uff80"+
+        "\61",
+        "\1\144",
+        "\11\122\2\121\2\122\1\121\22\122\1\121\1\122\1\121\3\122\1\121\1"+
+        "\122\2\121\1\120\4\122\1\145\13\122\2\121\2\122\1\121\74\122\1\121"+
+        "\1\122\1\121\uff80\122",
         "",
-        "\1\145",
+        "\11\122\2\121\2\122\1\121\22\122\1\121\1\122\1\121\3\122\1\121\1"+
+        "\122\2\121\1\120\20\122\2\121\2\122\1\121\74\122\1\121\1\122\1\121"+
+        "\uff80\122",
+        "\11\123\2\124\2\123\1\124\22\123\1\124\1\123\1\124\3\123\1\124\1"+
+        "\123\2\124\21\123\2\124\2\123\1\124\74\123\1\124\1\123\1\124\uff80"+
+        "\123",
+        "",
+        "",
         "\1\146",
         "\1\147",
+        "\1\150",
         "",
-        "\11\53\2\uffff\2\53\1\uffff\22\53\1\uffff\1\53\1\uffff\3\53\1\uffff"+
-        "\1\53\2\uffff\21\53\2\uffff\2\53\1\uffff\74\53\1\uffff\1\53\1\uffff"+
-        "\uff80\53",
-        "\1\151",
-        "\11\53\2\uffff\2\53\1\uffff\22\53\1\uffff\1\53\1\uffff\3\53\1\uffff"+
-        "\1\53\2\uffff\21\53\2\uffff\2\53\1\uffff\74\53\1\uffff\1\53\1\uffff"+
-        "\uff80\53",
-        "\1\153",
-        "\1\154",
+        "\11\40\2\uffff\2\40\1\uffff\22\40\1\uffff\1\40\1\uffff\3\40\1\uffff"+
+        "\1\40\2\uffff\21\40\2\uffff\2\40\1\uffff\74\40\1\uffff\1\40\1\uffff"+
+        "\uff80\40",
+        "",
+        "\1\152",
+        "\11\40\2\uffff\2\40\1\uffff\22\40\1\uffff\1\40\1\uffff\3\40\1\uffff"+
+        "\1\40\2\uffff\21\40\2\uffff\2\40\1\uffff\74\40\1\uffff\1\40\1\uffff"+
+        "\uff80\40",
+        "\11\40\2\uffff\2\40\1\uffff\22\40\1\uffff\1\40\1\uffff\3\40\1\uffff"+
+        "\1\40\2\uffff\21\40\2\uffff\2\40\1\uffff\74\40\1\uffff\1\40\1\uffff"+
+        "\uff80\40",
         "\1\155",
-        "\1\156",
-        "\11\53\2\uffff\2\53\1\uffff\22\53\1\uffff\1\53\1\uffff\3\53\1\uffff"+
-        "\1\53\2\uffff\6\53\12\132\1\53\2\uffff\2\53\1\uffff\74\53\1\uffff"+
-        "\1\53\1\uffff\uff80\53",
-        "\12\160\7\uffff\6\160\32\uffff\6\160",
-        "\11\100\2\21\2\100\1\21\22\100\1\21\1\100\1\21\3\100\1\21\1\101"+
-        "\2\21\21\100\2\21\2\100\1\21\34\100\1\77\37\100\1\21\1\100\1\21"+
-        "\uff80\100",
-        "\11\100\2\21\2\100\1\21\22\100\1\21\1\100\1\21\3\100\1\21\1\101"+
-        "\2\21\6\100\10\161\3\100\2\21\2\100\1\21\34\100\1\77\37\100\1\21"+
-        "\1\100\1\21\uff80\100",
-        "\11\100\2\21\2\100\1\21\22\100\1\21\1\100\1\21\3\100\1\21\1\101"+
-        "\2\21\6\100\10\162\3\100\2\21\2\100\1\21\34\100\1\77\37\100\1\21"+
-        "\1\100\1\21\uff80\100",
+        "",
+        "\12\156\7\uffff\6\156\32\uffff\6\156",
+        "\11\61\2\17\2\61\1\17\22\61\1\17\1\61\1\17\3\61\1\17\1\62\2\17\6"+
+        "\61\10\157\3\61\2\17\2\61\1\17\34\61\1\60\37\61\1\17\1\61\1\17\uff80"+
+        "\61",
+        "\11\61\2\17\2\61\1\17\22\61\1\17\1\61\1\17\3\61\1\17\1\62\2\17\21"+
+        "\61\2\17\2\61\1\17\34\61\1\60\37\61\1\17\1\61\1\17\uff80\61",
+        "\1\160",
+        "\11\122\2\uffff\2\122\1\uffff\22\122\1\uffff\1\122\1\uffff\3\122"+
+        "\1\uffff\1\122\2\uffff\1\120\20\122\2\uffff\2\122\1\uffff\74\122"+
+        "\1\uffff\1\122\1\uffff\uff80\122",
+        "\1\161",
+        "\1\162",
         "\1\163",
         "",
-        "\11\141\2\140\2\141\1\140\22\141\1\140\1\141\1\140\3\141\1\140\1"+
-        "\141\2\140\21\141\2\140\2\141\1\140\74\141\1\140\1\141\1\140\uff80"+
-        "\141",
-        "\11\144\2\143\2\144\1\143\22\144\1\143\1\144\1\143\3\144\1\143\1"+
-        "\144\2\143\1\142\4\144\1\164\13\144\2\143\2\144\1\143\74\144\1\143"+
-        "\1\144\1\143\uff80\144",
+        "\1\164",
         "",
-        "\11\144\2\143\2\144\1\143\22\144\1\143\1\144\1\143\3\144\1\143\1"+
-        "\144\2\143\1\142\20\144\2\143\2\144\1\143\74\144\1\143\1\144\1\143"+
-        "\uff80\144",
-        "\1\165",
-        "\1\166",
-        "\1\167",
         "",
-        "\11\53\2\uffff\2\53\1\uffff\22\53\1\uffff\1\53\1\uffff\3\53\1\uffff"+
-        "\1\53\2\uffff\21\53\2\uffff\2\53\1\uffff\74\53\1\uffff\1\53\1\uffff"+
-        "\uff80\53",
-        "",
+        "\1\165",
+        "\12\166\7\uffff\6\166\32\uffff\6\166",
+        "\11\61\2\17\2\61\1\17\22\61\1\17\1\61\1\17\3\61\1\17\1\62\2\17\21"+
+        "\61\2\17\2\61\1\17\34\61\1\60\37\61\1\17\1\61\1\17\uff80\61",
+        "\11\40\2\uffff\2\40\1\uffff\22\40\1\uffff\1\40\1\uffff\3\40\1\uffff"+
+        "\1\40\2\uffff\21\40\2\uffff\2\40\1\uffff\74\40\1\uffff\1\40\1\uffff"+
+        "\uff80\40",
+        "\11\40\2\uffff\2\40\1\uffff\22\40\1\uffff\1\40\1\uffff\3\40\1\uffff"+
+        "\1\40\2\uffff\21\40\2\uffff\2\40\1\uffff\74\40\1\uffff\1\40\1\uffff"+
+        "\uff80\40",
+        "\1\170",
         "\1\171",
-        "\11\53\2\uffff\2\53\1\uffff\22\53\1\uffff\1\53\1\uffff\3\53\1\uffff"+
-        "\1\53\2\uffff\21\53\2\uffff\2\53\1\uffff\74\53\1\uffff\1\53\1\uffff"+
-        "\uff80\53",
-        "\11\53\2\uffff\2\53\1\uffff\22\53\1\uffff\1\53\1\uffff\3\53\1\uffff"+
-        "\1\53\2\uffff\21\53\2\uffff\2\53\1\uffff\74\53\1\uffff\1\53\1\uffff"+
-        "\uff80\53",
-        "\1\174",
+        "\11\40\2\uffff\2\40\1\uffff\22\40\1\uffff\1\40\1\uffff\3\40\1\uffff"+
+        "\1\40\2\uffff\21\40\2\uffff\2\40\1\uffff\74\40\1\uffff\1\40\1\uffff"+
+        "\uff80\40",
+        "\1\173",
+        "\12\174\7\uffff\6\174\32\uffff\6\174",
         "",
-        "\12\175\7\uffff\6\175\32\uffff\6\175",
-        "\11\100\2\21\2\100\1\21\22\100\1\21\1\100\1\21\3\100\1\21\1\101"+
-        "\2\21\6\100\10\176\3\100\2\21\2\100\1\21\34\100\1\77\37\100\1\21"+
-        "\1\100\1\21\uff80\100",
-        "\11\100\2\21\2\100\1\21\22\100\1\21\1\100\1\21\3\100\1\21\1\101"+
-        "\2\21\21\100\2\21\2\100\1\21\34\100\1\77\37\100\1\21\1\100\1\21"+
-        "\uff80\100",
+        "\11\40\2\uffff\2\40\1\uffff\22\40\1\uffff\1\40\1\uffff\3\40\1\uffff"+
+        "\1\40\2\uffff\21\40\2\uffff\2\40\1\uffff\74\40\1\uffff\1\40\1\uffff"+
+        "\uff80\40",
+        "\11\40\2\uffff\2\40\1\uffff\22\40\1\uffff\1\40\1\uffff\3\40\1\uffff"+
+        "\1\40\2\uffff\21\40\2\uffff\2\40\1\uffff\74\40\1\uffff\1\40\1\uffff"+
+        "\uff80\40",
+        "",
         "\1\177",
-        "\11\144\2\uffff\2\144\1\uffff\22\144\1\uffff\1\144\1\uffff\3\144"+
-        "\1\uffff\1\144\2\uffff\1\142\20\144\2\uffff\2\144\1\uffff\74\144"+
-        "\1\uffff\1\144\1\uffff\uff80\144",
-        "\1\u0080",
-        "\1\u0081",
-        "\1\u0082",
+        "\11\61\2\17\2\61\1\17\22\61\1\17\1\61\1\17\3\61\1\17\1\62\2\17\21"+
+        "\61\2\17\2\61\1\17\34\61\1\60\37\61\1\17\1\61\1\17\uff80\61",
         "",
-        "\1\u0083",
         "",
-        "",
-        "\1\u0084",
-        "\12\u0085\7\uffff\6\u0085\32\uffff\6\u0085",
-        "\11\100\2\21\2\100\1\21\22\100\1\21\1\100\1\21\3\100\1\21\1\101"+
-        "\2\21\21\100\2\21\2\100\1\21\34\100\1\77\37\100\1\21\1\100\1\21"+
-        "\uff80\100",
-        "\11\53\2\uffff\2\53\1\uffff\22\53\1\uffff\1\53\1\uffff\3\53\1\uffff"+
-        "\1\53\2\uffff\21\53\2\uffff\2\53\1\uffff\74\53\1\uffff\1\53\1\uffff"+
-        "\uff80\53",
-        "\11\53\2\uffff\2\53\1\uffff\22\53\1\uffff\1\53\1\uffff\3\53\1\uffff"+
-        "\1\53\2\uffff\21\53\2\uffff\2\53\1\uffff\74\53\1\uffff\1\53\1\uffff"+
-        "\uff80\53",
-        "\1\u0087",
-        "\1\u0088",
-        "\11\53\2\uffff\2\53\1\uffff\22\53\1\uffff\1\53\1\uffff\3\53\1\uffff"+
-        "\1\53\2\uffff\21\53\2\uffff\2\53\1\uffff\74\53\1\uffff\1\53\1\uffff"+
-        "\uff80\53",
-        "\1\u008a",
-        "\12\u008b\7\uffff\6\u008b\32\uffff\6\u008b",
-        "",
-        "\11\53\2\uffff\2\53\1\uffff\22\53\1\uffff\1\53\1\uffff\3\53\1\uffff"+
-        "\1\53\2\uffff\21\53\2\uffff\2\53\1\uffff\74\53\1\uffff\1\53\1\uffff"+
-        "\uff80\53",
-        "\11\53\2\uffff\2\53\1\uffff\22\53\1\uffff\1\53\1\uffff\3\53\1\uffff"+
-        "\1\53\2\uffff\21\53\2\uffff\2\53\1\uffff\74\53\1\uffff\1\53\1\uffff"+
-        "\uff80\53",
-        "",
-        "\1\u008e",
-        "\11\100\2\21\2\100\1\21\22\100\1\21\1\100\1\21\3\100\1\21\1\101"+
-        "\2\21\21\100\2\21\2\100\1\21\34\100\1\77\37\100\1\21\1\100\1\21"+
-        "\uff80\100",
-        "",
-        "",
-        "\11\53\2\uffff\2\53\1\uffff\22\53\1\uffff\1\53\1\uffff\3\53\1\uffff"+
-        "\1\53\2\uffff\21\53\2\uffff\2\53\1\uffff\74\53\1\uffff\1\53\1\uffff"+
-        "\uff80\53",
+        "\11\40\2\uffff\2\40\1\uffff\22\40\1\uffff\1\40\1\uffff\3\40\1\uffff"+
+        "\1\40\2\uffff\21\40\2\uffff\2\40\1\uffff\74\40\1\uffff\1\40\1\uffff"+
+        "\uff80\40",
         ""
     };
 
-    class DFA21 extends DFA {
-        public DFA21(BaseRecognizer recognizer) {
+    class DFA20 extends DFA {
+        public DFA20(BaseRecognizer recognizer) {
             this.recognizer = recognizer;
-            this.decisionNumber = 21;
-            this.eot = DFA.unpackEncodedString(DFA21_eotS);
-            this.eof = DFA.unpackEncodedString(DFA21_eofS);
-            this.min = DFA.unpackEncodedStringToUnsignedChars(DFA21_minS);
-            this.max = DFA.unpackEncodedStringToUnsignedChars(DFA21_maxS);
-            this.accept = DFA.unpackEncodedString(DFA21_acceptS);
-            this.special = DFA.unpackEncodedString(DFA21_specialS);
-            int numStates = DFA21_transition.length;
+            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(DFA21_transition[i]);
+                transition[i] = DFA.unpackEncodedString(DFA20_transition[i]);
             }
         }
         public String getDescription() {
-            return "1:1: Tokens : ( T38 | T39 | T40 | T41 | T42 | T43 | DEFRULE | OR | AND | NOT | EXISTS | TEST | NULL | WS | 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 | MULTI_LINE_COMMENT | MISC | SYMBOL );";
+            return "1:1: Tokens : ( T41 | T42 | T43 | 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 );";
         }
     }
  

Modified: labs/jbossrules/trunk/drools-compiler/src/main/java/org/drools/clp/CLPParser.java
===================================================================
--- labs/jbossrules/trunk/drools-compiler/src/main/java/org/drools/clp/CLPParser.java	2007-03-15 18:43:34 UTC (rev 10239)
+++ labs/jbossrules/trunk/drools-compiler/src/main/java/org/drools/clp/CLPParser.java	2007-03-15 18:47:56 UTC (rev 10240)
@@ -1,4 +1,4 @@
-// $ANTLR 3.0b5 D:\\workspace\\jboss\\jbossrules\\drools-compiler\\src\\main\\resources\\org\\drools\\clp\\CLP.g 2007-03-15 13:31:31
+// $ANTLR 3.0b5 D:\\workspace\\jboss\\jbossrules\\drools-compiler\\src\\main\\resources\\org\\drools\\clp\\CLP.g 2007-03-15 15:42:56
 
 	package org.drools.clp;
 	import java.util.List;
@@ -17,43 +17,46 @@
 
 public class CLPParser extends Parser {
     public static final String[] tokenNames = new String[] {
-        "<invalid>", "<EOR>", "<DOWN>", "<UP>", "LEFT_PAREN", "DEFRULE", "SYMBOL", "STRING", "RIGHT_PAREN", "SALIENCE", "INT", "AND", "OR", "NOT", "EXISTS", "TEST", "VAR", "AMPERSAND", "PIPE", "TILDE", "FLOAT", "BOOL", "NULL", "MISC", "EOL", "WS", "DECLARE", "EscapeSequence", "HexDigit", "UnicodeEscape", "OctalEscape", "SH_STYLE_SINGLE_LINE_COMMENT", "C_STYLE_SINGLE_LINE_COMMENT", "LEFT_SQUARE", "RIGHT_SQUARE", "LEFT_CURLY", "RIGHT_CURLY", "MULTI_LINE_COMMENT", "';'", "'=>'", "'<-'", "':'", "'='", "'modify'"
+        "<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", "';'", "'=>'", "'modify'"
     };
     public static final int EXISTS=14;
     public static final int LEFT_PAREN=4;
-    public static final int RIGHT_CURLY=36;
-    public static final int BOOL=21;
+    public static final int RIGHT_CURLY=39;
+    public static final int BOOL=24;
     public static final int DEFRULE=5;
-    public static final int HexDigit=28;
-    public static final int WS=25;
-    public static final int MISC=23;
+    public static final int HexDigit=30;
+    public static final int WS=27;
     public static final int STRING=7;
-    public static final int FLOAT=20;
-    public static final int TILDE=19;
+    public static final int FLOAT=23;
+    public static final int TILDE=20;
     public static final int OR=12;
-    public static final int PIPE=18;
+    public static final int PIPE=19;
+    public static final int EQUALS=22;
     public static final int VAR=16;
-    public static final int UnicodeEscape=29;
+    public static final int ASSIGN_OP=17;
+    public static final int UnicodeEscape=31;
     public static final int AND=11;
-    public static final int EscapeSequence=27;
+    public static final int EscapeSequence=29;
     public static final int INT=10;
     public static final int EOF=-1;
-    public static final int EOL=24;
-    public static final int NULL=22;
-    public static final int SYMBOL=6;
-    public static final int LEFT_SQUARE=33;
-    public static final int SH_STYLE_SINGLE_LINE_COMMENT=31;
-    public static final int OctalEscape=30;
+    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=37;
+    public static final int MULTI_LINE_COMMENT=40;
     public static final int TEST=15;
-    public static final int AMPERSAND=17;
-    public static final int DECLARE=26;
+    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=35;
-    public static final int RIGHT_SQUARE=34;
-    public static final int C_STYLE_SINGLE_LINE_COMMENT=32;
+    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 CLPParser(TokenStream input) {
             super(input);
@@ -71,9 +74,6 @@
     	private DescrFactory factory = new DescrFactory();
     	private boolean parserDebug = false;
     	
-    	// THE FOLLOWING LINE IS A DUMMY ATTRIBUTE TO WORK AROUND AN ANTLR BUG
-    	private BaseDescr from = null;
-    	
     	public void setParserDebug(boolean parserDebug) {
     		this.parserDebug = parserDebug;
     	}
@@ -214,23 +214,23 @@
 
 
     // $ANTLR start opt_semicolon
-    // D:\\workspace\\jboss\\jbossrules\\drools-compiler\\src\\main\\resources\\org\\drools\\clp\\CLP.g:167:1: opt_semicolon : ( ';' )? ;
+    // D:\\workspace\\jboss\\jbossrules\\drools-compiler\\src\\main\\resources\\org\\drools\\clp\\CLP.g:164:1: opt_semicolon : ( ';' )? ;
     public void opt_semicolon() throws RecognitionException {   
         try {
-            // D:\\workspace\\jboss\\jbossrules\\drools-compiler\\src\\main\\resources\\org\\drools\\clp\\CLP.g:168:4: ( ( ';' )? )
-            // D:\\workspace\\jboss\\jbossrules\\drools-compiler\\src\\main\\resources\\org\\drools\\clp\\CLP.g:168:4: ( ';' )?
+            // D:\\workspace\\jboss\\jbossrules\\drools-compiler\\src\\main\\resources\\org\\drools\\clp\\CLP.g:165:4: ( ( ';' )? )
+            // D:\\workspace\\jboss\\jbossrules\\drools-compiler\\src\\main\\resources\\org\\drools\\clp\\CLP.g:165:4: ( ';' )?
             {
-            // D:\\workspace\\jboss\\jbossrules\\drools-compiler\\src\\main\\resources\\org\\drools\\clp\\CLP.g:168:4: ( ';' )?
+            // D:\\workspace\\jboss\\jbossrules\\drools-compiler\\src\\main\\resources\\org\\drools\\clp\\CLP.g:165:4: ( ';' )?
             int alt1=2;
             int LA1_0 = input.LA(1);
-            if ( (LA1_0==38) ) {
+            if ( (LA1_0==41) ) {
                 alt1=1;
             }
             switch (alt1) {
                 case 1 :
-                    // D:\\workspace\\jboss\\jbossrules\\drools-compiler\\src\\main\\resources\\org\\drools\\clp\\CLP.g:168:4: ';'
+                    // D:\\workspace\\jboss\\jbossrules\\drools-compiler\\src\\main\\resources\\org\\drools\\clp\\CLP.g:165:4: ';'
                     {
-                    match(input,38,FOLLOW_38_in_opt_semicolon38); 
+                    match(input,41,FOLLOW_41_in_opt_semicolon38); 
 
                     }
                     break;
@@ -252,8 +252,94 @@
     // $ANTLR end opt_semicolon
 
 
+    // $ANTLR start compilation_unit
+    // D:\\workspace\\jboss\\jbossrules\\drools-compiler\\src\\main\\resources\\org\\drools\\clp\\CLP.g:169:1: compilation_unit : ( statement )+ ;
+    public void compilation_unit() throws RecognitionException {   
+        try {
+            // D:\\workspace\\jboss\\jbossrules\\drools-compiler\\src\\main\\resources\\org\\drools\\clp\\CLP.g:171:3: ( ( statement )+ )
+            // D:\\workspace\\jboss\\jbossrules\\drools-compiler\\src\\main\\resources\\org\\drools\\clp\\CLP.g:171:3: ( statement )+
+            {
+            // D:\\workspace\\jboss\\jbossrules\\drools-compiler\\src\\main\\resources\\org\\drools\\clp\\CLP.g:171:3: ( statement )+
+            int cnt2=0;
+            loop2:
+            do {
+                int alt2=2;
+                int LA2_0 = input.LA(1);
+                if ( (LA2_0==LEFT_PAREN) ) {
+                    alt2=1;
+                }
+
+
+                switch (alt2) {
+            	case 1 :
+            	    // D:\\workspace\\jboss\\jbossrules\\drools-compiler\\src\\main\\resources\\org\\drools\\clp\\CLP.g:171:5: statement
+            	    {
+            	    pushFollow(FOLLOW_statement_in_compilation_unit56);
+            	    statement();
+            	    _fsp--;
+
+
+            	    }
+            	    break;
+
+            	default :
+            	    if ( cnt2 >= 1 ) break loop2;
+                        EarlyExitException eee =
+                            new EarlyExitException(2, input);
+                        throw eee;
+                }
+                cnt2++;
+            } while (true);
+
+
+            }
+
+        }
+        catch (RecognitionException re) {
+            reportError(re);
+            recover(input,re);
+        }
+        finally {
+       }
+        return ;
+    }
+    // $ANTLR end compilation_unit
+
+
+    // $ANTLR start statement
+    // D:\\workspace\\jboss\\jbossrules\\drools-compiler\\src\\main\\resources\\org\\drools\\clp\\CLP.g:174:1: statement : ( rule ) ;
+    public void statement() throws RecognitionException {   
+        try {
+            // D:\\workspace\\jboss\\jbossrules\\drools-compiler\\src\\main\\resources\\org\\drools\\clp\\CLP.g:177:2: ( ( rule ) )
+            // D:\\workspace\\jboss\\jbossrules\\drools-compiler\\src\\main\\resources\\org\\drools\\clp\\CLP.g:177:2: ( rule )
+            {
+            // D:\\workspace\\jboss\\jbossrules\\drools-compiler\\src\\main\\resources\\org\\drools\\clp\\CLP.g:177:2: ( rule )
+            // D:\\workspace\\jboss\\jbossrules\\drools-compiler\\src\\main\\resources\\org\\drools\\clp\\CLP.g:177:4: rule
+            {
+            pushFollow(FOLLOW_rule_in_statement76);
+            rule();
+            _fsp--;
+
+
+            }
+
+
+            }
+
+        }
+        catch (RecognitionException re) {
+            reportError(re);
+            recover(input,re);
+        }
+        finally {
+       }
+        return ;
+    }
+    // $ANTLR end statement
+
+
     // $ANTLR start rule
-    // D:\\workspace\\jboss\\jbossrules\\drools-compiler\\src\\main\\resources\\org\\drools\\clp\\CLP.g:211:1: rule returns [RuleDescr rule] : loc= LEFT_PAREN DEFRULE ruleName= SYMBOL documentation= STRING ruleAttribute[rule] ( lhs[lhs] )* '=>' rhs[rule] RIGHT_PAREN ;
+    // D:\\workspace\\jboss\\jbossrules\\drools-compiler\\src\\main\\resources\\org\\drools\\clp\\CLP.g:214:1: rule returns [RuleDescr rule] : loc= LEFT_PAREN DEFRULE ruleName= NAME documentation= STRING ruleAttribute[rule] ( ce[lhs] )* '=>' rhs[rule] RIGHT_PAREN ;
     public RuleDescr rule() throws RecognitionException {   
         RuleDescr rule = null;
 
@@ -268,14 +354,14 @@
         	        AttributeDescr module = null;	        
         	      
         try {
-            // D:\\workspace\\jboss\\jbossrules\\drools-compiler\\src\\main\\resources\\org\\drools\\clp\\CLP.g:218:4: (loc= LEFT_PAREN DEFRULE ruleName= SYMBOL documentation= STRING ruleAttribute[rule] ( lhs[lhs] )* '=>' rhs[rule] RIGHT_PAREN )
-            // D:\\workspace\\jboss\\jbossrules\\drools-compiler\\src\\main\\resources\\org\\drools\\clp\\CLP.g:218:4: loc= LEFT_PAREN DEFRULE ruleName= SYMBOL documentation= STRING ruleAttribute[rule] ( lhs[lhs] )* '=>' rhs[rule] RIGHT_PAREN
+            // D:\\workspace\\jboss\\jbossrules\\drools-compiler\\src\\main\\resources\\org\\drools\\clp\\CLP.g:221:4: (loc= LEFT_PAREN DEFRULE ruleName= NAME documentation= STRING ruleAttribute[rule] ( ce[lhs] )* '=>' rhs[rule] RIGHT_PAREN )
+            // D:\\workspace\\jboss\\jbossrules\\drools-compiler\\src\\main\\resources\\org\\drools\\clp\\CLP.g:221:4: loc= LEFT_PAREN DEFRULE ruleName= NAME documentation= STRING ruleAttribute[rule] ( ce[lhs] )* '=>' rhs[rule] RIGHT_PAREN
             {
             loc=(Token)input.LT(1);
-            match(input,LEFT_PAREN,FOLLOW_LEFT_PAREN_in_rule65); 
-            match(input,DEFRULE,FOLLOW_DEFRULE_in_rule73); 
+            match(input,LEFT_PAREN,FOLLOW_LEFT_PAREN_in_rule107); 
+            match(input,DEFRULE,FOLLOW_DEFRULE_in_rule115); 
             ruleName=(Token)input.LT(1);
-            match(input,SYMBOL,FOLLOW_SYMBOL_in_rule77); 
+            match(input,NAME,FOLLOW_NAME_in_rule119); 
              	  			  		
             	  		debug( "start rule: " + ruleName.getText() );
             	  		String ruleStr = ruleName.getText();
@@ -303,30 +389,30 @@
             			lhs.setStartCharacter( ((CommonToken)loc).getStartIndex() );				
             		
             documentation=(Token)input.LT(1);
-            match(input,STRING,FOLLOW_STRING_in_rule89); 
+            match(input,STRING,FOLLOW_STRING_in_rule131); 
             
             	    	// do nothing here for now
             		
-            pushFollow(FOLLOW_ruleAttribute_in_rule95);
+            pushFollow(FOLLOW_ruleAttribute_in_rule137);
             ruleAttribute(rule);
             _fsp--;
 
-            // D:\\workspace\\jboss\\jbossrules\\drools-compiler\\src\\main\\resources\\org\\drools\\clp\\CLP.g:252:3: ( lhs[lhs] )*
-            loop2:
+            // D:\\workspace\\jboss\\jbossrules\\drools-compiler\\src\\main\\resources\\org\\drools\\clp\\CLP.g:255:3: ( ce[lhs] )*
+            loop3:
             do {
-                int alt2=2;
-                int LA2_0 = input.LA(1);
-                if ( (LA2_0==LEFT_PAREN||LA2_0==VAR) ) {
-                    alt2=1;
+                int alt3=2;
+                int LA3_0 = input.LA(1);
+                if ( (LA3_0==LEFT_PAREN||LA3_0==VAR) ) {
+                    alt3=1;
                 }
 
 
-                switch (alt2) {
+                switch (alt3) {
             	case 1 :
-            	    // D:\\workspace\\jboss\\jbossrules\\drools-compiler\\src\\main\\resources\\org\\drools\\clp\\CLP.g:252:3: lhs[lhs]
+            	    // D:\\workspace\\jboss\\jbossrules\\drools-compiler\\src\\main\\resources\\org\\drools\\clp\\CLP.g:255:3: ce[lhs]
             	    {
-            	    pushFollow(FOLLOW_lhs_in_rule103);
-            	    lhs(lhs);
+            	    pushFollow(FOLLOW_ce_in_rule145);
+            	    ce(lhs);
             	    _fsp--;
 
 
@@ -334,16 +420,16 @@
             	    break;
 
             	default :
-            	    break loop2;
+            	    break loop3;
                 }
             } while (true);
 
-            match(input,39,FOLLOW_39_in_rule112); 
-            pushFollow(FOLLOW_rhs_in_rule119);
+            match(input,42,FOLLOW_42_in_rule154); 
+            pushFollow(FOLLOW_rhs_in_rule161);
             rhs(rule);
             _fsp--;
 
-            match(input,RIGHT_PAREN,FOLLOW_RIGHT_PAREN_in_rule127); 
+            match(input,RIGHT_PAREN,FOLLOW_RIGHT_PAREN_in_rule169); 
 
             }
 
@@ -360,40 +446,56 @@
 
 
     // $ANTLR start ruleAttribute
-    // D:\\workspace\\jboss\\jbossrules\\drools-compiler\\src\\main\\resources\\org\\drools\\clp\\CLP.g:262:1: ruleAttribute[RuleDescr rule] : ( LEFT_PAREN 'declare' LEFT_PAREN d= salience RIGHT_PAREN RIGHT_PAREN )? ;
+    // D:\\workspace\\jboss\\jbossrules\\drools-compiler\\src\\main\\resources\\org\\drools\\clp\\CLP.g:265:1: ruleAttribute[RuleDescr rule] : ( LEFT_PAREN 'declare' ( LEFT_PAREN d= salience RIGHT_PAREN )? RIGHT_PAREN )? ;
     public void ruleAttribute(RuleDescr rule) throws RecognitionException {   
         AttributeDescr d = null;
 
 
         try {
-            // D:\\workspace\\jboss\\jbossrules\\drools-compiler\\src\\main\\resources\\org\\drools\\clp\\CLP.g:264:3: ( ( LEFT_PAREN 'declare' LEFT_PAREN d= salience RIGHT_PAREN RIGHT_PAREN )? )
-            // D:\\workspace\\jboss\\jbossrules\\drools-compiler\\src\\main\\resources\\org\\drools\\clp\\CLP.g:264:3: ( LEFT_PAREN 'declare' LEFT_PAREN d= salience RIGHT_PAREN RIGHT_PAREN )?
+            // D:\\workspace\\jboss\\jbossrules\\drools-compiler\\src\\main\\resources\\org\\drools\\clp\\CLP.g:267:3: ( ( LEFT_PAREN 'declare' ( LEFT_PAREN d= salience RIGHT_PAREN )? RIGHT_PAREN )? )
+            // D:\\workspace\\jboss\\jbossrules\\drools-compiler\\src\\main\\resources\\org\\drools\\clp\\CLP.g:267:3: ( LEFT_PAREN 'declare' ( LEFT_PAREN d= salience RIGHT_PAREN )? RIGHT_PAREN )?
             {
-            // D:\\workspace\\jboss\\jbossrules\\drools-compiler\\src\\main\\resources\\org\\drools\\clp\\CLP.g:264: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;
+            // D:\\workspace\\jboss\\jbossrules\\drools-compiler\\src\\main\\resources\\org\\drools\\clp\\CLP.g:267:3: ( LEFT_PAREN 'declare' ( LEFT_PAREN d= salience RIGHT_PAREN )? RIGHT_PAREN )?
+            int alt5=2;
+            int LA5_0 = input.LA(1);
+            if ( (LA5_0==LEFT_PAREN) ) {
+                int LA5_1 = input.LA(2);
+                if ( (LA5_1==DECLARE) ) {
+                    alt5=1;
                 }
             }
-            switch (alt3) {
+            switch (alt5) {
                 case 1 :
-                    // D:\\workspace\\jboss\\jbossrules\\drools-compiler\\src\\main\\resources\\org\\drools\\clp\\CLP.g:264:5: LEFT_PAREN 'declare' LEFT_PAREN d= salience RIGHT_PAREN RIGHT_PAREN
+                    // D:\\workspace\\jboss\\jbossrules\\drools-compiler\\src\\main\\resources\\org\\drools\\clp\\CLP.g:267:5: LEFT_PAREN 'declare' ( LEFT_PAREN d= salience RIGHT_PAREN )? RIGHT_PAREN
                     {
-                    match(input,LEFT_PAREN,FOLLOW_LEFT_PAREN_in_ruleAttribute144); 
-                    match(input,DECLARE,FOLLOW_DECLARE_in_ruleAttribute146); 
-                    match(input,LEFT_PAREN,FOLLOW_LEFT_PAREN_in_ruleAttribute151); 
-                    pushFollow(FOLLOW_salience_in_ruleAttribute155);
-                    d=salience();
-                    _fsp--;
+                    match(input,LEFT_PAREN,FOLLOW_LEFT_PAREN_in_ruleAttribute186); 
+                    match(input,DECLARE,FOLLOW_DECLARE_in_ruleAttribute188); 
+                    // D:\\workspace\\jboss\\jbossrules\\drools-compiler\\src\\main\\resources\\org\\drools\\clp\\CLP.g:268:4: ( LEFT_PAREN d= salience RIGHT_PAREN )?
+                    int alt4=2;
+                    int LA4_0 = input.LA(1);
+                    if ( (LA4_0==LEFT_PAREN) ) {
+                        alt4=1;
+                    }
+                    switch (alt4) {
+                        case 1 :
+                            // D:\\workspace\\jboss\\jbossrules\\drools-compiler\\src\\main\\resources\\org\\drools\\clp\\CLP.g:268:6: LEFT_PAREN d= salience RIGHT_PAREN
+                            {
+                            match(input,LEFT_PAREN,FOLLOW_LEFT_PAREN_in_ruleAttribute195); 
+                            pushFollow(FOLLOW_salience_in_ruleAttribute199);
+                            d=salience();
+                            _fsp--;
 
-                     rule.addAttribute( d ); 
-                    match(input,RIGHT_PAREN,FOLLOW_RIGHT_PAREN_in_ruleAttribute159); 
-                    match(input,RIGHT_PAREN,FOLLOW_RIGHT_PAREN_in_ruleAttribute163); 
+                             rule.addAttribute( d ); 
+                            match(input,RIGHT_PAREN,FOLLOW_RIGHT_PAREN_in_ruleAttribute203); 
 
+                            }
+                            break;
+
                     }
+
+                    match(input,RIGHT_PAREN,FOLLOW_RIGHT_PAREN_in_ruleAttribute210); 
+
+                    }
                     break;
 
             }
@@ -414,7 +516,7 @@
 
 
     // $ANTLR start salience
-    // D:\\workspace\\jboss\\jbossrules\\drools-compiler\\src\\main\\resources\\org\\drools\\clp\\CLP.g:269:1: salience returns [AttributeDescr d ] : loc= SALIENCE i= INT ;
+    // D:\\workspace\\jboss\\jbossrules\\drools-compiler\\src\\main\\resources\\org\\drools\\clp\\CLP.g:272:1: salience returns [AttributeDescr d ] : loc= SALIENCE i= INT ;
     public AttributeDescr salience() throws RecognitionException {   
         AttributeDescr d = null;
 
@@ -425,13 +527,13 @@
         		d = null;
         	
         try {
-            // D:\\workspace\\jboss\\jbossrules\\drools-compiler\\src\\main\\resources\\org\\drools\\clp\\CLP.g:274:3: (loc= SALIENCE i= INT )
-            // D:\\workspace\\jboss\\jbossrules\\drools-compiler\\src\\main\\resources\\org\\drools\\clp\\CLP.g:274:3: loc= SALIENCE i= INT
+            // D:\\workspace\\jboss\\jbossrules\\drools-compiler\\src\\main\\resources\\org\\drools\\clp\\CLP.g:277:3: (loc= SALIENCE i= INT )
+            // D:\\workspace\\jboss\\jbossrules\\drools-compiler\\src\\main\\resources\\org\\drools\\clp\\CLP.g:277:3: loc= SALIENCE i= INT
             {
             loc=(Token)input.LT(1);
-            match(input,SALIENCE,FOLLOW_SALIENCE_in_salience193); 
+            match(input,SALIENCE,FOLLOW_SALIENCE_in_salience240); 
             i=(Token)input.LT(1);
-            match(input,INT,FOLLOW_INT_in_salience197); 
+            match(input,INT,FOLLOW_INT_in_salience244); 
             
             			d = new AttributeDescr( "salience", i.getText() );
             			d.setLocation( offset(loc.getLine()), loc.getCharPositionInLine() );
@@ -453,58 +555,58 @@
     // $ANTLR end salience
 
 
-    // $ANTLR start lhs
-    // D:\\workspace\\jboss\\jbossrules\\drools-compiler\\src\\main\\resources\\org\\drools\\clp\\CLP.g:284:1: lhs[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 lhs(ConditionalElementDescr in_ce) throws RecognitionException {   
+    // $ANTLR start ce
+    // D:\\workspace\\jboss\\jbossrules\\drools-compiler\\src\\main\\resources\\org\\drools\\clp\\CLP.g:287: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 {   
         try {
-            // D:\\workspace\\jboss\\jbossrules\\drools-compiler\\src\\main\\resources\\org\\drools\\clp\\CLP.g:285: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] ) )
-            // D:\\workspace\\jboss\\jbossrules\\drools-compiler\\src\\main\\resources\\org\\drools\\clp\\CLP.g:285: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] )
+            // D:\\workspace\\jboss\\jbossrules\\drools-compiler\\src\\main\\resources\\org\\drools\\clp\\CLP.g:288: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] ) )
+            // D:\\workspace\\jboss\\jbossrules\\drools-compiler\\src\\main\\resources\\org\\drools\\clp\\CLP.g:288: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] )
             {
-            // D:\\workspace\\jboss\\jbossrules\\drools-compiler\\src\\main\\resources\\org\\drools\\clp\\CLP.g:285: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) ) {
+            // D:\\workspace\\jboss\\jbossrules\\drools-compiler\\src\\main\\resources\\org\\drools\\clp\\CLP.g:288: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 alt6=7;
+            int LA6_0 = input.LA(1);
+            if ( (LA6_0==LEFT_PAREN) ) {
                 switch ( input.LA(2) ) {
+                case NAME:
+                    alt6=6;
+                    break;
+                case EXISTS:
+                    alt6=4;
+                    break;
                 case NOT:
-                    alt4=3;
+                    alt6=3;
                     break;
                 case AND:
-                    alt4=1;
+                    alt6=1;
                     break;
-                case EXISTS:
-                    alt4=4;
-                    break;
                 case TEST:
-                    alt4=5;
+                    alt6=5;
                     break;
                 case OR:
-                    alt4=2;
+                    alt6=2;
                     break;
-                case SYMBOL:
-                    alt4=6;
-                    break;
                 default:
                     NoViableAltException nvae =
-                        new NoViableAltException("285: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);
+                        new NoViableAltException("288: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] )", 6, 1, input);
 
                     throw nvae;
                 }
 
             }
-            else if ( (LA4_0==VAR) ) {
-                alt4=7;
+            else if ( (LA6_0==VAR) ) {
+                alt6=7;
             }
             else {
                 NoViableAltException nvae =
-                    new NoViableAltException("285: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);
+                    new NoViableAltException("288: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] )", 6, 0, input);
 
                 throw nvae;
             }
-            switch (alt4) {
+            switch (alt6) {
                 case 1 :
-                    // D:\\workspace\\jboss\\jbossrules\\drools-compiler\\src\\main\\resources\\org\\drools\\clp\\CLP.g:285:8: and_ce[in_ce]
+                    // D:\\workspace\\jboss\\jbossrules\\drools-compiler\\src\\main\\resources\\org\\drools\\clp\\CLP.g:288:8: and_ce[in_ce]
                     {
-                    pushFollow(FOLLOW_and_ce_in_lhs224);
+                    pushFollow(FOLLOW_and_ce_in_ce270);
                     and_ce(in_ce);
                     _fsp--;
 
@@ -512,9 +614,9 @@
                     }
                     break;
                 case 2 :
-                    // D:\\workspace\\jboss\\jbossrules\\drools-compiler\\src\\main\\resources\\org\\drools\\clp\\CLP.g:286:7: or_ce[in_ce]
+                    // D:\\workspace\\jboss\\jbossrules\\drools-compiler\\src\\main\\resources\\org\\drools\\clp\\CLP.g:289:7: or_ce[in_ce]
                     {
-                    pushFollow(FOLLOW_or_ce_in_lhs234);
+                    pushFollow(FOLLOW_or_ce_in_ce280);
                     or_ce(in_ce);
                     _fsp--;
 
@@ -522,9 +624,9 @@
                     }
                     break;
                 case 3 :
-                    // D:\\workspace\\jboss\\jbossrules\\drools-compiler\\src\\main\\resources\\org\\drools\\clp\\CLP.g:287:7: not_ce[in_ce]
+                    // D:\\workspace\\jboss\\jbossrules\\drools-compiler\\src\\main\\resources\\org\\drools\\clp\\CLP.g:290:7: not_ce[in_ce]
                     {
-                    pushFollow(FOLLOW_not_ce_in_lhs243);
+                    pushFollow(FOLLOW_not_ce_in_ce289);
                     not_ce(in_ce);
                     _fsp--;
 
@@ -532,9 +634,9 @@
                     }
                     break;
                 case 4 :
-                    // D:\\workspace\\jboss\\jbossrules\\drools-compiler\\src\\main\\resources\\org\\drools\\clp\\CLP.g:288:7: exists_ce[in_ce]
+                    // D:\\workspace\\jboss\\jbossrules\\drools-compiler\\src\\main\\resources\\org\\drools\\clp\\CLP.g:291:7: exists_ce[in_ce]
                     {
-                    pushFollow(FOLLOW_exists_ce_in_lhs252);
+                    pushFollow(FOLLOW_exists_ce_in_ce298);
                     exists_ce(in_ce);
                     _fsp--;
 
@@ -542,9 +644,9 @@
                     }
                     break;
                 case 5 :
-                    // D:\\workspace\\jboss\\jbossrules\\drools-compiler\\src\\main\\resources\\org\\drools\\clp\\CLP.g:289:8: eval_ce[in_ce]
+                    // D:\\workspace\\jboss\\jbossrules\\drools-compiler\\src\\main\\resources\\org\\drools\\clp\\CLP.g:292:8: eval_ce[in_ce]
                     {
-                    pushFollow(FOLLOW_eval_ce_in_lhs266);
+                    pushFollow(FOLLOW_eval_ce_in_ce312);
                     eval_ce(in_ce);
                     _fsp--;
 
@@ -552,9 +654,9 @@
                     }
                     break;
                 case 6 :
-                    // D:\\workspace\\jboss\\jbossrules\\drools-compiler\\src\\main\\resources\\org\\drools\\clp\\CLP.g:290:7: normal_pattern[in_ce]
+                    // D:\\workspace\\jboss\\jbossrules\\drools-compiler\\src\\main\\resources\\org\\drools\\clp\\CLP.g:293:7: normal_pattern[in_ce]
                     {
-                    pushFollow(FOLLOW_normal_pattern_in_lhs280);
+                    pushFollow(FOLLOW_normal_pattern_in_ce326);
                     normal_pattern(in_ce);
                     _fsp--;
 
@@ -562,9 +664,9 @@
                     }
                     break;
                 case 7 :
-                    // D:\\workspace\\jboss\\jbossrules\\drools-compiler\\src\\main\\resources\\org\\drools\\clp\\CLP.g:291:7: bound_pattern[in_ce]
+                    // D:\\workspace\\jboss\\jbossrules\\drools-compiler\\src\\main\\resources\\org\\drools\\clp\\CLP.g:294:7: bound_pattern[in_ce]
                     {
-                    pushFollow(FOLLOW_bound_pattern_in_lhs289);
+                    pushFollow(FOLLOW_bound_pattern_in_ce335);
                     bound_pattern(in_ce);
                     _fsp--;
 
@@ -586,35 +688,35 @@
        }
         return ;
     }
-    // $ANTLR end lhs
+    // $ANTLR end ce
 
 
     // $ANTLR start rhs
-    // D:\\workspace\\jboss\\jbossrules\\drools-compiler\\src\\main\\resources\\org\\drools\\clp\\CLP.g:295:1: rhs[RuleDescr rule] : ( function[context] )* ;
+    // D:\\workspace\\jboss\\jbossrules\\drools-compiler\\src\\main\\resources\\org\\drools\\clp\\CLP.g:298:1: rhs[RuleDescr rule] : ( function[context] )* ;
     public void rhs(RuleDescr rule) throws RecognitionException {   
         
         	        ExecutionEngine engine = new BlockExecutionEngine();
         			ExecutionBuildContext context = new ExecutionBuildContext( engine );  	
         	
         try {
-            // D:\\workspace\\jboss\\jbossrules\\drools-compiler\\src\\main\\resources\\org\\drools\\clp\\CLP.g:302:4: ( ( function[context] )* )
-            // D:\\workspace\\jboss\\jbossrules\\drools-compiler\\src\\main\\resources\\org\\drools\\clp\\CLP.g:302:4: ( function[context] )*
+            // D:\\workspace\\jboss\\jbossrules\\drools-compiler\\src\\main\\resources\\org\\drools\\clp\\CLP.g:305:4: ( ( function[context] )* )
+            // D:\\workspace\\jboss\\jbossrules\\drools-compiler\\src\\main\\resources\\org\\drools\\clp\\CLP.g:305:4: ( function[context] )*
             {
-            // D:\\workspace\\jboss\\jbossrules\\drools-compiler\\src\\main\\resources\\org\\drools\\clp\\CLP.g:302:4: ( function[context] )*
-            loop5:
+            // D:\\workspace\\jboss\\jbossrules\\drools-compiler\\src\\main\\resources\\org\\drools\\clp\\CLP.g:305:4: ( function[context] )*
+            loop7:
             do {
-                int alt5=2;
-                int LA5_0 = input.LA(1);
-                if ( (LA5_0==LEFT_PAREN) ) {
-                    alt5=1;
+                int alt7=2;
+                int LA7_0 = input.LA(1);
+                if ( (LA7_0==LEFT_PAREN) ) {
+                    alt7=1;
                 }
 
 
-                switch (alt5) {
+                switch (alt7) {
             	case 1 :
-            	    // D:\\workspace\\jboss\\jbossrules\\drools-compiler\\src\\main\\resources\\org\\drools\\clp\\CLP.g:302:4: function[context]
+            	    // D:\\workspace\\jboss\\jbossrules\\drools-compiler\\src\\main\\resources\\org\\drools\\clp\\CLP.g:305:4: function[context]
             	    {
-            	    pushFollow(FOLLOW_function_in_rhs317);
+            	    pushFollow(FOLLOW_function_in_rhs363);
             	    function(context);
             	    _fsp--;
 
@@ -623,7 +725,7 @@
             	    break;
 
             	default :
-            	    break loop5;
+            	    break loop7;
                 }
             } while (true);
 
@@ -643,160 +745,38 @@
     // $ANTLR end rhs
 
 
-    // $ANTLR start ce
-    // D:\\workspace\\jboss\\jbossrules\\drools-compiler\\src\\main\\resources\\org\\drools\\clp\\CLP.g:305: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] ) ;
-    public void ce(ConditionalElementDescr in_ce) throws RecognitionException {   
-        try {
-            // D:\\workspace\\jboss\\jbossrules\\drools-compiler\\src\\main\\resources\\org\\drools\\clp\\CLP.g:306: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] ) )
-            // D:\\workspace\\jboss\\jbossrules\\drools-compiler\\src\\main\\resources\\org\\drools\\clp\\CLP.g:306: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] )
-            {
-            // D:\\workspace\\jboss\\jbossrules\\drools-compiler\\src\\main\\resources\\org\\drools\\clp\\CLP.g:306: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] )
-            int alt6=6;
-            int LA6_0 = input.LA(1);
-            if ( (LA6_0==LEFT_PAREN) ) {
-                switch ( input.LA(2) ) {
-                case TEST:
-                    alt6=5;
-                    break;
-                case SYMBOL:
-                    alt6=6;
-                    break;
-                case AND:
-                    alt6=1;
-                    break;
-                case NOT:
-                    alt6=3;
-                    break;
-                case OR:
-                    alt6=2;
-                    break;
-                case EXISTS:
-                    alt6=4;
-                    break;
-                default:
-                    NoViableAltException nvae =
-                        new NoViableAltException("306: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] )", 6, 1, input);
-
-                    throw nvae;
-                }
-
-            }
-            else {
-                NoViableAltException nvae =
-                    new NoViableAltException("306: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] )", 6, 0, input);
-
-                throw nvae;
-            }
-            switch (alt6) {
-                case 1 :
-                    // D:\\workspace\\jboss\\jbossrules\\drools-compiler\\src\\main\\resources\\org\\drools\\clp\\CLP.g:306:8: and_ce[in_ce]
-                    {
-                    pushFollow(FOLLOW_and_ce_in_ce341);
-                    and_ce(in_ce);
-                    _fsp--;
-
-
-                    }
-                    break;
-                case 2 :
-                    // D:\\workspace\\jboss\\jbossrules\\drools-compiler\\src\\main\\resources\\org\\drools\\clp\\CLP.g:307:10: or_ce[in_ce]
-                    {
-                    pushFollow(FOLLOW_or_ce_in_ce354);
-                    or_ce(in_ce);
-                    _fsp--;
-
-
-                    }
-                    break;
-                case 3 :
-                    // D:\\workspace\\jboss\\jbossrules\\drools-compiler\\src\\main\\resources\\org\\drools\\clp\\CLP.g:308:7: not_ce[in_ce]
-                    {
-                    pushFollow(FOLLOW_not_ce_in_ce363);
-                    not_ce(in_ce);
-                    _fsp--;
-
-
-                    }
-                    break;
-                case 4 :
-                    // D:\\workspace\\jboss\\jbossrules\\drools-compiler\\src\\main\\resources\\org\\drools\\clp\\CLP.g:309:7: exists_ce[in_ce]
-                    {
-                    pushFollow(FOLLOW_exists_ce_in_ce372);
-                    exists_ce(in_ce);
-                    _fsp--;
-
-
-                    }
-                    break;
-                case 5 :
-                    // D:\\workspace\\jboss\\jbossrules\\drools-compiler\\src\\main\\resources\\org\\drools\\clp\\CLP.g:310:8: eval_ce[in_ce]
-                    {
-                    pushFollow(FOLLOW_eval_ce_in_ce386);
-                    eval_ce(in_ce);
-                    _fsp--;
-
-
-                    }
-                    break;
-                case 6 :
-                    // D:\\workspace\\jboss\\jbossrules\\drools-compiler\\src\\main\\resources\\org\\drools\\clp\\CLP.g:311:10: normal_pattern[in_ce]
-                    {
-                    pushFollow(FOLLOW_normal_pattern_in_ce410);
-                    normal_pattern(in_ce);
-                    _fsp--;
-
-
-                    }
-                    break;
-
-            }
-
-
-            }
-
-        }
-        catch (RecognitionException re) {
-            reportError(re);
-            recover(input,re);
-        }
-        finally {
-       }
-        return ;
-    }
-    // $ANTLR end ce
-
-
     // $ANTLR start and_ce
-    // D:\\workspace\\jboss\\jbossrules\\drools-compiler\\src\\main\\resources\\org\\drools\\clp\\CLP.g:316:1: and_ce[ConditionalElementDescr in_ce] : LEFT_PAREN AND ( ce[andDescr] )* RIGHT_PAREN ;
+    // D:\\workspace\\jboss\\jbossrules\\drools-compiler\\src\\main\\resources\\org\\drools\\clp\\CLP.g:308: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;        
             
         try {
-            // D:\\workspace\\jboss\\jbossrules\\drools-compiler\\src\\main\\resources\\org\\drools\\clp\\CLP.g:320:4: ( LEFT_PAREN AND ( ce[andDescr] )* RIGHT_PAREN )
-            // D:\\workspace\\jboss\\jbossrules\\drools-compiler\\src\\main\\resources\\org\\drools\\clp\\CLP.g:320:4: LEFT_PAREN AND ( ce[andDescr] )* RIGHT_PAREN
+            // D:\\workspace\\jboss\\jbossrules\\drools-compiler\\src\\main\\resources\\org\\drools\\clp\\CLP.g:312:4: ( LEFT_PAREN AND ( ce[andDescr] )+ RIGHT_PAREN )
+            // D:\\workspace\\jboss\\jbossrules\\drools-compiler\\src\\main\\resources\\org\\drools\\clp\\CLP.g:312:4: LEFT_PAREN AND ( ce[andDescr] )+ RIGHT_PAREN
             {
-            match(input,LEFT_PAREN,FOLLOW_LEFT_PAREN_in_and_ce442); 
-            match(input,AND,FOLLOW_AND_in_and_ce447); 
+            match(input,LEFT_PAREN,FOLLOW_LEFT_PAREN_in_and_ce392); 
+            match(input,AND,FOLLOW_AND_in_and_ce397); 
             
             	    	andDescr = new AndDescr();
             			in_ce.addDescr( andDescr );
             		
-            // D:\\workspace\\jboss\\jbossrules\\drools-compiler\\src\\main\\resources\\org\\drools\\clp\\CLP.g:325:3: ( ce[andDescr] )*
-            loop7:
+            // D:\\workspace\\jboss\\jbossrules\\drools-compiler\\src\\main\\resources\\org\\drools\\clp\\CLP.g:317:3: ( ce[andDescr] )+
+            int cnt8=0;
+            loop8:
             do {
-                int alt7=2;
-                int LA7_0 = input.LA(1);
-                if ( (LA7_0==LEFT_PAREN) ) {
-                    alt7=1;
+                int alt8=2;
+                int LA8_0 = input.LA(1);
+                if ( (LA8_0==LEFT_PAREN||LA8_0==VAR) ) {
+                    alt8=1;
                 }
 
 
-                switch (alt7) {
+                switch (alt8) {
             	case 1 :
-            	    // D:\\workspace\\jboss\\jbossrules\\drools-compiler\\src\\main\\resources\\org\\drools\\clp\\CLP.g:325:3: ce[andDescr]
+            	    // D:\\workspace\\jboss\\jbossrules\\drools-compiler\\src\\main\\resources\\org\\drools\\clp\\CLP.g:317:3: ce[andDescr]
             	    {
-            	    pushFollow(FOLLOW_ce_in_and_ce453);
+            	    pushFollow(FOLLOW_ce_in_and_ce403);
             	    ce(andDescr);
             	    _fsp--;
 
@@ -805,11 +785,15 @@
             	    break;
 
             	default :
-            	    break loop7;
+            	    if ( cnt8 >= 1 ) break loop8;
+                        EarlyExitException eee =
+                            new EarlyExitException(8, input);
+                        throw eee;
                 }
+                cnt8++;
             } while (true);
 
-            match(input,RIGHT_PAREN,FOLLOW_RIGHT_PAREN_in_and_ce462); 
+            match(input,RIGHT_PAREN,FOLLOW_RIGHT_PAREN_in_and_ce412); 
 
             }
 
@@ -826,36 +810,37 @@
 
 
     // $ANTLR start or_ce
-    // D:\\workspace\\jboss\\jbossrules\\drools-compiler\\src\\main\\resources\\org\\drools\\clp\\CLP.g:329:1: or_ce[ConditionalElementDescr in_ce] : LEFT_PAREN OR ( ce[orDescr] )* RIGHT_PAREN ;
+    // D:\\workspace\\jboss\\jbossrules\\drools-compiler\\src\\main\\resources\\org\\drools\\clp\\CLP.g:321: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;         
             
         try {
-            // D:\\workspace\\jboss\\jbossrules\\drools-compiler\\src\\main\\resources\\org\\drools\\clp\\CLP.g:333:4: ( LEFT_PAREN OR ( ce[orDescr] )* RIGHT_PAREN )
-            // D:\\workspace\\jboss\\jbossrules\\drools-compiler\\src\\main\\resources\\org\\drools\\clp\\CLP.g:333:4: LEFT_PAREN OR ( ce[orDescr] )* RIGHT_PAREN
+            // D:\\workspace\\jboss\\jbossrules\\drools-compiler\\src\\main\\resources\\org\\drools\\clp\\CLP.g:325:4: ( LEFT_PAREN OR ( ce[orDescr] )+ RIGHT_PAREN )
+            // D:\\workspace\\jboss\\jbossrules\\drools-compiler\\src\\main\\resources\\org\\drools\\clp\\CLP.g:325:4: LEFT_PAREN OR ( ce[orDescr] )+ RIGHT_PAREN
             {
-            match(input,LEFT_PAREN,FOLLOW_LEFT_PAREN_in_or_ce490); 
-            match(input,OR,FOLLOW_OR_in_or_ce495); 
+            match(input,LEFT_PAREN,FOLLOW_LEFT_PAREN_in_or_ce440); 
+            match(input,OR,FOLLOW_OR_in_or_ce445); 
             
             	    	orDescr = new OrDescr();
             			in_ce.addDescr( orDescr );
             		
-            // D:\\workspace\\jboss\\jbossrules\\drools-compiler\\src\\main\\resources\\org\\drools\\clp\\CLP.g:338:3: ( ce[orDescr] )*
-            loop8:
+            // D:\\workspace\\jboss\\jbossrules\\drools-compiler\\src\\main\\resources\\org\\drools\\clp\\CLP.g:330:3: ( ce[orDescr] )+
+            int cnt9=0;
+            loop9:
             do {
-                int alt8=2;
-                int LA8_0 = input.LA(1);
-                if ( (LA8_0==LEFT_PAREN) ) {
-                    alt8=1;
+                int alt9=2;
+                int LA9_0 = input.LA(1);
+                if ( (LA9_0==LEFT_PAREN||LA9_0==VAR) ) {
+                    alt9=1;
                 }
 
 
-                switch (alt8) {
+                switch (alt9) {
             	case 1 :
-            	    // D:\\workspace\\jboss\\jbossrules\\drools-compiler\\src\\main\\resources\\org\\drools\\clp\\CLP.g:338:3: ce[orDescr]
+            	    // D:\\workspace\\jboss\\jbossrules\\drools-compiler\\src\\main\\resources\\org\\drools\\clp\\CLP.g:330:3: ce[orDescr]
             	    {
-            	    pushFollow(FOLLOW_ce_in_or_ce501);
+            	    pushFollow(FOLLOW_ce_in_or_ce451);
             	    ce(orDescr);
             	    _fsp--;
 
@@ -864,11 +849,15 @@
             	    break;
 
             	default :
-            	    break loop8;
+            	    if ( cnt9 >= 1 ) break loop9;
+                        EarlyExitException eee =
+                            new EarlyExitException(9, input);
+                        throw eee;
                 }
+                cnt9++;
             } while (true);
 
-            match(input,RIGHT_PAREN,FOLLOW_RIGHT_PAREN_in_or_ce510); 
+            match(input,RIGHT_PAREN,FOLLOW_RIGHT_PAREN_in_or_ce460); 
 
             }
 
@@ -885,45 +874,29 @@
 
 
     // $ANTLR start not_ce
-    // D:\\workspace\\jboss\\jbossrules\\drools-compiler\\src\\main\\resources\\org\\drools\\clp\\CLP.g:342:1: not_ce[ConditionalElementDescr in_ce] : LEFT_PAREN NOT ( ce[notDescr] )? RIGHT_PAREN ;
+    // D:\\workspace\\jboss\\jbossrules\\drools-compiler\\src\\main\\resources\\org\\drools\\clp\\CLP.g:334: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;         
             
         try {
-            // D:\\workspace\\jboss\\jbossrules\\drools-compiler\\src\\main\\resources\\org\\drools\\clp\\CLP.g:346:4: ( LEFT_PAREN NOT ( ce[notDescr] )? RIGHT_PAREN )
-            // D:\\workspace\\jboss\\jbossrules\\drools-compiler\\src\\main\\resources\\org\\drools\\clp\\CLP.g:346:4: LEFT_PAREN NOT ( ce[notDescr] )? RIGHT_PAREN
+            // D:\\workspace\\jboss\\jbossrules\\drools-compiler\\src\\main\\resources\\org\\drools\\clp\\CLP.g:338:4: ( LEFT_PAREN NOT ce[notDescr] RIGHT_PAREN )
+            // D:\\workspace\\jboss\\jbossrules\\drools-compiler\\src\\main\\resources\\org\\drools\\clp\\CLP.g:338:4: LEFT_PAREN NOT ce[notDescr] RIGHT_PAREN
             {
-            match(input,LEFT_PAREN,FOLLOW_LEFT_PAREN_in_not_ce538); 
-            match(input,NOT,FOLLOW_NOT_in_not_ce543); 
+            match(input,LEFT_PAREN,FOLLOW_LEFT_PAREN_in_not_ce488); 
+            match(input,NOT,FOLLOW_NOT_in_not_ce493); 
             
             			notDescr = new NotDescr();
             		    in_ce.addDescr( notDescr );
             		
-            // D:\\workspace\\jboss\\jbossrules\\drools-compiler\\src\\main\\resources\\org\\drools\\clp\\CLP.g:351:3: ( ce[notDescr] )?
-            int alt9=2;
-            int LA9_0 = input.LA(1);
-            if ( (LA9_0==LEFT_PAREN) ) {
-                alt9=1;
-            }
-            switch (alt9) {
-                case 1 :
-                    // D:\\workspace\\jboss\\jbossrules\\drools-compiler\\src\\main\\resources\\org\\drools\\clp\\CLP.g:351:3: ce[notDescr]
-                    {
-                    pushFollow(FOLLOW_ce_in_not_ce549);
-                    ce(notDescr);
-                    _fsp--;
+            pushFollow(FOLLOW_ce_in_not_ce499);
+            ce(notDescr);
+            _fsp--;
 
+            match(input,RIGHT_PAREN,FOLLOW_RIGHT_PAREN_in_not_ce507); 
 
-                    }
-                    break;
-
             }
 
-            match(input,RIGHT_PAREN,FOLLOW_RIGHT_PAREN_in_not_ce558); 
-
-            }
-
         }
         catch (RecognitionException re) {
             reportError(re);
@@ -937,45 +910,29 @@
 
 
     // $ANTLR start exists_ce
-    // D:\\workspace\\jboss\\jbossrules\\drools-compiler\\src\\main\\resources\\org\\drools\\clp\\CLP.g:355:1: exists_ce[ConditionalElementDescr in_ce] : LEFT_PAREN EXISTS ( ce[existsDescr] )? RIGHT_PAREN ;
+    // D:\\workspace\\jboss\\jbossrules\\drools-compiler\\src\\main\\resources\\org\\drools\\clp\\CLP.g:347: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;        
             
         try {
-            // D:\\workspace\\jboss\\jbossrules\\drools-compiler\\src\\main\\resources\\org\\drools\\clp\\CLP.g:359:4: ( LEFT_PAREN EXISTS ( ce[existsDescr] )? RIGHT_PAREN )
-            // D:\\workspace\\jboss\\jbossrules\\drools-compiler\\src\\main\\resources\\org\\drools\\clp\\CLP.g:359:4: LEFT_PAREN EXISTS ( ce[existsDescr] )? RIGHT_PAREN
+            // D:\\workspace\\jboss\\jbossrules\\drools-compiler\\src\\main\\resources\\org\\drools\\clp\\CLP.g:351:4: ( LEFT_PAREN EXISTS ce[existsDescr] RIGHT_PAREN )
+            // D:\\workspace\\jboss\\jbossrules\\drools-compiler\\src\\main\\resources\\org\\drools\\clp\\CLP.g:351:4: LEFT_PAREN EXISTS ce[existsDescr] RIGHT_PAREN
             {
-            match(input,LEFT_PAREN,FOLLOW_LEFT_PAREN_in_exists_ce587); 
-            match(input,EXISTS,FOLLOW_EXISTS_in_exists_ce592); 
+            match(input,LEFT_PAREN,FOLLOW_LEFT_PAREN_in_exists_ce536); 
+            match(input,EXISTS,FOLLOW_EXISTS_in_exists_ce541); 
             
             		    existsDescr = new ExistsDescr();
             		    in_ce.addDescr( existsDescr );
             		
-            // D:\\workspace\\jboss\\jbossrules\\drools-compiler\\src\\main\\resources\\org\\drools\\clp\\CLP.g:364:3: ( ce[existsDescr] )?
-            int alt10=2;
-            int LA10_0 = input.LA(1);
-            if ( (LA10_0==LEFT_PAREN) ) {
-                alt10=1;
-            }
-            switch (alt10) {
-                case 1 :
-                    // D:\\workspace\\jboss\\jbossrules\\drools-compiler\\src\\main\\resources\\org\\drools\\clp\\CLP.g:364:3: ce[existsDescr]
-                    {
-                    pushFollow(FOLLOW_ce_in_exists_ce598);
-                    ce(existsDescr);
-                    _fsp--;
+            pushFollow(FOLLOW_ce_in_exists_ce547);
+            ce(existsDescr);
+            _fsp--;
 
+            match(input,RIGHT_PAREN,FOLLOW_RIGHT_PAREN_in_exists_ce555); 
 
-                    }
-                    break;
-
             }
 
-            match(input,RIGHT_PAREN,FOLLOW_RIGHT_PAREN_in_exists_ce607); 
-
-            }
-
         }
         catch (RecognitionException re) {
             reportError(re);
@@ -989,7 +946,7 @@
 
 
     // $ANTLR start eval_ce
-    // D:\\workspace\\jboss\\jbossrules\\drools-compiler\\src\\main\\resources\\org\\drools\\clp\\CLP.g:368:1: eval_ce[ConditionalElementDescr in_ce] : LEFT_PAREN TEST function[context] RIGHT_PAREN ;
+    // D:\\workspace\\jboss\\jbossrules\\drools-compiler\\src\\main\\resources\\org\\drools\\clp\\CLP.g:360:1: eval_ce[ConditionalElementDescr in_ce] : LEFT_PAREN TEST function[context] RIGHT_PAREN ;
     public void eval_ce(ConditionalElementDescr in_ce) throws RecognitionException {   
         
                 EvalDescr evalDescr= null;    
@@ -997,23 +954,23 @@
         		ExecutionBuildContext context = new ExecutionBuildContext( engine );   		         
             
         try {
-            // D:\\workspace\\jboss\\jbossrules\\drools-compiler\\src\\main\\resources\\org\\drools\\clp\\CLP.g:374:4: ( LEFT_PAREN TEST function[context] RIGHT_PAREN )
-            // D:\\workspace\\jboss\\jbossrules\\drools-compiler\\src\\main\\resources\\org\\drools\\clp\\CLP.g:374:4: LEFT_PAREN TEST function[context] RIGHT_PAREN
+            // D:\\workspace\\jboss\\jbossrules\\drools-compiler\\src\\main\\resources\\org\\drools\\clp\\CLP.g:366:4: ( LEFT_PAREN TEST function[context] RIGHT_PAREN )
+            // D:\\workspace\\jboss\\jbossrules\\drools-compiler\\src\\main\\resources\\org\\drools\\clp\\CLP.g:366:4: LEFT_PAREN TEST function[context] RIGHT_PAREN
             {
-            match(input,LEFT_PAREN,FOLLOW_LEFT_PAREN_in_eval_ce635); 
-            match(input,TEST,FOLLOW_TEST_in_eval_ce640); 
+            match(input,LEFT_PAREN,FOLLOW_LEFT_PAREN_in_eval_ce583); 
+            match(input,TEST,FOLLOW_TEST_in_eval_ce588); 
             
             		    evalDescr = new EvalDescr();
             		    in_ce.addDescr( evalDescr );
             		
-            pushFollow(FOLLOW_function_in_eval_ce646);
+            pushFollow(FOLLOW_function_in_eval_ce594);
             function(context);
             _fsp--;
 
             					
             			evalDescr.setContent( engine );			
             		
-            match(input,RIGHT_PAREN,FOLLOW_RIGHT_PAREN_in_eval_ce657); 
+            match(input,RIGHT_PAREN,FOLLOW_RIGHT_PAREN_in_eval_ce605); 
 
             }
 
@@ -1030,7 +987,7 @@
 
 
     // $ANTLR start normal_pattern
-    // D:\\workspace\\jboss\\jbossrules\\drools-compiler\\src\\main\\resources\\org\\drools\\clp\\CLP.g:385:1: normal_pattern[ConditionalElementDescr in_ce] : LEFT_PAREN name= SYMBOL ( field_constriant[column] )* RIGHT_PAREN ;
+    // D:\\workspace\\jboss\\jbossrules\\drools-compiler\\src\\main\\resources\\org\\drools\\clp\\CLP.g:377: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;
 
@@ -1038,31 +995,31 @@
                 ColumnDescr column = null;
             
         try {
-            // D:\\workspace\\jboss\\jbossrules\\drools-compiler\\src\\main\\resources\\org\\drools\\clp\\CLP.g:389:4: ( LEFT_PAREN name= SYMBOL ( field_constriant[column] )* RIGHT_PAREN )
-            // D:\\workspace\\jboss\\jbossrules\\drools-compiler\\src\\main\\resources\\org\\drools\\clp\\CLP.g:389:4: LEFT_PAREN name= SYMBOL ( field_constriant[column] )* RIGHT_PAREN
+            // D:\\workspace\\jboss\\jbossrules\\drools-compiler\\src\\main\\resources\\org\\drools\\clp\\CLP.g:381:4: ( LEFT_PAREN name= NAME ( field_constriant[column] )* RIGHT_PAREN )
+            // D:\\workspace\\jboss\\jbossrules\\drools-compiler\\src\\main\\resources\\org\\drools\\clp\\CLP.g:381:4: LEFT_PAREN name= NAME ( field_constriant[column] )* RIGHT_PAREN
             {
-            match(input,LEFT_PAREN,FOLLOW_LEFT_PAREN_in_normal_pattern685); 
+            match(input,LEFT_PAREN,FOLLOW_LEFT_PAREN_in_normal_pattern633); 
             name=(Token)input.LT(1);
-            match(input,SYMBOL,FOLLOW_SYMBOL_in_normal_pattern692); 
+            match(input,NAME,FOLLOW_NAME_in_normal_pattern640); 
             
             			column = new ColumnDescr(name.getText());
             			in_ce.addDescr( column );
             		
-            // D:\\workspace\\jboss\\jbossrules\\drools-compiler\\src\\main\\resources\\org\\drools\\clp\\CLP.g:394:3: ( field_constriant[column] )*
-            loop11:
+            // D:\\workspace\\jboss\\jbossrules\\drools-compiler\\src\\main\\resources\\org\\drools\\clp\\CLP.g:386:3: ( field_constriant[column] )*
+            loop10:
             do {
-                int alt11=2;
-                int LA11_0 = input.LA(1);
-                if ( (LA11_0==LEFT_PAREN) ) {
-                    alt11=1;
+                int alt10=2;
+                int LA10_0 = input.LA(1);
+                if ( (LA10_0==LEFT_PAREN) ) {
+                    alt10=1;
                 }
 
 
-                switch (alt11) {
+                switch (alt10) {
             	case 1 :
-            	    // D:\\workspace\\jboss\\jbossrules\\drools-compiler\\src\\main\\resources\\org\\drools\\clp\\CLP.g:394:3: field_constriant[column]
+            	    // D:\\workspace\\jboss\\jbossrules\\drools-compiler\\src\\main\\resources\\org\\drools\\clp\\CLP.g:386:3: field_constriant[column]
             	    {
-            	    pushFollow(FOLLOW_field_constriant_in_normal_pattern698);
+            	    pushFollow(FOLLOW_field_constriant_in_normal_pattern646);
             	    field_constriant(column);
             	    _fsp--;
 
@@ -1071,11 +1028,11 @@
             	    break;
 
             	default :
-            	    break loop11;
+            	    break loop10;
                 }
             } while (true);
 
-            match(input,RIGHT_PAREN,FOLLOW_RIGHT_PAREN_in_normal_pattern708); 
+            match(input,RIGHT_PAREN,FOLLOW_RIGHT_PAREN_in_normal_pattern656); 
 
             }
 
@@ -1092,7 +1049,7 @@
 
 
     // $ANTLR start bound_pattern
-    // D:\\workspace\\jboss\\jbossrules\\drools-compiler\\src\\main\\resources\\org\\drools\\clp\\CLP.g:400:1: bound_pattern[ConditionalElementDescr in_ce] : var= VAR '<-' LEFT_PAREN name= SYMBOL ( field_constriant[column] )* RIGHT_PAREN ;
+    // D:\\workspace\\jboss\\jbossrules\\drools-compiler\\src\\main\\resources\\org\\drools\\clp\\CLP.g:392: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;
@@ -1102,38 +1059,38 @@
                 String identifier = null;
             
         try {
-            // D:\\workspace\\jboss\\jbossrules\\drools-compiler\\src\\main\\resources\\org\\drools\\clp\\CLP.g:405:4: (var= VAR '<-' LEFT_PAREN name= SYMBOL ( field_constriant[column] )* RIGHT_PAREN )
-            // D:\\workspace\\jboss\\jbossrules\\drools-compiler\\src\\main\\resources\\org\\drools\\clp\\CLP.g:405:4: var= VAR '<-' LEFT_PAREN name= SYMBOL ( field_constriant[column] )* RIGHT_PAREN
+            // D:\\workspace\\jboss\\jbossrules\\drools-compiler\\src\\main\\resources\\org\\drools\\clp\\CLP.g:397:4: (var= VAR ASSIGN_OP LEFT_PAREN name= NAME ( field_constriant[column] )* RIGHT_PAREN )
+            // D:\\workspace\\jboss\\jbossrules\\drools-compiler\\src\\main\\resources\\org\\drools\\clp\\CLP.g:397:4: var= VAR ASSIGN_OP LEFT_PAREN name= NAME ( field_constriant[column] )* RIGHT_PAREN
             {
             var=(Token)input.LT(1);
-            match(input,VAR,FOLLOW_VAR_in_bound_pattern736); 
+            match(input,VAR,FOLLOW_VAR_in_bound_pattern684); 
             
             			identifier = var.getText();
             		
-            match(input,40,FOLLOW_40_in_bound_pattern742); 
-            match(input,LEFT_PAREN,FOLLOW_LEFT_PAREN_in_bound_pattern747); 
+            match(input,ASSIGN_OP,FOLLOW_ASSIGN_OP_in_bound_pattern690); 
+            match(input,LEFT_PAREN,FOLLOW_LEFT_PAREN_in_bound_pattern692); 
             name=(Token)input.LT(1);
-            match(input,SYMBOL,FOLLOW_SYMBOL_in_bound_pattern754); 
+            match(input,NAME,FOLLOW_NAME_in_bound_pattern696); 
             
             			column = new ColumnDescr(name.getText());
             			column.setIdentifier( identifier );
             			in_ce.addDescr( column );	    
             		
-            // D:\\workspace\\jboss\\jbossrules\\drools-compiler\\src\\main\\resources\\org\\drools\\clp\\CLP.g:415:3: ( field_constriant[column] )*
-            loop12:
+            // D:\\workspace\\jboss\\jbossrules\\drools-compiler\\src\\main\\resources\\org\\drools\\clp\\CLP.g:406:3: ( field_constriant[column] )*
+            loop11:
             do {
-                int alt12=2;
-                int LA12_0 = input.LA(1);
-                if ( (LA12_0==LEFT_PAREN) ) {
-                    alt12=1;
+                int alt11=2;
+                int LA11_0 = input.LA(1);
+                if ( (LA11_0==LEFT_PAREN) ) {
+                    alt11=1;
                 }
 
 
-                switch (alt12) {
+                switch (alt11) {
             	case 1 :
-            	    // D:\\workspace\\jboss\\jbossrules\\drools-compiler\\src\\main\\resources\\org\\drools\\clp\\CLP.g:415:3: field_constriant[column]
+            	    // D:\\workspace\\jboss\\jbossrules\\drools-compiler\\src\\main\\resources\\org\\drools\\clp\\CLP.g:406:3: field_constriant[column]
             	    {
-            	    pushFollow(FOLLOW_field_constriant_in_bound_pattern760);
+            	    pushFollow(FOLLOW_field_constriant_in_bound_pattern705);
             	    field_constriant(column);
             	    _fsp--;
 
@@ -1142,11 +1099,11 @@
             	    break;
 
             	default :
-            	    break loop12;
+            	    break loop11;
                 }
             } while (true);
 
-            match(input,RIGHT_PAREN,FOLLOW_RIGHT_PAREN_in_bound_pattern767); 
+            match(input,RIGHT_PAREN,FOLLOW_RIGHT_PAREN_in_bound_pattern712); 
 
             }
 
@@ -1163,7 +1120,7 @@
 
 
     // $ANTLR start field_constriant
-    // D:\\workspace\\jboss\\jbossrules\\drools-compiler\\src\\main\\resources\\org\\drools\\clp\\CLP.g:419:1: field_constriant[ColumnDescr column] : LEFT_PAREN f= SYMBOL restriction[fc, column] ( connective[fc] restriction[fc, column] )* RIGHT_PAREN ;
+    // D:\\workspace\\jboss\\jbossrules\\drools-compiler\\src\\main\\resources\\org\\drools\\clp\\CLP.g:410: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;
 
@@ -1174,55 +1131,24 @@
         		String op = "==";
         	
         try {
-            // D:\\workspace\\jboss\\jbossrules\\drools-compiler\\src\\main\\resources\\org\\drools\\clp\\CLP.g:426:4: ( LEFT_PAREN f= SYMBOL restriction[fc, column] ( connective[fc] restriction[fc, column] )* RIGHT_PAREN )
-            // D:\\workspace\\jboss\\jbossrules\\drools-compiler\\src\\main\\resources\\org\\drools\\clp\\CLP.g:426:4: LEFT_PAREN f= SYMBOL restriction[fc, column] ( connective[fc] restriction[fc, column] )* RIGHT_PAREN
+            // D:\\workspace\\jboss\\jbossrules\\drools-compiler\\src\\main\\resources\\org\\drools\\clp\\CLP.g:418:3: ( LEFT_PAREN f= NAME connected_constraint[fc, column] RIGHT_PAREN )
+            // D:\\workspace\\jboss\\jbossrules\\drools-compiler\\src\\main\\resources\\org\\drools\\clp\\CLP.g:418:3: LEFT_PAREN f= NAME connected_constraint[fc, column] RIGHT_PAREN
             {
-            match(input,LEFT_PAREN,FOLLOW_LEFT_PAREN_in_field_constriant795); 
+            match(input,LEFT_PAREN,FOLLOW_LEFT_PAREN_in_field_constriant743); 
             f=(Token)input.LT(1);
-            match(input,SYMBOL,FOLLOW_SYMBOL_in_field_constriant802); 
+            match(input,NAME,FOLLOW_NAME_in_field_constriant747); 
             
             			fc = new FieldConstraintDescr(f.getText());
             			fc.setLocation( offset(f.getLine()), f.getCharPositionInLine() );
             			fc.setStartCharacter( ((CommonToken)f).getStartIndex() );
             			column.addDescr( fc );			
             		
-            pushFollow(FOLLOW_restriction_in_field_constriant814);
-            restriction(fc,  column);
+            pushFollow(FOLLOW_connected_constraint_in_field_constriant762);
+            connected_constraint(fc,  column);
             _fsp--;
 
-            // D:\\workspace\\jboss\\jbossrules\\drools-compiler\\src\\main\\resources\\org\\drools\\clp\\CLP.g:435:3: ( connective[fc] restriction[fc, column] )*
-            loop13:
-            do {
-                int alt13=2;
-                int LA13_0 = input.LA(1);
-                if ( ((LA13_0>=AMPERSAND && LA13_0<=PIPE)) ) {
-                    alt13=1;
-                }
+            match(input,RIGHT_PAREN,FOLLOW_RIGHT_PAREN_in_field_constriant768); 
 
-
-                switch (alt13) {
-            	case 1 :
-            	    // D:\\workspace\\jboss\\jbossrules\\drools-compiler\\src\\main\\resources\\org\\drools\\clp\\CLP.g:436:5: connective[fc] restriction[fc, column]
-            	    {
-            	    pushFollow(FOLLOW_connective_in_field_constriant826);
-            	    connective(fc);
-            	    _fsp--;
-
-            	    pushFollow(FOLLOW_restriction_in_field_constriant843);
-            	    restriction(fc,  column);
-            	    _fsp--;
-
-
-            	    }
-            	    break;
-
-            	default :
-            	    break loop13;
-                }
-            } while (true);
-
-            match(input,RIGHT_PAREN,FOLLOW_RIGHT_PAREN_in_field_constriant866); 
-
             }
 
         }
@@ -1237,43 +1163,49 @@
     // $ANTLR end field_constriant
 
 
-    // $ANTLR start connective
-    // D:\\workspace\\jboss\\jbossrules\\drools-compiler\\src\\main\\resources\\org\\drools\\clp\\CLP.g:442:1: connective[FieldConstraintDescr fc] : ( AMPERSAND | PIPE ) ;
-    public void connective(FieldConstraintDescr fc) throws RecognitionException {   
+    // $ANTLR start connected_constraint
+    // D:\\workspace\\jboss\\jbossrules\\drools-compiler\\src\\main\\resources\\org\\drools\\clp\\CLP.g:430: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 {   
         try {
-            // D:\\workspace\\jboss\\jbossrules\\drools-compiler\\src\\main\\resources\\org\\drools\\clp\\CLP.g:443:4: ( ( AMPERSAND | PIPE ) )
-            // D:\\workspace\\jboss\\jbossrules\\drools-compiler\\src\\main\\resources\\org\\drools\\clp\\CLP.g:443:4: ( AMPERSAND | PIPE )
+            // D:\\workspace\\jboss\\jbossrules\\drools-compiler\\src\\main\\resources\\org\\drools\\clp\\CLP.g:432:2: ( restriction[fc, column] ( AMPERSAND connected_constraint[fc, column] | PIPE connected_constraint[fc, column] )? )
+            // D:\\workspace\\jboss\\jbossrules\\drools-compiler\\src\\main\\resources\\org\\drools\\clp\\CLP.g:432:2: restriction[fc, column] ( AMPERSAND connected_constraint[fc, column] | PIPE connected_constraint[fc, column] )?
             {
-            // D:\\workspace\\jboss\\jbossrules\\drools-compiler\\src\\main\\resources\\org\\drools\\clp\\CLP.g:443:4: ( AMPERSAND | PIPE )
-            int alt14=2;
-            int LA14_0 = input.LA(1);
-            if ( (LA14_0==AMPERSAND) ) {
-                alt14=1;
-            }
-            else if ( (LA14_0==PIPE) ) {
-                alt14=2;
-            }
-            else {
-                NoViableAltException nvae =
-                    new NoViableAltException("443:4: ( AMPERSAND | PIPE )", 14, 0, input);
+            pushFollow(FOLLOW_restriction_in_connected_constraint784);
+            restriction(fc,  column);
+            _fsp--;
 
-                throw nvae;
+            // D:\\workspace\\jboss\\jbossrules\\drools-compiler\\src\\main\\resources\\org\\drools\\clp\\CLP.g:433:2: ( AMPERSAND connected_constraint[fc, column] | PIPE connected_constraint[fc, column] )?
+            int alt12=3;
+            int LA12_0 = input.LA(1);
+            if ( (LA12_0==AMPERSAND) ) {
+                alt12=1;
             }
-            switch (alt14) {
+            else if ( (LA12_0==PIPE) ) {
+                alt12=2;
+            }
+            switch (alt12) {
                 case 1 :
-                    // D:\\workspace\\jboss\\jbossrules\\drools-compiler\\src\\main\\resources\\org\\drools\\clp\\CLP.g:443:6: AMPERSAND
+                    // D:\\workspace\\jboss\\jbossrules\\drools-compiler\\src\\main\\resources\\org\\drools\\clp\\CLP.g:434:6: AMPERSAND connected_constraint[fc, column]
                     {
-                    match(input,AMPERSAND,FOLLOW_AMPERSAND_in_connective884); 
+                    match(input,AMPERSAND,FOLLOW_AMPERSAND_in_connected_constraint796); 
                      fc.addRestriction(new RestrictionConnectiveDescr(RestrictionConnectiveDescr.AND)); 
+                    pushFollow(FOLLOW_connected_constraint_in_connected_constraint805);
+                    connected_constraint(fc,  column);
+                    _fsp--;
 
+
                     }
                     break;
                 case 2 :
-                    // D:\\workspace\\jboss\\jbossrules\\drools-compiler\\src\\main\\resources\\org\\drools\\clp\\CLP.g:444:9: PIPE
+                    // D:\\workspace\\jboss\\jbossrules\\drools-compiler\\src\\main\\resources\\org\\drools\\clp\\CLP.g:437:6: PIPE connected_constraint[fc, column]
                     {
-                    match(input,PIPE,FOLLOW_PIPE_in_connective896); 
+                    match(input,PIPE,FOLLOW_PIPE_in_connected_constraint817); 
                     fc.addRestriction(new RestrictionConnectiveDescr(RestrictionConnectiveDescr.OR)); 
+                    pushFollow(FOLLOW_connected_constraint_in_connected_constraint826);
+                    connected_constraint(fc,  column);
+                    _fsp--;
 
+
                     }
                     break;
 
@@ -1291,11 +1223,11 @@
        }
         return ;
     }
-    // $ANTLR end connective
+    // $ANTLR end connected_constraint
 
 
     // $ANTLR start restriction
-    // D:\\workspace\\jboss\\jbossrules\\drools-compiler\\src\\main\\resources\\org\\drools\\clp\\CLP.g:448:1: restriction[FieldConstraintDescr fc, ColumnDescr column] : ( TILDE )? ( predicate_constraint[op, column] | return_value_restriction[op, fc] | variable_restriction[op, fc] | lc= literal_restriction ) ;
+    // D:\\workspace\\jboss\\jbossrules\\drools-compiler\\src\\main\\resources\\org\\drools\\clp\\CLP.g:442: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 {   
         String lc = null;
 
@@ -1304,20 +1236,20 @@
         			String op = "==";
         	
         try {
-            // D:\\workspace\\jboss\\jbossrules\\drools-compiler\\src\\main\\resources\\org\\drools\\clp\\CLP.g:452:4: ( ( TILDE )? ( predicate_constraint[op, column] | return_value_restriction[op, fc] | variable_restriction[op, fc] | lc= literal_restriction ) )
-            // D:\\workspace\\jboss\\jbossrules\\drools-compiler\\src\\main\\resources\\org\\drools\\clp\\CLP.g:452:4: ( TILDE )? ( predicate_constraint[op, column] | return_value_restriction[op, fc] | variable_restriction[op, fc] | lc= literal_restriction )
+            // D:\\workspace\\jboss\\jbossrules\\drools-compiler\\src\\main\\resources\\org\\drools\\clp\\CLP.g:446:4: ( ( TILDE )? ( predicate_constraint[op, column] | return_value_restriction[op, fc] | variable_restriction[op, fc] | lc= literal_restriction ) )
+            // D:\\workspace\\jboss\\jbossrules\\drools-compiler\\src\\main\\resources\\org\\drools\\clp\\CLP.g:446:4: ( TILDE )? ( predicate_constraint[op, column] | return_value_restriction[op, fc] | variable_restriction[op, fc] | lc= literal_restriction )
             {
-            // D:\\workspace\\jboss\\jbossrules\\drools-compiler\\src\\main\\resources\\org\\drools\\clp\\CLP.g:452:4: ( TILDE )?
-            int alt15=2;
-            int LA15_0 = input.LA(1);
-            if ( (LA15_0==TILDE) ) {
-                alt15=1;
+            // D:\\workspace\\jboss\\jbossrules\\drools-compiler\\src\\main\\resources\\org\\drools\\clp\\CLP.g:446:4: ( TILDE )?
+            int alt13=2;
+            int LA13_0 = input.LA(1);
+            if ( (LA13_0==TILDE) ) {
+                alt13=1;
             }
-            switch (alt15) {
+            switch (alt13) {
                 case 1 :
-                    // D:\\workspace\\jboss\\jbossrules\\drools-compiler\\src\\main\\resources\\org\\drools\\clp\\CLP.g:452:5: TILDE
+                    // D:\\workspace\\jboss\\jbossrules\\drools-compiler\\src\\main\\resources\\org\\drools\\clp\\CLP.g:446:5: TILDE
                     {
-                    match(input,TILDE,FOLLOW_TILDE_in_restriction931); 
+                    match(input,TILDE,FOLLOW_TILDE_in_restriction852); 
                     op = "!=";
 
                     }
@@ -1325,38 +1257,38 @@
 
             }
 
-            // D:\\workspace\\jboss\\jbossrules\\drools-compiler\\src\\main\\resources\\org\\drools\\clp\\CLP.g:453:3: ( predicate_constraint[op, column] | return_value_restriction[op, fc] | variable_restriction[op, fc] | lc= literal_restriction )
-            int alt16=4;
+            // D:\\workspace\\jboss\\jbossrules\\drools-compiler\\src\\main\\resources\\org\\drools\\clp\\CLP.g:447:3: ( predicate_constraint[op, column] | return_value_restriction[op, fc] | variable_restriction[op, fc] | lc= literal_restriction )
+            int alt14=4;
             switch ( input.LA(1) ) {
-            case 41:
-                alt16=1;
+            case COLON:
+                alt14=1;
                 break;
-            case 42:
-                alt16=2;
+            case EQUALS:
+                alt14=2;
                 break;
             case VAR:
-                alt16=3;
+                alt14=3;
                 break;
-            case SYMBOL:
+            case NAME:
             case STRING:
             case INT:
             case FLOAT:
             case BOOL:
             case NULL:
-                alt16=4;
+                alt14=4;
                 break;
             default:
                 NoViableAltException nvae =
-                    new NoViableAltException("453:3: ( predicate_constraint[op, column] | return_value_restriction[op, fc] | variable_restriction[op, fc] | lc= literal_restriction )", 16, 0, input);
+                    new NoViableAltException("447:3: ( predicate_constraint[op, column] | return_value_restriction[op, fc] | variable_restriction[op, fc] | lc= literal_restriction )", 14, 0, input);
 
                 throw nvae;
             }
 
-            switch (alt16) {
+            switch (alt14) {
                 case 1 :
-                    // D:\\workspace\\jboss\\jbossrules\\drools-compiler\\src\\main\\resources\\org\\drools\\clp\\CLP.g:453:6: predicate_constraint[op, column]
+                    // D:\\workspace\\jboss\\jbossrules\\drools-compiler\\src\\main\\resources\\org\\drools\\clp\\CLP.g:447:5: predicate_constraint[op, column]
                     {
-                    pushFollow(FOLLOW_predicate_constraint_in_restriction948);
+                    pushFollow(FOLLOW_predicate_constraint_in_restriction868);
                     predicate_constraint(op,  column);
                     _fsp--;
 
@@ -1364,9 +1296,9 @@
                     }
                     break;
                 case 2 :
-                    // D:\\workspace\\jboss\\jbossrules\\drools-compiler\\src\\main\\resources\\org\\drools\\clp\\CLP.g:454:11: return_value_restriction[op, fc]
+                    // D:\\workspace\\jboss\\jbossrules\\drools-compiler\\src\\main\\resources\\org\\drools\\clp\\CLP.g:448:7: return_value_restriction[op, fc]
                     {
-                    pushFollow(FOLLOW_return_value_restriction_in_restriction968);
+                    pushFollow(FOLLOW_return_value_restriction_in_restriction884);
                     return_value_restriction(op,  fc);
                     _fsp--;
 
@@ -1374,9 +1306,9 @@
                     }
                     break;
                 case 3 :
-                    // D:\\workspace\\jboss\\jbossrules\\drools-compiler\\src\\main\\resources\\org\\drools\\clp\\CLP.g:455:10: variable_restriction[op, fc]
+                    // D:\\workspace\\jboss\\jbossrules\\drools-compiler\\src\\main\\resources\\org\\drools\\clp\\CLP.g:449:7: variable_restriction[op, fc]
                     {
-                    pushFollow(FOLLOW_variable_restriction_in_restriction980);
+                    pushFollow(FOLLOW_variable_restriction_in_restriction893);
                     variable_restriction(op,  fc);
                     _fsp--;
 
@@ -1384,16 +1316,16 @@
                     }
                     break;
                 case 4 :
-                    // D:\\workspace\\jboss\\jbossrules\\drools-compiler\\src\\main\\resources\\org\\drools\\clp\\CLP.g:456:12: lc= literal_restriction
+                    // D:\\workspace\\jboss\\jbossrules\\drools-compiler\\src\\main\\resources\\org\\drools\\clp\\CLP.g:450:8: lc= literal_restriction
                     {
-                    pushFollow(FOLLOW_literal_restriction_in_restriction996);
+                    pushFollow(FOLLOW_literal_restriction_in_restriction905);
                     lc=literal_restriction();
                     _fsp--;
 
                     
-                         	    	fc.addRestriction( new LiteralRestrictionDescr(op, lc, true) );
-                    		      	op = "==";
-                    		      
+                         	    			fc.addRestriction( new LiteralRestrictionDescr(op, lc, true) );
+                    		      		op = "==";
+                    		        
 
                     }
                     break;
@@ -1416,18 +1348,18 @@
 
 
     // $ANTLR start predicate_constraint
-    // D:\\workspace\\jboss\\jbossrules\\drools-compiler\\src\\main\\resources\\org\\drools\\clp\\CLP.g:463:1: predicate_constraint[String op, ColumnDescr column] : ':' function[context] ;
+    // D:\\workspace\\jboss\\jbossrules\\drools-compiler\\src\\main\\resources\\org\\drools\\clp\\CLP.g:457:1: predicate_constraint[String op, ColumnDescr column] : COLON function[context] ;
     public void predicate_constraint(String op, ColumnDescr column) throws RecognitionException {   
         
            		ExecutionEngine engine = new CLPPredicate();
         		ExecutionBuildContext context = new ExecutionBuildContext( engine );    
             
         try {
-            // D:\\workspace\\jboss\\jbossrules\\drools-compiler\\src\\main\\resources\\org\\drools\\clp\\CLP.g:468:4: ( ':' function[context] )
-            // D:\\workspace\\jboss\\jbossrules\\drools-compiler\\src\\main\\resources\\org\\drools\\clp\\CLP.g:468:4: ':' function[context]
+            // D:\\workspace\\jboss\\jbossrules\\drools-compiler\\src\\main\\resources\\org\\drools\\clp\\CLP.g:462:4: ( COLON function[context] )
+            // D:\\workspace\\jboss\\jbossrules\\drools-compiler\\src\\main\\resources\\org\\drools\\clp\\CLP.g:462:4: COLON function[context]
             {
-            match(input,41,FOLLOW_41_in_predicate_constraint1038); 
-            pushFollow(FOLLOW_function_in_predicate_constraint1042);
+            match(input,COLON,FOLLOW_COLON_in_predicate_constraint947); 
+            pushFollow(FOLLOW_function_in_predicate_constraint951);
             function(context);
             _fsp--;
 
@@ -1450,18 +1382,18 @@
 
 
     // $ANTLR start return_value_restriction
-    // D:\\workspace\\jboss\\jbossrules\\drools-compiler\\src\\main\\resources\\org\\drools\\clp\\CLP.g:475:1: return_value_restriction[String op, FieldConstraintDescr fc] : '=' function[context] ;
+    // D:\\workspace\\jboss\\jbossrules\\drools-compiler\\src\\main\\resources\\org\\drools\\clp\\CLP.g:469:1: return_value_restriction[String op, FieldConstraintDescr fc] : EQUALS function[context] ;
     public void return_value_restriction(String op, FieldConstraintDescr fc) throws RecognitionException {   
         
         		ExecutionEngine engine = new CLPReturnValue();
         		ExecutionBuildContext context = new ExecutionBuildContext( engine );
         	
         try {
-            // D:\\workspace\\jboss\\jbossrules\\drools-compiler\\src\\main\\resources\\org\\drools\\clp\\CLP.g:480:4: ( '=' function[context] )
-            // D:\\workspace\\jboss\\jbossrules\\drools-compiler\\src\\main\\resources\\org\\drools\\clp\\CLP.g:480:4: '=' function[context]
+            // D:\\workspace\\jboss\\jbossrules\\drools-compiler\\src\\main\\resources\\org\\drools\\clp\\CLP.g:474:4: ( EQUALS function[context] )
+            // D:\\workspace\\jboss\\jbossrules\\drools-compiler\\src\\main\\resources\\org\\drools\\clp\\CLP.g:474:4: EQUALS function[context]
             {
-            match(input,42,FOLLOW_42_in_return_value_restriction1065); 
-            pushFollow(FOLLOW_function_in_return_value_restriction1070);
+            match(input,EQUALS,FOLLOW_EQUALS_in_return_value_restriction974); 
+            pushFollow(FOLLOW_function_in_return_value_restriction979);
             function(context);
             _fsp--;
 
@@ -1484,16 +1416,16 @@
 
 
     // $ANTLR start variable_restriction
-    // D:\\workspace\\jboss\\jbossrules\\drools-compiler\\src\\main\\resources\\org\\drools\\clp\\CLP.g:486:1: variable_restriction[String op, FieldConstraintDescr fc] : var= VAR ;
+    // D:\\workspace\\jboss\\jbossrules\\drools-compiler\\src\\main\\resources\\org\\drools\\clp\\CLP.g:480:1: variable_restriction[String op, FieldConstraintDescr fc] : var= VAR ;
     public void variable_restriction(String op, FieldConstraintDescr fc) throws RecognitionException {   
         Token var=null;
 
         try {
-            // D:\\workspace\\jboss\\jbossrules\\drools-compiler\\src\\main\\resources\\org\\drools\\clp\\CLP.g:487:4: (var= VAR )
-            // D:\\workspace\\jboss\\jbossrules\\drools-compiler\\src\\main\\resources\\org\\drools\\clp\\CLP.g:487:4: var= VAR
+            // D:\\workspace\\jboss\\jbossrules\\drools-compiler\\src\\main\\resources\\org\\drools\\clp\\CLP.g:481:4: (var= VAR )
+            // D:\\workspace\\jboss\\jbossrules\\drools-compiler\\src\\main\\resources\\org\\drools\\clp\\CLP.g:481:4: var= VAR
             {
             var=(Token)input.LT(1);
-            match(input,VAR,FOLLOW_VAR_in_variable_restriction1091); 
+            match(input,VAR,FOLLOW_VAR_in_variable_restriction1000); 
             
             			fc.addRestriction( new VariableRestrictionDescr(op, var.getText()) );
             		
@@ -1513,7 +1445,7 @@
 
 
     // $ANTLR start literal_restriction
-    // D:\\workspace\\jboss\\jbossrules\\drools-compiler\\src\\main\\resources\\org\\drools\\clp\\CLP.g:493:1: literal_restriction returns [String text] : t= literal ;
+    // D:\\workspace\\jboss\\jbossrules\\drools-compiler\\src\\main\\resources\\org\\drools\\clp\\CLP.g:487:1: literal_restriction returns [String text] : t= literal ;
     public String literal_restriction() throws RecognitionException {   
         String text = null;
 
@@ -1524,10 +1456,10 @@
         		text = null;
         	
         try {
-            // D:\\workspace\\jboss\\jbossrules\\drools-compiler\\src\\main\\resources\\org\\drools\\clp\\CLP.g:498:6: (t= literal )
-            // D:\\workspace\\jboss\\jbossrules\\drools-compiler\\src\\main\\resources\\org\\drools\\clp\\CLP.g:498:6: t= literal
+            // D:\\workspace\\jboss\\jbossrules\\drools-compiler\\src\\main\\resources\\org\\drools\\clp\\CLP.g:492:6: (t= literal )
+            // D:\\workspace\\jboss\\jbossrules\\drools-compiler\\src\\main\\resources\\org\\drools\\clp\\CLP.g:492:6: t= literal
             {
-            pushFollow(FOLLOW_literal_in_literal_restriction1124);
+            pushFollow(FOLLOW_literal_in_literal_restriction1033);
             t=literal();
             _fsp--;
 
@@ -1550,47 +1482,44 @@
 
 
     // $ANTLR start function
-    // D:\\workspace\\jboss\\jbossrules\\drools-compiler\\src\\main\\resources\\org\\drools\\clp\\CLP.g:503:1: function[ExecutionBuildContext context] returns [Function f] : LEFT_PAREN name= function_name ( function_params[context, f] )+ RIGHT_PAREN ;
+    // D:\\workspace\\jboss\\jbossrules\\drools-compiler\\src\\main\\resources\\org\\drools\\clp\\CLP.g:497:1: function[ExecutionBuildContext context] returns [Function f] : LEFT_PAREN name= NAME ( function_params[context, f] )+ RIGHT_PAREN ;
     public Function function(ExecutionBuildContext context) throws RecognitionException {   
         Function f = null;
 
-        Token name = null;
+        Token name=null;
 
-
         
         	    FunctionFactory factory = FunctionFactory.getInstance();
         	
         try {
-            // D:\\workspace\\jboss\\jbossrules\\drools-compiler\\src\\main\\resources\\org\\drools\\clp\\CLP.g:507:4: ( LEFT_PAREN name= function_name ( function_params[context, f] )+ RIGHT_PAREN )
-            // D:\\workspace\\jboss\\jbossrules\\drools-compiler\\src\\main\\resources\\org\\drools\\clp\\CLP.g:507:4: LEFT_PAREN name= function_name ( function_params[context, f] )+ RIGHT_PAREN
+            // D:\\workspace\\jboss\\jbossrules\\drools-compiler\\src\\main\\resources\\org\\drools\\clp\\CLP.g:501:4: ( LEFT_PAREN name= NAME ( function_params[context, f] )+ RIGHT_PAREN )
+            // D:\\workspace\\jboss\\jbossrules\\drools-compiler\\src\\main\\resources\\org\\drools\\clp\\CLP.g:501:4: LEFT_PAREN name= NAME ( function_params[context, f] )+ RIGHT_PAREN
             {
-            match(input,LEFT_PAREN,FOLLOW_LEFT_PAREN_in_function1149); 
-            pushFollow(FOLLOW_function_name_in_function1155);
-            name=function_name();
-            _fsp--;
-
+            match(input,LEFT_PAREN,FOLLOW_LEFT_PAREN_in_function1058); 
+            name=(Token)input.LT(1);
+            match(input,NAME,FOLLOW_NAME_in_function1064); 
             
             			if ( name.getText().equals("bind") ) {
             		  		context.createLocalVariable( name.getText() );
             			}
             		  	f = factory.createFunction( name.getText() );		  
             		
-            // D:\\workspace\\jboss\\jbossrules\\drools-compiler\\src\\main\\resources\\org\\drools\\clp\\CLP.g:515:3: ( function_params[context, f] )+
-            int cnt17=0;
-            loop17:
+            // D:\\workspace\\jboss\\jbossrules\\drools-compiler\\src\\main\\resources\\org\\drools\\clp\\CLP.g:509:3: ( function_params[context, f] )+
+            int cnt15=0;
+            loop15:
             do {
-                int alt17=2;
-                int LA17_0 = input.LA(1);
-                if ( (LA17_0==LEFT_PAREN||(LA17_0>=SYMBOL && LA17_0<=STRING)||LA17_0==INT||LA17_0==VAR||(LA17_0>=FLOAT && LA17_0<=NULL)) ) {
-                    alt17=1;
+                int alt15=2;
+                int LA15_0 = input.LA(1);
+                if ( (LA15_0==LEFT_PAREN||(LA15_0>=NAME && LA15_0<=STRING)||LA15_0==INT||LA15_0==VAR||(LA15_0>=FLOAT && LA15_0<=NULL)) ) {
+                    alt15=1;
                 }
 
 
-                switch (alt17) {
+                switch (alt15) {
             	case 1 :
-            	    // D:\\workspace\\jboss\\jbossrules\\drools-compiler\\src\\main\\resources\\org\\drools\\clp\\CLP.g:515:3: function_params[context, f]
+            	    // D:\\workspace\\jboss\\jbossrules\\drools-compiler\\src\\main\\resources\\org\\drools\\clp\\CLP.g:509:3: function_params[context, f]
             	    {
-            	    pushFollow(FOLLOW_function_params_in_function1168);
+            	    pushFollow(FOLLOW_function_params_in_function1077);
             	    function_params(context,  f);
             	    _fsp--;
 
@@ -1599,15 +1528,15 @@
             	    break;
 
             	default :
-            	    if ( cnt17 >= 1 ) break loop17;
+            	    if ( cnt15 >= 1 ) break loop15;
                         EarlyExitException eee =
-                            new EarlyExitException(17, input);
+                            new EarlyExitException(15, input);
                         throw eee;
                 }
-                cnt17++;
+                cnt15++;
             } while (true);
 
-            match(input,RIGHT_PAREN,FOLLOW_RIGHT_PAREN_in_function1178); 
+            match(input,RIGHT_PAREN,FOLLOW_RIGHT_PAREN_in_function1087); 
              context.addFunction( f ); 
 
             }
@@ -1625,7 +1554,7 @@
 
 
     // $ANTLR start modify_function
-    // D:\\workspace\\jboss\\jbossrules\\drools-compiler\\src\\main\\resources\\org\\drools\\clp\\CLP.g:521:1: modify_function[ExecutionBuildContext context] returns [Function f] : LEFT_PAREN 'modify' ( slot_name_value_pair[context, f] )+ RIGHT_PAREN ;
+    // D:\\workspace\\jboss\\jbossrules\\drools-compiler\\src\\main\\resources\\org\\drools\\clp\\CLP.g:515:1: modify_function[ExecutionBuildContext context] returns [Function f] : LEFT_PAREN 'modify' ( slot_name_value_pair[context, f] )+ RIGHT_PAREN ;
     public Function modify_function(ExecutionBuildContext context) throws RecognitionException {   
         Function f = null;
 
@@ -1634,27 +1563,27 @@
         		f = factory.createFunction( "modify" );
         	
         try {
-            // D:\\workspace\\jboss\\jbossrules\\drools-compiler\\src\\main\\resources\\org\\drools\\clp\\CLP.g:527:3: ( LEFT_PAREN 'modify' ( slot_name_value_pair[context, f] )+ RIGHT_PAREN )
-            // D:\\workspace\\jboss\\jbossrules\\drools-compiler\\src\\main\\resources\\org\\drools\\clp\\CLP.g:527:3: LEFT_PAREN 'modify' ( slot_name_value_pair[context, f] )+ RIGHT_PAREN
+            // D:\\workspace\\jboss\\jbossrules\\drools-compiler\\src\\main\\resources\\org\\drools\\clp\\CLP.g:521:3: ( LEFT_PAREN 'modify' ( slot_name_value_pair[context, f] )+ RIGHT_PAREN )
+            // D:\\workspace\\jboss\\jbossrules\\drools-compiler\\src\\main\\resources\\org\\drools\\clp\\CLP.g:521:3: LEFT_PAREN 'modify' ( slot_name_value_pair[context, f] )+ RIGHT_PAREN
             {
-            match(input,LEFT_PAREN,FOLLOW_LEFT_PAREN_in_modify_function1209); 
-            match(input,43,FOLLOW_43_in_modify_function1214); 
-            // D:\\workspace\\jboss\\jbossrules\\drools-compiler\\src\\main\\resources\\org\\drools\\clp\\CLP.g:529:4: ( slot_name_value_pair[context, f] )+
-            int cnt18=0;
-            loop18:
+            match(input,LEFT_PAREN,FOLLOW_LEFT_PAREN_in_modify_function1118); 
+            match(input,43,FOLLOW_43_in_modify_function1123); 
+            // D:\\workspace\\jboss\\jbossrules\\drools-compiler\\src\\main\\resources\\org\\drools\\clp\\CLP.g:523:4: ( slot_name_value_pair[context, f] )+
+            int cnt16=0;
+            loop16:
             do {
-                int alt18=2;
-                int LA18_0 = input.LA(1);
-                if ( (LA18_0==LEFT_PAREN) ) {
-                    alt18=1;
+                int alt16=2;
+                int LA16_0 = input.LA(1);
+                if ( (LA16_0==LEFT_PAREN) ) {
+                    alt16=1;
                 }
 
 
-                switch (alt18) {
+                switch (alt16) {
             	case 1 :
-            	    // D:\\workspace\\jboss\\jbossrules\\drools-compiler\\src\\main\\resources\\org\\drools\\clp\\CLP.g:529:4: slot_name_value_pair[context, f]
+            	    // D:\\workspace\\jboss\\jbossrules\\drools-compiler\\src\\main\\resources\\org\\drools\\clp\\CLP.g:523:4: slot_name_value_pair[context, f]
             	    {
-            	    pushFollow(FOLLOW_slot_name_value_pair_in_modify_function1219);
+            	    pushFollow(FOLLOW_slot_name_value_pair_in_modify_function1128);
             	    slot_name_value_pair(context,  f);
             	    _fsp--;
 
@@ -1663,15 +1592,15 @@
             	    break;
 
             	default :
-            	    if ( cnt18 >= 1 ) break loop18;
+            	    if ( cnt16 >= 1 ) break loop16;
                         EarlyExitException eee =
-                            new EarlyExitException(18, input);
+                            new EarlyExitException(16, input);
                         throw eee;
                 }
-                cnt18++;
+                cnt16++;
             } while (true);
 
-            match(input,RIGHT_PAREN,FOLLOW_RIGHT_PAREN_in_modify_function1225); 
+            match(input,RIGHT_PAREN,FOLLOW_RIGHT_PAREN_in_modify_function1134); 
 
             }
 
@@ -1688,7 +1617,7 @@
 
 
     // $ANTLR start function_params
-    // D:\\workspace\\jboss\\jbossrules\\drools-compiler\\src\\main\\resources\\org\\drools\\clp\\CLP.g:533:1: function_params[ExecutionBuildContext context, Function f] : (t= VAR | t= STRING | t= SYMBOL | t= FLOAT | t= INT | t= BOOL | t= NULL | nf= function[context] ) ;
+    // D:\\workspace\\jboss\\jbossrules\\drools-compiler\\src\\main\\resources\\org\\drools\\clp\\CLP.g:527:1: function_params[ExecutionBuildContext context, Function f] : (t= VAR | t= STRING | t= NAME | t= FLOAT | t= INT | t= BOOL | t= NULL | nf= function[context] ) ;
     public void function_params(ExecutionBuildContext context, Function f) throws RecognitionException {   
         Token t=null;
         Function nf = null;
@@ -1698,111 +1627,111 @@
         		ValueHandler value  =  null;		
         	
         try {
-            // D:\\workspace\\jboss\\jbossrules\\drools-compiler\\src\\main\\resources\\org\\drools\\clp\\CLP.g:538:3: ( (t= VAR | t= STRING | t= SYMBOL | t= FLOAT | t= INT | t= BOOL | t= NULL | nf= function[context] ) )
-            // D:\\workspace\\jboss\\jbossrules\\drools-compiler\\src\\main\\resources\\org\\drools\\clp\\CLP.g:538:3: (t= VAR | t= STRING | t= SYMBOL | t= FLOAT | t= INT | t= BOOL | t= NULL | nf= function[context] )
+            // D:\\workspace\\jboss\\jbossrules\\drools-compiler\\src\\main\\resources\\org\\drools\\clp\\CLP.g:532:3: ( (t= VAR | t= STRING | t= NAME | t= FLOAT | t= INT | t= BOOL | t= NULL | nf= function[context] ) )
+            // D:\\workspace\\jboss\\jbossrules\\drools-compiler\\src\\main\\resources\\org\\drools\\clp\\CLP.g:532:3: (t= VAR | t= STRING | t= NAME | t= FLOAT | t= INT | t= BOOL | t= NULL | nf= function[context] )
             {
-            // D:\\workspace\\jboss\\jbossrules\\drools-compiler\\src\\main\\resources\\org\\drools\\clp\\CLP.g:538:3: (t= VAR | t= STRING | t= SYMBOL | t= FLOAT | t= INT | t= BOOL | t= NULL | nf= function[context] )
-            int alt19=8;
+            // D:\\workspace\\jboss\\jbossrules\\drools-compiler\\src\\main\\resources\\org\\drools\\clp\\CLP.g:532:3: (t= VAR | t= STRING | t= NAME | t= FLOAT | t= INT | t= BOOL | t= NULL | nf= function[context] )
+            int alt17=8;
             switch ( input.LA(1) ) {
             case VAR:
-                alt19=1;
+                alt17=1;
                 break;
             case STRING:
-                alt19=2;
+                alt17=2;
                 break;
-            case SYMBOL:
-                alt19=3;
+            case NAME:
+                alt17=3;
                 break;
             case FLOAT:
-                alt19=4;
+                alt17=4;
                 break;
             case INT:
-                alt19=5;
+                alt17=5;
                 break;
             case BOOL:
-                alt19=6;
+                alt17=6;
                 break;
             case NULL:
-                alt19=7;
+                alt17=7;
                 break;
             case LEFT_PAREN:
-                alt19=8;
+                alt17=8;
                 break;
             default:
                 NoViableAltException nvae =
-                    new NoViableAltException("538:3: (t= VAR | t= STRING | t= SYMBOL | t= FLOAT | t= INT | t= BOOL | t= NULL | nf= function[context] )", 19, 0, input);
+                    new NoViableAltException("532:3: (t= VAR | t= STRING | t= NAME | t= FLOAT | t= INT | t= BOOL | t= NULL | nf= function[context] )", 17, 0, input);
 
                 throw nvae;
             }
 
-            switch (alt19) {
+            switch (alt17) {
                 case 1 :
-                    // D:\\workspace\\jboss\\jbossrules\\drools-compiler\\src\\main\\resources\\org\\drools\\clp\\CLP.g:538:6: t= VAR
+                    // D:\\workspace\\jboss\\jbossrules\\drools-compiler\\src\\main\\resources\\org\\drools\\clp\\CLP.g:532:6: t= VAR
                     {
                     t=(Token)input.LT(1);
-                    match(input,VAR,FOLLOW_VAR_in_function_params1254); 
+                    match(input,VAR,FOLLOW_VAR_in_function_params1163); 
                      value = context.getVariableValueHandler(t.getText() ); 
 
                     }
                     break;
                 case 2 :
-                    // D:\\workspace\\jboss\\jbossrules\\drools-compiler\\src\\main\\resources\\org\\drools\\clp\\CLP.g:539:6: t= STRING
+                    // D:\\workspace\\jboss\\jbossrules\\drools-compiler\\src\\main\\resources\\org\\drools\\clp\\CLP.g:533:6: t= STRING
                     {
                     t=(Token)input.LT(1);
-                    match(input,STRING,FOLLOW_STRING_in_function_params1266); 
+                    match(input,STRING,FOLLOW_STRING_in_function_params1175); 
                      value = new ObjectLiteralValue( getString( t ) ); 
 
                     }
                     break;
                 case 3 :
-                    // D:\\workspace\\jboss\\jbossrules\\drools-compiler\\src\\main\\resources\\org\\drools\\clp\\CLP.g:540:7: t= SYMBOL
+                    // D:\\workspace\\jboss\\jbossrules\\drools-compiler\\src\\main\\resources\\org\\drools\\clp\\CLP.g:534:7: t= NAME
                     {
                     t=(Token)input.LT(1);
-                    match(input,SYMBOL,FOLLOW_SYMBOL_in_function_params1281); 
+                    match(input,NAME,FOLLOW_NAME_in_function_params1190); 
                      value = new ObjectLiteralValue( t.getText() ); 
 
                     }
                     break;
                 case 4 :
-                    // D:\\workspace\\jboss\\jbossrules\\drools-compiler\\src\\main\\resources\\org\\drools\\clp\\CLP.g:541:6: t= FLOAT
+                    // D:\\workspace\\jboss\\jbossrules\\drools-compiler\\src\\main\\resources\\org\\drools\\clp\\CLP.g:535:6: t= FLOAT
                     {
                     t=(Token)input.LT(1);
-                    match(input,FLOAT,FOLLOW_FLOAT_in_function_params1298); 
+                    match(input,FLOAT,FOLLOW_FLOAT_in_function_params1207); 
                      value = new DoubleLiteralValue( t.getText() ); 
 
                     }
                     break;
                 case 5 :
-                    // D:\\workspace\\jboss\\jbossrules\\drools-compiler\\src\\main\\resources\\org\\drools\\clp\\CLP.g:542:6: t= INT
+                    // D:\\workspace\\jboss\\jbossrules\\drools-compiler\\src\\main\\resources\\org\\drools\\clp\\CLP.g:536:6: t= INT
                     {
                     t=(Token)input.LT(1);
-                    match(input,INT,FOLLOW_INT_in_function_params1313); 
+                    match(input,INT,FOLLOW_INT_in_function_params1222); 
                      value = new LongLiteralValue( t.getText() ); 
 
                     }
                     break;
                 case 6 :
-                    // D:\\workspace\\jboss\\jbossrules\\drools-compiler\\src\\main\\resources\\org\\drools\\clp\\CLP.g:543:6: t= BOOL
+                    // D:\\workspace\\jboss\\jbossrules\\drools-compiler\\src\\main\\resources\\org\\drools\\clp\\CLP.g:537:6: t= BOOL
                     {
                     t=(Token)input.LT(1);
-                    match(input,BOOL,FOLLOW_BOOL_in_function_params1333); 
+                    match(input,BOOL,FOLLOW_BOOL_in_function_params1242); 
                      value = new BooleanLiteralValue( t.getText() ); 
 
                     }
                     break;
                 case 7 :
-                    // D:\\workspace\\jboss\\jbossrules\\drools-compiler\\src\\main\\resources\\org\\drools\\clp\\CLP.g:544:6: t= NULL
+                    // D:\\workspace\\jboss\\jbossrules\\drools-compiler\\src\\main\\resources\\org\\drools\\clp\\CLP.g:538:6: t= NULL
                     {
                     t=(Token)input.LT(1);
-                    match(input,NULL,FOLLOW_NULL_in_function_params1355); 
+                    match(input,NULL,FOLLOW_NULL_in_function_params1264); 
                      value = ObjectLiteralValue.NULL; 
 
                     }
                     break;
                 case 8 :
-                    // D:\\workspace\\jboss\\jbossrules\\drools-compiler\\src\\main\\resources\\org\\drools\\clp\\CLP.g:545:6: nf= function[context]
+                    // D:\\workspace\\jboss\\jbossrules\\drools-compiler\\src\\main\\resources\\org\\drools\\clp\\CLP.g:539:6: nf= function[context]
                     {
-                    pushFollow(FOLLOW_function_in_function_params1371);
+                    pushFollow(FOLLOW_function_in_function_params1280);
                     nf=function(context);
                     _fsp--;
 
@@ -1830,7 +1759,7 @@
 
 
     // $ANTLR start slot_name_value_pair
-    // D:\\workspace\\jboss\\jbossrules\\drools-compiler\\src\\main\\resources\\org\\drools\\clp\\CLP.g:551:1: slot_name_value_pair[ExecutionBuildContext context, Function f] : LEFT_PAREN id= SYMBOL (t= VAR | t= STRING | t= SYMBOL | t= FLOAT | t= INT | t= BOOL | t= NULL | nf= function[context] ) RIGHT_PAREN ;
+    // D:\\workspace\\jboss\\jbossrules\\drools-compiler\\src\\main\\resources\\org\\drools\\clp\\CLP.g:545:1: slot_name_value_pair[ExecutionBuildContext context, Function f] : LEFT_PAREN id= NAME (t= VAR | t= STRING | t= NAME | t= FLOAT | t= INT | t= BOOL | t= NULL | nf= function[context] ) RIGHT_PAREN ;
     public void slot_name_value_pair(ExecutionBuildContext context, Function f) throws RecognitionException {   
         Token id=null;
         Token t=null;
@@ -1842,117 +1771,117 @@
         		String name = null;
         	
         try {
-            // D:\\workspace\\jboss\\jbossrules\\drools-compiler\\src\\main\\resources\\org\\drools\\clp\\CLP.g:557:3: ( LEFT_PAREN id= SYMBOL (t= VAR | t= STRING | t= SYMBOL | t= FLOAT | t= INT | t= BOOL | t= NULL | nf= function[context] ) RIGHT_PAREN )
-            // D:\\workspace\\jboss\\jbossrules\\drools-compiler\\src\\main\\resources\\org\\drools\\clp\\CLP.g:557:3: LEFT_PAREN id= SYMBOL (t= VAR | t= STRING | t= SYMBOL | t= FLOAT | t= INT | t= BOOL | t= NULL | nf= function[context] ) RIGHT_PAREN
+            // D:\\workspace\\jboss\\jbossrules\\drools-compiler\\src\\main\\resources\\org\\drools\\clp\\CLP.g:551:3: ( LEFT_PAREN id= NAME (t= VAR | t= STRING | t= NAME | t= FLOAT | t= INT | t= BOOL | t= NULL | nf= function[context] ) RIGHT_PAREN )
+            // D:\\workspace\\jboss\\jbossrules\\drools-compiler\\src\\main\\resources\\org\\drools\\clp\\CLP.g:551:3: LEFT_PAREN id= NAME (t= VAR | t= STRING | t= NAME | t= FLOAT | t= INT | t= BOOL | t= NULL | nf= function[context] ) RIGHT_PAREN
             {
-            match(input,LEFT_PAREN,FOLLOW_LEFT_PAREN_in_slot_name_value_pair1413); 
+            match(input,LEFT_PAREN,FOLLOW_LEFT_PAREN_in_slot_name_value_pair1322); 
             id=(Token)input.LT(1);
-            match(input,SYMBOL,FOLLOW_SYMBOL_in_slot_name_value_pair1419); 
+            match(input,NAME,FOLLOW_NAME_in_slot_name_value_pair1328); 
             
             			name = id.getText();
             		
-            // D:\\workspace\\jboss\\jbossrules\\drools-compiler\\src\\main\\resources\\org\\drools\\clp\\CLP.g:561:3: (t= VAR | t= STRING | t= SYMBOL | t= FLOAT | t= INT | t= BOOL | t= NULL | nf= function[context] )
-            int alt20=8;
+            // D:\\workspace\\jboss\\jbossrules\\drools-compiler\\src\\main\\resources\\org\\drools\\clp\\CLP.g:555:3: (t= VAR | t= STRING | t= NAME | t= FLOAT | t= INT | t= BOOL | t= NULL | nf= function[context] )
+            int alt18=8;
             switch ( input.LA(1) ) {
             case VAR:
-                alt20=1;
+                alt18=1;
                 break;
             case STRING:
-                alt20=2;
+                alt18=2;
                 break;
-            case SYMBOL:
-                alt20=3;
+            case NAME:
+                alt18=3;
                 break;
             case FLOAT:
-                alt20=4;
+                alt18=4;
                 break;
             case INT:
-                alt20=5;
+                alt18=5;
                 break;
             case BOOL:
-                alt20=6;
+                alt18=6;
                 break;
             case NULL:
-                alt20=7;
+                alt18=7;
                 break;
             case LEFT_PAREN:
-                alt20=8;
+                alt18=8;
                 break;
             default:
                 NoViableAltException nvae =
-                    new NoViableAltException("561:3: (t= VAR | t= STRING | t= SYMBOL | t= FLOAT | t= INT | t= BOOL | t= NULL | nf= function[context] )", 20, 0, input);
+                    new NoViableAltException("555:3: (t= VAR | t= STRING | t= NAME | t= FLOAT | t= INT | t= BOOL | t= NULL | nf= function[context] )", 18, 0, input);
 
                 throw nvae;
             }
 
-            switch (alt20) {
+            switch (alt18) {
                 case 1 :
-                    // D:\\workspace\\jboss\\jbossrules\\drools-compiler\\src\\main\\resources\\org\\drools\\clp\\CLP.g:561:6: t= VAR
+                    // D:\\workspace\\jboss\\jbossrules\\drools-compiler\\src\\main\\resources\\org\\drools\\clp\\CLP.g:555:6: t= VAR
                     {
                     t=(Token)input.LT(1);
-                    match(input,VAR,FOLLOW_VAR_in_slot_name_value_pair1430); 
+                    match(input,VAR,FOLLOW_VAR_in_slot_name_value_pair1339); 
                      nameValuePair = new SlotNameValuePair(name, context.getVariableValueHandler( t.getText() ) ); 
 
                     }
                     break;
                 case 2 :
-                    // D:\\workspace\\jboss\\jbossrules\\drools-compiler\\src\\main\\resources\\org\\drools\\clp\\CLP.g:562:7: t= STRING
+                    // D:\\workspace\\jboss\\jbossrules\\drools-compiler\\src\\main\\resources\\org\\drools\\clp\\CLP.g:556:7: t= STRING
                     {
                     t=(Token)input.LT(1);
-                    match(input,STRING,FOLLOW_STRING_in_slot_name_value_pair1448); 
+                    match(input,STRING,FOLLOW_STRING_in_slot_name_value_pair1357); 
                      nameValuePair = new SlotNameValuePair(name, new ObjectLiteralValue( getString( t ) ) ); 
 
                     }
                     break;
                 case 3 :
-                    // D:\\workspace\\jboss\\jbossrules\\drools-compiler\\src\\main\\resources\\org\\drools\\clp\\CLP.g:563:7: t= SYMBOL
+                    // D:\\workspace\\jboss\\jbossrules\\drools-compiler\\src\\main\\resources\\org\\drools\\clp\\CLP.g:557:7: t= NAME
                     {
                     t=(Token)input.LT(1);
-                    match(input,SYMBOL,FOLLOW_SYMBOL_in_slot_name_value_pair1463); 
+                    match(input,NAME,FOLLOW_NAME_in_slot_name_value_pair1372); 
                      nameValuePair = new SlotNameValuePair(name, new ObjectLiteralValue( t.getText() ) ); 
 
                     }
                     break;
                 case 4 :
-                    // D:\\workspace\\jboss\\jbossrules\\drools-compiler\\src\\main\\resources\\org\\drools\\clp\\CLP.g:564:6: t= FLOAT
+                    // D:\\workspace\\jboss\\jbossrules\\drools-compiler\\src\\main\\resources\\org\\drools\\clp\\CLP.g:558:6: t= FLOAT
                     {
                     t=(Token)input.LT(1);
-                    match(input,FLOAT,FOLLOW_FLOAT_in_slot_name_value_pair1480); 
+                    match(input,FLOAT,FOLLOW_FLOAT_in_slot_name_value_pair1389); 
                      nameValuePair = new SlotNameValuePair(name, new DoubleLiteralValue( t.getText() ) ); 
 
                     }
                     break;
                 case 5 :
-                    // D:\\workspace\\jboss\\jbossrules\\drools-compiler\\src\\main\\resources\\org\\drools\\clp\\CLP.g:565:6: t= INT
+                    // D:\\workspace\\jboss\\jbossrules\\drools-compiler\\src\\main\\resources\\org\\drools\\clp\\CLP.g:559:6: t= INT
                     {
                     t=(Token)input.LT(1);
-                    match(input,INT,FOLLOW_INT_in_slot_name_value_pair1495); 
+                    match(input,INT,FOLLOW_INT_in_slot_name_value_pair1404); 
                      nameValuePair = new SlotNameValuePair(name, new LongLiteralValue( t.getText() ) ); 
 
                     }
                     break;
                 case 6 :
-                    // D:\\workspace\\jboss\\jbossrules\\drools-compiler\\src\\main\\resources\\org\\drools\\clp\\CLP.g:566:6: t= BOOL
+                    // D:\\workspace\\jboss\\jbossrules\\drools-compiler\\src\\main\\resources\\org\\drools\\clp\\CLP.g:560:6: t= BOOL
                     {
                     t=(Token)input.LT(1);
-                    match(input,BOOL,FOLLOW_BOOL_in_slot_name_value_pair1515); 
+                    match(input,BOOL,FOLLOW_BOOL_in_slot_name_value_pair1424); 
                      nameValuePair = new SlotNameValuePair(name, new BooleanLiteralValue( t.getText() ) ) ; 
 
                     }
                     break;
                 case 7 :
-                    // D:\\workspace\\jboss\\jbossrules\\drools-compiler\\src\\main\\resources\\org\\drools\\clp\\CLP.g:567:6: t= NULL
+                    // D:\\workspace\\jboss\\jbossrules\\drools-compiler\\src\\main\\resources\\org\\drools\\clp\\CLP.g:561:6: t= NULL
                     {
                     t=(Token)input.LT(1);
-                    match(input,NULL,FOLLOW_NULL_in_slot_name_value_pair1537); 
+                    match(input,NULL,FOLLOW_NULL_in_slot_name_value_pair1446); 
                      nameValuePair = new SlotNameValuePair(name, ObjectLiteralValue.NULL ); 
 
                     }
                     break;
                 case 8 :
-                    // D:\\workspace\\jboss\\jbossrules\\drools-compiler\\src\\main\\resources\\org\\drools\\clp\\CLP.g:568:6: nf= function[context]
+                    // D:\\workspace\\jboss\\jbossrules\\drools-compiler\\src\\main\\resources\\org\\drools\\clp\\CLP.g:562:6: nf= function[context]
                     {
-                    pushFollow(FOLLOW_function_in_slot_name_value_pair1553);
+                    pushFollow(FOLLOW_function_in_slot_name_value_pair1462);
                     nf=function(context);
                     _fsp--;
 
@@ -1964,7 +1893,7 @@
             }
 
              f.addParameter( nameValuePair ); 
-            match(input,RIGHT_PAREN,FOLLOW_RIGHT_PAREN_in_slot_name_value_pair1590); 
+            match(input,RIGHT_PAREN,FOLLOW_RIGHT_PAREN_in_slot_name_value_pair1499); 
 
             }
 
@@ -1981,7 +1910,7 @@
 
 
     // $ANTLR start literal
-    // D:\\workspace\\jboss\\jbossrules\\drools-compiler\\src\\main\\resources\\org\\drools\\clp\\CLP.g:575:1: literal returns [String text] : (t= STRING | t= SYMBOL | t= INT | t= FLOAT | t= BOOL | t= NULL ) ;
+    // D:\\workspace\\jboss\\jbossrules\\drools-compiler\\src\\main\\resources\\org\\drools\\clp\\CLP.g:569:1: literal returns [String text] : (t= STRING | t= NAME | t= INT | t= FLOAT | t= BOOL | t= NULL ) ;
     public String literal() throws RecognitionException {   
         String text = null;
 
@@ -1991,88 +1920,88 @@
         		text = null;
         	
         try {
-            // D:\\workspace\\jboss\\jbossrules\\drools-compiler\\src\\main\\resources\\org\\drools\\clp\\CLP.g:579:4: ( (t= STRING | t= SYMBOL | t= INT | t= FLOAT | t= BOOL | t= NULL ) )
-            // D:\\workspace\\jboss\\jbossrules\\drools-compiler\\src\\main\\resources\\org\\drools\\clp\\CLP.g:579:4: (t= STRING | t= SYMBOL | t= INT | t= FLOAT | t= BOOL | t= NULL )
+            // D:\\workspace\\jboss\\jbossrules\\drools-compiler\\src\\main\\resources\\org\\drools\\clp\\CLP.g:573:4: ( (t= STRING | t= NAME | t= INT | t= FLOAT | t= BOOL | t= NULL ) )
+            // D:\\workspace\\jboss\\jbossrules\\drools-compiler\\src\\main\\resources\\org\\drools\\clp\\CLP.g:573:4: (t= STRING | t= NAME | t= INT | t= FLOAT | t= BOOL | t= NULL )
             {
-            // D:\\workspace\\jboss\\jbossrules\\drools-compiler\\src\\main\\resources\\org\\drools\\clp\\CLP.g:579:4: (t= STRING | t= SYMBOL | t= INT | t= FLOAT | t= BOOL | t= NULL )
-            int alt21=6;
+            // D:\\workspace\\jboss\\jbossrules\\drools-compiler\\src\\main\\resources\\org\\drools\\clp\\CLP.g:573:4: (t= STRING | t= NAME | t= INT | t= FLOAT | t= BOOL | t= NULL )
+            int alt19=6;
             switch ( input.LA(1) ) {
             case STRING:
-                alt21=1;
+                alt19=1;
                 break;
-            case SYMBOL:
-                alt21=2;
+            case NAME:
+                alt19=2;
                 break;
             case INT:
-                alt21=3;
+                alt19=3;
                 break;
             case FLOAT:
-                alt21=4;
+                alt19=4;
                 break;
             case BOOL:
-                alt21=5;
+                alt19=5;
                 break;
             case NULL:
-                alt21=6;
+                alt19=6;
                 break;
             default:
                 NoViableAltException nvae =
-                    new NoViableAltException("579:4: (t= STRING | t= SYMBOL | t= INT | t= FLOAT | t= BOOL | t= NULL )", 21, 0, input);
+                    new NoViableAltException("573:4: (t= STRING | t= NAME | t= INT | t= FLOAT | t= BOOL | t= NULL )", 19, 0, input);
 
                 throw nvae;
             }
 
-            switch (alt21) {
+            switch (alt19) {
                 case 1 :
-                    // D:\\workspace\\jboss\\jbossrules\\drools-compiler\\src\\main\\resources\\org\\drools\\clp\\CLP.g:579:8: t= STRING
+                    // D:\\workspace\\jboss\\jbossrules\\drools-compiler\\src\\main\\resources\\org\\drools\\clp\\CLP.g:573:8: t= STRING
                     {
                     t=(Token)input.LT(1);
-                    match(input,STRING,FOLLOW_STRING_in_literal1619); 
+                    match(input,STRING,FOLLOW_STRING_in_literal1528); 
                      text = getString( t ); 
 
                     }
                     break;
                 case 2 :
-                    // D:\\workspace\\jboss\\jbossrules\\drools-compiler\\src\\main\\resources\\org\\drools\\clp\\CLP.g:580:7: t= SYMBOL
+                    // D:\\workspace\\jboss\\jbossrules\\drools-compiler\\src\\main\\resources\\org\\drools\\clp\\CLP.g:574:7: t= NAME
                     {
                     t=(Token)input.LT(1);
-                    match(input,SYMBOL,FOLLOW_SYMBOL_in_literal1632); 
+                    match(input,NAME,FOLLOW_NAME_in_literal1541); 
                      text = t.getText(); 
 
                     }
                     break;
                 case 3 :
-                    // D:\\workspace\\jboss\\jbossrules\\drools-compiler\\src\\main\\resources\\org\\drools\\clp\\CLP.g:581:7: t= INT
+                    // D:\\workspace\\jboss\\jbossrules\\drools-compiler\\src\\main\\resources\\org\\drools\\clp\\CLP.g:575:7: t= INT
                     {
                     t=(Token)input.LT(1);
-                    match(input,INT,FOLLOW_INT_in_literal1648); 
+                    match(input,INT,FOLLOW_INT_in_literal1557); 
                      text = t.getText(); 
 
                     }
                     break;
                 case 4 :
-                    // D:\\workspace\\jboss\\jbossrules\\drools-compiler\\src\\main\\resources\\org\\drools\\clp\\CLP.g:582:7: t= FLOAT
+                    // D:\\workspace\\jboss\\jbossrules\\drools-compiler\\src\\main\\resources\\org\\drools\\clp\\CLP.g:576:7: t= FLOAT
                     {
                     t=(Token)input.LT(1);
-                    match(input,FLOAT,FOLLOW_FLOAT_in_literal1663); 
+                    match(input,FLOAT,FOLLOW_FLOAT_in_literal1572); 
                      text = t.getText(); 
 
                     }
                     break;
                 case 5 :
-                    // D:\\workspace\\jboss\\jbossrules\\drools-compiler\\src\\main\\resources\\org\\drools\\clp\\CLP.g:583:7: t= BOOL
+                    // D:\\workspace\\jboss\\jbossrules\\drools-compiler\\src\\main\\resources\\org\\drools\\clp\\CLP.g:577:7: t= BOOL
                     {
                     t=(Token)input.LT(1);
-                    match(input,BOOL,FOLLOW_BOOL_in_literal1676); 
+                    match(input,BOOL,FOLLOW_BOOL_in_literal1585); 
                      text = t.getText(); 
 
                     }
                     break;
                 case 6 :
-                    // D:\\workspace\\jboss\\jbossrules\\drools-compiler\\src\\main\\resources\\org\\drools\\clp\\CLP.g:584:7: t= NULL
+                    // D:\\workspace\\jboss\\jbossrules\\drools-compiler\\src\\main\\resources\\org\\drools\\clp\\CLP.g:578:7: t= NULL
                     {
                     t=(Token)input.LT(1);
-                    match(input,NULL,FOLLOW_NULL_in_literal1690); 
+                    match(input,NULL,FOLLOW_NULL_in_literal1599); 
                      text = null; 
 
                     }
@@ -2095,187 +2024,118 @@
     // $ANTLR end literal
 
 
-    // $ANTLR start function_name
-    // D:\\workspace\\jboss\\jbossrules\\drools-compiler\\src\\main\\resources\\org\\drools\\clp\\CLP.g:588:1: function_name returns [Token tok] : (t= SYMBOL | t= MISC ) ;
-    public Token function_name() throws RecognitionException {   
-        Token tok = null;
-
-        Token t=null;
-
-        try {
-            // D:\\workspace\\jboss\\jbossrules\\drools-compiler\\src\\main\\resources\\org\\drools\\clp\\CLP.g:590:2: ( (t= SYMBOL | t= MISC ) )
-            // D:\\workspace\\jboss\\jbossrules\\drools-compiler\\src\\main\\resources\\org\\drools\\clp\\CLP.g:590:2: (t= SYMBOL | t= MISC )
-            {
-            // D:\\workspace\\jboss\\jbossrules\\drools-compiler\\src\\main\\resources\\org\\drools\\clp\\CLP.g:590:2: (t= SYMBOL | t= MISC )
-            int alt22=2;
-            int LA22_0 = input.LA(1);
-            if ( (LA22_0==SYMBOL) ) {
-                alt22=1;
-            }
-            else if ( (LA22_0==MISC) ) {
-                alt22=2;
-            }
-            else {
-                NoViableAltException nvae =
-                    new NoViableAltException("590:2: (t= SYMBOL | t= MISC )", 22, 0, input);
-
-                throw nvae;
-            }
-            switch (alt22) {
-                case 1 :
-                    // D:\\workspace\\jboss\\jbossrules\\drools-compiler\\src\\main\\resources\\org\\drools\\clp\\CLP.g:590:4: t= SYMBOL
-                    {
-                    t=(Token)input.LT(1);
-                    match(input,SYMBOL,FOLLOW_SYMBOL_in_function_name1719); 
-
-                    }
-                    break;
-                case 2 :
-                    // D:\\workspace\\jboss\\jbossrules\\drools-compiler\\src\\main\\resources\\org\\drools\\clp\\CLP.g:591:4: t= MISC
-                    {
-                    t=(Token)input.LT(1);
-                    match(input,MISC,FOLLOW_MISC_in_function_name1727); 
-
-                    }
-                    break;
-
-            }
-
-            
-            	    tok = t;
-            	
-
-            }
-
-        }
-        catch (RecognitionException re) {
-            reportError(re);
-            recover(input,re);
-        }
-        finally {
-       }
-        return tok;
-    }
-    // $ANTLR end function_name
-
-
  
 
-    public static final BitSet FOLLOW_38_in_opt_semicolon38 = new BitSet(new long[]{0x0000000000000002L});
-    public static final BitSet FOLLOW_LEFT_PAREN_in_rule65 = new BitSet(new long[]{0x0000000000000020L});
-    public static final BitSet FOLLOW_DEFRULE_in_rule73 = new BitSet(new long[]{0x0000000000000040L});
-    public static final BitSet FOLLOW_SYMBOL_in_rule77 = new BitSet(new long[]{0x0000000000000080L});
-    public static final BitSet FOLLOW_STRING_in_rule89 = new BitSet(new long[]{0x0000008000010010L});
-    public static final BitSet FOLLOW_ruleAttribute_in_rule95 = new BitSet(new long[]{0x0000008000010010L});
-    public static final BitSet FOLLOW_lhs_in_rule103 = new BitSet(new long[]{0x0000008000010010L});
-    public static final BitSet FOLLOW_39_in_rule112 = new BitSet(new long[]{0x0000000000000110L});
-    public static final BitSet FOLLOW_rhs_in_rule119 = new BitSet(new long[]{0x0000000000000100L});
-    public static final BitSet FOLLOW_RIGHT_PAREN_in_rule127 = new BitSet(new long[]{0x0000000000000002L});
-    public static final BitSet FOLLOW_LEFT_PAREN_in_ruleAttribute144 = new BitSet(new long[]{0x0000000004000000L});
-    public static final BitSet FOLLOW_DECLARE_in_ruleAttribute146 = new BitSet(new long[]{0x0000000000000010L});
-    public static final BitSet FOLLOW_LEFT_PAREN_in_ruleAttribute151 = new BitSet(new long[]{0x0000000000000200L});
-    public static final BitSet FOLLOW_salience_in_ruleAttribute155 = new BitSet(new long[]{0x0000000000000100L});
-    public static final BitSet FOLLOW_RIGHT_PAREN_in_ruleAttribute159 = new BitSet(new long[]{0x0000000000000100L});
-    public static final BitSet FOLLOW_RIGHT_PAREN_in_ruleAttribute163 = new BitSet(new long[]{0x0000000000000002L});
-    public static final BitSet FOLLOW_SALIENCE_in_salience193 = new BitSet(new long[]{0x0000000000000400L});
-    public static final BitSet FOLLOW_INT_in_salience197 = new BitSet(new long[]{0x0000000000000002L});
-    public static final BitSet FOLLOW_and_ce_in_lhs224 = new BitSet(new long[]{0x0000000000000002L});
-    public static final BitSet FOLLOW_or_ce_in_lhs234 = new BitSet(new long[]{0x0000000000000002L});
-    public static final BitSet FOLLOW_not_ce_in_lhs243 = new BitSet(new long[]{0x0000000000000002L});
-    public static final BitSet FOLLOW_exists_ce_in_lhs252 = new BitSet(new long[]{0x0000000000000002L});
-    public static final BitSet FOLLOW_eval_ce_in_lhs266 = new BitSet(new long[]{0x0000000000000002L});
-    public static final BitSet FOLLOW_normal_pattern_in_lhs280 = new BitSet(new long[]{0x0000000000000002L});
-    public static final BitSet FOLLOW_bound_pattern_in_lhs289 = new BitSet(new long[]{0x0000000000000002L});
-    public static final BitSet FOLLOW_function_in_rhs317 = new BitSet(new long[]{0x0000000000000012L});
-    public static final BitSet FOLLOW_and_ce_in_ce341 = new BitSet(new long[]{0x0000000000000002L});
-    public static final BitSet FOLLOW_or_ce_in_ce354 = new BitSet(new long[]{0x0000000000000002L});
-    public static final BitSet FOLLOW_not_ce_in_ce363 = new BitSet(new long[]{0x0000000000000002L});
-    public static final BitSet FOLLOW_exists_ce_in_ce372 = new BitSet(new long[]{0x0000000000000002L});
-    public static final BitSet FOLLOW_eval_ce_in_ce386 = new BitSet(new long[]{0x0000000000000002L});
-    public static final BitSet FOLLOW_normal_pattern_in_ce410 = new BitSet(new long[]{0x0000000000000002L});
-    public static final BitSet FOLLOW_LEFT_PAREN_in_and_ce442 = new BitSet(new long[]{0x0000000000000800L});
-    public static final BitSet FOLLOW_AND_in_and_ce447 = new BitSet(new long[]{0x0000000000000110L});
-    public static final BitSet FOLLOW_ce_in_and_ce453 = new BitSet(new long[]{0x0000000000000110L});
-    public static final BitSet FOLLOW_RIGHT_PAREN_in_and_ce462 = new BitSet(new long[]{0x0000000000000002L});
-    public static final BitSet FOLLOW_LEFT_PAREN_in_or_ce490 = new BitSet(new long[]{0x0000000000001000L});
-    public static final BitSet FOLLOW_OR_in_or_ce495 = new BitSet(new long[]{0x0000000000000110L});
-    public static final BitSet FOLLOW_ce_in_or_ce501 = new BitSet(new long[]{0x0000000000000110L});
-    public static final BitSet FOLLOW_RIGHT_PAREN_in_or_ce510 = new BitSet(new long[]{0x0000000000000002L});
-    public static final BitSet FOLLOW_LEFT_PAREN_in_not_ce538 = new BitSet(new long[]{0x0000000000002000L});
-    public static final BitSet FOLLOW_NOT_in_not_ce543 = new BitSet(new long[]{0x0000000000000110L});
-    public static final BitSet FOLLOW_ce_in_not_ce549 = new BitSet(new long[]{0x0000000000000100L});
-    public static final BitSet FOLLOW_RIGHT_PAREN_in_not_ce558 = new BitSet(new long[]{0x0000000000000002L});
-    public static final BitSet FOLLOW_LEFT_PAREN_in_exists_ce587 = new BitSet(new long[]{0x0000000000004000L});
-    public static final BitSet FOLLOW_EXISTS_in_exists_ce592 = new BitSet(new long[]{0x0000000000000110L});
-    public static final BitSet FOLLOW_ce_in_exists_ce598 = new BitSet(new long[]{0x0000000000000100L});
-    public static final BitSet FOLLOW_RIGHT_PAREN_in_exists_ce607 = new BitSet(new long[]{0x0000000000000002L});
-    public static final BitSet FOLLOW_LEFT_PAREN_in_eval_ce635 = new BitSet(new long[]{0x0000000000008000L});
-    public static final BitSet FOLLOW_TEST_in_eval_ce640 = new BitSet(new long[]{0x0000000000000010L});
-    public static final BitSet FOLLOW_function_in_eval_ce646 = new BitSet(new long[]{0x0000000000000100L});
-    public static final BitSet FOLLOW_RIGHT_PAREN_in_eval_ce657 = new BitSet(new long[]{0x0000000000000002L});
-    public static final BitSet FOLLOW_LEFT_PAREN_in_normal_pattern685 = new BitSet(new long[]{0x0000000000000040L});
-    public static final BitSet FOLLOW_SYMBOL_in_normal_pattern692 = new BitSet(new long[]{0x0000000000000110L});
-    public static final BitSet FOLLOW_field_constriant_in_normal_pattern698 = new BitSet(new long[]{0x0000000000000110L});
-    public static final BitSet FOLLOW_RIGHT_PAREN_in_normal_pattern708 = new BitSet(new long[]{0x0000000000000002L});
-    public static final BitSet FOLLOW_VAR_in_bound_pattern736 = new BitSet(new long[]{0x0000010000000000L});
-    public static final BitSet FOLLOW_40_in_bound_pattern742 = new BitSet(new long[]{0x0000000000000010L});
-    public static final BitSet FOLLOW_LEFT_PAREN_in_bound_pattern747 = new BitSet(new long[]{0x0000000000000040L});
-    public static final BitSet FOLLOW_SYMBOL_in_bound_pattern754 = new BitSet(new long[]{0x0000000000000110L});
-    public static final BitSet FOLLOW_field_constriant_in_bound_pattern760 = new BitSet(new long[]{0x0000000000000110L});
-    public static final BitSet FOLLOW_RIGHT_PAREN_in_bound_pattern767 = new BitSet(new long[]{0x0000000000000002L});
-    public static final BitSet FOLLOW_LEFT_PAREN_in_field_constriant795 = new BitSet(new long[]{0x0000000000000040L});
-    public static final BitSet FOLLOW_SYMBOL_in_field_constriant802 = new BitSet(new long[]{0x00000600007904C0L});
-    public static final BitSet FOLLOW_restriction_in_field_constriant814 = new BitSet(new long[]{0x0000000000060100L});
-    public static final BitSet FOLLOW_connective_in_field_constriant826 = new BitSet(new long[]{0x00000600007904C0L});
-    public static final BitSet FOLLOW_restriction_in_field_constriant843 = new BitSet(new long[]{0x0000000000060100L});
-    public static final BitSet FOLLOW_RIGHT_PAREN_in_field_constriant866 = new BitSet(new long[]{0x0000000000000002L});
-    public static final BitSet FOLLOW_AMPERSAND_in_connective884 = new BitSet(new long[]{0x0000000000000002L});
-    public static final BitSet FOLLOW_PIPE_in_connective896 = new BitSet(new long[]{0x0000000000000002L});
-    public static final BitSet FOLLOW_TILDE_in_restriction931 = new BitSet(new long[]{0x00000600007104C0L});
-    public static final BitSet FOLLOW_predicate_constraint_in_restriction948 = new BitSet(new long[]{0x0000000000000002L});
-    public static final BitSet FOLLOW_return_value_restriction_in_restriction968 = new BitSet(new long[]{0x0000000000000002L});
-    public static final BitSet FOLLOW_variable_restriction_in_restriction980 = new BitSet(new long[]{0x0000000000000002L});
-    public static final BitSet FOLLOW_literal_restriction_in_restriction996 = new BitSet(new long[]{0x0000000000000002L});
-    public static final BitSet FOLLOW_41_in_predicate_constraint1038 = new BitSet(new long[]{0x0000000000000010L});
-    public static final BitSet FOLLOW_function_in_predicate_constraint1042 = new BitSet(new long[]{0x0000000000000002L});
-    public static final BitSet FOLLOW_42_in_return_value_restriction1065 = new BitSet(new long[]{0x0000000000000010L});
-    public static final BitSet FOLLOW_function_in_return_value_restriction1070 = new BitSet(new long[]{0x0000000000000002L});
-    public static final BitSet FOLLOW_VAR_in_variable_restriction1091 = new BitSet(new long[]{0x0000000000000002L});
-    public static final BitSet FOLLOW_literal_in_literal_restriction1124 = new BitSet(new long[]{0x0000000000000002L});
-    public static final BitSet FOLLOW_LEFT_PAREN_in_function1149 = new BitSet(new long[]{0x0000000000800040L});
-    public static final BitSet FOLLOW_function_name_in_function1155 = new BitSet(new long[]{0x00000000007104D0L});
-    public static final BitSet FOLLOW_function_params_in_function1168 = new BitSet(new long[]{0x00000000007105D0L});
-    public static final BitSet FOLLOW_RIGHT_PAREN_in_function1178 = new BitSet(new long[]{0x0000000000000002L});
-    public static final BitSet FOLLOW_LEFT_PAREN_in_modify_function1209 = new BitSet(new long[]{0x0000080000000000L});
-    public static final BitSet FOLLOW_43_in_modify_function1214 = new BitSet(new long[]{0x0000000000000010L});
-    public static final BitSet FOLLOW_slot_name_value_pair_in_modify_function1219 = new BitSet(new long[]{0x0000000000000110L});
-    public static final BitSet FOLLOW_RIGHT_PAREN_in_modify_function1225 = new BitSet(new long[]{0x0000000000000002L});
-    public static final BitSet FOLLOW_VAR_in_function_params1254 = new BitSet(new long[]{0x0000000000000002L});
-    public static final BitSet FOLLOW_STRING_in_function_params1266 = new BitSet(new long[]{0x0000000000000002L});
-    public static final BitSet FOLLOW_SYMBOL_in_function_params1281 = new BitSet(new long[]{0x0000000000000002L});
-    public static final BitSet FOLLOW_FLOAT_in_function_params1298 = new BitSet(new long[]{0x0000000000000002L});
-    public static final BitSet FOLLOW_INT_in_function_params1313 = new BitSet(new long[]{0x0000000000000002L});
-    public static final BitSet FOLLOW_BOOL_in_function_params1333 = new BitSet(new long[]{0x0000000000000002L});
-    public static final BitSet FOLLOW_NULL_in_function_params1355 = new BitSet(new long[]{0x0000000000000002L});
-    public static final BitSet FOLLOW_function_in_function_params1371 = new BitSet(new long[]{0x0000000000000002L});
-    public static final BitSet FOLLOW_LEFT_PAREN_in_slot_name_value_pair1413 = new BitSet(new long[]{0x0000000000000040L});
-    public static final BitSet FOLLOW_SYMBOL_in_slot_name_value_pair1419 = new BitSet(new long[]{0x00000000007104D0L});
-    public static final BitSet FOLLOW_VAR_in_slot_name_value_pair1430 = new BitSet(new long[]{0x0000000000000100L});
-    public static final BitSet FOLLOW_STRING_in_slot_name_value_pair1448 = new BitSet(new long[]{0x0000000000000100L});
-    public static final BitSet FOLLOW_SYMBOL_in_slot_name_value_pair1463 = new BitSet(new long[]{0x0000000000000100L});
-    public static final BitSet FOLLOW_FLOAT_in_slot_name_value_pair1480 = new BitSet(new long[]{0x0000000000000100L});
-    public static final BitSet FOLLOW_INT_in_slot_name_value_pair1495 = new BitSet(new long[]{0x0000000000000100L});
-    public static final BitSet FOLLOW_BOOL_in_slot_name_value_pair1515 = new BitSet(new long[]{0x0000000000000100L});
-    public static final BitSet FOLLOW_NULL_in_slot_name_value_pair1537 = new BitSet(new long[]{0x0000000000000100L});
-    public static final BitSet FOLLOW_function_in_slot_name_value_pair1553 = new BitSet(new long[]{0x0000000000000100L});
-    public static final BitSet FOLLOW_RIGHT_PAREN_in_slot_name_value_pair1590 = new BitSet(new long[]{0x0000000000000002L});
-    public static final BitSet FOLLOW_STRING_in_literal1619 = new BitSet(new long[]{0x0000000000000002L});
-    public static final BitSet FOLLOW_SYMBOL_in_literal1632 = new BitSet(new long[]{0x0000000000000002L});
-    public static final BitSet FOLLOW_INT_in_literal1648 = new BitSet(new long[]{0x0000000000000002L});
-    public static final BitSet FOLLOW_FLOAT_in_literal1663 = new BitSet(new long[]{0x0000000000000002L});
-    public static final BitSet FOLLOW_BOOL_in_literal1676 = new BitSet(new long[]{0x0000000000000002L});
-    public static final BitSet FOLLOW_NULL_in_literal1690 = new BitSet(new long[]{0x0000000000000002L});
-    public static final BitSet FOLLOW_SYMBOL_in_function_name1719 = new BitSet(new long[]{0x0000000000000002L});
-    public static final BitSet FOLLOW_MISC_in_function_name1727 = new BitSet(new long[]{0x0000000000000002L});
+    public static final BitSet FOLLOW_41_in_opt_semicolon38 = new BitSet(new long[]{0x0000000000000002L});
+    public static final BitSet FOLLOW_statement_in_compilation_unit56 = new BitSet(new long[]{0x0000000000000012L});
+    public static final BitSet FOLLOW_rule_in_statement76 = new BitSet(new long[]{0x0000000000000002L});
+    public static final BitSet FOLLOW_LEFT_PAREN_in_rule107 = new BitSet(new long[]{0x0000000000000020L});
+    public static final BitSet FOLLOW_DEFRULE_in_rule115 = new BitSet(new long[]{0x0000000000000040L});
+    public static final BitSet FOLLOW_NAME_in_rule119 = new BitSet(new long[]{0x0000000000000080L});
+    public static final BitSet FOLLOW_STRING_in_rule131 = new BitSet(new long[]{0x0000040000010010L});
+    public static final BitSet FOLLOW_ruleAttribute_in_rule137 = new BitSet(new long[]{0x0000040000010010L});
+    public static final BitSet FOLLOW_ce_in_rule145 = new BitSet(new long[]{0x0000040000010010L});
+    public static final BitSet FOLLOW_42_in_rule154 = new BitSet(new long[]{0x0000000000000110L});
+    public static final BitSet FOLLOW_rhs_in_rule161 = new BitSet(new long[]{0x0000000000000100L});
+    public static final BitSet FOLLOW_RIGHT_PAREN_in_rule169 = new BitSet(new long[]{0x0000000000000002L});
+    public static final BitSet FOLLOW_LEFT_PAREN_in_ruleAttribute186 = new BitSet(new long[]{0x0000000010000000L});
+    public static final BitSet FOLLOW_DECLARE_in_ruleAttribute188 = new BitSet(new long[]{0x0000000000000110L});
+    public static final BitSet FOLLOW_LEFT_PAREN_in_ruleAttribute195 = new BitSet(new long[]{0x0000000000000200L});
+    public static final BitSet FOLLOW_salience_in_ruleAttribute199 = new BitSet(new long[]{0x0000000000000100L});
+    public static final BitSet FOLLOW_RIGHT_PAREN_in_ruleAttribute203 = new BitSet(new long[]{0x0000000000000100L});
+    public static final BitSet FOLLOW_RIGHT_PAREN_in_ruleAttribute210 = new BitSet(new long[]{0x0000000000000002L});
+    public static final BitSet FOLLOW_SALIENCE_in_salience240 = new BitSet(new long[]{0x0000000000000400L});
+    public static final BitSet FOLLOW_INT_in_salience244 = new BitSet(new long[]{0x0000000000000002L});
+    public static final BitSet FOLLOW_and_ce_in_ce270 = new BitSet(new long[]{0x0000000000000002L});
+    public static final BitSet FOLLOW_or_ce_in_ce280 = new BitSet(new long[]{0x0000000000000002L});
+    public static final BitSet FOLLOW_not_ce_in_ce289 = new BitSet(new long[]{0x0000000000000002L});
+    public static final BitSet FOLLOW_exists_ce_in_ce298 = new BitSet(new long[]{0x0000000000000002L});
+    public static final BitSet FOLLOW_eval_ce_in_ce312 = new BitSet(new long[]{0x0000000000000002L});
+    public static final BitSet FOLLOW_normal_pattern_in_ce326 = new BitSet(new long[]{0x0000000000000002L});
+    public static final BitSet FOLLOW_bound_pattern_in_ce335 = new BitSet(new long[]{0x0000000000000002L});
+    public static final BitSet FOLLOW_function_in_rhs363 = new BitSet(new long[]{0x0000000000000012L});
+    public static final BitSet FOLLOW_LEFT_PAREN_in_and_ce392 = new BitSet(new long[]{0x0000000000000800L});
+    public static final BitSet FOLLOW_AND_in_and_ce397 = new BitSet(new long[]{0x0000000000010010L});
+    public static final BitSet FOLLOW_ce_in_and_ce403 = new BitSet(new long[]{0x0000000000010110L});
+    public static final BitSet FOLLOW_RIGHT_PAREN_in_and_ce412 = new BitSet(new long[]{0x0000000000000002L});
+    public static final BitSet FOLLOW_LEFT_PAREN_in_or_ce440 = new BitSet(new long[]{0x0000000000001000L});
+    public static final BitSet FOLLOW_OR_in_or_ce445 = new BitSet(new long[]{0x0000000000010010L});
+    public static final BitSet FOLLOW_ce_in_or_ce451 = new BitSet(new long[]{0x0000000000010110L});
+    public static final BitSet FOLLOW_RIGHT_PAREN_in_or_ce460 = new BitSet(new long[]{0x0000000000000002L});
+    public static final BitSet FOLLOW_LEFT_PAREN_in_not_ce488 = new BitSet(new long[]{0x0000000000002000L});
+    public static final BitSet FOLLOW_NOT_in_not_ce493 = new BitSet(new long[]{0x0000000000010010L});
+    public static final BitSet FOLLOW_ce_in_not_ce499 = new BitSet(new long[]{0x0000000000000100L});
+    public static final BitSet FOLLOW_RIGHT_PAREN_in_not_ce507 = new BitSet(new long[]{0x0000000000000002L});
+    public static final BitSet FOLLOW_LEFT_PAREN_in_exists_ce536 = new BitSet(new long[]{0x0000000000004000L});
+    public static final BitSet FOLLOW_EXISTS_in_exists_ce541 = new BitSet(new long[]{0x0000000000010010L});
+    public static final BitSet FOLLOW_ce_in_exists_ce547 = new BitSet(new long[]{0x0000000000000100L});
+    public static final BitSet FOLLOW_RIGHT_PAREN_in_exists_ce555 = new BitSet(new long[]{0x0000000000000002L});
+    public static final BitSet FOLLOW_LEFT_PAREN_in_eval_ce583 = new BitSet(new long[]{0x0000000000008000L});
+    public static final BitSet FOLLOW_TEST_in_eval_ce588 = new BitSet(new long[]{0x0000000000000010L});
+    public static final BitSet FOLLOW_function_in_eval_ce594 = new BitSet(new long[]{0x0000000000000100L});
+    public static final BitSet FOLLOW_RIGHT_PAREN_in_eval_ce605 = new BitSet(new long[]{0x0000000000000002L});
+    public static final BitSet FOLLOW_LEFT_PAREN_in_normal_pattern633 = new BitSet(new long[]{0x0000000000000040L});
+    public static final BitSet FOLLOW_NAME_in_normal_pattern640 = new BitSet(new long[]{0x0000000000000110L});
+    public static final BitSet FOLLOW_field_constriant_in_normal_pattern646 = new BitSet(new long[]{0x0000000000000110L});
+    public static final BitSet FOLLOW_RIGHT_PAREN_in_normal_pattern656 = new BitSet(new long[]{0x0000000000000002L});
+    public static final BitSet FOLLOW_VAR_in_bound_pattern684 = new BitSet(new long[]{0x0000000000020000L});
+    public static final BitSet FOLLOW_ASSIGN_OP_in_bound_pattern690 = new BitSet(new long[]{0x0000000000000010L});
+    public static final BitSet FOLLOW_LEFT_PAREN_in_bound_pattern692 = new BitSet(new long[]{0x0000000000000040L});
+    public static final BitSet FOLLOW_NAME_in_bound_pattern696 = new BitSet(new long[]{0x0000000000000110L});
+    public static final BitSet FOLLOW_field_constriant_in_bound_pattern705 = new BitSet(new long[]{0x0000000000000110L});
+    public static final BitSet FOLLOW_RIGHT_PAREN_in_bound_pattern712 = new BitSet(new long[]{0x0000000000000002L});
+    public static final BitSet FOLLOW_LEFT_PAREN_in_field_constriant743 = new BitSet(new long[]{0x0000000000000040L});
+    public static final BitSet FOLLOW_NAME_in_field_constriant747 = new BitSet(new long[]{0x0000000003F104C0L});
+    public static final BitSet FOLLOW_connected_constraint_in_field_constriant762 = new BitSet(new long[]{0x0000000000000100L});
+    public static final BitSet FOLLOW_RIGHT_PAREN_in_field_constriant768 = new BitSet(new long[]{0x0000000000000002L});
+    public static final BitSet FOLLOW_restriction_in_connected_constraint784 = new BitSet(new long[]{0x00000000000C0002L});
+    public static final BitSet FOLLOW_AMPERSAND_in_connected_constraint796 = new BitSet(new long[]{0x0000000003F104C0L});
+    public static final BitSet FOLLOW_connected_constraint_in_connected_constraint805 = new BitSet(new long[]{0x0000000000000002L});
+    public static final BitSet FOLLOW_PIPE_in_connected_constraint817 = new BitSet(new long[]{0x0000000003F104C0L});
+    public static final BitSet FOLLOW_connected_constraint_in_connected_constraint826 = new BitSet(new long[]{0x0000000000000002L});
+    public static final BitSet FOLLOW_TILDE_in_restriction852 = new BitSet(new long[]{0x0000000003E104C0L});
+    public static final BitSet FOLLOW_predicate_constraint_in_restriction868 = new BitSet(new long[]{0x0000000000000002L});
+    public static final BitSet FOLLOW_return_value_restriction_in_restriction884 = new BitSet(new long[]{0x0000000000000002L});
+    public static final BitSet FOLLOW_variable_restriction_in_restriction893 = new BitSet(new long[]{0x0000000000000002L});
+    public static final BitSet FOLLOW_literal_restriction_in_restriction905 = new BitSet(new long[]{0x0000000000000002L});
+    public static final BitSet FOLLOW_COLON_in_predicate_constraint947 = new BitSet(new long[]{0x0000000000000010L});
+    public static final BitSet FOLLOW_function_in_predicate_constraint951 = new BitSet(new long[]{0x0000000000000002L});
+    public static final BitSet FOLLOW_EQUALS_in_return_value_restriction974 = new BitSet(new long[]{0x0000000000000010L});
+    public static final BitSet FOLLOW_function_in_return_value_restriction979 = new BitSet(new long[]{0x0000000000000002L});
+    public static final BitSet FOLLOW_VAR_in_variable_restriction1000 = new BitSet(new long[]{0x0000000000000002L});
+    public static final BitSet FOLLOW_literal_in_literal_restriction1033 = new BitSet(new long[]{0x0000000000000002L});
+    public static final BitSet FOLLOW_LEFT_PAREN_in_function1058 = new BitSet(new long[]{0x0000000000000040L});
+    public static final BitSet FOLLOW_NAME_in_function1064 = new BitSet(new long[]{0x00000000038104D0L});
+    public static final BitSet FOLLOW_function_params_in_function1077 = new BitSet(new long[]{0x00000000038105D0L});
+    public static final BitSet FOLLOW_RIGHT_PAREN_in_function1087 = new BitSet(new long[]{0x0000000000000002L});
+    public static final BitSet FOLLOW_LEFT_PAREN_in_modify_function1118 = new BitSet(new long[]{0x0000080000000000L});
+    public static final BitSet FOLLOW_43_in_modify_function1123 = new BitSet(new long[]{0x0000000000000010L});
+    public static final BitSet FOLLOW_slot_name_value_pair_in_modify_function1128 = new BitSet(new long[]{0x0000000000000110L});
+    public static final BitSet FOLLOW_RIGHT_PAREN_in_modify_function1134 = new BitSet(new long[]{0x0000000000000002L});
+    public static final BitSet FOLLOW_VAR_in_function_params1163 = new BitSet(new long[]{0x0000000000000002L});
+    public static final BitSet FOLLOW_STRING_in_function_params1175 = new BitSet(new long[]{0x0000000000000002L});
+    public static final BitSet FOLLOW_NAME_in_function_params1190 = new BitSet(new long[]{0x0000000000000002L});
+    public static final BitSet FOLLOW_FLOAT_in_function_params1207 = new BitSet(new long[]{0x0000000000000002L});
+    public static final BitSet FOLLOW_INT_in_function_params1222 = new BitSet(new long[]{0x0000000000000002L});
+    public static final BitSet FOLLOW_BOOL_in_function_params1242 = new BitSet(new long[]{0x0000000000000002L});
+    public static final BitSet FOLLOW_NULL_in_function_params1264 = new BitSet(new long[]{0x0000000000000002L});
+    public static final BitSet FOLLOW_function_in_function_params1280 = new BitSet(new long[]{0x0000000000000002L});
+    public static final BitSet FOLLOW_LEFT_PAREN_in_slot_name_value_pair1322 = new BitSet(new long[]{0x0000000000000040L});
+    public static final BitSet FOLLOW_NAME_in_slot_name_value_pair1328 = new BitSet(new long[]{0x00000000038104D0L});
+    public static final BitSet FOLLOW_VAR_in_slot_name_value_pair1339 = new BitSet(new long[]{0x0000000000000100L});
+    public static final BitSet FOLLOW_STRING_in_slot_name_value_pair1357 = new BitSet(new long[]{0x0000000000000100L});
+    public static final BitSet FOLLOW_NAME_in_slot_name_value_pair1372 = new BitSet(new long[]{0x0000000000000100L});
+    public static final BitSet FOLLOW_FLOAT_in_slot_name_value_pair1389 = new BitSet(new long[]{0x0000000000000100L});
+    public static final BitSet FOLLOW_INT_in_slot_name_value_pair1404 = new BitSet(new long[]{0x0000000000000100L});
+    public static final BitSet FOLLOW_BOOL_in_slot_name_value_pair1424 = new BitSet(new long[]{0x0000000000000100L});
+    public static final BitSet FOLLOW_NULL_in_slot_name_value_pair1446 = new BitSet(new long[]{0x0000000000000100L});
+    public static final BitSet FOLLOW_function_in_slot_name_value_pair1462 = new BitSet(new long[]{0x0000000000000100L});
+    public static final BitSet FOLLOW_RIGHT_PAREN_in_slot_name_value_pair1499 = new BitSet(new long[]{0x0000000000000002L});
+    public static final BitSet FOLLOW_STRING_in_literal1528 = new BitSet(new long[]{0x0000000000000002L});
+    public static final BitSet FOLLOW_NAME_in_literal1541 = new BitSet(new long[]{0x0000000000000002L});
+    public static final BitSet FOLLOW_INT_in_literal1557 = new BitSet(new long[]{0x0000000000000002L});
+    public static final BitSet FOLLOW_FLOAT_in_literal1572 = new BitSet(new long[]{0x0000000000000002L});
+    public static final BitSet FOLLOW_BOOL_in_literal1585 = new BitSet(new long[]{0x0000000000000002L});
+    public static final BitSet FOLLOW_NULL_in_literal1599 = new BitSet(new long[]{0x0000000000000002L});
 
 }
\ No newline at end of file

Modified: labs/jbossrules/trunk/drools-compiler/src/main/resources/org/drools/clp/CLP.g
===================================================================
--- labs/jbossrules/trunk/drools-compiler/src/main/resources/org/drools/clp/CLP.g	2007-03-15 18:43:34 UTC (rev 10239)
+++ labs/jbossrules/trunk/drools-compiler/src/main/resources/org/drools/clp/CLP.g	2007-03-15 18:47:56 UTC (rev 10240)
@@ -19,9 +19,6 @@
 	private DescrFactory factory = new DescrFactory();
 	private boolean parserDebug = false;
 	
-	// THE FOLLOWING LINE IS A DUMMY ATTRIBUTE TO WORK AROUND AN ANTLR BUG
-	private BaseDescr from = null;
-	
 	public void setParserDebug(boolean parserDebug) {
 		this.parserDebug = parserDebug;
 	}
@@ -168,13 +165,19 @@
 	: ';'?
 	;
 
-/*
+
 compilation_unit
-	:	prolog 
+	:	
 		( statement )+
 	;
-	
-prolog
+
+statement
+	:
+	/* later we add the other possible statements here */
+	( rule /* do something with the returned rule here */)
+	;
+		
+/* prolog
 	@init {
 		String packageName = "";
 	}
@@ -217,7 +220,7 @@
 	      }
 	:	loc=LEFT_PAREN 
 		
-		DEFRULE ruleName=SYMBOL
+		DEFRULE ruleName=NAME
 	  	{ 	  			  		
 	  		debug( "start rule: " + ruleName.getText() );
 	  		String ruleStr = ruleName.getText();
@@ -249,7 +252,7 @@
 		}
 		ruleAttribute[rule]
 		
-		lhs[lhs]*
+		ce[lhs]*
 		
 		'=>'
 		
@@ -262,7 +265,7 @@
 ruleAttribute[RuleDescr rule]
 	:
 		( LEFT_PAREN 'declare'
-			LEFT_PAREN d=salience { rule.addAttribute( d ); } RIGHT_PAREN
+			( LEFT_PAREN d=salience { rule.addAttribute( d ); } RIGHT_PAREN )?
 		RIGHT_PAREN )?
 	;	
 
@@ -280,8 +283,8 @@
 		}
 	;
 		
-/* lhs is slightly different to ce as lhs allows pattern bindings, ce doesn't */
-lhs[ConditionalElementDescr in_ce]
+
+ce[ConditionalElementDescr in_ce]
 	:	(   and_ce[in_ce]	
 		  | or_ce[in_ce]
 		  | not_ce[in_ce]
@@ -302,17 +305,6 @@
 	  function[context]* { rule.setConsequence( engine ); }		
 	;	
 	
-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]
-	    )
-	;
-	
-	
 and_ce[ConditionalElementDescr in_ce]
     @init {
         AndDescr andDescr= null;        
@@ -322,7 +314,7 @@
 	    	andDescr = new AndDescr();
 			in_ce.addDescr( andDescr );
 		}
-		ce[andDescr]*		 
+		ce[andDescr]+		 
 		RIGHT_PAREN					
 	;	
 	
@@ -335,7 +327,7 @@
 	    	orDescr = new OrDescr();
 			in_ce.addDescr( orDescr );
 		}
-		ce[orDescr]*		 
+		ce[orDescr]+		 
 		RIGHT_PAREN					
 	;	
 	
@@ -348,7 +340,7 @@
 			notDescr = new NotDescr();
 		    in_ce.addDescr( notDescr );
 		}
-		ce[notDescr]?		 
+		ce[notDescr]		 
 		RIGHT_PAREN					
 	;		
 	
@@ -361,7 +353,7 @@
 		    existsDescr = new ExistsDescr();
 		    in_ce.addDescr( existsDescr );
 		}
-		ce[existsDescr]?		 
+		ce[existsDescr]		 
 		RIGHT_PAREN					
 	;		
 
@@ -387,7 +379,7 @@
         ColumnDescr column = null;
     }
 	:	LEFT_PAREN 
-		name=SYMBOL {
+		name=NAME {
 			column = new ColumnDescr(name.getText());
 			in_ce.addDescr( column );
 		}
@@ -405,9 +397,8 @@
 	:	var=VAR {
 			identifier = var.getText();
 		}
-		'<-' 
-		LEFT_PAREN 
-		name=SYMBOL {
+		ASSIGN_OP LEFT_PAREN name=NAME 
+		{
 			column = new ColumnDescr(name.getText());
 			column.setIdentifier( identifier );
 			in_ce.addDescr( column );	    
@@ -423,40 +414,43 @@
 		FieldConstraintDescr fc = null;
 		String op = "==";
 	}    
-	:	LEFT_PAREN 
-		f=SYMBOL {
+	:	
+		LEFT_PAREN f=NAME 
+		{
 			fc = new FieldConstraintDescr(f.getText());
 			fc.setLocation( offset(f.getLine()), f.getCharPositionInLine() );
 			fc.setStartCharacter( ((CommonToken)f).getStartIndex() );
 			column.addDescr( fc );			
 		}	  
 		
-		restriction[fc, column] 
-		(
-		  connective[fc]	      
-	      restriction[fc, column]      	      
-		)*
+		connected_constraint[fc, column] 
 		RIGHT_PAREN		
 	;
 	
-connective	[FieldConstraintDescr fc]
-	:	(	AMPERSAND { fc.addRestriction(new RestrictionConnectiveDescr(RestrictionConnectiveDescr.AND)); }
-	    	| PIPE {fc.addRestriction(new RestrictionConnectiveDescr(RestrictionConnectiveDescr.OR)); }	      
-		)		
-	;
+connected_constraint[FieldConstraintDescr fc, ColumnDescr column]
+	:
+	restriction[fc, column]
+	( 
+	    AMPERSAND { fc.addRestriction(new RestrictionConnectiveDescr(RestrictionConnectiveDescr.AND)); }
+	    connected_constraint[fc, column]
+	| 
+	    PIPE {fc.addRestriction(new RestrictionConnectiveDescr(RestrictionConnectiveDescr.OR)); }
+	    connected_constraint[fc, column]
+	)?
+	;	
 	
 restriction[FieldConstraintDescr fc, ColumnDescr column]
 	@init {
 			String op = "==";
 	}
 	:	(TILDE{op = "!=";})?	 	  	 
-		(		predicate_constraint[op, column]	  	  	
-	  	    |	return_value_restriction[op, fc]
-	  	  	|	variable_restriction[op, fc]
-	  	    | 	lc=literal_restriction {
-     	    	fc.addRestriction( new LiteralRestrictionDescr(op, lc, true) );
-		      	op = "==";
-		      } 	  	  	  
+		(	predicate_constraint[op, column]	  	  	
+	  	|	return_value_restriction[op, fc]
+	  	|	variable_restriction[op, fc]
+	  	| 	lc=literal_restriction {
+     	    			fc.addRestriction( new LiteralRestrictionDescr(op, lc, true) );
+		      		op = "==";
+		        } 	  	  	  
 		)		
 	;		
 
@@ -465,7 +459,7 @@
    		ExecutionEngine engine = new CLPPredicate();
 		ExecutionBuildContext context = new ExecutionBuildContext( engine );    
     }
-	:	':'
+	:	COLON
 		function[context] {	
 			column.addDescr( new PredicateDescr( engine ) );
 		}	
@@ -477,7 +471,7 @@
 		ExecutionEngine engine = new CLPReturnValue();
 		ExecutionBuildContext context = new ExecutionBuildContext( engine );
 	}
-	:	'=' 
+	:	EQUALS 
 		function[context] {					
 			fc.addRestriction( new ReturnValueRestrictionDescr (op, engine ) );
 		}		
@@ -505,7 +499,7 @@
 	    FunctionFactory factory = FunctionFactory.getInstance();
 	}
 	:	LEFT_PAREN
-		name=function_name {
+		name=NAME {
 			if ( name.getText().equals("bind") ) {
 		  		context.createLocalVariable( name.getText() );
 			}
@@ -537,7 +531,7 @@
 	:
 		(		t=VAR		{ value = context.getVariableValueHandler(t.getText() ); }
 			|	t=STRING    { value = new ObjectLiteralValue( getString( t ) ); }
-			| 	t=SYMBOL    { value = new ObjectLiteralValue( t.getText() ); }			
+			| 	t=NAME    { value = new ObjectLiteralValue( t.getText() ); }			
 			|	t=FLOAT     { value = new DoubleLiteralValue( t.getText() ); }
 			|	t=INT       { value = new LongLiteralValue( t.getText() ); }			
 			|	t=BOOL      { value = new BooleanLiteralValue( t.getText() ); }						
@@ -555,12 +549,12 @@
 	}
 	:
 		LEFT_PAREN
-		id=SYMBOL {
+		id=NAME {
 			name = id.getText();
 		}
 		(		t=VAR       { nameValuePair = new SlotNameValuePair(name, context.getVariableValueHandler( t.getText() ) ); }
 			| 	t=STRING    { nameValuePair = new SlotNameValuePair(name, new ObjectLiteralValue( getString( t ) ) ); }
-			| 	t=SYMBOL    { nameValuePair = new SlotNameValuePair(name, new ObjectLiteralValue( t.getText() ) ); }			
+			| 	t=NAME    { nameValuePair = new SlotNameValuePair(name, new ObjectLiteralValue( t.getText() ) ); }			
 			|	t=FLOAT     { nameValuePair = new SlotNameValuePair(name, new DoubleLiteralValue( t.getText() ) ); }
 			|	t=INT       { nameValuePair = new SlotNameValuePair(name, new LongLiteralValue( t.getText() ) ); }			
 			|	t=BOOL      { nameValuePair = new SlotNameValuePair(name, new BooleanLiteralValue( t.getText() ) ) ; }						
@@ -577,7 +571,7 @@
 		text = null;
 	}
 	:	(   t=STRING { text = getString( t ); } 
-		  | t=SYMBOL     { text = t.getText(); }
+		  | t=NAME     { text = t.getText(); }
 		  | t=INT    { text = t.getText(); }
 		  | t=FLOAT	 { text = t.getText(); }
 		  | t=BOOL 	 { text = t.getText(); }
@@ -585,16 +579,14 @@
 		)
 	;
 	
-function_name returns [Token tok]
-	:
-	(	t=SYMBOL	
-	|	t=MISC
-	)
-	{
-	    tok = t;
-	}
-	;
-	
+WS      :       (	' '
+                |	'\t'
+                |	'\f'
+                |	EOL
+                )
+                { $channel=HIDDEN; }
+        ;                      
+        
 DEFRULE	:	'defrule';
 OR 	:	'or';
 AND 	:	'and';
@@ -604,21 +596,10 @@
 
 NULL	:	'null';
 
+DECLARE :	'declare';        		
 
-WS      :       (	' '
-                |	'\t'
-                |	'\f'
-                |	EOL
-                )
-                { $channel=HIDDEN; }
-        ;                      
-        
-DECLARE 
-	:	'declare';        		
+SALIENCE:	'salience';
 
-SALIENCE 
-	:	'salience';
-
 fragment
 EOL 	:	     
    		(       ( '\r\n' )=> '\r\n'  // Evil DOS
@@ -666,13 +647,9 @@
 	:	('true'|'false') 
 	;
 	
-VAR 	: '?'('a'..'z'|'A'..'Z'|'_'|'$')('a'..'z'|'A'..'Z'|'_'|'0'..'9')* 
+VAR 	: '?'('a'..'z'|'A'..'Z'|'_'|'$')SYMBOL* 
         ;
 
-//ID	
-//	:	('a'..'z'|'A'..'Z'|'_'|'$')('a'..'z'|'A'..'Z'|'_'|'0'..'9')* 
-//	;
-
 SH_STYLE_SINGLE_LINE_COMMENT	
 	:	'#' ( options{greedy=false;} : .)* EOL /* ('\r')? '\n'  */
                 { $channel=HIDDEN; }
@@ -719,17 +696,23 @@
 PIPE
 	:	'|'
 	;		
+	
+ASSIGN_OP 
+	:	'<-'	
+	;
+
+COLON	:	':';
+
+EQUALS	:	'=';	
         
 MULTI_LINE_COMMENT
 	:	'/*' (options{greedy=false;} : .)* '*/'
                 { $channel=HIDDEN; }
 	;
-	
-MISC 	:
-		'!' | '@' | '$' | '%' | '^' | '*' | '_' | '-' | '+'  | '?' | ',' | '=' | '/' | '\'' | '\\' | 
-		'<' | '>' | '<=' | '>=' 
-	;		
 
+NAME	:	SYMBOL	;
+	
+fragment	
 SYMBOL
 	:	((~(' '|'\t'|'\n'|'\r'|'"'|'('|')'|';'|'&'|'|'|'~'|'?'|'$'))|('$' ~('?'|' '|'\t'|'\n'|'\r'|'"'|'('|')'|';'|'&'|'|'|'~'|'<'))) 
 	         (~(' '|'\t'|'\n'|'\r'|'"'|'('|')'|';'|'&'|'|'|'~'|'<'|'?'))*




More information about the jboss-svn-commits mailing list