[jboss-svn-commits] JBL Code SVN: r10236 - 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
Thu Mar 15 12:47:48 EDT 2007


Author: tirelli
Date: 2007-03-15 12:47:48 -0400 (Thu, 15 Mar 2007)
New Revision: 10236

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

Modified: labs/jbossrules/trunk/drools-compiler/src/main/java/org/drools/clp/CLPLexer.java
===================================================================
--- labs/jbossrules/trunk/drools-compiler/src/main/java/org/drools/clp/CLPLexer.java	2007-03-15 16:28:04 UTC (rev 10235)
+++ labs/jbossrules/trunk/drools-compiler/src/main/java/org/drools/clp/CLPLexer.java	2007-03-15 16:47:48 UTC (rev 10236)
@@ -1,4 +1,4 @@
-// $ANTLR 3.0b7 C:\\dev\\jbossrules\\trunk\\drools-compiler\\src\\main\\resources\\org\\drools\\clp\\CLP.g 2007-03-15 04:40:35
+// $ANTLR 3.0b5 D:\\workspace\\jboss\\jbossrules\\drools-compiler\\src\\main\\resources\\org\\drools\\clp\\CLP.g 2007-03-15 13:31:31
 
 	package org.drools.clp;
 
@@ -10,68 +10,66 @@
 import java.util.Map;
 import java.util.HashMap;
 public class CLPLexer extends Lexer {
-    public static final int EXISTS=15;
+    public static final int EXISTS=14;
     public static final int DEFRULE=5;
-    public static final int HexDigit=30;
-    public static final int MISC=24;
-    public static final int FLOAT=21;
-    public static final int TILDE=20;
-    public static final int T45=45;
-    public static final int OR=13;
-    public static final int PIPE=19;
-    public static final int AND=12;
-    public static final int EscapeSequence=29;
-    public static final int INT=11;
-    public static final int MODULE=9;
-    public static final int SYMBOL=25;
-    public static final int LEFT_SQUARE=35;
-    public static final int SH_STYLE_SINGLE_LINE_COMMENT=33;
-    public static final int AMPERSAND=18;
-    public static final int DECLARE=28;
+    public static final int HexDigit=28;
+    public static final int MISC=23;
+    public static final int FLOAT=20;
+    public static final int TILDE=19;
+    public static final int OR=12;
+    public static final int PIPE=18;
+    public static final int AND=11;
+    public static final int EscapeSequence=27;
+    public static final int INT=10;
+    public static final int SYMBOL=6;
+    public static final int LEFT_SQUARE=33;
+    public static final int SH_STYLE_SINGLE_LINE_COMMENT=31;
+    public static final int AMPERSAND=17;
+    public static final int T38=38;
+    public static final int DECLARE=26;
     public static final int T41=41;
-    public static final int LEFT_CURLY=37;
-    public static final int ID=6;
-    public static final int T44=44;
+    public static final int LEFT_CURLY=35;
+    public static final int T39=39;
     public static final int LEFT_PAREN=4;
-    public static final int RIGHT_CURLY=38;
-    public static final int BOOL=22;
-    public static final int WS=27;
+    public static final int RIGHT_CURLY=36;
+    public static final int BOOL=21;
+    public static final int WS=25;
     public static final int STRING=7;
     public static final int T43=43;
     public static final int T42=42;
     public static final int T40=40;
-    public static final int VAR=17;
-    public static final int UnicodeEscape=31;
+    public static final int VAR=16;
+    public static final int UnicodeEscape=29;
     public static final int EOF=-1;
-    public static final int EOL=26;
-    public static final int NULL=23;
-    public static final int Tokens=46;
-    public static final int OctalEscape=32;
-    public static final int SALIENCE=10;
-    public static final int MULTI_LINE_COMMENT=39;
-    public static final int TEST=16;
+    public static final int EOL=24;
+    public static final int NULL=22;
+    public static final int Tokens=44;
+    public static final int OctalEscape=30;
+    public static final int SALIENCE=9;
+    public static final int MULTI_LINE_COMMENT=37;
+    public static final int TEST=15;
     public static final int RIGHT_PAREN=8;
-    public static final int NOT=14;
-    public static final int RIGHT_SQUARE=36;
-    public static final int C_STYLE_SINGLE_LINE_COMMENT=34;
+    public static final int NOT=13;
+    public static final int RIGHT_SQUARE=34;
+    public static final int C_STYLE_SINGLE_LINE_COMMENT=32;
     public CLPLexer() {;} 
     public CLPLexer(CharStream input) {
         super(input);
-        ruleMemo = new HashMap[44+1];
+        ruleMemo = new HashMap[42+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 T40
-    public void mT40() throws RecognitionException {
+    // $ANTLR start T38
+    public void mT38() throws RecognitionException {
         try {
             ruleNestingLevel++;
-            int _type = T40;
+            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: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 ;
 
@@ -85,25 +83,24 @@
                       }
 
                       
-            }
-        }
+            }    }
         finally {
             ruleNestingLevel--;
         }
     }
-    // $ANTLR end T40
+    // $ANTLR end T38
 
-    // $ANTLR start T41
-    public void mT41() throws RecognitionException {
+    // $ANTLR start T39
+    public void mT39() throws RecognitionException {
         try {
             ruleNestingLevel++;
-            int _type = T41;
+            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: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 ;
 
@@ -118,25 +115,24 @@
                       }
 
                       
-            }
-        }
+            }    }
         finally {
             ruleNestingLevel--;
         }
     }
-    // $ANTLR end T41
+    // $ANTLR end T39
 
-    // $ANTLR start T42
-    public void mT42() throws RecognitionException {
+    // $ANTLR start T40
+    public void mT40() throws RecognitionException {
         try {
             ruleNestingLevel++;
-            int _type = T42;
+            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: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 ;
 
@@ -151,25 +147,24 @@
                       }
 
                       
-            }
-        }
+            }    }
         finally {
             ruleNestingLevel--;
         }
     }
-    // $ANTLR end T42
+    // $ANTLR end T40
 
-    // $ANTLR start T43
-    public void mT43() throws RecognitionException {
+    // $ANTLR start T41
+    public void mT41() throws RecognitionException {
         try {
             ruleNestingLevel++;
-            int _type = T43;
+            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:9:7: ( ':' )
-            // C:\\dev\\jbossrules\\trunk\\drools-compiler\\src\\main\\resources\\org\\drools\\clp\\CLP.g:9:7: ':'
+            // D:\\workspace\\jboss\\jbossrules\\drools-compiler\\src\\main\\resources\\org\\drools\\clp\\CLP.g:9:7: ( ':' )
+            // D:\\workspace\\jboss\\jbossrules\\drools-compiler\\src\\main\\resources\\org\\drools\\clp\\CLP.g:9:7: ':'
             {
             match(':'); if (failed) return ;
 
@@ -183,25 +178,24 @@
                       }
 
                       
-            }
-        }
+            }    }
         finally {
             ruleNestingLevel--;
         }
     }
-    // $ANTLR end T43
+    // $ANTLR end T41
 
-    // $ANTLR start T44
-    public void mT44() throws RecognitionException {
+    // $ANTLR start T42
+    public void mT42() throws RecognitionException {
         try {
             ruleNestingLevel++;
-            int _type = T44;
+            int _type = T42;
             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: '='
+            // D:\\workspace\\jboss\\jbossrules\\drools-compiler\\src\\main\\resources\\org\\drools\\clp\\CLP.g:10:7: ( '=' )
+            // D:\\workspace\\jboss\\jbossrules\\drools-compiler\\src\\main\\resources\\org\\drools\\clp\\CLP.g:10:7: '='
             {
             match('='); if (failed) return ;
 
@@ -215,25 +209,24 @@
                       }
 
                       
-            }
-        }
+            }    }
         finally {
             ruleNestingLevel--;
         }
     }
-    // $ANTLR end T44
+    // $ANTLR end T42
 
-    // $ANTLR start T45
-    public void mT45() throws RecognitionException {
+    // $ANTLR start T43
+    public void mT43() throws RecognitionException {
         try {
             ruleNestingLevel++;
-            int _type = T45;
+            int _type = T43;
             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: ( 'modify' )
-            // C:\\dev\\jbossrules\\trunk\\drools-compiler\\src\\main\\resources\\org\\drools\\clp\\CLP.g:11:7: 'modify'
+            // D:\\workspace\\jboss\\jbossrules\\drools-compiler\\src\\main\\resources\\org\\drools\\clp\\CLP.g:11:7: ( 'modify' )
+            // D:\\workspace\\jboss\\jbossrules\\drools-compiler\\src\\main\\resources\\org\\drools\\clp\\CLP.g:11:7: 'modify'
             {
             match("modify"); if (failed) return ;
 
@@ -248,13 +241,12 @@
                       }
 
                       
-            }
-        }
+            }    }
         finally {
             ruleNestingLevel--;
         }
     }
-    // $ANTLR end T45
+    // $ANTLR end T43
 
     // $ANTLR start DEFRULE
     public void mDEFRULE() throws RecognitionException {
@@ -265,8 +257,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:610:11: ( 'defrule' )
-            // C:\\dev\\jbossrules\\trunk\\drools-compiler\\src\\main\\resources\\org\\drools\\clp\\CLP.g:610:11: 'defrule'
+            // D:\\workspace\\jboss\\jbossrules\\drools-compiler\\src\\main\\resources\\org\\drools\\clp\\CLP.g:598:11: ( 'defrule' )
+            // D:\\workspace\\jboss\\jbossrules\\drools-compiler\\src\\main\\resources\\org\\drools\\clp\\CLP.g:598:11: 'defrule'
             {
             match("defrule"); if (failed) return ;
 
@@ -281,8 +273,7 @@
                       }
 
                       
-            }
-        }
+            }    }
         finally {
             ruleNestingLevel--;
         }
@@ -298,8 +289,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:611:7: ( 'or' )
-            // C:\\dev\\jbossrules\\trunk\\drools-compiler\\src\\main\\resources\\org\\drools\\clp\\CLP.g:611:7: 'or'
+            // D:\\workspace\\jboss\\jbossrules\\drools-compiler\\src\\main\\resources\\org\\drools\\clp\\CLP.g:599:7: ( 'or' )
+            // D:\\workspace\\jboss\\jbossrules\\drools-compiler\\src\\main\\resources\\org\\drools\\clp\\CLP.g:599:7: 'or'
             {
             match("or"); if (failed) return ;
 
@@ -314,8 +305,7 @@
                       }
 
                       
-            }
-        }
+            }    }
         finally {
             ruleNestingLevel--;
         }
@@ -331,8 +321,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:612:8: ( 'and' )
-            // C:\\dev\\jbossrules\\trunk\\drools-compiler\\src\\main\\resources\\org\\drools\\clp\\CLP.g:612:8: 'and'
+            // D:\\workspace\\jboss\\jbossrules\\drools-compiler\\src\\main\\resources\\org\\drools\\clp\\CLP.g:600:8: ( 'and' )
+            // D:\\workspace\\jboss\\jbossrules\\drools-compiler\\src\\main\\resources\\org\\drools\\clp\\CLP.g:600:8: 'and'
             {
             match("and"); if (failed) return ;
 
@@ -347,8 +337,7 @@
                       }
 
                       
-            }
-        }
+            }    }
         finally {
             ruleNestingLevel--;
         }
@@ -364,8 +353,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:613:8: ( 'not' )
-            // C:\\dev\\jbossrules\\trunk\\drools-compiler\\src\\main\\resources\\org\\drools\\clp\\CLP.g:613:8: 'not'
+            // D:\\workspace\\jboss\\jbossrules\\drools-compiler\\src\\main\\resources\\org\\drools\\clp\\CLP.g:601:8: ( 'not' )
+            // D:\\workspace\\jboss\\jbossrules\\drools-compiler\\src\\main\\resources\\org\\drools\\clp\\CLP.g:601:8: 'not'
             {
             match("not"); if (failed) return ;
 
@@ -380,8 +369,7 @@
                       }
 
                       
-            }
-        }
+            }    }
         finally {
             ruleNestingLevel--;
         }
@@ -397,8 +385,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:614:11: ( 'exists' )
-            // C:\\dev\\jbossrules\\trunk\\drools-compiler\\src\\main\\resources\\org\\drools\\clp\\CLP.g:614:11: 'exists'
+            // D:\\workspace\\jboss\\jbossrules\\drools-compiler\\src\\main\\resources\\org\\drools\\clp\\CLP.g:602:11: ( 'exists' )
+            // D:\\workspace\\jboss\\jbossrules\\drools-compiler\\src\\main\\resources\\org\\drools\\clp\\CLP.g:602:11: 'exists'
             {
             match("exists"); if (failed) return ;
 
@@ -413,8 +401,7 @@
                       }
 
                       
-            }
-        }
+            }    }
         finally {
             ruleNestingLevel--;
         }
@@ -430,8 +417,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:615:9: ( 'test' )
-            // C:\\dev\\jbossrules\\trunk\\drools-compiler\\src\\main\\resources\\org\\drools\\clp\\CLP.g:615:9: 'test'
+            // D:\\workspace\\jboss\\jbossrules\\drools-compiler\\src\\main\\resources\\org\\drools\\clp\\CLP.g:603:9: ( 'test' )
+            // D:\\workspace\\jboss\\jbossrules\\drools-compiler\\src\\main\\resources\\org\\drools\\clp\\CLP.g:603:9: 'test'
             {
             match("test"); if (failed) return ;
 
@@ -446,8 +433,7 @@
                       }
 
                       
-            }
-        }
+            }    }
         finally {
             ruleNestingLevel--;
         }
@@ -463,8 +449,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:8: ( 'null' )
-            // C:\\dev\\jbossrules\\trunk\\drools-compiler\\src\\main\\resources\\org\\drools\\clp\\CLP.g:617:8: 'null'
+            // D:\\workspace\\jboss\\jbossrules\\drools-compiler\\src\\main\\resources\\org\\drools\\clp\\CLP.g:605:8: ( 'null' )
+            // D:\\workspace\\jboss\\jbossrules\\drools-compiler\\src\\main\\resources\\org\\drools\\clp\\CLP.g:605:8: 'null'
             {
             match("null"); if (failed) return ;
 
@@ -479,77 +465,13 @@
                       }
 
                       
-            }
-        }
+            }    }
         finally {
             ruleNestingLevel--;
         }
     }
     // $ANTLR end NULL
 
-    // $ANTLR start MODULE
-    public void mMODULE() throws RecognitionException {
-        try {
-            ruleNestingLevel++;
-            int _type = MODULE;
-            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:620:4: ( ( 'A' .. 'Z' )+ '::' )
-            // C:\\dev\\jbossrules\\trunk\\drools-compiler\\src\\main\\resources\\org\\drools\\clp\\CLP.g:620:4: ( 'A' .. 'Z' )+ '::'
-            {
-            // C:\\dev\\jbossrules\\trunk\\drools-compiler\\src\\main\\resources\\org\\drools\\clp\\CLP.g:620:4: ( 'A' .. 'Z' )+
-            int cnt1=0;
-            loop1:
-            do {
-                int alt1=2;
-                int LA1_0 = input.LA(1);
-                if ( ((LA1_0>='A' && LA1_0<='Z')) ) {
-                    alt1=1;
-                }
-
-
-                switch (alt1) {
-            	case 1 :
-            	    // C:\\dev\\jbossrules\\trunk\\drools-compiler\\src\\main\\resources\\org\\drools\\clp\\CLP.g:620:5: 'A' .. 'Z'
-            	    {
-            	    matchRange('A','Z'); if (failed) return ;
-
-            	    }
-            	    break;
-
-            	default :
-            	    if ( cnt1 >= 1 ) break loop1;
-            	    if (backtracking>0) {failed=true; return ;}
-                        EarlyExitException eee =
-                            new EarlyExitException(1, input);
-                        throw eee;
-                }
-                cnt1++;
-            } while (true);
-
-            match("::"); if (failed) return ;
-
-
-            }
-
-
-            if ( backtracking==0 ) {
-
-                      if ( token==null && ruleNestingLevel==1 ) {
-                          emit(_type,_line,_charPosition,_channel,_start,getCharIndex()-1);
-                      }
-
-                      
-            }
-        }
-        finally {
-            ruleNestingLevel--;
-        }
-    }
-    // $ANTLR end MODULE
-
     // $ANTLR start WS
     public void mWS() throws RecognitionException {
         try {
@@ -559,57 +481,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:623:17: ( ( ' ' | '\\t' | '\\f' | EOL ) )
-            // C:\\dev\\jbossrules\\trunk\\drools-compiler\\src\\main\\resources\\org\\drools\\clp\\CLP.g:623:17: ( ' ' | '\\t' | '\\f' | EOL )
+            // D:\\workspace\\jboss\\jbossrules\\drools-compiler\\src\\main\\resources\\org\\drools\\clp\\CLP.g:608:17: ( ( ' ' | '\\t' | '\\f' | EOL ) )
+            // D:\\workspace\\jboss\\jbossrules\\drools-compiler\\src\\main\\resources\\org\\drools\\clp\\CLP.g:608:17: ( ' ' | '\\t' | '\\f' | EOL )
             {
-            // C:\\dev\\jbossrules\\trunk\\drools-compiler\\src\\main\\resources\\org\\drools\\clp\\CLP.g:623:17: ( ' ' | '\\t' | '\\f' | EOL )
-            int alt2=4;
+            // D:\\workspace\\jboss\\jbossrules\\drools-compiler\\src\\main\\resources\\org\\drools\\clp\\CLP.g:608:17: ( ' ' | '\\t' | '\\f' | EOL )
+            int alt1=4;
             switch ( input.LA(1) ) {
             case ' ':
-                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("623:17: ( ' ' | '\\t' | '\\f' | EOL )", 2, 0, input);
+                    new NoViableAltException("608: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:623:19: ' '
+                    // D:\\workspace\\jboss\\jbossrules\\drools-compiler\\src\\main\\resources\\org\\drools\\clp\\CLP.g:608:19: ' '
                     {
                     match(' '); if (failed) return ;
 
                     }
                     break;
                 case 2 :
-                    // C:\\dev\\jbossrules\\trunk\\drools-compiler\\src\\main\\resources\\org\\drools\\clp\\CLP.g:624:19: '\\t'
+                    // D:\\workspace\\jboss\\jbossrules\\drools-compiler\\src\\main\\resources\\org\\drools\\clp\\CLP.g:609:19: '\\t'
                     {
                     match('\t'); if (failed) return ;
 
                     }
                     break;
                 case 3 :
-                    // C:\\dev\\jbossrules\\trunk\\drools-compiler\\src\\main\\resources\\org\\drools\\clp\\CLP.g:625:19: '\\f'
+                    // D:\\workspace\\jboss\\jbossrules\\drools-compiler\\src\\main\\resources\\org\\drools\\clp\\CLP.g:610:19: '\\f'
                     {
                     match('\f'); if (failed) return ;
 
                     }
                     break;
                 case 4 :
-                    // C:\\dev\\jbossrules\\trunk\\drools-compiler\\src\\main\\resources\\org\\drools\\clp\\CLP.g:626:19: EOL
+                    // D:\\workspace\\jboss\\jbossrules\\drools-compiler\\src\\main\\resources\\org\\drools\\clp\\CLP.g:611:19: EOL
                     {
                     mEOL(); if (failed) return ;
 
@@ -632,8 +554,7 @@
                       }
 
                       
-            }
-        }
+            }    }
         finally {
             ruleNestingLevel--;
         }
@@ -649,8 +570,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:632:4: ( 'declare' )
-            // C:\\dev\\jbossrules\\trunk\\drools-compiler\\src\\main\\resources\\org\\drools\\clp\\CLP.g:632:4: 'declare'
+            // D:\\workspace\\jboss\\jbossrules\\drools-compiler\\src\\main\\resources\\org\\drools\\clp\\CLP.g:617:4: ( 'declare' )
+            // D:\\workspace\\jboss\\jbossrules\\drools-compiler\\src\\main\\resources\\org\\drools\\clp\\CLP.g:617:4: 'declare'
             {
             match("declare"); if (failed) return ;
 
@@ -665,8 +586,7 @@
                       }
 
                       
-            }
-        }
+            }    }
         finally {
             ruleNestingLevel--;
         }
@@ -682,8 +602,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:635:4: ( 'salience' )
-            // C:\\dev\\jbossrules\\trunk\\drools-compiler\\src\\main\\resources\\org\\drools\\clp\\CLP.g:635:4: 'salience'
+            // D:\\workspace\\jboss\\jbossrules\\drools-compiler\\src\\main\\resources\\org\\drools\\clp\\CLP.g:620:4: ( 'salience' )
+            // D:\\workspace\\jboss\\jbossrules\\drools-compiler\\src\\main\\resources\\org\\drools\\clp\\CLP.g:620:4: 'salience'
             {
             match("salience"); if (failed) return ;
 
@@ -698,8 +618,7 @@
                       }
 
                       
-            }
-        }
+            }    }
         finally {
             ruleNestingLevel--;
         }
@@ -710,33 +629,33 @@
     public void mEOL() throws RecognitionException {
         try {
             ruleNestingLevel++;
-            // C:\\dev\\jbossrules\\trunk\\drools-compiler\\src\\main\\resources\\org\\drools\\clp\\CLP.g:639:6: ( ( ( '\\r\\n' )=> '\\r\\n' | '\\r' | '\\n' ) )
-            // C:\\dev\\jbossrules\\trunk\\drools-compiler\\src\\main\\resources\\org\\drools\\clp\\CLP.g:639:6: ( ( '\\r\\n' )=> '\\r\\n' | '\\r' | '\\n' )
+            // D:\\workspace\\jboss\\jbossrules\\drools-compiler\\src\\main\\resources\\org\\drools\\clp\\CLP.g:624:6: ( ( ( '\\r\\n' )=> '\\r\\n' | '\\r' | '\\n' ) )
+            // D:\\workspace\\jboss\\jbossrules\\drools-compiler\\src\\main\\resources\\org\\drools\\clp\\CLP.g:624:6: ( ( '\\r\\n' )=> '\\r\\n' | '\\r' | '\\n' )
             {
-            // C:\\dev\\jbossrules\\trunk\\drools-compiler\\src\\main\\resources\\org\\drools\\clp\\CLP.g:639: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:624: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("639:6: ( ( '\\r\\n' )=> '\\r\\n' | '\\r' | '\\n' )", 3, 0, input);
+                    new NoViableAltException("624: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:639:14: ( '\\r\\n' )=> '\\r\\n'
+                    // D:\\workspace\\jboss\\jbossrules\\drools-compiler\\src\\main\\resources\\org\\drools\\clp\\CLP.g:624:14: ( '\\r\\n' )=> '\\r\\n'
                     {
                     match("\r\n"); if (failed) return ;
 
@@ -744,14 +663,14 @@
                     }
                     break;
                 case 2 :
-                    // C:\\dev\\jbossrules\\trunk\\drools-compiler\\src\\main\\resources\\org\\drools\\clp\\CLP.g:640:25: '\\r'
+                    // D:\\workspace\\jboss\\jbossrules\\drools-compiler\\src\\main\\resources\\org\\drools\\clp\\CLP.g:625:25: '\\r'
                     {
                     match('\r'); if (failed) return ;
 
                     }
                     break;
                 case 3 :
-                    // C:\\dev\\jbossrules\\trunk\\drools-compiler\\src\\main\\resources\\org\\drools\\clp\\CLP.g:641:25: '\\n'
+                    // D:\\workspace\\jboss\\jbossrules\\drools-compiler\\src\\main\\resources\\org\\drools\\clp\\CLP.g:626:25: '\\n'
                     {
                     match('\n'); if (failed) return ;
 
@@ -779,18 +698,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:646:4: ( ( '-' )? ( '0' .. '9' )+ )
-            // C:\\dev\\jbossrules\\trunk\\drools-compiler\\src\\main\\resources\\org\\drools\\clp\\CLP.g:646:4: ( '-' )? ( '0' .. '9' )+
+            // D:\\workspace\\jboss\\jbossrules\\drools-compiler\\src\\main\\resources\\org\\drools\\clp\\CLP.g:631:4: ( ( '-' )? ( '0' .. '9' )+ )
+            // D:\\workspace\\jboss\\jbossrules\\drools-compiler\\src\\main\\resources\\org\\drools\\clp\\CLP.g:631:4: ( '-' )? ( '0' .. '9' )+
             {
-            // C:\\dev\\jbossrules\\trunk\\drools-compiler\\src\\main\\resources\\org\\drools\\clp\\CLP.g:646: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:631: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:646:5: '-'
+                    // D:\\workspace\\jboss\\jbossrules\\drools-compiler\\src\\main\\resources\\org\\drools\\clp\\CLP.g:631:5: '-'
                     {
                     match('-'); if (failed) return ;
 
@@ -799,20 +718,20 @@
 
             }
 
-            // C:\\dev\\jbossrules\\trunk\\drools-compiler\\src\\main\\resources\\org\\drools\\clp\\CLP.g:646:10: ( '0' .. '9' )+
-            int cnt5=0;
-            loop5:
+            // D:\\workspace\\jboss\\jbossrules\\drools-compiler\\src\\main\\resources\\org\\drools\\clp\\CLP.g:631: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:646:11: '0' .. '9'
+            	    // D:\\workspace\\jboss\\jbossrules\\drools-compiler\\src\\main\\resources\\org\\drools\\clp\\CLP.g:631:11: '0' .. '9'
             	    {
             	    matchRange('0','9'); if (failed) return ;
 
@@ -820,13 +739,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);
 
 
@@ -840,8 +759,7 @@
                       }
 
                       
-            }
-        }
+            }    }
         finally {
             ruleNestingLevel--;
         }
@@ -857,18 +775,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:650:4: ( ( '-' )? ( '0' .. '9' )+ '.' ( '0' .. '9' )+ )
-            // C:\\dev\\jbossrules\\trunk\\drools-compiler\\src\\main\\resources\\org\\drools\\clp\\CLP.g:650:4: ( '-' )? ( '0' .. '9' )+ '.' ( '0' .. '9' )+
+            // D:\\workspace\\jboss\\jbossrules\\drools-compiler\\src\\main\\resources\\org\\drools\\clp\\CLP.g:635:4: ( ( '-' )? ( '0' .. '9' )+ '.' ( '0' .. '9' )+ )
+            // D:\\workspace\\jboss\\jbossrules\\drools-compiler\\src\\main\\resources\\org\\drools\\clp\\CLP.g:635:4: ( '-' )? ( '0' .. '9' )+ '.' ( '0' .. '9' )+
             {
-            // C:\\dev\\jbossrules\\trunk\\drools-compiler\\src\\main\\resources\\org\\drools\\clp\\CLP.g:650: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:635: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:650:5: '-'
+                    // D:\\workspace\\jboss\\jbossrules\\drools-compiler\\src\\main\\resources\\org\\drools\\clp\\CLP.g:635:5: '-'
                     {
                     match('-'); if (failed) return ;
 
@@ -877,20 +795,20 @@
 
             }
 
-            // C:\\dev\\jbossrules\\trunk\\drools-compiler\\src\\main\\resources\\org\\drools\\clp\\CLP.g:650:10: ( '0' .. '9' )+
-            int cnt7=0;
-            loop7:
+            // D:\\workspace\\jboss\\jbossrules\\drools-compiler\\src\\main\\resources\\org\\drools\\clp\\CLP.g:635: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:650:11: '0' .. '9'
+            	    // D:\\workspace\\jboss\\jbossrules\\drools-compiler\\src\\main\\resources\\org\\drools\\clp\\CLP.g:635:11: '0' .. '9'
             	    {
             	    matchRange('0','9'); if (failed) return ;
 
@@ -898,30 +816,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:650:26: ( '0' .. '9' )+
-            int cnt8=0;
-            loop8:
+            // D:\\workspace\\jboss\\jbossrules\\drools-compiler\\src\\main\\resources\\org\\drools\\clp\\CLP.g:635: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:650:27: '0' .. '9'
+            	    // D:\\workspace\\jboss\\jbossrules\\drools-compiler\\src\\main\\resources\\org\\drools\\clp\\CLP.g:635:27: '0' .. '9'
             	    {
             	    matchRange('0','9'); if (failed) return ;
 
@@ -929,13 +847,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);
 
 
@@ -949,8 +867,7 @@
                       }
 
                       
-            }
-        }
+            }    }
         finally {
             ruleNestingLevel--;
         }
@@ -966,53 +883,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:654: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:639: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("653:1: STRING : ( ( '\"' ( EscapeSequence | ~ ('\\\\'|'\"'))* '\"' ) | ( '\\'' ( EscapeSequence | ~ ('\\\\'|'\\''))* '\\'' ) );", 11, 0, input);
+                    new NoViableAltException("638: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:654:8: ( '\"' ( EscapeSequence | ~ ('\\\\'|'\"'))* '\"' )
+                    // D:\\workspace\\jboss\\jbossrules\\drools-compiler\\src\\main\\resources\\org\\drools\\clp\\CLP.g:639:8: ( '\"' ( EscapeSequence | ~ ('\\\\'|'\"'))* '\"' )
                     {
-                    // C:\\dev\\jbossrules\\trunk\\drools-compiler\\src\\main\\resources\\org\\drools\\clp\\CLP.g:654:8: ( '\"' ( EscapeSequence | ~ ('\\\\'|'\"'))* '\"' )
-                    // C:\\dev\\jbossrules\\trunk\\drools-compiler\\src\\main\\resources\\org\\drools\\clp\\CLP.g:654:9: '\"' ( EscapeSequence | ~ ('\\\\'|'\"'))* '\"'
+                    // D:\\workspace\\jboss\\jbossrules\\drools-compiler\\src\\main\\resources\\org\\drools\\clp\\CLP.g:639:8: ( '\"' ( EscapeSequence | ~ ('\\\\'|'\"'))* '\"' )
+                    // D:\\workspace\\jboss\\jbossrules\\drools-compiler\\src\\main\\resources\\org\\drools\\clp\\CLP.g:639:9: '\"' ( EscapeSequence | ~ ('\\\\'|'\"'))* '\"'
                     {
                     match('\"'); if (failed) return ;
-                    // C:\\dev\\jbossrules\\trunk\\drools-compiler\\src\\main\\resources\\org\\drools\\clp\\CLP.g:654:13: ( EscapeSequence | ~ ('\\\\'|'\"'))*
-                    loop9:
+                    // D:\\workspace\\jboss\\jbossrules\\drools-compiler\\src\\main\\resources\\org\\drools\\clp\\CLP.g:639: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:654:15: EscapeSequence
+                    	    // D:\\workspace\\jboss\\jbossrules\\drools-compiler\\src\\main\\resources\\org\\drools\\clp\\CLP.g:639:15: EscapeSequence
                     	    {
                     	    mEscapeSequence(); if (failed) return ;
 
                     	    }
                     	    break;
                     	case 2 :
-                    	    // C:\\dev\\jbossrules\\trunk\\drools-compiler\\src\\main\\resources\\org\\drools\\clp\\CLP.g:654:32: ~ ('\\\\'|'\"')
+                    	    // D:\\workspace\\jboss\\jbossrules\\drools-compiler\\src\\main\\resources\\org\\drools\\clp\\CLP.g:639:32: ~ ('\\\\'|'\"')
                     	    {
                     	    if ( (input.LA(1)>='\u0000' && input.LA(1)<='!')||(input.LA(1)>='#' && input.LA(1)<='[')||(input.LA(1)>=']' && input.LA(1)<='\uFFFE') ) {
                     	        input.consume();
@@ -1030,7 +947,7 @@
                     	    break;
 
                     	default :
-                    	    break loop9;
+                    	    break loop8;
                         }
                     } while (true);
 
@@ -1042,35 +959,35 @@
                     }
                     break;
                 case 2 :
-                    // C:\\dev\\jbossrules\\trunk\\drools-compiler\\src\\main\\resources\\org\\drools\\clp\\CLP.g:655:8: ( '\\'' ( EscapeSequence | ~ ('\\\\'|'\\''))* '\\'' )
+                    // D:\\workspace\\jboss\\jbossrules\\drools-compiler\\src\\main\\resources\\org\\drools\\clp\\CLP.g:640:8: ( '\\'' ( EscapeSequence | ~ ('\\\\'|'\\''))* '\\'' )
                     {
-                    // C:\\dev\\jbossrules\\trunk\\drools-compiler\\src\\main\\resources\\org\\drools\\clp\\CLP.g:655:8: ( '\\'' ( EscapeSequence | ~ ('\\\\'|'\\''))* '\\'' )
-                    // C:\\dev\\jbossrules\\trunk\\drools-compiler\\src\\main\\resources\\org\\drools\\clp\\CLP.g:655:9: '\\'' ( EscapeSequence | ~ ('\\\\'|'\\''))* '\\''
+                    // D:\\workspace\\jboss\\jbossrules\\drools-compiler\\src\\main\\resources\\org\\drools\\clp\\CLP.g:640:8: ( '\\'' ( EscapeSequence | ~ ('\\\\'|'\\''))* '\\'' )
+                    // D:\\workspace\\jboss\\jbossrules\\drools-compiler\\src\\main\\resources\\org\\drools\\clp\\CLP.g:640:9: '\\'' ( EscapeSequence | ~ ('\\\\'|'\\''))* '\\''
                     {
                     match('\''); if (failed) return ;
-                    // C:\\dev\\jbossrules\\trunk\\drools-compiler\\src\\main\\resources\\org\\drools\\clp\\CLP.g:655:14: ( EscapeSequence | ~ ('\\\\'|'\\''))*
-                    loop10:
+                    // D:\\workspace\\jboss\\jbossrules\\drools-compiler\\src\\main\\resources\\org\\drools\\clp\\CLP.g:640: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:655:16: EscapeSequence
+                    	    // D:\\workspace\\jboss\\jbossrules\\drools-compiler\\src\\main\\resources\\org\\drools\\clp\\CLP.g:640:16: EscapeSequence
                     	    {
                     	    mEscapeSequence(); if (failed) return ;
 
                     	    }
                     	    break;
                     	case 2 :
-                    	    // C:\\dev\\jbossrules\\trunk\\drools-compiler\\src\\main\\resources\\org\\drools\\clp\\CLP.g:655:33: ~ ('\\\\'|'\\'')
+                    	    // D:\\workspace\\jboss\\jbossrules\\drools-compiler\\src\\main\\resources\\org\\drools\\clp\\CLP.g:640:33: ~ ('\\\\'|'\\'')
                     	    {
                     	    if ( (input.LA(1)>='\u0000' && input.LA(1)<='&')||(input.LA(1)>='(' && input.LA(1)<='[')||(input.LA(1)>=']' && input.LA(1)<='\uFFFE') ) {
                     	        input.consume();
@@ -1088,7 +1005,7 @@
                     	    break;
 
                     	default :
-                    	    break loop10;
+                    	    break loop9;
                         }
                     } while (true);
 
@@ -1109,8 +1026,7 @@
                       }
 
                       
-            }
-        }
+            }    }
         finally {
             ruleNestingLevel--;
         }
@@ -1121,8 +1037,8 @@
     public void mHexDigit() throws RecognitionException {
         try {
             ruleNestingLevel++;
-            // C:\\dev\\jbossrules\\trunk\\drools-compiler\\src\\main\\resources\\org\\drools\\clp\\CLP.g:659:12: ( ('0'..'9'|'a'..'f'|'A'..'F'))
-            // C:\\dev\\jbossrules\\trunk\\drools-compiler\\src\\main\\resources\\org\\drools\\clp\\CLP.g:659:12: ('0'..'9'|'a'..'f'|'A'..'F')
+            // D:\\workspace\\jboss\\jbossrules\\drools-compiler\\src\\main\\resources\\org\\drools\\clp\\CLP.g:644:12: ( ('0'..'9'|'a'..'f'|'A'..'F'))
+            // D:\\workspace\\jboss\\jbossrules\\drools-compiler\\src\\main\\resources\\org\\drools\\clp\\CLP.g:644: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();
@@ -1149,10 +1065,10 @@
     public void mEscapeSequence() throws RecognitionException {
         try {
             ruleNestingLevel++;
-            // C:\\dev\\jbossrules\\trunk\\drools-compiler\\src\\main\\resources\\org\\drools\\clp\\CLP.g:663: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:648: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 '\"':
                 case '\'':
@@ -1162,10 +1078,10 @@
                 case 'n':
                 case 'r':
                 case 't':
-                    alt12=1;
+                    alt11=1;
                     break;
                 case 'u':
-                    alt12=2;
+                    alt11=2;
                     break;
                 case '0':
                 case '1':
@@ -1175,12 +1091,12 @@
                 case '5':
                 case '6':
                 case '7':
-                    alt12=3;
+                    alt11=3;
                     break;
                 default:
                     if (backtracking>0) {failed=true; return ;}
                     NoViableAltException nvae =
-                        new NoViableAltException("661:1: fragment EscapeSequence : ( '\\\\' ('b'|'t'|'n'|'f'|'r'|'\\\"'|'\\''|'\\\\') | UnicodeEscape | OctalEscape );", 12, 1, input);
+                        new NoViableAltException("646:1: fragment EscapeSequence : ( '\\\\' ('b'|'t'|'n'|'f'|'r'|'\\\"'|'\\''|'\\\\') | UnicodeEscape | OctalEscape );", 11, 1, input);
 
                     throw nvae;
                 }
@@ -1189,13 +1105,13 @@
             else {
                 if (backtracking>0) {failed=true; return ;}
                 NoViableAltException nvae =
-                    new NoViableAltException("661:1: fragment EscapeSequence : ( '\\\\' ('b'|'t'|'n'|'f'|'r'|'\\\"'|'\\''|'\\\\') | UnicodeEscape | OctalEscape );", 12, 0, input);
+                    new NoViableAltException("646: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:663:9: '\\\\' ('b'|'t'|'n'|'f'|'r'|'\\\"'|'\\''|'\\\\')
+                    // D:\\workspace\\jboss\\jbossrules\\drools-compiler\\src\\main\\resources\\org\\drools\\clp\\CLP.g:648: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' ) {
@@ -1213,14 +1129,14 @@
                     }
                     break;
                 case 2 :
-                    // C:\\dev\\jbossrules\\trunk\\drools-compiler\\src\\main\\resources\\org\\drools\\clp\\CLP.g:664:9: UnicodeEscape
+                    // D:\\workspace\\jboss\\jbossrules\\drools-compiler\\src\\main\\resources\\org\\drools\\clp\\CLP.g:649:9: UnicodeEscape
                     {
                     mUnicodeEscape(); if (failed) return ;
 
                     }
                     break;
                 case 3 :
-                    // C:\\dev\\jbossrules\\trunk\\drools-compiler\\src\\main\\resources\\org\\drools\\clp\\CLP.g:665:9: OctalEscape
+                    // D:\\workspace\\jboss\\jbossrules\\drools-compiler\\src\\main\\resources\\org\\drools\\clp\\CLP.g:650:9: OctalEscape
                     {
                     mOctalEscape(); if (failed) return ;
 
@@ -1239,36 +1155,36 @@
     public void mOctalEscape() throws RecognitionException {
         try {
             ruleNestingLevel++;
-            // C:\\dev\\jbossrules\\trunk\\drools-compiler\\src\\main\\resources\\org\\drools\\clp\\CLP.g:670: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:655:9: ( '\\\\' ( '0' .. '3' ) ( '0' .. '7' ) ( '0' .. '7' ) | '\\\\' ( '0' .. '7' ) ( '0' .. '7' ) | '\\\\' ( '0' .. '7' ) )
+            int alt12=3;
+            int LA12_0 = input.LA(1);
+            if ( (LA12_0=='\\') ) {
+                int LA12_1 = input.LA(2);
+                if ( ((LA12_1>='0' && LA12_1<='3')) ) {
+                    int LA12_2 = input.LA(3);
+                    if ( ((LA12_2>='0' && LA12_2<='7')) ) {
+                        int LA12_4 = input.LA(4);
+                        if ( ((LA12_4>='0' && LA12_4<='7')) ) {
+                            alt12=1;
                         }
                         else {
-                            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("668:1: fragment OctalEscape : ( '\\\\' ( '0' .. '3' ) ( '0' .. '7' ) ( '0' .. '7' ) | '\\\\' ( '0' .. '7' ) ( '0' .. '7' ) | '\\\\' ( '0' .. '7' ) );", 13, 1, input);
+                        new NoViableAltException("653:1: fragment OctalEscape : ( '\\\\' ( '0' .. '3' ) ( '0' .. '7' ) ( '0' .. '7' ) | '\\\\' ( '0' .. '7' ) ( '0' .. '7' ) | '\\\\' ( '0' .. '7' ) );", 12, 1, input);
 
                     throw nvae;
                 }
@@ -1276,31 +1192,31 @@
             else {
                 if (backtracking>0) {failed=true; return ;}
                 NoViableAltException nvae =
-                    new NoViableAltException("668:1: fragment OctalEscape : ( '\\\\' ( '0' .. '3' ) ( '0' .. '7' ) ( '0' .. '7' ) | '\\\\' ( '0' .. '7' ) ( '0' .. '7' ) | '\\\\' ( '0' .. '7' ) );", 13, 0, input);
+                    new NoViableAltException("653: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:670:9: '\\\\' ( '0' .. '3' ) ( '0' .. '7' ) ( '0' .. '7' )
+                    // D:\\workspace\\jboss\\jbossrules\\drools-compiler\\src\\main\\resources\\org\\drools\\clp\\CLP.g:655: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:670:14: ( '0' .. '3' )
-                    // C:\\dev\\jbossrules\\trunk\\drools-compiler\\src\\main\\resources\\org\\drools\\clp\\CLP.g:670:15: '0' .. '3'
+                    // D:\\workspace\\jboss\\jbossrules\\drools-compiler\\src\\main\\resources\\org\\drools\\clp\\CLP.g:655:14: ( '0' .. '3' )
+                    // D:\\workspace\\jboss\\jbossrules\\drools-compiler\\src\\main\\resources\\org\\drools\\clp\\CLP.g:655:15: '0' .. '3'
                     {
                     matchRange('0','3'); if (failed) return ;
 
                     }
 
-                    // C:\\dev\\jbossrules\\trunk\\drools-compiler\\src\\main\\resources\\org\\drools\\clp\\CLP.g:670:25: ( '0' .. '7' )
-                    // C:\\dev\\jbossrules\\trunk\\drools-compiler\\src\\main\\resources\\org\\drools\\clp\\CLP.g:670:26: '0' .. '7'
+                    // D:\\workspace\\jboss\\jbossrules\\drools-compiler\\src\\main\\resources\\org\\drools\\clp\\CLP.g:655:25: ( '0' .. '7' )
+                    // D:\\workspace\\jboss\\jbossrules\\drools-compiler\\src\\main\\resources\\org\\drools\\clp\\CLP.g:655:26: '0' .. '7'
                     {
                     matchRange('0','7'); if (failed) return ;
 
                     }
 
-                    // C:\\dev\\jbossrules\\trunk\\drools-compiler\\src\\main\\resources\\org\\drools\\clp\\CLP.g:670:36: ( '0' .. '7' )
-                    // C:\\dev\\jbossrules\\trunk\\drools-compiler\\src\\main\\resources\\org\\drools\\clp\\CLP.g:670:37: '0' .. '7'
+                    // D:\\workspace\\jboss\\jbossrules\\drools-compiler\\src\\main\\resources\\org\\drools\\clp\\CLP.g:655:36: ( '0' .. '7' )
+                    // D:\\workspace\\jboss\\jbossrules\\drools-compiler\\src\\main\\resources\\org\\drools\\clp\\CLP.g:655:37: '0' .. '7'
                     {
                     matchRange('0','7'); if (failed) return ;
 
@@ -1310,18 +1226,18 @@
                     }
                     break;
                 case 2 :
-                    // C:\\dev\\jbossrules\\trunk\\drools-compiler\\src\\main\\resources\\org\\drools\\clp\\CLP.g:671:9: '\\\\' ( '0' .. '7' ) ( '0' .. '7' )
+                    // D:\\workspace\\jboss\\jbossrules\\drools-compiler\\src\\main\\resources\\org\\drools\\clp\\CLP.g:656:9: '\\\\' ( '0' .. '7' ) ( '0' .. '7' )
                     {
                     match('\\'); if (failed) return ;
-                    // C:\\dev\\jbossrules\\trunk\\drools-compiler\\src\\main\\resources\\org\\drools\\clp\\CLP.g:671:14: ( '0' .. '7' )
-                    // C:\\dev\\jbossrules\\trunk\\drools-compiler\\src\\main\\resources\\org\\drools\\clp\\CLP.g:671:15: '0' .. '7'
+                    // D:\\workspace\\jboss\\jbossrules\\drools-compiler\\src\\main\\resources\\org\\drools\\clp\\CLP.g:656:14: ( '0' .. '7' )
+                    // D:\\workspace\\jboss\\jbossrules\\drools-compiler\\src\\main\\resources\\org\\drools\\clp\\CLP.g:656:15: '0' .. '7'
                     {
                     matchRange('0','7'); if (failed) return ;
 
                     }
 
-                    // C:\\dev\\jbossrules\\trunk\\drools-compiler\\src\\main\\resources\\org\\drools\\clp\\CLP.g:671:25: ( '0' .. '7' )
-                    // C:\\dev\\jbossrules\\trunk\\drools-compiler\\src\\main\\resources\\org\\drools\\clp\\CLP.g:671:26: '0' .. '7'
+                    // D:\\workspace\\jboss\\jbossrules\\drools-compiler\\src\\main\\resources\\org\\drools\\clp\\CLP.g:656:25: ( '0' .. '7' )
+                    // D:\\workspace\\jboss\\jbossrules\\drools-compiler\\src\\main\\resources\\org\\drools\\clp\\CLP.g:656:26: '0' .. '7'
                     {
                     matchRange('0','7'); if (failed) return ;
 
@@ -1331,11 +1247,11 @@
                     }
                     break;
                 case 3 :
-                    // C:\\dev\\jbossrules\\trunk\\drools-compiler\\src\\main\\resources\\org\\drools\\clp\\CLP.g:672:9: '\\\\' ( '0' .. '7' )
+                    // D:\\workspace\\jboss\\jbossrules\\drools-compiler\\src\\main\\resources\\org\\drools\\clp\\CLP.g:657:9: '\\\\' ( '0' .. '7' )
                     {
                     match('\\'); if (failed) return ;
-                    // C:\\dev\\jbossrules\\trunk\\drools-compiler\\src\\main\\resources\\org\\drools\\clp\\CLP.g:672:14: ( '0' .. '7' )
-                    // C:\\dev\\jbossrules\\trunk\\drools-compiler\\src\\main\\resources\\org\\drools\\clp\\CLP.g:672:15: '0' .. '7'
+                    // D:\\workspace\\jboss\\jbossrules\\drools-compiler\\src\\main\\resources\\org\\drools\\clp\\CLP.g:657:14: ( '0' .. '7' )
+                    // D:\\workspace\\jboss\\jbossrules\\drools-compiler\\src\\main\\resources\\org\\drools\\clp\\CLP.g:657:15: '0' .. '7'
                     {
                     matchRange('0','7'); if (failed) return ;
 
@@ -1357,8 +1273,8 @@
     public void mUnicodeEscape() throws RecognitionException {
         try {
             ruleNestingLevel++;
-            // C:\\dev\\jbossrules\\trunk\\drools-compiler\\src\\main\\resources\\org\\drools\\clp\\CLP.g:677:9: ( '\\\\' 'u' HexDigit HexDigit HexDigit HexDigit )
-            // C:\\dev\\jbossrules\\trunk\\drools-compiler\\src\\main\\resources\\org\\drools\\clp\\CLP.g:677:9: '\\\\' 'u' HexDigit HexDigit HexDigit HexDigit
+            // D:\\workspace\\jboss\\jbossrules\\drools-compiler\\src\\main\\resources\\org\\drools\\clp\\CLP.g:662:9: ( '\\\\' 'u' HexDigit HexDigit HexDigit HexDigit )
+            // D:\\workspace\\jboss\\jbossrules\\drools-compiler\\src\\main\\resources\\org\\drools\\clp\\CLP.g:662:9: '\\\\' 'u' HexDigit HexDigit HexDigit HexDigit
             {
             match('\\'); if (failed) return ;
             match('u'); if (failed) return ;
@@ -1385,28 +1301,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:681:4: ( ( 'true' | 'false' ) )
-            // C:\\dev\\jbossrules\\trunk\\drools-compiler\\src\\main\\resources\\org\\drools\\clp\\CLP.g:681:4: ( 'true' | 'false' )
+            // D:\\workspace\\jboss\\jbossrules\\drools-compiler\\src\\main\\resources\\org\\drools\\clp\\CLP.g:666:4: ( ( 'true' | 'false' ) )
+            // D:\\workspace\\jboss\\jbossrules\\drools-compiler\\src\\main\\resources\\org\\drools\\clp\\CLP.g:666:4: ( 'true' | 'false' )
             {
-            // C:\\dev\\jbossrules\\trunk\\drools-compiler\\src\\main\\resources\\org\\drools\\clp\\CLP.g:681: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:666: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("681:4: ( 'true' | 'false' )", 14, 0, input);
+                    new NoViableAltException("666: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:681:5: 'true'
+                    // D:\\workspace\\jboss\\jbossrules\\drools-compiler\\src\\main\\resources\\org\\drools\\clp\\CLP.g:666:5: 'true'
                     {
                     match("true"); if (failed) return ;
 
@@ -1414,7 +1330,7 @@
                     }
                     break;
                 case 2 :
-                    // C:\\dev\\jbossrules\\trunk\\drools-compiler\\src\\main\\resources\\org\\drools\\clp\\CLP.g:681:12: 'false'
+                    // D:\\workspace\\jboss\\jbossrules\\drools-compiler\\src\\main\\resources\\org\\drools\\clp\\CLP.g:666:12: 'false'
                     {
                     match("false"); if (failed) return ;
 
@@ -1435,8 +1351,7 @@
                       }
 
                       
-            }
-        }
+            }    }
         finally {
             ruleNestingLevel--;
         }
@@ -1452,8 +1367,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:684:8: ( '?' ('a'..'z'|'A'..'Z'|'_'|'$') ( ('a'..'z'|'A'..'Z'|'_'|'0'..'9'))* )
-            // C:\\dev\\jbossrules\\trunk\\drools-compiler\\src\\main\\resources\\org\\drools\\clp\\CLP.g:684:8: '?' ('a'..'z'|'A'..'Z'|'_'|'$') ( ('a'..'z'|'A'..'Z'|'_'|'0'..'9'))*
+            // D:\\workspace\\jboss\\jbossrules\\drools-compiler\\src\\main\\resources\\org\\drools\\clp\\CLP.g:669:8: ( '?' ('a'..'z'|'A'..'Z'|'_'|'$') ( ('a'..'z'|'A'..'Z'|'_'|'0'..'9'))* )
+            // D:\\workspace\\jboss\\jbossrules\\drools-compiler\\src\\main\\resources\\org\\drools\\clp\\CLP.g:669:8: '?' ('a'..'z'|'A'..'Z'|'_'|'$') ( ('a'..'z'|'A'..'Z'|'_'|'0'..'9'))*
             {
             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') ) {
@@ -1467,19 +1382,19 @@
                 recover(mse);    throw mse;
             }
 
-            // C:\\dev\\jbossrules\\trunk\\drools-compiler\\src\\main\\resources\\org\\drools\\clp\\CLP.g:684:38: ( ('a'..'z'|'A'..'Z'|'_'|'0'..'9'))*
-            loop15:
+            // D:\\workspace\\jboss\\jbossrules\\drools-compiler\\src\\main\\resources\\org\\drools\\clp\\CLP.g:669:38: ( ('a'..'z'|'A'..'Z'|'_'|'0'..'9'))*
+            loop14:
             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')) ) {
-                    alt15=1;
+                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')) ) {
+                    alt14=1;
                 }
 
 
-                switch (alt15) {
+                switch (alt14) {
             	case 1 :
-            	    // C:\\dev\\jbossrules\\trunk\\drools-compiler\\src\\main\\resources\\org\\drools\\clp\\CLP.g:684:39: ('a'..'z'|'A'..'Z'|'_'|'0'..'9')
+            	    // D:\\workspace\\jboss\\jbossrules\\drools-compiler\\src\\main\\resources\\org\\drools\\clp\\CLP.g:669:39: ('a'..'z'|'A'..'Z'|'_'|'0'..'9')
             	    {
             	    if ( (input.LA(1)>='0' && input.LA(1)<='9')||(input.LA(1)>='A' && input.LA(1)<='Z')||input.LA(1)=='_'||(input.LA(1)>='a' && input.LA(1)<='z') ) {
             	        input.consume();
@@ -1497,7 +1412,7 @@
             	    break;
 
             	default :
-            	    break loop15;
+            	    break loop14;
                 }
             } while (true);
 
@@ -1512,90 +1427,13 @@
                       }
 
                       
-            }
-        }
+            }    }
         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:688:4: ( ('a'..'z'|'A'..'Z'|'_'|'$') ( ('a'..'z'|'A'..'Z'|'_'|'0'..'9'))* )
-            // C:\\dev\\jbossrules\\trunk\\drools-compiler\\src\\main\\resources\\org\\drools\\clp\\CLP.g:688:4: ('a'..'z'|'A'..'Z'|'_'|'$') ( ('a'..'z'|'A'..'Z'|'_'|'0'..'9'))*
-            {
-            if ( input.LA(1)=='$'||(input.LA(1)>='A' && input.LA(1)<='Z')||input.LA(1)=='_'||(input.LA(1)>='a' && input.LA(1)<='z') ) {
-                input.consume();
-            failed=false;
-            }
-            else {
-                if (backtracking>0) {failed=true; return ;}
-                MismatchedSetException mse =
-                    new MismatchedSetException(null,input);
-                recover(mse);    throw mse;
-            }
-
-            // C:\\dev\\jbossrules\\trunk\\drools-compiler\\src\\main\\resources\\org\\drools\\clp\\CLP.g:688:31: ( ('a'..'z'|'A'..'Z'|'_'|'0'..'9'))*
-            loop16:
-            do {
-                int alt16=2;
-                int LA16_0 = input.LA(1);
-                if ( ((LA16_0>='0' && LA16_0<='9')||(LA16_0>='A' && LA16_0<='Z')||LA16_0=='_'||(LA16_0>='a' && LA16_0<='z')) ) {
-                    alt16=1;
-                }
-
-
-                switch (alt16) {
-            	case 1 :
-            	    // C:\\dev\\jbossrules\\trunk\\drools-compiler\\src\\main\\resources\\org\\drools\\clp\\CLP.g:688:32: ('a'..'z'|'A'..'Z'|'_'|'0'..'9')
-            	    {
-            	    if ( (input.LA(1)>='0' && input.LA(1)<='9')||(input.LA(1)>='A' && input.LA(1)<='Z')||input.LA(1)=='_'||(input.LA(1)>='a' && input.LA(1)<='z') ) {
-            	        input.consume();
-            	    failed=false;
-            	    }
-            	    else {
-            	        if (backtracking>0) {failed=true; return ;}
-            	        MismatchedSetException mse =
-            	            new MismatchedSetException(null,input);
-            	        recover(mse);    throw mse;
-            	    }
-
-
-            	    }
-            	    break;
-
-            	default :
-            	    break loop16;
-                }
-            } 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 SH_STYLE_SINGLE_LINE_COMMENT
     public void mSH_STYLE_SINGLE_LINE_COMMENT() throws RecognitionException {
         try {
@@ -1605,29 +1443,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:692:4: ( '#' ( options {greedy=false; } : . )* EOL )
-            // C:\\dev\\jbossrules\\trunk\\drools-compiler\\src\\main\\resources\\org\\drools\\clp\\CLP.g:692:4: '#' ( options {greedy=false; } : . )* EOL
+            // D:\\workspace\\jboss\\jbossrules\\drools-compiler\\src\\main\\resources\\org\\drools\\clp\\CLP.g:677:4: ( '#' ( options {greedy=false; } : . )* EOL )
+            // D:\\workspace\\jboss\\jbossrules\\drools-compiler\\src\\main\\resources\\org\\drools\\clp\\CLP.g:677:4: '#' ( options {greedy=false; } : . )* EOL
             {
             match('#'); if (failed) return ;
-            // C:\\dev\\jbossrules\\trunk\\drools-compiler\\src\\main\\resources\\org\\drools\\clp\\CLP.g:692:8: ( options {greedy=false; } : . )*
-            loop17:
+            // D:\\workspace\\jboss\\jbossrules\\drools-compiler\\src\\main\\resources\\org\\drools\\clp\\CLP.g:677:8: ( options {greedy=false; } : . )*
+            loop15:
             do {
-                int alt17=2;
-                int LA17_0 = input.LA(1);
-                if ( (LA17_0=='\r') ) {
-                    alt17=2;
+                int alt15=2;
+                int LA15_0 = input.LA(1);
+                if ( (LA15_0=='\r') ) {
+                    alt15=2;
                 }
-                else if ( (LA17_0=='\n') ) {
-                    alt17=2;
+                else if ( (LA15_0=='\n') ) {
+                    alt15=2;
                 }
-                else if ( ((LA17_0>='\u0000' && LA17_0<='\t')||(LA17_0>='\u000B' && LA17_0<='\f')||(LA17_0>='\u000E' && LA17_0<='\uFFFE')) ) {
-                    alt17=1;
+                else if ( ((LA15_0>='\u0000' && LA15_0<='\t')||(LA15_0>='\u000B' && LA15_0<='\f')||(LA15_0>='\u000E' && LA15_0<='\uFFFE')) ) {
+                    alt15=1;
                 }
 
 
-                switch (alt17) {
+                switch (alt15) {
             	case 1 :
-            	    // C:\\dev\\jbossrules\\trunk\\drools-compiler\\src\\main\\resources\\org\\drools\\clp\\CLP.g:692:35: .
+            	    // D:\\workspace\\jboss\\jbossrules\\drools-compiler\\src\\main\\resources\\org\\drools\\clp\\CLP.g:677:35: .
             	    {
             	    matchAny(); if (failed) return ;
 
@@ -1635,7 +1473,7 @@
             	    break;
 
             	default :
-            	    break loop17;
+            	    break loop15;
                 }
             } while (true);
 
@@ -1654,8 +1492,7 @@
                       }
 
                       
-            }
-        }
+            }    }
         finally {
             ruleNestingLevel--;
         }
@@ -1671,30 +1508,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:698:4: ( '//' ( options {greedy=false; } : . )* EOL )
-            // C:\\dev\\jbossrules\\trunk\\drools-compiler\\src\\main\\resources\\org\\drools\\clp\\CLP.g:698:4: '//' ( options {greedy=false; } : . )* EOL
+            // D:\\workspace\\jboss\\jbossrules\\drools-compiler\\src\\main\\resources\\org\\drools\\clp\\CLP.g:683:4: ( '//' ( options {greedy=false; } : . )* EOL )
+            // D:\\workspace\\jboss\\jbossrules\\drools-compiler\\src\\main\\resources\\org\\drools\\clp\\CLP.g:683:4: '//' ( options {greedy=false; } : . )* EOL
             {
             match("//"); if (failed) return ;
 
-            // C:\\dev\\jbossrules\\trunk\\drools-compiler\\src\\main\\resources\\org\\drools\\clp\\CLP.g:698:9: ( options {greedy=false; } : . )*
-            loop18:
+            // D:\\workspace\\jboss\\jbossrules\\drools-compiler\\src\\main\\resources\\org\\drools\\clp\\CLP.g:683:9: ( options {greedy=false; } : . )*
+            loop16:
             do {
-                int alt18=2;
-                int LA18_0 = input.LA(1);
-                if ( (LA18_0=='\r') ) {
-                    alt18=2;
+                int alt16=2;
+                int LA16_0 = input.LA(1);
+                if ( (LA16_0=='\r') ) {
+                    alt16=2;
                 }
-                else if ( (LA18_0=='\n') ) {
-                    alt18=2;
+                else if ( (LA16_0=='\n') ) {
+                    alt16=2;
                 }
-                else if ( ((LA18_0>='\u0000' && LA18_0<='\t')||(LA18_0>='\u000B' && LA18_0<='\f')||(LA18_0>='\u000E' && LA18_0<='\uFFFE')) ) {
-                    alt18=1;
+                else if ( ((LA16_0>='\u0000' && LA16_0<='\t')||(LA16_0>='\u000B' && LA16_0<='\f')||(LA16_0>='\u000E' && LA16_0<='\uFFFE')) ) {
+                    alt16=1;
                 }
 
 
-                switch (alt18) {
+                switch (alt16) {
             	case 1 :
-            	    // C:\\dev\\jbossrules\\trunk\\drools-compiler\\src\\main\\resources\\org\\drools\\clp\\CLP.g:698:36: .
+            	    // D:\\workspace\\jboss\\jbossrules\\drools-compiler\\src\\main\\resources\\org\\drools\\clp\\CLP.g:683:36: .
             	    {
             	    matchAny(); if (failed) return ;
 
@@ -1702,7 +1539,7 @@
             	    break;
 
             	default :
-            	    break loop18;
+            	    break loop16;
                 }
             } while (true);
 
@@ -1721,8 +1558,7 @@
                       }
 
                       
-            }
-        }
+            }    }
         finally {
             ruleNestingLevel--;
         }
@@ -1738,8 +1574,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:704:4: ( '(' )
-            // C:\\dev\\jbossrules\\trunk\\drools-compiler\\src\\main\\resources\\org\\drools\\clp\\CLP.g:704:4: '('
+            // D:\\workspace\\jboss\\jbossrules\\drools-compiler\\src\\main\\resources\\org\\drools\\clp\\CLP.g:689:4: ( '(' )
+            // D:\\workspace\\jboss\\jbossrules\\drools-compiler\\src\\main\\resources\\org\\drools\\clp\\CLP.g:689:4: '('
             {
             match('('); if (failed) return ;
 
@@ -1753,8 +1589,7 @@
                       }
 
                       
-            }
-        }
+            }    }
         finally {
             ruleNestingLevel--;
         }
@@ -1770,8 +1605,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:708:4: ( ')' )
-            // C:\\dev\\jbossrules\\trunk\\drools-compiler\\src\\main\\resources\\org\\drools\\clp\\CLP.g:708:4: ')'
+            // D:\\workspace\\jboss\\jbossrules\\drools-compiler\\src\\main\\resources\\org\\drools\\clp\\CLP.g:693:4: ( ')' )
+            // D:\\workspace\\jboss\\jbossrules\\drools-compiler\\src\\main\\resources\\org\\drools\\clp\\CLP.g:693:4: ')'
             {
             match(')'); if (failed) return ;
 
@@ -1785,8 +1620,7 @@
                       }
 
                       
-            }
-        }
+            }    }
         finally {
             ruleNestingLevel--;
         }
@@ -1802,8 +1636,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:712:4: ( '[' )
-            // C:\\dev\\jbossrules\\trunk\\drools-compiler\\src\\main\\resources\\org\\drools\\clp\\CLP.g:712:4: '['
+            // D:\\workspace\\jboss\\jbossrules\\drools-compiler\\src\\main\\resources\\org\\drools\\clp\\CLP.g:697:4: ( '[' )
+            // D:\\workspace\\jboss\\jbossrules\\drools-compiler\\src\\main\\resources\\org\\drools\\clp\\CLP.g:697:4: '['
             {
             match('['); if (failed) return ;
 
@@ -1817,8 +1651,7 @@
                       }
 
                       
-            }
-        }
+            }    }
         finally {
             ruleNestingLevel--;
         }
@@ -1834,8 +1667,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:716:4: ( ']' )
-            // C:\\dev\\jbossrules\\trunk\\drools-compiler\\src\\main\\resources\\org\\drools\\clp\\CLP.g:716:4: ']'
+            // D:\\workspace\\jboss\\jbossrules\\drools-compiler\\src\\main\\resources\\org\\drools\\clp\\CLP.g:701:4: ( ']' )
+            // D:\\workspace\\jboss\\jbossrules\\drools-compiler\\src\\main\\resources\\org\\drools\\clp\\CLP.g:701:4: ']'
             {
             match(']'); if (failed) return ;
 
@@ -1849,8 +1682,7 @@
                       }
 
                       
-            }
-        }
+            }    }
         finally {
             ruleNestingLevel--;
         }
@@ -1866,8 +1698,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:720:4: ( '{' )
-            // C:\\dev\\jbossrules\\trunk\\drools-compiler\\src\\main\\resources\\org\\drools\\clp\\CLP.g:720:4: '{'
+            // D:\\workspace\\jboss\\jbossrules\\drools-compiler\\src\\main\\resources\\org\\drools\\clp\\CLP.g:705:4: ( '{' )
+            // D:\\workspace\\jboss\\jbossrules\\drools-compiler\\src\\main\\resources\\org\\drools\\clp\\CLP.g:705:4: '{'
             {
             match('{'); if (failed) return ;
 
@@ -1881,8 +1713,7 @@
                       }
 
                       
-            }
-        }
+            }    }
         finally {
             ruleNestingLevel--;
         }
@@ -1898,8 +1729,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:724:4: ( '}' )
-            // C:\\dev\\jbossrules\\trunk\\drools-compiler\\src\\main\\resources\\org\\drools\\clp\\CLP.g:724:4: '}'
+            // D:\\workspace\\jboss\\jbossrules\\drools-compiler\\src\\main\\resources\\org\\drools\\clp\\CLP.g:709:4: ( '}' )
+            // D:\\workspace\\jboss\\jbossrules\\drools-compiler\\src\\main\\resources\\org\\drools\\clp\\CLP.g:709:4: '}'
             {
             match('}'); if (failed) return ;
 
@@ -1913,8 +1744,7 @@
                       }
 
                       
-            }
-        }
+            }    }
         finally {
             ruleNestingLevel--;
         }
@@ -1930,8 +1760,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:727:9: ( '~' )
-            // C:\\dev\\jbossrules\\trunk\\drools-compiler\\src\\main\\resources\\org\\drools\\clp\\CLP.g:727:9: '~'
+            // D:\\workspace\\jboss\\jbossrules\\drools-compiler\\src\\main\\resources\\org\\drools\\clp\\CLP.g:712:9: ( '~' )
+            // D:\\workspace\\jboss\\jbossrules\\drools-compiler\\src\\main\\resources\\org\\drools\\clp\\CLP.g:712:9: '~'
             {
             match('~'); if (failed) return ;
 
@@ -1945,8 +1775,7 @@
                       }
 
                       
-            }
-        }
+            }    }
         finally {
             ruleNestingLevel--;
         }
@@ -1962,8 +1791,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:731:4: ( '&' )
-            // C:\\dev\\jbossrules\\trunk\\drools-compiler\\src\\main\\resources\\org\\drools\\clp\\CLP.g:731:4: '&'
+            // D:\\workspace\\jboss\\jbossrules\\drools-compiler\\src\\main\\resources\\org\\drools\\clp\\CLP.g:716:4: ( '&' )
+            // D:\\workspace\\jboss\\jbossrules\\drools-compiler\\src\\main\\resources\\org\\drools\\clp\\CLP.g:716:4: '&'
             {
             match('&'); if (failed) return ;
 
@@ -1977,8 +1806,7 @@
                       }
 
                       
-            }
-        }
+            }    }
         finally {
             ruleNestingLevel--;
         }
@@ -1994,8 +1822,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:735:4: ( '|' )
-            // C:\\dev\\jbossrules\\trunk\\drools-compiler\\src\\main\\resources\\org\\drools\\clp\\CLP.g:735:4: '|'
+            // D:\\workspace\\jboss\\jbossrules\\drools-compiler\\src\\main\\resources\\org\\drools\\clp\\CLP.g:720:4: ( '|' )
+            // D:\\workspace\\jboss\\jbossrules\\drools-compiler\\src\\main\\resources\\org\\drools\\clp\\CLP.g:720:4: '|'
             {
             match('|'); if (failed) return ;
 
@@ -2009,8 +1837,7 @@
                       }
 
                       
-            }
-        }
+            }    }
         finally {
             ruleNestingLevel--;
         }
@@ -2026,35 +1853,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:739:4: ( '/*' ( options {greedy=false; } : . )* '*/' )
-            // C:\\dev\\jbossrules\\trunk\\drools-compiler\\src\\main\\resources\\org\\drools\\clp\\CLP.g:739:4: '/*' ( options {greedy=false; } : . )* '*/'
+            // D:\\workspace\\jboss\\jbossrules\\drools-compiler\\src\\main\\resources\\org\\drools\\clp\\CLP.g:724:4: ( '/*' ( options {greedy=false; } : . )* '*/' )
+            // D:\\workspace\\jboss\\jbossrules\\drools-compiler\\src\\main\\resources\\org\\drools\\clp\\CLP.g:724:4: '/*' ( options {greedy=false; } : . )* '*/'
             {
             match("/*"); if (failed) return ;
 
-            // C:\\dev\\jbossrules\\trunk\\drools-compiler\\src\\main\\resources\\org\\drools\\clp\\CLP.g:739:9: ( options {greedy=false; } : . )*
-            loop19:
+            // D:\\workspace\\jboss\\jbossrules\\drools-compiler\\src\\main\\resources\\org\\drools\\clp\\CLP.g:724:9: ( options {greedy=false; } : . )*
+            loop17:
             do {
-                int alt19=2;
-                int LA19_0 = input.LA(1);
-                if ( (LA19_0=='*') ) {
-                    int LA19_1 = input.LA(2);
-                    if ( (LA19_1=='/') ) {
-                        alt19=2;
+                int alt17=2;
+                int LA17_0 = input.LA(1);
+                if ( (LA17_0=='*') ) {
+                    int LA17_1 = input.LA(2);
+                    if ( (LA17_1=='/') ) {
+                        alt17=2;
                     }
-                    else if ( ((LA19_1>='\u0000' && LA19_1<='.')||(LA19_1>='0' && LA19_1<='\uFFFE')) ) {
-                        alt19=1;
+                    else if ( ((LA17_1>='\u0000' && LA17_1<='.')||(LA17_1>='0' && LA17_1<='\uFFFE')) ) {
+                        alt17=1;
                     }
 
 
                 }
-                else if ( ((LA19_0>='\u0000' && LA19_0<=')')||(LA19_0>='+' && LA19_0<='\uFFFE')) ) {
-                    alt19=1;
+                else if ( ((LA17_0>='\u0000' && LA17_0<=')')||(LA17_0>='+' && LA17_0<='\uFFFE')) ) {
+                    alt17=1;
                 }
 
 
-                switch (alt19) {
+                switch (alt17) {
             	case 1 :
-            	    // C:\\dev\\jbossrules\\trunk\\drools-compiler\\src\\main\\resources\\org\\drools\\clp\\CLP.g:739:35: .
+            	    // D:\\workspace\\jboss\\jbossrules\\drools-compiler\\src\\main\\resources\\org\\drools\\clp\\CLP.g:724:35: .
             	    {
             	    matchAny(); if (failed) return ;
 
@@ -2062,7 +1889,7 @@
             	    break;
 
             	default :
-            	    break loop19;
+            	    break loop17;
                 }
             } while (true);
 
@@ -2082,8 +1909,7 @@
                       }
 
                       
-            }
-        }
+            }    }
         finally {
             ruleNestingLevel--;
         }
@@ -2099,200 +1925,200 @@
             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:744:3: ( '!' | '@' | '$' | '%' | '^' | '*' | '_' | '-' | '+' | '?' | ',' | '=' | '/' | '\\'' | '\\\\' | '<' | '>' | '<=' | '>=' )
-            int alt20=19;
+            // D:\\workspace\\jboss\\jbossrules\\drools-compiler\\src\\main\\resources\\org\\drools\\clp\\CLP.g:729:3: ( '!' | '@' | '$' | '%' | '^' | '*' | '_' | '-' | '+' | '?' | ',' | '=' | '/' | '\\'' | '\\\\' | '<' | '>' | '<=' | '>=' )
+            int alt18=19;
             switch ( input.LA(1) ) {
             case '!':
-                alt20=1;
+                alt18=1;
                 break;
             case '@':
-                alt20=2;
+                alt18=2;
                 break;
             case '$':
-                alt20=3;
+                alt18=3;
                 break;
             case '%':
-                alt20=4;
+                alt18=4;
                 break;
             case '^':
-                alt20=5;
+                alt18=5;
                 break;
             case '*':
-                alt20=6;
+                alt18=6;
                 break;
             case '_':
-                alt20=7;
+                alt18=7;
                 break;
             case '-':
-                alt20=8;
+                alt18=8;
                 break;
             case '+':
-                alt20=9;
+                alt18=9;
                 break;
             case '?':
-                alt20=10;
+                alt18=10;
                 break;
             case ',':
-                alt20=11;
+                alt18=11;
                 break;
             case '=':
-                alt20=12;
+                alt18=12;
                 break;
             case '/':
-                alt20=13;
+                alt18=13;
                 break;
             case '\'':
-                alt20=14;
+                alt18=14;
                 break;
             case '\\':
-                alt20=15;
+                alt18=15;
                 break;
             case '<':
-                int LA20_16 = input.LA(2);
-                if ( (LA20_16=='=') ) {
-                    alt20=18;
+                int LA18_16 = input.LA(2);
+                if ( (LA18_16=='=') ) {
+                    alt18=18;
                 }
                 else {
-                    alt20=16;}
+                    alt18=16;}
                 break;
             case '>':
-                int LA20_17 = input.LA(2);
-                if ( (LA20_17=='=') ) {
-                    alt20=19;
+                int LA18_17 = input.LA(2);
+                if ( (LA18_17=='=') ) {
+                    alt18=19;
                 }
                 else {
-                    alt20=17;}
+                    alt18=17;}
                 break;
             default:
                 if (backtracking>0) {failed=true; return ;}
                 NoViableAltException nvae =
-                    new NoViableAltException("743:1: MISC : ( '!' | '@' | '$' | '%' | '^' | '*' | '_' | '-' | '+' | '?' | ',' | '=' | '/' | '\\'' | '\\\\' | '<' | '>' | '<=' | '>=' );", 20, 0, input);
+                    new NoViableAltException("728:1: MISC : ( '!' | '@' | '$' | '%' | '^' | '*' | '_' | '-' | '+' | '?' | ',' | '=' | '/' | '\\'' | '\\\\' | '<' | '>' | '<=' | '>=' );", 18, 0, input);
 
                 throw nvae;
             }
 
-            switch (alt20) {
+            switch (alt18) {
                 case 1 :
-                    // C:\\dev\\jbossrules\\trunk\\drools-compiler\\src\\main\\resources\\org\\drools\\clp\\CLP.g:744:3: '!'
+                    // D:\\workspace\\jboss\\jbossrules\\drools-compiler\\src\\main\\resources\\org\\drools\\clp\\CLP.g:729:3: '!'
                     {
                     match('!'); if (failed) return ;
 
                     }
                     break;
                 case 2 :
-                    // C:\\dev\\jbossrules\\trunk\\drools-compiler\\src\\main\\resources\\org\\drools\\clp\\CLP.g:744:9: '@'
+                    // D:\\workspace\\jboss\\jbossrules\\drools-compiler\\src\\main\\resources\\org\\drools\\clp\\CLP.g:729:9: '@'
                     {
                     match('@'); if (failed) return ;
 
                     }
                     break;
                 case 3 :
-                    // C:\\dev\\jbossrules\\trunk\\drools-compiler\\src\\main\\resources\\org\\drools\\clp\\CLP.g:744:15: '$'
+                    // D:\\workspace\\jboss\\jbossrules\\drools-compiler\\src\\main\\resources\\org\\drools\\clp\\CLP.g:729:15: '$'
                     {
                     match('$'); if (failed) return ;
 
                     }
                     break;
                 case 4 :
-                    // C:\\dev\\jbossrules\\trunk\\drools-compiler\\src\\main\\resources\\org\\drools\\clp\\CLP.g:744:21: '%'
+                    // D:\\workspace\\jboss\\jbossrules\\drools-compiler\\src\\main\\resources\\org\\drools\\clp\\CLP.g:729:21: '%'
                     {
                     match('%'); if (failed) return ;
 
                     }
                     break;
                 case 5 :
-                    // C:\\dev\\jbossrules\\trunk\\drools-compiler\\src\\main\\resources\\org\\drools\\clp\\CLP.g:744:27: '^'
+                    // D:\\workspace\\jboss\\jbossrules\\drools-compiler\\src\\main\\resources\\org\\drools\\clp\\CLP.g:729:27: '^'
                     {
                     match('^'); if (failed) return ;
 
                     }
                     break;
                 case 6 :
-                    // C:\\dev\\jbossrules\\trunk\\drools-compiler\\src\\main\\resources\\org\\drools\\clp\\CLP.g:744:33: '*'
+                    // D:\\workspace\\jboss\\jbossrules\\drools-compiler\\src\\main\\resources\\org\\drools\\clp\\CLP.g:729:33: '*'
                     {
                     match('*'); if (failed) return ;
 
                     }
                     break;
                 case 7 :
-                    // C:\\dev\\jbossrules\\trunk\\drools-compiler\\src\\main\\resources\\org\\drools\\clp\\CLP.g:744:39: '_'
+                    // D:\\workspace\\jboss\\jbossrules\\drools-compiler\\src\\main\\resources\\org\\drools\\clp\\CLP.g:729:39: '_'
                     {
                     match('_'); if (failed) return ;
 
                     }
                     break;
                 case 8 :
-                    // C:\\dev\\jbossrules\\trunk\\drools-compiler\\src\\main\\resources\\org\\drools\\clp\\CLP.g:744:45: '-'
+                    // D:\\workspace\\jboss\\jbossrules\\drools-compiler\\src\\main\\resources\\org\\drools\\clp\\CLP.g:729:45: '-'
                     {
                     match('-'); if (failed) return ;
 
                     }
                     break;
                 case 9 :
-                    // C:\\dev\\jbossrules\\trunk\\drools-compiler\\src\\main\\resources\\org\\drools\\clp\\CLP.g:744:51: '+'
+                    // D:\\workspace\\jboss\\jbossrules\\drools-compiler\\src\\main\\resources\\org\\drools\\clp\\CLP.g:729:51: '+'
                     {
                     match('+'); if (failed) return ;
 
                     }
                     break;
                 case 10 :
-                    // C:\\dev\\jbossrules\\trunk\\drools-compiler\\src\\main\\resources\\org\\drools\\clp\\CLP.g:744:58: '?'
+                    // D:\\workspace\\jboss\\jbossrules\\drools-compiler\\src\\main\\resources\\org\\drools\\clp\\CLP.g:729:58: '?'
                     {
                     match('?'); if (failed) return ;
 
                     }
                     break;
                 case 11 :
-                    // C:\\dev\\jbossrules\\trunk\\drools-compiler\\src\\main\\resources\\org\\drools\\clp\\CLP.g:744:64: ','
+                    // D:\\workspace\\jboss\\jbossrules\\drools-compiler\\src\\main\\resources\\org\\drools\\clp\\CLP.g:729:64: ','
                     {
                     match(','); if (failed) return ;
 
                     }
                     break;
                 case 12 :
-                    // C:\\dev\\jbossrules\\trunk\\drools-compiler\\src\\main\\resources\\org\\drools\\clp\\CLP.g:744:70: '='
+                    // D:\\workspace\\jboss\\jbossrules\\drools-compiler\\src\\main\\resources\\org\\drools\\clp\\CLP.g:729:70: '='
                     {
                     match('='); if (failed) return ;
 
                     }
                     break;
                 case 13 :
-                    // C:\\dev\\jbossrules\\trunk\\drools-compiler\\src\\main\\resources\\org\\drools\\clp\\CLP.g:744:76: '/'
+                    // D:\\workspace\\jboss\\jbossrules\\drools-compiler\\src\\main\\resources\\org\\drools\\clp\\CLP.g:729:76: '/'
                     {
                     match('/'); if (failed) return ;
 
                     }
                     break;
                 case 14 :
-                    // C:\\dev\\jbossrules\\trunk\\drools-compiler\\src\\main\\resources\\org\\drools\\clp\\CLP.g:744:82: '\\''
+                    // D:\\workspace\\jboss\\jbossrules\\drools-compiler\\src\\main\\resources\\org\\drools\\clp\\CLP.g:729:82: '\\''
                     {
                     match('\''); if (failed) return ;
 
                     }
                     break;
                 case 15 :
-                    // C:\\dev\\jbossrules\\trunk\\drools-compiler\\src\\main\\resources\\org\\drools\\clp\\CLP.g:744:89: '\\\\'
+                    // D:\\workspace\\jboss\\jbossrules\\drools-compiler\\src\\main\\resources\\org\\drools\\clp\\CLP.g:729:89: '\\\\'
                     {
                     match('\\'); if (failed) return ;
 
                     }
                     break;
                 case 16 :
-                    // C:\\dev\\jbossrules\\trunk\\drools-compiler\\src\\main\\resources\\org\\drools\\clp\\CLP.g:745:3: '<'
+                    // D:\\workspace\\jboss\\jbossrules\\drools-compiler\\src\\main\\resources\\org\\drools\\clp\\CLP.g:730:3: '<'
                     {
                     match('<'); if (failed) return ;
 
                     }
                     break;
                 case 17 :
-                    // C:\\dev\\jbossrules\\trunk\\drools-compiler\\src\\main\\resources\\org\\drools\\clp\\CLP.g:745:9: '>'
+                    // D:\\workspace\\jboss\\jbossrules\\drools-compiler\\src\\main\\resources\\org\\drools\\clp\\CLP.g:730:9: '>'
                     {
                     match('>'); if (failed) return ;
 
                     }
                     break;
                 case 18 :
-                    // C:\\dev\\jbossrules\\trunk\\drools-compiler\\src\\main\\resources\\org\\drools\\clp\\CLP.g:745:15: '<='
+                    // D:\\workspace\\jboss\\jbossrules\\drools-compiler\\src\\main\\resources\\org\\drools\\clp\\CLP.g:730:15: '<='
                     {
                     match("<="); if (failed) return ;
 
@@ -2300,7 +2126,7 @@
                     }
                     break;
                 case 19 :
-                    // C:\\dev\\jbossrules\\trunk\\drools-compiler\\src\\main\\resources\\org\\drools\\clp\\CLP.g:745:22: '>='
+                    // D:\\workspace\\jboss\\jbossrules\\drools-compiler\\src\\main\\resources\\org\\drools\\clp\\CLP.g:730:22: '>='
                     {
                     match(">="); if (failed) return ;
 
@@ -2317,8 +2143,7 @@
                       }
 
                       
-            }
-        }
+            }    }
         finally {
             ruleNestingLevel--;
         }
@@ -2334,31 +2159,31 @@
             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:749:4: ( ( (~ (' '|'\\t'|'\\n'|'\\r'|'\"'|'('|')'|';'|'&'|'|'|'~'|'?'|'$')) | ( '$' ~ ('?'|' '|'\\t'|'\\n'|'\\r'|'\"'|'('|')'|';'|'&'|'|'|'~'|'<')) ) (~ (' '|'\\t'|'\\n'|'\\r'|'\"'|'('|')'|';'|'&'|'|'|'~'|'<'|'?'))* )
-            // C:\\dev\\jbossrules\\trunk\\drools-compiler\\src\\main\\resources\\org\\drools\\clp\\CLP.g:749:4: ( (~ (' '|'\\t'|'\\n'|'\\r'|'\"'|'('|')'|';'|'&'|'|'|'~'|'?'|'$')) | ( '$' ~ ('?'|' '|'\\t'|'\\n'|'\\r'|'\"'|'('|')'|';'|'&'|'|'|'~'|'<')) ) (~ (' '|'\\t'|'\\n'|'\\r'|'\"'|'('|')'|';'|'&'|'|'|'~'|'<'|'?'))*
+            // D:\\workspace\\jboss\\jbossrules\\drools-compiler\\src\\main\\resources\\org\\drools\\clp\\CLP.g:734:4: ( ( (~ (' '|'\\t'|'\\n'|'\\r'|'\"'|'('|')'|';'|'&'|'|'|'~'|'?'|'$')) | ( '$' ~ ('?'|' '|'\\t'|'\\n'|'\\r'|'\"'|'('|')'|';'|'&'|'|'|'~'|'<')) ) (~ (' '|'\\t'|'\\n'|'\\r'|'\"'|'('|')'|';'|'&'|'|'|'~'|'<'|'?'))* )
+            // D:\\workspace\\jboss\\jbossrules\\drools-compiler\\src\\main\\resources\\org\\drools\\clp\\CLP.g:734:4: ( (~ (' '|'\\t'|'\\n'|'\\r'|'\"'|'('|')'|';'|'&'|'|'|'~'|'?'|'$')) | ( '$' ~ ('?'|' '|'\\t'|'\\n'|'\\r'|'\"'|'('|')'|';'|'&'|'|'|'~'|'<')) ) (~ (' '|'\\t'|'\\n'|'\\r'|'\"'|'('|')'|';'|'&'|'|'|'~'|'<'|'?'))*
             {
-            // C:\\dev\\jbossrules\\trunk\\drools-compiler\\src\\main\\resources\\org\\drools\\clp\\CLP.g:749:4: ( (~ (' '|'\\t'|'\\n'|'\\r'|'\"'|'('|')'|';'|'&'|'|'|'~'|'?'|'$')) | ( '$' ~ ('?'|' '|'\\t'|'\\n'|'\\r'|'\"'|'('|')'|';'|'&'|'|'|'~'|'<')) )
-            int alt21=2;
-            int LA21_0 = input.LA(1);
-            if ( ((LA21_0>='\u0000' && LA21_0<='\b')||(LA21_0>='\u000B' && LA21_0<='\f')||(LA21_0>='\u000E' && LA21_0<='\u001F')||LA21_0=='!'||LA21_0=='#'||LA21_0=='%'||LA21_0=='\''||(LA21_0>='*' && LA21_0<=':')||(LA21_0>='<' && LA21_0<='>')||(LA21_0>='@' && LA21_0<='{')||LA21_0=='}'||(LA21_0>='\u007F' && LA21_0<='\uFFFE')) ) {
-                alt21=1;
+            // D:\\workspace\\jboss\\jbossrules\\drools-compiler\\src\\main\\resources\\org\\drools\\clp\\CLP.g:734:4: ( (~ (' '|'\\t'|'\\n'|'\\r'|'\"'|'('|')'|';'|'&'|'|'|'~'|'?'|'$')) | ( '$' ~ ('?'|' '|'\\t'|'\\n'|'\\r'|'\"'|'('|')'|';'|'&'|'|'|'~'|'<')) )
+            int alt19=2;
+            int LA19_0 = input.LA(1);
+            if ( ((LA19_0>='\u0000' && LA19_0<='\b')||(LA19_0>='\u000B' && LA19_0<='\f')||(LA19_0>='\u000E' && LA19_0<='\u001F')||LA19_0=='!'||LA19_0=='#'||LA19_0=='%'||LA19_0=='\''||(LA19_0>='*' && LA19_0<=':')||(LA19_0>='<' && LA19_0<='>')||(LA19_0>='@' && LA19_0<='{')||LA19_0=='}'||(LA19_0>='\u007F' && LA19_0<='\uFFFE')) ) {
+                alt19=1;
             }
-            else if ( (LA21_0=='$') ) {
-                alt21=2;
+            else if ( (LA19_0=='$') ) {
+                alt19=2;
             }
             else {
                 if (backtracking>0) {failed=true; return ;}
                 NoViableAltException nvae =
-                    new NoViableAltException("749:4: ( (~ (' '|'\\t'|'\\n'|'\\r'|'\"'|'('|')'|';'|'&'|'|'|'~'|'?'|'$')) | ( '$' ~ ('?'|' '|'\\t'|'\\n'|'\\r'|'\"'|'('|')'|';'|'&'|'|'|'~'|'<')) )", 21, 0, input);
+                    new NoViableAltException("734:4: ( (~ (' '|'\\t'|'\\n'|'\\r'|'\"'|'('|')'|';'|'&'|'|'|'~'|'?'|'$')) | ( '$' ~ ('?'|' '|'\\t'|'\\n'|'\\r'|'\"'|'('|')'|';'|'&'|'|'|'~'|'<')) )", 19, 0, input);
 
                 throw nvae;
             }
-            switch (alt21) {
+            switch (alt19) {
                 case 1 :
-                    // C:\\dev\\jbossrules\\trunk\\drools-compiler\\src\\main\\resources\\org\\drools\\clp\\CLP.g:749:5: (~ (' '|'\\t'|'\\n'|'\\r'|'\"'|'('|')'|';'|'&'|'|'|'~'|'?'|'$'))
+                    // D:\\workspace\\jboss\\jbossrules\\drools-compiler\\src\\main\\resources\\org\\drools\\clp\\CLP.g:734:5: (~ (' '|'\\t'|'\\n'|'\\r'|'\"'|'('|')'|';'|'&'|'|'|'~'|'?'|'$'))
                     {
-                    // C:\\dev\\jbossrules\\trunk\\drools-compiler\\src\\main\\resources\\org\\drools\\clp\\CLP.g:749:5: (~ (' '|'\\t'|'\\n'|'\\r'|'\"'|'('|')'|';'|'&'|'|'|'~'|'?'|'$'))
-                    // C:\\dev\\jbossrules\\trunk\\drools-compiler\\src\\main\\resources\\org\\drools\\clp\\CLP.g:749:6: ~ (' '|'\\t'|'\\n'|'\\r'|'\"'|'('|')'|';'|'&'|'|'|'~'|'?'|'$')
+                    // D:\\workspace\\jboss\\jbossrules\\drools-compiler\\src\\main\\resources\\org\\drools\\clp\\CLP.g:734:5: (~ (' '|'\\t'|'\\n'|'\\r'|'\"'|'('|')'|';'|'&'|'|'|'~'|'?'|'$'))
+                    // D:\\workspace\\jboss\\jbossrules\\drools-compiler\\src\\main\\resources\\org\\drools\\clp\\CLP.g:734:6: ~ (' '|'\\t'|'\\n'|'\\r'|'\"'|'('|')'|';'|'&'|'|'|'~'|'?'|'$')
                     {
                     if ( (input.LA(1)>='\u0000' && input.LA(1)<='\b')||(input.LA(1)>='\u000B' && input.LA(1)<='\f')||(input.LA(1)>='\u000E' && input.LA(1)<='\u001F')||input.LA(1)=='!'||input.LA(1)=='#'||input.LA(1)=='%'||input.LA(1)=='\''||(input.LA(1)>='*' && input.LA(1)<=':')||(input.LA(1)>='<' && input.LA(1)<='>')||(input.LA(1)>='@' && input.LA(1)<='{')||input.LA(1)=='}'||(input.LA(1)>='\u007F' && input.LA(1)<='\uFFFE') ) {
                         input.consume();
@@ -2378,10 +2203,10 @@
                     }
                     break;
                 case 2 :
-                    // C:\\dev\\jbossrules\\trunk\\drools-compiler\\src\\main\\resources\\org\\drools\\clp\\CLP.g:749:65: ( '$' ~ ('?'|' '|'\\t'|'\\n'|'\\r'|'\"'|'('|')'|';'|'&'|'|'|'~'|'<'))
+                    // D:\\workspace\\jboss\\jbossrules\\drools-compiler\\src\\main\\resources\\org\\drools\\clp\\CLP.g:734:65: ( '$' ~ ('?'|' '|'\\t'|'\\n'|'\\r'|'\"'|'('|')'|';'|'&'|'|'|'~'|'<'))
                     {
-                    // C:\\dev\\jbossrules\\trunk\\drools-compiler\\src\\main\\resources\\org\\drools\\clp\\CLP.g:749:65: ( '$' ~ ('?'|' '|'\\t'|'\\n'|'\\r'|'\"'|'('|')'|';'|'&'|'|'|'~'|'<'))
-                    // C:\\dev\\jbossrules\\trunk\\drools-compiler\\src\\main\\resources\\org\\drools\\clp\\CLP.g:749:66: '$' ~ ('?'|' '|'\\t'|'\\n'|'\\r'|'\"'|'('|')'|';'|'&'|'|'|'~'|'<')
+                    // D:\\workspace\\jboss\\jbossrules\\drools-compiler\\src\\main\\resources\\org\\drools\\clp\\CLP.g:734:65: ( '$' ~ ('?'|' '|'\\t'|'\\n'|'\\r'|'\"'|'('|')'|';'|'&'|'|'|'~'|'<'))
+                    // D:\\workspace\\jboss\\jbossrules\\drools-compiler\\src\\main\\resources\\org\\drools\\clp\\CLP.g:734:66: '$' ~ ('?'|' '|'\\t'|'\\n'|'\\r'|'\"'|'('|')'|';'|'&'|'|'|'~'|'<')
                     {
                     match('$'); if (failed) return ;
                     if ( (input.LA(1)>='\u0000' && input.LA(1)<='\b')||(input.LA(1)>='\u000B' && input.LA(1)<='\f')||(input.LA(1)>='\u000E' && input.LA(1)<='\u001F')||input.LA(1)=='!'||(input.LA(1)>='#' && input.LA(1)<='%')||input.LA(1)=='\''||(input.LA(1)>='*' && input.LA(1)<=':')||(input.LA(1)>='=' && input.LA(1)<='>')||(input.LA(1)>='@' && input.LA(1)<='{')||input.LA(1)=='}'||(input.LA(1)>='\u007F' && input.LA(1)<='\uFFFE') ) {
@@ -2404,19 +2229,19 @@
 
             }
 
-            // C:\\dev\\jbossrules\\trunk\\drools-compiler\\src\\main\\resources\\org\\drools\\clp\\CLP.g:750:11: (~ (' '|'\\t'|'\\n'|'\\r'|'\"'|'('|')'|';'|'&'|'|'|'~'|'<'|'?'))*
-            loop22:
+            // D:\\workspace\\jboss\\jbossrules\\drools-compiler\\src\\main\\resources\\org\\drools\\clp\\CLP.g:735:11: (~ (' '|'\\t'|'\\n'|'\\r'|'\"'|'('|')'|';'|'&'|'|'|'~'|'<'|'?'))*
+            loop20:
             do {
-                int alt22=2;
-                int LA22_0 = input.LA(1);
-                if ( ((LA22_0>='\u0000' && LA22_0<='\b')||(LA22_0>='\u000B' && LA22_0<='\f')||(LA22_0>='\u000E' && LA22_0<='\u001F')||LA22_0=='!'||(LA22_0>='#' && LA22_0<='%')||LA22_0=='\''||(LA22_0>='*' && LA22_0<=':')||(LA22_0>='=' && LA22_0<='>')||(LA22_0>='@' && LA22_0<='{')||LA22_0=='}'||(LA22_0>='\u007F' && LA22_0<='\uFFFE')) ) {
-                    alt22=1;
+                int alt20=2;
+                int LA20_0 = input.LA(1);
+                if ( ((LA20_0>='\u0000' && LA20_0<='\b')||(LA20_0>='\u000B' && LA20_0<='\f')||(LA20_0>='\u000E' && LA20_0<='\u001F')||LA20_0=='!'||(LA20_0>='#' && LA20_0<='%')||LA20_0=='\''||(LA20_0>='*' && LA20_0<=':')||(LA20_0>='=' && LA20_0<='>')||(LA20_0>='@' && LA20_0<='{')||LA20_0=='}'||(LA20_0>='\u007F' && LA20_0<='\uFFFE')) ) {
+                    alt20=1;
                 }
 
 
-                switch (alt22) {
+                switch (alt20) {
             	case 1 :
-            	    // C:\\dev\\jbossrules\\trunk\\drools-compiler\\src\\main\\resources\\org\\drools\\clp\\CLP.g:750:12: ~ (' '|'\\t'|'\\n'|'\\r'|'\"'|'('|')'|';'|'&'|'|'|'~'|'<'|'?')
+            	    // D:\\workspace\\jboss\\jbossrules\\drools-compiler\\src\\main\\resources\\org\\drools\\clp\\CLP.g:735:12: ~ (' '|'\\t'|'\\n'|'\\r'|'\"'|'('|')'|';'|'&'|'|'|'~'|'<'|'?')
             	    {
             	    if ( (input.LA(1)>='\u0000' && input.LA(1)<='\b')||(input.LA(1)>='\u000B' && input.LA(1)<='\f')||(input.LA(1)>='\u000E' && input.LA(1)<='\u001F')||input.LA(1)=='!'||(input.LA(1)>='#' && input.LA(1)<='%')||input.LA(1)=='\''||(input.LA(1)>='*' && input.LA(1)<=':')||(input.LA(1)>='=' && input.LA(1)<='>')||(input.LA(1)>='@' && input.LA(1)<='{')||input.LA(1)=='}'||(input.LA(1)>='\u007F' && input.LA(1)<='\uFFFE') ) {
             	        input.consume();
@@ -2434,7 +2259,7 @@
             	    break;
 
             	default :
-            	    break loop22;
+            	    break loop20;
                 }
             } while (true);
 
@@ -2449,8 +2274,7 @@
                       }
 
                       
-            }
-        }
+            }    }
         finally {
             ruleNestingLevel--;
         }
@@ -2458,265 +2282,251 @@
     // $ANTLR end SYMBOL
 
     public void mTokens() throws RecognitionException {
-        // C:\\dev\\jbossrules\\trunk\\drools-compiler\\src\\main\\resources\\org\\drools\\clp\\CLP.g:1:10: ( T40 | T41 | T42 | T43 | T44 | T45 | DEFRULE | OR | AND | NOT | EXISTS | TEST | NULL | MODULE | WS | DECLARE | SALIENCE | 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 alt23=37;
-        alt23 = dfa23.predict(input);
-        switch (alt23) {
+        // D:\\workspace\\jboss\\jbossrules\\drools-compiler\\src\\main\\resources\\org\\drools\\clp\\CLP.g:1:10: ( T38 | T39 | T40 | T41 | T42 | T43 | DEFRULE | OR | AND | NOT | EXISTS | TEST | NULL | WS | DECLARE | SALIENCE | INT | FLOAT | STRING | BOOL | VAR | SH_STYLE_SINGLE_LINE_COMMENT | C_STYLE_SINGLE_LINE_COMMENT | LEFT_PAREN | RIGHT_PAREN | LEFT_SQUARE | RIGHT_SQUARE | LEFT_CURLY | RIGHT_CURLY | TILDE | AMPERSAND | PIPE | MULTI_LINE_COMMENT | MISC | SYMBOL )
+        int alt21=35;
+        alt21 = dfa21.predict(input);
+        switch (alt21) {
             case 1 :
-                // C:\\dev\\jbossrules\\trunk\\drools-compiler\\src\\main\\resources\\org\\drools\\clp\\CLP.g:1:10: T40
+                // D:\\workspace\\jboss\\jbossrules\\drools-compiler\\src\\main\\resources\\org\\drools\\clp\\CLP.g:1:10: T38
                 {
-                mT40(); if (failed) return ;
+                mT38(); if (failed) return ;
 
                 }
                 break;
             case 2 :
-                // C:\\dev\\jbossrules\\trunk\\drools-compiler\\src\\main\\resources\\org\\drools\\clp\\CLP.g:1:14: T41
+                // D:\\workspace\\jboss\\jbossrules\\drools-compiler\\src\\main\\resources\\org\\drools\\clp\\CLP.g:1:14: T39
                 {
-                mT41(); if (failed) return ;
+                mT39(); if (failed) return ;
 
                 }
                 break;
             case 3 :
-                // C:\\dev\\jbossrules\\trunk\\drools-compiler\\src\\main\\resources\\org\\drools\\clp\\CLP.g:1:18: T42
+                // D:\\workspace\\jboss\\jbossrules\\drools-compiler\\src\\main\\resources\\org\\drools\\clp\\CLP.g:1:18: T40
                 {
-                mT42(); if (failed) return ;
+                mT40(); if (failed) return ;
 
                 }
                 break;
             case 4 :
-                // C:\\dev\\jbossrules\\trunk\\drools-compiler\\src\\main\\resources\\org\\drools\\clp\\CLP.g:1:22: T43
+                // D:\\workspace\\jboss\\jbossrules\\drools-compiler\\src\\main\\resources\\org\\drools\\clp\\CLP.g:1:22: T41
                 {
-                mT43(); if (failed) return ;
+                mT41(); if (failed) return ;
 
                 }
                 break;
             case 5 :
-                // C:\\dev\\jbossrules\\trunk\\drools-compiler\\src\\main\\resources\\org\\drools\\clp\\CLP.g:1:26: T44
+                // D:\\workspace\\jboss\\jbossrules\\drools-compiler\\src\\main\\resources\\org\\drools\\clp\\CLP.g:1:26: T42
                 {
-                mT44(); if (failed) return ;
+                mT42(); if (failed) return ;
 
                 }
                 break;
             case 6 :
-                // C:\\dev\\jbossrules\\trunk\\drools-compiler\\src\\main\\resources\\org\\drools\\clp\\CLP.g:1:30: T45
+                // D:\\workspace\\jboss\\jbossrules\\drools-compiler\\src\\main\\resources\\org\\drools\\clp\\CLP.g:1:30: T43
                 {
-                mT45(); if (failed) return ;
+                mT43(); if (failed) return ;
 
                 }
                 break;
             case 7 :
-                // C:\\dev\\jbossrules\\trunk\\drools-compiler\\src\\main\\resources\\org\\drools\\clp\\CLP.g:1:34: DEFRULE
+                // D:\\workspace\\jboss\\jbossrules\\drools-compiler\\src\\main\\resources\\org\\drools\\clp\\CLP.g:1:34: DEFRULE
                 {
                 mDEFRULE(); if (failed) return ;
 
                 }
                 break;
             case 8 :
-                // C:\\dev\\jbossrules\\trunk\\drools-compiler\\src\\main\\resources\\org\\drools\\clp\\CLP.g:1:42: OR
+                // D:\\workspace\\jboss\\jbossrules\\drools-compiler\\src\\main\\resources\\org\\drools\\clp\\CLP.g:1:42: OR
                 {
                 mOR(); if (failed) return ;
 
                 }
                 break;
             case 9 :
-                // C:\\dev\\jbossrules\\trunk\\drools-compiler\\src\\main\\resources\\org\\drools\\clp\\CLP.g:1:45: AND
+                // D:\\workspace\\jboss\\jbossrules\\drools-compiler\\src\\main\\resources\\org\\drools\\clp\\CLP.g:1:45: AND
                 {
                 mAND(); if (failed) return ;
 
                 }
                 break;
             case 10 :
-                // C:\\dev\\jbossrules\\trunk\\drools-compiler\\src\\main\\resources\\org\\drools\\clp\\CLP.g:1:49: NOT
+                // D:\\workspace\\jboss\\jbossrules\\drools-compiler\\src\\main\\resources\\org\\drools\\clp\\CLP.g:1:49: NOT
                 {
                 mNOT(); if (failed) return ;
 
                 }
                 break;
             case 11 :
-                // C:\\dev\\jbossrules\\trunk\\drools-compiler\\src\\main\\resources\\org\\drools\\clp\\CLP.g:1:53: EXISTS
+                // D:\\workspace\\jboss\\jbossrules\\drools-compiler\\src\\main\\resources\\org\\drools\\clp\\CLP.g:1:53: EXISTS
                 {
                 mEXISTS(); if (failed) return ;
 
                 }
                 break;
             case 12 :
-                // C:\\dev\\jbossrules\\trunk\\drools-compiler\\src\\main\\resources\\org\\drools\\clp\\CLP.g:1:60: TEST
+                // D:\\workspace\\jboss\\jbossrules\\drools-compiler\\src\\main\\resources\\org\\drools\\clp\\CLP.g:1:60: TEST
                 {
                 mTEST(); if (failed) return ;
 
                 }
                 break;
             case 13 :
-                // C:\\dev\\jbossrules\\trunk\\drools-compiler\\src\\main\\resources\\org\\drools\\clp\\CLP.g:1:65: NULL
+                // D:\\workspace\\jboss\\jbossrules\\drools-compiler\\src\\main\\resources\\org\\drools\\clp\\CLP.g:1:65: NULL
                 {
                 mNULL(); if (failed) return ;
 
                 }
                 break;
             case 14 :
-                // C:\\dev\\jbossrules\\trunk\\drools-compiler\\src\\main\\resources\\org\\drools\\clp\\CLP.g:1:70: MODULE
+                // D:\\workspace\\jboss\\jbossrules\\drools-compiler\\src\\main\\resources\\org\\drools\\clp\\CLP.g:1:70: WS
                 {
-                mMODULE(); if (failed) return ;
+                mWS(); if (failed) return ;
 
                 }
                 break;
             case 15 :
-                // C:\\dev\\jbossrules\\trunk\\drools-compiler\\src\\main\\resources\\org\\drools\\clp\\CLP.g:1:77: WS
+                // D:\\workspace\\jboss\\jbossrules\\drools-compiler\\src\\main\\resources\\org\\drools\\clp\\CLP.g:1:73: DECLARE
                 {
-                mWS(); if (failed) return ;
+                mDECLARE(); if (failed) return ;
 
                 }
                 break;
             case 16 :
-                // C:\\dev\\jbossrules\\trunk\\drools-compiler\\src\\main\\resources\\org\\drools\\clp\\CLP.g:1:80: DECLARE
+                // D:\\workspace\\jboss\\jbossrules\\drools-compiler\\src\\main\\resources\\org\\drools\\clp\\CLP.g:1:81: SALIENCE
                 {
-                mDECLARE(); if (failed) return ;
+                mSALIENCE(); if (failed) return ;
 
                 }
                 break;
             case 17 :
-                // C:\\dev\\jbossrules\\trunk\\drools-compiler\\src\\main\\resources\\org\\drools\\clp\\CLP.g:1:88: SALIENCE
+                // D:\\workspace\\jboss\\jbossrules\\drools-compiler\\src\\main\\resources\\org\\drools\\clp\\CLP.g:1:90: INT
                 {
-                mSALIENCE(); if (failed) return ;
+                mINT(); if (failed) return ;
 
                 }
                 break;
             case 18 :
-                // C:\\dev\\jbossrules\\trunk\\drools-compiler\\src\\main\\resources\\org\\drools\\clp\\CLP.g:1:97: INT
+                // D:\\workspace\\jboss\\jbossrules\\drools-compiler\\src\\main\\resources\\org\\drools\\clp\\CLP.g:1:94: FLOAT
                 {
-                mINT(); if (failed) return ;
+                mFLOAT(); if (failed) return ;
 
                 }
                 break;
             case 19 :
-                // C:\\dev\\jbossrules\\trunk\\drools-compiler\\src\\main\\resources\\org\\drools\\clp\\CLP.g:1:101: FLOAT
+                // D:\\workspace\\jboss\\jbossrules\\drools-compiler\\src\\main\\resources\\org\\drools\\clp\\CLP.g:1:100: STRING
                 {
-                mFLOAT(); if (failed) return ;
+                mSTRING(); if (failed) return ;
 
                 }
                 break;
             case 20 :
-                // C:\\dev\\jbossrules\\trunk\\drools-compiler\\src\\main\\resources\\org\\drools\\clp\\CLP.g:1:107: STRING
+                // D:\\workspace\\jboss\\jbossrules\\drools-compiler\\src\\main\\resources\\org\\drools\\clp\\CLP.g:1:107: BOOL
                 {
-                mSTRING(); if (failed) return ;
+                mBOOL(); if (failed) return ;
 
                 }
                 break;
             case 21 :
-                // C:\\dev\\jbossrules\\trunk\\drools-compiler\\src\\main\\resources\\org\\drools\\clp\\CLP.g:1:114: BOOL
+                // D:\\workspace\\jboss\\jbossrules\\drools-compiler\\src\\main\\resources\\org\\drools\\clp\\CLP.g:1:112: VAR
                 {
-                mBOOL(); if (failed) return ;
+                mVAR(); if (failed) return ;
 
                 }
                 break;
             case 22 :
-                // C:\\dev\\jbossrules\\trunk\\drools-compiler\\src\\main\\resources\\org\\drools\\clp\\CLP.g:1:119: VAR
+                // D:\\workspace\\jboss\\jbossrules\\drools-compiler\\src\\main\\resources\\org\\drools\\clp\\CLP.g:1:116: SH_STYLE_SINGLE_LINE_COMMENT
                 {
-                mVAR(); if (failed) return ;
+                mSH_STYLE_SINGLE_LINE_COMMENT(); if (failed) return ;
 
                 }
                 break;
             case 23 :
-                // C:\\dev\\jbossrules\\trunk\\drools-compiler\\src\\main\\resources\\org\\drools\\clp\\CLP.g:1:123: ID
+                // D:\\workspace\\jboss\\jbossrules\\drools-compiler\\src\\main\\resources\\org\\drools\\clp\\CLP.g:1:145: C_STYLE_SINGLE_LINE_COMMENT
                 {
-                mID(); if (failed) return ;
+                mC_STYLE_SINGLE_LINE_COMMENT(); if (failed) return ;
 
                 }
                 break;
             case 24 :
-                // C:\\dev\\jbossrules\\trunk\\drools-compiler\\src\\main\\resources\\org\\drools\\clp\\CLP.g:1:126: SH_STYLE_SINGLE_LINE_COMMENT
+                // D:\\workspace\\jboss\\jbossrules\\drools-compiler\\src\\main\\resources\\org\\drools\\clp\\CLP.g:1:173: LEFT_PAREN
                 {
-                mSH_STYLE_SINGLE_LINE_COMMENT(); if (failed) return ;
+                mLEFT_PAREN(); if (failed) return ;
 
                 }
                 break;
             case 25 :
-                // C:\\dev\\jbossrules\\trunk\\drools-compiler\\src\\main\\resources\\org\\drools\\clp\\CLP.g:1:155: C_STYLE_SINGLE_LINE_COMMENT
+                // D:\\workspace\\jboss\\jbossrules\\drools-compiler\\src\\main\\resources\\org\\drools\\clp\\CLP.g:1:184: RIGHT_PAREN
                 {
-                mC_STYLE_SINGLE_LINE_COMMENT(); if (failed) return ;
+                mRIGHT_PAREN(); if (failed) return ;
 
                 }
                 break;
             case 26 :
-                // C:\\dev\\jbossrules\\trunk\\drools-compiler\\src\\main\\resources\\org\\drools\\clp\\CLP.g:1:183: LEFT_PAREN
+                // D:\\workspace\\jboss\\jbossrules\\drools-compiler\\src\\main\\resources\\org\\drools\\clp\\CLP.g:1:196: LEFT_SQUARE
                 {
-                mLEFT_PAREN(); if (failed) return ;
+                mLEFT_SQUARE(); if (failed) return ;
 
                 }
                 break;
             case 27 :
-                // C:\\dev\\jbossrules\\trunk\\drools-compiler\\src\\main\\resources\\org\\drools\\clp\\CLP.g:1:194: RIGHT_PAREN
+                // D:\\workspace\\jboss\\jbossrules\\drools-compiler\\src\\main\\resources\\org\\drools\\clp\\CLP.g:1:208: RIGHT_SQUARE
                 {
-                mRIGHT_PAREN(); if (failed) return ;
+                mRIGHT_SQUARE(); if (failed) return ;
 
                 }
                 break;
             case 28 :
-                // C:\\dev\\jbossrules\\trunk\\drools-compiler\\src\\main\\resources\\org\\drools\\clp\\CLP.g:1:206: LEFT_SQUARE
+                // D:\\workspace\\jboss\\jbossrules\\drools-compiler\\src\\main\\resources\\org\\drools\\clp\\CLP.g:1:221: LEFT_CURLY
                 {
-                mLEFT_SQUARE(); if (failed) return ;
+                mLEFT_CURLY(); if (failed) return ;
 
                 }
                 break;
             case 29 :
-                // C:\\dev\\jbossrules\\trunk\\drools-compiler\\src\\main\\resources\\org\\drools\\clp\\CLP.g:1:218: RIGHT_SQUARE
+                // D:\\workspace\\jboss\\jbossrules\\drools-compiler\\src\\main\\resources\\org\\drools\\clp\\CLP.g:1:232: RIGHT_CURLY
                 {
-                mRIGHT_SQUARE(); if (failed) return ;
+                mRIGHT_CURLY(); if (failed) return ;
 
                 }
                 break;
             case 30 :
-                // C:\\dev\\jbossrules\\trunk\\drools-compiler\\src\\main\\resources\\org\\drools\\clp\\CLP.g:1:231: LEFT_CURLY
+                // D:\\workspace\\jboss\\jbossrules\\drools-compiler\\src\\main\\resources\\org\\drools\\clp\\CLP.g:1:244: TILDE
                 {
-                mLEFT_CURLY(); if (failed) return ;
+                mTILDE(); if (failed) return ;
 
                 }
                 break;
             case 31 :
-                // C:\\dev\\jbossrules\\trunk\\drools-compiler\\src\\main\\resources\\org\\drools\\clp\\CLP.g:1:242: RIGHT_CURLY
+                // D:\\workspace\\jboss\\jbossrules\\drools-compiler\\src\\main\\resources\\org\\drools\\clp\\CLP.g:1:250: AMPERSAND
                 {
-                mRIGHT_CURLY(); if (failed) return ;
+                mAMPERSAND(); if (failed) return ;
 
                 }
                 break;
             case 32 :
-                // C:\\dev\\jbossrules\\trunk\\drools-compiler\\src\\main\\resources\\org\\drools\\clp\\CLP.g:1:254: TILDE
+                // D:\\workspace\\jboss\\jbossrules\\drools-compiler\\src\\main\\resources\\org\\drools\\clp\\CLP.g:1:260: PIPE
                 {
-                mTILDE(); if (failed) return ;
+                mPIPE(); if (failed) return ;
 
                 }
                 break;
             case 33 :
-                // C:\\dev\\jbossrules\\trunk\\drools-compiler\\src\\main\\resources\\org\\drools\\clp\\CLP.g:1:260: AMPERSAND
+                // D:\\workspace\\jboss\\jbossrules\\drools-compiler\\src\\main\\resources\\org\\drools\\clp\\CLP.g:1:265: MULTI_LINE_COMMENT
                 {
-                mAMPERSAND(); if (failed) return ;
+                mMULTI_LINE_COMMENT(); if (failed) return ;
 
                 }
                 break;
             case 34 :
-                // C:\\dev\\jbossrules\\trunk\\drools-compiler\\src\\main\\resources\\org\\drools\\clp\\CLP.g:1:270: PIPE
+                // D:\\workspace\\jboss\\jbossrules\\drools-compiler\\src\\main\\resources\\org\\drools\\clp\\CLP.g:1:284: MISC
                 {
-                mPIPE(); if (failed) return ;
+                mMISC(); if (failed) return ;
 
                 }
                 break;
             case 35 :
-                // C:\\dev\\jbossrules\\trunk\\drools-compiler\\src\\main\\resources\\org\\drools\\clp\\CLP.g:1:275: MULTI_LINE_COMMENT
+                // D:\\workspace\\jboss\\jbossrules\\drools-compiler\\src\\main\\resources\\org\\drools\\clp\\CLP.g:1:289: SYMBOL
                 {
-                mMULTI_LINE_COMMENT(); if (failed) return ;
-
-                }
-                break;
-            case 36 :
-                // C:\\dev\\jbossrules\\trunk\\drools-compiler\\src\\main\\resources\\org\\drools\\clp\\CLP.g:1:294: MISC
-                {
-                mMISC(); if (failed) return ;
-
-                }
-                break;
-            case 37 :
-                // C:\\dev\\jbossrules\\trunk\\drools-compiler\\src\\main\\resources\\org\\drools\\clp\\CLP.g:1:299: SYMBOL
-                {
                 mSYMBOL(); if (failed) return ;
 
                 }
@@ -2727,464 +2537,338 @@
     }
 
 
-    protected DFA23 dfa23 = new DFA23(this);
-    public static final String DFA23_eotS =
-        "\2\uffff\1\57\1\62\1\63\10\66\1\uffff\1\15\1\66\1\62\1\104\1\uffff"+
-        "\1\62\1\66\1\62\1\66\1\55\1\62\2\uffff\1\117\1\120\1\121\1\122\3"+
-        "\uffff\2\62\1\66\3\62\1\66\4\62\1\uffff\1\124\1\uffff\1\62\1\125"+
-        "\2\uffff\2\66\1\uffff\1\66\1\131\7\66\1\55\1\66\1\104\1\55\1\uffff"+
-        "\2\55\1\22\1\66\1\uffff\1\66\1\55\1\uffff\2\55\4\uffff\1\62\2\uffff"+
-        "\3\66\1\uffff\1\160\1\66\1\162\3\66\1\166\1\66\1\170\4\55\1\66\1"+
-        "\55\1\uffff\1\55\1\uffff\1\55\3\66\1\uffff\1\u0081\1\uffff\1\66"+
-        "\1\u0083\1\u0084\1\uffff\1\66\1\uffff\3\55\1\66\1\153\3\66\1\uffff"+
-        "\1\66\2\uffff\1\66\2\55\1\u0084\1\u008f\2\66\1\u0092\1\66\1\55\1"+
-        "\uffff\1\u0095\1\u0096\1\uffff\1\66\1\55\2\uffff\1\u0098\1\uffff";
-    public static final String DFA23_eofS =
-        "\u0099\uffff";
-    public static final String DFA23_minS =
-        "\1\0\1\uffff\13\0\1\uffff\4\0\1\uffff\2\0\1\44\3\0\2\uffff\4\0\3"+
-        "\uffff\13\0\1\uffff\1\0\1\uffff\2\0\2\uffff\2\0\1\uffff\11\0\1\72"+
-        "\2\0\1\60\1\uffff\1\42\3\0\1\uffff\2\0\1\uffff\2\0\4\uffff\1\0\2"+
-        "\uffff\3\0\1\uffff\11\0\1\60\5\0\1\uffff\1\0\1\uffff\4\0\1\uffff"+
-        "\1\0\1\uffff\3\0\1\uffff\1\0\1\uffff\1\60\7\0\1\uffff\1\0\2\uffff"+
-        "\1\0\1\60\7\0\1\60\1\uffff\2\0\1\uffff\2\0\2\uffff\1\0\1\uffff";
-    public static final String DFA23_maxS =
-        "\1\ufffe\1\uffff\13\ufffe\1\uffff\4\ufffe\1\uffff\2\ufffe\1\172"+
-        "\3\ufffe\2\uffff\4\ufffe\3\uffff\13\ufffe\1\uffff\1\ufffe\1\uffff"+
-        "\2\ufffe\2\uffff\2\ufffe\1\uffff\11\ufffe\1\72\2\ufffe\1\71\1\uffff"+
-        "\1\165\3\ufffe\1\uffff\2\ufffe\1\uffff\2\ufffe\4\uffff\1\ufffe\2"+
-        "\uffff\3\ufffe\1\uffff\11\ufffe\1\146\5\ufffe\1\uffff\1\ufffe\1"+
-        "\uffff\4\ufffe\1\uffff\1\ufffe\1\uffff\3\ufffe\1\uffff\1\ufffe\1"+
-        "\uffff\1\146\7\ufffe\1\uffff\1\ufffe\2\uffff\1\ufffe\1\146\7\ufffe"+
-        "\1\146\1\uffff\2\ufffe\1\uffff\2\ufffe\2\uffff\1\ufffe\1\uffff";
-    public static final String DFA23_acceptS =
-        "\1\uffff\1\1\13\uffff\1\17\4\uffff\1\24\6\uffff\1\32\1\33\4\uffff"+
-        "\1\40\1\41\1\42\13\uffff\1\45\1\uffff\1\5\2\uffff\1\44\1\4\2\uffff"+
-        "\1\27\15\uffff\1\22\4\uffff\1\26\2\uffff\1\30\2\uffff\1\34\1\35"+
-        "\1\36\1\37\1\uffff\1\2\1\3\3\uffff\1\10\17\uffff\1\31\1\uffff\1"+
-        "\43\4\uffff\1\11\1\uffff\1\12\3\uffff\1\16\1\uffff\1\23\10\uffff"+
-        "\1\15\1\uffff\1\14\1\25\12\uffff\1\6\2\uffff\1\13\2\uffff\1\7\1"+
-        "\20\1\uffff\1\21";
-    public static final String DFA23_specialS =
-        "\u0099\uffff}>";
-    public static final String[] DFA23_transition = {
-        "\11\55\2\15\1\55\1\16\1\15\22\55\1\15\1\42\1\22\1\27\1\26\1\45\1"+
-        "\40\1\23\1\31\1\32\1\47\1\51\1\52\1\20\1\55\1\30\12\21\1\4\1\1\1"+
-        "\3\1\2\1\54\1\25\1\43\32\14\1\33\1\53\1\34\1\46\1\44\1\55\1\10\2"+
-        "\50\1\6\1\12\1\24\6\50\1\5\1\11\1\7\3\50\1\17\1\13\6\50\1\35\1\41"+
-        "\1\36\1\37\uff80\55",
+    protected DFA21 dfa21 = new DFA21(this);
+    public static final String DFA21_eotS =
+        "\2\uffff\1\55\1\60\1\61\7\53\1\uffff\1\14\1\53\1\60\1\75\1\uffff"+
+        "\1\60\1\53\1\60\1\53\1\60\2\uffff\1\110\1\111\1\112\1\113\3\uffff"+
+        "\13\60\1\uffff\1\115\1\uffff\1\60\1\116\2\uffff\2\53\1\122\7\53"+
+        "\1\75\1\uffff\3\53\1\21\1\53\2\uffff\3\53\4\uffff\1\60\2\uffff\3"+
+        "\53\1\uffff\1\150\1\53\1\152\4\53\1\157\5\53\1\uffff\2\53\1\uffff"+
+        "\4\53\1\uffff\1\170\1\uffff\1\53\1\172\1\173\1\53\1\uffff\4\53\1"+
+        "\143\3\53\1\uffff\1\53\2\uffff\3\53\1\173\1\u0086\2\53\1\u0089\2"+
+        "\53\1\uffff\1\u008c\1\u008d\1\uffff\2\53\2\uffff\1\u008f\1\uffff";
+    public static final String DFA21_eofS =
+        "\u0090\uffff";
+    public static final String DFA21_minS =
+        "\1\0\1\uffff\3\0\1\157\1\145\1\162\1\156\1\157\1\170\1\145\1\uffff"+
+        "\1\0\1\141\2\0\1\uffff\1\0\1\141\1\44\2\0\2\uffff\4\0\3\uffff\13"+
+        "\0\1\uffff\1\0\1\uffff\2\0\2\uffff\1\144\1\143\1\0\1\144\1\154\1"+
+        "\164\1\151\1\163\1\165\1\154\1\0\1\uffff\1\60\1\42\2\0\1\154\2\uffff"+
+        "\3\0\4\uffff\1\0\2\uffff\1\151\1\154\1\162\1\uffff\1\0\1\154\1\0"+
+        "\1\163\1\164\1\145\1\151\1\0\1\60\3\0\1\163\1\uffff\2\0\1\uffff"+
+        "\1\0\1\146\1\141\1\165\1\uffff\1\0\1\uffff\1\164\2\0\1\145\1\uffff"+
+        "\1\60\2\0\1\145\1\0\1\171\1\162\1\154\1\uffff\1\163\2\uffff\1\156"+
+        "\1\60\3\0\2\145\1\0\1\143\1\60\1\uffff\2\0\1\uffff\1\145\1\0\2\uffff"+
+        "\1\0\1\uffff";
+    public static final String DFA21_maxS =
+        "\1\ufffe\1\uffff\3\ufffe\1\157\1\145\1\162\1\156\1\165\1\170\1\162"+
+        "\1\uffff\1\ufffe\1\141\2\ufffe\1\uffff\1\ufffe\1\141\1\172\2\ufffe"+
+        "\2\uffff\4\ufffe\3\uffff\13\ufffe\1\uffff\1\ufffe\1\uffff\2\ufffe"+
+        "\2\uffff\1\144\1\146\1\ufffe\1\144\1\154\1\164\1\151\1\163\1\165"+
+        "\1\154\1\ufffe\1\uffff\1\71\1\165\2\ufffe\1\154\2\uffff\3\ufffe"+
+        "\4\uffff\1\ufffe\2\uffff\1\151\1\154\1\162\1\uffff\1\ufffe\1\154"+
+        "\1\ufffe\1\163\1\164\1\145\1\151\1\ufffe\1\146\3\ufffe\1\163\1\uffff"+
+        "\2\ufffe\1\uffff\1\ufffe\1\146\1\141\1\165\1\uffff\1\ufffe\1\uffff"+
+        "\1\164\2\ufffe\1\145\1\uffff\1\146\2\ufffe\1\145\1\ufffe\1\171\1"+
+        "\162\1\154\1\uffff\1\163\2\uffff\1\156\1\146\3\ufffe\2\145\1\ufffe"+
+        "\1\143\1\146\1\uffff\2\ufffe\1\uffff\1\145\1\ufffe\2\uffff\1\ufffe"+
+        "\1\uffff";
+    public static final String DFA21_acceptS =
+        "\1\uffff\1\1\12\uffff\1\16\4\uffff\1\23\5\uffff\1\30\1\31\4\uffff"+
+        "\1\36\1\37\1\40\13\uffff\1\43\1\uffff\1\5\2\uffff\1\42\1\4\13\uffff"+
+        "\1\21\5\uffff\1\25\1\26\3\uffff\1\32\1\33\1\34\1\35\1\uffff\1\2"+
+        "\1\3\3\uffff\1\10\15\uffff\1\27\2\uffff\1\41\4\uffff\1\11\1\uffff"+
+        "\1\12\4\uffff\1\22\10\uffff\1\15\1\uffff\1\14\1\24\12\uffff\1\6"+
+        "\2\uffff\1\13\2\uffff\1\17\1\7\1\uffff\1\20";
+    public static final String DFA21_specialS =
+        "\u0090\uffff}>";
+    public static final String[] DFA21_transition = {
+        "\11\53\2\14\1\53\1\15\1\14\22\53\1\14\1\40\1\21\1\25\1\42\1\43\1"+
+        "\36\1\22\1\27\1\30\1\45\1\47\1\50\1\17\1\53\1\26\12\20\1\4\1\1\1"+
+        "\3\1\2\1\52\1\24\1\41\32\53\1\31\1\51\1\32\1\44\1\46\1\53\1\10\2"+
+        "\53\1\6\1\12\1\23\6\53\1\5\1\11\1\7\3\53\1\16\1\13\6\53\1\33\1\37"+
+        "\1\34\1\35\uff80\53",
         "",
-        "\11\55\2\uffff\2\55\1\uffff\22\55\1\uffff\1\55\1\uffff\3\55\1\uffff"+
-        "\1\55\2\uffff\21\55\2\uffff\1\55\1\56\1\uffff\74\55\1\uffff\1\55"+
-        "\1\uffff\uff80\55",
-        "\11\55\2\uffff\2\55\1\uffff\22\55\1\uffff\1\55\1\uffff\3\55\1\uffff"+
-        "\1\55\2\uffff\3\55\1\61\15\55\2\uffff\1\60\1\55\1\uffff\74\55\1"+
-        "\uffff\1\55\1\uffff\uff80\55",
-        "\11\55\2\uffff\2\55\1\uffff\22\55\1\uffff\1\55\1\uffff\3\55\1\uffff"+
-        "\1\55\2\uffff\21\55\2\uffff\2\55\1\uffff\74\55\1\uffff\1\55\1\uffff"+
-        "\uff80\55",
-        "\11\55\2\uffff\2\55\1\uffff\22\55\1\uffff\1\55\1\uffff\3\55\1\uffff"+
-        "\1\55\2\uffff\6\55\12\65\1\55\2\uffff\2\55\1\uffff\1\55\32\65\4"+
-        "\55\1\65\1\55\16\65\1\64\13\65\1\55\1\uffff\1\55\1\uffff\uff80\55",
-        "\11\55\2\uffff\2\55\1\uffff\22\55\1\uffff\1\55\1\uffff\3\55\1\uffff"+
-        "\1\55\2\uffff\6\55\12\65\1\55\2\uffff\2\55\1\uffff\1\55\32\65\4"+
-        "\55\1\65\1\55\4\65\1\67\25\65\1\55\1\uffff\1\55\1\uffff\uff80\55",
-        "\11\55\2\uffff\2\55\1\uffff\22\55\1\uffff\1\55\1\uffff\3\55\1\uffff"+
-        "\1\55\2\uffff\6\55\12\65\1\55\2\uffff\2\55\1\uffff\1\55\32\65\4"+
-        "\55\1\65\1\55\21\65\1\70\10\65\1\55\1\uffff\1\55\1\uffff\uff80\55",
-        "\11\55\2\uffff\2\55\1\uffff\22\55\1\uffff\1\55\1\uffff\3\55\1\uffff"+
-        "\1\55\2\uffff\6\55\12\65\1\55\2\uffff\2\55\1\uffff\1\55\32\65\4"+
-        "\55\1\65\1\55\15\65\1\71\14\65\1\55\1\uffff\1\55\1\uffff\uff80\55",
-        "\11\55\2\uffff\2\55\1\uffff\22\55\1\uffff\1\55\1\uffff\3\55\1\uffff"+
-        "\1\55\2\uffff\6\55\12\65\1\55\2\uffff\2\55\1\uffff\1\55\32\65\4"+
-        "\55\1\65\1\55\16\65\1\73\5\65\1\72\5\65\1\55\1\uffff\1\55\1\uffff"+
-        "\uff80\55",
-        "\11\55\2\uffff\2\55\1\uffff\22\55\1\uffff\1\55\1\uffff\3\55\1\uffff"+
-        "\1\55\2\uffff\6\55\12\65\1\55\2\uffff\2\55\1\uffff\1\55\32\65\4"+
-        "\55\1\65\1\55\27\65\1\74\2\65\1\55\1\uffff\1\55\1\uffff\uff80\55",
-        "\11\55\2\uffff\2\55\1\uffff\22\55\1\uffff\1\55\1\uffff\3\55\1\uffff"+
-        "\1\55\2\uffff\6\55\12\65\1\55\2\uffff\2\55\1\uffff\1\55\32\65\4"+
-        "\55\1\65\1\55\4\65\1\75\14\65\1\76\10\65\1\55\1\uffff\1\55\1\uffff"+
-        "\uff80\55",
-        "\11\55\2\uffff\2\55\1\uffff\22\55\1\uffff\1\55\1\uffff\3\55\1\uffff"+
-        "\1\55\2\uffff\6\55\12\65\1\100\2\uffff\2\55\1\uffff\1\55\32\77\4"+
-        "\55\1\65\1\55\32\65\1\55\1\uffff\1\55\1\uffff\uff80\55",
+        "\11\53\2\uffff\2\53\1\uffff\22\53\1\uffff\1\53\1\uffff\3\53\1\uffff"+
+        "\1\53\2\uffff\21\53\2\uffff\1\53\1\54\1\uffff\74\53\1\uffff\1\53"+
+        "\1\uffff\uff80\53",
+        "\11\53\2\uffff\2\53\1\uffff\22\53\1\uffff\1\53\1\uffff\3\53\1\uffff"+
+        "\1\53\2\uffff\3\53\1\57\15\53\2\uffff\1\56\1\53\1\uffff\74\53\1"+
+        "\uffff\1\53\1\uffff\uff80\53",
+        "\11\53\2\uffff\2\53\1\uffff\22\53\1\uffff\1\53\1\uffff\3\53\1\uffff"+
+        "\1\53\2\uffff\21\53\2\uffff\2\53\1\uffff\74\53\1\uffff\1\53\1\uffff"+
+        "\uff80\53",
+        "\1\62",
+        "\1\63",
+        "\1\64",
+        "\1\65",
+        "\1\67\5\uffff\1\66",
+        "\1\70",
+        "\1\71\14\uffff\1\72",
         "",
-        "\11\55\2\uffff\2\55\1\uffff\22\55\1\uffff\1\55\1\uffff\3\55\1\uffff"+
-        "\1\55\2\uffff\21\55\2\uffff\2\55\1\uffff\74\55\1\uffff\1\55\1\uffff"+
-        "\uff80\55",
-        "\11\55\2\uffff\2\55\1\uffff\22\55\1\uffff\1\55\1\uffff\3\55\1\uffff"+
-        "\1\55\2\uffff\6\55\12\65\1\55\2\uffff\2\55\1\uffff\1\55\32\65\4"+
-        "\55\1\65\1\55\1\101\31\65\1\55\1\uffff\1\55\1\uffff\uff80\55",
-        "\11\55\2\uffff\2\55\1\uffff\22\55\1\uffff\1\55\1\uffff\3\55\1\uffff"+
-        "\1\55\2\uffff\6\55\12\102\1\55\2\uffff\2\55\1\uffff\74\55\1\uffff"+
-        "\1\55\1\uffff\uff80\55",
-        "\11\55\2\uffff\2\55\1\uffff\22\55\1\uffff\1\55\1\uffff\3\55\1\uffff"+
-        "\1\55\2\uffff\4\55\1\103\1\55\12\102\1\55\2\uffff\2\55\1\uffff\74"+
-        "\55\1\uffff\1\55\1\uffff\uff80\55",
+        "\11\53\2\uffff\2\53\1\uffff\22\53\1\uffff\1\53\1\uffff\3\53\1\uffff"+
+        "\1\53\2\uffff\21\53\2\uffff\2\53\1\uffff\74\53\1\uffff\1\53\1\uffff"+
+        "\uff80\53",
+        "\1\73",
+        "\11\53\2\uffff\2\53\1\uffff\22\53\1\uffff\1\53\1\uffff\3\53\1\uffff"+
+        "\1\53\2\uffff\6\53\12\74\1\53\2\uffff\2\53\1\uffff\74\53\1\uffff"+
+        "\1\53\1\uffff\uff80\53",
+        "\11\53\2\uffff\2\53\1\uffff\22\53\1\uffff\1\53\1\uffff\3\53\1\uffff"+
+        "\1\53\2\uffff\4\53\1\76\1\53\12\74\1\53\2\uffff\2\53\1\uffff\74"+
+        "\53\1\uffff\1\53\1\uffff\uff80\53",
         "",
-        "\11\106\2\22\2\106\1\22\22\106\1\22\1\106\1\22\3\106\1\22\1\107"+
-        "\2\22\21\106\2\22\2\106\1\22\34\106\1\105\37\106\1\22\1\106\1\22"+
-        "\uff80\106",
-        "\11\55\2\uffff\2\55\1\uffff\22\55\1\uffff\1\55\1\uffff\3\55\1\uffff"+
-        "\1\55\2\uffff\6\55\12\65\1\55\2\uffff\2\55\1\uffff\1\55\32\65\4"+
-        "\55\1\65\1\55\1\110\31\65\1\55\1\uffff\1\55\1\uffff\uff80\55",
-        "\1\111\34\uffff\32\111\4\uffff\1\111\1\uffff\32\111",
-        "\11\55\2\uffff\2\55\1\uffff\22\55\1\uffff\1\55\1\uffff\3\55\1\uffff"+
-        "\1\55\2\uffff\6\55\12\112\1\55\2\uffff\2\55\1\uffff\1\55\32\112"+
-        "\4\55\1\112\1\55\32\112\1\55\1\uffff\1\55\1\uffff\uff80\55",
-        "\11\113\2\114\2\113\1\114\22\113\1\114\1\113\1\114\3\113\1\114\1"+
-        "\113\2\114\21\113\2\114\2\113\1\114\74\113\1\114\1\113\1\114\uff80"+
-        "\113",
-        "\11\55\2\uffff\2\55\1\uffff\22\55\1\uffff\1\55\1\uffff\3\55\1\uffff"+
-        "\1\55\2\uffff\1\116\4\55\1\115\13\55\2\uffff\2\55\1\uffff\74\55"+
-        "\1\uffff\1\55\1\uffff\uff80\55",
+        "\11\100\2\21\2\100\1\21\22\100\1\21\1\100\1\21\3\100\1\21\1\101"+
+        "\2\21\21\100\2\21\2\100\1\21\34\100\1\77\37\100\1\21\1\100\1\21"+
+        "\uff80\100",
+        "\1\102",
+        "\1\103\34\uffff\32\103\4\uffff\1\103\1\uffff\32\103",
+        "\11\105\2\104\2\105\1\104\22\105\1\104\1\105\1\104\3\105\1\104\1"+
+        "\105\2\104\21\105\2\104\2\105\1\104\74\105\1\104\1\105\1\104\uff80"+
+        "\105",
+        "\11\53\2\uffff\2\53\1\uffff\22\53\1\uffff\1\53\1\uffff\3\53\1\uffff"+
+        "\1\53\2\uffff\1\107\4\53\1\106\13\53\2\uffff\2\53\1\uffff\74\53"+
+        "\1\uffff\1\53\1\uffff\uff80\53",
         "",
         "",
-        "\11\55\2\uffff\2\55\1\uffff\22\55\1\uffff\1\55\1\uffff\3\55\1\uffff"+
-        "\1\55\2\uffff\21\55\2\uffff\2\55\1\uffff\74\55\1\uffff\1\55\1\uffff"+
-        "\uff80\55",
-        "\11\55\2\uffff\2\55\1\uffff\22\55\1\uffff\1\55\1\uffff\3\55\1\uffff"+
-        "\1\55\2\uffff\21\55\2\uffff\2\55\1\uffff\74\55\1\uffff\1\55\1\uffff"+
-        "\uff80\55",
-        "\11\55\2\uffff\2\55\1\uffff\22\55\1\uffff\1\55\1\uffff\3\55\1\uffff"+
-        "\1\55\2\uffff\21\55\2\uffff\2\55\1\uffff\74\55\1\uffff\1\55\1\uffff"+
-        "\uff80\55",
-        "\11\55\2\uffff\2\55\1\uffff\22\55\1\uffff\1\55\1\uffff\3\55\1\uffff"+
-        "\1\55\2\uffff\21\55\2\uffff\2\55\1\uffff\74\55\1\uffff\1\55\1\uffff"+
-        "\uff80\55",
+        "\11\53\2\uffff\2\53\1\uffff\22\53\1\uffff\1\53\1\uffff\3\53\1\uffff"+
+        "\1\53\2\uffff\21\53\2\uffff\2\53\1\uffff\74\53\1\uffff\1\53\1\uffff"+
+        "\uff80\53",
+        "\11\53\2\uffff\2\53\1\uffff\22\53\1\uffff\1\53\1\uffff\3\53\1\uffff"+
+        "\1\53\2\uffff\21\53\2\uffff\2\53\1\uffff\74\53\1\uffff\1\53\1\uffff"+
+        "\uff80\53",
+        "\11\53\2\uffff\2\53\1\uffff\22\53\1\uffff\1\53\1\uffff\3\53\1\uffff"+
+        "\1\53\2\uffff\21\53\2\uffff\2\53\1\uffff\74\53\1\uffff\1\53\1\uffff"+
+        "\uff80\53",
+        "\11\53\2\uffff\2\53\1\uffff\22\53\1\uffff\1\53\1\uffff\3\53\1\uffff"+
+        "\1\53\2\uffff\21\53\2\uffff\2\53\1\uffff\74\53\1\uffff\1\53\1\uffff"+
+        "\uff80\53",
         "",
         "",
         "",
-        "\11\55\2\uffff\2\55\1\uffff\22\55\1\uffff\1\55\1\uffff\3\55\1\uffff"+
-        "\1\55\2\uffff\21\55\2\uffff\2\55\1\uffff\74\55\1\uffff\1\55\1\uffff"+
-        "\uff80\55",
-        "\11\55\2\uffff\2\55\1\uffff\22\55\1\uffff\1\55\1\uffff\3\55\1\uffff"+
-        "\1\55\2\uffff\21\55\2\uffff\2\55\1\uffff\74\55\1\uffff\1\55\1\uffff"+
-        "\uff80\55",
-        "\11\55\2\uffff\2\55\1\uffff\22\55\1\uffff\1\55\1\uffff\3\55\1\uffff"+
-        "\1\55\2\uffff\6\55\12\65\1\55\2\uffff\2\55\1\uffff\1\55\32\65\4"+
-        "\55\1\65\1\55\32\65\1\55\1\uffff\1\55\1\uffff\uff80\55",
-        "\11\55\2\uffff\2\55\1\uffff\22\55\1\uffff\1\55\1\uffff\3\55\1\uffff"+
-        "\1\55\2\uffff\21\55\2\uffff\2\55\1\uffff\74\55\1\uffff\1\55\1\uffff"+
-        "\uff80\55",
-        "\11\55\2\uffff\2\55\1\uffff\22\55\1\uffff\1\55\1\uffff\3\55\1\uffff"+
-        "\1\55\2\uffff\21\55\2\uffff\2\55\1\uffff\74\55\1\uffff\1\55\1\uffff"+
-        "\uff80\55",
-        "\11\55\2\uffff\2\55\1\uffff\22\55\1\uffff\1\55\1\uffff\3\55\1\uffff"+
-        "\1\55\2\uffff\21\55\2\uffff\2\55\1\uffff\74\55\1\uffff\1\55\1\uffff"+
-        "\uff80\55",
-        "\11\55\2\uffff\2\55\1\uffff\22\55\1\uffff\1\55\1\uffff\3\55\1\uffff"+
-        "\1\55\2\uffff\6\55\12\65\1\55\2\uffff\2\55\1\uffff\1\55\32\65\4"+
-        "\55\1\65\1\55\32\65\1\55\1\uffff\1\55\1\uffff\uff80\55",
-        "\11\55\2\uffff\2\55\1\uffff\22\55\1\uffff\1\55\1\uffff\3\55\1\uffff"+
-        "\1\55\2\uffff\21\55\2\uffff\2\55\1\uffff\74\55\1\uffff\1\55\1\uffff"+
-        "\uff80\55",
-        "\11\55\2\uffff\2\55\1\uffff\22\55\1\uffff\1\55\1\uffff\3\55\1\uffff"+
-        "\1\55\2\uffff\21\55\2\uffff\2\55\1\uffff\74\55\1\uffff\1\55\1\uffff"+
-        "\uff80\55",
-        "\11\55\2\uffff\2\55\1\uffff\22\55\1\uffff\1\55\1\uffff\3\55\1\uffff"+
-        "\1\55\2\uffff\21\55\2\uffff\2\55\1\uffff\74\55\1\uffff\1\55\1\uffff"+
-        "\uff80\55",
-        "\11\55\2\uffff\2\55\1\uffff\22\55\1\uffff\1\55\1\uffff\3\55\1\uffff"+
-        "\1\55\2\uffff\21\55\2\uffff\1\123\1\55\1\uffff\74\55\1\uffff\1\55"+
-        "\1\uffff\uff80\55",
+        "\11\53\2\uffff\2\53\1\uffff\22\53\1\uffff\1\53\1\uffff\3\53\1\uffff"+
+        "\1\53\2\uffff\21\53\2\uffff\2\53\1\uffff\74\53\1\uffff\1\53\1\uffff"+
+        "\uff80\53",
+        "\11\53\2\uffff\2\53\1\uffff\22\53\1\uffff\1\53\1\uffff\3\53\1\uffff"+
+        "\1\53\2\uffff\21\53\2\uffff\2\53\1\uffff\74\53\1\uffff\1\53\1\uffff"+
+        "\uff80\53",
+        "\11\53\2\uffff\2\53\1\uffff\22\53\1\uffff\1\53\1\uffff\3\53\1\uffff"+
+        "\1\53\2\uffff\21\53\2\uffff\2\53\1\uffff\74\53\1\uffff\1\53\1\uffff"+
+        "\uff80\53",
+        "\11\53\2\uffff\2\53\1\uffff\22\53\1\uffff\1\53\1\uffff\3\53\1\uffff"+
+        "\1\53\2\uffff\21\53\2\uffff\2\53\1\uffff\74\53\1\uffff\1\53\1\uffff"+
+        "\uff80\53",
+        "\11\53\2\uffff\2\53\1\uffff\22\53\1\uffff\1\53\1\uffff\3\53\1\uffff"+
+        "\1\53\2\uffff\21\53\2\uffff\2\53\1\uffff\74\53\1\uffff\1\53\1\uffff"+
+        "\uff80\53",
+        "\11\53\2\uffff\2\53\1\uffff\22\53\1\uffff\1\53\1\uffff\3\53\1\uffff"+
+        "\1\53\2\uffff\21\53\2\uffff\2\53\1\uffff\74\53\1\uffff\1\53\1\uffff"+
+        "\uff80\53",
+        "\11\53\2\uffff\2\53\1\uffff\22\53\1\uffff\1\53\1\uffff\3\53\1\uffff"+
+        "\1\53\2\uffff\21\53\2\uffff\2\53\1\uffff\74\53\1\uffff\1\53\1\uffff"+
+        "\uff80\53",
+        "\11\53\2\uffff\2\53\1\uffff\22\53\1\uffff\1\53\1\uffff\3\53\1\uffff"+
+        "\1\53\2\uffff\21\53\2\uffff\2\53\1\uffff\74\53\1\uffff\1\53\1\uffff"+
+        "\uff80\53",
+        "\11\53\2\uffff\2\53\1\uffff\22\53\1\uffff\1\53\1\uffff\3\53\1\uffff"+
+        "\1\53\2\uffff\21\53\2\uffff\2\53\1\uffff\74\53\1\uffff\1\53\1\uffff"+
+        "\uff80\53",
+        "\11\53\2\uffff\2\53\1\uffff\22\53\1\uffff\1\53\1\uffff\3\53\1\uffff"+
+        "\1\53\2\uffff\21\53\2\uffff\2\53\1\uffff\74\53\1\uffff\1\53\1\uffff"+
+        "\uff80\53",
+        "\11\53\2\uffff\2\53\1\uffff\22\53\1\uffff\1\53\1\uffff\3\53\1\uffff"+
+        "\1\53\2\uffff\21\53\2\uffff\1\114\1\53\1\uffff\74\53\1\uffff\1\53"+
+        "\1\uffff\uff80\53",
         "",
-        "\11\55\2\uffff\2\55\1\uffff\22\55\1\uffff\1\55\1\uffff\3\55\1\uffff"+
-        "\1\55\2\uffff\21\55\2\uffff\2\55\1\uffff\74\55\1\uffff\1\55\1\uffff"+
-        "\uff80\55",
+        "\11\53\2\uffff\2\53\1\uffff\22\53\1\uffff\1\53\1\uffff\3\53\1\uffff"+
+        "\1\53\2\uffff\21\53\2\uffff\2\53\1\uffff\74\53\1\uffff\1\53\1\uffff"+
+        "\uff80\53",
         "",
-        "\11\55\2\uffff\2\55\1\uffff\22\55\1\uffff\1\55\1\uffff\3\55\1\uffff"+
-        "\1\55\2\uffff\21\55\2\uffff\2\55\1\uffff\74\55\1\uffff\1\55\1\uffff"+
-        "\uff80\55",
-        "\11\55\2\uffff\2\55\1\uffff\22\55\1\uffff\1\55\1\uffff\3\55\1\uffff"+
-        "\1\55\2\uffff\21\55\2\uffff\2\55\1\uffff\74\55\1\uffff\1\55\1\uffff"+
-        "\uff80\55",
+        "\11\53\2\uffff\2\53\1\uffff\22\53\1\uffff\1\53\1\uffff\3\53\1\uffff"+
+        "\1\53\2\uffff\21\53\2\uffff\2\53\1\uffff\74\53\1\uffff\1\53\1\uffff"+
+        "\uff80\53",
+        "\11\53\2\uffff\2\53\1\uffff\22\53\1\uffff\1\53\1\uffff\3\53\1\uffff"+
+        "\1\53\2\uffff\21\53\2\uffff\2\53\1\uffff\74\53\1\uffff\1\53\1\uffff"+
+        "\uff80\53",
         "",
         "",
-        "\11\55\2\uffff\2\55\1\uffff\22\55\1\uffff\1\55\1\uffff\3\55\1\uffff"+
-        "\1\55\2\uffff\6\55\12\65\1\55\2\uffff\2\55\1\uffff\1\55\32\65\4"+
-        "\55\1\65\1\55\3\65\1\126\26\65\1\55\1\uffff\1\55\1\uffff\uff80\55",
-        "\11\55\2\uffff\2\55\1\uffff\22\55\1\uffff\1\55\1\uffff\3\55\1\uffff"+
-        "\1\55\2\uffff\6\55\12\65\1\55\2\uffff\2\55\1\uffff\1\55\32\65\4"+
-        "\55\1\65\1\55\32\65\1\55\1\uffff\1\55\1\uffff\uff80\55",
+        "\1\117",
+        "\1\120\2\uffff\1\121",
+        "\11\53\2\uffff\2\53\1\uffff\22\53\1\uffff\1\53\1\uffff\3\53\1\uffff"+
+        "\1\53\2\uffff\21\53\2\uffff\2\53\1\uffff\74\53\1\uffff\1\53\1\uffff"+
+        "\uff80\53",
+        "\1\123",
+        "\1\124",
+        "\1\125",
+        "\1\126",
+        "\1\127",
+        "\1\130",
+        "\1\131",
+        "\11\53\2\uffff\2\53\1\uffff\22\53\1\uffff\1\53\1\uffff\3\53\1\uffff"+
+        "\1\53\2\uffff\4\53\1\76\1\53\12\74\1\53\2\uffff\2\53\1\uffff\74"+
+        "\53\1\uffff\1\53\1\uffff\uff80\53",
         "",
-        "\11\55\2\uffff\2\55\1\uffff\22\55\1\uffff\1\55\1\uffff\3\55\1\uffff"+
-        "\1\55\2\uffff\6\55\12\65\1\55\2\uffff\2\55\1\uffff\1\55\32\65\4"+
-        "\55\1\65\1\55\2\65\1\130\2\65\1\127\24\65\1\55\1\uffff\1\55\1\uffff"+
-        "\uff80\55",
-        "\11\55\2\uffff\2\55\1\uffff\22\55\1\uffff\1\55\1\uffff\3\55\1\uffff"+
-        "\1\55\2\uffff\6\55\12\65\1\55\2\uffff\2\55\1\uffff\1\55\32\65\4"+
-        "\55\1\65\1\55\32\65\1\55\1\uffff\1\55\1\uffff\uff80\55",
-        "\11\55\2\uffff\2\55\1\uffff\22\55\1\uffff\1\55\1\uffff\3\55\1\uffff"+
-        "\1\55\2\uffff\6\55\12\65\1\55\2\uffff\2\55\1\uffff\1\55\32\65\4"+
-        "\55\1\65\1\55\3\65\1\132\26\65\1\55\1\uffff\1\55\1\uffff\uff80\55",
-        "\11\55\2\uffff\2\55\1\uffff\22\55\1\uffff\1\55\1\uffff\3\55\1\uffff"+
-        "\1\55\2\uffff\6\55\12\65\1\55\2\uffff\2\55\1\uffff\1\55\32\65\4"+
-        "\55\1\65\1\55\13\65\1\133\16\65\1\55\1\uffff\1\55\1\uffff\uff80"+
-        "\55",
-        "\11\55\2\uffff\2\55\1\uffff\22\55\1\uffff\1\55\1\uffff\3\55\1\uffff"+
-        "\1\55\2\uffff\6\55\12\65\1\55\2\uffff\2\55\1\uffff\1\55\32\65\4"+
-        "\55\1\65\1\55\23\65\1\134\6\65\1\55\1\uffff\1\55\1\uffff\uff80\55",
-        "\11\55\2\uffff\2\55\1\uffff\22\55\1\uffff\1\55\1\uffff\3\55\1\uffff"+
-        "\1\55\2\uffff\6\55\12\65\1\55\2\uffff\2\55\1\uffff\1\55\32\65\4"+
-        "\55\1\65\1\55\10\65\1\135\21\65\1\55\1\uffff\1\55\1\uffff\uff80"+
-        "\55",
-        "\11\55\2\uffff\2\55\1\uffff\22\55\1\uffff\1\55\1\uffff\3\55\1\uffff"+
-        "\1\55\2\uffff\6\55\12\65\1\55\2\uffff\2\55\1\uffff\1\55\32\65\4"+
-        "\55\1\65\1\55\22\65\1\136\7\65\1\55\1\uffff\1\55\1\uffff\uff80\55",
-        "\11\55\2\uffff\2\55\1\uffff\22\55\1\uffff\1\55\1\uffff\3\55\1\uffff"+
-        "\1\55\2\uffff\6\55\12\65\1\55\2\uffff\2\55\1\uffff\1\55\32\65\4"+
-        "\55\1\65\1\55\24\65\1\137\5\65\1\55\1\uffff\1\55\1\uffff\uff80\55",
-        "\11\55\2\uffff\2\55\1\uffff\22\55\1\uffff\1\55\1\uffff\3\55\1\uffff"+
-        "\1\55\2\uffff\6\55\12\65\1\100\2\uffff\2\55\1\uffff\1\55\32\77\4"+
-        "\55\1\65\1\55\32\65\1\55\1\uffff\1\55\1\uffff\uff80\55",
-        "\1\140",
-        "\11\55\2\uffff\2\55\1\uffff\22\55\1\uffff\1\55\1\uffff\3\55\1\uffff"+
-        "\1\55\2\uffff\6\55\12\65\1\55\2\uffff\2\55\1\uffff\1\55\32\65\4"+
-        "\55\1\65\1\55\13\65\1\141\16\65\1\55\1\uffff\1\55\1\uffff\uff80"+
-        "\55",
-        "\11\55\2\uffff\2\55\1\uffff\22\55\1\uffff\1\55\1\uffff\3\55\1\uffff"+
-        "\1\55\2\uffff\4\55\1\103\1\55\12\102\1\55\2\uffff\2\55\1\uffff\74"+
-        "\55\1\uffff\1\55\1\uffff\uff80\55",
-        "\12\142",
+        "\12\132",
+        "\1\21\4\uffff\1\134\10\uffff\4\135\4\136\44\uffff\1\134\5\uffff"+
+        "\1\134\3\uffff\1\134\7\uffff\1\134\3\uffff\1\134\1\uffff\1\134\1"+
+        "\133",
+        "\11\100\2\21\2\100\1\21\22\100\1\21\1\100\1\21\3\100\1\21\1\101"+
+        "\2\21\21\100\2\21\2\100\1\21\34\100\1\77\37\100\1\21\1\100\1\21"+
+        "\uff80\100",
+        "\11\53\2\uffff\2\53\1\uffff\22\53\1\uffff\1\53\1\uffff\3\53\1\uffff"+
+        "\1\53\2\uffff\21\53\2\uffff\2\53\1\uffff\74\53\1\uffff\1\53\1\uffff"+
+        "\uff80\53",
+        "\1\137",
         "",
-        "\1\22\4\uffff\1\144\10\uffff\4\145\4\146\44\uffff\1\144\5\uffff"+
-        "\1\144\3\uffff\1\144\7\uffff\1\144\3\uffff\1\144\1\uffff\1\144\1"+
-        "\143",
-        "\11\106\2\22\2\106\1\22\22\106\1\22\1\106\1\22\3\106\1\22\1\107"+
-        "\2\22\21\106\2\22\2\106\1\22\34\106\1\105\37\106\1\22\1\106\1\22"+
-        "\uff80\106",
-        "\11\55\2\uffff\2\55\1\uffff\22\55\1\uffff\1\55\1\uffff\3\55\1\uffff"+
-        "\1\55\2\uffff\21\55\2\uffff\2\55\1\uffff\74\55\1\uffff\1\55\1\uffff"+
-        "\uff80\55",
-        "\11\55\2\uffff\2\55\1\uffff\22\55\1\uffff\1\55\1\uffff\3\55\1\uffff"+
-        "\1\55\2\uffff\6\55\12\65\1\55\2\uffff\2\55\1\uffff\1\55\32\65\4"+
-        "\55\1\65\1\55\13\65\1\147\16\65\1\55\1\uffff\1\55\1\uffff\uff80"+
-        "\55",
         "",
-        "\11\55\2\uffff\2\55\1\uffff\22\55\1\uffff\1\55\1\uffff\3\55\1\uffff"+
-        "\1\55\2\uffff\6\55\12\65\1\55\2\uffff\2\55\1\uffff\1\55\32\65\4"+
-        "\55\1\65\1\55\32\65\1\55\1\uffff\1\55\1\uffff\uff80\55",
-        "\11\113\2\114\2\113\1\114\22\113\1\114\1\113\1\114\3\113\1\114\1"+
-        "\113\2\114\21\113\2\114\2\113\1\114\74\113\1\114\1\113\1\114\uff80"+
-        "\113",
+        "\11\105\2\104\2\105\1\104\22\105\1\104\1\105\1\104\3\105\1\104\1"+
+        "\105\2\104\21\105\2\104\2\105\1\104\74\105\1\104\1\105\1\104\uff80"+
+        "\105",
+        "\11\141\2\140\2\141\1\140\22\141\1\140\1\141\1\140\3\141\1\140\1"+
+        "\141\2\140\21\141\2\140\2\141\1\140\74\141\1\140\1\141\1\140\uff80"+
+        "\141",
+        "\11\144\2\143\2\144\1\143\22\144\1\143\1\144\1\143\3\144\1\143\1"+
+        "\144\2\143\1\142\20\144\2\143\2\144\1\143\74\144\1\143\1\144\1\143"+
+        "\uff80\144",
         "",
-        "\11\150\2\151\2\150\1\151\22\150\1\151\1\150\1\151\3\150\1\151\1"+
-        "\150\2\151\21\150\2\151\2\150\1\151\74\150\1\151\1\150\1\151\uff80"+
-        "\150",
-        "\11\154\2\153\2\154\1\153\22\154\1\153\1\154\1\153\3\154\1\153\1"+
-        "\154\2\153\1\152\20\154\2\153\2\154\1\153\74\154\1\153\1\154\1\153"+
-        "\uff80\154",
         "",
         "",
         "",
+        "\11\53\2\uffff\2\53\1\uffff\22\53\1\uffff\1\53\1\uffff\3\53\1\uffff"+
+        "\1\53\2\uffff\21\53\2\uffff\2\53\1\uffff\74\53\1\uffff\1\53\1\uffff"+
+        "\uff80\53",
         "",
-        "\11\55\2\uffff\2\55\1\uffff\22\55\1\uffff\1\55\1\uffff\3\55\1\uffff"+
-        "\1\55\2\uffff\21\55\2\uffff\2\55\1\uffff\74\55\1\uffff\1\55\1\uffff"+
-        "\uff80\55",
         "",
+        "\1\145",
+        "\1\146",
+        "\1\147",
         "",
-        "\11\55\2\uffff\2\55\1\uffff\22\55\1\uffff\1\55\1\uffff\3\55\1\uffff"+
-        "\1\55\2\uffff\6\55\12\65\1\55\2\uffff\2\55\1\uffff\1\55\32\65\4"+
-        "\55\1\65\1\55\10\65\1\155\21\65\1\55\1\uffff\1\55\1\uffff\uff80"+
-        "\55",
-        "\11\55\2\uffff\2\55\1\uffff\22\55\1\uffff\1\55\1\uffff\3\55\1\uffff"+
-        "\1\55\2\uffff\6\55\12\65\1\55\2\uffff\2\55\1\uffff\1\55\32\65\4"+
-        "\55\1\65\1\55\21\65\1\156\10\65\1\55\1\uffff\1\55\1\uffff\uff80"+
-        "\55",
-        "\11\55\2\uffff\2\55\1\uffff\22\55\1\uffff\1\55\1\uffff\3\55\1\uffff"+
-        "\1\55\2\uffff\6\55\12\65\1\55\2\uffff\2\55\1\uffff\1\55\32\65\4"+
-        "\55\1\65\1\55\13\65\1\157\16\65\1\55\1\uffff\1\55\1\uffff\uff80"+
-        "\55",
+        "\11\53\2\uffff\2\53\1\uffff\22\53\1\uffff\1\53\1\uffff\3\53\1\uffff"+
+        "\1\53\2\uffff\21\53\2\uffff\2\53\1\uffff\74\53\1\uffff\1\53\1\uffff"+
+        "\uff80\53",
+        "\1\151",
+        "\11\53\2\uffff\2\53\1\uffff\22\53\1\uffff\1\53\1\uffff\3\53\1\uffff"+
+        "\1\53\2\uffff\21\53\2\uffff\2\53\1\uffff\74\53\1\uffff\1\53\1\uffff"+
+        "\uff80\53",
+        "\1\153",
+        "\1\154",
+        "\1\155",
+        "\1\156",
+        "\11\53\2\uffff\2\53\1\uffff\22\53\1\uffff\1\53\1\uffff\3\53\1\uffff"+
+        "\1\53\2\uffff\6\53\12\132\1\53\2\uffff\2\53\1\uffff\74\53\1\uffff"+
+        "\1\53\1\uffff\uff80\53",
+        "\12\160\7\uffff\6\160\32\uffff\6\160",
+        "\11\100\2\21\2\100\1\21\22\100\1\21\1\100\1\21\3\100\1\21\1\101"+
+        "\2\21\21\100\2\21\2\100\1\21\34\100\1\77\37\100\1\21\1\100\1\21"+
+        "\uff80\100",
+        "\11\100\2\21\2\100\1\21\22\100\1\21\1\100\1\21\3\100\1\21\1\101"+
+        "\2\21\6\100\10\161\3\100\2\21\2\100\1\21\34\100\1\77\37\100\1\21"+
+        "\1\100\1\21\uff80\100",
+        "\11\100\2\21\2\100\1\21\22\100\1\21\1\100\1\21\3\100\1\21\1\101"+
+        "\2\21\6\100\10\162\3\100\2\21\2\100\1\21\34\100\1\77\37\100\1\21"+
+        "\1\100\1\21\uff80\100",
+        "\1\163",
         "",
-        "\11\55\2\uffff\2\55\1\uffff\22\55\1\uffff\1\55\1\uffff\3\55\1\uffff"+
-        "\1\55\2\uffff\6\55\12\65\1\55\2\uffff\2\55\1\uffff\1\55\32\65\4"+
-        "\55\1\65\1\55\32\65\1\55\1\uffff\1\55\1\uffff\uff80\55",
-        "\11\55\2\uffff\2\55\1\uffff\22\55\1\uffff\1\55\1\uffff\3\55\1\uffff"+
-        "\1\55\2\uffff\6\55\12\65\1\55\2\uffff\2\55\1\uffff\1\55\32\65\4"+
-        "\55\1\65\1\55\13\65\1\161\16\65\1\55\1\uffff\1\55\1\uffff\uff80"+
-        "\55",
-        "\11\55\2\uffff\2\55\1\uffff\22\55\1\uffff\1\55\1\uffff\3\55\1\uffff"+
-        "\1\55\2\uffff\6\55\12\65\1\55\2\uffff\2\55\1\uffff\1\55\32\65\4"+
-        "\55\1\65\1\55\32\65\1\55\1\uffff\1\55\1\uffff\uff80\55",
-        "\11\55\2\uffff\2\55\1\uffff\22\55\1\uffff\1\55\1\uffff\3\55\1\uffff"+
-        "\1\55\2\uffff\6\55\12\65\1\55\2\uffff\2\55\1\uffff\1\55\32\65\4"+
-        "\55\1\65\1\55\22\65\1\163\7\65\1\55\1\uffff\1\55\1\uffff\uff80\55",
-        "\11\55\2\uffff\2\55\1\uffff\22\55\1\uffff\1\55\1\uffff\3\55\1\uffff"+
-        "\1\55\2\uffff\6\55\12\65\1\55\2\uffff\2\55\1\uffff\1\55\32\65\4"+
-        "\55\1\65\1\55\23\65\1\164\6\65\1\55\1\uffff\1\55\1\uffff\uff80\55",
-        "\11\55\2\uffff\2\55\1\uffff\22\55\1\uffff\1\55\1\uffff\3\55\1\uffff"+
-        "\1\55\2\uffff\6\55\12\65\1\55\2\uffff\2\55\1\uffff\1\55\32\65\4"+
-        "\55\1\65\1\55\4\65\1\165\25\65\1\55\1\uffff\1\55\1\uffff\uff80\55",
-        "\11\55\2\uffff\2\55\1\uffff\22\55\1\uffff\1\55\1\uffff\3\55\1\uffff"+
-        "\1\55\2\uffff\21\55\2\uffff\2\55\1\uffff\74\55\1\uffff\1\55\1\uffff"+
-        "\uff80\55",
-        "\11\55\2\uffff\2\55\1\uffff\22\55\1\uffff\1\55\1\uffff\3\55\1\uffff"+
-        "\1\55\2\uffff\6\55\12\65\1\55\2\uffff\2\55\1\uffff\1\55\32\65\4"+
-        "\55\1\65\1\55\10\65\1\167\21\65\1\55\1\uffff\1\55\1\uffff\uff80"+
-        "\55",
-        "\11\55\2\uffff\2\55\1\uffff\22\55\1\uffff\1\55\1\uffff\3\55\1\uffff"+
-        "\1\55\2\uffff\6\55\12\142\1\55\2\uffff\2\55\1\uffff\74\55\1\uffff"+
-        "\1\55\1\uffff\uff80\55",
-        "\12\171\7\uffff\6\171\32\uffff\6\171",
-        "\11\106\2\22\2\106\1\22\22\106\1\22\1\106\1\22\3\106\1\22\1\107"+
-        "\2\22\21\106\2\22\2\106\1\22\34\106\1\105\37\106\1\22\1\106\1\22"+
-        "\uff80\106",
-        "\11\106\2\22\2\106\1\22\22\106\1\22\1\106\1\22\3\106\1\22\1\107"+
-        "\2\22\6\106\10\172\3\106\2\22\2\106\1\22\34\106\1\105\37\106\1\22"+
-        "\1\106\1\22\uff80\106",
-        "\11\106\2\22\2\106\1\22\22\106\1\22\1\106\1\22\3\106\1\22\1\107"+
-        "\2\22\6\106\10\173\3\106\2\22\2\106\1\22\34\106\1\105\37\106\1\22"+
-        "\1\106\1\22\uff80\106",
-        "\11\55\2\uffff\2\55\1\uffff\22\55\1\uffff\1\55\1\uffff\3\55\1\uffff"+
-        "\1\55\2\uffff\6\55\12\65\1\55\2\uffff\2\55\1\uffff\1\55\32\65\4"+
-        "\55\1\65\1\55\22\65\1\174\7\65\1\55\1\uffff\1\55\1\uffff\uff80\55",
-        "\11\150\2\151\2\150\1\151\22\150\1\151\1\150\1\151\3\150\1\151\1"+
-        "\150\2\151\21\150\2\151\2\150\1\151\74\150\1\151\1\150\1\151\uff80"+
-        "\150",
+        "\11\141\2\140\2\141\1\140\22\141\1\140\1\141\1\140\3\141\1\140\1"+
+        "\141\2\140\21\141\2\140\2\141\1\140\74\141\1\140\1\141\1\140\uff80"+
+        "\141",
+        "\11\144\2\143\2\144\1\143\22\144\1\143\1\144\1\143\3\144\1\143\1"+
+        "\144\2\143\1\142\4\144\1\164\13\144\2\143\2\144\1\143\74\144\1\143"+
+        "\1\144\1\143\uff80\144",
         "",
-        "\11\154\2\153\2\154\1\153\22\154\1\153\1\154\1\153\3\154\1\153\1"+
-        "\154\2\153\1\152\4\154\1\175\13\154\2\153\2\154\1\153\74\154\1\153"+
-        "\1\154\1\153\uff80\154",
+        "\11\144\2\143\2\144\1\143\22\144\1\143\1\144\1\143\3\144\1\143\1"+
+        "\144\2\143\1\142\20\144\2\143\2\144\1\143\74\144\1\143\1\144\1\143"+
+        "\uff80\144",
+        "\1\165",
+        "\1\166",
+        "\1\167",
         "",
-        "\11\154\2\153\2\154\1\153\22\154\1\153\1\154\1\153\3\154\1\153\1"+
-        "\154\2\153\1\152\20\154\2\153\2\154\1\153\74\154\1\153\1\154\1\153"+
-        "\uff80\154",
-        "\11\55\2\uffff\2\55\1\uffff\22\55\1\uffff\1\55\1\uffff\3\55\1\uffff"+
-        "\1\55\2\uffff\6\55\12\65\1\55\2\uffff\2\55\1\uffff\1\55\32\65\4"+
-        "\55\1\65\1\55\5\65\1\176\24\65\1\55\1\uffff\1\55\1\uffff\uff80\55",
-        "\11\55\2\uffff\2\55\1\uffff\22\55\1\uffff\1\55\1\uffff\3\55\1\uffff"+
-        "\1\55\2\uffff\6\55\12\65\1\55\2\uffff\2\55\1\uffff\1\55\32\65\4"+
-        "\55\1\65\1\55\24\65\1\177\5\65\1\55\1\uffff\1\55\1\uffff\uff80\55",
-        "\11\55\2\uffff\2\55\1\uffff\22\55\1\uffff\1\55\1\uffff\3\55\1\uffff"+
-        "\1\55\2\uffff\6\55\12\65\1\55\2\uffff\2\55\1\uffff\1\55\32\65\4"+
-        "\55\1\65\1\55\1\u0080\31\65\1\55\1\uffff\1\55\1\uffff\uff80\55",
+        "\11\53\2\uffff\2\53\1\uffff\22\53\1\uffff\1\53\1\uffff\3\53\1\uffff"+
+        "\1\53\2\uffff\21\53\2\uffff\2\53\1\uffff\74\53\1\uffff\1\53\1\uffff"+
+        "\uff80\53",
         "",
-        "\11\55\2\uffff\2\55\1\uffff\22\55\1\uffff\1\55\1\uffff\3\55\1\uffff"+
-        "\1\55\2\uffff\6\55\12\65\1\55\2\uffff\2\55\1\uffff\1\55\32\65\4"+
-        "\55\1\65\1\55\32\65\1\55\1\uffff\1\55\1\uffff\uff80\55",
+        "\1\171",
+        "\11\53\2\uffff\2\53\1\uffff\22\53\1\uffff\1\53\1\uffff\3\53\1\uffff"+
+        "\1\53\2\uffff\21\53\2\uffff\2\53\1\uffff\74\53\1\uffff\1\53\1\uffff"+
+        "\uff80\53",
+        "\11\53\2\uffff\2\53\1\uffff\22\53\1\uffff\1\53\1\uffff\3\53\1\uffff"+
+        "\1\53\2\uffff\21\53\2\uffff\2\53\1\uffff\74\53\1\uffff\1\53\1\uffff"+
+        "\uff80\53",
+        "\1\174",
         "",
-        "\11\55\2\uffff\2\55\1\uffff\22\55\1\uffff\1\55\1\uffff\3\55\1\uffff"+
-        "\1\55\2\uffff\6\55\12\65\1\55\2\uffff\2\55\1\uffff\1\55\32\65\4"+
-        "\55\1\65\1\55\23\65\1\u0082\6\65\1\55\1\uffff\1\55\1\uffff\uff80"+
-        "\55",
-        "\11\55\2\uffff\2\55\1\uffff\22\55\1\uffff\1\55\1\uffff\3\55\1\uffff"+
-        "\1\55\2\uffff\6\55\12\65\1\55\2\uffff\2\55\1\uffff\1\55\32\65\4"+
-        "\55\1\65\1\55\32\65\1\55\1\uffff\1\55\1\uffff\uff80\55",
-        "\11\55\2\uffff\2\55\1\uffff\22\55\1\uffff\1\55\1\uffff\3\55\1\uffff"+
-        "\1\55\2\uffff\6\55\12\65\1\55\2\uffff\2\55\1\uffff\1\55\32\65\4"+
-        "\55\1\65\1\55\32\65\1\55\1\uffff\1\55\1\uffff\uff80\55",
+        "\12\175\7\uffff\6\175\32\uffff\6\175",
+        "\11\100\2\21\2\100\1\21\22\100\1\21\1\100\1\21\3\100\1\21\1\101"+
+        "\2\21\6\100\10\176\3\100\2\21\2\100\1\21\34\100\1\77\37\100\1\21"+
+        "\1\100\1\21\uff80\100",
+        "\11\100\2\21\2\100\1\21\22\100\1\21\1\100\1\21\3\100\1\21\1\101"+
+        "\2\21\21\100\2\21\2\100\1\21\34\100\1\77\37\100\1\21\1\100\1\21"+
+        "\uff80\100",
+        "\1\177",
+        "\11\144\2\uffff\2\144\1\uffff\22\144\1\uffff\1\144\1\uffff\3\144"+
+        "\1\uffff\1\144\2\uffff\1\142\20\144\2\uffff\2\144\1\uffff\74\144"+
+        "\1\uffff\1\144\1\uffff\uff80\144",
+        "\1\u0080",
+        "\1\u0081",
+        "\1\u0082",
         "",
-        "\11\55\2\uffff\2\55\1\uffff\22\55\1\uffff\1\55\1\uffff\3\55\1\uffff"+
-        "\1\55\2\uffff\6\55\12\65\1\55\2\uffff\2\55\1\uffff\1\55\32\65\4"+
-        "\55\1\65\1\55\4\65\1\u0085\25\65\1\55\1\uffff\1\55\1\uffff\uff80"+
-        "\55",
+        "\1\u0083",
         "",
-        "\12\u0086\7\uffff\6\u0086\32\uffff\6\u0086",
-        "\11\106\2\22\2\106\1\22\22\106\1\22\1\106\1\22\3\106\1\22\1\107"+
-        "\2\22\6\106\10\u0087\3\106\2\22\2\106\1\22\34\106\1\105\37\106\1"+
-        "\22\1\106\1\22\uff80\106",
-        "\11\106\2\22\2\106\1\22\22\106\1\22\1\106\1\22\3\106\1\22\1\107"+
-        "\2\22\21\106\2\22\2\106\1\22\34\106\1\105\37\106\1\22\1\106\1\22"+
-        "\uff80\106",
-        "\11\55\2\uffff\2\55\1\uffff\22\55\1\uffff\1\55\1\uffff\3\55\1\uffff"+
-        "\1\55\2\uffff\6\55\12\65\1\55\2\uffff\2\55\1\uffff\1\55\32\65\4"+
-        "\55\1\65\1\55\4\65\1\u0088\25\65\1\55\1\uffff\1\55\1\uffff\uff80"+
-        "\55",
-        "\11\154\2\uffff\2\154\1\uffff\22\154\1\uffff\1\154\1\uffff\3\154"+
-        "\1\uffff\1\154\2\uffff\1\152\20\154\2\uffff\2\154\1\uffff\74\154"+
-        "\1\uffff\1\154\1\uffff\uff80\154",
-        "\11\55\2\uffff\2\55\1\uffff\22\55\1\uffff\1\55\1\uffff\3\55\1\uffff"+
-        "\1\55\2\uffff\6\55\12\65\1\55\2\uffff\2\55\1\uffff\1\55\32\65\4"+
-        "\55\1\65\1\55\30\65\1\u0089\1\65\1\55\1\uffff\1\55\1\uffff\uff80"+
-        "\55",
-        "\11\55\2\uffff\2\55\1\uffff\22\55\1\uffff\1\55\1\uffff\3\55\1\uffff"+
-        "\1\55\2\uffff\6\55\12\65\1\55\2\uffff\2\55\1\uffff\1\55\32\65\4"+
-        "\55\1\65\1\55\13\65\1\u008a\16\65\1\55\1\uffff\1\55\1\uffff\uff80"+
-        "\55",
-        "\11\55\2\uffff\2\55\1\uffff\22\55\1\uffff\1\55\1\uffff\3\55\1\uffff"+
-        "\1\55\2\uffff\6\55\12\65\1\55\2\uffff\2\55\1\uffff\1\55\32\65\4"+
-        "\55\1\65\1\55\21\65\1\u008b\10\65\1\55\1\uffff\1\55\1\uffff\uff80"+
-        "\55",
         "",
-        "\11\55\2\uffff\2\55\1\uffff\22\55\1\uffff\1\55\1\uffff\3\55\1\uffff"+
-        "\1\55\2\uffff\6\55\12\65\1\55\2\uffff\2\55\1\uffff\1\55\32\65\4"+
-        "\55\1\65\1\55\22\65\1\u008c\7\65\1\55\1\uffff\1\55\1\uffff\uff80"+
-        "\55",
+        "\1\u0084",
+        "\12\u0085\7\uffff\6\u0085\32\uffff\6\u0085",
+        "\11\100\2\21\2\100\1\21\22\100\1\21\1\100\1\21\3\100\1\21\1\101"+
+        "\2\21\21\100\2\21\2\100\1\21\34\100\1\77\37\100\1\21\1\100\1\21"+
+        "\uff80\100",
+        "\11\53\2\uffff\2\53\1\uffff\22\53\1\uffff\1\53\1\uffff\3\53\1\uffff"+
+        "\1\53\2\uffff\21\53\2\uffff\2\53\1\uffff\74\53\1\uffff\1\53\1\uffff"+
+        "\uff80\53",
+        "\11\53\2\uffff\2\53\1\uffff\22\53\1\uffff\1\53\1\uffff\3\53\1\uffff"+
+        "\1\53\2\uffff\21\53\2\uffff\2\53\1\uffff\74\53\1\uffff\1\53\1\uffff"+
+        "\uff80\53",
+        "\1\u0087",
+        "\1\u0088",
+        "\11\53\2\uffff\2\53\1\uffff\22\53\1\uffff\1\53\1\uffff\3\53\1\uffff"+
+        "\1\53\2\uffff\21\53\2\uffff\2\53\1\uffff\74\53\1\uffff\1\53\1\uffff"+
+        "\uff80\53",
+        "\1\u008a",
+        "\12\u008b\7\uffff\6\u008b\32\uffff\6\u008b",
         "",
+        "\11\53\2\uffff\2\53\1\uffff\22\53\1\uffff\1\53\1\uffff\3\53\1\uffff"+
+        "\1\53\2\uffff\21\53\2\uffff\2\53\1\uffff\74\53\1\uffff\1\53\1\uffff"+
+        "\uff80\53",
+        "\11\53\2\uffff\2\53\1\uffff\22\53\1\uffff\1\53\1\uffff\3\53\1\uffff"+
+        "\1\53\2\uffff\21\53\2\uffff\2\53\1\uffff\74\53\1\uffff\1\53\1\uffff"+
+        "\uff80\53",
         "",
-        "\11\55\2\uffff\2\55\1\uffff\22\55\1\uffff\1\55\1\uffff\3\55\1\uffff"+
-        "\1\55\2\uffff\6\55\12\65\1\55\2\uffff\2\55\1\uffff\1\55\32\65\4"+
-        "\55\1\65\1\55\15\65\1\u008d\14\65\1\55\1\uffff\1\55\1\uffff\uff80"+
-        "\55",
-        "\12\u008e\7\uffff\6\u008e\32\uffff\6\u008e",
-        "\11\106\2\22\2\106\1\22\22\106\1\22\1\106\1\22\3\106\1\22\1\107"+
-        "\2\22\21\106\2\22\2\106\1\22\34\106\1\105\37\106\1\22\1\106\1\22"+
-        "\uff80\106",
-        "\11\55\2\uffff\2\55\1\uffff\22\55\1\uffff\1\55\1\uffff\3\55\1\uffff"+
-        "\1\55\2\uffff\6\55\12\65\1\55\2\uffff\2\55\1\uffff\1\55\32\65\4"+
-        "\55\1\65\1\55\32\65\1\55\1\uffff\1\55\1\uffff\uff80\55",
-        "\11\55\2\uffff\2\55\1\uffff\22\55\1\uffff\1\55\1\uffff\3\55\1\uffff"+
-        "\1\55\2\uffff\6\55\12\65\1\55\2\uffff\2\55\1\uffff\1\55\32\65\4"+
-        "\55\1\65\1\55\32\65\1\55\1\uffff\1\55\1\uffff\uff80\55",
-        "\11\55\2\uffff\2\55\1\uffff\22\55\1\uffff\1\55\1\uffff\3\55\1\uffff"+
-        "\1\55\2\uffff\6\55\12\65\1\55\2\uffff\2\55\1\uffff\1\55\32\65\4"+
-        "\55\1\65\1\55\4\65\1\u0090\25\65\1\55\1\uffff\1\55\1\uffff\uff80"+
-        "\55",
-        "\11\55\2\uffff\2\55\1\uffff\22\55\1\uffff\1\55\1\uffff\3\55\1\uffff"+
-        "\1\55\2\uffff\6\55\12\65\1\55\2\uffff\2\55\1\uffff\1\55\32\65\4"+
-        "\55\1\65\1\55\4\65\1\u0091\25\65\1\55\1\uffff\1\55\1\uffff\uff80"+
-        "\55",
-        "\11\55\2\uffff\2\55\1\uffff\22\55\1\uffff\1\55\1\uffff\3\55\1\uffff"+
-        "\1\55\2\uffff\6\55\12\65\1\55\2\uffff\2\55\1\uffff\1\55\32\65\4"+
-        "\55\1\65\1\55\32\65\1\55\1\uffff\1\55\1\uffff\uff80\55",
-        "\11\55\2\uffff\2\55\1\uffff\22\55\1\uffff\1\55\1\uffff\3\55\1\uffff"+
-        "\1\55\2\uffff\6\55\12\65\1\55\2\uffff\2\55\1\uffff\1\55\32\65\4"+
-        "\55\1\65\1\55\2\65\1\u0093\27\65\1\55\1\uffff\1\55\1\uffff\uff80"+
-        "\55",
-        "\12\u0094\7\uffff\6\u0094\32\uffff\6\u0094",
+        "\1\u008e",
+        "\11\100\2\21\2\100\1\21\22\100\1\21\1\100\1\21\3\100\1\21\1\101"+
+        "\2\21\21\100\2\21\2\100\1\21\34\100\1\77\37\100\1\21\1\100\1\21"+
+        "\uff80\100",
         "",
-        "\11\55\2\uffff\2\55\1\uffff\22\55\1\uffff\1\55\1\uffff\3\55\1\uffff"+
-        "\1\55\2\uffff\6\55\12\65\1\55\2\uffff\2\55\1\uffff\1\55\32\65\4"+
-        "\55\1\65\1\55\32\65\1\55\1\uffff\1\55\1\uffff\uff80\55",
-        "\11\55\2\uffff\2\55\1\uffff\22\55\1\uffff\1\55\1\uffff\3\55\1\uffff"+
-        "\1\55\2\uffff\6\55\12\65\1\55\2\uffff\2\55\1\uffff\1\55\32\65\4"+
-        "\55\1\65\1\55\32\65\1\55\1\uffff\1\55\1\uffff\uff80\55",
         "",
-        "\11\55\2\uffff\2\55\1\uffff\22\55\1\uffff\1\55\1\uffff\3\55\1\uffff"+
-        "\1\55\2\uffff\6\55\12\65\1\55\2\uffff\2\55\1\uffff\1\55\32\65\4"+
-        "\55\1\65\1\55\4\65\1\u0097\25\65\1\55\1\uffff\1\55\1\uffff\uff80"+
-        "\55",
-        "\11\106\2\22\2\106\1\22\22\106\1\22\1\106\1\22\3\106\1\22\1\107"+
-        "\2\22\21\106\2\22\2\106\1\22\34\106\1\105\37\106\1\22\1\106\1\22"+
-        "\uff80\106",
-        "",
-        "",
-        "\11\55\2\uffff\2\55\1\uffff\22\55\1\uffff\1\55\1\uffff\3\55\1\uffff"+
-        "\1\55\2\uffff\6\55\12\65\1\55\2\uffff\2\55\1\uffff\1\55\32\65\4"+
-        "\55\1\65\1\55\32\65\1\55\1\uffff\1\55\1\uffff\uff80\55",
+        "\11\53\2\uffff\2\53\1\uffff\22\53\1\uffff\1\53\1\uffff\3\53\1\uffff"+
+        "\1\53\2\uffff\21\53\2\uffff\2\53\1\uffff\74\53\1\uffff\1\53\1\uffff"+
+        "\uff80\53",
         ""
     };
 
-    class DFA23 extends DFA {
-        public DFA23(BaseRecognizer recognizer) {
+    class DFA21 extends DFA {
+        public DFA21(BaseRecognizer recognizer) {
             this.recognizer = recognizer;
-            this.decisionNumber = 23;
-            this.eot = DFA.unpackEncodedString(DFA23_eotS);
-            this.eof = DFA.unpackEncodedString(DFA23_eofS);
-            this.min = DFA.unpackEncodedStringToUnsignedChars(DFA23_minS);
-            this.max = DFA.unpackEncodedStringToUnsignedChars(DFA23_maxS);
-            this.accept = DFA.unpackEncodedString(DFA23_acceptS);
-            this.special = DFA.unpackEncodedString(DFA23_specialS);
-            int numStates = DFA23_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(DFA23_transition[i]);
+                transition[i] = DFA.unpackEncodedString(DFA21_transition[i]);
             }
         }
         public String getDescription() {
-            return "1:1: Tokens : ( T40 | T41 | T42 | T43 | T44 | T45 | DEFRULE | OR | AND | NOT | EXISTS | TEST | NULL | MODULE | WS | DECLARE | SALIENCE | 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 );";
+            return "1:1: Tokens : ( T38 | T39 | T40 | T41 | T42 | T43 | DEFRULE | OR | AND | NOT | EXISTS | TEST | NULL | WS | DECLARE | SALIENCE | INT | FLOAT | STRING | BOOL | VAR | SH_STYLE_SINGLE_LINE_COMMENT | C_STYLE_SINGLE_LINE_COMMENT | LEFT_PAREN | RIGHT_PAREN | LEFT_SQUARE | RIGHT_SQUARE | LEFT_CURLY | RIGHT_CURLY | TILDE | AMPERSAND | PIPE | MULTI_LINE_COMMENT | MISC | SYMBOL );";
         }
     }
  

Modified: labs/jbossrules/trunk/drools-compiler/src/main/java/org/drools/clp/CLPParser.java
===================================================================
--- labs/jbossrules/trunk/drools-compiler/src/main/java/org/drools/clp/CLPParser.java	2007-03-15 16:28:04 UTC (rev 10235)
+++ labs/jbossrules/trunk/drools-compiler/src/main/java/org/drools/clp/CLPParser.java	2007-03-15 16:47:48 UTC (rev 10236)
@@ -1,4 +1,4 @@
-// $ANTLR 3.0b7 C:\\dev\\jbossrules\\trunk\\drools-compiler\\src\\main\\resources\\org\\drools\\clp\\CLP.g 2007-03-15 04:40:35
+// $ANTLR 3.0b5 D:\\workspace\\jboss\\jbossrules\\drools-compiler\\src\\main\\resources\\org\\drools\\clp\\CLP.g 2007-03-15 13:31:31
 
 	package org.drools.clp;
 	import java.util.List;
@@ -17,45 +17,43 @@
 
 public class CLPParser extends Parser {
     public static final String[] tokenNames = new String[] {
-        "<invalid>", "<EOR>", "<DOWN>", "<UP>", "LEFT_PAREN", "DEFRULE", "ID", "STRING", "RIGHT_PAREN", "MODULE", "SALIENCE", "INT", "AND", "OR", "NOT", "EXISTS", "TEST", "VAR", "AMPERSAND", "PIPE", "TILDE", "FLOAT", "BOOL", "NULL", "MISC", "SYMBOL", "EOL", "WS", "DECLARE", "EscapeSequence", "HexDigit", "UnicodeEscape", "OctalEscape", "SH_STYLE_SINGLE_LINE_COMMENT", "C_STYLE_SINGLE_LINE_COMMENT", "LEFT_SQUARE", "RIGHT_SQUARE", "LEFT_CURLY", "RIGHT_CURLY", "MULTI_LINE_COMMENT", "';'", "'=>'", "'<-'", "':'", "'='", "'modify'"
+        "<invalid>", "<EOR>", "<DOWN>", "<UP>", "LEFT_PAREN", "DEFRULE", "SYMBOL", "STRING", "RIGHT_PAREN", "SALIENCE", "INT", "AND", "OR", "NOT", "EXISTS", "TEST", "VAR", "AMPERSAND", "PIPE", "TILDE", "FLOAT", "BOOL", "NULL", "MISC", "EOL", "WS", "DECLARE", "EscapeSequence", "HexDigit", "UnicodeEscape", "OctalEscape", "SH_STYLE_SINGLE_LINE_COMMENT", "C_STYLE_SINGLE_LINE_COMMENT", "LEFT_SQUARE", "RIGHT_SQUARE", "LEFT_CURLY", "RIGHT_CURLY", "MULTI_LINE_COMMENT", "';'", "'=>'", "'<-'", "':'", "'='", "'modify'"
     };
-    public static final int EXISTS=15;
+    public static final int EXISTS=14;
     public static final int LEFT_PAREN=4;
-    public static final int RIGHT_CURLY=38;
-    public static final int BOOL=22;
+    public static final int RIGHT_CURLY=36;
+    public static final int BOOL=21;
     public static final int DEFRULE=5;
-    public static final int HexDigit=30;
-    public static final int WS=27;
-    public static final int MISC=24;
+    public static final int HexDigit=28;
+    public static final int WS=25;
+    public static final int MISC=23;
     public static final int STRING=7;
-    public static final int FLOAT=21;
-    public static final int TILDE=20;
-    public static final int OR=13;
-    public static final int PIPE=19;
-    public static final int VAR=17;
-    public static final int UnicodeEscape=31;
-    public static final int AND=12;
-    public static final int EscapeSequence=29;
-    public static final int INT=11;
+    public static final int FLOAT=20;
+    public static final int TILDE=19;
+    public static final int OR=12;
+    public static final int PIPE=18;
+    public static final int VAR=16;
+    public static final int UnicodeEscape=29;
+    public static final int AND=11;
+    public static final int EscapeSequence=27;
+    public static final int INT=10;
     public static final int EOF=-1;
-    public static final int EOL=26;
-    public static final int NULL=23;
-    public static final int MODULE=9;
-    public static final int SYMBOL=25;
-    public static final int LEFT_SQUARE=35;
-    public static final int SH_STYLE_SINGLE_LINE_COMMENT=33;
-    public static final int OctalEscape=32;
-    public static final int SALIENCE=10;
-    public static final int MULTI_LINE_COMMENT=39;
-    public static final int TEST=16;
-    public static final int AMPERSAND=18;
-    public static final int DECLARE=28;
+    public static final int EOL=24;
+    public static final int NULL=22;
+    public static final int SYMBOL=6;
+    public static final int LEFT_SQUARE=33;
+    public static final int SH_STYLE_SINGLE_LINE_COMMENT=31;
+    public static final int OctalEscape=30;
+    public static final int SALIENCE=9;
+    public static final int MULTI_LINE_COMMENT=37;
+    public static final int TEST=15;
+    public static final int AMPERSAND=17;
+    public static final int DECLARE=26;
     public static final int RIGHT_PAREN=8;
-    public static final int NOT=14;
-    public static final int LEFT_CURLY=37;
-    public static final int RIGHT_SQUARE=36;
-    public static final int C_STYLE_SINGLE_LINE_COMMENT=34;
-    public static final int ID=6;
+    public static final int NOT=13;
+    public static final int LEFT_CURLY=35;
+    public static final int RIGHT_SQUARE=34;
+    public static final int C_STYLE_SINGLE_LINE_COMMENT=32;
 
         public CLPParser(TokenStream input) {
             super(input);
@@ -63,7 +61,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;
@@ -216,23 +214,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==40) ) {
+            if ( (LA1_0==38) ) {
                 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,40,FOLLOW_40_in_opt_semicolon38); 
+                    match(input,38,FOLLOW_38_in_opt_semicolon38); 
 
                     }
                     break;
@@ -248,127 +246,86 @@
             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:211:1: rule returns [RuleDescr rule] : loc= LEFT_PAREN DEFRULE (module= agenda_group )? ruleName= ID documentation= STRING ( ruleAttribute[rule] )* ( lhs[lhs] )* rhs[rule] RIGHT_PAREN ;
-    public RuleDescr rule() throws RecognitionException {
+    // D:\\workspace\\jboss\\jbossrules\\drools-compiler\\src\\main\\resources\\org\\drools\\clp\\CLP.g:211:1: rule returns [RuleDescr rule] : loc= LEFT_PAREN DEFRULE ruleName= SYMBOL documentation= STRING ruleAttribute[rule] ( lhs[lhs] )* '=>' rhs[rule] RIGHT_PAREN ;
+    public RuleDescr rule() throws RecognitionException {   
         RuleDescr rule = null;
 
         Token loc=null;
         Token ruleName=null;
         Token documentation=null;
-        AttributeDescr module = null;
 
-
          
         	        rule = null; 
         	        AndDescr lhs = null;
-        	        ColumnDescr colum = null;	        
+        	        ColumnDescr colum = null;
+        	        AttributeDescr module = null;	        
         	      
         try {
-            // C:\\dev\\jbossrules\\trunk\\drools-compiler\\src\\main\\resources\\org\\drools\\clp\\CLP.g:217:4: (loc= LEFT_PAREN DEFRULE (module= agenda_group )? ruleName= ID documentation= STRING ( ruleAttribute[rule] )* ( lhs[lhs] )* rhs[rule] RIGHT_PAREN )
-            // C:\\dev\\jbossrules\\trunk\\drools-compiler\\src\\main\\resources\\org\\drools\\clp\\CLP.g:217:4: loc= LEFT_PAREN DEFRULE (module= agenda_group )? ruleName= ID documentation= STRING ( ruleAttribute[rule] )* ( lhs[lhs] )* rhs[rule] RIGHT_PAREN
+            // D:\\workspace\\jboss\\jbossrules\\drools-compiler\\src\\main\\resources\\org\\drools\\clp\\CLP.g:218:4: (loc= LEFT_PAREN DEFRULE ruleName= SYMBOL documentation= STRING ruleAttribute[rule] ( lhs[lhs] )* '=>' rhs[rule] RIGHT_PAREN )
+            // D:\\workspace\\jboss\\jbossrules\\drools-compiler\\src\\main\\resources\\org\\drools\\clp\\CLP.g:218:4: loc= LEFT_PAREN DEFRULE ruleName= SYMBOL documentation= STRING ruleAttribute[rule] ( lhs[lhs] )* '=>' rhs[rule] RIGHT_PAREN
             {
             loc=(Token)input.LT(1);
             match(input,LEFT_PAREN,FOLLOW_LEFT_PAREN_in_rule65); 
             match(input,DEFRULE,FOLLOW_DEFRULE_in_rule73); 
-            // C:\\dev\\jbossrules\\trunk\\drools-compiler\\src\\main\\resources\\org\\drools\\clp\\CLP.g:221:3: (module= agenda_group )?
-            int alt2=2;
-            int LA2_0 = input.LA(1);
-            if ( (LA2_0==MODULE) ) {
-                alt2=1;
-            }
-            switch (alt2) {
-                case 1 :
-                    // C:\\dev\\jbossrules\\trunk\\drools-compiler\\src\\main\\resources\\org\\drools\\clp\\CLP.g:221:5: module= agenda_group
-                    {
-                     System.err.println( "before" ); 
-                    pushFollow(FOLLOW_agenda_group_in_rule86);
-                    module=agenda_group();
-                    _fsp--;
-
-
-                    }
-                    break;
-
-            }
-
             ruleName=(Token)input.LT(1);
-            match(input,ID,FOLLOW_ID_in_rule100); 
+            match(input,SYMBOL,FOLLOW_SYMBOL_in_rule77); 
              	  			  		
             	  		debug( "start rule: " + ruleName.getText() );
-            	        rule = new RuleDescr( ruleName.getText(), null ); 
-            	        
-            	        if ( module != null ) {
-            		        rule.addAttribute( module );
-            		    }
-            	        
+            	  		String ruleStr = ruleName.getText();
+            
+            	        	if ( ruleStr.indexOf("::") >= 0 ) {
+            	        	        String mod = ruleStr.substring(0, ruleStr.indexOf("::")+2);
+            	        	        ruleStr = ruleStr.substring(ruleStr.indexOf("::")+2);
+            				module = new AttributeDescr( "agenda-group", mod );
+            				module.setLocation( offset(ruleName.getLine()), ruleName.getCharPositionInLine() );
+            				module.setStartCharacter( ((CommonToken)ruleName).getStartIndex() );
+            				module.setEndCharacter( ((CommonToken)ruleName).getStopIndex() );
+            			}
+            		        rule = new RuleDescr( ruleStr, null ); 
+            		        if( module != null ) {
+            		        	rule.addAttribute( module );
+            		        }
+            		        
             			rule.setLocation( offset(loc.getLine()), loc.getCharPositionInLine() );
             			rule.setStartCharacter( ((CommonToken)loc).getStartIndex() ); 
             		
             			// not sure how you define where a LHS starts in clips, so just putting it here for now
-              	        lhs = new AndDescr(); 
-              	        rule.setLhs( lhs ); 
-               	        lhs.setLocation( offset(loc.getLine()), loc.getCharPositionInLine() );
+              	        	lhs = new AndDescr(); 
+            	  	        rule.setLhs( lhs ); 
+               		        lhs.setLocation( offset(loc.getLine()), loc.getCharPositionInLine() );
             			lhs.setStartCharacter( ((CommonToken)loc).getStartIndex() );				
             		
             documentation=(Token)input.LT(1);
-            match(input,STRING,FOLLOW_STRING_in_rule112); 
+            match(input,STRING,FOLLOW_STRING_in_rule89); 
             
             	    	// do nothing here for now
             		
-            // C:\\dev\\jbossrules\\trunk\\drools-compiler\\src\\main\\resources\\org\\drools\\clp\\CLP.g:244:3: ( ruleAttribute[rule] )*
-            loop3:
-            do {
-                int alt3=2;
-                int LA3_0 = input.LA(1);
-                if ( (LA3_0==LEFT_PAREN) ) {
-                    int LA3_1 = input.LA(2);
-                    if ( (LA3_1==DECLARE) ) {
-                        alt3=1;
-                    }
+            pushFollow(FOLLOW_ruleAttribute_in_rule95);
+            ruleAttribute(rule);
+            _fsp--;
 
-
-                }
-
-
-                switch (alt3) {
-            	case 1 :
-            	    // C:\\dev\\jbossrules\\trunk\\drools-compiler\\src\\main\\resources\\org\\drools\\clp\\CLP.g:244:3: ruleAttribute[rule]
-            	    {
-            	    pushFollow(FOLLOW_ruleAttribute_in_rule118);
-            	    ruleAttribute(rule);
-            	    _fsp--;
-
-
-            	    }
-            	    break;
-
-            	default :
-            	    break loop3;
-                }
-            } while (true);
-
-            // C:\\dev\\jbossrules\\trunk\\drools-compiler\\src\\main\\resources\\org\\drools\\clp\\CLP.g:246:3: ( lhs[lhs] )*
-            loop4:
+            // D:\\workspace\\jboss\\jbossrules\\drools-compiler\\src\\main\\resources\\org\\drools\\clp\\CLP.g:252:3: ( lhs[lhs] )*
+            loop2:
             do {
-                int alt4=2;
-                int LA4_0 = input.LA(1);
-                if ( (LA4_0==LEFT_PAREN||LA4_0==VAR) ) {
-                    alt4=1;
+                int alt2=2;
+                int LA2_0 = input.LA(1);
+                if ( (LA2_0==LEFT_PAREN||LA2_0==VAR) ) {
+                    alt2=1;
                 }
 
 
-                switch (alt4) {
+                switch (alt2) {
             	case 1 :
-            	    // C:\\dev\\jbossrules\\trunk\\drools-compiler\\src\\main\\resources\\org\\drools\\clp\\CLP.g:246:3: lhs[lhs]
+            	    // D:\\workspace\\jboss\\jbossrules\\drools-compiler\\src\\main\\resources\\org\\drools\\clp\\CLP.g:252:3: lhs[lhs]
             	    {
-            	    pushFollow(FOLLOW_lhs_in_rule127);
+            	    pushFollow(FOLLOW_lhs_in_rule103);
             	    lhs(lhs);
             	    _fsp--;
 
@@ -377,15 +334,16 @@
             	    break;
 
             	default :
-            	    break loop4;
+            	    break loop2;
                 }
             } while (true);
 
-            pushFollow(FOLLOW_rhs_in_rule136);
+            match(input,39,FOLLOW_39_in_rule112); 
+            pushFollow(FOLLOW_rhs_in_rule119);
             rhs(rule);
             _fsp--;
 
-            match(input,RIGHT_PAREN,FOLLOW_RIGHT_PAREN_in_rule144); 
+            match(input,RIGHT_PAREN,FOLLOW_RIGHT_PAREN_in_rule127); 
 
             }
 
@@ -395,72 +353,52 @@
             recover(input,re);
         }
         finally {
-        }
+       }
         return rule;
     }
     // $ANTLR end rule
 
 
-    // $ANTLR start agenda_group
-    // C:\\dev\\jbossrules\\trunk\\drools-compiler\\src\\main\\resources\\org\\drools\\clp\\CLP.g:254:1: agenda_group returns [AttributeDescr d ] : t= MODULE ;
-    public AttributeDescr agenda_group() throws RecognitionException {
+    // $ANTLR start ruleAttribute
+    // D:\\workspace\\jboss\\jbossrules\\drools-compiler\\src\\main\\resources\\org\\drools\\clp\\CLP.g:262:1: ruleAttribute[RuleDescr rule] : ( LEFT_PAREN 'declare' LEFT_PAREN d= salience RIGHT_PAREN RIGHT_PAREN )? ;
+    public void ruleAttribute(RuleDescr rule) throws RecognitionException {   
         AttributeDescr d = null;
 
-        Token t=null;
 
-        
-        		d = null;
-        		System.out.println( "agenda group init" );
-        	
         try {
-            // C:\\dev\\jbossrules\\trunk\\drools-compiler\\src\\main\\resources\\org\\drools\\clp\\CLP.g:260:3: (t= MODULE )
-            // C:\\dev\\jbossrules\\trunk\\drools-compiler\\src\\main\\resources\\org\\drools\\clp\\CLP.g:260:3: t= MODULE
+            // D:\\workspace\\jboss\\jbossrules\\drools-compiler\\src\\main\\resources\\org\\drools\\clp\\CLP.g:264:3: ( ( LEFT_PAREN 'declare' LEFT_PAREN d= salience RIGHT_PAREN RIGHT_PAREN )? )
+            // D:\\workspace\\jboss\\jbossrules\\drools-compiler\\src\\main\\resources\\org\\drools\\clp\\CLP.g:264:3: ( LEFT_PAREN 'declare' LEFT_PAREN d= salience RIGHT_PAREN RIGHT_PAREN )?
             {
-            t=(Token)input.LT(1);
-            match(input,MODULE,FOLLOW_MODULE_in_agenda_group170); 
-            
-            			System.out.println( "agenda group body" );		
-            			d = new AttributeDescr( "agenda-group", t.getText() );
-            			d.setLocation( offset(t.getLine()), t.getCharPositionInLine() );
-            			d.setStartCharacter( ((CommonToken)t).getStartIndex() );
-            			d.setEndCharacter( ((CommonToken)t).getStopIndex() );
-            		
-
+            // D:\\workspace\\jboss\\jbossrules\\drools-compiler\\src\\main\\resources\\org\\drools\\clp\\CLP.g:264:3: ( LEFT_PAREN 'declare' LEFT_PAREN d= salience RIGHT_PAREN RIGHT_PAREN )?
+            int alt3=2;
+            int LA3_0 = input.LA(1);
+            if ( (LA3_0==LEFT_PAREN) ) {
+                int LA3_1 = input.LA(2);
+                if ( (LA3_1==DECLARE) ) {
+                    alt3=1;
+                }
             }
+            switch (alt3) {
+                case 1 :
+                    // D:\\workspace\\jboss\\jbossrules\\drools-compiler\\src\\main\\resources\\org\\drools\\clp\\CLP.g:264:5: LEFT_PAREN 'declare' LEFT_PAREN d= salience RIGHT_PAREN RIGHT_PAREN
+                    {
+                    match(input,LEFT_PAREN,FOLLOW_LEFT_PAREN_in_ruleAttribute144); 
+                    match(input,DECLARE,FOLLOW_DECLARE_in_ruleAttribute146); 
+                    match(input,LEFT_PAREN,FOLLOW_LEFT_PAREN_in_ruleAttribute151); 
+                    pushFollow(FOLLOW_salience_in_ruleAttribute155);
+                    d=salience();
+                    _fsp--;
 
-        }
-        catch (RecognitionException re) {
-            reportError(re);
-            recover(input,re);
-        }
-        finally {
-        }
-        return d;
-    }
-    // $ANTLR end agenda_group
+                     rule.addAttribute( d ); 
+                    match(input,RIGHT_PAREN,FOLLOW_RIGHT_PAREN_in_ruleAttribute159); 
+                    match(input,RIGHT_PAREN,FOLLOW_RIGHT_PAREN_in_ruleAttribute163); 
 
+                    }
+                    break;
 
-    // $ANTLR start ruleAttribute
-    // C:\\dev\\jbossrules\\trunk\\drools-compiler\\src\\main\\resources\\org\\drools\\clp\\CLP.g:271:1: ruleAttribute[RuleDescr rule] : LEFT_PAREN 'declare' LEFT_PAREN d= salience RIGHT_PAREN RIGHT_PAREN ;
-    public void ruleAttribute(RuleDescr rule) throws RecognitionException {
-        AttributeDescr d = null;
+            }
 
 
-        try {
-            // C:\\dev\\jbossrules\\trunk\\drools-compiler\\src\\main\\resources\\org\\drools\\clp\\CLP.g:273:3: ( LEFT_PAREN 'declare' LEFT_PAREN d= salience RIGHT_PAREN RIGHT_PAREN )
-            // C:\\dev\\jbossrules\\trunk\\drools-compiler\\src\\main\\resources\\org\\drools\\clp\\CLP.g:273:3: LEFT_PAREN 'declare' LEFT_PAREN d= salience RIGHT_PAREN RIGHT_PAREN
-            {
-            match(input,LEFT_PAREN,FOLLOW_LEFT_PAREN_in_ruleAttribute190); 
-            match(input,DECLARE,FOLLOW_DECLARE_in_ruleAttribute192); 
-            match(input,LEFT_PAREN,FOLLOW_LEFT_PAREN_in_ruleAttribute197); 
-            pushFollow(FOLLOW_salience_in_ruleAttribute201);
-            d=salience();
-            _fsp--;
-
-             rule.addAttribute( d ); 
-            match(input,RIGHT_PAREN,FOLLOW_RIGHT_PAREN_in_ruleAttribute208); 
-            match(input,RIGHT_PAREN,FOLLOW_RIGHT_PAREN_in_ruleAttribute212); 
-
             }
 
         }
@@ -469,15 +407,15 @@
             recover(input,re);
         }
         finally {
-        }
+       }
         return ;
     }
     // $ANTLR end ruleAttribute
 
 
     // $ANTLR start salience
-    // C:\\dev\\jbossrules\\trunk\\drools-compiler\\src\\main\\resources\\org\\drools\\clp\\CLP.g:279:1: salience returns [AttributeDescr d ] : loc= SALIENCE i= INT ;
-    public AttributeDescr salience() throws RecognitionException {
+    // D:\\workspace\\jboss\\jbossrules\\drools-compiler\\src\\main\\resources\\org\\drools\\clp\\CLP.g:269:1: salience returns [AttributeDescr d ] : loc= SALIENCE i= INT ;
+    public AttributeDescr salience() throws RecognitionException {   
         AttributeDescr d = null;
 
         Token loc=null;
@@ -487,13 +425,13 @@
         		d = null;
         	
         try {
-            // C:\\dev\\jbossrules\\trunk\\drools-compiler\\src\\main\\resources\\org\\drools\\clp\\CLP.g:284:3: (loc= SALIENCE i= INT )
-            // C:\\dev\\jbossrules\\trunk\\drools-compiler\\src\\main\\resources\\org\\drools\\clp\\CLP.g:284:3: loc= SALIENCE i= INT
+            // D:\\workspace\\jboss\\jbossrules\\drools-compiler\\src\\main\\resources\\org\\drools\\clp\\CLP.g:274:3: (loc= SALIENCE i= INT )
+            // D:\\workspace\\jboss\\jbossrules\\drools-compiler\\src\\main\\resources\\org\\drools\\clp\\CLP.g:274:3: loc= SALIENCE i= INT
             {
             loc=(Token)input.LT(1);
-            match(input,SALIENCE,FOLLOW_SALIENCE_in_salience239); 
+            match(input,SALIENCE,FOLLOW_SALIENCE_in_salience193); 
             i=(Token)input.LT(1);
-            match(input,INT,FOLLOW_INT_in_salience243); 
+            match(input,INT,FOLLOW_INT_in_salience197); 
             
             			d = new AttributeDescr( "salience", i.getText() );
             			d.setLocation( offset(loc.getLine()), loc.getCharPositionInLine() );
@@ -509,64 +447,64 @@
             recover(input,re);
         }
         finally {
-        }
+       }
         return d;
     }
     // $ANTLR end salience
 
 
     // $ANTLR start lhs
-    // C:\\dev\\jbossrules\\trunk\\drools-compiler\\src\\main\\resources\\org\\drools\\clp\\CLP.g:294: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:284:1: lhs[ConditionalElementDescr in_ce] : ( and_ce[in_ce] | or_ce[in_ce] | not_ce[in_ce] | exists_ce[in_ce] | eval_ce[in_ce] | normal_pattern[in_ce] | bound_pattern[in_ce] ) ;
+    public void lhs(ConditionalElementDescr in_ce) throws RecognitionException {   
         try {
-            // C:\\dev\\jbossrules\\trunk\\drools-compiler\\src\\main\\resources\\org\\drools\\clp\\CLP.g:295: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:295:4: ( and_ce[in_ce] | or_ce[in_ce] | not_ce[in_ce] | exists_ce[in_ce] | eval_ce[in_ce] | normal_pattern[in_ce] | bound_pattern[in_ce] )
+            // D:\\workspace\\jboss\\jbossrules\\drools-compiler\\src\\main\\resources\\org\\drools\\clp\\CLP.g:285:4: ( ( and_ce[in_ce] | or_ce[in_ce] | not_ce[in_ce] | exists_ce[in_ce] | eval_ce[in_ce] | normal_pattern[in_ce] | bound_pattern[in_ce] ) )
+            // D:\\workspace\\jboss\\jbossrules\\drools-compiler\\src\\main\\resources\\org\\drools\\clp\\CLP.g:285:4: ( and_ce[in_ce] | or_ce[in_ce] | not_ce[in_ce] | exists_ce[in_ce] | eval_ce[in_ce] | normal_pattern[in_ce] | bound_pattern[in_ce] )
             {
-            // C:\\dev\\jbossrules\\trunk\\drools-compiler\\src\\main\\resources\\org\\drools\\clp\\CLP.g:295: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 alt5=7;
-            int LA5_0 = input.LA(1);
-            if ( (LA5_0==LEFT_PAREN) ) {
+            // D:\\workspace\\jboss\\jbossrules\\drools-compiler\\src\\main\\resources\\org\\drools\\clp\\CLP.g:285:4: ( and_ce[in_ce] | or_ce[in_ce] | not_ce[in_ce] | exists_ce[in_ce] | eval_ce[in_ce] | normal_pattern[in_ce] | bound_pattern[in_ce] )
+            int alt4=7;
+            int LA4_0 = input.LA(1);
+            if ( (LA4_0==LEFT_PAREN) ) {
                 switch ( input.LA(2) ) {
-                case ID:
-                    alt5=6;
-                    break;
                 case NOT:
-                    alt5=3;
+                    alt4=3;
                     break;
-                case TEST:
-                    alt5=5;
-                    break;
                 case AND:
-                    alt5=1;
+                    alt4=1;
                     break;
                 case EXISTS:
-                    alt5=4;
+                    alt4=4;
                     break;
+                case TEST:
+                    alt4=5;
+                    break;
                 case OR:
-                    alt5=2;
+                    alt4=2;
                     break;
+                case SYMBOL:
+                    alt4=6;
+                    break;
                 default:
                     NoViableAltException nvae =
-                        new NoViableAltException("295: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] )", 5, 1, input);
+                        new NoViableAltException("285:4: ( and_ce[in_ce] | or_ce[in_ce] | not_ce[in_ce] | exists_ce[in_ce] | eval_ce[in_ce] | normal_pattern[in_ce] | bound_pattern[in_ce] )", 4, 1, input);
 
                     throw nvae;
                 }
 
             }
-            else if ( (LA5_0==VAR) ) {
-                alt5=7;
+            else if ( (LA4_0==VAR) ) {
+                alt4=7;
             }
             else {
                 NoViableAltException nvae =
-                    new NoViableAltException("295: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] )", 5, 0, input);
+                    new NoViableAltException("285:4: ( and_ce[in_ce] | or_ce[in_ce] | not_ce[in_ce] | exists_ce[in_ce] | eval_ce[in_ce] | normal_pattern[in_ce] | bound_pattern[in_ce] )", 4, 0, input);
 
                 throw nvae;
             }
-            switch (alt5) {
+            switch (alt4) {
                 case 1 :
-                    // C:\\dev\\jbossrules\\trunk\\drools-compiler\\src\\main\\resources\\org\\drools\\clp\\CLP.g:295:8: and_ce[in_ce]
+                    // D:\\workspace\\jboss\\jbossrules\\drools-compiler\\src\\main\\resources\\org\\drools\\clp\\CLP.g:285:8: and_ce[in_ce]
                     {
-                    pushFollow(FOLLOW_and_ce_in_lhs270);
+                    pushFollow(FOLLOW_and_ce_in_lhs224);
                     and_ce(in_ce);
                     _fsp--;
 
@@ -574,9 +512,9 @@
                     }
                     break;
                 case 2 :
-                    // C:\\dev\\jbossrules\\trunk\\drools-compiler\\src\\main\\resources\\org\\drools\\clp\\CLP.g:296:7: or_ce[in_ce]
+                    // D:\\workspace\\jboss\\jbossrules\\drools-compiler\\src\\main\\resources\\org\\drools\\clp\\CLP.g:286:7: or_ce[in_ce]
                     {
-                    pushFollow(FOLLOW_or_ce_in_lhs280);
+                    pushFollow(FOLLOW_or_ce_in_lhs234);
                     or_ce(in_ce);
                     _fsp--;
 
@@ -584,9 +522,9 @@
                     }
                     break;
                 case 3 :
-                    // C:\\dev\\jbossrules\\trunk\\drools-compiler\\src\\main\\resources\\org\\drools\\clp\\CLP.g:297:7: not_ce[in_ce]
+                    // D:\\workspace\\jboss\\jbossrules\\drools-compiler\\src\\main\\resources\\org\\drools\\clp\\CLP.g:287:7: not_ce[in_ce]
                     {
-                    pushFollow(FOLLOW_not_ce_in_lhs289);
+                    pushFollow(FOLLOW_not_ce_in_lhs243);
                     not_ce(in_ce);
                     _fsp--;
 
@@ -594,9 +532,9 @@
                     }
                     break;
                 case 4 :
-                    // C:\\dev\\jbossrules\\trunk\\drools-compiler\\src\\main\\resources\\org\\drools\\clp\\CLP.g:298:7: exists_ce[in_ce]
+                    // D:\\workspace\\jboss\\jbossrules\\drools-compiler\\src\\main\\resources\\org\\drools\\clp\\CLP.g:288:7: exists_ce[in_ce]
                     {
-                    pushFollow(FOLLOW_exists_ce_in_lhs298);
+                    pushFollow(FOLLOW_exists_ce_in_lhs252);
                     exists_ce(in_ce);
                     _fsp--;
 
@@ -604,9 +542,9 @@
                     }
                     break;
                 case 5 :
-                    // C:\\dev\\jbossrules\\trunk\\drools-compiler\\src\\main\\resources\\org\\drools\\clp\\CLP.g:299:8: eval_ce[in_ce]
+                    // D:\\workspace\\jboss\\jbossrules\\drools-compiler\\src\\main\\resources\\org\\drools\\clp\\CLP.g:289:8: eval_ce[in_ce]
                     {
-                    pushFollow(FOLLOW_eval_ce_in_lhs312);
+                    pushFollow(FOLLOW_eval_ce_in_lhs266);
                     eval_ce(in_ce);
                     _fsp--;
 
@@ -614,9 +552,9 @@
                     }
                     break;
                 case 6 :
-                    // C:\\dev\\jbossrules\\trunk\\drools-compiler\\src\\main\\resources\\org\\drools\\clp\\CLP.g:300:7: normal_pattern[in_ce]
+                    // D:\\workspace\\jboss\\jbossrules\\drools-compiler\\src\\main\\resources\\org\\drools\\clp\\CLP.g:290:7: normal_pattern[in_ce]
                     {
-                    pushFollow(FOLLOW_normal_pattern_in_lhs326);
+                    pushFollow(FOLLOW_normal_pattern_in_lhs280);
                     normal_pattern(in_ce);
                     _fsp--;
 
@@ -624,9 +562,9 @@
                     }
                     break;
                 case 7 :
-                    // C:\\dev\\jbossrules\\trunk\\drools-compiler\\src\\main\\resources\\org\\drools\\clp\\CLP.g:301:7: bound_pattern[in_ce]
+                    // D:\\workspace\\jboss\\jbossrules\\drools-compiler\\src\\main\\resources\\org\\drools\\clp\\CLP.g:291:7: bound_pattern[in_ce]
                     {
-                    pushFollow(FOLLOW_bound_pattern_in_lhs335);
+                    pushFollow(FOLLOW_bound_pattern_in_lhs289);
                     bound_pattern(in_ce);
                     _fsp--;
 
@@ -645,39 +583,38 @@
             recover(input,re);
         }
         finally {
-        }
+       }
         return ;
     }
     // $ANTLR end lhs
 
 
     // $ANTLR start rhs
-    // C:\\dev\\jbossrules\\trunk\\drools-compiler\\src\\main\\resources\\org\\drools\\clp\\CLP.g:305:1: rhs[RuleDescr rule] : '=>' ( function[context] )* ;
-    public void rhs(RuleDescr rule) throws RecognitionException {
+    // D:\\workspace\\jboss\\jbossrules\\drools-compiler\\src\\main\\resources\\org\\drools\\clp\\CLP.g:295:1: rhs[RuleDescr rule] : ( function[context] )* ;
+    public void rhs(RuleDescr rule) throws RecognitionException {   
         
         	        ExecutionEngine engine = new BlockExecutionEngine();
         			ExecutionBuildContext context = new ExecutionBuildContext( engine );  	
         	
         try {
-            // C:\\dev\\jbossrules\\trunk\\drools-compiler\\src\\main\\resources\\org\\drools\\clp\\CLP.g:312:3: ( '=>' ( function[context] )* )
-            // C:\\dev\\jbossrules\\trunk\\drools-compiler\\src\\main\\resources\\org\\drools\\clp\\CLP.g:312:3: '=>' ( function[context] )*
+            // D:\\workspace\\jboss\\jbossrules\\drools-compiler\\src\\main\\resources\\org\\drools\\clp\\CLP.g:302:4: ( ( function[context] )* )
+            // D:\\workspace\\jboss\\jbossrules\\drools-compiler\\src\\main\\resources\\org\\drools\\clp\\CLP.g:302:4: ( function[context] )*
             {
-            match(input,41,FOLLOW_41_in_rhs362); 
-            // C:\\dev\\jbossrules\\trunk\\drools-compiler\\src\\main\\resources\\org\\drools\\clp\\CLP.g:313:4: ( function[context] )*
-            loop6:
+            // D:\\workspace\\jboss\\jbossrules\\drools-compiler\\src\\main\\resources\\org\\drools\\clp\\CLP.g:302:4: ( function[context] )*
+            loop5:
             do {
-                int alt6=2;
-                int LA6_0 = input.LA(1);
-                if ( (LA6_0==LEFT_PAREN) ) {
-                    alt6=1;
+                int alt5=2;
+                int LA5_0 = input.LA(1);
+                if ( (LA5_0==LEFT_PAREN) ) {
+                    alt5=1;
                 }
 
 
-                switch (alt6) {
+                switch (alt5) {
             	case 1 :
-            	    // C:\\dev\\jbossrules\\trunk\\drools-compiler\\src\\main\\resources\\org\\drools\\clp\\CLP.g:313:4: function[context]
+            	    // D:\\workspace\\jboss\\jbossrules\\drools-compiler\\src\\main\\resources\\org\\drools\\clp\\CLP.g:302:4: function[context]
             	    {
-            	    pushFollow(FOLLOW_function_in_rhs367);
+            	    pushFollow(FOLLOW_function_in_rhs317);
             	    function(context);
             	    _fsp--;
 
@@ -686,7 +623,7 @@
             	    break;
 
             	default :
-            	    break loop6;
+            	    break loop5;
                 }
             } while (true);
 
@@ -700,45 +637,45 @@
             recover(input,re);
         }
         finally {
-        }
+       }
         return ;
     }
     // $ANTLR end rhs
 
 
     // $ANTLR start ce
-    // C:\\dev\\jbossrules\\trunk\\drools-compiler\\src\\main\\resources\\org\\drools\\clp\\CLP.g:316: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:305:1: ce[ConditionalElementDescr in_ce] : ( and_ce[in_ce] | or_ce[in_ce] | not_ce[in_ce] | exists_ce[in_ce] | eval_ce[in_ce] | normal_pattern[in_ce] ) ;
+    public void ce(ConditionalElementDescr in_ce) throws RecognitionException {   
         try {
-            // C:\\dev\\jbossrules\\trunk\\drools-compiler\\src\\main\\resources\\org\\drools\\clp\\CLP.g:317: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:317:4: ( and_ce[in_ce] | or_ce[in_ce] | not_ce[in_ce] | exists_ce[in_ce] | eval_ce[in_ce] | normal_pattern[in_ce] )
+            // D:\\workspace\\jboss\\jbossrules\\drools-compiler\\src\\main\\resources\\org\\drools\\clp\\CLP.g:306:4: ( ( and_ce[in_ce] | or_ce[in_ce] | not_ce[in_ce] | exists_ce[in_ce] | eval_ce[in_ce] | normal_pattern[in_ce] ) )
+            // D:\\workspace\\jboss\\jbossrules\\drools-compiler\\src\\main\\resources\\org\\drools\\clp\\CLP.g:306:4: ( and_ce[in_ce] | or_ce[in_ce] | not_ce[in_ce] | exists_ce[in_ce] | eval_ce[in_ce] | normal_pattern[in_ce] )
             {
-            // C:\\dev\\jbossrules\\trunk\\drools-compiler\\src\\main\\resources\\org\\drools\\clp\\CLP.g:317: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 alt7=6;
-            int LA7_0 = input.LA(1);
-            if ( (LA7_0==LEFT_PAREN) ) {
+            // D:\\workspace\\jboss\\jbossrules\\drools-compiler\\src\\main\\resources\\org\\drools\\clp\\CLP.g:306:4: ( and_ce[in_ce] | or_ce[in_ce] | not_ce[in_ce] | exists_ce[in_ce] | eval_ce[in_ce] | normal_pattern[in_ce] )
+            int alt6=6;
+            int LA6_0 = input.LA(1);
+            if ( (LA6_0==LEFT_PAREN) ) {
                 switch ( input.LA(2) ) {
-                case EXISTS:
-                    alt7=4;
-                    break;
-                case ID:
-                    alt7=6;
-                    break;
                 case TEST:
-                    alt7=5;
+                    alt6=5;
                     break;
+                case SYMBOL:
+                    alt6=6;
+                    break;
                 case AND:
-                    alt7=1;
+                    alt6=1;
                     break;
+                case NOT:
+                    alt6=3;
+                    break;
                 case OR:
-                    alt7=2;
+                    alt6=2;
                     break;
-                case NOT:
-                    alt7=3;
+                case EXISTS:
+                    alt6=4;
                     break;
                 default:
                     NoViableAltException nvae =
-                        new NoViableAltException("317: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] )", 7, 1, input);
+                        new NoViableAltException("306:4: ( and_ce[in_ce] | or_ce[in_ce] | not_ce[in_ce] | exists_ce[in_ce] | eval_ce[in_ce] | normal_pattern[in_ce] )", 6, 1, input);
 
                     throw nvae;
                 }
@@ -746,15 +683,15 @@
             }
             else {
                 NoViableAltException nvae =
-                    new NoViableAltException("317: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] )", 7, 0, input);
+                    new NoViableAltException("306:4: ( and_ce[in_ce] | or_ce[in_ce] | not_ce[in_ce] | exists_ce[in_ce] | eval_ce[in_ce] | normal_pattern[in_ce] )", 6, 0, input);
 
                 throw nvae;
             }
-            switch (alt7) {
+            switch (alt6) {
                 case 1 :
-                    // C:\\dev\\jbossrules\\trunk\\drools-compiler\\src\\main\\resources\\org\\drools\\clp\\CLP.g:317:8: and_ce[in_ce]
+                    // D:\\workspace\\jboss\\jbossrules\\drools-compiler\\src\\main\\resources\\org\\drools\\clp\\CLP.g:306:8: and_ce[in_ce]
                     {
-                    pushFollow(FOLLOW_and_ce_in_ce391);
+                    pushFollow(FOLLOW_and_ce_in_ce341);
                     and_ce(in_ce);
                     _fsp--;
 
@@ -762,9 +699,9 @@
                     }
                     break;
                 case 2 :
-                    // C:\\dev\\jbossrules\\trunk\\drools-compiler\\src\\main\\resources\\org\\drools\\clp\\CLP.g:318:10: or_ce[in_ce]
+                    // D:\\workspace\\jboss\\jbossrules\\drools-compiler\\src\\main\\resources\\org\\drools\\clp\\CLP.g:307:10: or_ce[in_ce]
                     {
-                    pushFollow(FOLLOW_or_ce_in_ce404);
+                    pushFollow(FOLLOW_or_ce_in_ce354);
                     or_ce(in_ce);
                     _fsp--;
 
@@ -772,9 +709,9 @@
                     }
                     break;
                 case 3 :
-                    // C:\\dev\\jbossrules\\trunk\\drools-compiler\\src\\main\\resources\\org\\drools\\clp\\CLP.g:319:7: not_ce[in_ce]
+                    // D:\\workspace\\jboss\\jbossrules\\drools-compiler\\src\\main\\resources\\org\\drools\\clp\\CLP.g:308:7: not_ce[in_ce]
                     {
-                    pushFollow(FOLLOW_not_ce_in_ce413);
+                    pushFollow(FOLLOW_not_ce_in_ce363);
                     not_ce(in_ce);
                     _fsp--;
 
@@ -782,9 +719,9 @@
                     }
                     break;
                 case 4 :
-                    // C:\\dev\\jbossrules\\trunk\\drools-compiler\\src\\main\\resources\\org\\drools\\clp\\CLP.g:320:7: exists_ce[in_ce]
+                    // D:\\workspace\\jboss\\jbossrules\\drools-compiler\\src\\main\\resources\\org\\drools\\clp\\CLP.g:309:7: exists_ce[in_ce]
                     {
-                    pushFollow(FOLLOW_exists_ce_in_ce422);
+                    pushFollow(FOLLOW_exists_ce_in_ce372);
                     exists_ce(in_ce);
                     _fsp--;
 
@@ -792,9 +729,9 @@
                     }
                     break;
                 case 5 :
-                    // C:\\dev\\jbossrules\\trunk\\drools-compiler\\src\\main\\resources\\org\\drools\\clp\\CLP.g:321:8: eval_ce[in_ce]
+                    // D:\\workspace\\jboss\\jbossrules\\drools-compiler\\src\\main\\resources\\org\\drools\\clp\\CLP.g:310:8: eval_ce[in_ce]
                     {
-                    pushFollow(FOLLOW_eval_ce_in_ce436);
+                    pushFollow(FOLLOW_eval_ce_in_ce386);
                     eval_ce(in_ce);
                     _fsp--;
 
@@ -802,9 +739,9 @@
                     }
                     break;
                 case 6 :
-                    // C:\\dev\\jbossrules\\trunk\\drools-compiler\\src\\main\\resources\\org\\drools\\clp\\CLP.g:322:10: normal_pattern[in_ce]
+                    // D:\\workspace\\jboss\\jbossrules\\drools-compiler\\src\\main\\resources\\org\\drools\\clp\\CLP.g:311:10: normal_pattern[in_ce]
                     {
-                    pushFollow(FOLLOW_normal_pattern_in_ce460);
+                    pushFollow(FOLLOW_normal_pattern_in_ce410);
                     normal_pattern(in_ce);
                     _fsp--;
 
@@ -823,43 +760,43 @@
             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:327: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:316: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:331:4: ( LEFT_PAREN AND ( ce[andDescr] )* RIGHT_PAREN )
-            // C:\\dev\\jbossrules\\trunk\\drools-compiler\\src\\main\\resources\\org\\drools\\clp\\CLP.g:331:4: LEFT_PAREN AND ( ce[andDescr] )* RIGHT_PAREN
+            // D:\\workspace\\jboss\\jbossrules\\drools-compiler\\src\\main\\resources\\org\\drools\\clp\\CLP.g:320:4: ( LEFT_PAREN AND ( ce[andDescr] )* RIGHT_PAREN )
+            // D:\\workspace\\jboss\\jbossrules\\drools-compiler\\src\\main\\resources\\org\\drools\\clp\\CLP.g:320:4: LEFT_PAREN AND ( ce[andDescr] )* RIGHT_PAREN
             {
-            match(input,LEFT_PAREN,FOLLOW_LEFT_PAREN_in_and_ce492); 
-            match(input,AND,FOLLOW_AND_in_and_ce497); 
+            match(input,LEFT_PAREN,FOLLOW_LEFT_PAREN_in_and_ce442); 
+            match(input,AND,FOLLOW_AND_in_and_ce447); 
             
             	    	andDescr = new AndDescr();
             			in_ce.addDescr( andDescr );
             		
-            // C:\\dev\\jbossrules\\trunk\\drools-compiler\\src\\main\\resources\\org\\drools\\clp\\CLP.g:336:3: ( ce[andDescr] )*
-            loop8:
+            // D:\\workspace\\jboss\\jbossrules\\drools-compiler\\src\\main\\resources\\org\\drools\\clp\\CLP.g:325:3: ( ce[andDescr] )*
+            loop7:
             do {
-                int alt8=2;
-                int LA8_0 = input.LA(1);
-                if ( (LA8_0==LEFT_PAREN) ) {
-                    alt8=1;
+                int alt7=2;
+                int LA7_0 = input.LA(1);
+                if ( (LA7_0==LEFT_PAREN) ) {
+                    alt7=1;
                 }
 
 
-                switch (alt8) {
+                switch (alt7) {
             	case 1 :
-            	    // C:\\dev\\jbossrules\\trunk\\drools-compiler\\src\\main\\resources\\org\\drools\\clp\\CLP.g:336:3: ce[andDescr]
+            	    // D:\\workspace\\jboss\\jbossrules\\drools-compiler\\src\\main\\resources\\org\\drools\\clp\\CLP.g:325:3: ce[andDescr]
             	    {
-            	    pushFollow(FOLLOW_ce_in_and_ce503);
+            	    pushFollow(FOLLOW_ce_in_and_ce453);
             	    ce(andDescr);
             	    _fsp--;
 
@@ -868,11 +805,11 @@
             	    break;
 
             	default :
-            	    break loop8;
+            	    break loop7;
                 }
             } while (true);
 
-            match(input,RIGHT_PAREN,FOLLOW_RIGHT_PAREN_in_and_ce512); 
+            match(input,RIGHT_PAREN,FOLLOW_RIGHT_PAREN_in_and_ce462); 
 
             }
 
@@ -882,43 +819,43 @@
             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:340: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:329: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:344:4: ( LEFT_PAREN OR ( ce[orDescr] )* RIGHT_PAREN )
-            // C:\\dev\\jbossrules\\trunk\\drools-compiler\\src\\main\\resources\\org\\drools\\clp\\CLP.g:344:4: LEFT_PAREN OR ( ce[orDescr] )* RIGHT_PAREN
+            // D:\\workspace\\jboss\\jbossrules\\drools-compiler\\src\\main\\resources\\org\\drools\\clp\\CLP.g:333:4: ( LEFT_PAREN OR ( ce[orDescr] )* RIGHT_PAREN )
+            // D:\\workspace\\jboss\\jbossrules\\drools-compiler\\src\\main\\resources\\org\\drools\\clp\\CLP.g:333:4: LEFT_PAREN OR ( ce[orDescr] )* RIGHT_PAREN
             {
-            match(input,LEFT_PAREN,FOLLOW_LEFT_PAREN_in_or_ce540); 
-            match(input,OR,FOLLOW_OR_in_or_ce545); 
+            match(input,LEFT_PAREN,FOLLOW_LEFT_PAREN_in_or_ce490); 
+            match(input,OR,FOLLOW_OR_in_or_ce495); 
             
             	    	orDescr = new OrDescr();
             			in_ce.addDescr( orDescr );
             		
-            // C:\\dev\\jbossrules\\trunk\\drools-compiler\\src\\main\\resources\\org\\drools\\clp\\CLP.g:349:3: ( ce[orDescr] )*
-            loop9:
+            // D:\\workspace\\jboss\\jbossrules\\drools-compiler\\src\\main\\resources\\org\\drools\\clp\\CLP.g:338:3: ( ce[orDescr] )*
+            loop8:
             do {
-                int alt9=2;
-                int LA9_0 = input.LA(1);
-                if ( (LA9_0==LEFT_PAREN) ) {
-                    alt9=1;
+                int alt8=2;
+                int LA8_0 = input.LA(1);
+                if ( (LA8_0==LEFT_PAREN) ) {
+                    alt8=1;
                 }
 
 
-                switch (alt9) {
+                switch (alt8) {
             	case 1 :
-            	    // C:\\dev\\jbossrules\\trunk\\drools-compiler\\src\\main\\resources\\org\\drools\\clp\\CLP.g:349:3: ce[orDescr]
+            	    // D:\\workspace\\jboss\\jbossrules\\drools-compiler\\src\\main\\resources\\org\\drools\\clp\\CLP.g:338:3: ce[orDescr]
             	    {
-            	    pushFollow(FOLLOW_ce_in_or_ce551);
+            	    pushFollow(FOLLOW_ce_in_or_ce501);
             	    ce(orDescr);
             	    _fsp--;
 
@@ -927,11 +864,11 @@
             	    break;
 
             	default :
-            	    break loop9;
+            	    break loop8;
                 }
             } while (true);
 
-            match(input,RIGHT_PAREN,FOLLOW_RIGHT_PAREN_in_or_ce560); 
+            match(input,RIGHT_PAREN,FOLLOW_RIGHT_PAREN_in_or_ce510); 
 
             }
 
@@ -941,39 +878,39 @@
             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:353: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:342: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:357:4: ( LEFT_PAREN NOT ( ce[notDescr] )? RIGHT_PAREN )
-            // C:\\dev\\jbossrules\\trunk\\drools-compiler\\src\\main\\resources\\org\\drools\\clp\\CLP.g:357:4: LEFT_PAREN NOT ( ce[notDescr] )? RIGHT_PAREN
+            // D:\\workspace\\jboss\\jbossrules\\drools-compiler\\src\\main\\resources\\org\\drools\\clp\\CLP.g:346:4: ( LEFT_PAREN NOT ( ce[notDescr] )? RIGHT_PAREN )
+            // D:\\workspace\\jboss\\jbossrules\\drools-compiler\\src\\main\\resources\\org\\drools\\clp\\CLP.g:346:4: LEFT_PAREN NOT ( ce[notDescr] )? RIGHT_PAREN
             {
-            match(input,LEFT_PAREN,FOLLOW_LEFT_PAREN_in_not_ce588); 
-            match(input,NOT,FOLLOW_NOT_in_not_ce593); 
+            match(input,LEFT_PAREN,FOLLOW_LEFT_PAREN_in_not_ce538); 
+            match(input,NOT,FOLLOW_NOT_in_not_ce543); 
             
             			notDescr = new NotDescr();
             		    in_ce.addDescr( notDescr );
             		
-            // C:\\dev\\jbossrules\\trunk\\drools-compiler\\src\\main\\resources\\org\\drools\\clp\\CLP.g:362:3: ( ce[notDescr] )?
-            int alt10=2;
-            int LA10_0 = input.LA(1);
-            if ( (LA10_0==LEFT_PAREN) ) {
-                alt10=1;
+            // D:\\workspace\\jboss\\jbossrules\\drools-compiler\\src\\main\\resources\\org\\drools\\clp\\CLP.g:351:3: ( ce[notDescr] )?
+            int alt9=2;
+            int LA9_0 = input.LA(1);
+            if ( (LA9_0==LEFT_PAREN) ) {
+                alt9=1;
             }
-            switch (alt10) {
+            switch (alt9) {
                 case 1 :
-                    // C:\\dev\\jbossrules\\trunk\\drools-compiler\\src\\main\\resources\\org\\drools\\clp\\CLP.g:362:3: ce[notDescr]
+                    // D:\\workspace\\jboss\\jbossrules\\drools-compiler\\src\\main\\resources\\org\\drools\\clp\\CLP.g:351:3: ce[notDescr]
                     {
-                    pushFollow(FOLLOW_ce_in_not_ce599);
+                    pushFollow(FOLLOW_ce_in_not_ce549);
                     ce(notDescr);
                     _fsp--;
 
@@ -983,7 +920,7 @@
 
             }
 
-            match(input,RIGHT_PAREN,FOLLOW_RIGHT_PAREN_in_not_ce608); 
+            match(input,RIGHT_PAREN,FOLLOW_RIGHT_PAREN_in_not_ce558); 
 
             }
 
@@ -993,39 +930,39 @@
             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:366: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:355: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:370:4: ( LEFT_PAREN EXISTS ( ce[existsDescr] )? RIGHT_PAREN )
-            // C:\\dev\\jbossrules\\trunk\\drools-compiler\\src\\main\\resources\\org\\drools\\clp\\CLP.g:370:4: LEFT_PAREN EXISTS ( ce[existsDescr] )? RIGHT_PAREN
+            // D:\\workspace\\jboss\\jbossrules\\drools-compiler\\src\\main\\resources\\org\\drools\\clp\\CLP.g:359:4: ( LEFT_PAREN EXISTS ( ce[existsDescr] )? RIGHT_PAREN )
+            // D:\\workspace\\jboss\\jbossrules\\drools-compiler\\src\\main\\resources\\org\\drools\\clp\\CLP.g:359:4: LEFT_PAREN EXISTS ( ce[existsDescr] )? RIGHT_PAREN
             {
-            match(input,LEFT_PAREN,FOLLOW_LEFT_PAREN_in_exists_ce637); 
-            match(input,EXISTS,FOLLOW_EXISTS_in_exists_ce642); 
+            match(input,LEFT_PAREN,FOLLOW_LEFT_PAREN_in_exists_ce587); 
+            match(input,EXISTS,FOLLOW_EXISTS_in_exists_ce592); 
             
             		    existsDescr = new ExistsDescr();
             		    in_ce.addDescr( existsDescr );
             		
-            // C:\\dev\\jbossrules\\trunk\\drools-compiler\\src\\main\\resources\\org\\drools\\clp\\CLP.g:375:3: ( ce[existsDescr] )?
-            int alt11=2;
-            int LA11_0 = input.LA(1);
-            if ( (LA11_0==LEFT_PAREN) ) {
-                alt11=1;
+            // D:\\workspace\\jboss\\jbossrules\\drools-compiler\\src\\main\\resources\\org\\drools\\clp\\CLP.g:364:3: ( ce[existsDescr] )?
+            int alt10=2;
+            int LA10_0 = input.LA(1);
+            if ( (LA10_0==LEFT_PAREN) ) {
+                alt10=1;
             }
-            switch (alt11) {
+            switch (alt10) {
                 case 1 :
-                    // C:\\dev\\jbossrules\\trunk\\drools-compiler\\src\\main\\resources\\org\\drools\\clp\\CLP.g:375:3: ce[existsDescr]
+                    // D:\\workspace\\jboss\\jbossrules\\drools-compiler\\src\\main\\resources\\org\\drools\\clp\\CLP.g:364:3: ce[existsDescr]
                     {
-                    pushFollow(FOLLOW_ce_in_exists_ce648);
+                    pushFollow(FOLLOW_ce_in_exists_ce598);
                     ce(existsDescr);
                     _fsp--;
 
@@ -1035,7 +972,7 @@
 
             }
 
-            match(input,RIGHT_PAREN,FOLLOW_RIGHT_PAREN_in_exists_ce657); 
+            match(input,RIGHT_PAREN,FOLLOW_RIGHT_PAREN_in_exists_ce607); 
 
             }
 
@@ -1045,38 +982,38 @@
             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:379: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:368: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:385:4: ( LEFT_PAREN TEST function[context] RIGHT_PAREN )
-            // C:\\dev\\jbossrules\\trunk\\drools-compiler\\src\\main\\resources\\org\\drools\\clp\\CLP.g:385:4: LEFT_PAREN TEST function[context] RIGHT_PAREN
+            // D:\\workspace\\jboss\\jbossrules\\drools-compiler\\src\\main\\resources\\org\\drools\\clp\\CLP.g:374:4: ( LEFT_PAREN TEST function[context] RIGHT_PAREN )
+            // D:\\workspace\\jboss\\jbossrules\\drools-compiler\\src\\main\\resources\\org\\drools\\clp\\CLP.g:374:4: LEFT_PAREN TEST function[context] RIGHT_PAREN
             {
-            match(input,LEFT_PAREN,FOLLOW_LEFT_PAREN_in_eval_ce685); 
-            match(input,TEST,FOLLOW_TEST_in_eval_ce690); 
+            match(input,LEFT_PAREN,FOLLOW_LEFT_PAREN_in_eval_ce635); 
+            match(input,TEST,FOLLOW_TEST_in_eval_ce640); 
             
             		    evalDescr = new EvalDescr();
             		    in_ce.addDescr( evalDescr );
             		
-            pushFollow(FOLLOW_function_in_eval_ce696);
+            pushFollow(FOLLOW_function_in_eval_ce646);
             function(context);
             _fsp--;
 
             					
             			evalDescr.setContent( engine );			
             		
-            match(input,RIGHT_PAREN,FOLLOW_RIGHT_PAREN_in_eval_ce707); 
+            match(input,RIGHT_PAREN,FOLLOW_RIGHT_PAREN_in_eval_ce657); 
 
             }
 
@@ -1086,46 +1023,46 @@
             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:396: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:385:1: normal_pattern[ConditionalElementDescr in_ce] : LEFT_PAREN name= SYMBOL ( 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:400:4: ( LEFT_PAREN name= ID ( field_constriant[column] )* RIGHT_PAREN )
-            // C:\\dev\\jbossrules\\trunk\\drools-compiler\\src\\main\\resources\\org\\drools\\clp\\CLP.g:400:4: LEFT_PAREN name= ID ( field_constriant[column] )* RIGHT_PAREN
+            // D:\\workspace\\jboss\\jbossrules\\drools-compiler\\src\\main\\resources\\org\\drools\\clp\\CLP.g:389:4: ( LEFT_PAREN name= SYMBOL ( field_constriant[column] )* RIGHT_PAREN )
+            // D:\\workspace\\jboss\\jbossrules\\drools-compiler\\src\\main\\resources\\org\\drools\\clp\\CLP.g:389:4: LEFT_PAREN name= SYMBOL ( field_constriant[column] )* RIGHT_PAREN
             {
-            match(input,LEFT_PAREN,FOLLOW_LEFT_PAREN_in_normal_pattern735); 
+            match(input,LEFT_PAREN,FOLLOW_LEFT_PAREN_in_normal_pattern685); 
             name=(Token)input.LT(1);
-            match(input,ID,FOLLOW_ID_in_normal_pattern742); 
+            match(input,SYMBOL,FOLLOW_SYMBOL_in_normal_pattern692); 
             
             			column = new ColumnDescr(name.getText());
             			in_ce.addDescr( column );
             		
-            // C:\\dev\\jbossrules\\trunk\\drools-compiler\\src\\main\\resources\\org\\drools\\clp\\CLP.g:405:3: ( field_constriant[column] )*
-            loop12:
+            // D:\\workspace\\jboss\\jbossrules\\drools-compiler\\src\\main\\resources\\org\\drools\\clp\\CLP.g:394:3: ( field_constriant[column] )*
+            loop11:
             do {
-                int alt12=2;
-                int LA12_0 = input.LA(1);
-                if ( (LA12_0==LEFT_PAREN) ) {
-                    alt12=1;
+                int alt11=2;
+                int LA11_0 = input.LA(1);
+                if ( (LA11_0==LEFT_PAREN) ) {
+                    alt11=1;
                 }
 
 
-                switch (alt12) {
+                switch (alt11) {
             	case 1 :
-            	    // C:\\dev\\jbossrules\\trunk\\drools-compiler\\src\\main\\resources\\org\\drools\\clp\\CLP.g:405:3: field_constriant[column]
+            	    // D:\\workspace\\jboss\\jbossrules\\drools-compiler\\src\\main\\resources\\org\\drools\\clp\\CLP.g:394:3: field_constriant[column]
             	    {
-            	    pushFollow(FOLLOW_field_constriant_in_normal_pattern748);
+            	    pushFollow(FOLLOW_field_constriant_in_normal_pattern698);
             	    field_constriant(column);
             	    _fsp--;
 
@@ -1134,11 +1071,11 @@
             	    break;
 
             	default :
-            	    break loop12;
+            	    break loop11;
                 }
             } while (true);
 
-            match(input,RIGHT_PAREN,FOLLOW_RIGHT_PAREN_in_normal_pattern758); 
+            match(input,RIGHT_PAREN,FOLLOW_RIGHT_PAREN_in_normal_pattern708); 
 
             }
 
@@ -1148,15 +1085,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:411: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:400:1: bound_pattern[ConditionalElementDescr in_ce] : var= VAR '<-' LEFT_PAREN name= SYMBOL ( field_constriant[column] )* RIGHT_PAREN ;
+    public void bound_pattern(ConditionalElementDescr in_ce) throws RecognitionException {   
         Token var=null;
         Token name=null;
 
@@ -1165,38 +1102,38 @@
                 String identifier = null;
             
         try {
-            // C:\\dev\\jbossrules\\trunk\\drools-compiler\\src\\main\\resources\\org\\drools\\clp\\CLP.g:416: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:416: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:405:4: (var= VAR '<-' LEFT_PAREN name= SYMBOL ( field_constriant[column] )* RIGHT_PAREN )
+            // D:\\workspace\\jboss\\jbossrules\\drools-compiler\\src\\main\\resources\\org\\drools\\clp\\CLP.g:405:4: var= VAR '<-' LEFT_PAREN name= SYMBOL ( field_constriant[column] )* RIGHT_PAREN
             {
             var=(Token)input.LT(1);
-            match(input,VAR,FOLLOW_VAR_in_bound_pattern786); 
+            match(input,VAR,FOLLOW_VAR_in_bound_pattern736); 
             
             			identifier = var.getText();
             		
-            match(input,42,FOLLOW_42_in_bound_pattern792); 
-            match(input,LEFT_PAREN,FOLLOW_LEFT_PAREN_in_bound_pattern797); 
+            match(input,40,FOLLOW_40_in_bound_pattern742); 
+            match(input,LEFT_PAREN,FOLLOW_LEFT_PAREN_in_bound_pattern747); 
             name=(Token)input.LT(1);
-            match(input,ID,FOLLOW_ID_in_bound_pattern804); 
+            match(input,SYMBOL,FOLLOW_SYMBOL_in_bound_pattern754); 
             
             			column = new ColumnDescr(name.getText());
             			column.setIdentifier( identifier );
             			in_ce.addDescr( column );	    
             		
-            // C:\\dev\\jbossrules\\trunk\\drools-compiler\\src\\main\\resources\\org\\drools\\clp\\CLP.g:426:3: ( field_constriant[column] )*
-            loop13:
+            // D:\\workspace\\jboss\\jbossrules\\drools-compiler\\src\\main\\resources\\org\\drools\\clp\\CLP.g:415:3: ( field_constriant[column] )*
+            loop12:
             do {
-                int alt13=2;
-                int LA13_0 = input.LA(1);
-                if ( (LA13_0==LEFT_PAREN) ) {
-                    alt13=1;
+                int alt12=2;
+                int LA12_0 = input.LA(1);
+                if ( (LA12_0==LEFT_PAREN) ) {
+                    alt12=1;
                 }
 
 
-                switch (alt13) {
+                switch (alt12) {
             	case 1 :
-            	    // C:\\dev\\jbossrules\\trunk\\drools-compiler\\src\\main\\resources\\org\\drools\\clp\\CLP.g:426:3: field_constriant[column]
+            	    // D:\\workspace\\jboss\\jbossrules\\drools-compiler\\src\\main\\resources\\org\\drools\\clp\\CLP.g:415:3: field_constriant[column]
             	    {
-            	    pushFollow(FOLLOW_field_constriant_in_bound_pattern810);
+            	    pushFollow(FOLLOW_field_constriant_in_bound_pattern760);
             	    field_constriant(column);
             	    _fsp--;
 
@@ -1205,11 +1142,11 @@
             	    break;
 
             	default :
-            	    break loop13;
+            	    break loop12;
                 }
             } while (true);
 
-            match(input,RIGHT_PAREN,FOLLOW_RIGHT_PAREN_in_bound_pattern817); 
+            match(input,RIGHT_PAREN,FOLLOW_RIGHT_PAREN_in_bound_pattern767); 
 
             }
 
@@ -1219,15 +1156,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:430: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:419:1: field_constriant[ColumnDescr column] : LEFT_PAREN f= SYMBOL restriction[fc, column] ( connective[fc] restriction[fc, column] )* RIGHT_PAREN ;
+    public void field_constriant(ColumnDescr column) throws RecognitionException {   
         Token f=null;
 
         
@@ -1237,41 +1174,41 @@
         		String op = "==";
         	
         try {
-            // C:\\dev\\jbossrules\\trunk\\drools-compiler\\src\\main\\resources\\org\\drools\\clp\\CLP.g:437: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:437: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:426:4: ( LEFT_PAREN f= SYMBOL restriction[fc, column] ( connective[fc] restriction[fc, column] )* RIGHT_PAREN )
+            // D:\\workspace\\jboss\\jbossrules\\drools-compiler\\src\\main\\resources\\org\\drools\\clp\\CLP.g:426:4: LEFT_PAREN f= SYMBOL restriction[fc, column] ( connective[fc] restriction[fc, column] )* RIGHT_PAREN
             {
-            match(input,LEFT_PAREN,FOLLOW_LEFT_PAREN_in_field_constriant845); 
+            match(input,LEFT_PAREN,FOLLOW_LEFT_PAREN_in_field_constriant795); 
             f=(Token)input.LT(1);
-            match(input,ID,FOLLOW_ID_in_field_constriant852); 
+            match(input,SYMBOL,FOLLOW_SYMBOL_in_field_constriant802); 
             
             			fc = new FieldConstraintDescr(f.getText());
             			fc.setLocation( offset(f.getLine()), f.getCharPositionInLine() );
             			fc.setStartCharacter( ((CommonToken)f).getStartIndex() );
             			column.addDescr( fc );			
             		
-            pushFollow(FOLLOW_restriction_in_field_constriant864);
+            pushFollow(FOLLOW_restriction_in_field_constriant814);
             restriction(fc,  column);
             _fsp--;
 
-            // C:\\dev\\jbossrules\\trunk\\drools-compiler\\src\\main\\resources\\org\\drools\\clp\\CLP.g:446:3: ( connective[fc] restriction[fc, column] )*
-            loop14:
+            // D:\\workspace\\jboss\\jbossrules\\drools-compiler\\src\\main\\resources\\org\\drools\\clp\\CLP.g:435:3: ( connective[fc] restriction[fc, column] )*
+            loop13:
             do {
-                int alt14=2;
-                int LA14_0 = input.LA(1);
-                if ( ((LA14_0>=AMPERSAND && LA14_0<=PIPE)) ) {
-                    alt14=1;
+                int alt13=2;
+                int LA13_0 = input.LA(1);
+                if ( ((LA13_0>=AMPERSAND && LA13_0<=PIPE)) ) {
+                    alt13=1;
                 }
 
 
-                switch (alt14) {
+                switch (alt13) {
             	case 1 :
-            	    // C:\\dev\\jbossrules\\trunk\\drools-compiler\\src\\main\\resources\\org\\drools\\clp\\CLP.g:447:5: connective[fc] restriction[fc, column]
+            	    // D:\\workspace\\jboss\\jbossrules\\drools-compiler\\src\\main\\resources\\org\\drools\\clp\\CLP.g:436:5: connective[fc] restriction[fc, column]
             	    {
-            	    pushFollow(FOLLOW_connective_in_field_constriant876);
+            	    pushFollow(FOLLOW_connective_in_field_constriant826);
             	    connective(fc);
             	    _fsp--;
 
-            	    pushFollow(FOLLOW_restriction_in_field_constriant893);
+            	    pushFollow(FOLLOW_restriction_in_field_constriant843);
             	    restriction(fc,  column);
             	    _fsp--;
 
@@ -1280,11 +1217,11 @@
             	    break;
 
             	default :
-            	    break loop14;
+            	    break loop13;
                 }
             } while (true);
 
-            match(input,RIGHT_PAREN,FOLLOW_RIGHT_PAREN_in_field_constriant916); 
+            match(input,RIGHT_PAREN,FOLLOW_RIGHT_PAREN_in_field_constriant866); 
 
             }
 
@@ -1294,47 +1231,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:453:1: connective[FieldConstraintDescr fc] : ( AMPERSAND | PIPE ) ;
-    public void connective(FieldConstraintDescr fc) throws RecognitionException {
+    // D:\\workspace\\jboss\\jbossrules\\drools-compiler\\src\\main\\resources\\org\\drools\\clp\\CLP.g:442:1: connective[FieldConstraintDescr fc] : ( AMPERSAND | PIPE ) ;
+    public void connective(FieldConstraintDescr fc) throws RecognitionException {   
         try {
-            // C:\\dev\\jbossrules\\trunk\\drools-compiler\\src\\main\\resources\\org\\drools\\clp\\CLP.g:454:4: ( ( AMPERSAND | PIPE ) )
-            // C:\\dev\\jbossrules\\trunk\\drools-compiler\\src\\main\\resources\\org\\drools\\clp\\CLP.g:454:4: ( AMPERSAND | PIPE )
+            // D:\\workspace\\jboss\\jbossrules\\drools-compiler\\src\\main\\resources\\org\\drools\\clp\\CLP.g:443:4: ( ( AMPERSAND | PIPE ) )
+            // D:\\workspace\\jboss\\jbossrules\\drools-compiler\\src\\main\\resources\\org\\drools\\clp\\CLP.g:443:4: ( AMPERSAND | PIPE )
             {
-            // C:\\dev\\jbossrules\\trunk\\drools-compiler\\src\\main\\resources\\org\\drools\\clp\\CLP.g:454:4: ( AMPERSAND | PIPE )
-            int alt15=2;
-            int LA15_0 = input.LA(1);
-            if ( (LA15_0==AMPERSAND) ) {
-                alt15=1;
+            // D:\\workspace\\jboss\\jbossrules\\drools-compiler\\src\\main\\resources\\org\\drools\\clp\\CLP.g:443:4: ( AMPERSAND | PIPE )
+            int alt14=2;
+            int LA14_0 = input.LA(1);
+            if ( (LA14_0==AMPERSAND) ) {
+                alt14=1;
             }
-            else if ( (LA15_0==PIPE) ) {
-                alt15=2;
+            else if ( (LA14_0==PIPE) ) {
+                alt14=2;
             }
             else {
                 NoViableAltException nvae =
-                    new NoViableAltException("454:4: ( AMPERSAND | PIPE )", 15, 0, input);
+                    new NoViableAltException("443:4: ( AMPERSAND | PIPE )", 14, 0, input);
 
                 throw nvae;
             }
-            switch (alt15) {
+            switch (alt14) {
                 case 1 :
-                    // C:\\dev\\jbossrules\\trunk\\drools-compiler\\src\\main\\resources\\org\\drools\\clp\\CLP.g:454:6: AMPERSAND
+                    // D:\\workspace\\jboss\\jbossrules\\drools-compiler\\src\\main\\resources\\org\\drools\\clp\\CLP.g:443:6: AMPERSAND
                     {
-                    match(input,AMPERSAND,FOLLOW_AMPERSAND_in_connective934); 
+                    match(input,AMPERSAND,FOLLOW_AMPERSAND_in_connective884); 
                      fc.addRestriction(new RestrictionConnectiveDescr(RestrictionConnectiveDescr.AND)); 
 
                     }
                     break;
                 case 2 :
-                    // C:\\dev\\jbossrules\\trunk\\drools-compiler\\src\\main\\resources\\org\\drools\\clp\\CLP.g:455:9: PIPE
+                    // D:\\workspace\\jboss\\jbossrules\\drools-compiler\\src\\main\\resources\\org\\drools\\clp\\CLP.g:444:9: PIPE
                     {
-                    match(input,PIPE,FOLLOW_PIPE_in_connective946); 
+                    match(input,PIPE,FOLLOW_PIPE_in_connective896); 
                     fc.addRestriction(new RestrictionConnectiveDescr(RestrictionConnectiveDescr.OR)); 
 
                     }
@@ -1351,15 +1288,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:459:1: restriction[FieldConstraintDescr fc, ColumnDescr column] : ( TILDE )? ( predicate_constraint[op, column] | return_value_restriction[op, fc] | variable_restriction[op, fc] | lc= literal_restriction ) ;
-    public void restriction(FieldConstraintDescr fc, ColumnDescr column) throws RecognitionException {
+    // D:\\workspace\\jboss\\jbossrules\\drools-compiler\\src\\main\\resources\\org\\drools\\clp\\CLP.g:448:1: restriction[FieldConstraintDescr fc, ColumnDescr column] : ( TILDE )? ( predicate_constraint[op, column] | return_value_restriction[op, fc] | variable_restriction[op, fc] | lc= literal_restriction ) ;
+    public void restriction(FieldConstraintDescr fc, ColumnDescr column) throws RecognitionException {   
         String lc = null;
 
 
@@ -1367,20 +1304,20 @@
         			String op = "==";
         	
         try {
-            // C:\\dev\\jbossrules\\trunk\\drools-compiler\\src\\main\\resources\\org\\drools\\clp\\CLP.g:463:4: ( ( TILDE )? ( predicate_constraint[op, column] | return_value_restriction[op, fc] | variable_restriction[op, fc] | lc= literal_restriction ) )
-            // C:\\dev\\jbossrules\\trunk\\drools-compiler\\src\\main\\resources\\org\\drools\\clp\\CLP.g:463:4: ( TILDE )? ( predicate_constraint[op, column] | return_value_restriction[op, fc] | variable_restriction[op, fc] | lc= literal_restriction )
+            // D:\\workspace\\jboss\\jbossrules\\drools-compiler\\src\\main\\resources\\org\\drools\\clp\\CLP.g:452:4: ( ( TILDE )? ( predicate_constraint[op, column] | return_value_restriction[op, fc] | variable_restriction[op, fc] | lc= literal_restriction ) )
+            // D:\\workspace\\jboss\\jbossrules\\drools-compiler\\src\\main\\resources\\org\\drools\\clp\\CLP.g:452:4: ( TILDE )? ( predicate_constraint[op, column] | return_value_restriction[op, fc] | variable_restriction[op, fc] | lc= literal_restriction )
             {
-            // C:\\dev\\jbossrules\\trunk\\drools-compiler\\src\\main\\resources\\org\\drools\\clp\\CLP.g:463:4: ( TILDE )?
-            int alt16=2;
-            int LA16_0 = input.LA(1);
-            if ( (LA16_0==TILDE) ) {
-                alt16=1;
+            // D:\\workspace\\jboss\\jbossrules\\drools-compiler\\src\\main\\resources\\org\\drools\\clp\\CLP.g:452:4: ( TILDE )?
+            int alt15=2;
+            int LA15_0 = input.LA(1);
+            if ( (LA15_0==TILDE) ) {
+                alt15=1;
             }
-            switch (alt16) {
+            switch (alt15) {
                 case 1 :
-                    // C:\\dev\\jbossrules\\trunk\\drools-compiler\\src\\main\\resources\\org\\drools\\clp\\CLP.g:463:5: TILDE
+                    // D:\\workspace\\jboss\\jbossrules\\drools-compiler\\src\\main\\resources\\org\\drools\\clp\\CLP.g:452:5: TILDE
                     {
-                    match(input,TILDE,FOLLOW_TILDE_in_restriction981); 
+                    match(input,TILDE,FOLLOW_TILDE_in_restriction931); 
                     op = "!=";
 
                     }
@@ -1388,38 +1325,38 @@
 
             }
 
-            // C:\\dev\\jbossrules\\trunk\\drools-compiler\\src\\main\\resources\\org\\drools\\clp\\CLP.g:464:3: ( predicate_constraint[op, column] | return_value_restriction[op, fc] | variable_restriction[op, fc] | lc= literal_restriction )
-            int alt17=4;
+            // D:\\workspace\\jboss\\jbossrules\\drools-compiler\\src\\main\\resources\\org\\drools\\clp\\CLP.g:453:3: ( predicate_constraint[op, column] | return_value_restriction[op, fc] | variable_restriction[op, fc] | lc= literal_restriction )
+            int alt16=4;
             switch ( input.LA(1) ) {
-            case 43:
-                alt17=1;
+            case 41:
+                alt16=1;
                 break;
-            case 44:
-                alt17=2;
+            case 42:
+                alt16=2;
                 break;
             case VAR:
-                alt17=3;
+                alt16=3;
                 break;
-            case ID:
+            case SYMBOL:
             case STRING:
             case INT:
             case FLOAT:
             case BOOL:
             case NULL:
-                alt17=4;
+                alt16=4;
                 break;
             default:
                 NoViableAltException nvae =
-                    new NoViableAltException("464:3: ( predicate_constraint[op, column] | return_value_restriction[op, fc] | variable_restriction[op, fc] | lc= literal_restriction )", 17, 0, input);
+                    new NoViableAltException("453:3: ( predicate_constraint[op, column] | return_value_restriction[op, fc] | variable_restriction[op, fc] | lc= literal_restriction )", 16, 0, input);
 
                 throw nvae;
             }
 
-            switch (alt17) {
+            switch (alt16) {
                 case 1 :
-                    // C:\\dev\\jbossrules\\trunk\\drools-compiler\\src\\main\\resources\\org\\drools\\clp\\CLP.g:464:6: predicate_constraint[op, column]
+                    // D:\\workspace\\jboss\\jbossrules\\drools-compiler\\src\\main\\resources\\org\\drools\\clp\\CLP.g:453:6: predicate_constraint[op, column]
                     {
-                    pushFollow(FOLLOW_predicate_constraint_in_restriction998);
+                    pushFollow(FOLLOW_predicate_constraint_in_restriction948);
                     predicate_constraint(op,  column);
                     _fsp--;
 
@@ -1427,9 +1364,9 @@
                     }
                     break;
                 case 2 :
-                    // C:\\dev\\jbossrules\\trunk\\drools-compiler\\src\\main\\resources\\org\\drools\\clp\\CLP.g:465:11: return_value_restriction[op, fc]
+                    // D:\\workspace\\jboss\\jbossrules\\drools-compiler\\src\\main\\resources\\org\\drools\\clp\\CLP.g:454:11: return_value_restriction[op, fc]
                     {
-                    pushFollow(FOLLOW_return_value_restriction_in_restriction1018);
+                    pushFollow(FOLLOW_return_value_restriction_in_restriction968);
                     return_value_restriction(op,  fc);
                     _fsp--;
 
@@ -1437,9 +1374,9 @@
                     }
                     break;
                 case 3 :
-                    // C:\\dev\\jbossrules\\trunk\\drools-compiler\\src\\main\\resources\\org\\drools\\clp\\CLP.g:466:10: variable_restriction[op, fc]
+                    // D:\\workspace\\jboss\\jbossrules\\drools-compiler\\src\\main\\resources\\org\\drools\\clp\\CLP.g:455:10: variable_restriction[op, fc]
                     {
-                    pushFollow(FOLLOW_variable_restriction_in_restriction1030);
+                    pushFollow(FOLLOW_variable_restriction_in_restriction980);
                     variable_restriction(op,  fc);
                     _fsp--;
 
@@ -1447,9 +1384,9 @@
                     }
                     break;
                 case 4 :
-                    // C:\\dev\\jbossrules\\trunk\\drools-compiler\\src\\main\\resources\\org\\drools\\clp\\CLP.g:467:12: lc= literal_restriction
+                    // D:\\workspace\\jboss\\jbossrules\\drools-compiler\\src\\main\\resources\\org\\drools\\clp\\CLP.g:456:12: lc= literal_restriction
                     {
-                    pushFollow(FOLLOW_literal_restriction_in_restriction1046);
+                    pushFollow(FOLLOW_literal_restriction_in_restriction996);
                     lc=literal_restriction();
                     _fsp--;
 
@@ -1472,25 +1409,25 @@
             recover(input,re);
         }
         finally {
-        }
+       }
         return ;
     }
     // $ANTLR end restriction
 
 
     // $ANTLR start predicate_constraint
-    // C:\\dev\\jbossrules\\trunk\\drools-compiler\\src\\main\\resources\\org\\drools\\clp\\CLP.g:474:1: predicate_constraint[String op, ColumnDescr column] : ':' 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:463: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:479:4: ( ':' function[context] )
-            // C:\\dev\\jbossrules\\trunk\\drools-compiler\\src\\main\\resources\\org\\drools\\clp\\CLP.g:479:4: ':' function[context]
+            // D:\\workspace\\jboss\\jbossrules\\drools-compiler\\src\\main\\resources\\org\\drools\\clp\\CLP.g:468:4: ( ':' function[context] )
+            // D:\\workspace\\jboss\\jbossrules\\drools-compiler\\src\\main\\resources\\org\\drools\\clp\\CLP.g:468:4: ':' function[context]
             {
-            match(input,43,FOLLOW_43_in_predicate_constraint1088); 
-            pushFollow(FOLLOW_function_in_predicate_constraint1092);
+            match(input,41,FOLLOW_41_in_predicate_constraint1038); 
+            pushFollow(FOLLOW_function_in_predicate_constraint1042);
             function(context);
             _fsp--;
 
@@ -1506,25 +1443,25 @@
             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:486: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:475: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:491:4: ( '=' function[context] )
-            // C:\\dev\\jbossrules\\trunk\\drools-compiler\\src\\main\\resources\\org\\drools\\clp\\CLP.g:491:4: '=' function[context]
+            // D:\\workspace\\jboss\\jbossrules\\drools-compiler\\src\\main\\resources\\org\\drools\\clp\\CLP.g:480:4: ( '=' function[context] )
+            // D:\\workspace\\jboss\\jbossrules\\drools-compiler\\src\\main\\resources\\org\\drools\\clp\\CLP.g:480:4: '=' function[context]
             {
-            match(input,44,FOLLOW_44_in_return_value_restriction1115); 
-            pushFollow(FOLLOW_function_in_return_value_restriction1120);
+            match(input,42,FOLLOW_42_in_return_value_restriction1065); 
+            pushFollow(FOLLOW_function_in_return_value_restriction1070);
             function(context);
             _fsp--;
 
@@ -1540,23 +1477,23 @@
             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:497: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:486: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:498:4: (var= VAR )
-            // C:\\dev\\jbossrules\\trunk\\drools-compiler\\src\\main\\resources\\org\\drools\\clp\\CLP.g:498:4: var= VAR
+            // D:\\workspace\\jboss\\jbossrules\\drools-compiler\\src\\main\\resources\\org\\drools\\clp\\CLP.g:487:4: (var= VAR )
+            // D:\\workspace\\jboss\\jbossrules\\drools-compiler\\src\\main\\resources\\org\\drools\\clp\\CLP.g:487:4: var= VAR
             {
             var=(Token)input.LT(1);
-            match(input,VAR,FOLLOW_VAR_in_variable_restriction1141); 
+            match(input,VAR,FOLLOW_VAR_in_variable_restriction1091); 
             
             			fc.addRestriction( new VariableRestrictionDescr(op, var.getText()) );
             		
@@ -1569,15 +1506,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:504: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:493:1: literal_restriction returns [String text] : t= literal ;
+    public String literal_restriction() throws RecognitionException {   
         String text = null;
 
         String t = null;
@@ -1587,10 +1524,10 @@
         		text = null;
         	
         try {
-            // C:\\dev\\jbossrules\\trunk\\drools-compiler\\src\\main\\resources\\org\\drools\\clp\\CLP.g:509:6: (t= literal )
-            // C:\\dev\\jbossrules\\trunk\\drools-compiler\\src\\main\\resources\\org\\drools\\clp\\CLP.g:509:6: t= literal
+            // D:\\workspace\\jboss\\jbossrules\\drools-compiler\\src\\main\\resources\\org\\drools\\clp\\CLP.g:498:6: (t= literal )
+            // D:\\workspace\\jboss\\jbossrules\\drools-compiler\\src\\main\\resources\\org\\drools\\clp\\CLP.g:498:6: t= literal
             {
-            pushFollow(FOLLOW_literal_in_literal_restriction1174);
+            pushFollow(FOLLOW_literal_in_literal_restriction1124);
             t=literal();
             _fsp--;
 
@@ -1606,15 +1543,15 @@
             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:514: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 {
+    // D:\\workspace\\jboss\\jbossrules\\drools-compiler\\src\\main\\resources\\org\\drools\\clp\\CLP.g:503:1: function[ExecutionBuildContext context] returns [Function f] : LEFT_PAREN name= function_name ( function_params[context, f] )+ RIGHT_PAREN ;
+    public Function function(ExecutionBuildContext context) throws RecognitionException {   
         Function f = null;
 
         Token name = null;
@@ -1624,11 +1561,11 @@
         	    FunctionFactory factory = FunctionFactory.getInstance();
         	
         try {
-            // C:\\dev\\jbossrules\\trunk\\drools-compiler\\src\\main\\resources\\org\\drools\\clp\\CLP.g:518:4: ( LEFT_PAREN name= function_name ( function_params[context, f] )+ RIGHT_PAREN )
-            // C:\\dev\\jbossrules\\trunk\\drools-compiler\\src\\main\\resources\\org\\drools\\clp\\CLP.g:518:4: LEFT_PAREN name= function_name ( function_params[context, f] )+ RIGHT_PAREN
+            // D:\\workspace\\jboss\\jbossrules\\drools-compiler\\src\\main\\resources\\org\\drools\\clp\\CLP.g:507:4: ( LEFT_PAREN name= function_name ( function_params[context, f] )+ RIGHT_PAREN )
+            // D:\\workspace\\jboss\\jbossrules\\drools-compiler\\src\\main\\resources\\org\\drools\\clp\\CLP.g:507:4: LEFT_PAREN name= function_name ( function_params[context, f] )+ RIGHT_PAREN
             {
-            match(input,LEFT_PAREN,FOLLOW_LEFT_PAREN_in_function1199); 
-            pushFollow(FOLLOW_function_name_in_function1205);
+            match(input,LEFT_PAREN,FOLLOW_LEFT_PAREN_in_function1149); 
+            pushFollow(FOLLOW_function_name_in_function1155);
             name=function_name();
             _fsp--;
 
@@ -1638,22 +1575,22 @@
             			}
             		  	f = factory.createFunction( name.getText() );		  
             		
-            // C:\\dev\\jbossrules\\trunk\\drools-compiler\\src\\main\\resources\\org\\drools\\clp\\CLP.g:526:3: ( function_params[context, f] )+
-            int cnt18=0;
-            loop18:
+            // D:\\workspace\\jboss\\jbossrules\\drools-compiler\\src\\main\\resources\\org\\drools\\clp\\CLP.g:515:3: ( function_params[context, f] )+
+            int cnt17=0;
+            loop17:
             do {
-                int alt18=2;
-                int LA18_0 = input.LA(1);
-                if ( (LA18_0==LEFT_PAREN||(LA18_0>=ID && LA18_0<=STRING)||LA18_0==INT||LA18_0==VAR||(LA18_0>=FLOAT && LA18_0<=NULL)) ) {
-                    alt18=1;
+                int alt17=2;
+                int LA17_0 = input.LA(1);
+                if ( (LA17_0==LEFT_PAREN||(LA17_0>=SYMBOL && LA17_0<=STRING)||LA17_0==INT||LA17_0==VAR||(LA17_0>=FLOAT && LA17_0<=NULL)) ) {
+                    alt17=1;
                 }
 
 
-                switch (alt18) {
+                switch (alt17) {
             	case 1 :
-            	    // C:\\dev\\jbossrules\\trunk\\drools-compiler\\src\\main\\resources\\org\\drools\\clp\\CLP.g:526:3: function_params[context, f]
+            	    // D:\\workspace\\jboss\\jbossrules\\drools-compiler\\src\\main\\resources\\org\\drools\\clp\\CLP.g:515:3: function_params[context, f]
             	    {
-            	    pushFollow(FOLLOW_function_params_in_function1218);
+            	    pushFollow(FOLLOW_function_params_in_function1168);
             	    function_params(context,  f);
             	    _fsp--;
 
@@ -1662,15 +1599,15 @@
             	    break;
 
             	default :
-            	    if ( cnt18 >= 1 ) break loop18;
+            	    if ( cnt17 >= 1 ) break loop17;
                         EarlyExitException eee =
-                            new EarlyExitException(18, input);
+                            new EarlyExitException(17, input);
                         throw eee;
                 }
-                cnt18++;
+                cnt17++;
             } while (true);
 
-            match(input,RIGHT_PAREN,FOLLOW_RIGHT_PAREN_in_function1228); 
+            match(input,RIGHT_PAREN,FOLLOW_RIGHT_PAREN_in_function1178); 
              context.addFunction( f ); 
 
             }
@@ -1681,15 +1618,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:532: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:521: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;
 
         
@@ -1697,27 +1634,27 @@
         		f = factory.createFunction( "modify" );
         	
         try {
-            // C:\\dev\\jbossrules\\trunk\\drools-compiler\\src\\main\\resources\\org\\drools\\clp\\CLP.g:538: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:538:3: LEFT_PAREN 'modify' ( slot_name_value_pair[context, f] )+ RIGHT_PAREN
+            // D:\\workspace\\jboss\\jbossrules\\drools-compiler\\src\\main\\resources\\org\\drools\\clp\\CLP.g:527:3: ( LEFT_PAREN 'modify' ( slot_name_value_pair[context, f] )+ RIGHT_PAREN )
+            // D:\\workspace\\jboss\\jbossrules\\drools-compiler\\src\\main\\resources\\org\\drools\\clp\\CLP.g:527:3: LEFT_PAREN 'modify' ( slot_name_value_pair[context, f] )+ RIGHT_PAREN
             {
-            match(input,LEFT_PAREN,FOLLOW_LEFT_PAREN_in_modify_function1259); 
-            match(input,45,FOLLOW_45_in_modify_function1264); 
-            // C:\\dev\\jbossrules\\trunk\\drools-compiler\\src\\main\\resources\\org\\drools\\clp\\CLP.g:540:4: ( slot_name_value_pair[context, f] )+
-            int cnt19=0;
-            loop19:
+            match(input,LEFT_PAREN,FOLLOW_LEFT_PAREN_in_modify_function1209); 
+            match(input,43,FOLLOW_43_in_modify_function1214); 
+            // D:\\workspace\\jboss\\jbossrules\\drools-compiler\\src\\main\\resources\\org\\drools\\clp\\CLP.g:529:4: ( slot_name_value_pair[context, f] )+
+            int cnt18=0;
+            loop18:
             do {
-                int alt19=2;
-                int LA19_0 = input.LA(1);
-                if ( (LA19_0==LEFT_PAREN) ) {
-                    alt19=1;
+                int alt18=2;
+                int LA18_0 = input.LA(1);
+                if ( (LA18_0==LEFT_PAREN) ) {
+                    alt18=1;
                 }
 
 
-                switch (alt19) {
+                switch (alt18) {
             	case 1 :
-            	    // C:\\dev\\jbossrules\\trunk\\drools-compiler\\src\\main\\resources\\org\\drools\\clp\\CLP.g:540:4: slot_name_value_pair[context, f]
+            	    // D:\\workspace\\jboss\\jbossrules\\drools-compiler\\src\\main\\resources\\org\\drools\\clp\\CLP.g:529:4: slot_name_value_pair[context, f]
             	    {
-            	    pushFollow(FOLLOW_slot_name_value_pair_in_modify_function1269);
+            	    pushFollow(FOLLOW_slot_name_value_pair_in_modify_function1219);
             	    slot_name_value_pair(context,  f);
             	    _fsp--;
 
@@ -1726,15 +1663,15 @@
             	    break;
 
             	default :
-            	    if ( cnt19 >= 1 ) break loop19;
+            	    if ( cnt18 >= 1 ) break loop18;
                         EarlyExitException eee =
-                            new EarlyExitException(19, input);
+                            new EarlyExitException(18, input);
                         throw eee;
                 }
-                cnt19++;
+                cnt18++;
             } while (true);
 
-            match(input,RIGHT_PAREN,FOLLOW_RIGHT_PAREN_in_modify_function1275); 
+            match(input,RIGHT_PAREN,FOLLOW_RIGHT_PAREN_in_modify_function1225); 
 
             }
 
@@ -1744,15 +1681,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:544: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:533:1: function_params[ExecutionBuildContext context, Function f] : (t= VAR | t= STRING | t= SYMBOL | t= FLOAT | t= INT | t= BOOL | t= NULL | nf= function[context] ) ;
+    public void function_params(ExecutionBuildContext context, Function f) throws RecognitionException {   
         Token t=null;
         Function nf = null;
 
@@ -1761,111 +1698,111 @@
         		ValueHandler value  =  null;		
         	
         try {
-            // C:\\dev\\jbossrules\\trunk\\drools-compiler\\src\\main\\resources\\org\\drools\\clp\\CLP.g:549: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:549: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:538:3: ( (t= VAR | t= STRING | t= SYMBOL | t= FLOAT | t= INT | t= BOOL | t= NULL | nf= function[context] ) )
+            // D:\\workspace\\jboss\\jbossrules\\drools-compiler\\src\\main\\resources\\org\\drools\\clp\\CLP.g:538:3: (t= VAR | t= STRING | t= SYMBOL | t= FLOAT | t= INT | t= BOOL | t= NULL | nf= function[context] )
             {
-            // C:\\dev\\jbossrules\\trunk\\drools-compiler\\src\\main\\resources\\org\\drools\\clp\\CLP.g:549:3: (t= VAR | t= STRING | t= ID | t= FLOAT | t= INT | t= BOOL | t= NULL | nf= function[context] )
-            int alt20=8;
+            // D:\\workspace\\jboss\\jbossrules\\drools-compiler\\src\\main\\resources\\org\\drools\\clp\\CLP.g:538:3: (t= VAR | t= STRING | t= SYMBOL | t= FLOAT | t= INT | t= BOOL | t= NULL | nf= function[context] )
+            int alt19=8;
             switch ( input.LA(1) ) {
             case VAR:
-                alt20=1;
+                alt19=1;
                 break;
             case STRING:
-                alt20=2;
+                alt19=2;
                 break;
-            case ID:
-                alt20=3;
+            case SYMBOL:
+                alt19=3;
                 break;
             case FLOAT:
-                alt20=4;
+                alt19=4;
                 break;
             case INT:
-                alt20=5;
+                alt19=5;
                 break;
             case BOOL:
-                alt20=6;
+                alt19=6;
                 break;
             case NULL:
-                alt20=7;
+                alt19=7;
                 break;
             case LEFT_PAREN:
-                alt20=8;
+                alt19=8;
                 break;
             default:
                 NoViableAltException nvae =
-                    new NoViableAltException("549:3: (t= VAR | t= STRING | t= ID | t= FLOAT | t= INT | t= BOOL | t= NULL | nf= function[context] )", 20, 0, input);
+                    new NoViableAltException("538:3: (t= VAR | t= STRING | t= SYMBOL | t= FLOAT | t= INT | t= BOOL | t= NULL | nf= function[context] )", 19, 0, input);
 
                 throw nvae;
             }
 
-            switch (alt20) {
+            switch (alt19) {
                 case 1 :
-                    // C:\\dev\\jbossrules\\trunk\\drools-compiler\\src\\main\\resources\\org\\drools\\clp\\CLP.g:549:6: t= VAR
+                    // D:\\workspace\\jboss\\jbossrules\\drools-compiler\\src\\main\\resources\\org\\drools\\clp\\CLP.g:538:6: t= VAR
                     {
                     t=(Token)input.LT(1);
-                    match(input,VAR,FOLLOW_VAR_in_function_params1304); 
+                    match(input,VAR,FOLLOW_VAR_in_function_params1254); 
                      value = context.getVariableValueHandler(t.getText() ); 
 
                     }
                     break;
                 case 2 :
-                    // C:\\dev\\jbossrules\\trunk\\drools-compiler\\src\\main\\resources\\org\\drools\\clp\\CLP.g:550:6: t= STRING
+                    // D:\\workspace\\jboss\\jbossrules\\drools-compiler\\src\\main\\resources\\org\\drools\\clp\\CLP.g:539:6: t= STRING
                     {
                     t=(Token)input.LT(1);
-                    match(input,STRING,FOLLOW_STRING_in_function_params1316); 
+                    match(input,STRING,FOLLOW_STRING_in_function_params1266); 
                      value = new ObjectLiteralValue( getString( t ) ); 
 
                     }
                     break;
                 case 3 :
-                    // C:\\dev\\jbossrules\\trunk\\drools-compiler\\src\\main\\resources\\org\\drools\\clp\\CLP.g:551:7: t= ID
+                    // D:\\workspace\\jboss\\jbossrules\\drools-compiler\\src\\main\\resources\\org\\drools\\clp\\CLP.g:540:7: t= SYMBOL
                     {
                     t=(Token)input.LT(1);
-                    match(input,ID,FOLLOW_ID_in_function_params1331); 
+                    match(input,SYMBOL,FOLLOW_SYMBOL_in_function_params1281); 
                      value = new ObjectLiteralValue( t.getText() ); 
 
                     }
                     break;
                 case 4 :
-                    // C:\\dev\\jbossrules\\trunk\\drools-compiler\\src\\main\\resources\\org\\drools\\clp\\CLP.g:552:6: t= FLOAT
+                    // D:\\workspace\\jboss\\jbossrules\\drools-compiler\\src\\main\\resources\\org\\drools\\clp\\CLP.g:541:6: t= FLOAT
                     {
                     t=(Token)input.LT(1);
-                    match(input,FLOAT,FOLLOW_FLOAT_in_function_params1352); 
+                    match(input,FLOAT,FOLLOW_FLOAT_in_function_params1298); 
                      value = new DoubleLiteralValue( t.getText() ); 
 
                     }
                     break;
                 case 5 :
-                    // C:\\dev\\jbossrules\\trunk\\drools-compiler\\src\\main\\resources\\org\\drools\\clp\\CLP.g:553:6: t= INT
+                    // D:\\workspace\\jboss\\jbossrules\\drools-compiler\\src\\main\\resources\\org\\drools\\clp\\CLP.g:542:6: t= INT
                     {
                     t=(Token)input.LT(1);
-                    match(input,INT,FOLLOW_INT_in_function_params1367); 
+                    match(input,INT,FOLLOW_INT_in_function_params1313); 
                      value = new LongLiteralValue( t.getText() ); 
 
                     }
                     break;
                 case 6 :
-                    // C:\\dev\\jbossrules\\trunk\\drools-compiler\\src\\main\\resources\\org\\drools\\clp\\CLP.g:554:6: t= BOOL
+                    // D:\\workspace\\jboss\\jbossrules\\drools-compiler\\src\\main\\resources\\org\\drools\\clp\\CLP.g:543:6: t= BOOL
                     {
                     t=(Token)input.LT(1);
-                    match(input,BOOL,FOLLOW_BOOL_in_function_params1387); 
+                    match(input,BOOL,FOLLOW_BOOL_in_function_params1333); 
                      value = new BooleanLiteralValue( t.getText() ); 
 
                     }
                     break;
                 case 7 :
-                    // C:\\dev\\jbossrules\\trunk\\drools-compiler\\src\\main\\resources\\org\\drools\\clp\\CLP.g:555:6: t= NULL
+                    // D:\\workspace\\jboss\\jbossrules\\drools-compiler\\src\\main\\resources\\org\\drools\\clp\\CLP.g:544:6: t= NULL
                     {
                     t=(Token)input.LT(1);
-                    match(input,NULL,FOLLOW_NULL_in_function_params1409); 
+                    match(input,NULL,FOLLOW_NULL_in_function_params1355); 
                      value = ObjectLiteralValue.NULL; 
 
                     }
                     break;
                 case 8 :
-                    // C:\\dev\\jbossrules\\trunk\\drools-compiler\\src\\main\\resources\\org\\drools\\clp\\CLP.g:556:6: nf= function[context]
+                    // D:\\workspace\\jboss\\jbossrules\\drools-compiler\\src\\main\\resources\\org\\drools\\clp\\CLP.g:545:6: nf= function[context]
                     {
-                    pushFollow(FOLLOW_function_in_function_params1425);
+                    pushFollow(FOLLOW_function_in_function_params1371);
                     nf=function(context);
                     _fsp--;
 
@@ -1886,15 +1823,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:562: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:551:1: slot_name_value_pair[ExecutionBuildContext context, Function f] : LEFT_PAREN id= SYMBOL (t= VAR | t= STRING | t= SYMBOL | t= FLOAT | t= INT | t= BOOL | t= NULL | nf= function[context] ) RIGHT_PAREN ;
+    public void slot_name_value_pair(ExecutionBuildContext context, Function f) throws RecognitionException {   
         Token id=null;
         Token t=null;
         Function nf = null;
@@ -1905,117 +1842,117 @@
         		String name = null;
         	
         try {
-            // C:\\dev\\jbossrules\\trunk\\drools-compiler\\src\\main\\resources\\org\\drools\\clp\\CLP.g:568: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:568: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:557:3: ( LEFT_PAREN id= SYMBOL (t= VAR | t= STRING | t= SYMBOL | t= FLOAT | t= INT | t= BOOL | t= NULL | nf= function[context] ) RIGHT_PAREN )
+            // D:\\workspace\\jboss\\jbossrules\\drools-compiler\\src\\main\\resources\\org\\drools\\clp\\CLP.g:557:3: LEFT_PAREN id= SYMBOL (t= VAR | t= STRING | t= SYMBOL | t= FLOAT | t= INT | t= BOOL | t= NULL | nf= function[context] ) RIGHT_PAREN
             {
-            match(input,LEFT_PAREN,FOLLOW_LEFT_PAREN_in_slot_name_value_pair1467); 
+            match(input,LEFT_PAREN,FOLLOW_LEFT_PAREN_in_slot_name_value_pair1413); 
             id=(Token)input.LT(1);
-            match(input,ID,FOLLOW_ID_in_slot_name_value_pair1473); 
+            match(input,SYMBOL,FOLLOW_SYMBOL_in_slot_name_value_pair1419); 
             
             			name = id.getText();
             		
-            // C:\\dev\\jbossrules\\trunk\\drools-compiler\\src\\main\\resources\\org\\drools\\clp\\CLP.g:572:3: (t= VAR | t= STRING | t= ID | t= FLOAT | t= INT | t= BOOL | t= NULL | nf= function[context] )
-            int alt21=8;
+            // D:\\workspace\\jboss\\jbossrules\\drools-compiler\\src\\main\\resources\\org\\drools\\clp\\CLP.g:561:3: (t= VAR | t= STRING | t= SYMBOL | t= FLOAT | t= INT | t= BOOL | t= NULL | nf= function[context] )
+            int alt20=8;
             switch ( input.LA(1) ) {
             case VAR:
-                alt21=1;
+                alt20=1;
                 break;
             case STRING:
-                alt21=2;
+                alt20=2;
                 break;
-            case ID:
-                alt21=3;
+            case SYMBOL:
+                alt20=3;
                 break;
             case FLOAT:
-                alt21=4;
+                alt20=4;
                 break;
             case INT:
-                alt21=5;
+                alt20=5;
                 break;
             case BOOL:
-                alt21=6;
+                alt20=6;
                 break;
             case NULL:
-                alt21=7;
+                alt20=7;
                 break;
             case LEFT_PAREN:
-                alt21=8;
+                alt20=8;
                 break;
             default:
                 NoViableAltException nvae =
-                    new NoViableAltException("572:3: (t= VAR | t= STRING | t= ID | t= FLOAT | t= INT | t= BOOL | t= NULL | nf= function[context] )", 21, 0, input);
+                    new NoViableAltException("561:3: (t= VAR | t= STRING | t= SYMBOL | t= FLOAT | t= INT | t= BOOL | t= NULL | nf= function[context] )", 20, 0, input);
 
                 throw nvae;
             }
 
-            switch (alt21) {
+            switch (alt20) {
                 case 1 :
-                    // C:\\dev\\jbossrules\\trunk\\drools-compiler\\src\\main\\resources\\org\\drools\\clp\\CLP.g:572:6: t= VAR
+                    // D:\\workspace\\jboss\\jbossrules\\drools-compiler\\src\\main\\resources\\org\\drools\\clp\\CLP.g:561:6: t= VAR
                     {
                     t=(Token)input.LT(1);
-                    match(input,VAR,FOLLOW_VAR_in_slot_name_value_pair1484); 
+                    match(input,VAR,FOLLOW_VAR_in_slot_name_value_pair1430); 
                      nameValuePair = new SlotNameValuePair(name, context.getVariableValueHandler( t.getText() ) ); 
 
                     }
                     break;
                 case 2 :
-                    // C:\\dev\\jbossrules\\trunk\\drools-compiler\\src\\main\\resources\\org\\drools\\clp\\CLP.g:573:7: t= STRING
+                    // D:\\workspace\\jboss\\jbossrules\\drools-compiler\\src\\main\\resources\\org\\drools\\clp\\CLP.g:562:7: t= STRING
                     {
                     t=(Token)input.LT(1);
-                    match(input,STRING,FOLLOW_STRING_in_slot_name_value_pair1502); 
+                    match(input,STRING,FOLLOW_STRING_in_slot_name_value_pair1448); 
                      nameValuePair = new SlotNameValuePair(name, new ObjectLiteralValue( getString( t ) ) ); 
 
                     }
                     break;
                 case 3 :
-                    // C:\\dev\\jbossrules\\trunk\\drools-compiler\\src\\main\\resources\\org\\drools\\clp\\CLP.g:574:7: t= ID
+                    // D:\\workspace\\jboss\\jbossrules\\drools-compiler\\src\\main\\resources\\org\\drools\\clp\\CLP.g:563:7: t= SYMBOL
                     {
                     t=(Token)input.LT(1);
-                    match(input,ID,FOLLOW_ID_in_slot_name_value_pair1517); 
+                    match(input,SYMBOL,FOLLOW_SYMBOL_in_slot_name_value_pair1463); 
                      nameValuePair = new SlotNameValuePair(name, new ObjectLiteralValue( t.getText() ) ); 
 
                     }
                     break;
                 case 4 :
-                    // C:\\dev\\jbossrules\\trunk\\drools-compiler\\src\\main\\resources\\org\\drools\\clp\\CLP.g:575:6: t= FLOAT
+                    // D:\\workspace\\jboss\\jbossrules\\drools-compiler\\src\\main\\resources\\org\\drools\\clp\\CLP.g:564:6: t= FLOAT
                     {
                     t=(Token)input.LT(1);
-                    match(input,FLOAT,FOLLOW_FLOAT_in_slot_name_value_pair1538); 
+                    match(input,FLOAT,FOLLOW_FLOAT_in_slot_name_value_pair1480); 
                      nameValuePair = new SlotNameValuePair(name, new DoubleLiteralValue( t.getText() ) ); 
 
                     }
                     break;
                 case 5 :
-                    // C:\\dev\\jbossrules\\trunk\\drools-compiler\\src\\main\\resources\\org\\drools\\clp\\CLP.g:576:6: t= INT
+                    // D:\\workspace\\jboss\\jbossrules\\drools-compiler\\src\\main\\resources\\org\\drools\\clp\\CLP.g:565:6: t= INT
                     {
                     t=(Token)input.LT(1);
-                    match(input,INT,FOLLOW_INT_in_slot_name_value_pair1553); 
+                    match(input,INT,FOLLOW_INT_in_slot_name_value_pair1495); 
                      nameValuePair = new SlotNameValuePair(name, new LongLiteralValue( t.getText() ) ); 
 
                     }
                     break;
                 case 6 :
-                    // C:\\dev\\jbossrules\\trunk\\drools-compiler\\src\\main\\resources\\org\\drools\\clp\\CLP.g:577:6: t= BOOL
+                    // D:\\workspace\\jboss\\jbossrules\\drools-compiler\\src\\main\\resources\\org\\drools\\clp\\CLP.g:566:6: t= BOOL
                     {
                     t=(Token)input.LT(1);
-                    match(input,BOOL,FOLLOW_BOOL_in_slot_name_value_pair1573); 
+                    match(input,BOOL,FOLLOW_BOOL_in_slot_name_value_pair1515); 
                      nameValuePair = new SlotNameValuePair(name, new BooleanLiteralValue( t.getText() ) ) ; 
 
                     }
                     break;
                 case 7 :
-                    // C:\\dev\\jbossrules\\trunk\\drools-compiler\\src\\main\\resources\\org\\drools\\clp\\CLP.g:578:6: t= NULL
+                    // D:\\workspace\\jboss\\jbossrules\\drools-compiler\\src\\main\\resources\\org\\drools\\clp\\CLP.g:567:6: t= NULL
                     {
                     t=(Token)input.LT(1);
-                    match(input,NULL,FOLLOW_NULL_in_slot_name_value_pair1595); 
+                    match(input,NULL,FOLLOW_NULL_in_slot_name_value_pair1537); 
                      nameValuePair = new SlotNameValuePair(name, ObjectLiteralValue.NULL ); 
 
                     }
                     break;
                 case 8 :
-                    // C:\\dev\\jbossrules\\trunk\\drools-compiler\\src\\main\\resources\\org\\drools\\clp\\CLP.g:579:6: nf= function[context]
+                    // D:\\workspace\\jboss\\jbossrules\\drools-compiler\\src\\main\\resources\\org\\drools\\clp\\CLP.g:568:6: nf= function[context]
                     {
-                    pushFollow(FOLLOW_function_in_slot_name_value_pair1611);
+                    pushFollow(FOLLOW_function_in_slot_name_value_pair1553);
                     nf=function(context);
                     _fsp--;
 
@@ -2027,7 +1964,7 @@
             }
 
              f.addParameter( nameValuePair ); 
-            match(input,RIGHT_PAREN,FOLLOW_RIGHT_PAREN_in_slot_name_value_pair1648); 
+            match(input,RIGHT_PAREN,FOLLOW_RIGHT_PAREN_in_slot_name_value_pair1590); 
 
             }
 
@@ -2037,15 +1974,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:586: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:575:1: literal returns [String text] : (t= STRING | t= SYMBOL | t= INT | t= FLOAT | t= BOOL | t= NULL ) ;
+    public String literal() throws RecognitionException {   
         String text = null;
 
         Token t=null;
@@ -2054,88 +1991,88 @@
         		text = null;
         	
         try {
-            // C:\\dev\\jbossrules\\trunk\\drools-compiler\\src\\main\\resources\\org\\drools\\clp\\CLP.g:590: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:590: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:579:4: ( (t= STRING | t= SYMBOL | t= INT | t= FLOAT | t= BOOL | t= NULL ) )
+            // D:\\workspace\\jboss\\jbossrules\\drools-compiler\\src\\main\\resources\\org\\drools\\clp\\CLP.g:579:4: (t= STRING | t= SYMBOL | t= INT | t= FLOAT | t= BOOL | t= NULL )
             {
-            // C:\\dev\\jbossrules\\trunk\\drools-compiler\\src\\main\\resources\\org\\drools\\clp\\CLP.g:590:4: (t= STRING | t= ID | t= INT | t= FLOAT | t= BOOL | t= NULL )
-            int alt22=6;
+            // D:\\workspace\\jboss\\jbossrules\\drools-compiler\\src\\main\\resources\\org\\drools\\clp\\CLP.g:579:4: (t= STRING | t= SYMBOL | t= INT | t= FLOAT | t= BOOL | t= NULL )
+            int alt21=6;
             switch ( input.LA(1) ) {
             case STRING:
-                alt22=1;
+                alt21=1;
                 break;
-            case ID:
-                alt22=2;
+            case SYMBOL:
+                alt21=2;
                 break;
             case INT:
-                alt22=3;
+                alt21=3;
                 break;
             case FLOAT:
-                alt22=4;
+                alt21=4;
                 break;
             case BOOL:
-                alt22=5;
+                alt21=5;
                 break;
             case NULL:
-                alt22=6;
+                alt21=6;
                 break;
             default:
                 NoViableAltException nvae =
-                    new NoViableAltException("590:4: (t= STRING | t= ID | t= INT | t= FLOAT | t= BOOL | t= NULL )", 22, 0, input);
+                    new NoViableAltException("579:4: (t= STRING | t= SYMBOL | t= INT | t= FLOAT | t= BOOL | t= NULL )", 21, 0, input);
 
                 throw nvae;
             }
 
-            switch (alt22) {
+            switch (alt21) {
                 case 1 :
-                    // C:\\dev\\jbossrules\\trunk\\drools-compiler\\src\\main\\resources\\org\\drools\\clp\\CLP.g:590:8: t= STRING
+                    // D:\\workspace\\jboss\\jbossrules\\drools-compiler\\src\\main\\resources\\org\\drools\\clp\\CLP.g:579:8: t= STRING
                     {
                     t=(Token)input.LT(1);
-                    match(input,STRING,FOLLOW_STRING_in_literal1677); 
+                    match(input,STRING,FOLLOW_STRING_in_literal1619); 
                      text = getString( t ); 
 
                     }
                     break;
                 case 2 :
-                    // C:\\dev\\jbossrules\\trunk\\drools-compiler\\src\\main\\resources\\org\\drools\\clp\\CLP.g:591:7: t= ID
+                    // D:\\workspace\\jboss\\jbossrules\\drools-compiler\\src\\main\\resources\\org\\drools\\clp\\CLP.g:580:7: t= SYMBOL
                     {
                     t=(Token)input.LT(1);
-                    match(input,ID,FOLLOW_ID_in_literal1690); 
+                    match(input,SYMBOL,FOLLOW_SYMBOL_in_literal1632); 
                      text = t.getText(); 
 
                     }
                     break;
                 case 3 :
-                    // C:\\dev\\jbossrules\\trunk\\drools-compiler\\src\\main\\resources\\org\\drools\\clp\\CLP.g:592:7: t= INT
+                    // D:\\workspace\\jboss\\jbossrules\\drools-compiler\\src\\main\\resources\\org\\drools\\clp\\CLP.g:581:7: t= INT
                     {
                     t=(Token)input.LT(1);
-                    match(input,INT,FOLLOW_INT_in_literal1706); 
+                    match(input,INT,FOLLOW_INT_in_literal1648); 
                      text = t.getText(); 
 
                     }
                     break;
                 case 4 :
-                    // C:\\dev\\jbossrules\\trunk\\drools-compiler\\src\\main\\resources\\org\\drools\\clp\\CLP.g:593:7: t= FLOAT
+                    // D:\\workspace\\jboss\\jbossrules\\drools-compiler\\src\\main\\resources\\org\\drools\\clp\\CLP.g:582:7: t= FLOAT
                     {
                     t=(Token)input.LT(1);
-                    match(input,FLOAT,FOLLOW_FLOAT_in_literal1721); 
+                    match(input,FLOAT,FOLLOW_FLOAT_in_literal1663); 
                      text = t.getText(); 
 
                     }
                     break;
                 case 5 :
-                    // C:\\dev\\jbossrules\\trunk\\drools-compiler\\src\\main\\resources\\org\\drools\\clp\\CLP.g:594:7: t= BOOL
+                    // D:\\workspace\\jboss\\jbossrules\\drools-compiler\\src\\main\\resources\\org\\drools\\clp\\CLP.g:583:7: t= BOOL
                     {
                     t=(Token)input.LT(1);
-                    match(input,BOOL,FOLLOW_BOOL_in_literal1734); 
+                    match(input,BOOL,FOLLOW_BOOL_in_literal1676); 
                      text = t.getText(); 
 
                     }
                     break;
                 case 6 :
-                    // C:\\dev\\jbossrules\\trunk\\drools-compiler\\src\\main\\resources\\org\\drools\\clp\\CLP.g:595:7: t= NULL
+                    // D:\\workspace\\jboss\\jbossrules\\drools-compiler\\src\\main\\resources\\org\\drools\\clp\\CLP.g:584:7: t= NULL
                     {
                     t=(Token)input.LT(1);
-                    match(input,NULL,FOLLOW_NULL_in_literal1748); 
+                    match(input,NULL,FOLLOW_NULL_in_literal1690); 
                      text = null; 
 
                     }
@@ -2152,68 +2089,56 @@
             recover(input,re);
         }
         finally {
-        }
+       }
         return text;
     }
     // $ANTLR end literal
 
 
     // $ANTLR start function_name
-    // C:\\dev\\jbossrules\\trunk\\drools-compiler\\src\\main\\resources\\org\\drools\\clp\\CLP.g:599:1: function_name returns [Token tok] : (t= ID | t= MISC | t= SYMBOL ) ;
-    public Token function_name() throws RecognitionException {
+    // D:\\workspace\\jboss\\jbossrules\\drools-compiler\\src\\main\\resources\\org\\drools\\clp\\CLP.g:588:1: function_name returns [Token tok] : (t= SYMBOL | t= MISC ) ;
+    public Token function_name() throws RecognitionException {   
         Token tok = null;
 
         Token t=null;
 
         try {
-            // C:\\dev\\jbossrules\\trunk\\drools-compiler\\src\\main\\resources\\org\\drools\\clp\\CLP.g:601:2: ( (t= ID | t= MISC | t= SYMBOL ) )
-            // C:\\dev\\jbossrules\\trunk\\drools-compiler\\src\\main\\resources\\org\\drools\\clp\\CLP.g:601:2: (t= ID | t= MISC | t= SYMBOL )
+            // D:\\workspace\\jboss\\jbossrules\\drools-compiler\\src\\main\\resources\\org\\drools\\clp\\CLP.g:590:2: ( (t= SYMBOL | t= MISC ) )
+            // D:\\workspace\\jboss\\jbossrules\\drools-compiler\\src\\main\\resources\\org\\drools\\clp\\CLP.g:590:2: (t= SYMBOL | t= MISC )
             {
-            // C:\\dev\\jbossrules\\trunk\\drools-compiler\\src\\main\\resources\\org\\drools\\clp\\CLP.g:601:2: (t= ID | t= MISC | t= SYMBOL )
-            int alt23=3;
-            switch ( input.LA(1) ) {
-            case ID:
-                alt23=1;
-                break;
-            case MISC:
-                alt23=2;
-                break;
-            case SYMBOL:
-                alt23=3;
-                break;
-            default:
+            // D:\\workspace\\jboss\\jbossrules\\drools-compiler\\src\\main\\resources\\org\\drools\\clp\\CLP.g:590:2: (t= SYMBOL | t= MISC )
+            int alt22=2;
+            int LA22_0 = input.LA(1);
+            if ( (LA22_0==SYMBOL) ) {
+                alt22=1;
+            }
+            else if ( (LA22_0==MISC) ) {
+                alt22=2;
+            }
+            else {
                 NoViableAltException nvae =
-                    new NoViableAltException("601:2: (t= ID | t= MISC | t= SYMBOL )", 23, 0, input);
+                    new NoViableAltException("590:2: (t= SYMBOL | t= MISC )", 22, 0, input);
 
                 throw nvae;
             }
-
-            switch (alt23) {
+            switch (alt22) {
                 case 1 :
-                    // C:\\dev\\jbossrules\\trunk\\drools-compiler\\src\\main\\resources\\org\\drools\\clp\\CLP.g:601:4: t= ID
+                    // D:\\workspace\\jboss\\jbossrules\\drools-compiler\\src\\main\\resources\\org\\drools\\clp\\CLP.g:590:4: t= SYMBOL
                     {
                     t=(Token)input.LT(1);
-                    match(input,ID,FOLLOW_ID_in_function_name1777); 
+                    match(input,SYMBOL,FOLLOW_SYMBOL_in_function_name1719); 
 
                     }
                     break;
                 case 2 :
-                    // C:\\dev\\jbossrules\\trunk\\drools-compiler\\src\\main\\resources\\org\\drools\\clp\\CLP.g:602:4: t= MISC
+                    // D:\\workspace\\jboss\\jbossrules\\drools-compiler\\src\\main\\resources\\org\\drools\\clp\\CLP.g:591:4: t= MISC
                     {
                     t=(Token)input.LT(1);
-                    match(input,MISC,FOLLOW_MISC_in_function_name1785); 
+                    match(input,MISC,FOLLOW_MISC_in_function_name1727); 
 
                     }
                     break;
-                case 3 :
-                    // C:\\dev\\jbossrules\\trunk\\drools-compiler\\src\\main\\resources\\org\\drools\\clp\\CLP.g:603:4: t= SYMBOL
-                    {
-                    t=(Token)input.LT(1);
-                    match(input,SYMBOL,FOLLOW_SYMBOL_in_function_name1792); 
 
-                    }
-                    break;
-
             }
 
             
@@ -2228,7 +2153,7 @@
             recover(input,re);
         }
         finally {
-        }
+       }
         return tok;
     }
     // $ANTLR end function_name
@@ -2236,124 +2161,121 @@
 
  
 
-    public static final BitSet FOLLOW_40_in_opt_semicolon38 = new BitSet(new long[]{0x0000000000000002L});
+    public static final BitSet FOLLOW_38_in_opt_semicolon38 = new BitSet(new long[]{0x0000000000000002L});
     public static final BitSet FOLLOW_LEFT_PAREN_in_rule65 = new BitSet(new long[]{0x0000000000000020L});
-    public static final BitSet FOLLOW_DEFRULE_in_rule73 = new BitSet(new long[]{0x0000000000000240L});
-    public static final BitSet FOLLOW_agenda_group_in_rule86 = new BitSet(new long[]{0x0000000000000040L});
-    public static final BitSet FOLLOW_ID_in_rule100 = new BitSet(new long[]{0x0000000000000080L});
-    public static final BitSet FOLLOW_STRING_in_rule112 = new BitSet(new long[]{0x0000020000020010L});
-    public static final BitSet FOLLOW_ruleAttribute_in_rule118 = new BitSet(new long[]{0x0000020000020010L});
-    public static final BitSet FOLLOW_lhs_in_rule127 = new BitSet(new long[]{0x0000020000020010L});
-    public static final BitSet FOLLOW_rhs_in_rule136 = new BitSet(new long[]{0x0000000000000100L});
-    public static final BitSet FOLLOW_RIGHT_PAREN_in_rule144 = new BitSet(new long[]{0x0000000000000002L});
-    public static final BitSet FOLLOW_MODULE_in_agenda_group170 = new BitSet(new long[]{0x0000000000000002L});
-    public static final BitSet FOLLOW_LEFT_PAREN_in_ruleAttribute190 = new BitSet(new long[]{0x0000000010000000L});
-    public static final BitSet FOLLOW_DECLARE_in_ruleAttribute192 = new BitSet(new long[]{0x0000000000000010L});
-    public static final BitSet FOLLOW_LEFT_PAREN_in_ruleAttribute197 = new BitSet(new long[]{0x0000000000000400L});
-    public static final BitSet FOLLOW_salience_in_ruleAttribute201 = new BitSet(new long[]{0x0000000000000100L});
-    public static final BitSet FOLLOW_RIGHT_PAREN_in_ruleAttribute208 = new BitSet(new long[]{0x0000000000000100L});
-    public static final BitSet FOLLOW_RIGHT_PAREN_in_ruleAttribute212 = new BitSet(new long[]{0x0000000000000002L});
-    public static final BitSet FOLLOW_SALIENCE_in_salience239 = new BitSet(new long[]{0x0000000000000800L});
-    public static final BitSet FOLLOW_INT_in_salience243 = new BitSet(new long[]{0x0000000000000002L});
-    public static final BitSet FOLLOW_and_ce_in_lhs270 = new BitSet(new long[]{0x0000000000000002L});
-    public static final BitSet FOLLOW_or_ce_in_lhs280 = new BitSet(new long[]{0x0000000000000002L});
-    public static final BitSet FOLLOW_not_ce_in_lhs289 = new BitSet(new long[]{0x0000000000000002L});
-    public static final BitSet FOLLOW_exists_ce_in_lhs298 = new BitSet(new long[]{0x0000000000000002L});
-    public static final BitSet FOLLOW_eval_ce_in_lhs312 = new BitSet(new long[]{0x0000000000000002L});
-    public static final BitSet FOLLOW_normal_pattern_in_lhs326 = new BitSet(new long[]{0x0000000000000002L});
-    public static final BitSet FOLLOW_bound_pattern_in_lhs335 = new BitSet(new long[]{0x0000000000000002L});
-    public static final BitSet FOLLOW_41_in_rhs362 = new BitSet(new long[]{0x0000000000000012L});
-    public static final BitSet FOLLOW_function_in_rhs367 = new BitSet(new long[]{0x0000000000000012L});
-    public static final BitSet FOLLOW_and_ce_in_ce391 = new BitSet(new long[]{0x0000000000000002L});
-    public static final BitSet FOLLOW_or_ce_in_ce404 = new BitSet(new long[]{0x0000000000000002L});
-    public static final BitSet FOLLOW_not_ce_in_ce413 = new BitSet(new long[]{0x0000000000000002L});
-    public static final BitSet FOLLOW_exists_ce_in_ce422 = new BitSet(new long[]{0x0000000000000002L});
-    public static final BitSet FOLLOW_eval_ce_in_ce436 = new BitSet(new long[]{0x0000000000000002L});
-    public static final BitSet FOLLOW_normal_pattern_in_ce460 = new BitSet(new long[]{0x0000000000000002L});
-    public static final BitSet FOLLOW_LEFT_PAREN_in_and_ce492 = new BitSet(new long[]{0x0000000000001000L});
-    public static final BitSet FOLLOW_AND_in_and_ce497 = new BitSet(new long[]{0x0000000000000110L});
-    public static final BitSet FOLLOW_ce_in_and_ce503 = new BitSet(new long[]{0x0000000000000110L});
-    public static final BitSet FOLLOW_RIGHT_PAREN_in_and_ce512 = new BitSet(new long[]{0x0000000000000002L});
-    public static final BitSet FOLLOW_LEFT_PAREN_in_or_ce540 = new BitSet(new long[]{0x0000000000002000L});
-    public static final BitSet FOLLOW_OR_in_or_ce545 = new BitSet(new long[]{0x0000000000000110L});
-    public static final BitSet FOLLOW_ce_in_or_ce551 = new BitSet(new long[]{0x0000000000000110L});
-    public static final BitSet FOLLOW_RIGHT_PAREN_in_or_ce560 = new BitSet(new long[]{0x0000000000000002L});
-    public static final BitSet FOLLOW_LEFT_PAREN_in_not_ce588 = new BitSet(new long[]{0x0000000000004000L});
-    public static final BitSet FOLLOW_NOT_in_not_ce593 = new BitSet(new long[]{0x0000000000000110L});
-    public static final BitSet FOLLOW_ce_in_not_ce599 = new BitSet(new long[]{0x0000000000000100L});
-    public static final BitSet FOLLOW_RIGHT_PAREN_in_not_ce608 = new BitSet(new long[]{0x0000000000000002L});
-    public static final BitSet FOLLOW_LEFT_PAREN_in_exists_ce637 = new BitSet(new long[]{0x0000000000008000L});
-    public static final BitSet FOLLOW_EXISTS_in_exists_ce642 = new BitSet(new long[]{0x0000000000000110L});
-    public static final BitSet FOLLOW_ce_in_exists_ce648 = new BitSet(new long[]{0x0000000000000100L});
-    public static final BitSet FOLLOW_RIGHT_PAREN_in_exists_ce657 = new BitSet(new long[]{0x0000000000000002L});
-    public static final BitSet FOLLOW_LEFT_PAREN_in_eval_ce685 = new BitSet(new long[]{0x0000000000010000L});
-    public static final BitSet FOLLOW_TEST_in_eval_ce690 = new BitSet(new long[]{0x0000000000000010L});
-    public static final BitSet FOLLOW_function_in_eval_ce696 = new BitSet(new long[]{0x0000000000000100L});
-    public static final BitSet FOLLOW_RIGHT_PAREN_in_eval_ce707 = new BitSet(new long[]{0x0000000000000002L});
-    public static final BitSet FOLLOW_LEFT_PAREN_in_normal_pattern735 = new BitSet(new long[]{0x0000000000000040L});
-    public static final BitSet FOLLOW_ID_in_normal_pattern742 = new BitSet(new long[]{0x0000000000000110L});
-    public static final BitSet FOLLOW_field_constriant_in_normal_pattern748 = new BitSet(new long[]{0x0000000000000110L});
-    public static final BitSet FOLLOW_RIGHT_PAREN_in_normal_pattern758 = new BitSet(new long[]{0x0000000000000002L});
-    public static final BitSet FOLLOW_VAR_in_bound_pattern786 = new BitSet(new long[]{0x0000040000000000L});
-    public static final BitSet FOLLOW_42_in_bound_pattern792 = new BitSet(new long[]{0x0000000000000010L});
-    public static final BitSet FOLLOW_LEFT_PAREN_in_bound_pattern797 = new BitSet(new long[]{0x0000000000000040L});
-    public static final BitSet FOLLOW_ID_in_bound_pattern804 = new BitSet(new long[]{0x0000000000000110L});
-    public static final BitSet FOLLOW_field_constriant_in_bound_pattern810 = new BitSet(new long[]{0x0000000000000110L});
-    public static final BitSet FOLLOW_RIGHT_PAREN_in_bound_pattern817 = new BitSet(new long[]{0x0000000000000002L});
-    public static final BitSet FOLLOW_LEFT_PAREN_in_field_constriant845 = new BitSet(new long[]{0x0000000000000040L});
-    public static final BitSet FOLLOW_ID_in_field_constriant852 = new BitSet(new long[]{0x0000180000F208C0L});
-    public static final BitSet FOLLOW_restriction_in_field_constriant864 = new BitSet(new long[]{0x00000000000C0100L});
-    public static final BitSet FOLLOW_connective_in_field_constriant876 = new BitSet(new long[]{0x0000180000F208C0L});
-    public static final BitSet FOLLOW_restriction_in_field_constriant893 = new BitSet(new long[]{0x00000000000C0100L});
-    public static final BitSet FOLLOW_RIGHT_PAREN_in_field_constriant916 = new BitSet(new long[]{0x0000000000000002L});
-    public static final BitSet FOLLOW_AMPERSAND_in_connective934 = new BitSet(new long[]{0x0000000000000002L});
-    public static final BitSet FOLLOW_PIPE_in_connective946 = new BitSet(new long[]{0x0000000000000002L});
-    public static final BitSet FOLLOW_TILDE_in_restriction981 = new BitSet(new long[]{0x0000180000E208C0L});
-    public static final BitSet FOLLOW_predicate_constraint_in_restriction998 = new BitSet(new long[]{0x0000000000000002L});
-    public static final BitSet FOLLOW_return_value_restriction_in_restriction1018 = new BitSet(new long[]{0x0000000000000002L});
-    public static final BitSet FOLLOW_variable_restriction_in_restriction1030 = new BitSet(new long[]{0x0000000000000002L});
-    public static final BitSet FOLLOW_literal_restriction_in_restriction1046 = new BitSet(new long[]{0x0000000000000002L});
-    public static final BitSet FOLLOW_43_in_predicate_constraint1088 = new BitSet(new long[]{0x0000000000000010L});
-    public static final BitSet FOLLOW_function_in_predicate_constraint1092 = new BitSet(new long[]{0x0000000000000002L});
-    public static final BitSet FOLLOW_44_in_return_value_restriction1115 = new BitSet(new long[]{0x0000000000000010L});
-    public static final BitSet FOLLOW_function_in_return_value_restriction1120 = new BitSet(new long[]{0x0000000000000002L});
-    public static final BitSet FOLLOW_VAR_in_variable_restriction1141 = new BitSet(new long[]{0x0000000000000002L});
-    public static final BitSet FOLLOW_literal_in_literal_restriction1174 = new BitSet(new long[]{0x0000000000000002L});
-    public static final BitSet FOLLOW_LEFT_PAREN_in_function1199 = new BitSet(new long[]{0x0000000003000040L});
-    public static final BitSet FOLLOW_function_name_in_function1205 = new BitSet(new long[]{0x0000000000E208D0L});
-    public static final BitSet FOLLOW_function_params_in_function1218 = new BitSet(new long[]{0x0000000000E209D0L});
-    public static final BitSet FOLLOW_RIGHT_PAREN_in_function1228 = new BitSet(new long[]{0x0000000000000002L});
-    public static final BitSet FOLLOW_LEFT_PAREN_in_modify_function1259 = new BitSet(new long[]{0x0000200000000000L});
-    public static final BitSet FOLLOW_45_in_modify_function1264 = new BitSet(new long[]{0x0000000000000010L});
-    public static final BitSet FOLLOW_slot_name_value_pair_in_modify_function1269 = new BitSet(new long[]{0x0000000000000110L});
-    public static final BitSet FOLLOW_RIGHT_PAREN_in_modify_function1275 = new BitSet(new long[]{0x0000000000000002L});
-    public static final BitSet FOLLOW_VAR_in_function_params1304 = new BitSet(new long[]{0x0000000000000002L});
-    public static final BitSet FOLLOW_STRING_in_function_params1316 = new BitSet(new long[]{0x0000000000000002L});
-    public static final BitSet FOLLOW_ID_in_function_params1331 = new BitSet(new long[]{0x0000000000000002L});
-    public static final BitSet FOLLOW_FLOAT_in_function_params1352 = new BitSet(new long[]{0x0000000000000002L});
-    public static final BitSet FOLLOW_INT_in_function_params1367 = new BitSet(new long[]{0x0000000000000002L});
-    public static final BitSet FOLLOW_BOOL_in_function_params1387 = new BitSet(new long[]{0x0000000000000002L});
-    public static final BitSet FOLLOW_NULL_in_function_params1409 = new BitSet(new long[]{0x0000000000000002L});
-    public static final BitSet FOLLOW_function_in_function_params1425 = new BitSet(new long[]{0x0000000000000002L});
-    public static final BitSet FOLLOW_LEFT_PAREN_in_slot_name_value_pair1467 = new BitSet(new long[]{0x0000000000000040L});
-    public static final BitSet FOLLOW_ID_in_slot_name_value_pair1473 = new BitSet(new long[]{0x0000000000E208D0L});
-    public static final BitSet FOLLOW_VAR_in_slot_name_value_pair1484 = new BitSet(new long[]{0x0000000000000100L});
-    public static final BitSet FOLLOW_STRING_in_slot_name_value_pair1502 = new BitSet(new long[]{0x0000000000000100L});
-    public static final BitSet FOLLOW_ID_in_slot_name_value_pair1517 = new BitSet(new long[]{0x0000000000000100L});
-    public static final BitSet FOLLOW_FLOAT_in_slot_name_value_pair1538 = new BitSet(new long[]{0x0000000000000100L});
-    public static final BitSet FOLLOW_INT_in_slot_name_value_pair1553 = new BitSet(new long[]{0x0000000000000100L});
-    public static final BitSet FOLLOW_BOOL_in_slot_name_value_pair1573 = new BitSet(new long[]{0x0000000000000100L});
-    public static final BitSet FOLLOW_NULL_in_slot_name_value_pair1595 = new BitSet(new long[]{0x0000000000000100L});
-    public static final BitSet FOLLOW_function_in_slot_name_value_pair1611 = new BitSet(new long[]{0x0000000000000100L});
-    public static final BitSet FOLLOW_RIGHT_PAREN_in_slot_name_value_pair1648 = new BitSet(new long[]{0x0000000000000002L});
-    public static final BitSet FOLLOW_STRING_in_literal1677 = new BitSet(new long[]{0x0000000000000002L});
-    public static final BitSet FOLLOW_ID_in_literal1690 = new BitSet(new long[]{0x0000000000000002L});
-    public static final BitSet FOLLOW_INT_in_literal1706 = new BitSet(new long[]{0x0000000000000002L});
-    public static final BitSet FOLLOW_FLOAT_in_literal1721 = new BitSet(new long[]{0x0000000000000002L});
-    public static final BitSet FOLLOW_BOOL_in_literal1734 = new BitSet(new long[]{0x0000000000000002L});
-    public static final BitSet FOLLOW_NULL_in_literal1748 = new BitSet(new long[]{0x0000000000000002L});
-    public static final BitSet FOLLOW_ID_in_function_name1777 = new BitSet(new long[]{0x0000000000000002L});
-    public static final BitSet FOLLOW_MISC_in_function_name1785 = new BitSet(new long[]{0x0000000000000002L});
-    public static final BitSet FOLLOW_SYMBOL_in_function_name1792 = new BitSet(new long[]{0x0000000000000002L});
+    public static final BitSet FOLLOW_DEFRULE_in_rule73 = new BitSet(new long[]{0x0000000000000040L});
+    public static final BitSet FOLLOW_SYMBOL_in_rule77 = new BitSet(new long[]{0x0000000000000080L});
+    public static final BitSet FOLLOW_STRING_in_rule89 = new BitSet(new long[]{0x0000008000010010L});
+    public static final BitSet FOLLOW_ruleAttribute_in_rule95 = new BitSet(new long[]{0x0000008000010010L});
+    public static final BitSet FOLLOW_lhs_in_rule103 = new BitSet(new long[]{0x0000008000010010L});
+    public static final BitSet FOLLOW_39_in_rule112 = new BitSet(new long[]{0x0000000000000110L});
+    public static final BitSet FOLLOW_rhs_in_rule119 = new BitSet(new long[]{0x0000000000000100L});
+    public static final BitSet FOLLOW_RIGHT_PAREN_in_rule127 = new BitSet(new long[]{0x0000000000000002L});
+    public static final BitSet FOLLOW_LEFT_PAREN_in_ruleAttribute144 = new BitSet(new long[]{0x0000000004000000L});
+    public static final BitSet FOLLOW_DECLARE_in_ruleAttribute146 = new BitSet(new long[]{0x0000000000000010L});
+    public static final BitSet FOLLOW_LEFT_PAREN_in_ruleAttribute151 = new BitSet(new long[]{0x0000000000000200L});
+    public static final BitSet FOLLOW_salience_in_ruleAttribute155 = new BitSet(new long[]{0x0000000000000100L});
+    public static final BitSet FOLLOW_RIGHT_PAREN_in_ruleAttribute159 = new BitSet(new long[]{0x0000000000000100L});
+    public static final BitSet FOLLOW_RIGHT_PAREN_in_ruleAttribute163 = new BitSet(new long[]{0x0000000000000002L});
+    public static final BitSet FOLLOW_SALIENCE_in_salience193 = new BitSet(new long[]{0x0000000000000400L});
+    public static final BitSet FOLLOW_INT_in_salience197 = new BitSet(new long[]{0x0000000000000002L});
+    public static final BitSet FOLLOW_and_ce_in_lhs224 = new BitSet(new long[]{0x0000000000000002L});
+    public static final BitSet FOLLOW_or_ce_in_lhs234 = new BitSet(new long[]{0x0000000000000002L});
+    public static final BitSet FOLLOW_not_ce_in_lhs243 = new BitSet(new long[]{0x0000000000000002L});
+    public static final BitSet FOLLOW_exists_ce_in_lhs252 = new BitSet(new long[]{0x0000000000000002L});
+    public static final BitSet FOLLOW_eval_ce_in_lhs266 = new BitSet(new long[]{0x0000000000000002L});
+    public static final BitSet FOLLOW_normal_pattern_in_lhs280 = new BitSet(new long[]{0x0000000000000002L});
+    public static final BitSet FOLLOW_bound_pattern_in_lhs289 = new BitSet(new long[]{0x0000000000000002L});
+    public static final BitSet FOLLOW_function_in_rhs317 = new BitSet(new long[]{0x0000000000000012L});
+    public static final BitSet FOLLOW_and_ce_in_ce341 = new BitSet(new long[]{0x0000000000000002L});
+    public static final BitSet FOLLOW_or_ce_in_ce354 = new BitSet(new long[]{0x0000000000000002L});
+    public static final BitSet FOLLOW_not_ce_in_ce363 = new BitSet(new long[]{0x0000000000000002L});
+    public static final BitSet FOLLOW_exists_ce_in_ce372 = new BitSet(new long[]{0x0000000000000002L});
+    public static final BitSet FOLLOW_eval_ce_in_ce386 = new BitSet(new long[]{0x0000000000000002L});
+    public static final BitSet FOLLOW_normal_pattern_in_ce410 = new BitSet(new long[]{0x0000000000000002L});
+    public static final BitSet FOLLOW_LEFT_PAREN_in_and_ce442 = new BitSet(new long[]{0x0000000000000800L});
+    public static final BitSet FOLLOW_AND_in_and_ce447 = new BitSet(new long[]{0x0000000000000110L});
+    public static final BitSet FOLLOW_ce_in_and_ce453 = new BitSet(new long[]{0x0000000000000110L});
+    public static final BitSet FOLLOW_RIGHT_PAREN_in_and_ce462 = new BitSet(new long[]{0x0000000000000002L});
+    public static final BitSet FOLLOW_LEFT_PAREN_in_or_ce490 = new BitSet(new long[]{0x0000000000001000L});
+    public static final BitSet FOLLOW_OR_in_or_ce495 = new BitSet(new long[]{0x0000000000000110L});
+    public static final BitSet FOLLOW_ce_in_or_ce501 = new BitSet(new long[]{0x0000000000000110L});
+    public static final BitSet FOLLOW_RIGHT_PAREN_in_or_ce510 = new BitSet(new long[]{0x0000000000000002L});
+    public static final BitSet FOLLOW_LEFT_PAREN_in_not_ce538 = new BitSet(new long[]{0x0000000000002000L});
+    public static final BitSet FOLLOW_NOT_in_not_ce543 = new BitSet(new long[]{0x0000000000000110L});
+    public static final BitSet FOLLOW_ce_in_not_ce549 = new BitSet(new long[]{0x0000000000000100L});
+    public static final BitSet FOLLOW_RIGHT_PAREN_in_not_ce558 = new BitSet(new long[]{0x0000000000000002L});
+    public static final BitSet FOLLOW_LEFT_PAREN_in_exists_ce587 = new BitSet(new long[]{0x0000000000004000L});
+    public static final BitSet FOLLOW_EXISTS_in_exists_ce592 = new BitSet(new long[]{0x0000000000000110L});
+    public static final BitSet FOLLOW_ce_in_exists_ce598 = new BitSet(new long[]{0x0000000000000100L});
+    public static final BitSet FOLLOW_RIGHT_PAREN_in_exists_ce607 = new BitSet(new long[]{0x0000000000000002L});
+    public static final BitSet FOLLOW_LEFT_PAREN_in_eval_ce635 = new BitSet(new long[]{0x0000000000008000L});
+    public static final BitSet FOLLOW_TEST_in_eval_ce640 = new BitSet(new long[]{0x0000000000000010L});
+    public static final BitSet FOLLOW_function_in_eval_ce646 = new BitSet(new long[]{0x0000000000000100L});
+    public static final BitSet FOLLOW_RIGHT_PAREN_in_eval_ce657 = new BitSet(new long[]{0x0000000000000002L});
+    public static final BitSet FOLLOW_LEFT_PAREN_in_normal_pattern685 = new BitSet(new long[]{0x0000000000000040L});
+    public static final BitSet FOLLOW_SYMBOL_in_normal_pattern692 = new BitSet(new long[]{0x0000000000000110L});
+    public static final BitSet FOLLOW_field_constriant_in_normal_pattern698 = new BitSet(new long[]{0x0000000000000110L});
+    public static final BitSet FOLLOW_RIGHT_PAREN_in_normal_pattern708 = new BitSet(new long[]{0x0000000000000002L});
+    public static final BitSet FOLLOW_VAR_in_bound_pattern736 = new BitSet(new long[]{0x0000010000000000L});
+    public static final BitSet FOLLOW_40_in_bound_pattern742 = new BitSet(new long[]{0x0000000000000010L});
+    public static final BitSet FOLLOW_LEFT_PAREN_in_bound_pattern747 = new BitSet(new long[]{0x0000000000000040L});
+    public static final BitSet FOLLOW_SYMBOL_in_bound_pattern754 = new BitSet(new long[]{0x0000000000000110L});
+    public static final BitSet FOLLOW_field_constriant_in_bound_pattern760 = new BitSet(new long[]{0x0000000000000110L});
+    public static final BitSet FOLLOW_RIGHT_PAREN_in_bound_pattern767 = new BitSet(new long[]{0x0000000000000002L});
+    public static final BitSet FOLLOW_LEFT_PAREN_in_field_constriant795 = new BitSet(new long[]{0x0000000000000040L});
+    public static final BitSet FOLLOW_SYMBOL_in_field_constriant802 = new BitSet(new long[]{0x00000600007904C0L});
+    public static final BitSet FOLLOW_restriction_in_field_constriant814 = new BitSet(new long[]{0x0000000000060100L});
+    public static final BitSet FOLLOW_connective_in_field_constriant826 = new BitSet(new long[]{0x00000600007904C0L});
+    public static final BitSet FOLLOW_restriction_in_field_constriant843 = new BitSet(new long[]{0x0000000000060100L});
+    public static final BitSet FOLLOW_RIGHT_PAREN_in_field_constriant866 = new BitSet(new long[]{0x0000000000000002L});
+    public static final BitSet FOLLOW_AMPERSAND_in_connective884 = new BitSet(new long[]{0x0000000000000002L});
+    public static final BitSet FOLLOW_PIPE_in_connective896 = new BitSet(new long[]{0x0000000000000002L});
+    public static final BitSet FOLLOW_TILDE_in_restriction931 = new BitSet(new long[]{0x00000600007104C0L});
+    public static final BitSet FOLLOW_predicate_constraint_in_restriction948 = new BitSet(new long[]{0x0000000000000002L});
+    public static final BitSet FOLLOW_return_value_restriction_in_restriction968 = new BitSet(new long[]{0x0000000000000002L});
+    public static final BitSet FOLLOW_variable_restriction_in_restriction980 = new BitSet(new long[]{0x0000000000000002L});
+    public static final BitSet FOLLOW_literal_restriction_in_restriction996 = new BitSet(new long[]{0x0000000000000002L});
+    public static final BitSet FOLLOW_41_in_predicate_constraint1038 = new BitSet(new long[]{0x0000000000000010L});
+    public static final BitSet FOLLOW_function_in_predicate_constraint1042 = new BitSet(new long[]{0x0000000000000002L});
+    public static final BitSet FOLLOW_42_in_return_value_restriction1065 = new BitSet(new long[]{0x0000000000000010L});
+    public static final BitSet FOLLOW_function_in_return_value_restriction1070 = new BitSet(new long[]{0x0000000000000002L});
+    public static final BitSet FOLLOW_VAR_in_variable_restriction1091 = new BitSet(new long[]{0x0000000000000002L});
+    public static final BitSet FOLLOW_literal_in_literal_restriction1124 = new BitSet(new long[]{0x0000000000000002L});
+    public static final BitSet FOLLOW_LEFT_PAREN_in_function1149 = new BitSet(new long[]{0x0000000000800040L});
+    public static final BitSet FOLLOW_function_name_in_function1155 = new BitSet(new long[]{0x00000000007104D0L});
+    public static final BitSet FOLLOW_function_params_in_function1168 = new BitSet(new long[]{0x00000000007105D0L});
+    public static final BitSet FOLLOW_RIGHT_PAREN_in_function1178 = new BitSet(new long[]{0x0000000000000002L});
+    public static final BitSet FOLLOW_LEFT_PAREN_in_modify_function1209 = new BitSet(new long[]{0x0000080000000000L});
+    public static final BitSet FOLLOW_43_in_modify_function1214 = new BitSet(new long[]{0x0000000000000010L});
+    public static final BitSet FOLLOW_slot_name_value_pair_in_modify_function1219 = new BitSet(new long[]{0x0000000000000110L});
+    public static final BitSet FOLLOW_RIGHT_PAREN_in_modify_function1225 = new BitSet(new long[]{0x0000000000000002L});
+    public static final BitSet FOLLOW_VAR_in_function_params1254 = new BitSet(new long[]{0x0000000000000002L});
+    public static final BitSet FOLLOW_STRING_in_function_params1266 = new BitSet(new long[]{0x0000000000000002L});
+    public static final BitSet FOLLOW_SYMBOL_in_function_params1281 = new BitSet(new long[]{0x0000000000000002L});
+    public static final BitSet FOLLOW_FLOAT_in_function_params1298 = new BitSet(new long[]{0x0000000000000002L});
+    public static final BitSet FOLLOW_INT_in_function_params1313 = new BitSet(new long[]{0x0000000000000002L});
+    public static final BitSet FOLLOW_BOOL_in_function_params1333 = new BitSet(new long[]{0x0000000000000002L});
+    public static final BitSet FOLLOW_NULL_in_function_params1355 = new BitSet(new long[]{0x0000000000000002L});
+    public static final BitSet FOLLOW_function_in_function_params1371 = new BitSet(new long[]{0x0000000000000002L});
+    public static final BitSet FOLLOW_LEFT_PAREN_in_slot_name_value_pair1413 = new BitSet(new long[]{0x0000000000000040L});
+    public static final BitSet FOLLOW_SYMBOL_in_slot_name_value_pair1419 = new BitSet(new long[]{0x00000000007104D0L});
+    public static final BitSet FOLLOW_VAR_in_slot_name_value_pair1430 = new BitSet(new long[]{0x0000000000000100L});
+    public static final BitSet FOLLOW_STRING_in_slot_name_value_pair1448 = new BitSet(new long[]{0x0000000000000100L});
+    public static final BitSet FOLLOW_SYMBOL_in_slot_name_value_pair1463 = new BitSet(new long[]{0x0000000000000100L});
+    public static final BitSet FOLLOW_FLOAT_in_slot_name_value_pair1480 = new BitSet(new long[]{0x0000000000000100L});
+    public static final BitSet FOLLOW_INT_in_slot_name_value_pair1495 = new BitSet(new long[]{0x0000000000000100L});
+    public static final BitSet FOLLOW_BOOL_in_slot_name_value_pair1515 = new BitSet(new long[]{0x0000000000000100L});
+    public static final BitSet FOLLOW_NULL_in_slot_name_value_pair1537 = new BitSet(new long[]{0x0000000000000100L});
+    public static final BitSet FOLLOW_function_in_slot_name_value_pair1553 = new BitSet(new long[]{0x0000000000000100L});
+    public static final BitSet FOLLOW_RIGHT_PAREN_in_slot_name_value_pair1590 = new BitSet(new long[]{0x0000000000000002L});
+    public static final BitSet FOLLOW_STRING_in_literal1619 = new BitSet(new long[]{0x0000000000000002L});
+    public static final BitSet FOLLOW_SYMBOL_in_literal1632 = new BitSet(new long[]{0x0000000000000002L});
+    public static final BitSet FOLLOW_INT_in_literal1648 = new BitSet(new long[]{0x0000000000000002L});
+    public static final BitSet FOLLOW_FLOAT_in_literal1663 = new BitSet(new long[]{0x0000000000000002L});
+    public static final BitSet FOLLOW_BOOL_in_literal1676 = new BitSet(new long[]{0x0000000000000002L});
+    public static final BitSet FOLLOW_NULL_in_literal1690 = new BitSet(new long[]{0x0000000000000002L});
+    public static final BitSet FOLLOW_SYMBOL_in_function_name1719 = new BitSet(new long[]{0x0000000000000002L});
+    public static final BitSet FOLLOW_MISC_in_function_name1727 = new BitSet(new long[]{0x0000000000000002L});
 
 }
\ No newline at end of file

Modified: labs/jbossrules/trunk/drools-compiler/src/main/resources/org/drools/clp/CLP.g
===================================================================
--- labs/jbossrules/trunk/drools-compiler/src/main/resources/org/drools/clp/CLP.g	2007-03-15 16:28:04 UTC (rev 10235)
+++ labs/jbossrules/trunk/drools-compiler/src/main/resources/org/drools/clp/CLP.g	2007-03-15 16:47:48 UTC (rev 10236)
@@ -212,68 +212,58 @@
 	@init { 
 	        rule = null; 
 	        AndDescr lhs = null;
-	        ColumnDescr colum = null;	        
+	        ColumnDescr colum = null;
+	        AttributeDescr module = null;	        
 	      }
 	:	loc=LEFT_PAREN 
 		
-		DEFRULE
-		
-		(	{ System.err.println( "before" ); } module=agenda_group )?
-		
-	  	ruleName=ID
+		DEFRULE ruleName=SYMBOL
 	  	{ 	  			  		
 	  		debug( "start rule: " + ruleName.getText() );
-	        rule = new RuleDescr( ruleName.getText(), null ); 
-	        
-	        if ( module != null ) {
-		        rule.addAttribute( module );
-		    }
-	        
+	  		String ruleStr = ruleName.getText();
+
+	        	if ( ruleStr.indexOf("::") >= 0 ) {
+	        	        String mod = ruleStr.substring(0, ruleStr.indexOf("::")+2);
+	        	        ruleStr = ruleStr.substring(ruleStr.indexOf("::")+2);
+				module = new AttributeDescr( "agenda-group", mod );
+				module.setLocation( offset(ruleName.getLine()), ruleName.getCharPositionInLine() );
+				module.setStartCharacter( ((CommonToken)ruleName).getStartIndex() );
+				module.setEndCharacter( ((CommonToken)ruleName).getStopIndex() );
+			}
+		        rule = new RuleDescr( ruleStr, null ); 
+		        if( module != null ) {
+		        	rule.addAttribute( module );
+		        }
+		        
 			rule.setLocation( offset(loc.getLine()), loc.getCharPositionInLine() );
 			rule.setStartCharacter( ((CommonToken)loc).getStartIndex() ); 
 		
 			// not sure how you define where a LHS starts in clips, so just putting it here for now
-  	        lhs = new AndDescr(); 
-  	        rule.setLhs( lhs ); 
-   	        lhs.setLocation( offset(loc.getLine()), loc.getCharPositionInLine() );
+  	        	lhs = new AndDescr(); 
+	  	        rule.setLhs( lhs ); 
+   		        lhs.setLocation( offset(loc.getLine()), loc.getCharPositionInLine() );
 			lhs.setStartCharacter( ((CommonToken)loc).getStartIndex() );				
 		}
 		documentation=STRING {
 	    	// do nothing here for now
 		}
-		ruleAttribute[rule]*
+		ruleAttribute[rule]
 		
 		lhs[lhs]*
 		
+		'=>'
+		
 		rhs[rule]
 		
 		RIGHT_PAREN
 	;
 
 
-agenda_group returns [AttributeDescr d ]
-	@init {
-		d = null;
-		System.out.println( "agenda group init" );
-	}
-	:
-		t=MODULE
-		{
-			System.out.println( "agenda group body" );		
-			d = new AttributeDescr( "agenda-group", t.getText() );
-			d.setLocation( offset(t.getLine()), t.getCharPositionInLine() );
-			d.setStartCharacter( ((CommonToken)t).getStartIndex() );
-			d.setEndCharacter( ((CommonToken)t).getStopIndex() );
-		}	
-//		MODULE_SEPERATOR		
-	;
-
 ruleAttribute[RuleDescr rule]
 	:
-		LEFT_PAREN 'declare'
-			LEFT_PAREN d=salience { rule.addAttribute( d ); }
-			RIGHT_PAREN
-		RIGHT_PAREN
+		( LEFT_PAREN 'declare'
+			LEFT_PAREN d=salience { rule.addAttribute( d ); } RIGHT_PAREN
+		RIGHT_PAREN )?
 	;	
 
 salience returns [AttributeDescr d ]
@@ -309,7 +299,6 @@
 	}
 	
 	:
-		'=>'
 	  function[context]* { rule.setConsequence( engine ); }		
 	;	
 	
@@ -398,7 +387,7 @@
         ColumnDescr column = null;
     }
 	:	LEFT_PAREN 
-		name=ID {
+		name=SYMBOL {
 			column = new ColumnDescr(name.getText());
 			in_ce.addDescr( column );
 		}
@@ -418,7 +407,7 @@
 		}
 		'<-' 
 		LEFT_PAREN 
-		name=ID {
+		name=SYMBOL {
 			column = new ColumnDescr(name.getText());
 			column.setIdentifier( identifier );
 			in_ce.addDescr( column );	    
@@ -435,7 +424,7 @@
 		String op = "==";
 	}    
 	:	LEFT_PAREN 
-		f=ID {
+		f=SYMBOL {
 			fc = new FieldConstraintDescr(f.getText());
 			fc.setLocation( offset(f.getLine()), f.getCharPositionInLine() );
 			fc.setStartCharacter( ((CommonToken)f).getStartIndex() );
@@ -548,7 +537,7 @@
 	:
 		(		t=VAR		{ value = context.getVariableValueHandler(t.getText() ); }
 			|	t=STRING    { value = new ObjectLiteralValue( getString( t ) ); }
-			| 	t=ID        { value = new ObjectLiteralValue( t.getText() ); }			
+			| 	t=SYMBOL    { value = new ObjectLiteralValue( t.getText() ); }			
 			|	t=FLOAT     { value = new DoubleLiteralValue( t.getText() ); }
 			|	t=INT       { value = new LongLiteralValue( t.getText() ); }			
 			|	t=BOOL      { value = new BooleanLiteralValue( t.getText() ); }						
@@ -566,12 +555,12 @@
 	}
 	:
 		LEFT_PAREN
-		id=ID {
+		id=SYMBOL {
 			name = id.getText();
 		}
 		(		t=VAR       { nameValuePair = new SlotNameValuePair(name, context.getVariableValueHandler( t.getText() ) ); }
 			| 	t=STRING    { nameValuePair = new SlotNameValuePair(name, new ObjectLiteralValue( getString( t ) ) ); }
-			| 	t=ID        { nameValuePair = new SlotNameValuePair(name, new ObjectLiteralValue( t.getText() ) ); }			
+			| 	t=SYMBOL    { nameValuePair = new SlotNameValuePair(name, new ObjectLiteralValue( t.getText() ) ); }			
 			|	t=FLOAT     { nameValuePair = new SlotNameValuePair(name, new DoubleLiteralValue( t.getText() ) ); }
 			|	t=INT       { nameValuePair = new SlotNameValuePair(name, new LongLiteralValue( t.getText() ) ); }			
 			|	t=BOOL      { nameValuePair = new SlotNameValuePair(name, new BooleanLiteralValue( t.getText() ) ) ; }						
@@ -588,7 +577,7 @@
 		text = null;
 	}
 	:	(   t=STRING { text = getString( t ); } 
-		  | t=ID     { text = t.getText(); }
+		  | t=SYMBOL     { text = t.getText(); }
 		  | t=INT    { text = t.getText(); }
 		  | t=FLOAT	 { text = t.getText(); }
 		  | t=BOOL 	 { text = t.getText(); }
@@ -598,9 +587,8 @@
 	
 function_name returns [Token tok]
 	:
-	(	t=ID	
+	(	t=SYMBOL	
 	|	t=MISC
-	|	t=SYMBOL
 	)
 	{
 	    tok = t;
@@ -616,9 +604,6 @@
 
 NULL	:	'null';
 
-MODULE
-	: ('A'..'Z')+'::'
-	;  	
 
 WS      :       (	' '
                 |	'\t'
@@ -684,9 +669,9 @@
 VAR 	: '?'('a'..'z'|'A'..'Z'|'_'|'$')('a'..'z'|'A'..'Z'|'_'|'0'..'9')* 
         ;
 
-ID	
-	:	('a'..'z'|'A'..'Z'|'_'|'$')('a'..'z'|'A'..'Z'|'_'|'0'..'9')* 
-	;
+//ID	
+//	:	('a'..'z'|'A'..'Z'|'_'|'$')('a'..'z'|'A'..'Z'|'_'|'0'..'9')* 
+//	;
 
 SH_STYLE_SINGLE_LINE_COMMENT	
 	:	'#' ( options{greedy=false;} : .)* EOL /* ('\r')? '\n'  */
@@ -739,7 +724,7 @@
 	:	'/*' (options{greedy=false;} : .)* '*/'
                 { $channel=HIDDEN; }
 	;
-
+	
 MISC 	:
 		'!' | '@' | '$' | '%' | '^' | '*' | '_' | '-' | '+'  | '?' | ',' | '=' | '/' | '\'' | '\\' | 
 		'<' | '>' | '<=' | '>=' 

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-15 16:28:04 UTC (rev 10235)
+++ labs/jbossrules/trunk/drools-compiler/src/test/java/org/drools/clp/ClpParserTest.java	2007-03-15 16:47:48 UTC (rev 10236)
@@ -30,6 +30,11 @@
 public class ClpParserTest extends TestCase {
 
     private CLPParser parser;
+    
+    protected void tearDown() throws Exception {
+        super.tearDown();
+        this.parser = null;
+    }
 
     public void testParseFunction() throws Exception {
         ExecutionBuildContext context = new ExecutionBuildContext( new CLPPredicate() );
@@ -309,7 +314,7 @@
     }
 
     public void testRuleHeader() throws Exception {
-        RuleDescr rule = parse( "(defrule MAIN:: name \"docs\"(declare (salience -100) ) => )" ).rule();
+        RuleDescr rule = parse( "(defrule MAIN::name \"docs\"(declare (salience -100) ) => )" ).rule();
         
         List attributes = rule.getAttributes();
         AttributeDescr module = ( AttributeDescr ) attributes.get( 0 );




More information about the jboss-svn-commits mailing list