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

jboss-svn-commits at lists.jboss.org jboss-svn-commits at lists.jboss.org
Mon Mar 12 21:38:33 EDT 2007


Author: tirelli
Date: 2007-03-12 21:38:33 -0400 (Mon, 12 Mar 2007)
New Revision: 10140

Modified:
   labs/jbossrules/trunk/drools-compiler/src/main/java/org/drools/clp/BaseFunction.java
   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
   labs/jbossrules/trunk/drools-compiler/src/test/java/org/drools/clp/ClpParserTest.java
Log:
JBRULES-720: developing CLIPS grammar

Modified: labs/jbossrules/trunk/drools-compiler/src/main/java/org/drools/clp/BaseFunction.java
===================================================================
--- labs/jbossrules/trunk/drools-compiler/src/main/java/org/drools/clp/BaseFunction.java	2007-03-12 23:43:00 UTC (rev 10139)
+++ labs/jbossrules/trunk/drools-compiler/src/main/java/org/drools/clp/BaseFunction.java	2007-03-13 01:38:33 UTC (rev 10140)
@@ -7,16 +7,20 @@
     protected ValueHandler[] parameters;
     
     public BaseFunction() {
-        
+        this.parameters = new ValueHandler[0];
     }
     
     public BaseFunction(ValueHandler[] parameters) {
-        this.parameters = parameters;
+        if( parameters == null ) {
+            this.parameters = new ValueHandler[0];
+        } else {
+            this.parameters = parameters;
+        }
     }
     
     public void addParameter(ValueHandler valueHandler) {
-        ValueHandler[] temp = new ValueHandler[ parameters.length ];
-        System.arraycopy( this.parameters, 0, temp, 0, this.parameters.length -1 );
+        ValueHandler[] temp = new ValueHandler[ parameters.length + 1 ];
+        System.arraycopy( this.parameters, 0, temp, 0, this.parameters.length );
         temp[ temp.length - 1] = valueHandler;
         this.parameters = temp;          
     }

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-12 23:43:00 UTC (rev 10139)
+++ labs/jbossrules/trunk/drools-compiler/src/main/java/org/drools/clp/CLPLexer.java	2007-03-13 01:38:33 UTC (rev 10140)
@@ -1,4 +1,4 @@
-// $ANTLR 3.0b7 C:\\dev\\jbossrules\\trunk\\drools-compiler\\src\\main\\resources\\org\\drools\\clp\\CLP.g 2007-03-12 19:19:14
+// $ANTLR 3.0b5 D:\\workspace\\jboss\\jbossrules\\drools-compiler\\src\\main\\resources\\org\\drools\\clp\\CLP.g 2007-03-12 22:15:39
 
 	package org.drools.clp;
 
@@ -12,61 +12,62 @@
 public class CLPLexer extends Lexer {
     public static final int EXISTS=10;
     public static final int LEFT_PAREN=4;
-    public static final int RIGHT_CURLY=30;
-    public static final int BOOL=16;
-    public static final int T33=33;
-    public static final int DEFRULE=18;
-    public static final int HexDigit=22;
-    public static final int T36=36;
-    public static final int WS=20;
-    public static final int MISC=32;
-    public static final int STRING=13;
-    public static final int FLOAT=14;
+    public static final int RIGHT_CURLY=35;
+    public static final int BOOL=19;
+    public static final int DEFRULE=23;
+    public static final int HexDigit=27;
+    public static final int WS=25;
+    public static final int MISC=21;
+    public static final int STRING=16;
+    public static final int FLOAT=17;
     public static final int T40=40;
-    public static final int T35=35;
+    public static final int TILDE=15;
     public static final int OR=8;
-    public static final int T34=34;
+    public static final int PIPE=14;
     public static final int VAR=12;
-    public static final int UnicodeEscape=23;
+    public static final int UnicodeEscape=28;
     public static final int AND=7;
     public static final int T37=37;
-    public static final int EscapeSequence=21;
-    public static final int INT=15;
+    public static final int EscapeSequence=26;
+    public static final int INT=18;
     public static final int EOF=-1;
-    public static final int EOL=19;
-    public static final int NULL=17;
-    public static final int LEFT_SQUARE=27;
-    public static final int Tokens=41;
-    public static final int OctalEscape=24;
-    public static final int SH_STYLE_SINGLE_LINE_COMMENT=25;
-    public static final int MULTI_LINE_COMMENT=31;
+    public static final int NULL=20;
+    public static final int EOL=24;
+    public static final int SYMBOL=22;
+    public static final int LEFT_SQUARE=32;
+    public static final int Tokens=42;
+    public static final int OctalEscape=29;
+    public static final int SH_STYLE_SINGLE_LINE_COMMENT=30;
+    public static final int MULTI_LINE_COMMENT=36;
+    public static final int AMPERSAND=13;
     public static final int TEST=11;
     public static final int T38=38;
+    public static final int T41=41;
     public static final int NOT=9;
     public static final int RIGHT_PAREN=6;
-    public static final int LEFT_CURLY=29;
+    public static final int LEFT_CURLY=34;
     public static final int T39=39;
-    public static final int RIGHT_SQUARE=28;
+    public static final int RIGHT_SQUARE=33;
     public static final int ID=5;
-    public static final int C_STYLE_SINGLE_LINE_COMMENT=26;
+    public static final int C_STYLE_SINGLE_LINE_COMMENT=31;
     public CLPLexer() {;} 
     public CLPLexer(CharStream input) {
         super(input);
-        ruleMemo = new HashMap[39+1];
+        ruleMemo = new HashMap[40+1];
      }
-    public String getGrammarFileName() { return "C:\\dev\\jbossrules\\trunk\\drools-compiler\\src\\main\\resources\\org\\drools\\clp\\CLP.g"; }
+    public String getGrammarFileName() { return "D:\\workspace\\jboss\\jbossrules\\drools-compiler\\src\\main\\resources\\org\\drools\\clp\\CLP.g"; }
 
-    // $ANTLR start T33
-    public void mT33() throws RecognitionException {
+    // $ANTLR start T37
+    public void mT37() throws RecognitionException {
         try {
             ruleNestingLevel++;
-            int _type = T33;
+            int _type = T37;
             int _start = getCharIndex();
             int _line = getLine();
             int _charPosition = getCharPositionInLine();
             int _channel = Token.DEFAULT_CHANNEL;
-            // C:\\dev\\jbossrules\\trunk\\drools-compiler\\src\\main\\resources\\org\\drools\\clp\\CLP.g:6:7: ( ';' )
-            // C:\\dev\\jbossrules\\trunk\\drools-compiler\\src\\main\\resources\\org\\drools\\clp\\CLP.g:6:7: ';'
+            // D:\\workspace\\jboss\\jbossrules\\drools-compiler\\src\\main\\resources\\org\\drools\\clp\\CLP.g:6:7: ( ';' )
+            // D:\\workspace\\jboss\\jbossrules\\drools-compiler\\src\\main\\resources\\org\\drools\\clp\\CLP.g:6:7: ';'
             {
             match(';'); if (failed) return ;
 
@@ -80,25 +81,24 @@
                       }
 
                       
-            }
-        }
+            }    }
         finally {
             ruleNestingLevel--;
         }
     }
-    // $ANTLR end T33
+    // $ANTLR end T37
 
-    // $ANTLR start T34
-    public void mT34() throws RecognitionException {
+    // $ANTLR start T38
+    public void mT38() throws RecognitionException {
         try {
             ruleNestingLevel++;
-            int _type = T34;
+            int _type = T38;
             int _start = getCharIndex();
             int _line = getLine();
             int _charPosition = getCharPositionInLine();
             int _channel = Token.DEFAULT_CHANNEL;
-            // C:\\dev\\jbossrules\\trunk\\drools-compiler\\src\\main\\resources\\org\\drools\\clp\\CLP.g:7:7: ( '<-' )
-            // C:\\dev\\jbossrules\\trunk\\drools-compiler\\src\\main\\resources\\org\\drools\\clp\\CLP.g:7:7: '<-'
+            // D:\\workspace\\jboss\\jbossrules\\drools-compiler\\src\\main\\resources\\org\\drools\\clp\\CLP.g:7:7: ( '<-' )
+            // D:\\workspace\\jboss\\jbossrules\\drools-compiler\\src\\main\\resources\\org\\drools\\clp\\CLP.g:7:7: '<-'
             {
             match("<-"); if (failed) return ;
 
@@ -113,122 +113,25 @@
                       }
 
                       
-            }
-        }
+            }    }
         finally {
             ruleNestingLevel--;
         }
     }
-    // $ANTLR end T34
+    // $ANTLR end T38
 
-    // $ANTLR start T35
-    public void mT35() throws RecognitionException {
+    // $ANTLR start T39
+    public void mT39() throws RecognitionException {
         try {
             ruleNestingLevel++;
-            int _type = T35;
+            int _type = T39;
             int _start = getCharIndex();
             int _line = getLine();
             int _charPosition = getCharPositionInLine();
             int _channel = Token.DEFAULT_CHANNEL;
-            // C:\\dev\\jbossrules\\trunk\\drools-compiler\\src\\main\\resources\\org\\drools\\clp\\CLP.g:8:7: ( '&' )
-            // C:\\dev\\jbossrules\\trunk\\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: ':'
             {
-            match('&'); if (failed) return ;
-
-            }
-
-
-            if ( backtracking==0 ) {
-
-                      if ( token==null && ruleNestingLevel==1 ) {
-                          emit(_type,_line,_charPosition,_channel,_start,getCharIndex()-1);
-                      }
-
-                      
-            }
-        }
-        finally {
-            ruleNestingLevel--;
-        }
-    }
-    // $ANTLR end T35
-
-    // $ANTLR start T36
-    public void mT36() throws RecognitionException {
-        try {
-            ruleNestingLevel++;
-            int _type = T36;
-            int _start = getCharIndex();
-            int _line = getLine();
-            int _charPosition = getCharPositionInLine();
-            int _channel = Token.DEFAULT_CHANNEL;
-            // C:\\dev\\jbossrules\\trunk\\drools-compiler\\src\\main\\resources\\org\\drools\\clp\\CLP.g:9:7: ( '|' )
-            // C:\\dev\\jbossrules\\trunk\\drools-compiler\\src\\main\\resources\\org\\drools\\clp\\CLP.g:9:7: '|'
-            {
-            match('|'); if (failed) return ;
-
-            }
-
-
-            if ( backtracking==0 ) {
-
-                      if ( token==null && ruleNestingLevel==1 ) {
-                          emit(_type,_line,_charPosition,_channel,_start,getCharIndex()-1);
-                      }
-
-                      
-            }
-        }
-        finally {
-            ruleNestingLevel--;
-        }
-    }
-    // $ANTLR end T36
-
-    // $ANTLR start T37
-    public void mT37() throws RecognitionException {
-        try {
-            ruleNestingLevel++;
-            int _type = T37;
-            int _start = getCharIndex();
-            int _line = getLine();
-            int _charPosition = getCharPositionInLine();
-            int _channel = Token.DEFAULT_CHANNEL;
-            // C:\\dev\\jbossrules\\trunk\\drools-compiler\\src\\main\\resources\\org\\drools\\clp\\CLP.g:10:7: ( '~' )
-            // C:\\dev\\jbossrules\\trunk\\drools-compiler\\src\\main\\resources\\org\\drools\\clp\\CLP.g:10:7: '~'
-            {
-            match('~'); if (failed) return ;
-
-            }
-
-
-            if ( backtracking==0 ) {
-
-                      if ( token==null && ruleNestingLevel==1 ) {
-                          emit(_type,_line,_charPosition,_channel,_start,getCharIndex()-1);
-                      }
-
-                      
-            }
-        }
-        finally {
-            ruleNestingLevel--;
-        }
-    }
-    // $ANTLR end T37
-
-    // $ANTLR start T38
-    public void mT38() throws RecognitionException {
-        try {
-            ruleNestingLevel++;
-            int _type = T38;
-            int _start = getCharIndex();
-            int _line = getLine();
-            int _charPosition = getCharPositionInLine();
-            int _channel = Token.DEFAULT_CHANNEL;
-            // C:\\dev\\jbossrules\\trunk\\drools-compiler\\src\\main\\resources\\org\\drools\\clp\\CLP.g:11:7: ( ':' )
-            // C:\\dev\\jbossrules\\trunk\\drools-compiler\\src\\main\\resources\\org\\drools\\clp\\CLP.g:11:7: ':'
-            {
             match(':'); if (failed) return ;
 
             }
@@ -241,25 +144,24 @@
                       }
 
                       
-            }
-        }
+            }    }
         finally {
             ruleNestingLevel--;
         }
     }
-    // $ANTLR end T38
+    // $ANTLR end T39
 
-    // $ANTLR start T39
-    public void mT39() throws RecognitionException {
+    // $ANTLR start T40
+    public void mT40() throws RecognitionException {
         try {
             ruleNestingLevel++;
-            int _type = T39;
+            int _type = T40;
             int _start = getCharIndex();
             int _line = getLine();
             int _charPosition = getCharPositionInLine();
             int _channel = Token.DEFAULT_CHANNEL;
-            // C:\\dev\\jbossrules\\trunk\\drools-compiler\\src\\main\\resources\\org\\drools\\clp\\CLP.g:12:7: ( '=' )
-            // C:\\dev\\jbossrules\\trunk\\drools-compiler\\src\\main\\resources\\org\\drools\\clp\\CLP.g:12: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:9:7: '='
             {
             match('='); if (failed) return ;
 
@@ -273,25 +175,24 @@
                       }
 
                       
-            }
-        }
+            }    }
         finally {
             ruleNestingLevel--;
         }
     }
-    // $ANTLR end T39
+    // $ANTLR end T40
 
-    // $ANTLR start T40
-    public void mT40() throws RecognitionException {
+    // $ANTLR start T41
+    public void mT41() throws RecognitionException {
         try {
             ruleNestingLevel++;
-            int _type = T40;
+            int _type = T41;
             int _start = getCharIndex();
             int _line = getLine();
             int _charPosition = getCharPositionInLine();
             int _channel = Token.DEFAULT_CHANNEL;
-            // C:\\dev\\jbossrules\\trunk\\drools-compiler\\src\\main\\resources\\org\\drools\\clp\\CLP.g:13:7: ( 'modify' )
-            // C:\\dev\\jbossrules\\trunk\\drools-compiler\\src\\main\\resources\\org\\drools\\clp\\CLP.g:13:7: 'modify'
+            // D:\\workspace\\jboss\\jbossrules\\drools-compiler\\src\\main\\resources\\org\\drools\\clp\\CLP.g:10:7: ( 'modify' )
+            // D:\\workspace\\jboss\\jbossrules\\drools-compiler\\src\\main\\resources\\org\\drools\\clp\\CLP.g:10:7: 'modify'
             {
             match("modify"); if (failed) return ;
 
@@ -306,13 +207,12 @@
                       }
 
                       
-            }
-        }
+            }    }
         finally {
             ruleNestingLevel--;
         }
     }
-    // $ANTLR end T40
+    // $ANTLR end T41
 
     // $ANTLR start DEFRULE
     public void mDEFRULE() throws RecognitionException {
@@ -323,8 +223,8 @@
             int _line = getLine();
             int _charPosition = getCharPositionInLine();
             int _channel = Token.DEFAULT_CHANNEL;
-            // C:\\dev\\jbossrules\\trunk\\drools-compiler\\src\\main\\resources\\org\\drools\\clp\\CLP.g:533:11: ( 'defrule' )
-            // C:\\dev\\jbossrules\\trunk\\drools-compiler\\src\\main\\resources\\org\\drools\\clp\\CLP.g:533:11: 'defrule'
+            // D:\\workspace\\jboss\\jbossrules\\drools-compiler\\src\\main\\resources\\org\\drools\\clp\\CLP.g:544:11: ( 'defrule' )
+            // D:\\workspace\\jboss\\jbossrules\\drools-compiler\\src\\main\\resources\\org\\drools\\clp\\CLP.g:544:11: 'defrule'
             {
             match("defrule"); if (failed) return ;
 
@@ -339,8 +239,7 @@
                       }
 
                       
-            }
-        }
+            }    }
         finally {
             ruleNestingLevel--;
         }
@@ -356,8 +255,8 @@
             int _line = getLine();
             int _charPosition = getCharPositionInLine();
             int _channel = Token.DEFAULT_CHANNEL;
-            // C:\\dev\\jbossrules\\trunk\\drools-compiler\\src\\main\\resources\\org\\drools\\clp\\CLP.g:534:8: ( 'or' )
-            // C:\\dev\\jbossrules\\trunk\\drools-compiler\\src\\main\\resources\\org\\drools\\clp\\CLP.g:534:8: 'or'
+            // D:\\workspace\\jboss\\jbossrules\\drools-compiler\\src\\main\\resources\\org\\drools\\clp\\CLP.g:545:7: ( 'or' )
+            // D:\\workspace\\jboss\\jbossrules\\drools-compiler\\src\\main\\resources\\org\\drools\\clp\\CLP.g:545:7: 'or'
             {
             match("or"); if (failed) return ;
 
@@ -372,8 +271,7 @@
                       }
 
                       
-            }
-        }
+            }    }
         finally {
             ruleNestingLevel--;
         }
@@ -389,8 +287,8 @@
             int _line = getLine();
             int _charPosition = getCharPositionInLine();
             int _channel = Token.DEFAULT_CHANNEL;
-            // C:\\dev\\jbossrules\\trunk\\drools-compiler\\src\\main\\resources\\org\\drools\\clp\\CLP.g:535:8: ( 'and' )
-            // C:\\dev\\jbossrules\\trunk\\drools-compiler\\src\\main\\resources\\org\\drools\\clp\\CLP.g:535:8: 'and'
+            // D:\\workspace\\jboss\\jbossrules\\drools-compiler\\src\\main\\resources\\org\\drools\\clp\\CLP.g:546:8: ( 'and' )
+            // D:\\workspace\\jboss\\jbossrules\\drools-compiler\\src\\main\\resources\\org\\drools\\clp\\CLP.g:546:8: 'and'
             {
             match("and"); if (failed) return ;
 
@@ -405,8 +303,7 @@
                       }
 
                       
-            }
-        }
+            }    }
         finally {
             ruleNestingLevel--;
         }
@@ -422,8 +319,8 @@
             int _line = getLine();
             int _charPosition = getCharPositionInLine();
             int _channel = Token.DEFAULT_CHANNEL;
-            // C:\\dev\\jbossrules\\trunk\\drools-compiler\\src\\main\\resources\\org\\drools\\clp\\CLP.g:536:8: ( 'not' )
-            // C:\\dev\\jbossrules\\trunk\\drools-compiler\\src\\main\\resources\\org\\drools\\clp\\CLP.g:536:8: 'not'
+            // D:\\workspace\\jboss\\jbossrules\\drools-compiler\\src\\main\\resources\\org\\drools\\clp\\CLP.g:547:8: ( 'not' )
+            // D:\\workspace\\jboss\\jbossrules\\drools-compiler\\src\\main\\resources\\org\\drools\\clp\\CLP.g:547:8: 'not'
             {
             match("not"); if (failed) return ;
 
@@ -438,8 +335,7 @@
                       }
 
                       
-            }
-        }
+            }    }
         finally {
             ruleNestingLevel--;
         }
@@ -455,8 +351,8 @@
             int _line = getLine();
             int _charPosition = getCharPositionInLine();
             int _channel = Token.DEFAULT_CHANNEL;
-            // C:\\dev\\jbossrules\\trunk\\drools-compiler\\src\\main\\resources\\org\\drools\\clp\\CLP.g:537:11: ( 'exists' )
-            // C:\\dev\\jbossrules\\trunk\\drools-compiler\\src\\main\\resources\\org\\drools\\clp\\CLP.g:537:11: 'exists'
+            // D:\\workspace\\jboss\\jbossrules\\drools-compiler\\src\\main\\resources\\org\\drools\\clp\\CLP.g:548:11: ( 'exists' )
+            // D:\\workspace\\jboss\\jbossrules\\drools-compiler\\src\\main\\resources\\org\\drools\\clp\\CLP.g:548:11: 'exists'
             {
             match("exists"); if (failed) return ;
 
@@ -471,8 +367,7 @@
                       }
 
                       
-            }
-        }
+            }    }
         finally {
             ruleNestingLevel--;
         }
@@ -488,8 +383,8 @@
             int _line = getLine();
             int _charPosition = getCharPositionInLine();
             int _channel = Token.DEFAULT_CHANNEL;
-            // C:\\dev\\jbossrules\\trunk\\drools-compiler\\src\\main\\resources\\org\\drools\\clp\\CLP.g:538:9: ( 'test' )
-            // C:\\dev\\jbossrules\\trunk\\drools-compiler\\src\\main\\resources\\org\\drools\\clp\\CLP.g:538:9: 'test'
+            // D:\\workspace\\jboss\\jbossrules\\drools-compiler\\src\\main\\resources\\org\\drools\\clp\\CLP.g:549:9: ( 'test' )
+            // D:\\workspace\\jboss\\jbossrules\\drools-compiler\\src\\main\\resources\\org\\drools\\clp\\CLP.g:549:9: 'test'
             {
             match("test"); if (failed) return ;
 
@@ -504,123 +399,13 @@
                       }
 
                       
-            }
-        }
+            }    }
         finally {
             ruleNestingLevel--;
         }
     }
     // $ANTLR end TEST
 
-    // $ANTLR start VAR
-    public void mVAR() throws RecognitionException {
-        try {
-            ruleNestingLevel++;
-            int _type = VAR;
-            int _start = getCharIndex();
-            int _line = getLine();
-            int _charPosition = getCharPositionInLine();
-            int _channel = Token.DEFAULT_CHANNEL;
-            // C:\\dev\\jbossrules\\trunk\\drools-compiler\\src\\main\\resources\\org\\drools\\clp\\CLP.g:540:8: ( '?' ID )
-            // C:\\dev\\jbossrules\\trunk\\drools-compiler\\src\\main\\resources\\org\\drools\\clp\\CLP.g:540:8: '?' ID
-            {
-            match('?'); if (failed) return ;
-            mID(); if (failed) return ;
-
-            }
-
-
-            if ( backtracking==0 ) {
-
-                      if ( token==null && ruleNestingLevel==1 ) {
-                          emit(_type,_line,_charPosition,_channel,_start,getCharIndex()-1);
-                      }
-
-                      
-            }
-        }
-        finally {
-            ruleNestingLevel--;
-        }
-    }
-    // $ANTLR end VAR
-
-    // $ANTLR start ID
-    public void mID() throws RecognitionException {
-        try {
-            ruleNestingLevel++;
-            int _type = ID;
-            int _start = getCharIndex();
-            int _line = getLine();
-            int _charPosition = getCharPositionInLine();
-            int _channel = Token.DEFAULT_CHANNEL;
-            // C:\\dev\\jbossrules\\trunk\\drools-compiler\\src\\main\\resources\\org\\drools\\clp\\CLP.g:544:4: ( ('a'..'z'|'A'..'Z'|'_'|'$'|'\\u00c0'..'\\u00ff') ( ('a'..'z'|'A'..'Z'|'_'|'0'..'9'|'\\u00c0'..'\\u00ff'))* )
-            // C:\\dev\\jbossrules\\trunk\\drools-compiler\\src\\main\\resources\\org\\drools\\clp\\CLP.g:544:4: ('a'..'z'|'A'..'Z'|'_'|'$'|'\\u00c0'..'\\u00ff') ( ('a'..'z'|'A'..'Z'|'_'|'0'..'9'|'\\u00c0'..'\\u00ff'))*
-            {
-            if ( input.LA(1)=='$'||(input.LA(1)>='A' && input.LA(1)<='Z')||input.LA(1)=='_'||(input.LA(1)>='a' && input.LA(1)<='z')||(input.LA(1)>='\u00C0' && input.LA(1)<='\u00FF') ) {
-                input.consume();
-            failed=false;
-            }
-            else {
-                if (backtracking>0) {failed=true; return ;}
-                MismatchedSetException mse =
-                    new MismatchedSetException(null,input);
-                recover(mse);    throw mse;
-            }
-
-            // C:\\dev\\jbossrules\\trunk\\drools-compiler\\src\\main\\resources\\org\\drools\\clp\\CLP.g:544:50: ( ('a'..'z'|'A'..'Z'|'_'|'0'..'9'|'\\u00c0'..'\\u00ff'))*
-            loop1:
-            do {
-                int alt1=2;
-                int LA1_0 = input.LA(1);
-                if ( ((LA1_0>='0' && LA1_0<='9')||(LA1_0>='A' && LA1_0<='Z')||LA1_0=='_'||(LA1_0>='a' && LA1_0<='z')||(LA1_0>='\u00C0' && LA1_0<='\u00FF')) ) {
-                    alt1=1;
-                }
-
-
-                switch (alt1) {
-            	case 1 :
-            	    // C:\\dev\\jbossrules\\trunk\\drools-compiler\\src\\main\\resources\\org\\drools\\clp\\CLP.g:544:51: ('a'..'z'|'A'..'Z'|'_'|'0'..'9'|'\\u00c0'..'\\u00ff')
-            	    {
-            	    if ( (input.LA(1)>='0' && input.LA(1)<='9')||(input.LA(1)>='A' && input.LA(1)<='Z')||input.LA(1)=='_'||(input.LA(1)>='a' && input.LA(1)<='z')||(input.LA(1)>='\u00C0' && input.LA(1)<='\u00FF') ) {
-            	        input.consume();
-            	    failed=false;
-            	    }
-            	    else {
-            	        if (backtracking>0) {failed=true; return ;}
-            	        MismatchedSetException mse =
-            	            new MismatchedSetException(null,input);
-            	        recover(mse);    throw mse;
-            	    }
-
-
-            	    }
-            	    break;
-
-            	default :
-            	    break loop1;
-                }
-            } while (true);
-
-
-            }
-
-
-            if ( backtracking==0 ) {
-
-                      if ( token==null && ruleNestingLevel==1 ) {
-                          emit(_type,_line,_charPosition,_channel,_start,getCharIndex()-1);
-                      }
-
-                      
-            }
-        }
-        finally {
-            ruleNestingLevel--;
-        }
-    }
-    // $ANTLR end ID
-
     // $ANTLR start NULL
     public void mNULL() throws RecognitionException {
         try {
@@ -630,8 +415,8 @@
             int _line = getLine();
             int _charPosition = getCharPositionInLine();
             int _channel = Token.DEFAULT_CHANNEL;
-            // C:\\dev\\jbossrules\\trunk\\drools-compiler\\src\\main\\resources\\org\\drools\\clp\\CLP.g:547:8: ( 'null' )
-            // C:\\dev\\jbossrules\\trunk\\drools-compiler\\src\\main\\resources\\org\\drools\\clp\\CLP.g:547:8: 'null'
+            // D:\\workspace\\jboss\\jbossrules\\drools-compiler\\src\\main\\resources\\org\\drools\\clp\\CLP.g:551:8: ( 'null' )
+            // D:\\workspace\\jboss\\jbossrules\\drools-compiler\\src\\main\\resources\\org\\drools\\clp\\CLP.g:551:8: 'null'
             {
             match("null"); if (failed) return ;
 
@@ -646,8 +431,7 @@
                       }
 
                       
-            }
-        }
+            }    }
         finally {
             ruleNestingLevel--;
         }
@@ -663,57 +447,57 @@
             int _line = getLine();
             int _charPosition = getCharPositionInLine();
             int _channel = Token.DEFAULT_CHANNEL;
-            // C:\\dev\\jbossrules\\trunk\\drools-compiler\\src\\main\\resources\\org\\drools\\clp\\CLP.g:549:17: ( ( ' ' | '\\t' | '\\f' | EOL ) )
-            // C:\\dev\\jbossrules\\trunk\\drools-compiler\\src\\main\\resources\\org\\drools\\clp\\CLP.g:549:17: ( ' ' | '\\t' | '\\f' | EOL )
+            // D:\\workspace\\jboss\\jbossrules\\drools-compiler\\src\\main\\resources\\org\\drools\\clp\\CLP.g:553:17: ( ( ' ' | '\\t' | '\\f' | EOL ) )
+            // D:\\workspace\\jboss\\jbossrules\\drools-compiler\\src\\main\\resources\\org\\drools\\clp\\CLP.g:553:17: ( ' ' | '\\t' | '\\f' | EOL )
             {
-            // C:\\dev\\jbossrules\\trunk\\drools-compiler\\src\\main\\resources\\org\\drools\\clp\\CLP.g:549:17: ( ' ' | '\\t' | '\\f' | EOL )
-            int alt2=4;
+            // D:\\workspace\\jboss\\jbossrules\\drools-compiler\\src\\main\\resources\\org\\drools\\clp\\CLP.g:553:17: ( ' ' | '\\t' | '\\f' | EOL )
+            int alt1=4;
             switch ( input.LA(1) ) {
             case ' ':
-                alt2=1;
+                alt1=1;
                 break;
             case '\t':
-                alt2=2;
+                alt1=2;
                 break;
             case '\f':
-                alt2=3;
+                alt1=3;
                 break;
             case '\n':
             case '\r':
-                alt2=4;
+                alt1=4;
                 break;
             default:
                 if (backtracking>0) {failed=true; return ;}
                 NoViableAltException nvae =
-                    new NoViableAltException("549:17: ( ' ' | '\\t' | '\\f' | EOL )", 2, 0, input);
+                    new NoViableAltException("553:17: ( ' ' | '\\t' | '\\f' | EOL )", 1, 0, input);
 
                 throw nvae;
             }
 
-            switch (alt2) {
+            switch (alt1) {
                 case 1 :
-                    // C:\\dev\\jbossrules\\trunk\\drools-compiler\\src\\main\\resources\\org\\drools\\clp\\CLP.g:549:19: ' '
+                    // D:\\workspace\\jboss\\jbossrules\\drools-compiler\\src\\main\\resources\\org\\drools\\clp\\CLP.g:553:19: ' '
                     {
                     match(' '); if (failed) return ;
 
                     }
                     break;
                 case 2 :
-                    // C:\\dev\\jbossrules\\trunk\\drools-compiler\\src\\main\\resources\\org\\drools\\clp\\CLP.g:550:19: '\\t'
+                    // D:\\workspace\\jboss\\jbossrules\\drools-compiler\\src\\main\\resources\\org\\drools\\clp\\CLP.g:554:19: '\\t'
                     {
                     match('\t'); if (failed) return ;
 
                     }
                     break;
                 case 3 :
-                    // C:\\dev\\jbossrules\\trunk\\drools-compiler\\src\\main\\resources\\org\\drools\\clp\\CLP.g:551:19: '\\f'
+                    // D:\\workspace\\jboss\\jbossrules\\drools-compiler\\src\\main\\resources\\org\\drools\\clp\\CLP.g:555:19: '\\f'
                     {
                     match('\f'); if (failed) return ;
 
                     }
                     break;
                 case 4 :
-                    // C:\\dev\\jbossrules\\trunk\\drools-compiler\\src\\main\\resources\\org\\drools\\clp\\CLP.g:552:19: EOL
+                    // D:\\workspace\\jboss\\jbossrules\\drools-compiler\\src\\main\\resources\\org\\drools\\clp\\CLP.g:556:19: EOL
                     {
                     mEOL(); if (failed) return ;
 
@@ -736,8 +520,7 @@
                       }
 
                       
-            }
-        }
+            }    }
         finally {
             ruleNestingLevel--;
         }
@@ -748,33 +531,33 @@
     public void mEOL() throws RecognitionException {
         try {
             ruleNestingLevel++;
-            // C:\\dev\\jbossrules\\trunk\\drools-compiler\\src\\main\\resources\\org\\drools\\clp\\CLP.g:559:6: ( ( ( '\\r\\n' )=> '\\r\\n' | '\\r' | '\\n' ) )
-            // C:\\dev\\jbossrules\\trunk\\drools-compiler\\src\\main\\resources\\org\\drools\\clp\\CLP.g:559:6: ( ( '\\r\\n' )=> '\\r\\n' | '\\r' | '\\n' )
+            // D:\\workspace\\jboss\\jbossrules\\drools-compiler\\src\\main\\resources\\org\\drools\\clp\\CLP.g:563:6: ( ( ( '\\r\\n' )=> '\\r\\n' | '\\r' | '\\n' ) )
+            // D:\\workspace\\jboss\\jbossrules\\drools-compiler\\src\\main\\resources\\org\\drools\\clp\\CLP.g:563:6: ( ( '\\r\\n' )=> '\\r\\n' | '\\r' | '\\n' )
             {
-            // C:\\dev\\jbossrules\\trunk\\drools-compiler\\src\\main\\resources\\org\\drools\\clp\\CLP.g:559:6: ( ( '\\r\\n' )=> '\\r\\n' | '\\r' | '\\n' )
-            int alt3=3;
-            int LA3_0 = input.LA(1);
-            if ( (LA3_0=='\r') ) {
-                int LA3_1 = input.LA(2);
-                if ( (LA3_1=='\n') ) {
-                    alt3=1;
+            // D:\\workspace\\jboss\\jbossrules\\drools-compiler\\src\\main\\resources\\org\\drools\\clp\\CLP.g:563:6: ( ( '\\r\\n' )=> '\\r\\n' | '\\r' | '\\n' )
+            int alt2=3;
+            int LA2_0 = input.LA(1);
+            if ( (LA2_0=='\r') ) {
+                int LA2_1 = input.LA(2);
+                if ( (LA2_1=='\n') ) {
+                    alt2=1;
                 }
                 else {
-                    alt3=2;}
+                    alt2=2;}
             }
-            else if ( (LA3_0=='\n') ) {
-                alt3=3;
+            else if ( (LA2_0=='\n') ) {
+                alt2=3;
             }
             else {
                 if (backtracking>0) {failed=true; return ;}
                 NoViableAltException nvae =
-                    new NoViableAltException("559:6: ( ( '\\r\\n' )=> '\\r\\n' | '\\r' | '\\n' )", 3, 0, input);
+                    new NoViableAltException("563:6: ( ( '\\r\\n' )=> '\\r\\n' | '\\r' | '\\n' )", 2, 0, input);
 
                 throw nvae;
             }
-            switch (alt3) {
+            switch (alt2) {
                 case 1 :
-                    // C:\\dev\\jbossrules\\trunk\\drools-compiler\\src\\main\\resources\\org\\drools\\clp\\CLP.g:559:14: ( '\\r\\n' )=> '\\r\\n'
+                    // D:\\workspace\\jboss\\jbossrules\\drools-compiler\\src\\main\\resources\\org\\drools\\clp\\CLP.g:563:14: ( '\\r\\n' )=> '\\r\\n'
                     {
                     match("\r\n"); if (failed) return ;
 
@@ -782,14 +565,14 @@
                     }
                     break;
                 case 2 :
-                    // C:\\dev\\jbossrules\\trunk\\drools-compiler\\src\\main\\resources\\org\\drools\\clp\\CLP.g:560:25: '\\r'
+                    // D:\\workspace\\jboss\\jbossrules\\drools-compiler\\src\\main\\resources\\org\\drools\\clp\\CLP.g:564:25: '\\r'
                     {
                     match('\r'); if (failed) return ;
 
                     }
                     break;
                 case 3 :
-                    // C:\\dev\\jbossrules\\trunk\\drools-compiler\\src\\main\\resources\\org\\drools\\clp\\CLP.g:561:25: '\\n'
+                    // D:\\workspace\\jboss\\jbossrules\\drools-compiler\\src\\main\\resources\\org\\drools\\clp\\CLP.g:565:25: '\\n'
                     {
                     match('\n'); if (failed) return ;
 
@@ -817,18 +600,18 @@
             int _line = getLine();
             int _charPosition = getCharPositionInLine();
             int _channel = Token.DEFAULT_CHANNEL;
-            // C:\\dev\\jbossrules\\trunk\\drools-compiler\\src\\main\\resources\\org\\drools\\clp\\CLP.g:566:4: ( ( '-' )? ( '0' .. '9' )+ )
-            // C:\\dev\\jbossrules\\trunk\\drools-compiler\\src\\main\\resources\\org\\drools\\clp\\CLP.g:566:4: ( '-' )? ( '0' .. '9' )+
+            // D:\\workspace\\jboss\\jbossrules\\drools-compiler\\src\\main\\resources\\org\\drools\\clp\\CLP.g:570:4: ( ( '-' )? ( '0' .. '9' )+ )
+            // D:\\workspace\\jboss\\jbossrules\\drools-compiler\\src\\main\\resources\\org\\drools\\clp\\CLP.g:570:4: ( '-' )? ( '0' .. '9' )+
             {
-            // C:\\dev\\jbossrules\\trunk\\drools-compiler\\src\\main\\resources\\org\\drools\\clp\\CLP.g:566:4: ( '-' )?
-            int alt4=2;
-            int LA4_0 = input.LA(1);
-            if ( (LA4_0=='-') ) {
-                alt4=1;
+            // D:\\workspace\\jboss\\jbossrules\\drools-compiler\\src\\main\\resources\\org\\drools\\clp\\CLP.g:570:4: ( '-' )?
+            int alt3=2;
+            int LA3_0 = input.LA(1);
+            if ( (LA3_0=='-') ) {
+                alt3=1;
             }
-            switch (alt4) {
+            switch (alt3) {
                 case 1 :
-                    // C:\\dev\\jbossrules\\trunk\\drools-compiler\\src\\main\\resources\\org\\drools\\clp\\CLP.g:566:5: '-'
+                    // D:\\workspace\\jboss\\jbossrules\\drools-compiler\\src\\main\\resources\\org\\drools\\clp\\CLP.g:570:5: '-'
                     {
                     match('-'); if (failed) return ;
 
@@ -837,20 +620,20 @@
 
             }
 
-            // C:\\dev\\jbossrules\\trunk\\drools-compiler\\src\\main\\resources\\org\\drools\\clp\\CLP.g:566:10: ( '0' .. '9' )+
-            int cnt5=0;
-            loop5:
+            // D:\\workspace\\jboss\\jbossrules\\drools-compiler\\src\\main\\resources\\org\\drools\\clp\\CLP.g:570:10: ( '0' .. '9' )+
+            int cnt4=0;
+            loop4:
             do {
-                int alt5=2;
-                int LA5_0 = input.LA(1);
-                if ( ((LA5_0>='0' && LA5_0<='9')) ) {
-                    alt5=1;
+                int alt4=2;
+                int LA4_0 = input.LA(1);
+                if ( ((LA4_0>='0' && LA4_0<='9')) ) {
+                    alt4=1;
                 }
 
 
-                switch (alt5) {
+                switch (alt4) {
             	case 1 :
-            	    // C:\\dev\\jbossrules\\trunk\\drools-compiler\\src\\main\\resources\\org\\drools\\clp\\CLP.g:566:11: '0' .. '9'
+            	    // D:\\workspace\\jboss\\jbossrules\\drools-compiler\\src\\main\\resources\\org\\drools\\clp\\CLP.g:570:11: '0' .. '9'
             	    {
             	    matchRange('0','9'); if (failed) return ;
 
@@ -858,13 +641,13 @@
             	    break;
 
             	default :
-            	    if ( cnt5 >= 1 ) break loop5;
+            	    if ( cnt4 >= 1 ) break loop4;
             	    if (backtracking>0) {failed=true; return ;}
                         EarlyExitException eee =
-                            new EarlyExitException(5, input);
+                            new EarlyExitException(4, input);
                         throw eee;
                 }
-                cnt5++;
+                cnt4++;
             } while (true);
 
 
@@ -878,8 +661,7 @@
                       }
 
                       
-            }
-        }
+            }    }
         finally {
             ruleNestingLevel--;
         }
@@ -895,18 +677,18 @@
             int _line = getLine();
             int _charPosition = getCharPositionInLine();
             int _channel = Token.DEFAULT_CHANNEL;
-            // C:\\dev\\jbossrules\\trunk\\drools-compiler\\src\\main\\resources\\org\\drools\\clp\\CLP.g:570:4: ( ( '-' )? ( '0' .. '9' )+ '.' ( '0' .. '9' )+ )
-            // C:\\dev\\jbossrules\\trunk\\drools-compiler\\src\\main\\resources\\org\\drools\\clp\\CLP.g:570:4: ( '-' )? ( '0' .. '9' )+ '.' ( '0' .. '9' )+
+            // D:\\workspace\\jboss\\jbossrules\\drools-compiler\\src\\main\\resources\\org\\drools\\clp\\CLP.g:574:4: ( ( '-' )? ( '0' .. '9' )+ '.' ( '0' .. '9' )+ )
+            // D:\\workspace\\jboss\\jbossrules\\drools-compiler\\src\\main\\resources\\org\\drools\\clp\\CLP.g:574:4: ( '-' )? ( '0' .. '9' )+ '.' ( '0' .. '9' )+
             {
-            // C:\\dev\\jbossrules\\trunk\\drools-compiler\\src\\main\\resources\\org\\drools\\clp\\CLP.g:570:4: ( '-' )?
-            int alt6=2;
-            int LA6_0 = input.LA(1);
-            if ( (LA6_0=='-') ) {
-                alt6=1;
+            // D:\\workspace\\jboss\\jbossrules\\drools-compiler\\src\\main\\resources\\org\\drools\\clp\\CLP.g:574:4: ( '-' )?
+            int alt5=2;
+            int LA5_0 = input.LA(1);
+            if ( (LA5_0=='-') ) {
+                alt5=1;
             }
-            switch (alt6) {
+            switch (alt5) {
                 case 1 :
-                    // C:\\dev\\jbossrules\\trunk\\drools-compiler\\src\\main\\resources\\org\\drools\\clp\\CLP.g:570:5: '-'
+                    // D:\\workspace\\jboss\\jbossrules\\drools-compiler\\src\\main\\resources\\org\\drools\\clp\\CLP.g:574:5: '-'
                     {
                     match('-'); if (failed) return ;
 
@@ -915,20 +697,20 @@
 
             }
 
-            // C:\\dev\\jbossrules\\trunk\\drools-compiler\\src\\main\\resources\\org\\drools\\clp\\CLP.g:570:10: ( '0' .. '9' )+
-            int cnt7=0;
-            loop7:
+            // D:\\workspace\\jboss\\jbossrules\\drools-compiler\\src\\main\\resources\\org\\drools\\clp\\CLP.g:574:10: ( '0' .. '9' )+
+            int cnt6=0;
+            loop6:
             do {
-                int alt7=2;
-                int LA7_0 = input.LA(1);
-                if ( ((LA7_0>='0' && LA7_0<='9')) ) {
-                    alt7=1;
+                int alt6=2;
+                int LA6_0 = input.LA(1);
+                if ( ((LA6_0>='0' && LA6_0<='9')) ) {
+                    alt6=1;
                 }
 
 
-                switch (alt7) {
+                switch (alt6) {
             	case 1 :
-            	    // C:\\dev\\jbossrules\\trunk\\drools-compiler\\src\\main\\resources\\org\\drools\\clp\\CLP.g:570:11: '0' .. '9'
+            	    // D:\\workspace\\jboss\\jbossrules\\drools-compiler\\src\\main\\resources\\org\\drools\\clp\\CLP.g:574:11: '0' .. '9'
             	    {
             	    matchRange('0','9'); if (failed) return ;
 
@@ -936,30 +718,30 @@
             	    break;
 
             	default :
-            	    if ( cnt7 >= 1 ) break loop7;
+            	    if ( cnt6 >= 1 ) break loop6;
             	    if (backtracking>0) {failed=true; return ;}
                         EarlyExitException eee =
-                            new EarlyExitException(7, input);
+                            new EarlyExitException(6, input);
                         throw eee;
                 }
-                cnt7++;
+                cnt6++;
             } while (true);
 
             match('.'); if (failed) return ;
-            // C:\\dev\\jbossrules\\trunk\\drools-compiler\\src\\main\\resources\\org\\drools\\clp\\CLP.g:570:26: ( '0' .. '9' )+
-            int cnt8=0;
-            loop8:
+            // D:\\workspace\\jboss\\jbossrules\\drools-compiler\\src\\main\\resources\\org\\drools\\clp\\CLP.g:574:26: ( '0' .. '9' )+
+            int cnt7=0;
+            loop7:
             do {
-                int alt8=2;
-                int LA8_0 = input.LA(1);
-                if ( ((LA8_0>='0' && LA8_0<='9')) ) {
-                    alt8=1;
+                int alt7=2;
+                int LA7_0 = input.LA(1);
+                if ( ((LA7_0>='0' && LA7_0<='9')) ) {
+                    alt7=1;
                 }
 
 
-                switch (alt8) {
+                switch (alt7) {
             	case 1 :
-            	    // C:\\dev\\jbossrules\\trunk\\drools-compiler\\src\\main\\resources\\org\\drools\\clp\\CLP.g:570:27: '0' .. '9'
+            	    // D:\\workspace\\jboss\\jbossrules\\drools-compiler\\src\\main\\resources\\org\\drools\\clp\\CLP.g:574:27: '0' .. '9'
             	    {
             	    matchRange('0','9'); if (failed) return ;
 
@@ -967,13 +749,13 @@
             	    break;
 
             	default :
-            	    if ( cnt8 >= 1 ) break loop8;
+            	    if ( cnt7 >= 1 ) break loop7;
             	    if (backtracking>0) {failed=true; return ;}
                         EarlyExitException eee =
-                            new EarlyExitException(8, input);
+                            new EarlyExitException(7, input);
                         throw eee;
                 }
-                cnt8++;
+                cnt7++;
             } while (true);
 
 
@@ -987,8 +769,7 @@
                       }
 
                       
-            }
-        }
+            }    }
         finally {
             ruleNestingLevel--;
         }
@@ -1004,53 +785,53 @@
             int _line = getLine();
             int _charPosition = getCharPositionInLine();
             int _channel = Token.DEFAULT_CHANNEL;
-            // C:\\dev\\jbossrules\\trunk\\drools-compiler\\src\\main\\resources\\org\\drools\\clp\\CLP.g:574:8: ( ( '\"' ( EscapeSequence | ~ ('\\\\'|'\"'))* '\"' ) | ( '\\'' ( EscapeSequence | ~ ('\\\\'|'\\''))* '\\'' ) )
-            int alt11=2;
-            int LA11_0 = input.LA(1);
-            if ( (LA11_0=='\"') ) {
-                alt11=1;
+            // D:\\workspace\\jboss\\jbossrules\\drools-compiler\\src\\main\\resources\\org\\drools\\clp\\CLP.g:578:8: ( ( '\"' ( EscapeSequence | ~ ('\\\\'|'\"'))* '\"' ) | ( '\\'' ( EscapeSequence | ~ ('\\\\'|'\\''))* '\\'' ) )
+            int alt10=2;
+            int LA10_0 = input.LA(1);
+            if ( (LA10_0=='\"') ) {
+                alt10=1;
             }
-            else if ( (LA11_0=='\'') ) {
-                alt11=2;
+            else if ( (LA10_0=='\'') ) {
+                alt10=2;
             }
             else {
                 if (backtracking>0) {failed=true; return ;}
                 NoViableAltException nvae =
-                    new NoViableAltException("573:1: STRING : ( ( '\"' ( EscapeSequence | ~ ('\\\\'|'\"'))* '\"' ) | ( '\\'' ( EscapeSequence | ~ ('\\\\'|'\\''))* '\\'' ) );", 11, 0, input);
+                    new NoViableAltException("577:1: STRING : ( ( '\"' ( EscapeSequence | ~ ('\\\\'|'\"'))* '\"' ) | ( '\\'' ( EscapeSequence | ~ ('\\\\'|'\\''))* '\\'' ) );", 10, 0, input);
 
                 throw nvae;
             }
-            switch (alt11) {
+            switch (alt10) {
                 case 1 :
-                    // C:\\dev\\jbossrules\\trunk\\drools-compiler\\src\\main\\resources\\org\\drools\\clp\\CLP.g:574:8: ( '\"' ( EscapeSequence | ~ ('\\\\'|'\"'))* '\"' )
+                    // D:\\workspace\\jboss\\jbossrules\\drools-compiler\\src\\main\\resources\\org\\drools\\clp\\CLP.g:578:8: ( '\"' ( EscapeSequence | ~ ('\\\\'|'\"'))* '\"' )
                     {
-                    // C:\\dev\\jbossrules\\trunk\\drools-compiler\\src\\main\\resources\\org\\drools\\clp\\CLP.g:574:8: ( '\"' ( EscapeSequence | ~ ('\\\\'|'\"'))* '\"' )
-                    // C:\\dev\\jbossrules\\trunk\\drools-compiler\\src\\main\\resources\\org\\drools\\clp\\CLP.g:574:9: '\"' ( EscapeSequence | ~ ('\\\\'|'\"'))* '\"'
+                    // D:\\workspace\\jboss\\jbossrules\\drools-compiler\\src\\main\\resources\\org\\drools\\clp\\CLP.g:578:8: ( '\"' ( EscapeSequence | ~ ('\\\\'|'\"'))* '\"' )
+                    // D:\\workspace\\jboss\\jbossrules\\drools-compiler\\src\\main\\resources\\org\\drools\\clp\\CLP.g:578:9: '\"' ( EscapeSequence | ~ ('\\\\'|'\"'))* '\"'
                     {
                     match('\"'); if (failed) return ;
-                    // C:\\dev\\jbossrules\\trunk\\drools-compiler\\src\\main\\resources\\org\\drools\\clp\\CLP.g:574:13: ( EscapeSequence | ~ ('\\\\'|'\"'))*
-                    loop9:
+                    // D:\\workspace\\jboss\\jbossrules\\drools-compiler\\src\\main\\resources\\org\\drools\\clp\\CLP.g:578:13: ( EscapeSequence | ~ ('\\\\'|'\"'))*
+                    loop8:
                     do {
-                        int alt9=3;
-                        int LA9_0 = input.LA(1);
-                        if ( (LA9_0=='\\') ) {
-                            alt9=1;
+                        int alt8=3;
+                        int LA8_0 = input.LA(1);
+                        if ( (LA8_0=='\\') ) {
+                            alt8=1;
                         }
-                        else if ( ((LA9_0>='\u0000' && LA9_0<='!')||(LA9_0>='#' && LA9_0<='[')||(LA9_0>=']' && LA9_0<='\uFFFE')) ) {
-                            alt9=2;
+                        else if ( ((LA8_0>='\u0000' && LA8_0<='!')||(LA8_0>='#' && LA8_0<='[')||(LA8_0>=']' && LA8_0<='\uFFFE')) ) {
+                            alt8=2;
                         }
 
 
-                        switch (alt9) {
+                        switch (alt8) {
                     	case 1 :
-                    	    // C:\\dev\\jbossrules\\trunk\\drools-compiler\\src\\main\\resources\\org\\drools\\clp\\CLP.g:574:15: EscapeSequence
+                    	    // D:\\workspace\\jboss\\jbossrules\\drools-compiler\\src\\main\\resources\\org\\drools\\clp\\CLP.g:578:15: EscapeSequence
                     	    {
                     	    mEscapeSequence(); if (failed) return ;
 
                     	    }
                     	    break;
                     	case 2 :
-                    	    // C:\\dev\\jbossrules\\trunk\\drools-compiler\\src\\main\\resources\\org\\drools\\clp\\CLP.g:574:32: ~ ('\\\\'|'\"')
+                    	    // D:\\workspace\\jboss\\jbossrules\\drools-compiler\\src\\main\\resources\\org\\drools\\clp\\CLP.g:578:32: ~ ('\\\\'|'\"')
                     	    {
                     	    if ( (input.LA(1)>='\u0000' && input.LA(1)<='!')||(input.LA(1)>='#' && input.LA(1)<='[')||(input.LA(1)>=']' && input.LA(1)<='\uFFFE') ) {
                     	        input.consume();
@@ -1068,7 +849,7 @@
                     	    break;
 
                     	default :
-                    	    break loop9;
+                    	    break loop8;
                         }
                     } while (true);
 
@@ -1080,35 +861,35 @@
                     }
                     break;
                 case 2 :
-                    // C:\\dev\\jbossrules\\trunk\\drools-compiler\\src\\main\\resources\\org\\drools\\clp\\CLP.g:575:8: ( '\\'' ( EscapeSequence | ~ ('\\\\'|'\\''))* '\\'' )
+                    // D:\\workspace\\jboss\\jbossrules\\drools-compiler\\src\\main\\resources\\org\\drools\\clp\\CLP.g:579:8: ( '\\'' ( EscapeSequence | ~ ('\\\\'|'\\''))* '\\'' )
                     {
-                    // C:\\dev\\jbossrules\\trunk\\drools-compiler\\src\\main\\resources\\org\\drools\\clp\\CLP.g:575:8: ( '\\'' ( EscapeSequence | ~ ('\\\\'|'\\''))* '\\'' )
-                    // C:\\dev\\jbossrules\\trunk\\drools-compiler\\src\\main\\resources\\org\\drools\\clp\\CLP.g:575:9: '\\'' ( EscapeSequence | ~ ('\\\\'|'\\''))* '\\''
+                    // D:\\workspace\\jboss\\jbossrules\\drools-compiler\\src\\main\\resources\\org\\drools\\clp\\CLP.g:579:8: ( '\\'' ( EscapeSequence | ~ ('\\\\'|'\\''))* '\\'' )
+                    // D:\\workspace\\jboss\\jbossrules\\drools-compiler\\src\\main\\resources\\org\\drools\\clp\\CLP.g:579:9: '\\'' ( EscapeSequence | ~ ('\\\\'|'\\''))* '\\''
                     {
                     match('\''); if (failed) return ;
-                    // C:\\dev\\jbossrules\\trunk\\drools-compiler\\src\\main\\resources\\org\\drools\\clp\\CLP.g:575:14: ( EscapeSequence | ~ ('\\\\'|'\\''))*
-                    loop10:
+                    // D:\\workspace\\jboss\\jbossrules\\drools-compiler\\src\\main\\resources\\org\\drools\\clp\\CLP.g:579:14: ( EscapeSequence | ~ ('\\\\'|'\\''))*
+                    loop9:
                     do {
-                        int alt10=3;
-                        int LA10_0 = input.LA(1);
-                        if ( (LA10_0=='\\') ) {
-                            alt10=1;
+                        int alt9=3;
+                        int LA9_0 = input.LA(1);
+                        if ( (LA9_0=='\\') ) {
+                            alt9=1;
                         }
-                        else if ( ((LA10_0>='\u0000' && LA10_0<='&')||(LA10_0>='(' && LA10_0<='[')||(LA10_0>=']' && LA10_0<='\uFFFE')) ) {
-                            alt10=2;
+                        else if ( ((LA9_0>='\u0000' && LA9_0<='&')||(LA9_0>='(' && LA9_0<='[')||(LA9_0>=']' && LA9_0<='\uFFFE')) ) {
+                            alt9=2;
                         }
 
 
-                        switch (alt10) {
+                        switch (alt9) {
                     	case 1 :
-                    	    // C:\\dev\\jbossrules\\trunk\\drools-compiler\\src\\main\\resources\\org\\drools\\clp\\CLP.g:575:16: EscapeSequence
+                    	    // D:\\workspace\\jboss\\jbossrules\\drools-compiler\\src\\main\\resources\\org\\drools\\clp\\CLP.g:579:16: EscapeSequence
                     	    {
                     	    mEscapeSequence(); if (failed) return ;
 
                     	    }
                     	    break;
                     	case 2 :
-                    	    // C:\\dev\\jbossrules\\trunk\\drools-compiler\\src\\main\\resources\\org\\drools\\clp\\CLP.g:575:33: ~ ('\\\\'|'\\'')
+                    	    // D:\\workspace\\jboss\\jbossrules\\drools-compiler\\src\\main\\resources\\org\\drools\\clp\\CLP.g:579:33: ~ ('\\\\'|'\\'')
                     	    {
                     	    if ( (input.LA(1)>='\u0000' && input.LA(1)<='&')||(input.LA(1)>='(' && input.LA(1)<='[')||(input.LA(1)>=']' && input.LA(1)<='\uFFFE') ) {
                     	        input.consume();
@@ -1126,7 +907,7 @@
                     	    break;
 
                     	default :
-                    	    break loop10;
+                    	    break loop9;
                         }
                     } while (true);
 
@@ -1147,8 +928,7 @@
                       }
 
                       
-            }
-        }
+            }    }
         finally {
             ruleNestingLevel--;
         }
@@ -1159,8 +939,8 @@
     public void mHexDigit() throws RecognitionException {
         try {
             ruleNestingLevel++;
-            // C:\\dev\\jbossrules\\trunk\\drools-compiler\\src\\main\\resources\\org\\drools\\clp\\CLP.g:579:12: ( ('0'..'9'|'a'..'f'|'A'..'F'))
-            // C:\\dev\\jbossrules\\trunk\\drools-compiler\\src\\main\\resources\\org\\drools\\clp\\CLP.g:579:12: ('0'..'9'|'a'..'f'|'A'..'F')
+            // D:\\workspace\\jboss\\jbossrules\\drools-compiler\\src\\main\\resources\\org\\drools\\clp\\CLP.g:583:12: ( ('0'..'9'|'a'..'f'|'A'..'F'))
+            // D:\\workspace\\jboss\\jbossrules\\drools-compiler\\src\\main\\resources\\org\\drools\\clp\\CLP.g:583: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();
@@ -1187,11 +967,14 @@
     public void mEscapeSequence() throws RecognitionException {
         try {
             ruleNestingLevel++;
-            // C:\\dev\\jbossrules\\trunk\\drools-compiler\\src\\main\\resources\\org\\drools\\clp\\CLP.g:583:9: ( '\\\\' ('b'|'t'|'n'|'f'|'r'|'\\\"'|'\\''|'\\\\') | UnicodeEscape | OctalEscape )
-            int alt12=3;
-            int LA12_0 = input.LA(1);
-            if ( (LA12_0=='\\') ) {
+            // D:\\workspace\\jboss\\jbossrules\\drools-compiler\\src\\main\\resources\\org\\drools\\clp\\CLP.g:587:9: ( '\\\\' ('b'|'t'|'n'|'f'|'r'|'\\\"'|'\\''|'\\\\') | UnicodeEscape | OctalEscape )
+            int alt11=3;
+            int LA11_0 = input.LA(1);
+            if ( (LA11_0=='\\') ) {
                 switch ( input.LA(2) ) {
+                case 'u':
+                    alt11=2;
+                    break;
                 case '\"':
                 case '\'':
                 case '\\':
@@ -1200,11 +983,8 @@
                 case 'n':
                 case 'r':
                 case 't':
-                    alt12=1;
+                    alt11=1;
                     break;
-                case 'u':
-                    alt12=2;
-                    break;
                 case '0':
                 case '1':
                 case '2':
@@ -1213,12 +993,12 @@
                 case '5':
                 case '6':
                 case '7':
-                    alt12=3;
+                    alt11=3;
                     break;
                 default:
                     if (backtracking>0) {failed=true; return ;}
                     NoViableAltException nvae =
-                        new NoViableAltException("581:1: fragment EscapeSequence : ( '\\\\' ('b'|'t'|'n'|'f'|'r'|'\\\"'|'\\''|'\\\\') | UnicodeEscape | OctalEscape );", 12, 1, input);
+                        new NoViableAltException("585:1: fragment EscapeSequence : ( '\\\\' ('b'|'t'|'n'|'f'|'r'|'\\\"'|'\\''|'\\\\') | UnicodeEscape | OctalEscape );", 11, 1, input);
 
                     throw nvae;
                 }
@@ -1227,13 +1007,13 @@
             else {
                 if (backtracking>0) {failed=true; return ;}
                 NoViableAltException nvae =
-                    new NoViableAltException("581:1: fragment EscapeSequence : ( '\\\\' ('b'|'t'|'n'|'f'|'r'|'\\\"'|'\\''|'\\\\') | UnicodeEscape | OctalEscape );", 12, 0, input);
+                    new NoViableAltException("585:1: fragment EscapeSequence : ( '\\\\' ('b'|'t'|'n'|'f'|'r'|'\\\"'|'\\''|'\\\\') | UnicodeEscape | OctalEscape );", 11, 0, input);
 
                 throw nvae;
             }
-            switch (alt12) {
+            switch (alt11) {
                 case 1 :
-                    // C:\\dev\\jbossrules\\trunk\\drools-compiler\\src\\main\\resources\\org\\drools\\clp\\CLP.g:583:9: '\\\\' ('b'|'t'|'n'|'f'|'r'|'\\\"'|'\\''|'\\\\')
+                    // D:\\workspace\\jboss\\jbossrules\\drools-compiler\\src\\main\\resources\\org\\drools\\clp\\CLP.g:587: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' ) {
@@ -1251,14 +1031,14 @@
                     }
                     break;
                 case 2 :
-                    // C:\\dev\\jbossrules\\trunk\\drools-compiler\\src\\main\\resources\\org\\drools\\clp\\CLP.g:584:9: UnicodeEscape
+                    // D:\\workspace\\jboss\\jbossrules\\drools-compiler\\src\\main\\resources\\org\\drools\\clp\\CLP.g:588:9: UnicodeEscape
                     {
                     mUnicodeEscape(); if (failed) return ;
 
                     }
                     break;
                 case 3 :
-                    // C:\\dev\\jbossrules\\trunk\\drools-compiler\\src\\main\\resources\\org\\drools\\clp\\CLP.g:585:9: OctalEscape
+                    // D:\\workspace\\jboss\\jbossrules\\drools-compiler\\src\\main\\resources\\org\\drools\\clp\\CLP.g:589:9: OctalEscape
                     {
                     mOctalEscape(); if (failed) return ;
 
@@ -1277,36 +1057,36 @@
     public void mOctalEscape() throws RecognitionException {
         try {
             ruleNestingLevel++;
-            // C:\\dev\\jbossrules\\trunk\\drools-compiler\\src\\main\\resources\\org\\drools\\clp\\CLP.g:590:9: ( '\\\\' ( '0' .. '3' ) ( '0' .. '7' ) ( '0' .. '7' ) | '\\\\' ( '0' .. '7' ) ( '0' .. '7' ) | '\\\\' ( '0' .. '7' ) )
-            int alt13=3;
-            int LA13_0 = input.LA(1);
-            if ( (LA13_0=='\\') ) {
-                int LA13_1 = input.LA(2);
-                if ( ((LA13_1>='0' && LA13_1<='3')) ) {
-                    int LA13_2 = input.LA(3);
-                    if ( ((LA13_2>='0' && LA13_2<='7')) ) {
-                        int LA13_4 = input.LA(4);
-                        if ( ((LA13_4>='0' && LA13_4<='7')) ) {
-                            alt13=1;
+            // D:\\workspace\\jboss\\jbossrules\\drools-compiler\\src\\main\\resources\\org\\drools\\clp\\CLP.g:594:9: ( '\\\\' ( '0' .. '3' ) ( '0' .. '7' ) ( '0' .. '7' ) | '\\\\' ( '0' .. '7' ) ( '0' .. '7' ) | '\\\\' ( '0' .. '7' ) )
+            int alt12=3;
+            int LA12_0 = input.LA(1);
+            if ( (LA12_0=='\\') ) {
+                int LA12_1 = input.LA(2);
+                if ( ((LA12_1>='0' && LA12_1<='3')) ) {
+                    int LA12_2 = input.LA(3);
+                    if ( ((LA12_2>='0' && LA12_2<='7')) ) {
+                        int LA12_5 = input.LA(4);
+                        if ( ((LA12_5>='0' && LA12_5<='7')) ) {
+                            alt12=1;
                         }
                         else {
-                            alt13=2;}
+                            alt12=2;}
                     }
                     else {
-                        alt13=3;}
+                        alt12=3;}
                 }
-                else if ( ((LA13_1>='4' && LA13_1<='7')) ) {
-                    int LA13_3 = input.LA(3);
-                    if ( ((LA13_3>='0' && LA13_3<='7')) ) {
-                        alt13=2;
+                else if ( ((LA12_1>='4' && LA12_1<='7')) ) {
+                    int LA12_3 = input.LA(3);
+                    if ( ((LA12_3>='0' && LA12_3<='7')) ) {
+                        alt12=2;
                     }
                     else {
-                        alt13=3;}
+                        alt12=3;}
                 }
                 else {
                     if (backtracking>0) {failed=true; return ;}
                     NoViableAltException nvae =
-                        new NoViableAltException("588:1: fragment OctalEscape : ( '\\\\' ( '0' .. '3' ) ( '0' .. '7' ) ( '0' .. '7' ) | '\\\\' ( '0' .. '7' ) ( '0' .. '7' ) | '\\\\' ( '0' .. '7' ) );", 13, 1, input);
+                        new NoViableAltException("592:1: fragment OctalEscape : ( '\\\\' ( '0' .. '3' ) ( '0' .. '7' ) ( '0' .. '7' ) | '\\\\' ( '0' .. '7' ) ( '0' .. '7' ) | '\\\\' ( '0' .. '7' ) );", 12, 1, input);
 
                     throw nvae;
                 }
@@ -1314,31 +1094,31 @@
             else {
                 if (backtracking>0) {failed=true; return ;}
                 NoViableAltException nvae =
-                    new NoViableAltException("588:1: fragment OctalEscape : ( '\\\\' ( '0' .. '3' ) ( '0' .. '7' ) ( '0' .. '7' ) | '\\\\' ( '0' .. '7' ) ( '0' .. '7' ) | '\\\\' ( '0' .. '7' ) );", 13, 0, input);
+                    new NoViableAltException("592:1: fragment OctalEscape : ( '\\\\' ( '0' .. '3' ) ( '0' .. '7' ) ( '0' .. '7' ) | '\\\\' ( '0' .. '7' ) ( '0' .. '7' ) | '\\\\' ( '0' .. '7' ) );", 12, 0, input);
 
                 throw nvae;
             }
-            switch (alt13) {
+            switch (alt12) {
                 case 1 :
-                    // C:\\dev\\jbossrules\\trunk\\drools-compiler\\src\\main\\resources\\org\\drools\\clp\\CLP.g:590:9: '\\\\' ( '0' .. '3' ) ( '0' .. '7' ) ( '0' .. '7' )
+                    // D:\\workspace\\jboss\\jbossrules\\drools-compiler\\src\\main\\resources\\org\\drools\\clp\\CLP.g:594:9: '\\\\' ( '0' .. '3' ) ( '0' .. '7' ) ( '0' .. '7' )
                     {
                     match('\\'); if (failed) return ;
-                    // C:\\dev\\jbossrules\\trunk\\drools-compiler\\src\\main\\resources\\org\\drools\\clp\\CLP.g:590:14: ( '0' .. '3' )
-                    // C:\\dev\\jbossrules\\trunk\\drools-compiler\\src\\main\\resources\\org\\drools\\clp\\CLP.g:590:15: '0' .. '3'
+                    // D:\\workspace\\jboss\\jbossrules\\drools-compiler\\src\\main\\resources\\org\\drools\\clp\\CLP.g:594:14: ( '0' .. '3' )
+                    // D:\\workspace\\jboss\\jbossrules\\drools-compiler\\src\\main\\resources\\org\\drools\\clp\\CLP.g:594:15: '0' .. '3'
                     {
                     matchRange('0','3'); if (failed) return ;
 
                     }
 
-                    // C:\\dev\\jbossrules\\trunk\\drools-compiler\\src\\main\\resources\\org\\drools\\clp\\CLP.g:590:25: ( '0' .. '7' )
-                    // C:\\dev\\jbossrules\\trunk\\drools-compiler\\src\\main\\resources\\org\\drools\\clp\\CLP.g:590:26: '0' .. '7'
+                    // D:\\workspace\\jboss\\jbossrules\\drools-compiler\\src\\main\\resources\\org\\drools\\clp\\CLP.g:594:25: ( '0' .. '7' )
+                    // D:\\workspace\\jboss\\jbossrules\\drools-compiler\\src\\main\\resources\\org\\drools\\clp\\CLP.g:594:26: '0' .. '7'
                     {
                     matchRange('0','7'); if (failed) return ;
 
                     }
 
-                    // C:\\dev\\jbossrules\\trunk\\drools-compiler\\src\\main\\resources\\org\\drools\\clp\\CLP.g:590:36: ( '0' .. '7' )
-                    // C:\\dev\\jbossrules\\trunk\\drools-compiler\\src\\main\\resources\\org\\drools\\clp\\CLP.g:590:37: '0' .. '7'
+                    // D:\\workspace\\jboss\\jbossrules\\drools-compiler\\src\\main\\resources\\org\\drools\\clp\\CLP.g:594:36: ( '0' .. '7' )
+                    // D:\\workspace\\jboss\\jbossrules\\drools-compiler\\src\\main\\resources\\org\\drools\\clp\\CLP.g:594:37: '0' .. '7'
                     {
                     matchRange('0','7'); if (failed) return ;
 
@@ -1348,18 +1128,18 @@
                     }
                     break;
                 case 2 :
-                    // C:\\dev\\jbossrules\\trunk\\drools-compiler\\src\\main\\resources\\org\\drools\\clp\\CLP.g:591:9: '\\\\' ( '0' .. '7' ) ( '0' .. '7' )
+                    // D:\\workspace\\jboss\\jbossrules\\drools-compiler\\src\\main\\resources\\org\\drools\\clp\\CLP.g:595:9: '\\\\' ( '0' .. '7' ) ( '0' .. '7' )
                     {
                     match('\\'); if (failed) return ;
-                    // C:\\dev\\jbossrules\\trunk\\drools-compiler\\src\\main\\resources\\org\\drools\\clp\\CLP.g:591:14: ( '0' .. '7' )
-                    // C:\\dev\\jbossrules\\trunk\\drools-compiler\\src\\main\\resources\\org\\drools\\clp\\CLP.g:591:15: '0' .. '7'
+                    // D:\\workspace\\jboss\\jbossrules\\drools-compiler\\src\\main\\resources\\org\\drools\\clp\\CLP.g:595:14: ( '0' .. '7' )
+                    // D:\\workspace\\jboss\\jbossrules\\drools-compiler\\src\\main\\resources\\org\\drools\\clp\\CLP.g:595:15: '0' .. '7'
                     {
                     matchRange('0','7'); if (failed) return ;
 
                     }
 
-                    // C:\\dev\\jbossrules\\trunk\\drools-compiler\\src\\main\\resources\\org\\drools\\clp\\CLP.g:591:25: ( '0' .. '7' )
-                    // C:\\dev\\jbossrules\\trunk\\drools-compiler\\src\\main\\resources\\org\\drools\\clp\\CLP.g:591:26: '0' .. '7'
+                    // D:\\workspace\\jboss\\jbossrules\\drools-compiler\\src\\main\\resources\\org\\drools\\clp\\CLP.g:595:25: ( '0' .. '7' )
+                    // D:\\workspace\\jboss\\jbossrules\\drools-compiler\\src\\main\\resources\\org\\drools\\clp\\CLP.g:595:26: '0' .. '7'
                     {
                     matchRange('0','7'); if (failed) return ;
 
@@ -1369,11 +1149,11 @@
                     }
                     break;
                 case 3 :
-                    // C:\\dev\\jbossrules\\trunk\\drools-compiler\\src\\main\\resources\\org\\drools\\clp\\CLP.g:592:9: '\\\\' ( '0' .. '7' )
+                    // D:\\workspace\\jboss\\jbossrules\\drools-compiler\\src\\main\\resources\\org\\drools\\clp\\CLP.g:596:9: '\\\\' ( '0' .. '7' )
                     {
                     match('\\'); if (failed) return ;
-                    // C:\\dev\\jbossrules\\trunk\\drools-compiler\\src\\main\\resources\\org\\drools\\clp\\CLP.g:592:14: ( '0' .. '7' )
-                    // C:\\dev\\jbossrules\\trunk\\drools-compiler\\src\\main\\resources\\org\\drools\\clp\\CLP.g:592:15: '0' .. '7'
+                    // D:\\workspace\\jboss\\jbossrules\\drools-compiler\\src\\main\\resources\\org\\drools\\clp\\CLP.g:596:14: ( '0' .. '7' )
+                    // D:\\workspace\\jboss\\jbossrules\\drools-compiler\\src\\main\\resources\\org\\drools\\clp\\CLP.g:596:15: '0' .. '7'
                     {
                     matchRange('0','7'); if (failed) return ;
 
@@ -1395,8 +1175,8 @@
     public void mUnicodeEscape() throws RecognitionException {
         try {
             ruleNestingLevel++;
-            // C:\\dev\\jbossrules\\trunk\\drools-compiler\\src\\main\\resources\\org\\drools\\clp\\CLP.g:597:9: ( '\\\\' 'u' HexDigit HexDigit HexDigit HexDigit )
-            // C:\\dev\\jbossrules\\trunk\\drools-compiler\\src\\main\\resources\\org\\drools\\clp\\CLP.g:597:9: '\\\\' 'u' HexDigit HexDigit HexDigit HexDigit
+            // D:\\workspace\\jboss\\jbossrules\\drools-compiler\\src\\main\\resources\\org\\drools\\clp\\CLP.g:601:9: ( '\\\\' 'u' HexDigit HexDigit HexDigit HexDigit )
+            // D:\\workspace\\jboss\\jbossrules\\drools-compiler\\src\\main\\resources\\org\\drools\\clp\\CLP.g:601:9: '\\\\' 'u' HexDigit HexDigit HexDigit HexDigit
             {
             match('\\'); if (failed) return ;
             match('u'); if (failed) return ;
@@ -1423,28 +1203,28 @@
             int _line = getLine();
             int _charPosition = getCharPositionInLine();
             int _channel = Token.DEFAULT_CHANNEL;
-            // C:\\dev\\jbossrules\\trunk\\drools-compiler\\src\\main\\resources\\org\\drools\\clp\\CLP.g:601:4: ( ( 'true' | 'false' ) )
-            // C:\\dev\\jbossrules\\trunk\\drools-compiler\\src\\main\\resources\\org\\drools\\clp\\CLP.g:601:4: ( 'true' | 'false' )
+            // D:\\workspace\\jboss\\jbossrules\\drools-compiler\\src\\main\\resources\\org\\drools\\clp\\CLP.g:605:4: ( ( 'true' | 'false' ) )
+            // D:\\workspace\\jboss\\jbossrules\\drools-compiler\\src\\main\\resources\\org\\drools\\clp\\CLP.g:605:4: ( 'true' | 'false' )
             {
-            // C:\\dev\\jbossrules\\trunk\\drools-compiler\\src\\main\\resources\\org\\drools\\clp\\CLP.g:601:4: ( 'true' | 'false' )
-            int alt14=2;
-            int LA14_0 = input.LA(1);
-            if ( (LA14_0=='t') ) {
-                alt14=1;
+            // D:\\workspace\\jboss\\jbossrules\\drools-compiler\\src\\main\\resources\\org\\drools\\clp\\CLP.g:605:4: ( 'true' | 'false' )
+            int alt13=2;
+            int LA13_0 = input.LA(1);
+            if ( (LA13_0=='t') ) {
+                alt13=1;
             }
-            else if ( (LA14_0=='f') ) {
-                alt14=2;
+            else if ( (LA13_0=='f') ) {
+                alt13=2;
             }
             else {
                 if (backtracking>0) {failed=true; return ;}
                 NoViableAltException nvae =
-                    new NoViableAltException("601:4: ( 'true' | 'false' )", 14, 0, input);
+                    new NoViableAltException("605:4: ( 'true' | 'false' )", 13, 0, input);
 
                 throw nvae;
             }
-            switch (alt14) {
+            switch (alt13) {
                 case 1 :
-                    // C:\\dev\\jbossrules\\trunk\\drools-compiler\\src\\main\\resources\\org\\drools\\clp\\CLP.g:601:5: 'true'
+                    // D:\\workspace\\jboss\\jbossrules\\drools-compiler\\src\\main\\resources\\org\\drools\\clp\\CLP.g:605:5: 'true'
                     {
                     match("true"); if (failed) return ;
 
@@ -1452,7 +1232,7 @@
                     }
                     break;
                 case 2 :
-                    // C:\\dev\\jbossrules\\trunk\\drools-compiler\\src\\main\\resources\\org\\drools\\clp\\CLP.g:601:12: 'false'
+                    // D:\\workspace\\jboss\\jbossrules\\drools-compiler\\src\\main\\resources\\org\\drools\\clp\\CLP.g:605:12: 'false'
                     {
                     match("false"); if (failed) return ;
 
@@ -1473,13 +1253,163 @@
                       }
 
                       
+            }    }
+        finally {
+            ruleNestingLevel--;
+        }
+    }
+    // $ANTLR end BOOL
+
+    // $ANTLR start VAR
+    public void mVAR() throws RecognitionException {
+        try {
+            ruleNestingLevel++;
+            int _type = VAR;
+            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:8: ( '?' ('a'..'z'|'A'..'Z'|'_'|'$'|'\\u00c0'..'\\u00ff') ( ('a'..'z'|'A'..'Z'|'_'|'0'..'9'|'\\u00c0'..'\\u00ff'))* )
+            // D:\\workspace\\jboss\\jbossrules\\drools-compiler\\src\\main\\resources\\org\\drools\\clp\\CLP.g:608:8: '?' ('a'..'z'|'A'..'Z'|'_'|'$'|'\\u00c0'..'\\u00ff') ( ('a'..'z'|'A'..'Z'|'_'|'0'..'9'|'\\u00c0'..'\\u00ff'))*
+            {
+            match('?'); if (failed) return ;
+            if ( input.LA(1)=='$'||(input.LA(1)>='A' && input.LA(1)<='Z')||input.LA(1)=='_'||(input.LA(1)>='a' && input.LA(1)<='z')||(input.LA(1)>='\u00C0' && input.LA(1)<='\u00FF') ) {
+                input.consume();
+            failed=false;
             }
+            else {
+                if (backtracking>0) {failed=true; return ;}
+                MismatchedSetException mse =
+                    new MismatchedSetException(null,input);
+                recover(mse);    throw mse;
+            }
+
+            // D:\\workspace\\jboss\\jbossrules\\drools-compiler\\src\\main\\resources\\org\\drools\\clp\\CLP.g:608:57: ( ('a'..'z'|'A'..'Z'|'_'|'0'..'9'|'\\u00c0'..'\\u00ff'))*
+            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')||(LA14_0>='\u00C0' && LA14_0<='\u00FF')) ) {
+                    alt14=1;
+                }
+
+
+                switch (alt14) {
+            	case 1 :
+            	    // D:\\workspace\\jboss\\jbossrules\\drools-compiler\\src\\main\\resources\\org\\drools\\clp\\CLP.g:608:58: ('a'..'z'|'A'..'Z'|'_'|'0'..'9'|'\\u00c0'..'\\u00ff')
+            	    {
+            	    if ( (input.LA(1)>='0' && input.LA(1)<='9')||(input.LA(1)>='A' && input.LA(1)<='Z')||input.LA(1)=='_'||(input.LA(1)>='a' && input.LA(1)<='z')||(input.LA(1)>='\u00C0' && input.LA(1)<='\u00FF') ) {
+            	        input.consume();
+            	    failed=false;
+            	    }
+            	    else {
+            	        if (backtracking>0) {failed=true; return ;}
+            	        MismatchedSetException mse =
+            	            new MismatchedSetException(null,input);
+            	        recover(mse);    throw mse;
+            	    }
+
+
+            	    }
+            	    break;
+
+            	default :
+            	    break loop14;
+                }
+            } while (true);
+
+
+            }
+
+
+            if ( backtracking==0 ) {
+
+                      if ( token==null && ruleNestingLevel==1 ) {
+                          emit(_type,_line,_charPosition,_channel,_start,getCharIndex()-1);
+                      }
+
+                      
+            }    }
+        finally {
+            ruleNestingLevel--;
         }
+    }
+    // $ANTLR end VAR
+
+    // $ANTLR start ID
+    public void mID() throws RecognitionException {
+        try {
+            ruleNestingLevel++;
+            int _type = ID;
+            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:612:4: ( ('a'..'z'|'A'..'Z'|'_'|'$'|'\\u00c0'..'\\u00ff') ( ('a'..'z'|'A'..'Z'|'_'|'0'..'9'|'\\u00c0'..'\\u00ff'))* )
+            // D:\\workspace\\jboss\\jbossrules\\drools-compiler\\src\\main\\resources\\org\\drools\\clp\\CLP.g:612:4: ('a'..'z'|'A'..'Z'|'_'|'$'|'\\u00c0'..'\\u00ff') ( ('a'..'z'|'A'..'Z'|'_'|'0'..'9'|'\\u00c0'..'\\u00ff'))*
+            {
+            if ( input.LA(1)=='$'||(input.LA(1)>='A' && input.LA(1)<='Z')||input.LA(1)=='_'||(input.LA(1)>='a' && input.LA(1)<='z')||(input.LA(1)>='\u00C0' && input.LA(1)<='\u00FF') ) {
+                input.consume();
+            failed=false;
+            }
+            else {
+                if (backtracking>0) {failed=true; return ;}
+                MismatchedSetException mse =
+                    new MismatchedSetException(null,input);
+                recover(mse);    throw mse;
+            }
+
+            // D:\\workspace\\jboss\\jbossrules\\drools-compiler\\src\\main\\resources\\org\\drools\\clp\\CLP.g:612:50: ( ('a'..'z'|'A'..'Z'|'_'|'0'..'9'|'\\u00c0'..'\\u00ff'))*
+            loop15:
+            do {
+                int alt15=2;
+                int LA15_0 = input.LA(1);
+                if ( ((LA15_0>='0' && LA15_0<='9')||(LA15_0>='A' && LA15_0<='Z')||LA15_0=='_'||(LA15_0>='a' && LA15_0<='z')||(LA15_0>='\u00C0' && LA15_0<='\u00FF')) ) {
+                    alt15=1;
+                }
+
+
+                switch (alt15) {
+            	case 1 :
+            	    // D:\\workspace\\jboss\\jbossrules\\drools-compiler\\src\\main\\resources\\org\\drools\\clp\\CLP.g:612:51: ('a'..'z'|'A'..'Z'|'_'|'0'..'9'|'\\u00c0'..'\\u00ff')
+            	    {
+            	    if ( (input.LA(1)>='0' && input.LA(1)<='9')||(input.LA(1)>='A' && input.LA(1)<='Z')||input.LA(1)=='_'||(input.LA(1)>='a' && input.LA(1)<='z')||(input.LA(1)>='\u00C0' && input.LA(1)<='\u00FF') ) {
+            	        input.consume();
+            	    failed=false;
+            	    }
+            	    else {
+            	        if (backtracking>0) {failed=true; return ;}
+            	        MismatchedSetException mse =
+            	            new MismatchedSetException(null,input);
+            	        recover(mse);    throw mse;
+            	    }
+
+
+            	    }
+            	    break;
+
+            	default :
+            	    break loop15;
+                }
+            } while (true);
+
+
+            }
+
+
+            if ( backtracking==0 ) {
+
+                      if ( token==null && ruleNestingLevel==1 ) {
+                          emit(_type,_line,_charPosition,_channel,_start,getCharIndex()-1);
+                      }
+
+                      
+            }    }
         finally {
             ruleNestingLevel--;
         }
     }
-    // $ANTLR end BOOL
+    // $ANTLR end ID
 
     // $ANTLR start SH_STYLE_SINGLE_LINE_COMMENT
     public void mSH_STYLE_SINGLE_LINE_COMMENT() throws RecognitionException {
@@ -1490,29 +1420,29 @@
             int _line = getLine();
             int _charPosition = getCharPositionInLine();
             int _channel = Token.DEFAULT_CHANNEL;
-            // C:\\dev\\jbossrules\\trunk\\drools-compiler\\src\\main\\resources\\org\\drools\\clp\\CLP.g:605:4: ( '#' ( options {greedy=false; } : . )* EOL )
-            // C:\\dev\\jbossrules\\trunk\\drools-compiler\\src\\main\\resources\\org\\drools\\clp\\CLP.g:605:4: '#' ( options {greedy=false; } : . )* EOL
+            // D:\\workspace\\jboss\\jbossrules\\drools-compiler\\src\\main\\resources\\org\\drools\\clp\\CLP.g:616:4: ( '#' ( options {greedy=false; } : . )* EOL )
+            // D:\\workspace\\jboss\\jbossrules\\drools-compiler\\src\\main\\resources\\org\\drools\\clp\\CLP.g:616:4: '#' ( options {greedy=false; } : . )* EOL
             {
             match('#'); if (failed) return ;
-            // C:\\dev\\jbossrules\\trunk\\drools-compiler\\src\\main\\resources\\org\\drools\\clp\\CLP.g:605:8: ( options {greedy=false; } : . )*
-            loop15:
+            // D:\\workspace\\jboss\\jbossrules\\drools-compiler\\src\\main\\resources\\org\\drools\\clp\\CLP.g:616:8: ( options {greedy=false; } : . )*
+            loop16:
             do {
-                int alt15=2;
-                int LA15_0 = input.LA(1);
-                if ( (LA15_0=='\r') ) {
-                    alt15=2;
+                int alt16=2;
+                int LA16_0 = input.LA(1);
+                if ( (LA16_0=='\r') ) {
+                    alt16=2;
                 }
-                else if ( (LA15_0=='\n') ) {
-                    alt15=2;
+                else if ( (LA16_0=='\n') ) {
+                    alt16=2;
                 }
-                else if ( ((LA15_0>='\u0000' && LA15_0<='\t')||(LA15_0>='\u000B' && LA15_0<='\f')||(LA15_0>='\u000E' && LA15_0<='\uFFFE')) ) {
-                    alt15=1;
+                else if ( ((LA16_0>='\u0000' && LA16_0<='\t')||(LA16_0>='\u000B' && LA16_0<='\f')||(LA16_0>='\u000E' && LA16_0<='\uFFFE')) ) {
+                    alt16=1;
                 }
 
 
-                switch (alt15) {
+                switch (alt16) {
             	case 1 :
-            	    // C:\\dev\\jbossrules\\trunk\\drools-compiler\\src\\main\\resources\\org\\drools\\clp\\CLP.g:605:35: .
+            	    // D:\\workspace\\jboss\\jbossrules\\drools-compiler\\src\\main\\resources\\org\\drools\\clp\\CLP.g:616:35: .
             	    {
             	    matchAny(); if (failed) return ;
 
@@ -1520,7 +1450,7 @@
             	    break;
 
             	default :
-            	    break loop15;
+            	    break loop16;
                 }
             } while (true);
 
@@ -1539,8 +1469,7 @@
                       }
 
                       
-            }
-        }
+            }    }
         finally {
             ruleNestingLevel--;
         }
@@ -1556,30 +1485,30 @@
             int _line = getLine();
             int _charPosition = getCharPositionInLine();
             int _channel = Token.DEFAULT_CHANNEL;
-            // C:\\dev\\jbossrules\\trunk\\drools-compiler\\src\\main\\resources\\org\\drools\\clp\\CLP.g:611:4: ( '//' ( options {greedy=false; } : . )* EOL )
-            // C:\\dev\\jbossrules\\trunk\\drools-compiler\\src\\main\\resources\\org\\drools\\clp\\CLP.g:611:4: '//' ( options {greedy=false; } : . )* EOL
+            // D:\\workspace\\jboss\\jbossrules\\drools-compiler\\src\\main\\resources\\org\\drools\\clp\\CLP.g:622:4: ( '//' ( options {greedy=false; } : . )* EOL )
+            // D:\\workspace\\jboss\\jbossrules\\drools-compiler\\src\\main\\resources\\org\\drools\\clp\\CLP.g:622:4: '//' ( options {greedy=false; } : . )* EOL
             {
             match("//"); if (failed) return ;
 
-            // C:\\dev\\jbossrules\\trunk\\drools-compiler\\src\\main\\resources\\org\\drools\\clp\\CLP.g:611:9: ( options {greedy=false; } : . )*
-            loop16:
+            // D:\\workspace\\jboss\\jbossrules\\drools-compiler\\src\\main\\resources\\org\\drools\\clp\\CLP.g:622:9: ( options {greedy=false; } : . )*
+            loop17:
             do {
-                int alt16=2;
-                int LA16_0 = input.LA(1);
-                if ( (LA16_0=='\r') ) {
-                    alt16=2;
+                int alt17=2;
+                int LA17_0 = input.LA(1);
+                if ( (LA17_0=='\r') ) {
+                    alt17=2;
                 }
-                else if ( (LA16_0=='\n') ) {
-                    alt16=2;
+                else if ( (LA17_0=='\n') ) {
+                    alt17=2;
                 }
-                else if ( ((LA16_0>='\u0000' && LA16_0<='\t')||(LA16_0>='\u000B' && LA16_0<='\f')||(LA16_0>='\u000E' && LA16_0<='\uFFFE')) ) {
-                    alt16=1;
+                else if ( ((LA17_0>='\u0000' && LA17_0<='\t')||(LA17_0>='\u000B' && LA17_0<='\f')||(LA17_0>='\u000E' && LA17_0<='\uFFFE')) ) {
+                    alt17=1;
                 }
 
 
-                switch (alt16) {
+                switch (alt17) {
             	case 1 :
-            	    // C:\\dev\\jbossrules\\trunk\\drools-compiler\\src\\main\\resources\\org\\drools\\clp\\CLP.g:611:36: .
+            	    // D:\\workspace\\jboss\\jbossrules\\drools-compiler\\src\\main\\resources\\org\\drools\\clp\\CLP.g:622:36: .
             	    {
             	    matchAny(); if (failed) return ;
 
@@ -1587,7 +1516,7 @@
             	    break;
 
             	default :
-            	    break loop16;
+            	    break loop17;
                 }
             } while (true);
 
@@ -1606,8 +1535,7 @@
                       }
 
                       
-            }
-        }
+            }    }
         finally {
             ruleNestingLevel--;
         }
@@ -1623,8 +1551,8 @@
             int _line = getLine();
             int _charPosition = getCharPositionInLine();
             int _channel = Token.DEFAULT_CHANNEL;
-            // C:\\dev\\jbossrules\\trunk\\drools-compiler\\src\\main\\resources\\org\\drools\\clp\\CLP.g:617:4: ( '(' )
-            // C:\\dev\\jbossrules\\trunk\\drools-compiler\\src\\main\\resources\\org\\drools\\clp\\CLP.g:617:4: '('
+            // D:\\workspace\\jboss\\jbossrules\\drools-compiler\\src\\main\\resources\\org\\drools\\clp\\CLP.g:628:4: ( '(' )
+            // D:\\workspace\\jboss\\jbossrules\\drools-compiler\\src\\main\\resources\\org\\drools\\clp\\CLP.g:628:4: '('
             {
             match('('); if (failed) return ;
 
@@ -1638,8 +1566,7 @@
                       }
 
                       
-            }
-        }
+            }    }
         finally {
             ruleNestingLevel--;
         }
@@ -1655,8 +1582,8 @@
             int _line = getLine();
             int _charPosition = getCharPositionInLine();
             int _channel = Token.DEFAULT_CHANNEL;
-            // C:\\dev\\jbossrules\\trunk\\drools-compiler\\src\\main\\resources\\org\\drools\\clp\\CLP.g:621:4: ( ')' )
-            // C:\\dev\\jbossrules\\trunk\\drools-compiler\\src\\main\\resources\\org\\drools\\clp\\CLP.g:621:4: ')'
+            // D:\\workspace\\jboss\\jbossrules\\drools-compiler\\src\\main\\resources\\org\\drools\\clp\\CLP.g:632:4: ( ')' )
+            // D:\\workspace\\jboss\\jbossrules\\drools-compiler\\src\\main\\resources\\org\\drools\\clp\\CLP.g:632:4: ')'
             {
             match(')'); if (failed) return ;
 
@@ -1670,8 +1597,7 @@
                       }
 
                       
-            }
-        }
+            }    }
         finally {
             ruleNestingLevel--;
         }
@@ -1687,8 +1613,8 @@
             int _line = getLine();
             int _charPosition = getCharPositionInLine();
             int _channel = Token.DEFAULT_CHANNEL;
-            // C:\\dev\\jbossrules\\trunk\\drools-compiler\\src\\main\\resources\\org\\drools\\clp\\CLP.g:625:4: ( '[' )
-            // C:\\dev\\jbossrules\\trunk\\drools-compiler\\src\\main\\resources\\org\\drools\\clp\\CLP.g:625:4: '['
+            // D:\\workspace\\jboss\\jbossrules\\drools-compiler\\src\\main\\resources\\org\\drools\\clp\\CLP.g:636:4: ( '[' )
+            // D:\\workspace\\jboss\\jbossrules\\drools-compiler\\src\\main\\resources\\org\\drools\\clp\\CLP.g:636:4: '['
             {
             match('['); if (failed) return ;
 
@@ -1702,8 +1628,7 @@
                       }
 
                       
-            }
-        }
+            }    }
         finally {
             ruleNestingLevel--;
         }
@@ -1719,8 +1644,8 @@
             int _line = getLine();
             int _charPosition = getCharPositionInLine();
             int _channel = Token.DEFAULT_CHANNEL;
-            // C:\\dev\\jbossrules\\trunk\\drools-compiler\\src\\main\\resources\\org\\drools\\clp\\CLP.g:629:4: ( ']' )
-            // C:\\dev\\jbossrules\\trunk\\drools-compiler\\src\\main\\resources\\org\\drools\\clp\\CLP.g:629:4: ']'
+            // D:\\workspace\\jboss\\jbossrules\\drools-compiler\\src\\main\\resources\\org\\drools\\clp\\CLP.g:640:4: ( ']' )
+            // D:\\workspace\\jboss\\jbossrules\\drools-compiler\\src\\main\\resources\\org\\drools\\clp\\CLP.g:640:4: ']'
             {
             match(']'); if (failed) return ;
 
@@ -1734,8 +1659,7 @@
                       }
 
                       
-            }
-        }
+            }    }
         finally {
             ruleNestingLevel--;
         }
@@ -1751,8 +1675,8 @@
             int _line = getLine();
             int _charPosition = getCharPositionInLine();
             int _channel = Token.DEFAULT_CHANNEL;
-            // C:\\dev\\jbossrules\\trunk\\drools-compiler\\src\\main\\resources\\org\\drools\\clp\\CLP.g:633:4: ( '{' )
-            // C:\\dev\\jbossrules\\trunk\\drools-compiler\\src\\main\\resources\\org\\drools\\clp\\CLP.g:633:4: '{'
+            // D:\\workspace\\jboss\\jbossrules\\drools-compiler\\src\\main\\resources\\org\\drools\\clp\\CLP.g:644:4: ( '{' )
+            // D:\\workspace\\jboss\\jbossrules\\drools-compiler\\src\\main\\resources\\org\\drools\\clp\\CLP.g:644:4: '{'
             {
             match('{'); if (failed) return ;
 
@@ -1766,8 +1690,7 @@
                       }
 
                       
-            }
-        }
+            }    }
         finally {
             ruleNestingLevel--;
         }
@@ -1783,8 +1706,8 @@
             int _line = getLine();
             int _charPosition = getCharPositionInLine();
             int _channel = Token.DEFAULT_CHANNEL;
-            // C:\\dev\\jbossrules\\trunk\\drools-compiler\\src\\main\\resources\\org\\drools\\clp\\CLP.g:637:4: ( '}' )
-            // C:\\dev\\jbossrules\\trunk\\drools-compiler\\src\\main\\resources\\org\\drools\\clp\\CLP.g:637:4: '}'
+            // D:\\workspace\\jboss\\jbossrules\\drools-compiler\\src\\main\\resources\\org\\drools\\clp\\CLP.g:648:4: ( '}' )
+            // D:\\workspace\\jboss\\jbossrules\\drools-compiler\\src\\main\\resources\\org\\drools\\clp\\CLP.g:648:4: '}'
             {
             match('}'); if (failed) return ;
 
@@ -1798,14 +1721,106 @@
                       }
 
                       
+            }    }
+        finally {
+            ruleNestingLevel--;
+        }
+    }
+    // $ANTLR end RIGHT_CURLY
+
+    // $ANTLR start TILDE
+    public void mTILDE() throws RecognitionException {
+        try {
+            ruleNestingLevel++;
+            int _type = TILDE;
+            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:651:9: ( '~' )
+            // D:\\workspace\\jboss\\jbossrules\\drools-compiler\\src\\main\\resources\\org\\drools\\clp\\CLP.g:651: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 TILDE
+
+    // $ANTLR start AMPERSAND
+    public void mAMPERSAND() throws RecognitionException {
+        try {
+            ruleNestingLevel++;
+            int _type = AMPERSAND;
+            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:655:4: ( '&' )
+            // D:\\workspace\\jboss\\jbossrules\\drools-compiler\\src\\main\\resources\\org\\drools\\clp\\CLP.g:655: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 RIGHT_CURLY
+    // $ANTLR end AMPERSAND
 
+    // $ANTLR start PIPE
+    public void mPIPE() throws RecognitionException {
+        try {
+            ruleNestingLevel++;
+            int _type = PIPE;
+            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:659:4: ( '|' )
+            // D:\\workspace\\jboss\\jbossrules\\drools-compiler\\src\\main\\resources\\org\\drools\\clp\\CLP.g:659: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 PIPE
+
     // $ANTLR start MULTI_LINE_COMMENT
     public void mMULTI_LINE_COMMENT() throws RecognitionException {
         try {
@@ -1815,35 +1830,35 @@
             int _line = getLine();
             int _charPosition = getCharPositionInLine();
             int _channel = Token.DEFAULT_CHANNEL;
-            // C:\\dev\\jbossrules\\trunk\\drools-compiler\\src\\main\\resources\\org\\drools\\clp\\CLP.g:641:4: ( '/*' ( options {greedy=false; } : . )* '*/' )
-            // C:\\dev\\jbossrules\\trunk\\drools-compiler\\src\\main\\resources\\org\\drools\\clp\\CLP.g:641:4: '/*' ( options {greedy=false; } : . )* '*/'
+            // D:\\workspace\\jboss\\jbossrules\\drools-compiler\\src\\main\\resources\\org\\drools\\clp\\CLP.g:663:4: ( '/*' ( options {greedy=false; } : . )* '*/' )
+            // D:\\workspace\\jboss\\jbossrules\\drools-compiler\\src\\main\\resources\\org\\drools\\clp\\CLP.g:663:4: '/*' ( options {greedy=false; } : . )* '*/'
             {
             match("/*"); if (failed) return ;
 
-            // C:\\dev\\jbossrules\\trunk\\drools-compiler\\src\\main\\resources\\org\\drools\\clp\\CLP.g:641:9: ( options {greedy=false; } : . )*
-            loop17:
+            // D:\\workspace\\jboss\\jbossrules\\drools-compiler\\src\\main\\resources\\org\\drools\\clp\\CLP.g:663:9: ( options {greedy=false; } : . )*
+            loop18:
             do {
-                int alt17=2;
-                int LA17_0 = input.LA(1);
-                if ( (LA17_0=='*') ) {
-                    int LA17_1 = input.LA(2);
-                    if ( (LA17_1=='/') ) {
-                        alt17=2;
+                int alt18=2;
+                int LA18_0 = input.LA(1);
+                if ( (LA18_0=='*') ) {
+                    int LA18_1 = input.LA(2);
+                    if ( (LA18_1=='/') ) {
+                        alt18=2;
                     }
-                    else if ( ((LA17_1>='\u0000' && LA17_1<='.')||(LA17_1>='0' && LA17_1<='\uFFFE')) ) {
-                        alt17=1;
+                    else if ( ((LA18_1>='\u0000' && LA18_1<='.')||(LA18_1>='0' && LA18_1<='\uFFFE')) ) {
+                        alt18=1;
                     }
 
 
                 }
-                else if ( ((LA17_0>='\u0000' && LA17_0<=')')||(LA17_0>='+' && LA17_0<='\uFFFE')) ) {
-                    alt17=1;
+                else if ( ((LA18_0>='\u0000' && LA18_0<=')')||(LA18_0>='+' && LA18_0<='\uFFFE')) ) {
+                    alt18=1;
                 }
 
 
-                switch (alt17) {
+                switch (alt18) {
             	case 1 :
-            	    // C:\\dev\\jbossrules\\trunk\\drools-compiler\\src\\main\\resources\\org\\drools\\clp\\CLP.g:641:35: .
+            	    // D:\\workspace\\jboss\\jbossrules\\drools-compiler\\src\\main\\resources\\org\\drools\\clp\\CLP.g:663:35: .
             	    {
             	    matchAny(); if (failed) return ;
 
@@ -1851,7 +1866,7 @@
             	    break;
 
             	default :
-            	    break loop17;
+            	    break loop18;
                 }
             } while (true);
 
@@ -1871,8 +1886,7 @@
                       }
 
                       
-            }
-        }
+            }    }
         finally {
             ruleNestingLevel--;
         }
@@ -1888,24 +1902,217 @@
             int _line = getLine();
             int _charPosition = getCharPositionInLine();
             int _channel = Token.DEFAULT_CHANNEL;
-            // C:\\dev\\jbossrules\\trunk\\drools-compiler\\src\\main\\resources\\org\\drools\\clp\\CLP.g:645:7: ( ('!'|'@'|'$'|'%'|'^'|'&'|'*'|'_'|'-'|'+'|'?'|'|'|','|'='|'/'|'\\''|'\\\\'))
-            // C:\\dev\\jbossrules\\trunk\\drools-compiler\\src\\main\\resources\\org\\drools\\clp\\CLP.g:646:3: ('!'|'@'|'$'|'%'|'^'|'&'|'*'|'_'|'-'|'+'|'?'|'|'|','|'='|'/'|'\\''|'\\\\')
-            {
-            if ( input.LA(1)=='!'||(input.LA(1)>='$' && input.LA(1)<='\'')||(input.LA(1)>='*' && input.LA(1)<='-')||input.LA(1)=='/'||input.LA(1)=='='||(input.LA(1)>='?' && input.LA(1)<='@')||input.LA(1)=='\\'||(input.LA(1)>='^' && input.LA(1)<='_')||input.LA(1)=='|' ) {
-                input.consume();
-            failed=false;
-            }
-            else {
+            // D:\\workspace\\jboss\\jbossrules\\drools-compiler\\src\\main\\resources\\org\\drools\\clp\\CLP.g:668:3: ( '!' | '@' | '$' | '%' | '^' | '*' | '_' | '-' | '+' | '?' | ',' | '=' | '/' | '\\'' | '\\\\' | '<' | '>' | '<=' | '>=' )
+            int alt19=19;
+            switch ( input.LA(1) ) {
+            case '!':
+                alt19=1;
+                break;
+            case '@':
+                alt19=2;
+                break;
+            case '$':
+                alt19=3;
+                break;
+            case '%':
+                alt19=4;
+                break;
+            case '^':
+                alt19=5;
+                break;
+            case '*':
+                alt19=6;
+                break;
+            case '_':
+                alt19=7;
+                break;
+            case '-':
+                alt19=8;
+                break;
+            case '+':
+                alt19=9;
+                break;
+            case '?':
+                alt19=10;
+                break;
+            case ',':
+                alt19=11;
+                break;
+            case '=':
+                alt19=12;
+                break;
+            case '/':
+                alt19=13;
+                break;
+            case '\'':
+                alt19=14;
+                break;
+            case '\\':
+                alt19=15;
+                break;
+            case '<':
+                int LA19_16 = input.LA(2);
+                if ( (LA19_16=='=') ) {
+                    alt19=18;
+                }
+                else {
+                    alt19=16;}
+                break;
+            case '>':
+                int LA19_17 = input.LA(2);
+                if ( (LA19_17=='=') ) {
+                    alt19=19;
+                }
+                else {
+                    alt19=17;}
+                break;
+            default:
                 if (backtracking>0) {failed=true; return ;}
-                MismatchedSetException mse =
-                    new MismatchedSetException(null,input);
-                recover(mse);    throw mse;
+                NoViableAltException nvae =
+                    new NoViableAltException("667:1: MISC : ( '!' | '@' | '$' | '%' | '^' | '*' | '_' | '-' | '+' | '?' | ',' | '=' | '/' | '\\'' | '\\\\' | '<' | '>' | '<=' | '>=' );", 19, 0, input);
+
+                throw nvae;
             }
 
+            switch (alt19) {
+                case 1 :
+                    // D:\\workspace\\jboss\\jbossrules\\drools-compiler\\src\\main\\resources\\org\\drools\\clp\\CLP.g:668:3: '!'
+                    {
+                    match('!'); if (failed) return ;
 
+                    }
+                    break;
+                case 2 :
+                    // D:\\workspace\\jboss\\jbossrules\\drools-compiler\\src\\main\\resources\\org\\drools\\clp\\CLP.g:668:9: '@'
+                    {
+                    match('@'); if (failed) return ;
+
+                    }
+                    break;
+                case 3 :
+                    // D:\\workspace\\jboss\\jbossrules\\drools-compiler\\src\\main\\resources\\org\\drools\\clp\\CLP.g:668:15: '$'
+                    {
+                    match('$'); if (failed) return ;
+
+                    }
+                    break;
+                case 4 :
+                    // D:\\workspace\\jboss\\jbossrules\\drools-compiler\\src\\main\\resources\\org\\drools\\clp\\CLP.g:668:21: '%'
+                    {
+                    match('%'); if (failed) return ;
+
+                    }
+                    break;
+                case 5 :
+                    // D:\\workspace\\jboss\\jbossrules\\drools-compiler\\src\\main\\resources\\org\\drools\\clp\\CLP.g:668:27: '^'
+                    {
+                    match('^'); if (failed) return ;
+
+                    }
+                    break;
+                case 6 :
+                    // D:\\workspace\\jboss\\jbossrules\\drools-compiler\\src\\main\\resources\\org\\drools\\clp\\CLP.g:668:33: '*'
+                    {
+                    match('*'); if (failed) return ;
+
+                    }
+                    break;
+                case 7 :
+                    // D:\\workspace\\jboss\\jbossrules\\drools-compiler\\src\\main\\resources\\org\\drools\\clp\\CLP.g:668:39: '_'
+                    {
+                    match('_'); if (failed) return ;
+
+                    }
+                    break;
+                case 8 :
+                    // D:\\workspace\\jboss\\jbossrules\\drools-compiler\\src\\main\\resources\\org\\drools\\clp\\CLP.g:668:45: '-'
+                    {
+                    match('-'); if (failed) return ;
+
+                    }
+                    break;
+                case 9 :
+                    // D:\\workspace\\jboss\\jbossrules\\drools-compiler\\src\\main\\resources\\org\\drools\\clp\\CLP.g:668:51: '+'
+                    {
+                    match('+'); if (failed) return ;
+
+                    }
+                    break;
+                case 10 :
+                    // D:\\workspace\\jboss\\jbossrules\\drools-compiler\\src\\main\\resources\\org\\drools\\clp\\CLP.g:668:58: '?'
+                    {
+                    match('?'); if (failed) return ;
+
+                    }
+                    break;
+                case 11 :
+                    // D:\\workspace\\jboss\\jbossrules\\drools-compiler\\src\\main\\resources\\org\\drools\\clp\\CLP.g:668:64: ','
+                    {
+                    match(','); if (failed) return ;
+
+                    }
+                    break;
+                case 12 :
+                    // D:\\workspace\\jboss\\jbossrules\\drools-compiler\\src\\main\\resources\\org\\drools\\clp\\CLP.g:668:70: '='
+                    {
+                    match('='); if (failed) return ;
+
+                    }
+                    break;
+                case 13 :
+                    // D:\\workspace\\jboss\\jbossrules\\drools-compiler\\src\\main\\resources\\org\\drools\\clp\\CLP.g:668:76: '/'
+                    {
+                    match('/'); if (failed) return ;
+
+                    }
+                    break;
+                case 14 :
+                    // D:\\workspace\\jboss\\jbossrules\\drools-compiler\\src\\main\\resources\\org\\drools\\clp\\CLP.g:668:82: '\\''
+                    {
+                    match('\''); if (failed) return ;
+
+                    }
+                    break;
+                case 15 :
+                    // D:\\workspace\\jboss\\jbossrules\\drools-compiler\\src\\main\\resources\\org\\drools\\clp\\CLP.g:668:89: '\\\\'
+                    {
+                    match('\\'); if (failed) return ;
+
+                    }
+                    break;
+                case 16 :
+                    // D:\\workspace\\jboss\\jbossrules\\drools-compiler\\src\\main\\resources\\org\\drools\\clp\\CLP.g:669:3: '<'
+                    {
+                    match('<'); if (failed) return ;
+
+                    }
+                    break;
+                case 17 :
+                    // D:\\workspace\\jboss\\jbossrules\\drools-compiler\\src\\main\\resources\\org\\drools\\clp\\CLP.g:669:9: '>'
+                    {
+                    match('>'); if (failed) return ;
+
+                    }
+                    break;
+                case 18 :
+                    // D:\\workspace\\jboss\\jbossrules\\drools-compiler\\src\\main\\resources\\org\\drools\\clp\\CLP.g:669:15: '<='
+                    {
+                    match("<="); if (failed) return ;
+
+
+                    }
+                    break;
+                case 19 :
+                    // D:\\workspace\\jboss\\jbossrules\\drools-compiler\\src\\main\\resources\\org\\drools\\clp\\CLP.g:669:22: '>='
+                    {
+                    match(">="); if (failed) return ;
+
+
+                    }
+                    break;
+
             }
 
-
             if ( backtracking==0 ) {
 
                       if ( token==null && ruleNestingLevel==1 ) {
@@ -1913,386 +2120,680 @@
                       }
 
                       
-            }
-        }
+            }    }
         finally {
             ruleNestingLevel--;
         }
     }
     // $ANTLR end MISC
 
+    // $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:673:4: ( (~ (' '|'('|')'|'~'|'\"'|'?'|'&'|'|'))+ )
+            // D:\\workspace\\jboss\\jbossrules\\drools-compiler\\src\\main\\resources\\org\\drools\\clp\\CLP.g:673:4: (~ (' '|'('|')'|'~'|'\"'|'?'|'&'|'|'))+
+            {
+            // D:\\workspace\\jboss\\jbossrules\\drools-compiler\\src\\main\\resources\\org\\drools\\clp\\CLP.g:673:4: (~ (' '|'('|')'|'~'|'\"'|'?'|'&'|'|'))+
+            int cnt20=0;
+            loop20:
+            do {
+                int alt20=2;
+                int LA20_0 = input.LA(1);
+                if ( ((LA20_0>='\u0000' && LA20_0<='\u001F')||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;
+                }
+
+
+                switch (alt20) {
+            	case 1 :
+            	    // D:\\workspace\\jboss\\jbossrules\\drools-compiler\\src\\main\\resources\\org\\drools\\clp\\CLP.g:673:5: ~ (' '|'('|')'|'~'|'\"'|'?'|'&'|'|')
+            	    {
+            	    if ( (input.LA(1)>='\u0000' && 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)>='\u007F' && input.LA(1)<='\uFFFE') ) {
+            	        input.consume();
+            	    failed=false;
+            	    }
+            	    else {
+            	        if (backtracking>0) {failed=true; return ;}
+            	        MismatchedSetException mse =
+            	            new MismatchedSetException(null,input);
+            	        recover(mse);    throw mse;
+            	    }
+
+
+            	    }
+            	    break;
+
+            	default :
+            	    if ( cnt20 >= 1 ) break loop20;
+            	    if (backtracking>0) {failed=true; return ;}
+                        EarlyExitException eee =
+                            new EarlyExitException(20, input);
+                        throw eee;
+                }
+                cnt20++;
+            } while (true);
+
+
+            }
+
+
+            if ( backtracking==0 ) {
+
+                      if ( token==null && ruleNestingLevel==1 ) {
+                          emit(_type,_line,_charPosition,_channel,_start,getCharIndex()-1);
+                      }
+
+                      
+            }    }
+        finally {
+            ruleNestingLevel--;
+        }
+    }
+    // $ANTLR end SYMBOL
+
     public void mTokens() throws RecognitionException {
-        // C:\\dev\\jbossrules\\trunk\\drools-compiler\\src\\main\\resources\\org\\drools\\clp\\CLP.g:1:10: ( T33 | T34 | T35 | T36 | T37 | T38 | T39 | T40 | DEFRULE | OR | AND | NOT | EXISTS | TEST | VAR | ID | NULL | WS | INT | FLOAT | STRING | BOOL | SH_STYLE_SINGLE_LINE_COMMENT | C_STYLE_SINGLE_LINE_COMMENT | LEFT_PAREN | RIGHT_PAREN | LEFT_SQUARE | RIGHT_SQUARE | LEFT_CURLY | RIGHT_CURLY | MULTI_LINE_COMMENT | MISC )
-        int alt18=32;
-        alt18 = dfa18.predict(input);
-        switch (alt18) {
+        // D:\\workspace\\jboss\\jbossrules\\drools-compiler\\src\\main\\resources\\org\\drools\\clp\\CLP.g:1:10: ( T37 | T38 | T39 | T40 | T41 | DEFRULE | OR | AND | NOT | EXISTS | TEST | NULL | WS | INT | FLOAT | STRING | BOOL | VAR | ID | 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=33;
+        alt21 = dfa21.predict(input);
+        switch (alt21) {
             case 1 :
-                // C:\\dev\\jbossrules\\trunk\\drools-compiler\\src\\main\\resources\\org\\drools\\clp\\CLP.g:1:10: T33
+                // D:\\workspace\\jboss\\jbossrules\\drools-compiler\\src\\main\\resources\\org\\drools\\clp\\CLP.g:1:10: T37
                 {
-                mT33(); if (failed) return ;
+                mT37(); if (failed) return ;
 
                 }
                 break;
             case 2 :
-                // C:\\dev\\jbossrules\\trunk\\drools-compiler\\src\\main\\resources\\org\\drools\\clp\\CLP.g:1:14: T34
+                // D:\\workspace\\jboss\\jbossrules\\drools-compiler\\src\\main\\resources\\org\\drools\\clp\\CLP.g:1:14: T38
                 {
-                mT34(); if (failed) return ;
+                mT38(); if (failed) return ;
 
                 }
                 break;
             case 3 :
-                // C:\\dev\\jbossrules\\trunk\\drools-compiler\\src\\main\\resources\\org\\drools\\clp\\CLP.g:1:18: T35
+                // D:\\workspace\\jboss\\jbossrules\\drools-compiler\\src\\main\\resources\\org\\drools\\clp\\CLP.g:1:18: T39
                 {
-                mT35(); if (failed) return ;
+                mT39(); if (failed) return ;
 
                 }
                 break;
             case 4 :
-                // C:\\dev\\jbossrules\\trunk\\drools-compiler\\src\\main\\resources\\org\\drools\\clp\\CLP.g:1:22: T36
+                // D:\\workspace\\jboss\\jbossrules\\drools-compiler\\src\\main\\resources\\org\\drools\\clp\\CLP.g:1:22: T40
                 {
-                mT36(); if (failed) return ;
+                mT40(); if (failed) return ;
 
                 }
                 break;
             case 5 :
-                // C:\\dev\\jbossrules\\trunk\\drools-compiler\\src\\main\\resources\\org\\drools\\clp\\CLP.g:1:26: T37
+                // D:\\workspace\\jboss\\jbossrules\\drools-compiler\\src\\main\\resources\\org\\drools\\clp\\CLP.g:1:26: T41
                 {
-                mT37(); if (failed) return ;
+                mT41(); if (failed) return ;
 
                 }
                 break;
             case 6 :
-                // C:\\dev\\jbossrules\\trunk\\drools-compiler\\src\\main\\resources\\org\\drools\\clp\\CLP.g:1:30: T38
+                // D:\\workspace\\jboss\\jbossrules\\drools-compiler\\src\\main\\resources\\org\\drools\\clp\\CLP.g:1:30: DEFRULE
                 {
-                mT38(); if (failed) return ;
+                mDEFRULE(); if (failed) return ;
 
                 }
                 break;
             case 7 :
-                // C:\\dev\\jbossrules\\trunk\\drools-compiler\\src\\main\\resources\\org\\drools\\clp\\CLP.g:1:34: T39
+                // D:\\workspace\\jboss\\jbossrules\\drools-compiler\\src\\main\\resources\\org\\drools\\clp\\CLP.g:1:38: OR
                 {
-                mT39(); if (failed) return ;
+                mOR(); if (failed) return ;
 
                 }
                 break;
             case 8 :
-                // C:\\dev\\jbossrules\\trunk\\drools-compiler\\src\\main\\resources\\org\\drools\\clp\\CLP.g:1:38: T40
+                // D:\\workspace\\jboss\\jbossrules\\drools-compiler\\src\\main\\resources\\org\\drools\\clp\\CLP.g:1:41: AND
                 {
-                mT40(); if (failed) return ;
+                mAND(); if (failed) return ;
 
                 }
                 break;
             case 9 :
-                // C:\\dev\\jbossrules\\trunk\\drools-compiler\\src\\main\\resources\\org\\drools\\clp\\CLP.g:1:42: DEFRULE
+                // D:\\workspace\\jboss\\jbossrules\\drools-compiler\\src\\main\\resources\\org\\drools\\clp\\CLP.g:1:45: NOT
                 {
-                mDEFRULE(); if (failed) return ;
+                mNOT(); if (failed) return ;
 
                 }
                 break;
             case 10 :
-                // C:\\dev\\jbossrules\\trunk\\drools-compiler\\src\\main\\resources\\org\\drools\\clp\\CLP.g:1:50: OR
+                // D:\\workspace\\jboss\\jbossrules\\drools-compiler\\src\\main\\resources\\org\\drools\\clp\\CLP.g:1:49: EXISTS
                 {
-                mOR(); if (failed) return ;
+                mEXISTS(); if (failed) return ;
 
                 }
                 break;
             case 11 :
-                // C:\\dev\\jbossrules\\trunk\\drools-compiler\\src\\main\\resources\\org\\drools\\clp\\CLP.g:1:53: AND
+                // D:\\workspace\\jboss\\jbossrules\\drools-compiler\\src\\main\\resources\\org\\drools\\clp\\CLP.g:1:56: TEST
                 {
-                mAND(); if (failed) return ;
+                mTEST(); if (failed) return ;
 
                 }
                 break;
             case 12 :
-                // C:\\dev\\jbossrules\\trunk\\drools-compiler\\src\\main\\resources\\org\\drools\\clp\\CLP.g:1:57: NOT
+                // D:\\workspace\\jboss\\jbossrules\\drools-compiler\\src\\main\\resources\\org\\drools\\clp\\CLP.g:1:61: NULL
                 {
-                mNOT(); if (failed) return ;
+                mNULL(); if (failed) return ;
 
                 }
                 break;
             case 13 :
-                // C:\\dev\\jbossrules\\trunk\\drools-compiler\\src\\main\\resources\\org\\drools\\clp\\CLP.g:1:61: EXISTS
+                // D:\\workspace\\jboss\\jbossrules\\drools-compiler\\src\\main\\resources\\org\\drools\\clp\\CLP.g:1:66: WS
                 {
-                mEXISTS(); if (failed) return ;
+                mWS(); if (failed) return ;
 
                 }
                 break;
             case 14 :
-                // C:\\dev\\jbossrules\\trunk\\drools-compiler\\src\\main\\resources\\org\\drools\\clp\\CLP.g:1:68: TEST
+                // D:\\workspace\\jboss\\jbossrules\\drools-compiler\\src\\main\\resources\\org\\drools\\clp\\CLP.g:1:69: INT
                 {
-                mTEST(); if (failed) return ;
+                mINT(); if (failed) return ;
 
                 }
                 break;
             case 15 :
-                // C:\\dev\\jbossrules\\trunk\\drools-compiler\\src\\main\\resources\\org\\drools\\clp\\CLP.g:1:73: VAR
+                // D:\\workspace\\jboss\\jbossrules\\drools-compiler\\src\\main\\resources\\org\\drools\\clp\\CLP.g:1:73: FLOAT
                 {
-                mVAR(); if (failed) return ;
+                mFLOAT(); if (failed) return ;
 
                 }
                 break;
             case 16 :
-                // C:\\dev\\jbossrules\\trunk\\drools-compiler\\src\\main\\resources\\org\\drools\\clp\\CLP.g:1:77: ID
+                // D:\\workspace\\jboss\\jbossrules\\drools-compiler\\src\\main\\resources\\org\\drools\\clp\\CLP.g:1:79: STRING
                 {
-                mID(); if (failed) return ;
+                mSTRING(); if (failed) return ;
 
                 }
                 break;
             case 17 :
-                // C:\\dev\\jbossrules\\trunk\\drools-compiler\\src\\main\\resources\\org\\drools\\clp\\CLP.g:1:80: NULL
+                // D:\\workspace\\jboss\\jbossrules\\drools-compiler\\src\\main\\resources\\org\\drools\\clp\\CLP.g:1:86: BOOL
                 {
-                mNULL(); if (failed) return ;
+                mBOOL(); if (failed) return ;
 
                 }
                 break;
             case 18 :
-                // C:\\dev\\jbossrules\\trunk\\drools-compiler\\src\\main\\resources\\org\\drools\\clp\\CLP.g:1:85: WS
+                // D:\\workspace\\jboss\\jbossrules\\drools-compiler\\src\\main\\resources\\org\\drools\\clp\\CLP.g:1:91: VAR
                 {
-                mWS(); if (failed) return ;
+                mVAR(); if (failed) return ;
 
                 }
                 break;
             case 19 :
-                // C:\\dev\\jbossrules\\trunk\\drools-compiler\\src\\main\\resources\\org\\drools\\clp\\CLP.g:1:88: INT
+                // D:\\workspace\\jboss\\jbossrules\\drools-compiler\\src\\main\\resources\\org\\drools\\clp\\CLP.g:1:95: ID
                 {
-                mINT(); if (failed) return ;
+                mID(); if (failed) return ;
 
                 }
                 break;
             case 20 :
-                // C:\\dev\\jbossrules\\trunk\\drools-compiler\\src\\main\\resources\\org\\drools\\clp\\CLP.g:1:92: FLOAT
+                // D:\\workspace\\jboss\\jbossrules\\drools-compiler\\src\\main\\resources\\org\\drools\\clp\\CLP.g:1:98: SH_STYLE_SINGLE_LINE_COMMENT
                 {
-                mFLOAT(); if (failed) return ;
+                mSH_STYLE_SINGLE_LINE_COMMENT(); if (failed) return ;
 
                 }
                 break;
             case 21 :
-                // C:\\dev\\jbossrules\\trunk\\drools-compiler\\src\\main\\resources\\org\\drools\\clp\\CLP.g:1:98: STRING
+                // D:\\workspace\\jboss\\jbossrules\\drools-compiler\\src\\main\\resources\\org\\drools\\clp\\CLP.g:1:127: C_STYLE_SINGLE_LINE_COMMENT
                 {
-                mSTRING(); if (failed) return ;
+                mC_STYLE_SINGLE_LINE_COMMENT(); if (failed) return ;
 
                 }
                 break;
             case 22 :
-                // C:\\dev\\jbossrules\\trunk\\drools-compiler\\src\\main\\resources\\org\\drools\\clp\\CLP.g:1:105: BOOL
+                // D:\\workspace\\jboss\\jbossrules\\drools-compiler\\src\\main\\resources\\org\\drools\\clp\\CLP.g:1:155: LEFT_PAREN
                 {
-                mBOOL(); if (failed) return ;
+                mLEFT_PAREN(); if (failed) return ;
 
                 }
                 break;
             case 23 :
-                // C:\\dev\\jbossrules\\trunk\\drools-compiler\\src\\main\\resources\\org\\drools\\clp\\CLP.g:1:110: SH_STYLE_SINGLE_LINE_COMMENT
+                // D:\\workspace\\jboss\\jbossrules\\drools-compiler\\src\\main\\resources\\org\\drools\\clp\\CLP.g:1:166: RIGHT_PAREN
                 {
-                mSH_STYLE_SINGLE_LINE_COMMENT(); if (failed) return ;
+                mRIGHT_PAREN(); if (failed) return ;
 
                 }
                 break;
             case 24 :
-                // C:\\dev\\jbossrules\\trunk\\drools-compiler\\src\\main\\resources\\org\\drools\\clp\\CLP.g:1:139: C_STYLE_SINGLE_LINE_COMMENT
+                // D:\\workspace\\jboss\\jbossrules\\drools-compiler\\src\\main\\resources\\org\\drools\\clp\\CLP.g:1:178: LEFT_SQUARE
                 {
-                mC_STYLE_SINGLE_LINE_COMMENT(); if (failed) return ;
+                mLEFT_SQUARE(); if (failed) return ;
 
                 }
                 break;
             case 25 :
-                // C:\\dev\\jbossrules\\trunk\\drools-compiler\\src\\main\\resources\\org\\drools\\clp\\CLP.g:1:167: LEFT_PAREN
+                // D:\\workspace\\jboss\\jbossrules\\drools-compiler\\src\\main\\resources\\org\\drools\\clp\\CLP.g:1:190: RIGHT_SQUARE
                 {
-                mLEFT_PAREN(); if (failed) return ;
+                mRIGHT_SQUARE(); if (failed) return ;
 
                 }
                 break;
             case 26 :
-                // C:\\dev\\jbossrules\\trunk\\drools-compiler\\src\\main\\resources\\org\\drools\\clp\\CLP.g:1:178: RIGHT_PAREN
+                // D:\\workspace\\jboss\\jbossrules\\drools-compiler\\src\\main\\resources\\org\\drools\\clp\\CLP.g:1:203: LEFT_CURLY
                 {
-                mRIGHT_PAREN(); if (failed) return ;
+                mLEFT_CURLY(); if (failed) return ;
 
                 }
                 break;
             case 27 :
-                // C:\\dev\\jbossrules\\trunk\\drools-compiler\\src\\main\\resources\\org\\drools\\clp\\CLP.g:1:190: LEFT_SQUARE
+                // D:\\workspace\\jboss\\jbossrules\\drools-compiler\\src\\main\\resources\\org\\drools\\clp\\CLP.g:1:214: RIGHT_CURLY
                 {
-                mLEFT_SQUARE(); if (failed) return ;
+                mRIGHT_CURLY(); if (failed) return ;
 
                 }
                 break;
             case 28 :
-                // C:\\dev\\jbossrules\\trunk\\drools-compiler\\src\\main\\resources\\org\\drools\\clp\\CLP.g:1:202: RIGHT_SQUARE
+                // D:\\workspace\\jboss\\jbossrules\\drools-compiler\\src\\main\\resources\\org\\drools\\clp\\CLP.g:1:226: TILDE
                 {
-                mRIGHT_SQUARE(); if (failed) return ;
+                mTILDE(); if (failed) return ;
 
                 }
                 break;
             case 29 :
-                // C:\\dev\\jbossrules\\trunk\\drools-compiler\\src\\main\\resources\\org\\drools\\clp\\CLP.g:1:215: LEFT_CURLY
+                // D:\\workspace\\jboss\\jbossrules\\drools-compiler\\src\\main\\resources\\org\\drools\\clp\\CLP.g:1:232: AMPERSAND
                 {
-                mLEFT_CURLY(); if (failed) return ;
+                mAMPERSAND(); if (failed) return ;
 
                 }
                 break;
             case 30 :
-                // C:\\dev\\jbossrules\\trunk\\drools-compiler\\src\\main\\resources\\org\\drools\\clp\\CLP.g:1:226: RIGHT_CURLY
+                // D:\\workspace\\jboss\\jbossrules\\drools-compiler\\src\\main\\resources\\org\\drools\\clp\\CLP.g:1:242: PIPE
                 {
-                mRIGHT_CURLY(); if (failed) return ;
+                mPIPE(); if (failed) return ;
 
                 }
                 break;
             case 31 :
-                // C:\\dev\\jbossrules\\trunk\\drools-compiler\\src\\main\\resources\\org\\drools\\clp\\CLP.g:1:238: MULTI_LINE_COMMENT
+                // D:\\workspace\\jboss\\jbossrules\\drools-compiler\\src\\main\\resources\\org\\drools\\clp\\CLP.g:1:247: MULTI_LINE_COMMENT
                 {
                 mMULTI_LINE_COMMENT(); if (failed) return ;
 
                 }
                 break;
             case 32 :
-                // C:\\dev\\jbossrules\\trunk\\drools-compiler\\src\\main\\resources\\org\\drools\\clp\\CLP.g:1:257: MISC
+                // D:\\workspace\\jboss\\jbossrules\\drools-compiler\\src\\main\\resources\\org\\drools\\clp\\CLP.g:1:266: MISC
                 {
                 mMISC(); if (failed) return ;
 
                 }
                 break;
+            case 33 :
+                // D:\\workspace\\jboss\\jbossrules\\drools-compiler\\src\\main\\resources\\org\\drools\\clp\\CLP.g:1:271: SYMBOL
+                {
+                mSYMBOL(); if (failed) return ;
 
+                }
+                break;
+
         }
 
     }
 
 
-    protected DFA18 dfa18 = new DFA18(this);
-    public static final String DFA18_eotS =
-        "\10\uffff\7\37\1\40\1\37\1\uffff\1\40\1\57\1\uffff\1\40\2\uffff"+
-        "\1\40\13\uffff\2\37\1\65\6\37\1\uffff\1\37\4\uffff\2\37\1\uffff"+
-        "\1\77\1\100\7\37\3\uffff\1\37\1\111\1\uffff\4\37\2\uffff\1\116\1"+
-        "\37\1\120\1\uffff\1\121\2\uffff";
-    public static final String DFA18_eofS =
-        "\122\uffff";
-    public static final String DFA18_minS =
-        "\1\11\7\uffff\1\157\1\145\1\162\1\156\1\157\1\170\1\145\1\44\1\141"+
-        "\1\uffff\1\60\1\56\1\uffff\1\0\2\uffff\1\52\13\uffff\1\144\1\146"+
-        "\1\60\1\144\1\164\1\154\1\151\1\163\1\165\1\uffff\1\154\4\uffff"+
-        "\1\151\1\162\1\uffff\2\60\1\154\1\163\1\164\1\145\1\163\1\146\1"+
-        "\165\3\uffff\1\164\1\60\1\uffff\1\145\1\171\1\154\1\163\2\uffff"+
-        "\1\60\1\145\1\60\1\uffff\1\60\2\uffff";
-    public static final String DFA18_maxS =
-        "\1\u00ff\7\uffff\1\157\1\145\1\162\1\156\1\165\1\170\1\162\1\u00ff"+
-        "\1\141\1\uffff\2\71\1\uffff\1\ufffe\2\uffff\1\57\13\uffff\1\144"+
-        "\1\146\1\u00ff\1\144\1\164\1\154\1\151\1\163\1\165\1\uffff\1\154"+
-        "\4\uffff\1\151\1\162\1\uffff\2\u00ff\1\154\1\163\1\164\1\145\1\163"+
-        "\1\146\1\165\3\uffff\1\164\1\u00ff\1\uffff\1\145\1\171\1\154\1\163"+
-        "\2\uffff\1\u00ff\1\145\1\u00ff\1\uffff\1\u00ff\2\uffff";
-    public static final String DFA18_acceptS =
-        "\1\uffff\1\1\1\2\1\3\1\4\1\5\1\6\1\7\11\uffff\1\22\2\uffff\1\25"+
-        "\1\uffff\1\20\1\27\1\uffff\1\31\1\32\1\33\1\34\1\35\1\36\1\20\1"+
-        "\40\1\3\1\4\1\7\11\uffff\1\17\1\uffff\1\23\1\24\1\30\1\37\2\uffff"+
-        "\1\12\11\uffff\1\13\1\14\1\20\2\uffff\1\20\4\uffff\1\16\1\20\3\uffff"+
-        "\1\10\1\uffff\1\15\1\11";
-    public static final String DFA18_specialS =
-        "\122\uffff}>";
-    public static final String[] DFA18_transition = {
-        "\2\21\1\uffff\2\21\22\uffff\1\21\1\40\1\24\1\27\1\26\1\40\1\3\1"+
-        "\25\1\31\1\32\3\40\1\22\1\uffff\1\30\12\23\1\6\1\1\1\2\1\7\1\uffff"+
-        "\1\17\1\40\32\37\1\33\1\40\1\34\1\40\1\26\1\uffff\1\13\2\37\1\11"+
-        "\1\15\1\20\6\37\1\10\1\14\1\12\4\37\1\16\6\37\1\35\1\4\1\36\1\5"+
-        "\101\uffff\100\37",
+    protected DFA21 dfa21 = new DFA21(this);
+    public static final String DFA21_eotS =
+        "\1\uffff\1\57\1\62\1\63\1\64\7\66\1\uffff\4\14\1\62\1\101\1\uffff"+
+        "\1\62\1\66\1\62\1\66\1\56\1\62\2\uffff\1\116\1\117\1\120\1\121\3"+
+        "\uffff\2\62\1\66\3\62\1\66\4\62\2\uffff\1\123\1\62\3\uffff\1\66"+
+        "\1\uffff\2\66\1\126\6\66\1\14\1\uffff\3\56\1\23\1\66\1\uffff\1\111"+
+        "\1\uffff\1\111\3\56\4\uffff\1\62\1\uffff\2\66\1\uffff\1\155\1\66"+
+        "\1\157\3\66\1\163\4\56\1\66\1\111\1\145\1\uffff\1\145\2\56\1\uffff"+
+        "\1\56\2\66\1\uffff\1\174\1\uffff\1\66\1\176\1\177\1\uffff\3\56\1"+
+        "\66\1\145\1\151\2\66\1\uffff\1\66\2\uffff\2\56\1\176\1\u0087\1\66"+
+        "\1\u0089\1\56\1\uffff\1\u008b\1\uffff\1\56\1\uffff";
+    public static final String DFA21_eofS =
+        "\u008c\uffff";
+    public static final String DFA21_minS =
+        "\14\0\1\uffff\6\0\1\uffff\2\0\1\44\3\0\2\uffff\4\0\3\uffff\13\0"+
+        "\2\uffff\2\0\3\uffff\1\0\1\uffff\12\0\1\uffff\1\60\1\42\3\0\1\uffff"+
+        "\1\0\1\uffff\4\0\4\uffff\1\0\1\uffff\2\0\1\uffff\10\0\1\60\5\0\1"+
+        "\uffff\3\0\1\uffff\3\0\1\uffff\1\0\1\uffff\3\0\1\uffff\1\60\7\0"+
+        "\1\uffff\1\0\2\uffff\1\60\5\0\1\60\1\uffff\1\0\1\uffff\1\0\1\uffff";
+    public static final String DFA21_maxS =
+        "\14\ufffe\1\uffff\6\ufffe\1\uffff\2\ufffe\1\u00ff\3\ufffe\2\uffff"+
+        "\4\ufffe\3\uffff\13\ufffe\2\uffff\2\ufffe\3\uffff\1\ufffe\1\uffff"+
+        "\12\ufffe\1\uffff\1\71\1\165\3\ufffe\1\uffff\1\ufffe\1\uffff\4\ufffe"+
+        "\4\uffff\1\ufffe\1\uffff\2\ufffe\1\uffff\10\ufffe\1\146\5\ufffe"+
+        "\1\uffff\3\ufffe\1\uffff\3\ufffe\1\uffff\1\ufffe\1\uffff\3\ufffe"+
+        "\1\uffff\1\146\7\ufffe\1\uffff\1\ufffe\2\uffff\1\146\5\ufffe\1\146"+
+        "\1\uffff\1\ufffe\1\uffff\1\ufffe\1\uffff";
+    public static final String DFA21_acceptS =
+        "\14\uffff\1\15\6\uffff\1\20\6\uffff\1\26\1\27\4\uffff\1\34\1\35"+
+        "\1\36\13\uffff\1\41\1\1\2\uffff\1\40\1\3\1\4\1\uffff\1\23\12\uffff"+
+        "\1\16\5\uffff\1\22\1\uffff\1\24\4\uffff\1\30\1\31\1\32\1\33\1\uffff"+
+        "\1\2\2\uffff\1\7\16\uffff\1\25\3\uffff\1\37\3\uffff\1\10\1\uffff"+
+        "\1\11\3\uffff\1\17\10\uffff\1\14\1\uffff\1\21\1\13\7\uffff\1\5\1"+
+        "\uffff\1\12\1\uffff\1\6";
+    public static final String DFA21_specialS =
+        "\u008c\uffff}>";
+    public static final String[] DFA21_transition = {
+        "\11\56\1\15\1\20\1\56\1\16\1\17\22\56\1\14\1\43\1\23\1\30\1\27\1"+
+        "\46\1\41\1\24\1\32\1\33\1\50\1\52\1\53\1\21\1\56\1\31\12\22\1\3"+
+        "\1\1\1\2\1\4\1\55\1\26\1\44\32\51\1\34\1\54\1\35\1\47\1\45\1\56"+
+        "\1\10\2\51\1\6\1\12\1\25\6\51\1\5\1\11\1\7\4\51\1\13\6\51\1\36\1"+
+        "\42\1\37\1\40\101\56\100\51\ufeff\56",
+        "\40\56\1\uffff\1\56\1\uffff\3\56\1\uffff\1\56\2\uffff\25\56\1\uffff"+
+        "\74\56\1\uffff\1\56\1\uffff\uff80\56",
+        "\40\56\1\uffff\1\56\1\uffff\3\56\1\uffff\1\56\2\uffff\3\56\1\60"+
+        "\17\56\1\61\1\56\1\uffff\74\56\1\uffff\1\56\1\uffff\uff80\56",
+        "\40\56\1\uffff\1\56\1\uffff\3\56\1\uffff\1\56\2\uffff\25\56\1\uffff"+
+        "\74\56\1\uffff\1\56\1\uffff\uff80\56",
+        "\40\56\1\uffff\1\56\1\uffff\3\56\1\uffff\1\56\2\uffff\25\56\1\uffff"+
+        "\74\56\1\uffff\1\56\1\uffff\uff80\56",
+        "\40\56\1\uffff\1\56\1\uffff\3\56\1\uffff\1\56\2\uffff\6\56\12\67"+
+        "\5\56\1\uffff\1\56\32\67\4\56\1\67\1\56\16\67\1\65\13\67\1\56\1"+
+        "\uffff\1\56\1\uffff\101\56\100\67\ufeff\56",
+        "\40\56\1\uffff\1\56\1\uffff\3\56\1\uffff\1\56\2\uffff\6\56\12\67"+
+        "\5\56\1\uffff\1\56\32\67\4\56\1\67\1\56\4\67\1\70\25\67\1\56\1\uffff"+
+        "\1\56\1\uffff\101\56\100\67\ufeff\56",
+        "\40\56\1\uffff\1\56\1\uffff\3\56\1\uffff\1\56\2\uffff\6\56\12\67"+
+        "\5\56\1\uffff\1\56\32\67\4\56\1\67\1\56\21\67\1\71\10\67\1\56\1"+
+        "\uffff\1\56\1\uffff\101\56\100\67\ufeff\56",
+        "\40\56\1\uffff\1\56\1\uffff\3\56\1\uffff\1\56\2\uffff\6\56\12\67"+
+        "\5\56\1\uffff\1\56\32\67\4\56\1\67\1\56\15\67\1\72\14\67\1\56\1"+
+        "\uffff\1\56\1\uffff\101\56\100\67\ufeff\56",
+        "\40\56\1\uffff\1\56\1\uffff\3\56\1\uffff\1\56\2\uffff\6\56\12\67"+
+        "\5\56\1\uffff\1\56\32\67\4\56\1\67\1\56\16\67\1\74\5\67\1\73\5\67"+
+        "\1\56\1\uffff\1\56\1\uffff\101\56\100\67\ufeff\56",
+        "\40\56\1\uffff\1\56\1\uffff\3\56\1\uffff\1\56\2\uffff\6\56\12\67"+
+        "\5\56\1\uffff\1\56\32\67\4\56\1\67\1\56\27\67\1\75\2\67\1\56\1\uffff"+
+        "\1\56\1\uffff\101\56\100\67\ufeff\56",
+        "\40\56\1\uffff\1\56\1\uffff\3\56\1\uffff\1\56\2\uffff\6\56\12\67"+
+        "\5\56\1\uffff\1\56\32\67\4\56\1\67\1\56\4\67\1\77\14\67\1\76\10"+
+        "\67\1\56\1\uffff\1\56\1\uffff\101\56\100\67\ufeff\56",
         "",
+        "\40\56\1\uffff\1\56\1\uffff\3\56\1\uffff\1\56\2\uffff\25\56\1\uffff"+
+        "\74\56\1\uffff\1\56\1\uffff\uff80\56",
+        "\40\56\1\uffff\1\56\1\uffff\3\56\1\uffff\1\56\2\uffff\25\56\1\uffff"+
+        "\74\56\1\uffff\1\56\1\uffff\uff80\56",
+        "\12\56\1\100\25\56\1\uffff\1\56\1\uffff\3\56\1\uffff\1\56\2\uffff"+
+        "\25\56\1\uffff\74\56\1\uffff\1\56\1\uffff\uff80\56",
+        "\40\56\1\uffff\1\56\1\uffff\3\56\1\uffff\1\56\2\uffff\25\56\1\uffff"+
+        "\74\56\1\uffff\1\56\1\uffff\uff80\56",
+        "\40\56\1\uffff\1\56\1\uffff\3\56\1\uffff\1\56\2\uffff\6\56\12\22"+
+        "\5\56\1\uffff\74\56\1\uffff\1\56\1\uffff\uff80\56",
+        "\40\56\1\uffff\1\56\1\uffff\3\56\1\uffff\1\56\2\uffff\4\56\1\102"+
+        "\1\56\12\22\5\56\1\uffff\74\56\1\uffff\1\56\1\uffff\uff80\56",
         "",
+        "\40\104\1\23\1\104\1\23\3\104\1\23\1\105\2\23\25\104\1\23\34\104"+
+        "\1\103\37\104\1\23\1\104\1\23\uff80\104",
+        "\40\56\1\uffff\1\56\1\uffff\3\56\1\uffff\1\56\2\uffff\6\56\12\67"+
+        "\5\56\1\uffff\1\56\32\67\4\56\1\67\1\56\1\106\31\67\1\56\1\uffff"+
+        "\1\56\1\uffff\101\56\100\67\ufeff\56",
+        "\1\107\34\uffff\32\107\4\uffff\1\107\1\uffff\32\107\105\uffff\100"+
+        "\107",
+        "\40\56\1\uffff\1\56\1\uffff\3\56\1\uffff\1\56\2\uffff\6\56\12\67"+
+        "\5\56\1\uffff\1\56\32\67\4\56\1\67\1\56\32\67\1\56\1\uffff\1\56"+
+        "\1\uffff\101\56\100\67\ufeff\56",
+        "\12\113\1\112\2\113\1\110\22\113\1\111\1\113\1\111\3\113\1\111\1"+
+        "\113\2\111\25\113\1\111\74\113\1\111\1\113\1\111\uff80\113",
+        "\40\56\1\uffff\1\56\1\uffff\3\56\1\uffff\1\56\2\uffff\1\115\4\56"+
+        "\1\114\17\56\1\uffff\74\56\1\uffff\1\56\1\uffff\uff80\56",
         "",
         "",
+        "\40\56\1\uffff\1\56\1\uffff\3\56\1\uffff\1\56\2\uffff\25\56\1\uffff"+
+        "\74\56\1\uffff\1\56\1\uffff\uff80\56",
+        "\40\56\1\uffff\1\56\1\uffff\3\56\1\uffff\1\56\2\uffff\25\56\1\uffff"+
+        "\74\56\1\uffff\1\56\1\uffff\uff80\56",
+        "\40\56\1\uffff\1\56\1\uffff\3\56\1\uffff\1\56\2\uffff\25\56\1\uffff"+
+        "\74\56\1\uffff\1\56\1\uffff\uff80\56",
+        "\40\56\1\uffff\1\56\1\uffff\3\56\1\uffff\1\56\2\uffff\25\56\1\uffff"+
+        "\74\56\1\uffff\1\56\1\uffff\uff80\56",
         "",
         "",
         "",
-        "\1\44",
-        "\1\45",
-        "\1\46",
-        "\1\47",
-        "\1\50\5\uffff\1\51",
-        "\1\52",
-        "\1\53\14\uffff\1\54",
-        "\1\55\34\uffff\32\55\4\uffff\1\55\1\uffff\32\55\105\uffff\100\55",
-        "\1\56",
+        "\40\56\1\uffff\1\56\1\uffff\3\56\1\uffff\1\56\2\uffff\25\56\1\uffff"+
+        "\74\56\1\uffff\1\56\1\uffff\uff80\56",
+        "\40\56\1\uffff\1\56\1\uffff\3\56\1\uffff\1\56\2\uffff\25\56\1\uffff"+
+        "\74\56\1\uffff\1\56\1\uffff\uff80\56",
+        "\40\56\1\uffff\1\56\1\uffff\3\56\1\uffff\1\56\2\uffff\6\56\12\67"+
+        "\5\56\1\uffff\1\56\32\67\4\56\1\67\1\56\32\67\1\56\1\uffff\1\56"+
+        "\1\uffff\101\56\100\67\ufeff\56",
+        "\40\56\1\uffff\1\56\1\uffff\3\56\1\uffff\1\56\2\uffff\25\56\1\uffff"+
+        "\74\56\1\uffff\1\56\1\uffff\uff80\56",
+        "\40\56\1\uffff\1\56\1\uffff\3\56\1\uffff\1\56\2\uffff\25\56\1\uffff"+
+        "\74\56\1\uffff\1\56\1\uffff\uff80\56",
+        "\40\56\1\uffff\1\56\1\uffff\3\56\1\uffff\1\56\2\uffff\25\56\1\uffff"+
+        "\74\56\1\uffff\1\56\1\uffff\uff80\56",
+        "\40\56\1\uffff\1\56\1\uffff\3\56\1\uffff\1\56\2\uffff\6\56\12\67"+
+        "\5\56\1\uffff\1\56\32\67\4\56\1\67\1\56\32\67\1\56\1\uffff\1\56"+
+        "\1\uffff\101\56\100\67\ufeff\56",
+        "\40\56\1\uffff\1\56\1\uffff\3\56\1\uffff\1\56\2\uffff\25\56\1\uffff"+
+        "\74\56\1\uffff\1\56\1\uffff\uff80\56",
+        "\40\56\1\uffff\1\56\1\uffff\3\56\1\uffff\1\56\2\uffff\25\56\1\uffff"+
+        "\74\56\1\uffff\1\56\1\uffff\uff80\56",
+        "\40\56\1\uffff\1\56\1\uffff\3\56\1\uffff\1\56\2\uffff\25\56\1\uffff"+
+        "\74\56\1\uffff\1\56\1\uffff\uff80\56",
+        "\40\56\1\uffff\1\56\1\uffff\3\56\1\uffff\1\56\2\uffff\23\56\1\122"+
+        "\1\56\1\uffff\74\56\1\uffff\1\56\1\uffff\uff80\56",
         "",
-        "\12\23",
-        "\1\60\1\uffff\12\23",
         "",
-        "\uffff\24",
+        "\40\56\1\uffff\1\56\1\uffff\3\56\1\uffff\1\56\2\uffff\25\56\1\uffff"+
+        "\74\56\1\uffff\1\56\1\uffff\uff80\56",
+        "\40\56\1\uffff\1\56\1\uffff\3\56\1\uffff\1\56\2\uffff\25\56\1\uffff"+
+        "\74\56\1\uffff\1\56\1\uffff\uff80\56",
         "",
         "",
-        "\1\62\4\uffff\1\61",
         "",
+        "\40\56\1\uffff\1\56\1\uffff\3\56\1\uffff\1\56\2\uffff\6\56\12\67"+
+        "\5\56\1\uffff\1\56\32\67\4\56\1\67\1\56\3\67\1\124\26\67\1\56\1"+
+        "\uffff\1\56\1\uffff\101\56\100\67\ufeff\56",
         "",
+        "\40\56\1\uffff\1\56\1\uffff\3\56\1\uffff\1\56\2\uffff\6\56\12\67"+
+        "\5\56\1\uffff\1\56\32\67\4\56\1\67\1\56\32\67\1\56\1\uffff\1\56"+
+        "\1\uffff\101\56\100\67\ufeff\56",
+        "\40\56\1\uffff\1\56\1\uffff\3\56\1\uffff\1\56\2\uffff\6\56\12\67"+
+        "\5\56\1\uffff\1\56\32\67\4\56\1\67\1\56\5\67\1\125\24\67\1\56\1"+
+        "\uffff\1\56\1\uffff\101\56\100\67\ufeff\56",
+        "\40\56\1\uffff\1\56\1\uffff\3\56\1\uffff\1\56\2\uffff\6\56\12\67"+
+        "\5\56\1\uffff\1\56\32\67\4\56\1\67\1\56\32\67\1\56\1\uffff\1\56"+
+        "\1\uffff\101\56\100\67\ufeff\56",
+        "\40\56\1\uffff\1\56\1\uffff\3\56\1\uffff\1\56\2\uffff\6\56\12\67"+
+        "\5\56\1\uffff\1\56\32\67\4\56\1\67\1\56\3\67\1\127\26\67\1\56\1"+
+        "\uffff\1\56\1\uffff\101\56\100\67\ufeff\56",
+        "\40\56\1\uffff\1\56\1\uffff\3\56\1\uffff\1\56\2\uffff\6\56\12\67"+
+        "\5\56\1\uffff\1\56\32\67\4\56\1\67\1\56\13\67\1\130\16\67\1\56\1"+
+        "\uffff\1\56\1\uffff\101\56\100\67\ufeff\56",
+        "\40\56\1\uffff\1\56\1\uffff\3\56\1\uffff\1\56\2\uffff\6\56\12\67"+
+        "\5\56\1\uffff\1\56\32\67\4\56\1\67\1\56\23\67\1\131\6\67\1\56\1"+
+        "\uffff\1\56\1\uffff\101\56\100\67\ufeff\56",
+        "\40\56\1\uffff\1\56\1\uffff\3\56\1\uffff\1\56\2\uffff\6\56\12\67"+
+        "\5\56\1\uffff\1\56\32\67\4\56\1\67\1\56\10\67\1\132\21\67\1\56\1"+
+        "\uffff\1\56\1\uffff\101\56\100\67\ufeff\56",
+        "\40\56\1\uffff\1\56\1\uffff\3\56\1\uffff\1\56\2\uffff\6\56\12\67"+
+        "\5\56\1\uffff\1\56\32\67\4\56\1\67\1\56\24\67\1\133\5\67\1\56\1"+
+        "\uffff\1\56\1\uffff\101\56\100\67\ufeff\56",
+        "\40\56\1\uffff\1\56\1\uffff\3\56\1\uffff\1\56\2\uffff\6\56\12\67"+
+        "\5\56\1\uffff\1\56\32\67\4\56\1\67\1\56\22\67\1\134\7\67\1\56\1"+
+        "\uffff\1\56\1\uffff\101\56\100\67\ufeff\56",
+        "\40\56\1\uffff\1\56\1\uffff\3\56\1\uffff\1\56\2\uffff\25\56\1\uffff"+
+        "\74\56\1\uffff\1\56\1\uffff\uff80\56",
         "",
+        "\12\135",
+        "\1\23\4\uffff\1\136\10\uffff\4\140\4\141\44\uffff\1\136\5\uffff"+
+        "\1\136\3\uffff\1\136\7\uffff\1\136\3\uffff\1\136\1\uffff\1\136\1"+
+        "\137",
+        "\40\104\1\23\1\104\1\23\3\104\1\23\1\105\2\23\25\104\1\23\34\104"+
+        "\1\103\37\104\1\23\1\104\1\23\uff80\104",
+        "\40\56\1\uffff\1\56\1\uffff\3\56\1\uffff\1\56\2\uffff\25\56\1\uffff"+
+        "\74\56\1\uffff\1\56\1\uffff\uff80\56",
+        "\40\56\1\uffff\1\56\1\uffff\3\56\1\uffff\1\56\2\uffff\6\56\12\67"+
+        "\5\56\1\uffff\1\56\32\67\4\56\1\67\1\56\13\67\1\142\16\67\1\56\1"+
+        "\uffff\1\56\1\uffff\101\56\100\67\ufeff\56",
         "",
+        "\12\113\1\143\2\113\1\110\22\113\1\uffff\1\113\1\uffff\3\113\1\uffff"+
+        "\1\113\2\uffff\25\113\1\uffff\74\113\1\uffff\1\113\1\uffff\uff80"+
+        "\113",
         "",
+        "\12\113\1\112\2\113\1\110\22\113\1\uffff\1\113\1\uffff\3\113\1\uffff"+
+        "\1\113\2\uffff\25\113\1\uffff\74\113\1\uffff\1\113\1\uffff\uff80"+
+        "\113",
+        "\12\113\1\112\2\113\1\110\22\113\1\111\1\113\1\111\3\113\1\111\1"+
+        "\113\2\111\25\113\1\111\74\113\1\111\1\113\1\111\uff80\113",
+        "\12\147\1\146\2\147\1\144\22\147\1\145\1\147\1\145\3\147\1\145\1"+
+        "\147\2\145\25\147\1\145\74\147\1\145\1\147\1\145\uff80\147",
+        "\40\152\1\151\1\152\1\151\3\152\1\151\1\152\2\151\1\150\24\152\1"+
+        "\151\74\152\1\151\1\152\1\151\uff80\152",
         "",
         "",
         "",
         "",
+        "\40\56\1\uffff\1\56\1\uffff\3\56\1\uffff\1\56\2\uffff\25\56\1\uffff"+
+        "\74\56\1\uffff\1\56\1\uffff\uff80\56",
         "",
+        "\40\56\1\uffff\1\56\1\uffff\3\56\1\uffff\1\56\2\uffff\6\56\12\67"+
+        "\5\56\1\uffff\1\56\32\67\4\56\1\67\1\56\10\67\1\153\21\67\1\56\1"+
+        "\uffff\1\56\1\uffff\101\56\100\67\ufeff\56",
+        "\40\56\1\uffff\1\56\1\uffff\3\56\1\uffff\1\56\2\uffff\6\56\12\67"+
+        "\5\56\1\uffff\1\56\32\67\4\56\1\67\1\56\21\67\1\154\10\67\1\56\1"+
+        "\uffff\1\56\1\uffff\101\56\100\67\ufeff\56",
         "",
-        "\1\63",
-        "\1\64",
-        "\12\37\7\uffff\32\37\4\uffff\1\37\1\uffff\32\37\105\uffff\100\37",
-        "\1\66",
-        "\1\67",
-        "\1\70",
-        "\1\71",
-        "\1\72",
-        "\1\73",
+        "\40\56\1\uffff\1\56\1\uffff\3\56\1\uffff\1\56\2\uffff\6\56\12\67"+
+        "\5\56\1\uffff\1\56\32\67\4\56\1\67\1\56\32\67\1\56\1\uffff\1\56"+
+        "\1\uffff\101\56\100\67\ufeff\56",
+        "\40\56\1\uffff\1\56\1\uffff\3\56\1\uffff\1\56\2\uffff\6\56\12\67"+
+        "\5\56\1\uffff\1\56\32\67\4\56\1\67\1\56\13\67\1\156\16\67\1\56\1"+
+        "\uffff\1\56\1\uffff\101\56\100\67\ufeff\56",
+        "\40\56\1\uffff\1\56\1\uffff\3\56\1\uffff\1\56\2\uffff\6\56\12\67"+
+        "\5\56\1\uffff\1\56\32\67\4\56\1\67\1\56\32\67\1\56\1\uffff\1\56"+
+        "\1\uffff\101\56\100\67\ufeff\56",
+        "\40\56\1\uffff\1\56\1\uffff\3\56\1\uffff\1\56\2\uffff\6\56\12\67"+
+        "\5\56\1\uffff\1\56\32\67\4\56\1\67\1\56\22\67\1\160\7\67\1\56\1"+
+        "\uffff\1\56\1\uffff\101\56\100\67\ufeff\56",
+        "\40\56\1\uffff\1\56\1\uffff\3\56\1\uffff\1\56\2\uffff\6\56\12\67"+
+        "\5\56\1\uffff\1\56\32\67\4\56\1\67\1\56\4\67\1\161\25\67\1\56\1"+
+        "\uffff\1\56\1\uffff\101\56\100\67\ufeff\56",
+        "\40\56\1\uffff\1\56\1\uffff\3\56\1\uffff\1\56\2\uffff\6\56\12\67"+
+        "\5\56\1\uffff\1\56\32\67\4\56\1\67\1\56\23\67\1\162\6\67\1\56\1"+
+        "\uffff\1\56\1\uffff\101\56\100\67\ufeff\56",
+        "\40\56\1\uffff\1\56\1\uffff\3\56\1\uffff\1\56\2\uffff\6\56\12\135"+
+        "\5\56\1\uffff\74\56\1\uffff\1\56\1\uffff\uff80\56",
+        "\40\104\1\23\1\104\1\23\3\104\1\23\1\105\2\23\25\104\1\23\34\104"+
+        "\1\103\37\104\1\23\1\104\1\23\uff80\104",
+        "\12\164\7\uffff\6\164\32\uffff\6\164",
+        "\40\104\1\23\1\104\1\23\3\104\1\23\1\105\2\23\6\104\10\165\7\104"+
+        "\1\23\34\104\1\103\37\104\1\23\1\104\1\23\uff80\104",
+        "\40\104\1\23\1\104\1\23\3\104\1\23\1\105\2\23\6\104\10\166\7\104"+
+        "\1\23\34\104\1\103\37\104\1\23\1\104\1\23\uff80\104",
+        "\40\56\1\uffff\1\56\1\uffff\3\56\1\uffff\1\56\2\uffff\6\56\12\67"+
+        "\5\56\1\uffff\1\56\32\67\4\56\1\67\1\56\22\67\1\167\7\67\1\56\1"+
+        "\uffff\1\56\1\uffff\101\56\100\67\ufeff\56",
+        "\12\113\1\112\2\113\1\110\22\113\1\uffff\1\113\1\uffff\3\113\1\uffff"+
+        "\1\113\2\uffff\25\113\1\uffff\74\113\1\uffff\1\113\1\uffff\uff80"+
+        "\113",
+        "\12\147\1\170\2\147\1\144\22\147\1\uffff\1\147\1\uffff\3\147\1\uffff"+
+        "\1\147\2\uffff\25\147\1\uffff\74\147\1\uffff\1\147\1\uffff\uff80"+
+        "\147",
         "",
-        "\1\74",
+        "\12\147\1\146\2\147\1\144\22\147\1\uffff\1\147\1\uffff\3\147\1\uffff"+
+        "\1\147\2\uffff\25\147\1\uffff\74\147\1\uffff\1\147\1\uffff\uff80"+
+        "\147",
+        "\12\147\1\146\2\147\1\144\22\147\1\145\1\147\1\145\3\147\1\145\1"+
+        "\147\2\145\25\147\1\145\74\147\1\145\1\147\1\145\uff80\147",
+        "\40\152\1\151\1\152\1\151\3\152\1\151\1\152\2\151\1\150\4\152\1"+
+        "\171\17\152\1\151\74\152\1\151\1\152\1\151\uff80\152",
         "",
+        "\40\152\1\151\1\152\1\151\3\152\1\151\1\152\2\151\1\150\24\152\1"+
+        "\151\74\152\1\151\1\152\1\151\uff80\152",
+        "\40\56\1\uffff\1\56\1\uffff\3\56\1\uffff\1\56\2\uffff\6\56\12\67"+
+        "\5\56\1\uffff\1\56\32\67\4\56\1\67\1\56\5\67\1\172\24\67\1\56\1"+
+        "\uffff\1\56\1\uffff\101\56\100\67\ufeff\56",
+        "\40\56\1\uffff\1\56\1\uffff\3\56\1\uffff\1\56\2\uffff\6\56\12\67"+
+        "\5\56\1\uffff\1\56\32\67\4\56\1\67\1\56\24\67\1\173\5\67\1\56\1"+
+        "\uffff\1\56\1\uffff\101\56\100\67\ufeff\56",
         "",
+        "\40\56\1\uffff\1\56\1\uffff\3\56\1\uffff\1\56\2\uffff\6\56\12\67"+
+        "\5\56\1\uffff\1\56\32\67\4\56\1\67\1\56\32\67\1\56\1\uffff\1\56"+
+        "\1\uffff\101\56\100\67\ufeff\56",
         "",
+        "\40\56\1\uffff\1\56\1\uffff\3\56\1\uffff\1\56\2\uffff\6\56\12\67"+
+        "\5\56\1\uffff\1\56\32\67\4\56\1\67\1\56\23\67\1\175\6\67\1\56\1"+
+        "\uffff\1\56\1\uffff\101\56\100\67\ufeff\56",
+        "\40\56\1\uffff\1\56\1\uffff\3\56\1\uffff\1\56\2\uffff\6\56\12\67"+
+        "\5\56\1\uffff\1\56\32\67\4\56\1\67\1\56\32\67\1\56\1\uffff\1\56"+
+        "\1\uffff\101\56\100\67\ufeff\56",
+        "\40\56\1\uffff\1\56\1\uffff\3\56\1\uffff\1\56\2\uffff\6\56\12\67"+
+        "\5\56\1\uffff\1\56\32\67\4\56\1\67\1\56\32\67\1\56\1\uffff\1\56"+
+        "\1\uffff\101\56\100\67\ufeff\56",
         "",
-        "\1\75",
-        "\1\76",
+        "\12\u0080\7\uffff\6\u0080\32\uffff\6\u0080",
+        "\40\104\1\23\1\104\1\23\3\104\1\23\1\105\2\23\6\104\10\u0081\7\104"+
+        "\1\23\34\104\1\103\37\104\1\23\1\104\1\23\uff80\104",
+        "\40\104\1\23\1\104\1\23\3\104\1\23\1\105\2\23\25\104\1\23\34\104"+
+        "\1\103\37\104\1\23\1\104\1\23\uff80\104",
+        "\40\56\1\uffff\1\56\1\uffff\3\56\1\uffff\1\56\2\uffff\6\56\12\67"+
+        "\5\56\1\uffff\1\56\32\67\4\56\1\67\1\56\4\67\1\u0082\25\67\1\56"+
+        "\1\uffff\1\56\1\uffff\101\56\100\67\ufeff\56",
+        "\12\147\1\146\2\147\1\144\22\147\1\uffff\1\147\1\uffff\3\147\1\uffff"+
+        "\1\147\2\uffff\25\147\1\uffff\74\147\1\uffff\1\147\1\uffff\uff80"+
+        "\147",
+        "\40\152\1\uffff\1\152\1\uffff\3\152\1\uffff\1\152\2\uffff\1\150"+
+        "\24\152\1\uffff\74\152\1\uffff\1\152\1\uffff\uff80\152",
+        "\40\56\1\uffff\1\56\1\uffff\3\56\1\uffff\1\56\2\uffff\6\56\12\67"+
+        "\5\56\1\uffff\1\56\32\67\4\56\1\67\1\56\30\67\1\u0083\1\67\1\56"+
+        "\1\uffff\1\56\1\uffff\101\56\100\67\ufeff\56",
+        "\40\56\1\uffff\1\56\1\uffff\3\56\1\uffff\1\56\2\uffff\6\56\12\67"+
+        "\5\56\1\uffff\1\56\32\67\4\56\1\67\1\56\13\67\1\u0084\16\67\1\56"+
+        "\1\uffff\1\56\1\uffff\101\56\100\67\ufeff\56",
         "",
-        "\12\37\7\uffff\32\37\4\uffff\1\37\1\uffff\32\37\105\uffff\100\37",
-        "\12\37\7\uffff\32\37\4\uffff\1\37\1\uffff\32\37\105\uffff\100\37",
-        "\1\101",
-        "\1\102",
-        "\1\103",
-        "\1\104",
-        "\1\105",
-        "\1\106",
-        "\1\107",
+        "\40\56\1\uffff\1\56\1\uffff\3\56\1\uffff\1\56\2\uffff\6\56\12\67"+
+        "\5\56\1\uffff\1\56\32\67\4\56\1\67\1\56\22\67\1\u0085\7\67\1\56"+
+        "\1\uffff\1\56\1\uffff\101\56\100\67\ufeff\56",
         "",
         "",
+        "\12\u0086\7\uffff\6\u0086\32\uffff\6\u0086",
+        "\40\104\1\23\1\104\1\23\3\104\1\23\1\105\2\23\25\104\1\23\34\104"+
+        "\1\103\37\104\1\23\1\104\1\23\uff80\104",
+        "\40\56\1\uffff\1\56\1\uffff\3\56\1\uffff\1\56\2\uffff\6\56\12\67"+
+        "\5\56\1\uffff\1\56\32\67\4\56\1\67\1\56\32\67\1\56\1\uffff\1\56"+
+        "\1\uffff\101\56\100\67\ufeff\56",
+        "\40\56\1\uffff\1\56\1\uffff\3\56\1\uffff\1\56\2\uffff\6\56\12\67"+
+        "\5\56\1\uffff\1\56\32\67\4\56\1\67\1\56\32\67\1\56\1\uffff\1\56"+
+        "\1\uffff\101\56\100\67\ufeff\56",
+        "\40\56\1\uffff\1\56\1\uffff\3\56\1\uffff\1\56\2\uffff\6\56\12\67"+
+        "\5\56\1\uffff\1\56\32\67\4\56\1\67\1\56\4\67\1\u0088\25\67\1\56"+
+        "\1\uffff\1\56\1\uffff\101\56\100\67\ufeff\56",
+        "\40\56\1\uffff\1\56\1\uffff\3\56\1\uffff\1\56\2\uffff\6\56\12\67"+
+        "\5\56\1\uffff\1\56\32\67\4\56\1\67\1\56\32\67\1\56\1\uffff\1\56"+
+        "\1\uffff\101\56\100\67\ufeff\56",
+        "\12\u008a\7\uffff\6\u008a\32\uffff\6\u008a",
         "",
-        "\1\110",
-        "\12\37\7\uffff\32\37\4\uffff\1\37\1\uffff\32\37\105\uffff\100\37",
+        "\40\56\1\uffff\1\56\1\uffff\3\56\1\uffff\1\56\2\uffff\6\56\12\67"+
+        "\5\56\1\uffff\1\56\32\67\4\56\1\67\1\56\32\67\1\56\1\uffff\1\56"+
+        "\1\uffff\101\56\100\67\ufeff\56",
         "",
-        "\1\112",
-        "\1\113",
-        "\1\114",
-        "\1\115",
-        "",
-        "",
-        "\12\37\7\uffff\32\37\4\uffff\1\37\1\uffff\32\37\105\uffff\100\37",
-        "\1\117",
-        "\12\37\7\uffff\32\37\4\uffff\1\37\1\uffff\32\37\105\uffff\100\37",
-        "",
-        "\12\37\7\uffff\32\37\4\uffff\1\37\1\uffff\32\37\105\uffff\100\37",
-        "",
+        "\40\104\1\23\1\104\1\23\3\104\1\23\1\105\2\23\25\104\1\23\34\104"+
+        "\1\103\37\104\1\23\1\104\1\23\uff80\104",
         ""
     };
 
-    class DFA18 extends DFA {
-        public DFA18(BaseRecognizer recognizer) {
+    class DFA21 extends DFA {
+        public DFA21(BaseRecognizer recognizer) {
             this.recognizer = recognizer;
-            this.decisionNumber = 18;
-            this.eot = DFA.unpackEncodedString(DFA18_eotS);
-            this.eof = DFA.unpackEncodedString(DFA18_eofS);
-            this.min = DFA.unpackEncodedStringToUnsignedChars(DFA18_minS);
-            this.max = DFA.unpackEncodedStringToUnsignedChars(DFA18_maxS);
-            this.accept = DFA.unpackEncodedString(DFA18_acceptS);
-            this.special = DFA.unpackEncodedString(DFA18_specialS);
-            int numStates = DFA18_transition.length;
+            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.transition = new short[numStates][];
             for (int i=0; i<numStates; i++) {
-                transition[i] = DFA.unpackEncodedString(DFA18_transition[i]);
+                transition[i] = DFA.unpackEncodedString(DFA21_transition[i]);
             }
         }
         public String getDescription() {
-            return "1:1: Tokens : ( T33 | T34 | T35 | T36 | T37 | T38 | T39 | T40 | DEFRULE | OR | AND | NOT | EXISTS | TEST | VAR | ID | NULL | WS | INT | FLOAT | STRING | BOOL | SH_STYLE_SINGLE_LINE_COMMENT | C_STYLE_SINGLE_LINE_COMMENT | LEFT_PAREN | RIGHT_PAREN | LEFT_SQUARE | RIGHT_SQUARE | LEFT_CURLY | RIGHT_CURLY | MULTI_LINE_COMMENT | MISC );";
+            return "1:1: Tokens : ( T37 | T38 | T39 | T40 | T41 | DEFRULE | OR | AND | NOT | EXISTS | TEST | NULL | WS | INT | FLOAT | STRING | BOOL | VAR | ID | 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 );";
         }
     }
  

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-12 23:43:00 UTC (rev 10139)
+++ labs/jbossrules/trunk/drools-compiler/src/main/java/org/drools/clp/CLPParser.java	2007-03-13 01:38:33 UTC (rev 10140)
@@ -1,4 +1,4 @@
-// $ANTLR 3.0b7 C:\\dev\\jbossrules\\trunk\\drools-compiler\\src\\main\\resources\\org\\drools\\clp\\CLP.g 2007-03-12 19:19:14
+// $ANTLR 3.0b5 D:\\workspace\\jboss\\jbossrules\\drools-compiler\\src\\main\\resources\\org\\drools\\clp\\CLP.g 2007-03-12 22:15:39
 
 	package org.drools.clp;
 	import java.util.List;
@@ -17,37 +17,41 @@
 
 public class CLPParser extends Parser {
     public static final String[] tokenNames = new String[] {
-        "<invalid>", "<EOR>", "<DOWN>", "<UP>", "LEFT_PAREN", "ID", "RIGHT_PAREN", "AND", "OR", "NOT", "EXISTS", "TEST", "VAR", "STRING", "FLOAT", "INT", "BOOL", "NULL", "DEFRULE", "EOL", "WS", "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", "MISC", "';'", "'<-'", "'&'", "'|'", "'~'", "':'", "'='", "'modify'"
+        "<invalid>", "<EOR>", "<DOWN>", "<UP>", "LEFT_PAREN", "ID", "RIGHT_PAREN", "AND", "OR", "NOT", "EXISTS", "TEST", "VAR", "AMPERSAND", "PIPE", "TILDE", "STRING", "FLOAT", "INT", "BOOL", "NULL", "MISC", "SYMBOL", "DEFRULE", "EOL", "WS", "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'"
     };
     public static final int EXISTS=10;
     public static final int LEFT_PAREN=4;
-    public static final int RIGHT_CURLY=30;
-    public static final int BOOL=16;
-    public static final int DEFRULE=18;
-    public static final int HexDigit=22;
-    public static final int WS=20;
-    public static final int MISC=32;
-    public static final int STRING=13;
-    public static final int FLOAT=14;
+    public static final int RIGHT_CURLY=35;
+    public static final int BOOL=19;
+    public static final int DEFRULE=23;
+    public static final int HexDigit=27;
+    public static final int WS=25;
+    public static final int MISC=21;
+    public static final int STRING=16;
+    public static final int FLOAT=17;
+    public static final int TILDE=15;
     public static final int OR=8;
+    public static final int PIPE=14;
     public static final int VAR=12;
-    public static final int UnicodeEscape=23;
+    public static final int UnicodeEscape=28;
     public static final int AND=7;
-    public static final int EscapeSequence=21;
-    public static final int INT=15;
+    public static final int EscapeSequence=26;
+    public static final int INT=18;
     public static final int EOF=-1;
-    public static final int NULL=17;
-    public static final int EOL=19;
-    public static final int LEFT_SQUARE=27;
-    public static final int SH_STYLE_SINGLE_LINE_COMMENT=25;
-    public static final int OctalEscape=24;
-    public static final int MULTI_LINE_COMMENT=31;
+    public static final int EOL=24;
+    public static final int NULL=20;
+    public static final int SYMBOL=22;
+    public static final int LEFT_SQUARE=32;
+    public static final int SH_STYLE_SINGLE_LINE_COMMENT=30;
+    public static final int OctalEscape=29;
+    public static final int MULTI_LINE_COMMENT=36;
     public static final int TEST=11;
+    public static final int AMPERSAND=13;
     public static final int RIGHT_PAREN=6;
     public static final int NOT=9;
-    public static final int LEFT_CURLY=29;
-    public static final int RIGHT_SQUARE=28;
-    public static final int C_STYLE_SINGLE_LINE_COMMENT=26;
+    public static final int LEFT_CURLY=34;
+    public static final int RIGHT_SQUARE=33;
+    public static final int C_STYLE_SINGLE_LINE_COMMENT=31;
     public static final int ID=5;
 
         public CLPParser(TokenStream input) {
@@ -56,7 +60,7 @@
         
 
     public String[] getTokenNames() { return tokenNames; }
-    public String getGrammarFileName() { return "C:\\dev\\jbossrules\\trunk\\drools-compiler\\src\\main\\resources\\org\\drools\\clp\\CLP.g"; }
+    public String getGrammarFileName() { return "D:\\workspace\\jboss\\jbossrules\\drools-compiler\\src\\main\\resources\\org\\drools\\clp\\CLP.g"; }
 
     
     	private PackageDescr packageDescr;
@@ -209,23 +213,23 @@
 
 
     // $ANTLR start opt_semicolon
-    // C:\\dev\\jbossrules\\trunk\\drools-compiler\\src\\main\\resources\\org\\drools\\clp\\CLP.g:167:1: opt_semicolon : ( ';' )? ;
-    public void opt_semicolon() throws RecognitionException {
+    // D:\\workspace\\jboss\\jbossrules\\drools-compiler\\src\\main\\resources\\org\\drools\\clp\\CLP.g:167:1: opt_semicolon : ( ';' )? ;
+    public void opt_semicolon() throws RecognitionException {   
         try {
-            // C:\\dev\\jbossrules\\trunk\\drools-compiler\\src\\main\\resources\\org\\drools\\clp\\CLP.g:168:4: ( ( ';' )? )
-            // C:\\dev\\jbossrules\\trunk\\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:168:4: ( ';' )?
             {
-            // C:\\dev\\jbossrules\\trunk\\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: ( ';' )?
             int alt1=2;
             int LA1_0 = input.LA(1);
-            if ( (LA1_0==33) ) {
+            if ( (LA1_0==37) ) {
                 alt1=1;
             }
             switch (alt1) {
                 case 1 :
-                    // C:\\dev\\jbossrules\\trunk\\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: ';'
                     {
-                    match(input,33,FOLLOW_33_in_opt_semicolon38); 
+                    match(input,37,FOLLOW_37_in_opt_semicolon38); 
 
                     }
                     break;
@@ -241,15 +245,15 @@
             recover(input,re);
         }
         finally {
-        }
+       }
         return ;
     }
     // $ANTLR end opt_semicolon
 
 
     // $ANTLR start rule
-    // C:\\dev\\jbossrules\\trunk\\drools-compiler\\src\\main\\resources\\org\\drools\\clp\\CLP.g:210:1: rule returns [RuleDescr rule] : loc= LEFT_PAREN 'defrule' ruleName= ID ( lhs[lhs] )* ( function[context] )* RIGHT_PAREN ;
-    public RuleDescr rule() throws RecognitionException {
+    // D:\\workspace\\jboss\\jbossrules\\drools-compiler\\src\\main\\resources\\org\\drools\\clp\\CLP.g:210:1: rule returns [RuleDescr rule] : loc= LEFT_PAREN 'defrule' ruleName= ID ( lhs[lhs] )* ( function[context] )* RIGHT_PAREN ;
+    public RuleDescr rule() throws RecognitionException {   
         RuleDescr rule = null;
 
         Token loc=null;
@@ -263,8 +267,8 @@
         			ExecutionBuildContext context = new ExecutionBuildContext( engine );  	        
         	      
         try {
-            // C:\\dev\\jbossrules\\trunk\\drools-compiler\\src\\main\\resources\\org\\drools\\clp\\CLP.g:218:4: (loc= LEFT_PAREN 'defrule' ruleName= ID ( lhs[lhs] )* ( function[context] )* RIGHT_PAREN )
-            // C:\\dev\\jbossrules\\trunk\\drools-compiler\\src\\main\\resources\\org\\drools\\clp\\CLP.g:218:4: loc= LEFT_PAREN 'defrule' ruleName= ID ( lhs[lhs] )* ( function[context] )* RIGHT_PAREN
+            // D:\\workspace\\jboss\\jbossrules\\drools-compiler\\src\\main\\resources\\org\\drools\\clp\\CLP.g:218:4: (loc= LEFT_PAREN 'defrule' ruleName= ID ( lhs[lhs] )* ( function[context] )* RIGHT_PAREN )
+            // D:\\workspace\\jboss\\jbossrules\\drools-compiler\\src\\main\\resources\\org\\drools\\clp\\CLP.g:218:4: loc= LEFT_PAREN 'defrule' ruleName= ID ( lhs[lhs] )* ( function[context] )* RIGHT_PAREN
             {
             loc=(Token)input.LT(1);
             match(input,LEFT_PAREN,FOLLOW_LEFT_PAREN_in_rule64); 
@@ -283,14 +287,14 @@
                	        lhs.setLocation( offset(loc.getLine()), loc.getCharPositionInLine() );
             			lhs.setStartCharacter( ((CommonToken)loc).getStartIndex() );				
             	  
-            // C:\\dev\\jbossrules\\trunk\\drools-compiler\\src\\main\\resources\\org\\drools\\clp\\CLP.g:232:4: ( lhs[lhs] )*
+            // D:\\workspace\\jboss\\jbossrules\\drools-compiler\\src\\main\\resources\\org\\drools\\clp\\CLP.g:232:4: ( lhs[lhs] )*
             loop2:
             do {
                 int alt2=2;
                 alt2 = dfa2.predict(input);
                 switch (alt2) {
             	case 1 :
-            	    // C:\\dev\\jbossrules\\trunk\\drools-compiler\\src\\main\\resources\\org\\drools\\clp\\CLP.g:232:4: lhs[lhs]
+            	    // D:\\workspace\\jboss\\jbossrules\\drools-compiler\\src\\main\\resources\\org\\drools\\clp\\CLP.g:232:4: lhs[lhs]
             	    {
             	    pushFollow(FOLLOW_lhs_in_rule85);
             	    lhs(lhs);
@@ -305,7 +309,7 @@
                 }
             } while (true);
 
-            // C:\\dev\\jbossrules\\trunk\\drools-compiler\\src\\main\\resources\\org\\drools\\clp\\CLP.g:233:4: ( function[context] )*
+            // D:\\workspace\\jboss\\jbossrules\\drools-compiler\\src\\main\\resources\\org\\drools\\clp\\CLP.g:233:4: ( function[context] )*
             loop3:
             do {
                 int alt3=2;
@@ -317,7 +321,7 @@
 
                 switch (alt3) {
             	case 1 :
-            	    // C:\\dev\\jbossrules\\trunk\\drools-compiler\\src\\main\\resources\\org\\drools\\clp\\CLP.g:233:4: function[context]
+            	    // D:\\workspace\\jboss\\jbossrules\\drools-compiler\\src\\main\\resources\\org\\drools\\clp\\CLP.g:233:4: function[context]
             	    {
             	    pushFollow(FOLLOW_function_in_rule92);
             	    function(context);
@@ -343,20 +347,20 @@
             recover(input,re);
         }
         finally {
-        }
+       }
         return rule;
     }
     // $ANTLR end rule
 
 
     // $ANTLR start lhs
-    // C:\\dev\\jbossrules\\trunk\\drools-compiler\\src\\main\\resources\\org\\drools\\clp\\CLP.g:239: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 {
+    // D:\\workspace\\jboss\\jbossrules\\drools-compiler\\src\\main\\resources\\org\\drools\\clp\\CLP.g:239: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 {   
         try {
-            // C:\\dev\\jbossrules\\trunk\\drools-compiler\\src\\main\\resources\\org\\drools\\clp\\CLP.g:240:4: ( ( and_ce[in_ce] | or_ce[in_ce] | not_ce[in_ce] | exists_ce[in_ce] | eval_ce[in_ce] | normal_pattern[in_ce] | bound_pattern[in_ce] ) )
-            // C:\\dev\\jbossrules\\trunk\\drools-compiler\\src\\main\\resources\\org\\drools\\clp\\CLP.g:240: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:240: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:240:4: ( and_ce[in_ce] | or_ce[in_ce] | not_ce[in_ce] | exists_ce[in_ce] | eval_ce[in_ce] | normal_pattern[in_ce] | bound_pattern[in_ce] )
             {
-            // C:\\dev\\jbossrules\\trunk\\drools-compiler\\src\\main\\resources\\org\\drools\\clp\\CLP.g:240: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:240: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) ) {
@@ -364,21 +368,21 @@
                 case AND:
                     alt4=1;
                     break;
-                case EXISTS:
-                    alt4=4;
-                    break;
                 case ID:
                     alt4=6;
                     break;
-                case OR:
-                    alt4=2;
-                    break;
                 case NOT:
                     alt4=3;
                     break;
                 case TEST:
                     alt4=5;
                     break;
+                case OR:
+                    alt4=2;
+                    break;
+                case EXISTS:
+                    alt4=4;
+                    break;
                 default:
                     NoViableAltException nvae =
                         new NoViableAltException("240: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);
@@ -398,7 +402,7 @@
             }
             switch (alt4) {
                 case 1 :
-                    // C:\\dev\\jbossrules\\trunk\\drools-compiler\\src\\main\\resources\\org\\drools\\clp\\CLP.g:240:8: and_ce[in_ce]
+                    // D:\\workspace\\jboss\\jbossrules\\drools-compiler\\src\\main\\resources\\org\\drools\\clp\\CLP.g:240:8: and_ce[in_ce]
                     {
                     pushFollow(FOLLOW_and_ce_in_lhs120);
                     and_ce(in_ce);
@@ -408,7 +412,7 @@
                     }
                     break;
                 case 2 :
-                    // C:\\dev\\jbossrules\\trunk\\drools-compiler\\src\\main\\resources\\org\\drools\\clp\\CLP.g:241:7: or_ce[in_ce]
+                    // D:\\workspace\\jboss\\jbossrules\\drools-compiler\\src\\main\\resources\\org\\drools\\clp\\CLP.g:241:7: or_ce[in_ce]
                     {
                     pushFollow(FOLLOW_or_ce_in_lhs130);
                     or_ce(in_ce);
@@ -418,7 +422,7 @@
                     }
                     break;
                 case 3 :
-                    // C:\\dev\\jbossrules\\trunk\\drools-compiler\\src\\main\\resources\\org\\drools\\clp\\CLP.g:242:7: not_ce[in_ce]
+                    // D:\\workspace\\jboss\\jbossrules\\drools-compiler\\src\\main\\resources\\org\\drools\\clp\\CLP.g:242:7: not_ce[in_ce]
                     {
                     pushFollow(FOLLOW_not_ce_in_lhs139);
                     not_ce(in_ce);
@@ -428,7 +432,7 @@
                     }
                     break;
                 case 4 :
-                    // C:\\dev\\jbossrules\\trunk\\drools-compiler\\src\\main\\resources\\org\\drools\\clp\\CLP.g:243:7: exists_ce[in_ce]
+                    // D:\\workspace\\jboss\\jbossrules\\drools-compiler\\src\\main\\resources\\org\\drools\\clp\\CLP.g:243:7: exists_ce[in_ce]
                     {
                     pushFollow(FOLLOW_exists_ce_in_lhs148);
                     exists_ce(in_ce);
@@ -438,7 +442,7 @@
                     }
                     break;
                 case 5 :
-                    // C:\\dev\\jbossrules\\trunk\\drools-compiler\\src\\main\\resources\\org\\drools\\clp\\CLP.g:244:8: eval_ce[in_ce]
+                    // D:\\workspace\\jboss\\jbossrules\\drools-compiler\\src\\main\\resources\\org\\drools\\clp\\CLP.g:244:8: eval_ce[in_ce]
                     {
                     pushFollow(FOLLOW_eval_ce_in_lhs162);
                     eval_ce(in_ce);
@@ -448,7 +452,7 @@
                     }
                     break;
                 case 6 :
-                    // C:\\dev\\jbossrules\\trunk\\drools-compiler\\src\\main\\resources\\org\\drools\\clp\\CLP.g:245:7: normal_pattern[in_ce]
+                    // D:\\workspace\\jboss\\jbossrules\\drools-compiler\\src\\main\\resources\\org\\drools\\clp\\CLP.g:245:7: normal_pattern[in_ce]
                     {
                     pushFollow(FOLLOW_normal_pattern_in_lhs176);
                     normal_pattern(in_ce);
@@ -458,7 +462,7 @@
                     }
                     break;
                 case 7 :
-                    // C:\\dev\\jbossrules\\trunk\\drools-compiler\\src\\main\\resources\\org\\drools\\clp\\CLP.g:246:7: bound_pattern[in_ce]
+                    // D:\\workspace\\jboss\\jbossrules\\drools-compiler\\src\\main\\resources\\org\\drools\\clp\\CLP.g:246:7: bound_pattern[in_ce]
                     {
                     pushFollow(FOLLOW_bound_pattern_in_lhs185);
                     bound_pattern(in_ce);
@@ -479,20 +483,20 @@
             recover(input,re);
         }
         finally {
-        }
+       }
         return ;
     }
     // $ANTLR end lhs
 
 
     // $ANTLR start ce
-    // C:\\dev\\jbossrules\\trunk\\drools-compiler\\src\\main\\resources\\org\\drools\\clp\\CLP.g:250: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 {
+    // D:\\workspace\\jboss\\jbossrules\\drools-compiler\\src\\main\\resources\\org\\drools\\clp\\CLP.g:250: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 {
-            // C:\\dev\\jbossrules\\trunk\\drools-compiler\\src\\main\\resources\\org\\drools\\clp\\CLP.g:251: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] ) )
-            // C:\\dev\\jbossrules\\trunk\\drools-compiler\\src\\main\\resources\\org\\drools\\clp\\CLP.g:251: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:251: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:251: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] )
             {
-            // C:\\dev\\jbossrules\\trunk\\drools-compiler\\src\\main\\resources\\org\\drools\\clp\\CLP.g:251: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:251: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 alt5=6;
             int LA5_0 = input.LA(1);
             if ( (LA5_0==LEFT_PAREN) ) {
@@ -500,8 +504,8 @@
                 case NOT:
                     alt5=3;
                     break;
-                case EXISTS:
-                    alt5=4;
+                case ID:
+                    alt5=6;
                     break;
                 case AND:
                     alt5=1;
@@ -509,8 +513,8 @@
                 case OR:
                     alt5=2;
                     break;
-                case ID:
-                    alt5=6;
+                case EXISTS:
+                    alt5=4;
                     break;
                 case TEST:
                     alt5=5;
@@ -531,7 +535,7 @@
             }
             switch (alt5) {
                 case 1 :
-                    // C:\\dev\\jbossrules\\trunk\\drools-compiler\\src\\main\\resources\\org\\drools\\clp\\CLP.g:251:8: and_ce[in_ce]
+                    // D:\\workspace\\jboss\\jbossrules\\drools-compiler\\src\\main\\resources\\org\\drools\\clp\\CLP.g:251:8: and_ce[in_ce]
                     {
                     pushFollow(FOLLOW_and_ce_in_ce207);
                     and_ce(in_ce);
@@ -541,7 +545,7 @@
                     }
                     break;
                 case 2 :
-                    // C:\\dev\\jbossrules\\trunk\\drools-compiler\\src\\main\\resources\\org\\drools\\clp\\CLP.g:252:10: or_ce[in_ce]
+                    // D:\\workspace\\jboss\\jbossrules\\drools-compiler\\src\\main\\resources\\org\\drools\\clp\\CLP.g:252:10: or_ce[in_ce]
                     {
                     pushFollow(FOLLOW_or_ce_in_ce220);
                     or_ce(in_ce);
@@ -551,7 +555,7 @@
                     }
                     break;
                 case 3 :
-                    // C:\\dev\\jbossrules\\trunk\\drools-compiler\\src\\main\\resources\\org\\drools\\clp\\CLP.g:253:7: not_ce[in_ce]
+                    // D:\\workspace\\jboss\\jbossrules\\drools-compiler\\src\\main\\resources\\org\\drools\\clp\\CLP.g:253:7: not_ce[in_ce]
                     {
                     pushFollow(FOLLOW_not_ce_in_ce229);
                     not_ce(in_ce);
@@ -561,7 +565,7 @@
                     }
                     break;
                 case 4 :
-                    // C:\\dev\\jbossrules\\trunk\\drools-compiler\\src\\main\\resources\\org\\drools\\clp\\CLP.g:254:7: exists_ce[in_ce]
+                    // D:\\workspace\\jboss\\jbossrules\\drools-compiler\\src\\main\\resources\\org\\drools\\clp\\CLP.g:254:7: exists_ce[in_ce]
                     {
                     pushFollow(FOLLOW_exists_ce_in_ce238);
                     exists_ce(in_ce);
@@ -571,7 +575,7 @@
                     }
                     break;
                 case 5 :
-                    // C:\\dev\\jbossrules\\trunk\\drools-compiler\\src\\main\\resources\\org\\drools\\clp\\CLP.g:255:8: eval_ce[in_ce]
+                    // D:\\workspace\\jboss\\jbossrules\\drools-compiler\\src\\main\\resources\\org\\drools\\clp\\CLP.g:255:8: eval_ce[in_ce]
                     {
                     pushFollow(FOLLOW_eval_ce_in_ce252);
                     eval_ce(in_ce);
@@ -581,7 +585,7 @@
                     }
                     break;
                 case 6 :
-                    // C:\\dev\\jbossrules\\trunk\\drools-compiler\\src\\main\\resources\\org\\drools\\clp\\CLP.g:256:10: normal_pattern[in_ce]
+                    // D:\\workspace\\jboss\\jbossrules\\drools-compiler\\src\\main\\resources\\org\\drools\\clp\\CLP.g:256:10: normal_pattern[in_ce]
                     {
                     pushFollow(FOLLOW_normal_pattern_in_ce276);
                     normal_pattern(in_ce);
@@ -602,21 +606,21 @@
             recover(input,re);
         }
         finally {
-        }
+       }
         return ;
     }
     // $ANTLR end ce
 
 
     // $ANTLR start and_ce
-    // C:\\dev\\jbossrules\\trunk\\drools-compiler\\src\\main\\resources\\org\\drools\\clp\\CLP.g:261:1: and_ce[ConditionalElementDescr in_ce] : LEFT_PAREN AND ( ce[andDescr] )* RIGHT_PAREN ;
-    public void and_ce(ConditionalElementDescr in_ce) throws RecognitionException {
+    // D:\\workspace\\jboss\\jbossrules\\drools-compiler\\src\\main\\resources\\org\\drools\\clp\\CLP.g:261: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 {
-            // C:\\dev\\jbossrules\\trunk\\drools-compiler\\src\\main\\resources\\org\\drools\\clp\\CLP.g:265:4: ( LEFT_PAREN AND ( ce[andDescr] )* RIGHT_PAREN )
-            // C:\\dev\\jbossrules\\trunk\\drools-compiler\\src\\main\\resources\\org\\drools\\clp\\CLP.g:265:4: LEFT_PAREN AND ( ce[andDescr] )* RIGHT_PAREN
+            // D:\\workspace\\jboss\\jbossrules\\drools-compiler\\src\\main\\resources\\org\\drools\\clp\\CLP.g:265:4: ( LEFT_PAREN AND ( ce[andDescr] )* RIGHT_PAREN )
+            // D:\\workspace\\jboss\\jbossrules\\drools-compiler\\src\\main\\resources\\org\\drools\\clp\\CLP.g:265:4: LEFT_PAREN AND ( ce[andDescr] )* RIGHT_PAREN
             {
             match(input,LEFT_PAREN,FOLLOW_LEFT_PAREN_in_and_ce308); 
             match(input,AND,FOLLOW_AND_in_and_ce313); 
@@ -624,7 +628,7 @@
             	    	andDescr = new AndDescr();
             			in_ce.addDescr( andDescr );
             		
-            // C:\\dev\\jbossrules\\trunk\\drools-compiler\\src\\main\\resources\\org\\drools\\clp\\CLP.g:270:3: ( ce[andDescr] )*
+            // D:\\workspace\\jboss\\jbossrules\\drools-compiler\\src\\main\\resources\\org\\drools\\clp\\CLP.g:270:3: ( ce[andDescr] )*
             loop6:
             do {
                 int alt6=2;
@@ -636,7 +640,7 @@
 
                 switch (alt6) {
             	case 1 :
-            	    // C:\\dev\\jbossrules\\trunk\\drools-compiler\\src\\main\\resources\\org\\drools\\clp\\CLP.g:270:3: ce[andDescr]
+            	    // D:\\workspace\\jboss\\jbossrules\\drools-compiler\\src\\main\\resources\\org\\drools\\clp\\CLP.g:270:3: ce[andDescr]
             	    {
             	    pushFollow(FOLLOW_ce_in_and_ce319);
             	    ce(andDescr);
@@ -661,21 +665,21 @@
             recover(input,re);
         }
         finally {
-        }
+       }
         return ;
     }
     // $ANTLR end and_ce
 
 
     // $ANTLR start or_ce
-    // C:\\dev\\jbossrules\\trunk\\drools-compiler\\src\\main\\resources\\org\\drools\\clp\\CLP.g:274:1: or_ce[ConditionalElementDescr in_ce] : LEFT_PAREN OR ( ce[orDescr] )* RIGHT_PAREN ;
-    public void or_ce(ConditionalElementDescr in_ce) throws RecognitionException {
+    // D:\\workspace\\jboss\\jbossrules\\drools-compiler\\src\\main\\resources\\org\\drools\\clp\\CLP.g:274: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 {
-            // C:\\dev\\jbossrules\\trunk\\drools-compiler\\src\\main\\resources\\org\\drools\\clp\\CLP.g:278:4: ( LEFT_PAREN OR ( ce[orDescr] )* RIGHT_PAREN )
-            // C:\\dev\\jbossrules\\trunk\\drools-compiler\\src\\main\\resources\\org\\drools\\clp\\CLP.g:278:4: LEFT_PAREN OR ( ce[orDescr] )* RIGHT_PAREN
+            // D:\\workspace\\jboss\\jbossrules\\drools-compiler\\src\\main\\resources\\org\\drools\\clp\\CLP.g:278:4: ( LEFT_PAREN OR ( ce[orDescr] )* RIGHT_PAREN )
+            // D:\\workspace\\jboss\\jbossrules\\drools-compiler\\src\\main\\resources\\org\\drools\\clp\\CLP.g:278:4: LEFT_PAREN OR ( ce[orDescr] )* RIGHT_PAREN
             {
             match(input,LEFT_PAREN,FOLLOW_LEFT_PAREN_in_or_ce356); 
             match(input,OR,FOLLOW_OR_in_or_ce361); 
@@ -683,7 +687,7 @@
             	    	orDescr = new OrDescr();
             			in_ce.addDescr( orDescr );
             		
-            // C:\\dev\\jbossrules\\trunk\\drools-compiler\\src\\main\\resources\\org\\drools\\clp\\CLP.g:283:3: ( ce[orDescr] )*
+            // D:\\workspace\\jboss\\jbossrules\\drools-compiler\\src\\main\\resources\\org\\drools\\clp\\CLP.g:283:3: ( ce[orDescr] )*
             loop7:
             do {
                 int alt7=2;
@@ -695,7 +699,7 @@
 
                 switch (alt7) {
             	case 1 :
-            	    // C:\\dev\\jbossrules\\trunk\\drools-compiler\\src\\main\\resources\\org\\drools\\clp\\CLP.g:283:3: ce[orDescr]
+            	    // D:\\workspace\\jboss\\jbossrules\\drools-compiler\\src\\main\\resources\\org\\drools\\clp\\CLP.g:283:3: ce[orDescr]
             	    {
             	    pushFollow(FOLLOW_ce_in_or_ce367);
             	    ce(orDescr);
@@ -720,21 +724,21 @@
             recover(input,re);
         }
         finally {
-        }
+       }
         return ;
     }
     // $ANTLR end or_ce
 
 
     // $ANTLR start not_ce
-    // C:\\dev\\jbossrules\\trunk\\drools-compiler\\src\\main\\resources\\org\\drools\\clp\\CLP.g:287:1: not_ce[ConditionalElementDescr in_ce] : LEFT_PAREN NOT ( ce[notDescr] )? RIGHT_PAREN ;
-    public void not_ce(ConditionalElementDescr in_ce) throws RecognitionException {
+    // D:\\workspace\\jboss\\jbossrules\\drools-compiler\\src\\main\\resources\\org\\drools\\clp\\CLP.g:287: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 {
-            // C:\\dev\\jbossrules\\trunk\\drools-compiler\\src\\main\\resources\\org\\drools\\clp\\CLP.g:291:4: ( LEFT_PAREN NOT ( ce[notDescr] )? RIGHT_PAREN )
-            // C:\\dev\\jbossrules\\trunk\\drools-compiler\\src\\main\\resources\\org\\drools\\clp\\CLP.g:291:4: LEFT_PAREN NOT ( ce[notDescr] )? RIGHT_PAREN
+            // D:\\workspace\\jboss\\jbossrules\\drools-compiler\\src\\main\\resources\\org\\drools\\clp\\CLP.g:291:4: ( LEFT_PAREN NOT ( ce[notDescr] )? RIGHT_PAREN )
+            // D:\\workspace\\jboss\\jbossrules\\drools-compiler\\src\\main\\resources\\org\\drools\\clp\\CLP.g:291:4: LEFT_PAREN NOT ( ce[notDescr] )? RIGHT_PAREN
             {
             match(input,LEFT_PAREN,FOLLOW_LEFT_PAREN_in_not_ce404); 
             match(input,NOT,FOLLOW_NOT_in_not_ce409); 
@@ -742,7 +746,7 @@
             			notDescr = new NotDescr();
             		    in_ce.addDescr( notDescr );
             		
-            // C:\\dev\\jbossrules\\trunk\\drools-compiler\\src\\main\\resources\\org\\drools\\clp\\CLP.g:296:3: ( ce[notDescr] )?
+            // D:\\workspace\\jboss\\jbossrules\\drools-compiler\\src\\main\\resources\\org\\drools\\clp\\CLP.g:296:3: ( ce[notDescr] )?
             int alt8=2;
             int LA8_0 = input.LA(1);
             if ( (LA8_0==LEFT_PAREN) ) {
@@ -750,7 +754,7 @@
             }
             switch (alt8) {
                 case 1 :
-                    // C:\\dev\\jbossrules\\trunk\\drools-compiler\\src\\main\\resources\\org\\drools\\clp\\CLP.g:296:3: ce[notDescr]
+                    // D:\\workspace\\jboss\\jbossrules\\drools-compiler\\src\\main\\resources\\org\\drools\\clp\\CLP.g:296:3: ce[notDescr]
                     {
                     pushFollow(FOLLOW_ce_in_not_ce415);
                     ce(notDescr);
@@ -772,21 +776,21 @@
             recover(input,re);
         }
         finally {
-        }
+       }
         return ;
     }
     // $ANTLR end not_ce
 
 
     // $ANTLR start exists_ce
-    // C:\\dev\\jbossrules\\trunk\\drools-compiler\\src\\main\\resources\\org\\drools\\clp\\CLP.g:300:1: exists_ce[ConditionalElementDescr in_ce] : LEFT_PAREN EXISTS ( ce[existsDescr] )? RIGHT_PAREN ;
-    public void exists_ce(ConditionalElementDescr in_ce) throws RecognitionException {
+    // D:\\workspace\\jboss\\jbossrules\\drools-compiler\\src\\main\\resources\\org\\drools\\clp\\CLP.g:300: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 {
-            // C:\\dev\\jbossrules\\trunk\\drools-compiler\\src\\main\\resources\\org\\drools\\clp\\CLP.g:304:4: ( LEFT_PAREN EXISTS ( ce[existsDescr] )? RIGHT_PAREN )
-            // C:\\dev\\jbossrules\\trunk\\drools-compiler\\src\\main\\resources\\org\\drools\\clp\\CLP.g:304:4: LEFT_PAREN EXISTS ( ce[existsDescr] )? RIGHT_PAREN
+            // D:\\workspace\\jboss\\jbossrules\\drools-compiler\\src\\main\\resources\\org\\drools\\clp\\CLP.g:304:4: ( LEFT_PAREN EXISTS ( ce[existsDescr] )? RIGHT_PAREN )
+            // D:\\workspace\\jboss\\jbossrules\\drools-compiler\\src\\main\\resources\\org\\drools\\clp\\CLP.g:304:4: LEFT_PAREN EXISTS ( ce[existsDescr] )? RIGHT_PAREN
             {
             match(input,LEFT_PAREN,FOLLOW_LEFT_PAREN_in_exists_ce453); 
             match(input,EXISTS,FOLLOW_EXISTS_in_exists_ce458); 
@@ -794,7 +798,7 @@
             		    existsDescr = new ExistsDescr();
             		    in_ce.addDescr( existsDescr );
             		
-            // C:\\dev\\jbossrules\\trunk\\drools-compiler\\src\\main\\resources\\org\\drools\\clp\\CLP.g:309:3: ( ce[existsDescr] )?
+            // D:\\workspace\\jboss\\jbossrules\\drools-compiler\\src\\main\\resources\\org\\drools\\clp\\CLP.g:309:3: ( ce[existsDescr] )?
             int alt9=2;
             int LA9_0 = input.LA(1);
             if ( (LA9_0==LEFT_PAREN) ) {
@@ -802,7 +806,7 @@
             }
             switch (alt9) {
                 case 1 :
-                    // C:\\dev\\jbossrules\\trunk\\drools-compiler\\src\\main\\resources\\org\\drools\\clp\\CLP.g:309:3: ce[existsDescr]
+                    // D:\\workspace\\jboss\\jbossrules\\drools-compiler\\src\\main\\resources\\org\\drools\\clp\\CLP.g:309:3: ce[existsDescr]
                     {
                     pushFollow(FOLLOW_ce_in_exists_ce464);
                     ce(existsDescr);
@@ -824,23 +828,23 @@
             recover(input,re);
         }
         finally {
-        }
+       }
         return ;
     }
     // $ANTLR end exists_ce
 
 
     // $ANTLR start eval_ce
-    // C:\\dev\\jbossrules\\trunk\\drools-compiler\\src\\main\\resources\\org\\drools\\clp\\CLP.g:313:1: eval_ce[ConditionalElementDescr in_ce] : LEFT_PAREN TEST function[context] RIGHT_PAREN ;
-    public void eval_ce(ConditionalElementDescr in_ce) throws RecognitionException {
+    // D:\\workspace\\jboss\\jbossrules\\drools-compiler\\src\\main\\resources\\org\\drools\\clp\\CLP.g:313: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;    
            		ExecutionEngine engine = new CLPEval();     
         		ExecutionBuildContext context = new ExecutionBuildContext( engine );   		         
             
         try {
-            // C:\\dev\\jbossrules\\trunk\\drools-compiler\\src\\main\\resources\\org\\drools\\clp\\CLP.g:319:4: ( LEFT_PAREN TEST function[context] RIGHT_PAREN )
-            // C:\\dev\\jbossrules\\trunk\\drools-compiler\\src\\main\\resources\\org\\drools\\clp\\CLP.g:319:4: LEFT_PAREN TEST function[context] RIGHT_PAREN
+            // D:\\workspace\\jboss\\jbossrules\\drools-compiler\\src\\main\\resources\\org\\drools\\clp\\CLP.g:319:4: ( LEFT_PAREN TEST function[context] RIGHT_PAREN )
+            // D:\\workspace\\jboss\\jbossrules\\drools-compiler\\src\\main\\resources\\org\\drools\\clp\\CLP.g:319:4: LEFT_PAREN TEST function[context] RIGHT_PAREN
             {
             match(input,LEFT_PAREN,FOLLOW_LEFT_PAREN_in_eval_ce501); 
             match(input,TEST,FOLLOW_TEST_in_eval_ce506); 
@@ -865,23 +869,23 @@
             recover(input,re);
         }
         finally {
-        }
+       }
         return ;
     }
     // $ANTLR end eval_ce
 
 
     // $ANTLR start normal_pattern
-    // C:\\dev\\jbossrules\\trunk\\drools-compiler\\src\\main\\resources\\org\\drools\\clp\\CLP.g:330:1: normal_pattern[ConditionalElementDescr in_ce] : LEFT_PAREN name= ID ( field_constriant[column] )* RIGHT_PAREN ;
-    public void normal_pattern(ConditionalElementDescr in_ce) throws RecognitionException {
+    // D:\\workspace\\jboss\\jbossrules\\drools-compiler\\src\\main\\resources\\org\\drools\\clp\\CLP.g:330:1: normal_pattern[ConditionalElementDescr in_ce] : LEFT_PAREN name= ID ( field_constriant[column] )* RIGHT_PAREN ;
+    public void normal_pattern(ConditionalElementDescr in_ce) throws RecognitionException {   
         Token name=null;
 
         
                 ColumnDescr column = null;
             
         try {
-            // C:\\dev\\jbossrules\\trunk\\drools-compiler\\src\\main\\resources\\org\\drools\\clp\\CLP.g:334:4: ( LEFT_PAREN name= ID ( field_constriant[column] )* RIGHT_PAREN )
-            // C:\\dev\\jbossrules\\trunk\\drools-compiler\\src\\main\\resources\\org\\drools\\clp\\CLP.g:334:4: LEFT_PAREN name= ID ( field_constriant[column] )* RIGHT_PAREN
+            // D:\\workspace\\jboss\\jbossrules\\drools-compiler\\src\\main\\resources\\org\\drools\\clp\\CLP.g:334:4: ( LEFT_PAREN name= ID ( field_constriant[column] )* RIGHT_PAREN )
+            // D:\\workspace\\jboss\\jbossrules\\drools-compiler\\src\\main\\resources\\org\\drools\\clp\\CLP.g:334:4: LEFT_PAREN name= ID ( field_constriant[column] )* RIGHT_PAREN
             {
             match(input,LEFT_PAREN,FOLLOW_LEFT_PAREN_in_normal_pattern551); 
             name=(Token)input.LT(1);
@@ -890,7 +894,7 @@
             			column = new ColumnDescr(name.getText());
             			in_ce.addDescr( column );
             		
-            // C:\\dev\\jbossrules\\trunk\\drools-compiler\\src\\main\\resources\\org\\drools\\clp\\CLP.g:339:3: ( field_constriant[column] )*
+            // D:\\workspace\\jboss\\jbossrules\\drools-compiler\\src\\main\\resources\\org\\drools\\clp\\CLP.g:339:3: ( field_constriant[column] )*
             loop10:
             do {
                 int alt10=2;
@@ -902,7 +906,7 @@
 
                 switch (alt10) {
             	case 1 :
-            	    // C:\\dev\\jbossrules\\trunk\\drools-compiler\\src\\main\\resources\\org\\drools\\clp\\CLP.g:339:3: field_constriant[column]
+            	    // D:\\workspace\\jboss\\jbossrules\\drools-compiler\\src\\main\\resources\\org\\drools\\clp\\CLP.g:339:3: field_constriant[column]
             	    {
             	    pushFollow(FOLLOW_field_constriant_in_normal_pattern564);
             	    field_constriant(column);
@@ -927,15 +931,15 @@
             recover(input,re);
         }
         finally {
-        }
+       }
         return ;
     }
     // $ANTLR end normal_pattern
 
 
     // $ANTLR start bound_pattern
-    // C:\\dev\\jbossrules\\trunk\\drools-compiler\\src\\main\\resources\\org\\drools\\clp\\CLP.g:345:1: bound_pattern[ConditionalElementDescr in_ce] : var= VAR '<-' LEFT_PAREN name= ID ( field_constriant[column] )* RIGHT_PAREN ;
-    public void bound_pattern(ConditionalElementDescr in_ce) throws RecognitionException {
+    // D:\\workspace\\jboss\\jbossrules\\drools-compiler\\src\\main\\resources\\org\\drools\\clp\\CLP.g:345:1: bound_pattern[ConditionalElementDescr in_ce] : var= VAR '<-' LEFT_PAREN name= ID ( field_constriant[column] )* RIGHT_PAREN ;
+    public void bound_pattern(ConditionalElementDescr in_ce) throws RecognitionException {   
         Token var=null;
         Token name=null;
 
@@ -944,15 +948,15 @@
                 String identifier = null;
             
         try {
-            // C:\\dev\\jbossrules\\trunk\\drools-compiler\\src\\main\\resources\\org\\drools\\clp\\CLP.g:350:4: (var= VAR '<-' LEFT_PAREN name= ID ( field_constriant[column] )* RIGHT_PAREN )
-            // C:\\dev\\jbossrules\\trunk\\drools-compiler\\src\\main\\resources\\org\\drools\\clp\\CLP.g:350:4: var= VAR '<-' LEFT_PAREN name= ID ( field_constriant[column] )* RIGHT_PAREN
+            // D:\\workspace\\jboss\\jbossrules\\drools-compiler\\src\\main\\resources\\org\\drools\\clp\\CLP.g:350:4: (var= VAR '<-' LEFT_PAREN name= ID ( field_constriant[column] )* RIGHT_PAREN )
+            // D:\\workspace\\jboss\\jbossrules\\drools-compiler\\src\\main\\resources\\org\\drools\\clp\\CLP.g:350:4: var= VAR '<-' LEFT_PAREN name= ID ( field_constriant[column] )* RIGHT_PAREN
             {
             var=(Token)input.LT(1);
             match(input,VAR,FOLLOW_VAR_in_bound_pattern602); 
             
             			identifier = var.getText();
             		
-            match(input,34,FOLLOW_34_in_bound_pattern608); 
+            match(input,38,FOLLOW_38_in_bound_pattern608); 
             match(input,LEFT_PAREN,FOLLOW_LEFT_PAREN_in_bound_pattern613); 
             name=(Token)input.LT(1);
             match(input,ID,FOLLOW_ID_in_bound_pattern620); 
@@ -961,7 +965,7 @@
             			column.setIdentifier( identifier );
             			in_ce.addDescr( column );	    
             		
-            // C:\\dev\\jbossrules\\trunk\\drools-compiler\\src\\main\\resources\\org\\drools\\clp\\CLP.g:360:3: ( field_constriant[column] )*
+            // D:\\workspace\\jboss\\jbossrules\\drools-compiler\\src\\main\\resources\\org\\drools\\clp\\CLP.g:360:3: ( field_constriant[column] )*
             loop11:
             do {
                 int alt11=2;
@@ -973,7 +977,7 @@
 
                 switch (alt11) {
             	case 1 :
-            	    // C:\\dev\\jbossrules\\trunk\\drools-compiler\\src\\main\\resources\\org\\drools\\clp\\CLP.g:360:3: field_constriant[column]
+            	    // D:\\workspace\\jboss\\jbossrules\\drools-compiler\\src\\main\\resources\\org\\drools\\clp\\CLP.g:360:3: field_constriant[column]
             	    {
             	    pushFollow(FOLLOW_field_constriant_in_bound_pattern626);
             	    field_constriant(column);
@@ -998,15 +1002,15 @@
             recover(input,re);
         }
         finally {
-        }
+       }
         return ;
     }
     // $ANTLR end bound_pattern
 
 
     // $ANTLR start field_constriant
-    // C:\\dev\\jbossrules\\trunk\\drools-compiler\\src\\main\\resources\\org\\drools\\clp\\CLP.g:364:1: field_constriant[ColumnDescr column] : LEFT_PAREN f= ID restriction[fc, column] ( connective[fc] restriction[fc, column] )* RIGHT_PAREN ;
-    public void field_constriant(ColumnDescr column) throws RecognitionException {
+    // D:\\workspace\\jboss\\jbossrules\\drools-compiler\\src\\main\\resources\\org\\drools\\clp\\CLP.g:364:1: field_constriant[ColumnDescr column] : LEFT_PAREN f= ID restriction[fc, column] ( connective[fc] restriction[fc, column] )* RIGHT_PAREN ;
+    public void field_constriant(ColumnDescr column) throws RecognitionException {   
         Token f=null;
 
         
@@ -1016,8 +1020,8 @@
         		String op = "==";
         	
         try {
-            // C:\\dev\\jbossrules\\trunk\\drools-compiler\\src\\main\\resources\\org\\drools\\clp\\CLP.g:371:4: ( LEFT_PAREN f= ID restriction[fc, column] ( connective[fc] restriction[fc, column] )* RIGHT_PAREN )
-            // C:\\dev\\jbossrules\\trunk\\drools-compiler\\src\\main\\resources\\org\\drools\\clp\\CLP.g:371:4: LEFT_PAREN f= ID restriction[fc, column] ( connective[fc] restriction[fc, column] )* RIGHT_PAREN
+            // D:\\workspace\\jboss\\jbossrules\\drools-compiler\\src\\main\\resources\\org\\drools\\clp\\CLP.g:371:4: ( LEFT_PAREN f= ID restriction[fc, column] ( connective[fc] restriction[fc, column] )* RIGHT_PAREN )
+            // D:\\workspace\\jboss\\jbossrules\\drools-compiler\\src\\main\\resources\\org\\drools\\clp\\CLP.g:371:4: LEFT_PAREN f= ID restriction[fc, column] ( connective[fc] restriction[fc, column] )* RIGHT_PAREN
             {
             match(input,LEFT_PAREN,FOLLOW_LEFT_PAREN_in_field_constriant661); 
             f=(Token)input.LT(1);
@@ -1032,19 +1036,19 @@
             restriction(fc,  column);
             _fsp--;
 
-            // C:\\dev\\jbossrules\\trunk\\drools-compiler\\src\\main\\resources\\org\\drools\\clp\\CLP.g:380:3: ( connective[fc] restriction[fc, column] )*
+            // D:\\workspace\\jboss\\jbossrules\\drools-compiler\\src\\main\\resources\\org\\drools\\clp\\CLP.g:380:3: ( connective[fc] restriction[fc, column] )*
             loop12:
             do {
                 int alt12=2;
                 int LA12_0 = input.LA(1);
-                if ( ((LA12_0>=35 && LA12_0<=36)) ) {
+                if ( ((LA12_0>=AMPERSAND && LA12_0<=PIPE)) ) {
                     alt12=1;
                 }
 
 
                 switch (alt12) {
             	case 1 :
-            	    // C:\\dev\\jbossrules\\trunk\\drools-compiler\\src\\main\\resources\\org\\drools\\clp\\CLP.g:381:5: connective[fc] restriction[fc, column]
+            	    // D:\\workspace\\jboss\\jbossrules\\drools-compiler\\src\\main\\resources\\org\\drools\\clp\\CLP.g:381:5: connective[fc] restriction[fc, column]
             	    {
             	    pushFollow(FOLLOW_connective_in_field_constriant692);
             	    connective(fc);
@@ -1073,47 +1077,47 @@
             recover(input,re);
         }
         finally {
-        }
+       }
         return ;
     }
     // $ANTLR end field_constriant
 
 
     // $ANTLR start connective
-    // C:\\dev\\jbossrules\\trunk\\drools-compiler\\src\\main\\resources\\org\\drools\\clp\\CLP.g:387:1: connective[FieldConstraintDescr fc] : ( '&' | '|' ) ;
-    public void connective(FieldConstraintDescr fc) throws RecognitionException {
+    // D:\\workspace\\jboss\\jbossrules\\drools-compiler\\src\\main\\resources\\org\\drools\\clp\\CLP.g:387:1: connective[FieldConstraintDescr fc] : ( AMPERSAND | PIPE ) ;
+    public void connective(FieldConstraintDescr fc) throws RecognitionException {   
         try {
-            // C:\\dev\\jbossrules\\trunk\\drools-compiler\\src\\main\\resources\\org\\drools\\clp\\CLP.g:388:4: ( ( '&' | '|' ) )
-            // C:\\dev\\jbossrules\\trunk\\drools-compiler\\src\\main\\resources\\org\\drools\\clp\\CLP.g:388:4: ( '&' | '|' )
+            // D:\\workspace\\jboss\\jbossrules\\drools-compiler\\src\\main\\resources\\org\\drools\\clp\\CLP.g:388:4: ( ( AMPERSAND | PIPE ) )
+            // D:\\workspace\\jboss\\jbossrules\\drools-compiler\\src\\main\\resources\\org\\drools\\clp\\CLP.g:388:4: ( AMPERSAND | PIPE )
             {
-            // C:\\dev\\jbossrules\\trunk\\drools-compiler\\src\\main\\resources\\org\\drools\\clp\\CLP.g:388:4: ( '&' | '|' )
+            // D:\\workspace\\jboss\\jbossrules\\drools-compiler\\src\\main\\resources\\org\\drools\\clp\\CLP.g:388:4: ( AMPERSAND | PIPE )
             int alt13=2;
             int LA13_0 = input.LA(1);
-            if ( (LA13_0==35) ) {
+            if ( (LA13_0==AMPERSAND) ) {
                 alt13=1;
             }
-            else if ( (LA13_0==36) ) {
+            else if ( (LA13_0==PIPE) ) {
                 alt13=2;
             }
             else {
                 NoViableAltException nvae =
-                    new NoViableAltException("388:4: ( '&' | '|' )", 13, 0, input);
+                    new NoViableAltException("388:4: ( AMPERSAND | PIPE )", 13, 0, input);
 
                 throw nvae;
             }
             switch (alt13) {
                 case 1 :
-                    // C:\\dev\\jbossrules\\trunk\\drools-compiler\\src\\main\\resources\\org\\drools\\clp\\CLP.g:388:6: '&'
+                    // D:\\workspace\\jboss\\jbossrules\\drools-compiler\\src\\main\\resources\\org\\drools\\clp\\CLP.g:388:6: AMPERSAND
                     {
-                    match(input,35,FOLLOW_35_in_connective750); 
+                    match(input,AMPERSAND,FOLLOW_AMPERSAND_in_connective750); 
                      fc.addRestriction(new RestrictionConnectiveDescr(RestrictionConnectiveDescr.AND)); 
 
                     }
                     break;
                 case 2 :
-                    // C:\\dev\\jbossrules\\trunk\\drools-compiler\\src\\main\\resources\\org\\drools\\clp\\CLP.g:389:9: '|'
+                    // D:\\workspace\\jboss\\jbossrules\\drools-compiler\\src\\main\\resources\\org\\drools\\clp\\CLP.g:389:9: PIPE
                     {
-                    match(input,36,FOLLOW_36_in_connective762); 
+                    match(input,PIPE,FOLLOW_PIPE_in_connective762); 
                     fc.addRestriction(new RestrictionConnectiveDescr(RestrictionConnectiveDescr.OR)); 
 
                     }
@@ -1130,15 +1134,15 @@
             recover(input,re);
         }
         finally {
-        }
+       }
         return ;
     }
     // $ANTLR end connective
 
 
     // $ANTLR start restriction
-    // C:\\dev\\jbossrules\\trunk\\drools-compiler\\src\\main\\resources\\org\\drools\\clp\\CLP.g:393:1: restriction[FieldConstraintDescr fc, ColumnDescr column] : ( '~' )? ( 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 {
+    // D:\\workspace\\jboss\\jbossrules\\drools-compiler\\src\\main\\resources\\org\\drools\\clp\\CLP.g:393: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;
 
 
@@ -1146,20 +1150,20 @@
         			String op = "==";
         	
         try {
-            // C:\\dev\\jbossrules\\trunk\\drools-compiler\\src\\main\\resources\\org\\drools\\clp\\CLP.g:397:4: ( ( '~' )? ( predicate_constraint[op, column] | return_value_restriction[op, fc] | variable_restriction[op, fc] | lc= literal_restriction ) )
-            // C:\\dev\\jbossrules\\trunk\\drools-compiler\\src\\main\\resources\\org\\drools\\clp\\CLP.g:397:4: ( '~' )? ( 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:397: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:397:4: ( TILDE )? ( predicate_constraint[op, column] | return_value_restriction[op, fc] | variable_restriction[op, fc] | lc= literal_restriction )
             {
-            // C:\\dev\\jbossrules\\trunk\\drools-compiler\\src\\main\\resources\\org\\drools\\clp\\CLP.g:397:4: ( '~' )?
+            // D:\\workspace\\jboss\\jbossrules\\drools-compiler\\src\\main\\resources\\org\\drools\\clp\\CLP.g:397:4: ( TILDE )?
             int alt14=2;
             int LA14_0 = input.LA(1);
-            if ( (LA14_0==37) ) {
+            if ( (LA14_0==TILDE) ) {
                 alt14=1;
             }
             switch (alt14) {
                 case 1 :
-                    // C:\\dev\\jbossrules\\trunk\\drools-compiler\\src\\main\\resources\\org\\drools\\clp\\CLP.g:397:5: '~'
+                    // D:\\workspace\\jboss\\jbossrules\\drools-compiler\\src\\main\\resources\\org\\drools\\clp\\CLP.g:397:5: TILDE
                     {
-                    match(input,37,FOLLOW_37_in_restriction797); 
+                    match(input,TILDE,FOLLOW_TILDE_in_restriction797); 
                     op = "!=";
 
                     }
@@ -1167,13 +1171,13 @@
 
             }
 
-            // C:\\dev\\jbossrules\\trunk\\drools-compiler\\src\\main\\resources\\org\\drools\\clp\\CLP.g:398:3: ( 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:398:3: ( predicate_constraint[op, column] | return_value_restriction[op, fc] | variable_restriction[op, fc] | lc= literal_restriction )
             int alt15=4;
             switch ( input.LA(1) ) {
-            case 38:
+            case 39:
                 alt15=1;
                 break;
-            case 39:
+            case 40:
                 alt15=2;
                 break;
             case VAR:
@@ -1196,7 +1200,7 @@
 
             switch (alt15) {
                 case 1 :
-                    // C:\\dev\\jbossrules\\trunk\\drools-compiler\\src\\main\\resources\\org\\drools\\clp\\CLP.g:398:6: predicate_constraint[op, column]
+                    // D:\\workspace\\jboss\\jbossrules\\drools-compiler\\src\\main\\resources\\org\\drools\\clp\\CLP.g:398:6: predicate_constraint[op, column]
                     {
                     pushFollow(FOLLOW_predicate_constraint_in_restriction814);
                     predicate_constraint(op,  column);
@@ -1206,7 +1210,7 @@
                     }
                     break;
                 case 2 :
-                    // C:\\dev\\jbossrules\\trunk\\drools-compiler\\src\\main\\resources\\org\\drools\\clp\\CLP.g:399:11: return_value_restriction[op, fc]
+                    // D:\\workspace\\jboss\\jbossrules\\drools-compiler\\src\\main\\resources\\org\\drools\\clp\\CLP.g:399:11: return_value_restriction[op, fc]
                     {
                     pushFollow(FOLLOW_return_value_restriction_in_restriction834);
                     return_value_restriction(op,  fc);
@@ -1216,7 +1220,7 @@
                     }
                     break;
                 case 3 :
-                    // C:\\dev\\jbossrules\\trunk\\drools-compiler\\src\\main\\resources\\org\\drools\\clp\\CLP.g:400:10: variable_restriction[op, fc]
+                    // D:\\workspace\\jboss\\jbossrules\\drools-compiler\\src\\main\\resources\\org\\drools\\clp\\CLP.g:400:10: variable_restriction[op, fc]
                     {
                     pushFollow(FOLLOW_variable_restriction_in_restriction846);
                     variable_restriction(op,  fc);
@@ -1226,7 +1230,7 @@
                     }
                     break;
                 case 4 :
-                    // C:\\dev\\jbossrules\\trunk\\drools-compiler\\src\\main\\resources\\org\\drools\\clp\\CLP.g:401:12: lc= literal_restriction
+                    // D:\\workspace\\jboss\\jbossrules\\drools-compiler\\src\\main\\resources\\org\\drools\\clp\\CLP.g:401:12: lc= literal_restriction
                     {
                     pushFollow(FOLLOW_literal_restriction_in_restriction862);
                     lc=literal_restriction();
@@ -1251,24 +1255,24 @@
             recover(input,re);
         }
         finally {
-        }
+       }
         return ;
     }
     // $ANTLR end restriction
 
 
     // $ANTLR start predicate_constraint
-    // C:\\dev\\jbossrules\\trunk\\drools-compiler\\src\\main\\resources\\org\\drools\\clp\\CLP.g:408:1: predicate_constraint[String op, ColumnDescr column] : ':' function[context] ;
-    public void predicate_constraint(String op, ColumnDescr column) throws RecognitionException {
+    // D:\\workspace\\jboss\\jbossrules\\drools-compiler\\src\\main\\resources\\org\\drools\\clp\\CLP.g:408:1: predicate_constraint[String op, ColumnDescr column] : ':' function[context] ;
+    public void predicate_constraint(String op, ColumnDescr column) throws RecognitionException {   
         
            		ExecutionEngine engine = new CLPPredicate();
         		ExecutionBuildContext context = new ExecutionBuildContext( engine );    
             
         try {
-            // C:\\dev\\jbossrules\\trunk\\drools-compiler\\src\\main\\resources\\org\\drools\\clp\\CLP.g:413:4: ( ':' function[context] )
-            // C:\\dev\\jbossrules\\trunk\\drools-compiler\\src\\main\\resources\\org\\drools\\clp\\CLP.g:413:4: ':' function[context]
+            // D:\\workspace\\jboss\\jbossrules\\drools-compiler\\src\\main\\resources\\org\\drools\\clp\\CLP.g:413:4: ( ':' function[context] )
+            // D:\\workspace\\jboss\\jbossrules\\drools-compiler\\src\\main\\resources\\org\\drools\\clp\\CLP.g:413:4: ':' function[context]
             {
-            match(input,38,FOLLOW_38_in_predicate_constraint904); 
+            match(input,39,FOLLOW_39_in_predicate_constraint904); 
             pushFollow(FOLLOW_function_in_predicate_constraint908);
             function(context);
             _fsp--;
@@ -1285,24 +1289,24 @@
             recover(input,re);
         }
         finally {
-        }
+       }
         return ;
     }
     // $ANTLR end predicate_constraint
 
 
     // $ANTLR start return_value_restriction
-    // C:\\dev\\jbossrules\\trunk\\drools-compiler\\src\\main\\resources\\org\\drools\\clp\\CLP.g:420:1: return_value_restriction[String op, FieldConstraintDescr fc] : '=' function[context] ;
-    public void return_value_restriction(String op, FieldConstraintDescr fc) throws RecognitionException {
+    // D:\\workspace\\jboss\\jbossrules\\drools-compiler\\src\\main\\resources\\org\\drools\\clp\\CLP.g:420:1: return_value_restriction[String op, FieldConstraintDescr fc] : '=' function[context] ;
+    public void return_value_restriction(String op, FieldConstraintDescr fc) throws RecognitionException {   
         
         		ExecutionEngine engine = new CLPReturnValue();
         		ExecutionBuildContext context = new ExecutionBuildContext( engine );
         	
         try {
-            // C:\\dev\\jbossrules\\trunk\\drools-compiler\\src\\main\\resources\\org\\drools\\clp\\CLP.g:425:4: ( '=' function[context] )
-            // C:\\dev\\jbossrules\\trunk\\drools-compiler\\src\\main\\resources\\org\\drools\\clp\\CLP.g:425:4: '=' function[context]
+            // D:\\workspace\\jboss\\jbossrules\\drools-compiler\\src\\main\\resources\\org\\drools\\clp\\CLP.g:425:4: ( '=' function[context] )
+            // D:\\workspace\\jboss\\jbossrules\\drools-compiler\\src\\main\\resources\\org\\drools\\clp\\CLP.g:425:4: '=' function[context]
             {
-            match(input,39,FOLLOW_39_in_return_value_restriction931); 
+            match(input,40,FOLLOW_40_in_return_value_restriction931); 
             pushFollow(FOLLOW_function_in_return_value_restriction936);
             function(context);
             _fsp--;
@@ -1319,20 +1323,20 @@
             recover(input,re);
         }
         finally {
-        }
+       }
         return ;
     }
     // $ANTLR end return_value_restriction
 
 
     // $ANTLR start variable_restriction
-    // C:\\dev\\jbossrules\\trunk\\drools-compiler\\src\\main\\resources\\org\\drools\\clp\\CLP.g:431:1: variable_restriction[String op, FieldConstraintDescr fc] : var= VAR ;
-    public void variable_restriction(String op, FieldConstraintDescr fc) throws RecognitionException {
+    // D:\\workspace\\jboss\\jbossrules\\drools-compiler\\src\\main\\resources\\org\\drools\\clp\\CLP.g:431:1: variable_restriction[String op, FieldConstraintDescr fc] : var= VAR ;
+    public void variable_restriction(String op, FieldConstraintDescr fc) throws RecognitionException {   
         Token var=null;
 
         try {
-            // C:\\dev\\jbossrules\\trunk\\drools-compiler\\src\\main\\resources\\org\\drools\\clp\\CLP.g:432:4: (var= VAR )
-            // C:\\dev\\jbossrules\\trunk\\drools-compiler\\src\\main\\resources\\org\\drools\\clp\\CLP.g:432:4: var= VAR
+            // D:\\workspace\\jboss\\jbossrules\\drools-compiler\\src\\main\\resources\\org\\drools\\clp\\CLP.g:432:4: (var= VAR )
+            // D:\\workspace\\jboss\\jbossrules\\drools-compiler\\src\\main\\resources\\org\\drools\\clp\\CLP.g:432:4: var= VAR
             {
             var=(Token)input.LT(1);
             match(input,VAR,FOLLOW_VAR_in_variable_restriction957); 
@@ -1348,15 +1352,15 @@
             recover(input,re);
         }
         finally {
-        }
+       }
         return ;
     }
     // $ANTLR end variable_restriction
 
 
     // $ANTLR start literal_restriction
-    // C:\\dev\\jbossrules\\trunk\\drools-compiler\\src\\main\\resources\\org\\drools\\clp\\CLP.g:438:1: literal_restriction returns [String text] : t= literal ;
-    public String literal_restriction() throws RecognitionException {
+    // D:\\workspace\\jboss\\jbossrules\\drools-compiler\\src\\main\\resources\\org\\drools\\clp\\CLP.g:438:1: literal_restriction returns [String text] : t= literal ;
+    public String literal_restriction() throws RecognitionException {   
         String text = null;
 
         String t = null;
@@ -1366,8 +1370,8 @@
         		text = null;
         	
         try {
-            // C:\\dev\\jbossrules\\trunk\\drools-compiler\\src\\main\\resources\\org\\drools\\clp\\CLP.g:443:6: (t= literal )
-            // C:\\dev\\jbossrules\\trunk\\drools-compiler\\src\\main\\resources\\org\\drools\\clp\\CLP.g:443:6: t= literal
+            // D:\\workspace\\jboss\\jbossrules\\drools-compiler\\src\\main\\resources\\org\\drools\\clp\\CLP.g:443:6: (t= literal )
+            // D:\\workspace\\jboss\\jbossrules\\drools-compiler\\src\\main\\resources\\org\\drools\\clp\\CLP.g:443:6: t= literal
             {
             pushFollow(FOLLOW_literal_in_literal_restriction990);
             t=literal();
@@ -1385,49 +1389,52 @@
             recover(input,re);
         }
         finally {
-        }
+       }
         return text;
     }
     // $ANTLR end literal_restriction
 
 
     // $ANTLR start function
-    // C:\\dev\\jbossrules\\trunk\\drools-compiler\\src\\main\\resources\\org\\drools\\clp\\CLP.g:448:1: function[ExecutionBuildContext context] returns [Function f] : LEFT_PAREN name= ID ( function_params[context, f] )+ RIGHT_PAREN ;
-    public Function function(ExecutionBuildContext context) throws RecognitionException {
+    // D:\\workspace\\jboss\\jbossrules\\drools-compiler\\src\\main\\resources\\org\\drools\\clp\\CLP.g:448:1: function[ExecutionBuildContext context] returns [Function f] : LEFT_PAREN name= function_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 {
-            // C:\\dev\\jbossrules\\trunk\\drools-compiler\\src\\main\\resources\\org\\drools\\clp\\CLP.g:452:4: ( LEFT_PAREN name= ID ( function_params[context, f] )+ RIGHT_PAREN )
-            // C:\\dev\\jbossrules\\trunk\\drools-compiler\\src\\main\\resources\\org\\drools\\clp\\CLP.g:452:4: LEFT_PAREN name= ID ( function_params[context, f] )+ RIGHT_PAREN
+            // D:\\workspace\\jboss\\jbossrules\\drools-compiler\\src\\main\\resources\\org\\drools\\clp\\CLP.g:452: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:452:4: LEFT_PAREN name= function_name ( function_params[context, f] )+ RIGHT_PAREN
             {
             match(input,LEFT_PAREN,FOLLOW_LEFT_PAREN_in_function1015); 
-            name=(Token)input.LT(1);
-            match(input,ID,FOLLOW_ID_in_function1021); 
+            pushFollow(FOLLOW_function_name_in_function1021);
+            name=function_name();
+            _fsp--;
+
             
             			if ( name.getText().equals("bind") ) {
             		  		context.createLocalVariable( name.getText() );
             			}
             		  	f = factory.createFunction( name.getText() );		  
             		
-            // C:\\dev\\jbossrules\\trunk\\drools-compiler\\src\\main\\resources\\org\\drools\\clp\\CLP.g:460:3: ( function_params[context, f] )+
+            // D:\\workspace\\jboss\\jbossrules\\drools-compiler\\src\\main\\resources\\org\\drools\\clp\\CLP.g:460:3: ( function_params[context, f] )+
             int cnt16=0;
             loop16:
             do {
                 int alt16=2;
                 int LA16_0 = input.LA(1);
-                if ( ((LA16_0>=LEFT_PAREN && LA16_0<=ID)||(LA16_0>=VAR && LA16_0<=NULL)) ) {
+                if ( ((LA16_0>=LEFT_PAREN && LA16_0<=ID)||LA16_0==VAR||(LA16_0>=STRING && LA16_0<=NULL)) ) {
                     alt16=1;
                 }
 
 
                 switch (alt16) {
             	case 1 :
-            	    // C:\\dev\\jbossrules\\trunk\\drools-compiler\\src\\main\\resources\\org\\drools\\clp\\CLP.g:460:3: function_params[context, f]
+            	    // D:\\workspace\\jboss\\jbossrules\\drools-compiler\\src\\main\\resources\\org\\drools\\clp\\CLP.g:460:3: function_params[context, f]
             	    {
             	    pushFollow(FOLLOW_function_params_in_function1034);
             	    function_params(context,  f);
@@ -1456,15 +1463,15 @@
             recover(input,re);
         }
         finally {
-        }
+       }
         return f;
     }
     // $ANTLR end function
 
 
     // $ANTLR start modify_function
-    // C:\\dev\\jbossrules\\trunk\\drools-compiler\\src\\main\\resources\\org\\drools\\clp\\CLP.g:465: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 {
+    // D:\\workspace\\jboss\\jbossrules\\drools-compiler\\src\\main\\resources\\org\\drools\\clp\\CLP.g:465: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;
 
         
@@ -1472,12 +1479,12 @@
         		f = factory.createFunction( "modify" );
         	
         try {
-            // C:\\dev\\jbossrules\\trunk\\drools-compiler\\src\\main\\resources\\org\\drools\\clp\\CLP.g:471:3: ( LEFT_PAREN 'modify' ( slot_name_value_pair[context, f] )+ RIGHT_PAREN )
-            // C:\\dev\\jbossrules\\trunk\\drools-compiler\\src\\main\\resources\\org\\drools\\clp\\CLP.g:471: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:471: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:471:3: LEFT_PAREN 'modify' ( slot_name_value_pair[context, f] )+ RIGHT_PAREN
             {
             match(input,LEFT_PAREN,FOLLOW_LEFT_PAREN_in_modify_function1068); 
-            match(input,40,FOLLOW_40_in_modify_function1073); 
-            // C:\\dev\\jbossrules\\trunk\\drools-compiler\\src\\main\\resources\\org\\drools\\clp\\CLP.g:473:4: ( slot_name_value_pair[context, f] )+
+            match(input,41,FOLLOW_41_in_modify_function1073); 
+            // D:\\workspace\\jboss\\jbossrules\\drools-compiler\\src\\main\\resources\\org\\drools\\clp\\CLP.g:473:4: ( slot_name_value_pair[context, f] )+
             int cnt17=0;
             loop17:
             do {
@@ -1490,7 +1497,7 @@
 
                 switch (alt17) {
             	case 1 :
-            	    // C:\\dev\\jbossrules\\trunk\\drools-compiler\\src\\main\\resources\\org\\drools\\clp\\CLP.g:473:4: slot_name_value_pair[context, f]
+            	    // D:\\workspace\\jboss\\jbossrules\\drools-compiler\\src\\main\\resources\\org\\drools\\clp\\CLP.g:473:4: slot_name_value_pair[context, f]
             	    {
             	    pushFollow(FOLLOW_slot_name_value_pair_in_modify_function1078);
             	    slot_name_value_pair(context,  f);
@@ -1519,15 +1526,15 @@
             recover(input,re);
         }
         finally {
-        }
+       }
         return f;
     }
     // $ANTLR end modify_function
 
 
     // $ANTLR start function_params
-    // C:\\dev\\jbossrules\\trunk\\drools-compiler\\src\\main\\resources\\org\\drools\\clp\\CLP.g:477:1: function_params[ExecutionBuildContext context, Function f] : (t= VAR | t= STRING | t= ID | t= FLOAT | t= INT | t= BOOL | t= NULL | nf= function[context] ) ;
-    public void function_params(ExecutionBuildContext context, Function f) throws RecognitionException {
+    // D:\\workspace\\jboss\\jbossrules\\drools-compiler\\src\\main\\resources\\org\\drools\\clp\\CLP.g:477:1: function_params[ExecutionBuildContext context, Function f] : (t= VAR | t= STRING | t= ID | 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;
 
@@ -1536,10 +1543,10 @@
         		ValueHandler value  =  null;		
         	
         try {
-            // C:\\dev\\jbossrules\\trunk\\drools-compiler\\src\\main\\resources\\org\\drools\\clp\\CLP.g:482:3: ( (t= VAR | t= STRING | t= ID | t= FLOAT | t= INT | t= BOOL | t= NULL | nf= function[context] ) )
-            // C:\\dev\\jbossrules\\trunk\\drools-compiler\\src\\main\\resources\\org\\drools\\clp\\CLP.g:482:3: (t= VAR | t= STRING | t= ID | 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:482:3: ( (t= VAR | t= STRING | t= ID | 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:482:3: (t= VAR | t= STRING | t= ID | t= FLOAT | t= INT | t= BOOL | t= NULL | nf= function[context] )
             {
-            // C:\\dev\\jbossrules\\trunk\\drools-compiler\\src\\main\\resources\\org\\drools\\clp\\CLP.g:482:3: (t= VAR | t= STRING | t= ID | 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:482:3: (t= VAR | t= STRING | t= ID | t= FLOAT | t= INT | t= BOOL | t= NULL | nf= function[context] )
             int alt18=8;
             switch ( input.LA(1) ) {
             case VAR:
@@ -1575,7 +1582,7 @@
 
             switch (alt18) {
                 case 1 :
-                    // C:\\dev\\jbossrules\\trunk\\drools-compiler\\src\\main\\resources\\org\\drools\\clp\\CLP.g:482:6: t= VAR
+                    // D:\\workspace\\jboss\\jbossrules\\drools-compiler\\src\\main\\resources\\org\\drools\\clp\\CLP.g:482:6: t= VAR
                     {
                     t=(Token)input.LT(1);
                     match(input,VAR,FOLLOW_VAR_in_function_params1113); 
@@ -1584,7 +1591,7 @@
                     }
                     break;
                 case 2 :
-                    // C:\\dev\\jbossrules\\trunk\\drools-compiler\\src\\main\\resources\\org\\drools\\clp\\CLP.g:483:6: t= STRING
+                    // D:\\workspace\\jboss\\jbossrules\\drools-compiler\\src\\main\\resources\\org\\drools\\clp\\CLP.g:483:6: t= STRING
                     {
                     t=(Token)input.LT(1);
                     match(input,STRING,FOLLOW_STRING_in_function_params1125); 
@@ -1593,7 +1600,7 @@
                     }
                     break;
                 case 3 :
-                    // C:\\dev\\jbossrules\\trunk\\drools-compiler\\src\\main\\resources\\org\\drools\\clp\\CLP.g:484:7: t= ID
+                    // D:\\workspace\\jboss\\jbossrules\\drools-compiler\\src\\main\\resources\\org\\drools\\clp\\CLP.g:484:7: t= ID
                     {
                     t=(Token)input.LT(1);
                     match(input,ID,FOLLOW_ID_in_function_params1140); 
@@ -1602,7 +1609,7 @@
                     }
                     break;
                 case 4 :
-                    // C:\\dev\\jbossrules\\trunk\\drools-compiler\\src\\main\\resources\\org\\drools\\clp\\CLP.g:485:6: t= FLOAT
+                    // D:\\workspace\\jboss\\jbossrules\\drools-compiler\\src\\main\\resources\\org\\drools\\clp\\CLP.g:485:6: t= FLOAT
                     {
                     t=(Token)input.LT(1);
                     match(input,FLOAT,FOLLOW_FLOAT_in_function_params1161); 
@@ -1611,7 +1618,7 @@
                     }
                     break;
                 case 5 :
-                    // C:\\dev\\jbossrules\\trunk\\drools-compiler\\src\\main\\resources\\org\\drools\\clp\\CLP.g:486:6: t= INT
+                    // D:\\workspace\\jboss\\jbossrules\\drools-compiler\\src\\main\\resources\\org\\drools\\clp\\CLP.g:486:6: t= INT
                     {
                     t=(Token)input.LT(1);
                     match(input,INT,FOLLOW_INT_in_function_params1176); 
@@ -1620,7 +1627,7 @@
                     }
                     break;
                 case 6 :
-                    // C:\\dev\\jbossrules\\trunk\\drools-compiler\\src\\main\\resources\\org\\drools\\clp\\CLP.g:487:6: t= BOOL
+                    // D:\\workspace\\jboss\\jbossrules\\drools-compiler\\src\\main\\resources\\org\\drools\\clp\\CLP.g:487:6: t= BOOL
                     {
                     t=(Token)input.LT(1);
                     match(input,BOOL,FOLLOW_BOOL_in_function_params1196); 
@@ -1629,7 +1636,7 @@
                     }
                     break;
                 case 7 :
-                    // C:\\dev\\jbossrules\\trunk\\drools-compiler\\src\\main\\resources\\org\\drools\\clp\\CLP.g:488:6: t= NULL
+                    // D:\\workspace\\jboss\\jbossrules\\drools-compiler\\src\\main\\resources\\org\\drools\\clp\\CLP.g:488:6: t= NULL
                     {
                     t=(Token)input.LT(1);
                     match(input,NULL,FOLLOW_NULL_in_function_params1218); 
@@ -1638,7 +1645,7 @@
                     }
                     break;
                 case 8 :
-                    // C:\\dev\\jbossrules\\trunk\\drools-compiler\\src\\main\\resources\\org\\drools\\clp\\CLP.g:489:6: nf= function[context]
+                    // D:\\workspace\\jboss\\jbossrules\\drools-compiler\\src\\main\\resources\\org\\drools\\clp\\CLP.g:489:6: nf= function[context]
                     {
                     pushFollow(FOLLOW_function_in_function_params1234);
                     nf=function(context);
@@ -1661,15 +1668,15 @@
             recover(input,re);
         }
         finally {
-        }
+       }
         return ;
     }
     // $ANTLR end function_params
 
 
     // $ANTLR start slot_name_value_pair
-    // C:\\dev\\jbossrules\\trunk\\drools-compiler\\src\\main\\resources\\org\\drools\\clp\\CLP.g:495:1: slot_name_value_pair[ExecutionBuildContext context, Function f] : LEFT_PAREN id= ID (t= VAR | t= STRING | t= ID | 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 {
+    // D:\\workspace\\jboss\\jbossrules\\drools-compiler\\src\\main\\resources\\org\\drools\\clp\\CLP.g:495:1: slot_name_value_pair[ExecutionBuildContext context, Function f] : LEFT_PAREN id= ID (t= VAR | t= STRING | t= ID | 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;
         Function nf = null;
@@ -1680,8 +1687,8 @@
         		String name = null;
         	
         try {
-            // C:\\dev\\jbossrules\\trunk\\drools-compiler\\src\\main\\resources\\org\\drools\\clp\\CLP.g:501:3: ( LEFT_PAREN id= ID (t= VAR | t= STRING | t= ID | t= FLOAT | t= INT | t= BOOL | t= NULL | nf= function[context] ) RIGHT_PAREN )
-            // C:\\dev\\jbossrules\\trunk\\drools-compiler\\src\\main\\resources\\org\\drools\\clp\\CLP.g:501:3: LEFT_PAREN id= ID (t= VAR | t= STRING | t= ID | 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:501:3: ( LEFT_PAREN id= ID (t= VAR | t= STRING | t= ID | 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:501:3: LEFT_PAREN id= ID (t= VAR | t= STRING | t= ID | t= FLOAT | t= INT | t= BOOL | t= NULL | nf= function[context] ) RIGHT_PAREN
             {
             match(input,LEFT_PAREN,FOLLOW_LEFT_PAREN_in_slot_name_value_pair1276); 
             id=(Token)input.LT(1);
@@ -1689,7 +1696,7 @@
             
             			name = id.getText();
             		
-            // C:\\dev\\jbossrules\\trunk\\drools-compiler\\src\\main\\resources\\org\\drools\\clp\\CLP.g:505:3: (t= VAR | t= STRING | t= ID | 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:505:3: (t= VAR | t= STRING | t= ID | t= FLOAT | t= INT | t= BOOL | t= NULL | nf= function[context] )
             int alt19=8;
             switch ( input.LA(1) ) {
             case VAR:
@@ -1725,7 +1732,7 @@
 
             switch (alt19) {
                 case 1 :
-                    // C:\\dev\\jbossrules\\trunk\\drools-compiler\\src\\main\\resources\\org\\drools\\clp\\CLP.g:505:6: t= VAR
+                    // D:\\workspace\\jboss\\jbossrules\\drools-compiler\\src\\main\\resources\\org\\drools\\clp\\CLP.g:505:6: t= VAR
                     {
                     t=(Token)input.LT(1);
                     match(input,VAR,FOLLOW_VAR_in_slot_name_value_pair1293); 
@@ -1734,7 +1741,7 @@
                     }
                     break;
                 case 2 :
-                    // C:\\dev\\jbossrules\\trunk\\drools-compiler\\src\\main\\resources\\org\\drools\\clp\\CLP.g:506:7: t= STRING
+                    // D:\\workspace\\jboss\\jbossrules\\drools-compiler\\src\\main\\resources\\org\\drools\\clp\\CLP.g:506:7: t= STRING
                     {
                     t=(Token)input.LT(1);
                     match(input,STRING,FOLLOW_STRING_in_slot_name_value_pair1311); 
@@ -1743,7 +1750,7 @@
                     }
                     break;
                 case 3 :
-                    // C:\\dev\\jbossrules\\trunk\\drools-compiler\\src\\main\\resources\\org\\drools\\clp\\CLP.g:507:7: t= ID
+                    // D:\\workspace\\jboss\\jbossrules\\drools-compiler\\src\\main\\resources\\org\\drools\\clp\\CLP.g:507:7: t= ID
                     {
                     t=(Token)input.LT(1);
                     match(input,ID,FOLLOW_ID_in_slot_name_value_pair1326); 
@@ -1752,7 +1759,7 @@
                     }
                     break;
                 case 4 :
-                    // C:\\dev\\jbossrules\\trunk\\drools-compiler\\src\\main\\resources\\org\\drools\\clp\\CLP.g:508:6: t= FLOAT
+                    // D:\\workspace\\jboss\\jbossrules\\drools-compiler\\src\\main\\resources\\org\\drools\\clp\\CLP.g:508:6: t= FLOAT
                     {
                     t=(Token)input.LT(1);
                     match(input,FLOAT,FOLLOW_FLOAT_in_slot_name_value_pair1347); 
@@ -1761,7 +1768,7 @@
                     }
                     break;
                 case 5 :
-                    // C:\\dev\\jbossrules\\trunk\\drools-compiler\\src\\main\\resources\\org\\drools\\clp\\CLP.g:509:6: t= INT
+                    // D:\\workspace\\jboss\\jbossrules\\drools-compiler\\src\\main\\resources\\org\\drools\\clp\\CLP.g:509:6: t= INT
                     {
                     t=(Token)input.LT(1);
                     match(input,INT,FOLLOW_INT_in_slot_name_value_pair1362); 
@@ -1770,7 +1777,7 @@
                     }
                     break;
                 case 6 :
-                    // C:\\dev\\jbossrules\\trunk\\drools-compiler\\src\\main\\resources\\org\\drools\\clp\\CLP.g:510:6: t= BOOL
+                    // D:\\workspace\\jboss\\jbossrules\\drools-compiler\\src\\main\\resources\\org\\drools\\clp\\CLP.g:510:6: t= BOOL
                     {
                     t=(Token)input.LT(1);
                     match(input,BOOL,FOLLOW_BOOL_in_slot_name_value_pair1382); 
@@ -1779,7 +1786,7 @@
                     }
                     break;
                 case 7 :
-                    // C:\\dev\\jbossrules\\trunk\\drools-compiler\\src\\main\\resources\\org\\drools\\clp\\CLP.g:511:6: t= NULL
+                    // D:\\workspace\\jboss\\jbossrules\\drools-compiler\\src\\main\\resources\\org\\drools\\clp\\CLP.g:511:6: t= NULL
                     {
                     t=(Token)input.LT(1);
                     match(input,NULL,FOLLOW_NULL_in_slot_name_value_pair1404); 
@@ -1788,7 +1795,7 @@
                     }
                     break;
                 case 8 :
-                    // C:\\dev\\jbossrules\\trunk\\drools-compiler\\src\\main\\resources\\org\\drools\\clp\\CLP.g:512:6: nf= function[context]
+                    // D:\\workspace\\jboss\\jbossrules\\drools-compiler\\src\\main\\resources\\org\\drools\\clp\\CLP.g:512:6: nf= function[context]
                     {
                     pushFollow(FOLLOW_function_in_slot_name_value_pair1420);
                     nf=function(context);
@@ -1812,15 +1819,15 @@
             recover(input,re);
         }
         finally {
-        }
+       }
         return ;
     }
     // $ANTLR end slot_name_value_pair
 
 
     // $ANTLR start literal
-    // C:\\dev\\jbossrules\\trunk\\drools-compiler\\src\\main\\resources\\org\\drools\\clp\\CLP.g:519:1: literal returns [String text] : (t= STRING | t= ID | t= INT | t= FLOAT | t= BOOL | t= NULL ) ;
-    public String literal() throws RecognitionException {
+    // D:\\workspace\\jboss\\jbossrules\\drools-compiler\\src\\main\\resources\\org\\drools\\clp\\CLP.g:519:1: literal returns [String text] : (t= STRING | t= ID | t= INT | t= FLOAT | t= BOOL | t= NULL ) ;
+    public String literal() throws RecognitionException {   
         String text = null;
 
         Token t=null;
@@ -1829,10 +1836,10 @@
         		text = null;
         	
         try {
-            // C:\\dev\\jbossrules\\trunk\\drools-compiler\\src\\main\\resources\\org\\drools\\clp\\CLP.g:523:4: ( (t= STRING | t= ID | t= INT | t= FLOAT | t= BOOL | t= NULL ) )
-            // C:\\dev\\jbossrules\\trunk\\drools-compiler\\src\\main\\resources\\org\\drools\\clp\\CLP.g:523:4: (t= STRING | t= ID | t= INT | t= FLOAT | t= BOOL | t= NULL )
+            // D:\\workspace\\jboss\\jbossrules\\drools-compiler\\src\\main\\resources\\org\\drools\\clp\\CLP.g:523:4: ( (t= STRING | t= ID | t= INT | t= FLOAT | t= BOOL | t= NULL ) )
+            // D:\\workspace\\jboss\\jbossrules\\drools-compiler\\src\\main\\resources\\org\\drools\\clp\\CLP.g:523:4: (t= STRING | t= ID | t= INT | t= FLOAT | t= BOOL | t= NULL )
             {
-            // C:\\dev\\jbossrules\\trunk\\drools-compiler\\src\\main\\resources\\org\\drools\\clp\\CLP.g:523:4: (t= STRING | t= ID | t= INT | t= FLOAT | t= BOOL | t= NULL )
+            // D:\\workspace\\jboss\\jbossrules\\drools-compiler\\src\\main\\resources\\org\\drools\\clp\\CLP.g:523:4: (t= STRING | t= ID | t= INT | t= FLOAT | t= BOOL | t= NULL )
             int alt20=6;
             switch ( input.LA(1) ) {
             case STRING:
@@ -1862,7 +1869,7 @@
 
             switch (alt20) {
                 case 1 :
-                    // C:\\dev\\jbossrules\\trunk\\drools-compiler\\src\\main\\resources\\org\\drools\\clp\\CLP.g:523:8: t= STRING
+                    // D:\\workspace\\jboss\\jbossrules\\drools-compiler\\src\\main\\resources\\org\\drools\\clp\\CLP.g:523:8: t= STRING
                     {
                     t=(Token)input.LT(1);
                     match(input,STRING,FOLLOW_STRING_in_literal1486); 
@@ -1871,7 +1878,7 @@
                     }
                     break;
                 case 2 :
-                    // C:\\dev\\jbossrules\\trunk\\drools-compiler\\src\\main\\resources\\org\\drools\\clp\\CLP.g:524:7: t= ID
+                    // D:\\workspace\\jboss\\jbossrules\\drools-compiler\\src\\main\\resources\\org\\drools\\clp\\CLP.g:524:7: t= ID
                     {
                     t=(Token)input.LT(1);
                     match(input,ID,FOLLOW_ID_in_literal1499); 
@@ -1880,7 +1887,7 @@
                     }
                     break;
                 case 3 :
-                    // C:\\dev\\jbossrules\\trunk\\drools-compiler\\src\\main\\resources\\org\\drools\\clp\\CLP.g:525:7: t= INT
+                    // D:\\workspace\\jboss\\jbossrules\\drools-compiler\\src\\main\\resources\\org\\drools\\clp\\CLP.g:525:7: t= INT
                     {
                     t=(Token)input.LT(1);
                     match(input,INT,FOLLOW_INT_in_literal1515); 
@@ -1889,7 +1896,7 @@
                     }
                     break;
                 case 4 :
-                    // C:\\dev\\jbossrules\\trunk\\drools-compiler\\src\\main\\resources\\org\\drools\\clp\\CLP.g:526:7: t= FLOAT
+                    // D:\\workspace\\jboss\\jbossrules\\drools-compiler\\src\\main\\resources\\org\\drools\\clp\\CLP.g:526:7: t= FLOAT
                     {
                     t=(Token)input.LT(1);
                     match(input,FLOAT,FOLLOW_FLOAT_in_literal1530); 
@@ -1898,7 +1905,7 @@
                     }
                     break;
                 case 5 :
-                    // C:\\dev\\jbossrules\\trunk\\drools-compiler\\src\\main\\resources\\org\\drools\\clp\\CLP.g:527:7: t= BOOL
+                    // D:\\workspace\\jboss\\jbossrules\\drools-compiler\\src\\main\\resources\\org\\drools\\clp\\CLP.g:527:7: t= BOOL
                     {
                     t=(Token)input.LT(1);
                     match(input,BOOL,FOLLOW_BOOL_in_literal1543); 
@@ -1907,7 +1914,7 @@
                     }
                     break;
                 case 6 :
-                    // C:\\dev\\jbossrules\\trunk\\drools-compiler\\src\\main\\resources\\org\\drools\\clp\\CLP.g:528:7: t= NULL
+                    // D:\\workspace\\jboss\\jbossrules\\drools-compiler\\src\\main\\resources\\org\\drools\\clp\\CLP.g:528:7: t= NULL
                     {
                     t=(Token)input.LT(1);
                     match(input,NULL,FOLLOW_NULL_in_literal1557); 
@@ -1927,12 +1934,88 @@
             recover(input,re);
         }
         finally {
-        }
+       }
         return text;
     }
     // $ANTLR end literal
 
 
+    // $ANTLR start function_name
+    // D:\\workspace\\jboss\\jbossrules\\drools-compiler\\src\\main\\resources\\org\\drools\\clp\\CLP.g:532:1: function_name returns [Token tok] : (t= ID | t= MISC | t= SYMBOL ) ;
+    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:534:2: ( (t= ID | t= MISC | t= SYMBOL ) )
+            // D:\\workspace\\jboss\\jbossrules\\drools-compiler\\src\\main\\resources\\org\\drools\\clp\\CLP.g:534:2: (t= ID | t= MISC | t= SYMBOL )
+            {
+            // D:\\workspace\\jboss\\jbossrules\\drools-compiler\\src\\main\\resources\\org\\drools\\clp\\CLP.g:534:2: (t= ID | t= MISC | t= SYMBOL )
+            int alt21=3;
+            switch ( input.LA(1) ) {
+            case ID:
+                alt21=1;
+                break;
+            case MISC:
+                alt21=2;
+                break;
+            case SYMBOL:
+                alt21=3;
+                break;
+            default:
+                NoViableAltException nvae =
+                    new NoViableAltException("534:2: (t= ID | t= MISC | t= SYMBOL )", 21, 0, input);
+
+                throw nvae;
+            }
+
+            switch (alt21) {
+                case 1 :
+                    // D:\\workspace\\jboss\\jbossrules\\drools-compiler\\src\\main\\resources\\org\\drools\\clp\\CLP.g:534:4: t= ID
+                    {
+                    t=(Token)input.LT(1);
+                    match(input,ID,FOLLOW_ID_in_function_name1586); 
+
+                    }
+                    break;
+                case 2 :
+                    // D:\\workspace\\jboss\\jbossrules\\drools-compiler\\src\\main\\resources\\org\\drools\\clp\\CLP.g:535:4: t= MISC
+                    {
+                    t=(Token)input.LT(1);
+                    match(input,MISC,FOLLOW_MISC_in_function_name1594); 
+
+                    }
+                    break;
+                case 3 :
+                    // D:\\workspace\\jboss\\jbossrules\\drools-compiler\\src\\main\\resources\\org\\drools\\clp\\CLP.g:536:4: t= SYMBOL
+                    {
+                    t=(Token)input.LT(1);
+                    match(input,SYMBOL,FOLLOW_SYMBOL_in_function_name1601); 
+
+                    }
+                    break;
+
+            }
+
+            
+            	    tok = t;
+            	
+
+            }
+
+        }
+        catch (RecognitionException re) {
+            reportError(re);
+            recover(input,re);
+        }
+        finally {
+       }
+        return tok;
+    }
+    // $ANTLR end function_name
+
+
     protected DFA2 dfa2 = new DFA2(this);
     public static final String DFA2_eotS =
         "\20\uffff";
@@ -1941,27 +2024,28 @@
     public static final String DFA2_minS =
         "\1\4\1\5\2\uffff\1\4\1\5\11\4\1\uffff";
     public static final String DFA2_maxS =
-        "\1\14\1\13\2\uffff\1\21\1\5\1\47\7\44\1\21\1\uffff";
+        "\1\14\1\26\2\uffff\1\24\1\26\1\50\10\24\1\uffff";
     public static final String DFA2_acceptS =
         "\2\uffff\1\2\1\1\13\uffff\1\1";
     public static final String DFA2_specialS =
         "\20\uffff}>";
     public static final String[] DFA2_transition = {
         "\1\1\1\uffff\1\2\5\uffff\1\3",
-        "\1\4\1\uffff\5\3",
+        "\1\4\1\uffff\5\3\11\uffff\2\2",
         "",
         "",
-        "\1\5\1\2\1\3\5\uffff\6\2",
-        "\1\6",
-        "\1\2\1\11\6\uffff\1\7\1\10\1\12\1\13\1\14\1\15\23\uffff\3\3",
-        "\2\2\1\16\5\uffff\6\2\21\uffff\2\3",
-        "\2\2\1\16\5\uffff\6\2\21\uffff\2\3",
-        "\2\2\1\16\5\uffff\6\2\21\uffff\2\3",
-        "\2\2\1\16\5\uffff\6\2\21\uffff\2\3",
-        "\2\2\1\16\5\uffff\6\2\21\uffff\2\3",
-        "\2\2\1\16\5\uffff\6\2\21\uffff\2\3",
-        "\2\2\1\16\5\uffff\6\2\21\uffff\2\3",
-        "\1\5\1\2\1\17\5\uffff\6\2",
+        "\1\5\1\2\1\3\5\uffff\1\2\3\uffff\5\2",
+        "\1\6\17\uffff\2\2",
+        "\1\2\1\11\6\uffff\1\7\2\uffff\1\3\1\10\1\13\1\12\1\14\1\15\22\uffff"+
+        "\2\3",
+        "\2\2\1\16\5\uffff\1\2\2\3\1\uffff\5\2",
+        "\2\2\1\16\5\uffff\1\2\2\3\1\uffff\5\2",
+        "\2\2\1\16\5\uffff\1\2\2\3\1\uffff\5\2",
+        "\2\2\1\16\5\uffff\1\2\2\3\1\uffff\5\2",
+        "\2\2\1\16\5\uffff\1\2\2\3\1\uffff\5\2",
+        "\2\2\1\16\5\uffff\1\2\2\3\1\uffff\5\2",
+        "\2\2\1\16\5\uffff\1\2\2\3\1\uffff\5\2",
+        "\1\5\1\2\1\17\5\uffff\1\2\3\uffff\5\2",
         ""
     };
 
@@ -1987,8 +2071,8 @@
     }
  
 
-    public static final BitSet FOLLOW_33_in_opt_semicolon38 = new BitSet(new long[]{0x0000000000000002L});
-    public static final BitSet FOLLOW_LEFT_PAREN_in_rule64 = new BitSet(new long[]{0x0000000000040000L});
+    public static final BitSet FOLLOW_37_in_opt_semicolon38 = new BitSet(new long[]{0x0000000000000002L});
+    public static final BitSet FOLLOW_LEFT_PAREN_in_rule64 = new BitSet(new long[]{0x0000000000800000L});
     public static final BitSet FOLLOW_DEFRULE_in_rule66 = new BitSet(new long[]{0x0000000000000020L});
     public static final BitSet FOLLOW_ID_in_rule74 = new BitSet(new long[]{0x0000000000001050L});
     public static final BitSet FOLLOW_lhs_in_rule85 = new BitSet(new long[]{0x0000000000001050L});
@@ -2031,37 +2115,37 @@
     public static final BitSet FOLLOW_ID_in_normal_pattern558 = new BitSet(new long[]{0x0000000000000050L});
     public static final BitSet FOLLOW_field_constriant_in_normal_pattern564 = new BitSet(new long[]{0x0000000000000050L});
     public static final BitSet FOLLOW_RIGHT_PAREN_in_normal_pattern574 = new BitSet(new long[]{0x0000000000000002L});
-    public static final BitSet FOLLOW_VAR_in_bound_pattern602 = new BitSet(new long[]{0x0000000400000000L});
-    public static final BitSet FOLLOW_34_in_bound_pattern608 = new BitSet(new long[]{0x0000000000000010L});
+    public static final BitSet FOLLOW_VAR_in_bound_pattern602 = new BitSet(new long[]{0x0000004000000000L});
+    public static final BitSet FOLLOW_38_in_bound_pattern608 = new BitSet(new long[]{0x0000000000000010L});
     public static final BitSet FOLLOW_LEFT_PAREN_in_bound_pattern613 = new BitSet(new long[]{0x0000000000000020L});
     public static final BitSet FOLLOW_ID_in_bound_pattern620 = new BitSet(new long[]{0x0000000000000050L});
     public static final BitSet FOLLOW_field_constriant_in_bound_pattern626 = new BitSet(new long[]{0x0000000000000050L});
     public static final BitSet FOLLOW_RIGHT_PAREN_in_bound_pattern633 = new BitSet(new long[]{0x0000000000000002L});
     public static final BitSet FOLLOW_LEFT_PAREN_in_field_constriant661 = new BitSet(new long[]{0x0000000000000020L});
-    public static final BitSet FOLLOW_ID_in_field_constriant668 = new BitSet(new long[]{0x000000E00003F020L});
-    public static final BitSet FOLLOW_restriction_in_field_constriant680 = new BitSet(new long[]{0x0000001800000040L});
-    public static final BitSet FOLLOW_connective_in_field_constriant692 = new BitSet(new long[]{0x000000E00003F020L});
-    public static final BitSet FOLLOW_restriction_in_field_constriant709 = new BitSet(new long[]{0x0000001800000040L});
+    public static final BitSet FOLLOW_ID_in_field_constriant668 = new BitSet(new long[]{0x00000180001F9020L});
+    public static final BitSet FOLLOW_restriction_in_field_constriant680 = new BitSet(new long[]{0x0000000000006040L});
+    public static final BitSet FOLLOW_connective_in_field_constriant692 = new BitSet(new long[]{0x00000180001F9020L});
+    public static final BitSet FOLLOW_restriction_in_field_constriant709 = new BitSet(new long[]{0x0000000000006040L});
     public static final BitSet FOLLOW_RIGHT_PAREN_in_field_constriant732 = new BitSet(new long[]{0x0000000000000002L});
-    public static final BitSet FOLLOW_35_in_connective750 = new BitSet(new long[]{0x0000000000000002L});
-    public static final BitSet FOLLOW_36_in_connective762 = new BitSet(new long[]{0x0000000000000002L});
-    public static final BitSet FOLLOW_37_in_restriction797 = new BitSet(new long[]{0x000000C00003F020L});
+    public static final BitSet FOLLOW_AMPERSAND_in_connective750 = new BitSet(new long[]{0x0000000000000002L});
+    public static final BitSet FOLLOW_PIPE_in_connective762 = new BitSet(new long[]{0x0000000000000002L});
+    public static final BitSet FOLLOW_TILDE_in_restriction797 = new BitSet(new long[]{0x00000180001F1020L});
     public static final BitSet FOLLOW_predicate_constraint_in_restriction814 = new BitSet(new long[]{0x0000000000000002L});
     public static final BitSet FOLLOW_return_value_restriction_in_restriction834 = new BitSet(new long[]{0x0000000000000002L});
     public static final BitSet FOLLOW_variable_restriction_in_restriction846 = new BitSet(new long[]{0x0000000000000002L});
     public static final BitSet FOLLOW_literal_restriction_in_restriction862 = new BitSet(new long[]{0x0000000000000002L});
-    public static final BitSet FOLLOW_38_in_predicate_constraint904 = new BitSet(new long[]{0x0000000000000010L});
+    public static final BitSet FOLLOW_39_in_predicate_constraint904 = new BitSet(new long[]{0x0000000000000010L});
     public static final BitSet FOLLOW_function_in_predicate_constraint908 = new BitSet(new long[]{0x0000000000000002L});
-    public static final BitSet FOLLOW_39_in_return_value_restriction931 = new BitSet(new long[]{0x0000000000000010L});
+    public static final BitSet FOLLOW_40_in_return_value_restriction931 = new BitSet(new long[]{0x0000000000000010L});
     public static final BitSet FOLLOW_function_in_return_value_restriction936 = new BitSet(new long[]{0x0000000000000002L});
     public static final BitSet FOLLOW_VAR_in_variable_restriction957 = new BitSet(new long[]{0x0000000000000002L});
     public static final BitSet FOLLOW_literal_in_literal_restriction990 = new BitSet(new long[]{0x0000000000000002L});
-    public static final BitSet FOLLOW_LEFT_PAREN_in_function1015 = new BitSet(new long[]{0x0000000000000020L});
-    public static final BitSet FOLLOW_ID_in_function1021 = new BitSet(new long[]{0x000000000003F030L});
-    public static final BitSet FOLLOW_function_params_in_function1034 = new BitSet(new long[]{0x000000000003F070L});
+    public static final BitSet FOLLOW_LEFT_PAREN_in_function1015 = new BitSet(new long[]{0x0000000000600020L});
+    public static final BitSet FOLLOW_function_name_in_function1021 = new BitSet(new long[]{0x00000000001F1030L});
+    public static final BitSet FOLLOW_function_params_in_function1034 = new BitSet(new long[]{0x00000000001F1070L});
     public static final BitSet FOLLOW_RIGHT_PAREN_in_function1044 = new BitSet(new long[]{0x0000000000000002L});
-    public static final BitSet FOLLOW_LEFT_PAREN_in_modify_function1068 = new BitSet(new long[]{0x0000010000000000L});
-    public static final BitSet FOLLOW_40_in_modify_function1073 = new BitSet(new long[]{0x0000000000000010L});
+    public static final BitSet FOLLOW_LEFT_PAREN_in_modify_function1068 = new BitSet(new long[]{0x0000020000000000L});
+    public static final BitSet FOLLOW_41_in_modify_function1073 = new BitSet(new long[]{0x0000000000000010L});
     public static final BitSet FOLLOW_slot_name_value_pair_in_modify_function1078 = new BitSet(new long[]{0x0000000000000050L});
     public static final BitSet FOLLOW_RIGHT_PAREN_in_modify_function1084 = new BitSet(new long[]{0x0000000000000002L});
     public static final BitSet FOLLOW_VAR_in_function_params1113 = new BitSet(new long[]{0x0000000000000002L});
@@ -2073,7 +2157,7 @@
     public static final BitSet FOLLOW_NULL_in_function_params1218 = new BitSet(new long[]{0x0000000000000002L});
     public static final BitSet FOLLOW_function_in_function_params1234 = new BitSet(new long[]{0x0000000000000002L});
     public static final BitSet FOLLOW_LEFT_PAREN_in_slot_name_value_pair1276 = new BitSet(new long[]{0x0000000000000020L});
-    public static final BitSet FOLLOW_ID_in_slot_name_value_pair1282 = new BitSet(new long[]{0x000000000003F030L});
+    public static final BitSet FOLLOW_ID_in_slot_name_value_pair1282 = new BitSet(new long[]{0x00000000001F1030L});
     public static final BitSet FOLLOW_VAR_in_slot_name_value_pair1293 = new BitSet(new long[]{0x0000000000000040L});
     public static final BitSet FOLLOW_STRING_in_slot_name_value_pair1311 = new BitSet(new long[]{0x0000000000000040L});
     public static final BitSet FOLLOW_ID_in_slot_name_value_pair1326 = new BitSet(new long[]{0x0000000000000040L});
@@ -2089,5 +2173,8 @@
     public static final BitSet FOLLOW_FLOAT_in_literal1530 = new BitSet(new long[]{0x0000000000000002L});
     public static final BitSet FOLLOW_BOOL_in_literal1543 = new BitSet(new long[]{0x0000000000000002L});
     public static final BitSet FOLLOW_NULL_in_literal1557 = new BitSet(new long[]{0x0000000000000002L});
+    public static final BitSet FOLLOW_ID_in_function_name1586 = new BitSet(new long[]{0x0000000000000002L});
+    public static final BitSet FOLLOW_MISC_in_function_name1594 = new BitSet(new long[]{0x0000000000000002L});
+    public static final BitSet FOLLOW_SYMBOL_in_function_name1601 = 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-12 23:43:00 UTC (rev 10139)
+++ labs/jbossrules/trunk/drools-compiler/src/main/resources/org/drools/clp/CLP.g	2007-03-13 01:38:33 UTC (rev 10140)
@@ -385,8 +385,8 @@
 	;
 	
 connective	[FieldConstraintDescr fc]
-	:	(	'&' { fc.addRestriction(new RestrictionConnectiveDescr(RestrictionConnectiveDescr.AND)); }
-	    	| '|' {fc.addRestriction(new RestrictionConnectiveDescr(RestrictionConnectiveDescr.OR)); }	      
+	:	(	AMPERSAND { fc.addRestriction(new RestrictionConnectiveDescr(RestrictionConnectiveDescr.AND)); }
+	    	| PIPE {fc.addRestriction(new RestrictionConnectiveDescr(RestrictionConnectiveDescr.OR)); }	      
 		)		
 	;
 	
@@ -394,7 +394,7 @@
 	@init {
 			String op = "==";
 	}
-	:	('~'{op = "!=";})?	 	  	 
+	:	(TILDE{op = "!=";})?	 	  	 
 		(		predicate_constraint[op, column]	  	  	
 	  	    |	return_value_restriction[op, fc]
 	  	  	|	variable_restriction[op, fc]
@@ -450,7 +450,7 @@
 	    FunctionFactory factory = FunctionFactory.getInstance();
 	}
 	:	LEFT_PAREN
-		name=ID {
+		name=function_name {
 			if ( name.getText().equals("bind") ) {
 		  		context.createLocalVariable( name.getText() );
 			}
@@ -529,21 +529,25 @@
 		)
 	;
 	
+function_name returns [Token tok]
+	:
+	(	t=ID	
+	|	t=MISC
+	|	t=SYMBOL
+	)
+	{
+	    tok = t;
+	}
+	;
 	
+	
 DEFRULE	:	'defrule';
-OR 		:	'or';
+OR 	:	'or';
 AND 	:	'and';
 NOT 	:	'not';
 EXISTS 	:	'exists';
 TEST 	:	'test';
 
-VAR 	: '?'ID	
-        ;
-
-ID	
-	:	('a'..'z'|'A'..'Z'|'_'|'$'|'\u00c0'..'\u00ff')('a'..'z'|'A'..'Z'|'_'|'0'..'9'|'\u00c0'..'\u00ff')* 
-	;
-
 NULL	:	'null';
 
 WS      :       (	' '
@@ -601,6 +605,13 @@
 	:	('true'|'false') 
 	;
 	
+VAR 	: '?'('a'..'z'|'A'..'Z'|'_'|'$'|'\u00c0'..'\u00ff')('a'..'z'|'A'..'Z'|'_'|'0'..'9'|'\u00c0'..'\u00ff')* 
+        ;
+
+ID	
+	:	('a'..'z'|'A'..'Z'|'_'|'$'|'\u00c0'..'\u00ff')('a'..'z'|'A'..'Z'|'_'|'0'..'9'|'\u00c0'..'\u00ff')* 
+	;
+
 SH_STYLE_SINGLE_LINE_COMMENT	
 	:	'#' ( options{greedy=false;} : .)* EOL /* ('\r')? '\n'  */
                 { $channel=HIDDEN; }
@@ -636,6 +647,17 @@
 RIGHT_CURLY
 	:	'}'
 	;
+	
+TILDE	:	'~'
+	;	
+	
+AMPERSAND 
+	:	'&'
+	;
+	
+PIPE
+	:	'|'
+	;		
         
 MULTI_LINE_COMMENT
 	:	'/*' (options{greedy=false;} : .)* '*/'
@@ -643,5 +665,11 @@
 	;
 
 MISC 	:
-		'!' | '@' | '$' | '%' | '^' | '&' | '*' | '_' | '-' | '+'  | '?' | '|' | ',' | '=' | '/' | '\'' | '\\'
+		'!' | '@' | '$' | '%' | '^' | '*' | '_' | '-' | '+'  | '?' | ',' | '=' | '/' | '\'' | '\\' | 
+		'<' | '>' | '<=' | '>=' 
 	;		
+
+SYMBOL
+	:	(~(' '|'('|')'|'~'|'"'|'?'|'&'|'|') )+
+	;
+

Modified: labs/jbossrules/trunk/drools-compiler/src/test/java/org/drools/clp/ClpParserTest.java
===================================================================
--- labs/jbossrules/trunk/drools-compiler/src/test/java/org/drools/clp/ClpParserTest.java	2007-03-12 23:43:00 UTC (rev 10139)
+++ labs/jbossrules/trunk/drools-compiler/src/test/java/org/drools/clp/ClpParserTest.java	2007-03-13 01:38:33 UTC (rev 10140)
@@ -12,8 +12,6 @@
 import org.antlr.runtime.Lexer;
 import org.antlr.runtime.TokenStream;
 import org.drools.compiler.SwitchingCommonTokenStream;
-import org.drools.lang.DRLLexer;
-import org.drools.lang.DRLParser;
 import org.drools.lang.descr.AndDescr;
 import org.drools.lang.descr.ColumnDescr;
 import org.drools.lang.descr.EvalDescr;




More information about the jboss-svn-commits mailing list