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

jboss-svn-commits at lists.jboss.org jboss-svn-commits at lists.jboss.org
Wed Mar 14 18:20:42 EDT 2007


Author: mark.proctor at jboss.com
Date: 2007-03-14 18:20:42 -0400 (Wed, 14 Mar 2007)
New Revision: 10194

Modified:
   labs/jbossrules/trunk/drools-compiler/src/main/java/org/drools/clp/CLPLexer.java
   labs/jbossrules/trunk/drools-compiler/src/main/java/org/drools/clp/CLPParser.java
   labs/jbossrules/trunk/drools-compiler/src/main/resources/org/drools/clp/CLP.g
Log:
JBRULES-720 Clips Parser
-corrected agenda-group

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-14 22:18:31 UTC (rev 10193)
+++ labs/jbossrules/trunk/drools-compiler/src/main/java/org/drools/clp/CLPLexer.java	2007-03-14 22:20:42 UTC (rev 10194)
@@ -1,4 +1,4 @@
-// $ANTLR 3.0b7 C:\\dev\\jbossrules\\trunk\\drools-compiler\\src\\main\\resources\\org\\drools\\clp\\CLP.g 2007-03-14 22:17:40
+// $ANTLR 3.0b7 C:\\dev\\jbossrules\\trunk\\drools-compiler\\src\\main\\resources\\org\\drools\\clp\\CLP.g 2007-03-14 22:20:00
 
 	package org.drools.clp;
 
@@ -16,6 +16,7 @@
     public static final int MISC=22;
     public static final int FLOAT=19;
     public static final int TILDE=18;
+    public static final int T45=45;
     public static final int OR=11;
     public static final int PIPE=17;
     public static final int AND=10;
@@ -44,7 +45,7 @@
     public static final int EOF=-1;
     public static final int EOL=25;
     public static final int NULL=21;
-    public static final int Tokens=45;
+    public static final int Tokens=46;
     public static final int OctalEscape=31;
     public static final int SALIENCE=8;
     public static final int MULTI_LINE_COMMENT=38;
@@ -56,7 +57,7 @@
     public CLPLexer() {;} 
     public CLPLexer(CharStream input) {
         super(input);
-        ruleMemo = new HashMap[43+1];
+        ruleMemo = new HashMap[44+1];
      }
     public String getGrammarFileName() { return "C:\\dev\\jbossrules\\trunk\\drools-compiler\\src\\main\\resources\\org\\drools\\clp\\CLP.g"; }
 
@@ -101,10 +102,10 @@
             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: '=>'
+            // 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: '::'
             {
-            match("=>"); if (failed) return ;
+            match("::"); if (failed) return ;
 
 
             }
@@ -134,10 +135,10 @@
             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: '<-'
+            // 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: '=>'
             {
-            match("<-"); if (failed) return ;
+            match("=>"); if (failed) return ;
 
 
             }
@@ -167,11 +168,12 @@
             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: ':'
+            // C:\\dev\\jbossrules\\trunk\\drools-compiler\\src\\main\\resources\\org\\drools\\clp\\CLP.g:9:7: ( '<-' )
+            // C:\\dev\\jbossrules\\trunk\\drools-compiler\\src\\main\\resources\\org\\drools\\clp\\CLP.g:9:7: '<-'
             {
-            match(':'); if (failed) return ;
+            match("<-"); if (failed) return ;
 
+
             }
 
 
@@ -199,10 +201,10 @@
             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: '='
+            // C:\\dev\\jbossrules\\trunk\\drools-compiler\\src\\main\\resources\\org\\drools\\clp\\CLP.g:10:7: ( ':' )
+            // C:\\dev\\jbossrules\\trunk\\drools-compiler\\src\\main\\resources\\org\\drools\\clp\\CLP.g:10:7: ':'
             {
-            match('='); if (failed) return ;
+            match(':'); if (failed) return ;
 
             }
 
@@ -231,9 +233,41 @@
             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'
+            // C:\\dev\\jbossrules\\trunk\\drools-compiler\\src\\main\\resources\\org\\drools\\clp\\CLP.g:11:7: ( '=' )
+            // C:\\dev\\jbossrules\\trunk\\drools-compiler\\src\\main\\resources\\org\\drools\\clp\\CLP.g:11:7: '='
             {
+            match('='); if (failed) return ;
+
+            }
+
+
+            if ( backtracking==0 ) {
+
+                      if ( token==null && ruleNestingLevel==1 ) {
+                          emit(_type,_line,_charPosition,_channel,_start,getCharIndex()-1);
+                      }
+
+                      
+            }
+        }
+        finally {
+            ruleNestingLevel--;
+        }
+    }
+    // $ANTLR end T44
+
+    // $ANTLR start T45
+    public void mT45() throws RecognitionException {
+        try {
+            ruleNestingLevel++;
+            int _type = T45;
+            int _start = getCharIndex();
+            int _line = getLine();
+            int _charPosition = getCharPositionInLine();
+            int _channel = Token.DEFAULT_CHANNEL;
+            // C:\\dev\\jbossrules\\trunk\\drools-compiler\\src\\main\\resources\\org\\drools\\clp\\CLP.g:12:7: ( 'modify' )
+            // C:\\dev\\jbossrules\\trunk\\drools-compiler\\src\\main\\resources\\org\\drools\\clp\\CLP.g:12:7: 'modify'
+            {
             match("modify"); if (failed) return ;
 
 
@@ -253,7 +287,7 @@
             ruleNestingLevel--;
         }
     }
-    // $ANTLR end T44
+    // $ANTLR end T45
 
     // $ANTLR start DEFRULE
     public void mDEFRULE() throws RecognitionException {
@@ -2394,8 +2428,8 @@
     // $ANTLR end SYMBOL
 
     public void mTokens() throws RecognitionException {
-        // C:\\dev\\jbossrules\\trunk\\drools-compiler\\src\\main\\resources\\org\\drools\\clp\\CLP.g:1:10: ( T39 | T40 | T41 | T42 | T43 | T44 | DEFRULE | OR | AND | NOT | EXISTS | TEST | NULL | 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 alt22=36;
+        // C:\\dev\\jbossrules\\trunk\\drools-compiler\\src\\main\\resources\\org\\drools\\clp\\CLP.g:1:10: ( T39 | T40 | T41 | T42 | T43 | T44 | T45 | DEFRULE | OR | AND | NOT | EXISTS | TEST | NULL | 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 alt22=37;
         alt22 = dfa22.predict(input);
         switch (alt22) {
             case 1 :
@@ -2441,211 +2475,218 @@
                 }
                 break;
             case 7 :
-                // C:\\dev\\jbossrules\\trunk\\drools-compiler\\src\\main\\resources\\org\\drools\\clp\\CLP.g:1:34: DEFRULE
+                // C:\\dev\\jbossrules\\trunk\\drools-compiler\\src\\main\\resources\\org\\drools\\clp\\CLP.g:1:34: T45
                 {
-                mDEFRULE(); if (failed) return ;
+                mT45(); if (failed) return ;
 
                 }
                 break;
             case 8 :
-                // C:\\dev\\jbossrules\\trunk\\drools-compiler\\src\\main\\resources\\org\\drools\\clp\\CLP.g:1:42: OR
+                // C:\\dev\\jbossrules\\trunk\\drools-compiler\\src\\main\\resources\\org\\drools\\clp\\CLP.g:1:38: DEFRULE
                 {
-                mOR(); if (failed) return ;
+                mDEFRULE(); if (failed) return ;
 
                 }
                 break;
             case 9 :
-                // C:\\dev\\jbossrules\\trunk\\drools-compiler\\src\\main\\resources\\org\\drools\\clp\\CLP.g:1:45: AND
+                // C:\\dev\\jbossrules\\trunk\\drools-compiler\\src\\main\\resources\\org\\drools\\clp\\CLP.g:1:46: OR
                 {
-                mAND(); if (failed) return ;
+                mOR(); if (failed) return ;
 
                 }
                 break;
             case 10 :
-                // C:\\dev\\jbossrules\\trunk\\drools-compiler\\src\\main\\resources\\org\\drools\\clp\\CLP.g:1:49: NOT
+                // C:\\dev\\jbossrules\\trunk\\drools-compiler\\src\\main\\resources\\org\\drools\\clp\\CLP.g:1:49: AND
                 {
-                mNOT(); if (failed) return ;
+                mAND(); if (failed) return ;
 
                 }
                 break;
             case 11 :
-                // C:\\dev\\jbossrules\\trunk\\drools-compiler\\src\\main\\resources\\org\\drools\\clp\\CLP.g:1:53: EXISTS
+                // C:\\dev\\jbossrules\\trunk\\drools-compiler\\src\\main\\resources\\org\\drools\\clp\\CLP.g:1:53: NOT
                 {
-                mEXISTS(); if (failed) return ;
+                mNOT(); if (failed) return ;
 
                 }
                 break;
             case 12 :
-                // C:\\dev\\jbossrules\\trunk\\drools-compiler\\src\\main\\resources\\org\\drools\\clp\\CLP.g:1:60: TEST
+                // C:\\dev\\jbossrules\\trunk\\drools-compiler\\src\\main\\resources\\org\\drools\\clp\\CLP.g:1:57: EXISTS
                 {
-                mTEST(); if (failed) return ;
+                mEXISTS(); if (failed) return ;
 
                 }
                 break;
             case 13 :
-                // C:\\dev\\jbossrules\\trunk\\drools-compiler\\src\\main\\resources\\org\\drools\\clp\\CLP.g:1:65: NULL
+                // C:\\dev\\jbossrules\\trunk\\drools-compiler\\src\\main\\resources\\org\\drools\\clp\\CLP.g:1:64: TEST
                 {
-                mNULL(); if (failed) return ;
+                mTEST(); if (failed) return ;
 
                 }
                 break;
             case 14 :
-                // C:\\dev\\jbossrules\\trunk\\drools-compiler\\src\\main\\resources\\org\\drools\\clp\\CLP.g:1:70: WS
+                // C:\\dev\\jbossrules\\trunk\\drools-compiler\\src\\main\\resources\\org\\drools\\clp\\CLP.g:1:69: NULL
                 {
-                mWS(); if (failed) return ;
+                mNULL(); if (failed) return ;
 
                 }
                 break;
             case 15 :
-                // C:\\dev\\jbossrules\\trunk\\drools-compiler\\src\\main\\resources\\org\\drools\\clp\\CLP.g:1:73: DECLARE
+                // C:\\dev\\jbossrules\\trunk\\drools-compiler\\src\\main\\resources\\org\\drools\\clp\\CLP.g:1:74: WS
                 {
-                mDECLARE(); if (failed) return ;
+                mWS(); if (failed) return ;
 
                 }
                 break;
             case 16 :
-                // C:\\dev\\jbossrules\\trunk\\drools-compiler\\src\\main\\resources\\org\\drools\\clp\\CLP.g:1:81: SALIENCE
+                // C:\\dev\\jbossrules\\trunk\\drools-compiler\\src\\main\\resources\\org\\drools\\clp\\CLP.g:1:77: DECLARE
                 {
-                mSALIENCE(); if (failed) return ;
+                mDECLARE(); if (failed) return ;
 
                 }
                 break;
             case 17 :
-                // C:\\dev\\jbossrules\\trunk\\drools-compiler\\src\\main\\resources\\org\\drools\\clp\\CLP.g:1:90: INT
+                // C:\\dev\\jbossrules\\trunk\\drools-compiler\\src\\main\\resources\\org\\drools\\clp\\CLP.g:1:85: SALIENCE
                 {
-                mINT(); if (failed) return ;
+                mSALIENCE(); if (failed) return ;
 
                 }
                 break;
             case 18 :
-                // C:\\dev\\jbossrules\\trunk\\drools-compiler\\src\\main\\resources\\org\\drools\\clp\\CLP.g:1:94: FLOAT
+                // C:\\dev\\jbossrules\\trunk\\drools-compiler\\src\\main\\resources\\org\\drools\\clp\\CLP.g:1:94: INT
                 {
-                mFLOAT(); if (failed) return ;
+                mINT(); if (failed) return ;
 
                 }
                 break;
             case 19 :
-                // C:\\dev\\jbossrules\\trunk\\drools-compiler\\src\\main\\resources\\org\\drools\\clp\\CLP.g:1:100: STRING
+                // C:\\dev\\jbossrules\\trunk\\drools-compiler\\src\\main\\resources\\org\\drools\\clp\\CLP.g:1:98: FLOAT
                 {
-                mSTRING(); if (failed) return ;
+                mFLOAT(); if (failed) return ;
 
                 }
                 break;
             case 20 :
-                // C:\\dev\\jbossrules\\trunk\\drools-compiler\\src\\main\\resources\\org\\drools\\clp\\CLP.g:1:107: BOOL
+                // C:\\dev\\jbossrules\\trunk\\drools-compiler\\src\\main\\resources\\org\\drools\\clp\\CLP.g:1:104: STRING
                 {
-                mBOOL(); if (failed) return ;
+                mSTRING(); if (failed) return ;
 
                 }
                 break;
             case 21 :
-                // C:\\dev\\jbossrules\\trunk\\drools-compiler\\src\\main\\resources\\org\\drools\\clp\\CLP.g:1:112: VAR
+                // C:\\dev\\jbossrules\\trunk\\drools-compiler\\src\\main\\resources\\org\\drools\\clp\\CLP.g:1:111: BOOL
                 {
-                mVAR(); if (failed) return ;
+                mBOOL(); if (failed) return ;
 
                 }
                 break;
             case 22 :
-                // C:\\dev\\jbossrules\\trunk\\drools-compiler\\src\\main\\resources\\org\\drools\\clp\\CLP.g:1:116: ID
+                // C:\\dev\\jbossrules\\trunk\\drools-compiler\\src\\main\\resources\\org\\drools\\clp\\CLP.g:1:116: VAR
                 {
-                mID(); if (failed) return ;
+                mVAR(); if (failed) return ;
 
                 }
                 break;
             case 23 :
-                // C:\\dev\\jbossrules\\trunk\\drools-compiler\\src\\main\\resources\\org\\drools\\clp\\CLP.g:1:119: SH_STYLE_SINGLE_LINE_COMMENT
+                // C:\\dev\\jbossrules\\trunk\\drools-compiler\\src\\main\\resources\\org\\drools\\clp\\CLP.g:1:120: ID
                 {
-                mSH_STYLE_SINGLE_LINE_COMMENT(); if (failed) return ;
+                mID(); if (failed) return ;
 
                 }
                 break;
             case 24 :
-                // C:\\dev\\jbossrules\\trunk\\drools-compiler\\src\\main\\resources\\org\\drools\\clp\\CLP.g:1:148: C_STYLE_SINGLE_LINE_COMMENT
+                // C:\\dev\\jbossrules\\trunk\\drools-compiler\\src\\main\\resources\\org\\drools\\clp\\CLP.g:1:123: SH_STYLE_SINGLE_LINE_COMMENT
                 {
-                mC_STYLE_SINGLE_LINE_COMMENT(); if (failed) return ;
+                mSH_STYLE_SINGLE_LINE_COMMENT(); if (failed) return ;
 
                 }
                 break;
             case 25 :
-                // C:\\dev\\jbossrules\\trunk\\drools-compiler\\src\\main\\resources\\org\\drools\\clp\\CLP.g:1:176: LEFT_PAREN
+                // C:\\dev\\jbossrules\\trunk\\drools-compiler\\src\\main\\resources\\org\\drools\\clp\\CLP.g:1:152: C_STYLE_SINGLE_LINE_COMMENT
                 {
-                mLEFT_PAREN(); if (failed) return ;
+                mC_STYLE_SINGLE_LINE_COMMENT(); if (failed) return ;
 
                 }
                 break;
             case 26 :
-                // C:\\dev\\jbossrules\\trunk\\drools-compiler\\src\\main\\resources\\org\\drools\\clp\\CLP.g:1:187: RIGHT_PAREN
+                // C:\\dev\\jbossrules\\trunk\\drools-compiler\\src\\main\\resources\\org\\drools\\clp\\CLP.g:1:180: LEFT_PAREN
                 {
-                mRIGHT_PAREN(); if (failed) return ;
+                mLEFT_PAREN(); if (failed) return ;
 
                 }
                 break;
             case 27 :
-                // C:\\dev\\jbossrules\\trunk\\drools-compiler\\src\\main\\resources\\org\\drools\\clp\\CLP.g:1:199: LEFT_SQUARE
+                // C:\\dev\\jbossrules\\trunk\\drools-compiler\\src\\main\\resources\\org\\drools\\clp\\CLP.g:1:191: RIGHT_PAREN
                 {
-                mLEFT_SQUARE(); if (failed) return ;
+                mRIGHT_PAREN(); if (failed) return ;
 
                 }
                 break;
             case 28 :
-                // C:\\dev\\jbossrules\\trunk\\drools-compiler\\src\\main\\resources\\org\\drools\\clp\\CLP.g:1:211: RIGHT_SQUARE
+                // C:\\dev\\jbossrules\\trunk\\drools-compiler\\src\\main\\resources\\org\\drools\\clp\\CLP.g:1:203: LEFT_SQUARE
                 {
-                mRIGHT_SQUARE(); if (failed) return ;
+                mLEFT_SQUARE(); if (failed) return ;
 
                 }
                 break;
             case 29 :
-                // C:\\dev\\jbossrules\\trunk\\drools-compiler\\src\\main\\resources\\org\\drools\\clp\\CLP.g:1:224: LEFT_CURLY
+                // C:\\dev\\jbossrules\\trunk\\drools-compiler\\src\\main\\resources\\org\\drools\\clp\\CLP.g:1:215: RIGHT_SQUARE
                 {
-                mLEFT_CURLY(); if (failed) return ;
+                mRIGHT_SQUARE(); if (failed) return ;
 
                 }
                 break;
             case 30 :
-                // C:\\dev\\jbossrules\\trunk\\drools-compiler\\src\\main\\resources\\org\\drools\\clp\\CLP.g:1:235: RIGHT_CURLY
+                // C:\\dev\\jbossrules\\trunk\\drools-compiler\\src\\main\\resources\\org\\drools\\clp\\CLP.g:1:228: LEFT_CURLY
                 {
-                mRIGHT_CURLY(); if (failed) return ;
+                mLEFT_CURLY(); if (failed) return ;
 
                 }
                 break;
             case 31 :
-                // C:\\dev\\jbossrules\\trunk\\drools-compiler\\src\\main\\resources\\org\\drools\\clp\\CLP.g:1:247: TILDE
+                // C:\\dev\\jbossrules\\trunk\\drools-compiler\\src\\main\\resources\\org\\drools\\clp\\CLP.g:1:239: RIGHT_CURLY
                 {
-                mTILDE(); if (failed) return ;
+                mRIGHT_CURLY(); if (failed) return ;
 
                 }
                 break;
             case 32 :
-                // C:\\dev\\jbossrules\\trunk\\drools-compiler\\src\\main\\resources\\org\\drools\\clp\\CLP.g:1:253: AMPERSAND
+                // C:\\dev\\jbossrules\\trunk\\drools-compiler\\src\\main\\resources\\org\\drools\\clp\\CLP.g:1:251: TILDE
                 {
-                mAMPERSAND(); if (failed) return ;
+                mTILDE(); if (failed) return ;
 
                 }
                 break;
             case 33 :
-                // C:\\dev\\jbossrules\\trunk\\drools-compiler\\src\\main\\resources\\org\\drools\\clp\\CLP.g:1:263: PIPE
+                // C:\\dev\\jbossrules\\trunk\\drools-compiler\\src\\main\\resources\\org\\drools\\clp\\CLP.g:1:257: AMPERSAND
                 {
-                mPIPE(); if (failed) return ;
+                mAMPERSAND(); if (failed) return ;
 
                 }
                 break;
             case 34 :
-                // C:\\dev\\jbossrules\\trunk\\drools-compiler\\src\\main\\resources\\org\\drools\\clp\\CLP.g:1:268: MULTI_LINE_COMMENT
+                // C:\\dev\\jbossrules\\trunk\\drools-compiler\\src\\main\\resources\\org\\drools\\clp\\CLP.g:1:267: PIPE
                 {
-                mMULTI_LINE_COMMENT(); if (failed) return ;
+                mPIPE(); if (failed) return ;
 
                 }
                 break;
             case 35 :
-                // C:\\dev\\jbossrules\\trunk\\drools-compiler\\src\\main\\resources\\org\\drools\\clp\\CLP.g:1:287: MISC
+                // C:\\dev\\jbossrules\\trunk\\drools-compiler\\src\\main\\resources\\org\\drools\\clp\\CLP.g:1:272: MULTI_LINE_COMMENT
                 {
-                mMISC(); if (failed) return ;
+                mMULTI_LINE_COMMENT(); if (failed) return ;
 
                 }
                 break;
             case 36 :
-                // C:\\dev\\jbossrules\\trunk\\drools-compiler\\src\\main\\resources\\org\\drools\\clp\\CLP.g:1:292: SYMBOL
+                // C:\\dev\\jbossrules\\trunk\\drools-compiler\\src\\main\\resources\\org\\drools\\clp\\CLP.g:1:291: MISC
                 {
+                mMISC(); if (failed) return ;
+
+                }
+                break;
+            case 37 :
+                // C:\\dev\\jbossrules\\trunk\\drools-compiler\\src\\main\\resources\\org\\drools\\clp\\CLP.g:1:296: SYMBOL
+                {
                 mSYMBOL(); if (failed) return ;
 
                 }
@@ -2658,118 +2699,121 @@
 
     protected DFA22 dfa22 = new DFA22(this);
     public static final String DFA22_eotS =
-        "\2\uffff\1\56\1\61\1\62\7\65\1\uffff\1\14\1\65\1\61\1\101\1\uffff"+
-        "\1\61\1\65\1\61\1\65\1\54\1\61\2\uffff\1\114\1\115\1\116\1\117\3"+
-        "\uffff\2\61\1\65\3\61\1\65\4\61\1\uffff\1\121\1\uffff\1\122\1\61"+
-        "\2\uffff\2\65\1\uffff\1\65\1\126\7\65\1\101\1\54\1\uffff\2\54\1"+
-        "\21\1\65\1\uffff\1\65\1\uffff\3\54\4\uffff\1\61\2\uffff\3\65\1\uffff"+
-        "\1\154\1\155\5\65\1\163\4\54\1\65\2\54\2\uffff\1\54\3\65\2\uffff"+
-        "\1\174\1\65\1\176\1\177\1\65\1\uffff\3\54\1\65\1\146\3\65\1\uffff"+
-        "\1\65\2\uffff\1\65\2\54\1\176\1\u008a\2\65\1\u008d\1\65\1\54\1\uffff"+
-        "\1\u0090\1\u0091\1\uffff\1\65\1\54\2\uffff\1\u0093\1\uffff";
+        "\2\uffff\1\56\1\60\1\63\7\66\1\uffff\1\14\1\66\1\63\1\102\1\uffff"+
+        "\1\63\1\66\1\63\1\66\1\54\1\63\2\uffff\1\115\1\116\1\117\1\120\3"+
+        "\uffff\2\63\1\66\3\63\1\66\4\63\1\uffff\1\122\1\uffff\1\123\1\uffff"+
+        "\1\124\1\63\1\uffff\2\66\1\uffff\1\66\1\130\7\66\1\102\1\54\1\uffff"+
+        "\2\54\1\21\1\66\1\uffff\1\66\1\uffff\3\54\4\uffff\1\63\3\uffff\3"+
+        "\66\1\uffff\1\156\1\66\1\160\4\66\1\165\4\54\1\66\1\uffff\3\54\1"+
+        "\uffff\3\66\1\uffff\1\176\1\uffff\1\66\1\u0080\1\u0081\1\66\1\uffff"+
+        "\3\54\1\66\1\152\3\66\1\uffff\1\66\2\uffff\1\66\2\54\1\u0081\1\u008c"+
+        "\2\66\1\u008f\1\66\1\54\1\uffff\1\u0092\1\u0093\1\uffff\1\66\1\54"+
+        "\2\uffff\1\u0095\1\uffff";
     public static final String DFA22_eofS =
-        "\u0094\uffff";
+        "\u0096\uffff";
     public static final String DFA22_minS =
         "\1\0\1\uffff\12\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\12\0\1\60"+
-        "\1\uffff\1\42\3\0\1\uffff\1\0\1\uffff\3\0\4\uffff\1\0\2\uffff\3"+
-        "\0\1\uffff\11\0\1\60\5\0\2\uffff\4\0\2\uffff\5\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";
+        "\uffff\13\0\1\uffff\1\0\1\uffff\1\0\1\uffff\2\0\1\uffff\2\0\1\uffff"+
+        "\12\0\1\60\1\uffff\1\42\3\0\1\uffff\1\0\1\uffff\3\0\4\uffff\1\0"+
+        "\3\uffff\3\0\1\uffff\10\0\1\60\4\0\1\uffff\3\0\1\uffff\3\0\1\uffff"+
+        "\1\0\1\uffff\4\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 DFA22_maxS =
         "\1\ufffe\1\uffff\12\ufffe\1\uffff\4\ufffe\1\uffff\2\ufffe\1\u00ff"+
         "\3\ufffe\2\uffff\4\ufffe\3\uffff\13\ufffe\1\uffff\1\ufffe\1\uffff"+
-        "\2\ufffe\2\uffff\2\ufffe\1\uffff\12\ufffe\1\71\1\uffff\1\165\3\ufffe"+
-        "\1\uffff\1\ufffe\1\uffff\3\ufffe\4\uffff\1\ufffe\2\uffff\3\ufffe"+
-        "\1\uffff\11\ufffe\1\146\5\ufffe\2\uffff\4\ufffe\2\uffff\5\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";
+        "\1\ufffe\1\uffff\2\ufffe\1\uffff\2\ufffe\1\uffff\12\ufffe\1\71\1"+
+        "\uffff\1\165\3\ufffe\1\uffff\1\ufffe\1\uffff\3\ufffe\4\uffff\1\ufffe"+
+        "\3\uffff\3\ufffe\1\uffff\10\ufffe\1\146\4\ufffe\1\uffff\3\ufffe"+
+        "\1\uffff\3\ufffe\1\uffff\1\ufffe\1\uffff\4\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 DFA22_acceptS =
-        "\1\uffff\1\1\12\uffff\1\16\4\uffff\1\23\6\uffff\1\31\1\32\4\uffff"+
-        "\1\37\1\40\1\41\13\uffff\1\44\1\uffff\1\5\2\uffff\1\43\1\4\2\uffff"+
-        "\1\26\13\uffff\1\21\4\uffff\1\25\1\uffff\1\27\3\uffff\1\33\1\34"+
-        "\1\35\1\36\1\uffff\1\2\1\3\3\uffff\1\10\17\uffff\1\42\1\30\4\uffff"+
-        "\1\11\1\12\5\uffff\1\22\10\uffff\1\15\1\uffff\1\24\1\14\12\uffff"+
-        "\1\6\2\uffff\1\13\2\uffff\1\17\1\7\1\uffff\1\20";
+        "\1\uffff\1\1\12\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\1\uffff\1\6\2\uffff\1"+
+        "\44\2\uffff\1\27\13\uffff\1\22\4\uffff\1\26\1\uffff\1\30\3\uffff"+
+        "\1\34\1\35\1\36\1\37\1\uffff\1\2\1\3\1\4\3\uffff\1\11\15\uffff\1"+
+        "\31\3\uffff\1\43\3\uffff\1\12\1\uffff\1\13\4\uffff\1\23\10\uffff"+
+        "\1\16\1\uffff\1\15\1\25\12\uffff\1\7\2\uffff\1\14\2\uffff\1\20\1"+
+        "\10\1\uffff\1\21";
     public static final String DFA22_specialS =
-        "\u0094\uffff}>";
+        "\u0096\uffff}>";
     public static final String[] DFA22_transition = {
         "\11\54\2\14\1\54\1\15\1\14\22\54\1\14\1\41\1\21\1\26\1\25\1\44\1"+
-        "\37\1\22\1\30\1\31\1\46\1\50\1\51\1\17\1\54\1\27\12\20\1\4\1\1\1"+
-        "\3\1\2\1\53\1\24\1\42\32\47\1\32\1\52\1\33\1\45\1\43\1\54\1\10\2"+
+        "\37\1\22\1\30\1\31\1\46\1\50\1\51\1\17\1\54\1\27\12\20\1\2\1\1\1"+
+        "\4\1\3\1\53\1\24\1\42\32\47\1\32\1\52\1\33\1\45\1\43\1\54\1\10\2"+
         "\47\1\6\1\12\1\23\6\47\1\5\1\11\1\7\3\47\1\16\1\13\6\47\1\34\1\40"+
         "\1\35\1\36\101\54\100\47\ufeff\54",
         "",
         "\11\54\2\uffff\2\54\1\uffff\22\54\1\uffff\1\54\1\uffff\3\54\1\uffff"+
-        "\1\54\2\uffff\21\54\2\uffff\1\54\1\55\1\uffff\74\54\1\uffff\1\54"+
+        "\1\54\2\uffff\20\54\1\55\2\uffff\2\54\1\uffff\74\54\1\uffff\1\54"+
         "\1\uffff\uff80\54",
         "\11\54\2\uffff\2\54\1\uffff\22\54\1\uffff\1\54\1\uffff\3\54\1\uffff"+
-        "\1\54\2\uffff\3\54\1\57\15\54\2\uffff\1\60\1\54\1\uffff\74\54\1"+
+        "\1\54\2\uffff\21\54\2\uffff\1\54\1\57\1\uffff\74\54\1\uffff\1\54"+
+        "\1\uffff\uff80\54",
+        "\11\54\2\uffff\2\54\1\uffff\22\54\1\uffff\1\54\1\uffff\3\54\1\uffff"+
+        "\1\54\2\uffff\3\54\1\61\15\54\2\uffff\1\62\1\54\1\uffff\74\54\1"+
         "\uffff\1\54\1\uffff\uff80\54",
         "\11\54\2\uffff\2\54\1\uffff\22\54\1\uffff\1\54\1\uffff\3\54\1\uffff"+
-        "\1\54\2\uffff\21\54\2\uffff\2\54\1\uffff\74\54\1\uffff\1\54\1\uffff"+
-        "\uff80\54",
+        "\1\54\2\uffff\6\54\12\65\1\54\2\uffff\2\54\1\uffff\1\54\32\65\4"+
+        "\54\1\65\1\54\16\65\1\64\13\65\1\54\1\uffff\1\54\1\uffff\101\54"+
+        "\100\65\ufeff\54",
         "\11\54\2\uffff\2\54\1\uffff\22\54\1\uffff\1\54\1\uffff\3\54\1\uffff"+
-        "\1\54\2\uffff\6\54\12\64\1\54\2\uffff\2\54\1\uffff\1\54\32\64\4"+
-        "\54\1\64\1\54\16\64\1\63\13\64\1\54\1\uffff\1\54\1\uffff\101\54"+
-        "\100\64\ufeff\54",
+        "\1\54\2\uffff\6\54\12\65\1\54\2\uffff\2\54\1\uffff\1\54\32\65\4"+
+        "\54\1\65\1\54\4\65\1\67\25\65\1\54\1\uffff\1\54\1\uffff\101\54\100"+
+        "\65\ufeff\54",
         "\11\54\2\uffff\2\54\1\uffff\22\54\1\uffff\1\54\1\uffff\3\54\1\uffff"+
-        "\1\54\2\uffff\6\54\12\64\1\54\2\uffff\2\54\1\uffff\1\54\32\64\4"+
-        "\54\1\64\1\54\4\64\1\66\25\64\1\54\1\uffff\1\54\1\uffff\101\54\100"+
-        "\64\ufeff\54",
+        "\1\54\2\uffff\6\54\12\65\1\54\2\uffff\2\54\1\uffff\1\54\32\65\4"+
+        "\54\1\65\1\54\21\65\1\70\10\65\1\54\1\uffff\1\54\1\uffff\101\54"+
+        "\100\65\ufeff\54",
         "\11\54\2\uffff\2\54\1\uffff\22\54\1\uffff\1\54\1\uffff\3\54\1\uffff"+
-        "\1\54\2\uffff\6\54\12\64\1\54\2\uffff\2\54\1\uffff\1\54\32\64\4"+
-        "\54\1\64\1\54\21\64\1\67\10\64\1\54\1\uffff\1\54\1\uffff\101\54"+
-        "\100\64\ufeff\54",
+        "\1\54\2\uffff\6\54\12\65\1\54\2\uffff\2\54\1\uffff\1\54\32\65\4"+
+        "\54\1\65\1\54\15\65\1\71\14\65\1\54\1\uffff\1\54\1\uffff\101\54"+
+        "\100\65\ufeff\54",
         "\11\54\2\uffff\2\54\1\uffff\22\54\1\uffff\1\54\1\uffff\3\54\1\uffff"+
-        "\1\54\2\uffff\6\54\12\64\1\54\2\uffff\2\54\1\uffff\1\54\32\64\4"+
-        "\54\1\64\1\54\15\64\1\70\14\64\1\54\1\uffff\1\54\1\uffff\101\54"+
-        "\100\64\ufeff\54",
+        "\1\54\2\uffff\6\54\12\65\1\54\2\uffff\2\54\1\uffff\1\54\32\65\4"+
+        "\54\1\65\1\54\16\65\1\73\5\65\1\72\5\65\1\54\1\uffff\1\54\1\uffff"+
+        "\101\54\100\65\ufeff\54",
         "\11\54\2\uffff\2\54\1\uffff\22\54\1\uffff\1\54\1\uffff\3\54\1\uffff"+
-        "\1\54\2\uffff\6\54\12\64\1\54\2\uffff\2\54\1\uffff\1\54\32\64\4"+
-        "\54\1\64\1\54\16\64\1\71\5\64\1\72\5\64\1\54\1\uffff\1\54\1\uffff"+
-        "\101\54\100\64\ufeff\54",
+        "\1\54\2\uffff\6\54\12\65\1\54\2\uffff\2\54\1\uffff\1\54\32\65\4"+
+        "\54\1\65\1\54\27\65\1\74\2\65\1\54\1\uffff\1\54\1\uffff\101\54\100"+
+        "\65\ufeff\54",
         "\11\54\2\uffff\2\54\1\uffff\22\54\1\uffff\1\54\1\uffff\3\54\1\uffff"+
-        "\1\54\2\uffff\6\54\12\64\1\54\2\uffff\2\54\1\uffff\1\54\32\64\4"+
-        "\54\1\64\1\54\27\64\1\73\2\64\1\54\1\uffff\1\54\1\uffff\101\54\100"+
-        "\64\ufeff\54",
-        "\11\54\2\uffff\2\54\1\uffff\22\54\1\uffff\1\54\1\uffff\3\54\1\uffff"+
-        "\1\54\2\uffff\6\54\12\64\1\54\2\uffff\2\54\1\uffff\1\54\32\64\4"+
-        "\54\1\64\1\54\4\64\1\75\14\64\1\74\10\64\1\54\1\uffff\1\54\1\uffff"+
-        "\101\54\100\64\ufeff\54",
+        "\1\54\2\uffff\6\54\12\65\1\54\2\uffff\2\54\1\uffff\1\54\32\65\4"+
+        "\54\1\65\1\54\4\65\1\75\14\65\1\76\10\65\1\54\1\uffff\1\54\1\uffff"+
+        "\101\54\100\65\ufeff\54",
         "",
         "\11\54\2\uffff\2\54\1\uffff\22\54\1\uffff\1\54\1\uffff\3\54\1\uffff"+
         "\1\54\2\uffff\21\54\2\uffff\2\54\1\uffff\74\54\1\uffff\1\54\1\uffff"+
         "\uff80\54",
         "\11\54\2\uffff\2\54\1\uffff\22\54\1\uffff\1\54\1\uffff\3\54\1\uffff"+
-        "\1\54\2\uffff\6\54\12\64\1\54\2\uffff\2\54\1\uffff\1\54\32\64\4"+
-        "\54\1\64\1\54\1\76\31\64\1\54\1\uffff\1\54\1\uffff\101\54\100\64"+
+        "\1\54\2\uffff\6\54\12\65\1\54\2\uffff\2\54\1\uffff\1\54\32\65\4"+
+        "\54\1\65\1\54\1\77\31\65\1\54\1\uffff\1\54\1\uffff\101\54\100\65"+
         "\ufeff\54",
         "\11\54\2\uffff\2\54\1\uffff\22\54\1\uffff\1\54\1\uffff\3\54\1\uffff"+
-        "\1\54\2\uffff\6\54\12\77\1\54\2\uffff\2\54\1\uffff\74\54\1\uffff"+
+        "\1\54\2\uffff\6\54\12\100\1\54\2\uffff\2\54\1\uffff\74\54\1\uffff"+
         "\1\54\1\uffff\uff80\54",
         "\11\54\2\uffff\2\54\1\uffff\22\54\1\uffff\1\54\1\uffff\3\54\1\uffff"+
-        "\1\54\2\uffff\4\54\1\100\1\54\12\77\1\54\2\uffff\2\54\1\uffff\74"+
+        "\1\54\2\uffff\4\54\1\101\1\54\12\100\1\54\2\uffff\2\54\1\uffff\74"+
         "\54\1\uffff\1\54\1\uffff\uff80\54",
         "",
-        "\11\103\2\21\2\103\1\21\22\103\1\21\1\103\1\21\3\103\1\21\1\104"+
-        "\2\21\21\103\2\21\2\103\1\21\34\103\1\102\37\103\1\21\1\103\1\21"+
-        "\uff80\103",
+        "\11\104\2\21\2\104\1\21\22\104\1\21\1\104\1\21\3\104\1\21\1\105"+
+        "\2\21\21\104\2\21\2\104\1\21\34\104\1\103\37\104\1\21\1\104\1\21"+
+        "\uff80\104",
         "\11\54\2\uffff\2\54\1\uffff\22\54\1\uffff\1\54\1\uffff\3\54\1\uffff"+
-        "\1\54\2\uffff\6\54\12\64\1\54\2\uffff\2\54\1\uffff\1\54\32\64\4"+
-        "\54\1\64\1\54\1\105\31\64\1\54\1\uffff\1\54\1\uffff\101\54\100\64"+
+        "\1\54\2\uffff\6\54\12\65\1\54\2\uffff\2\54\1\uffff\1\54\32\65\4"+
+        "\54\1\65\1\54\1\106\31\65\1\54\1\uffff\1\54\1\uffff\101\54\100\65"+
         "\ufeff\54",
-        "\1\106\34\uffff\32\106\4\uffff\1\106\1\uffff\32\106\105\uffff\100"+
-        "\106",
+        "\1\107\34\uffff\32\107\4\uffff\1\107\1\uffff\32\107\105\uffff\100"+
+        "\107",
         "\11\54\2\uffff\2\54\1\uffff\22\54\1\uffff\1\54\1\uffff\3\54\1\uffff"+
-        "\1\54\2\uffff\6\54\12\107\1\54\2\uffff\2\54\1\uffff\1\54\32\107"+
-        "\4\54\1\107\1\54\32\107\1\54\1\uffff\1\54\1\uffff\101\54\100\107"+
+        "\1\54\2\uffff\6\54\12\110\1\54\2\uffff\2\54\1\uffff\1\54\32\110"+
+        "\4\54\1\110\1\54\32\110\1\54\1\uffff\1\54\1\uffff\101\54\100\110"+
         "\ufeff\54",
-        "\11\111\2\110\2\111\1\110\22\111\1\110\1\111\1\110\3\111\1\110\1"+
-        "\111\2\110\21\111\2\110\2\111\1\110\74\111\1\110\1\111\1\110\uff80"+
-        "\111",
+        "\11\112\2\111\2\112\1\111\22\112\1\111\1\112\1\111\3\112\1\111\1"+
+        "\112\2\111\21\112\2\111\2\112\1\111\74\112\1\111\1\112\1\111\uff80"+
+        "\112",
         "\11\54\2\uffff\2\54\1\uffff\22\54\1\uffff\1\54\1\uffff\3\54\1\uffff"+
-        "\1\54\2\uffff\1\112\4\54\1\113\13\54\2\uffff\2\54\1\uffff\74\54"+
+        "\1\54\2\uffff\1\114\4\54\1\113\13\54\2\uffff\2\54\1\uffff\74\54"+
         "\1\uffff\1\54\1\uffff\uff80\54",
         "",
         "",
@@ -2795,8 +2839,8 @@
         "\1\54\2\uffff\21\54\2\uffff\2\54\1\uffff\74\54\1\uffff\1\54\1\uffff"+
         "\uff80\54",
         "\11\54\2\uffff\2\54\1\uffff\22\54\1\uffff\1\54\1\uffff\3\54\1\uffff"+
-        "\1\54\2\uffff\6\54\12\64\1\54\2\uffff\2\54\1\uffff\1\54\32\64\4"+
-        "\54\1\64\1\54\32\64\1\54\1\uffff\1\54\1\uffff\101\54\100\64\ufeff"+
+        "\1\54\2\uffff\6\54\12\65\1\54\2\uffff\2\54\1\uffff\1\54\32\65\4"+
+        "\54\1\65\1\54\32\65\1\54\1\uffff\1\54\1\uffff\101\54\100\65\ufeff"+
         "\54",
         "\11\54\2\uffff\2\54\1\uffff\22\54\1\uffff\1\54\1\uffff\3\54\1\uffff"+
         "\1\54\2\uffff\21\54\2\uffff\2\54\1\uffff\74\54\1\uffff\1\54\1\uffff"+
@@ -2808,8 +2852,8 @@
         "\1\54\2\uffff\21\54\2\uffff\2\54\1\uffff\74\54\1\uffff\1\54\1\uffff"+
         "\uff80\54",
         "\11\54\2\uffff\2\54\1\uffff\22\54\1\uffff\1\54\1\uffff\3\54\1\uffff"+
-        "\1\54\2\uffff\6\54\12\64\1\54\2\uffff\2\54\1\uffff\1\54\32\64\4"+
-        "\54\1\64\1\54\32\64\1\54\1\uffff\1\54\1\uffff\101\54\100\64\ufeff"+
+        "\1\54\2\uffff\6\54\12\65\1\54\2\uffff\2\54\1\uffff\1\54\32\65\4"+
+        "\54\1\65\1\54\32\65\1\54\1\uffff\1\54\1\uffff\101\54\100\65\ufeff"+
         "\54",
         "\11\54\2\uffff\2\54\1\uffff\22\54\1\uffff\1\54\1\uffff\3\54\1\uffff"+
         "\1\54\2\uffff\21\54\2\uffff\2\54\1\uffff\74\54\1\uffff\1\54\1\uffff"+
@@ -2821,7 +2865,7 @@
         "\1\54\2\uffff\21\54\2\uffff\2\54\1\uffff\74\54\1\uffff\1\54\1\uffff"+
         "\uff80\54",
         "\11\54\2\uffff\2\54\1\uffff\22\54\1\uffff\1\54\1\uffff\3\54\1\uffff"+
-        "\1\54\2\uffff\21\54\2\uffff\1\120\1\54\1\uffff\74\54\1\uffff\1\54"+
+        "\1\54\2\uffff\21\54\2\uffff\1\121\1\54\1\uffff\74\54\1\uffff\1\54"+
         "\1\uffff\uff80\54",
         "",
         "\11\54\2\uffff\2\54\1\uffff\22\54\1\uffff\1\54\1\uffff\3\54\1\uffff"+
@@ -2831,89 +2875,92 @@
         "\11\54\2\uffff\2\54\1\uffff\22\54\1\uffff\1\54\1\uffff\3\54\1\uffff"+
         "\1\54\2\uffff\21\54\2\uffff\2\54\1\uffff\74\54\1\uffff\1\54\1\uffff"+
         "\uff80\54",
+        "",
         "\11\54\2\uffff\2\54\1\uffff\22\54\1\uffff\1\54\1\uffff\3\54\1\uffff"+
         "\1\54\2\uffff\21\54\2\uffff\2\54\1\uffff\74\54\1\uffff\1\54\1\uffff"+
         "\uff80\54",
+        "\11\54\2\uffff\2\54\1\uffff\22\54\1\uffff\1\54\1\uffff\3\54\1\uffff"+
+        "\1\54\2\uffff\21\54\2\uffff\2\54\1\uffff\74\54\1\uffff\1\54\1\uffff"+
+        "\uff80\54",
         "",
-        "",
         "\11\54\2\uffff\2\54\1\uffff\22\54\1\uffff\1\54\1\uffff\3\54\1\uffff"+
-        "\1\54\2\uffff\6\54\12\64\1\54\2\uffff\2\54\1\uffff\1\54\32\64\4"+
-        "\54\1\64\1\54\3\64\1\123\26\64\1\54\1\uffff\1\54\1\uffff\101\54"+
-        "\100\64\ufeff\54",
+        "\1\54\2\uffff\6\54\12\65\1\54\2\uffff\2\54\1\uffff\1\54\32\65\4"+
+        "\54\1\65\1\54\3\65\1\125\26\65\1\54\1\uffff\1\54\1\uffff\101\54"+
+        "\100\65\ufeff\54",
         "\11\54\2\uffff\2\54\1\uffff\22\54\1\uffff\1\54\1\uffff\3\54\1\uffff"+
-        "\1\54\2\uffff\6\54\12\64\1\54\2\uffff\2\54\1\uffff\1\54\32\64\4"+
-        "\54\1\64\1\54\32\64\1\54\1\uffff\1\54\1\uffff\101\54\100\64\ufeff"+
+        "\1\54\2\uffff\6\54\12\65\1\54\2\uffff\2\54\1\uffff\1\54\32\65\4"+
+        "\54\1\65\1\54\32\65\1\54\1\uffff\1\54\1\uffff\101\54\100\65\ufeff"+
         "\54",
         "",
         "\11\54\2\uffff\2\54\1\uffff\22\54\1\uffff\1\54\1\uffff\3\54\1\uffff"+
-        "\1\54\2\uffff\6\54\12\64\1\54\2\uffff\2\54\1\uffff\1\54\32\64\4"+
-        "\54\1\64\1\54\2\64\1\124\2\64\1\125\24\64\1\54\1\uffff\1\54\1\uffff"+
-        "\101\54\100\64\ufeff\54",
+        "\1\54\2\uffff\6\54\12\65\1\54\2\uffff\2\54\1\uffff\1\54\32\65\4"+
+        "\54\1\65\1\54\2\65\1\126\2\65\1\127\24\65\1\54\1\uffff\1\54\1\uffff"+
+        "\101\54\100\65\ufeff\54",
         "\11\54\2\uffff\2\54\1\uffff\22\54\1\uffff\1\54\1\uffff\3\54\1\uffff"+
-        "\1\54\2\uffff\6\54\12\64\1\54\2\uffff\2\54\1\uffff\1\54\32\64\4"+
-        "\54\1\64\1\54\32\64\1\54\1\uffff\1\54\1\uffff\101\54\100\64\ufeff"+
+        "\1\54\2\uffff\6\54\12\65\1\54\2\uffff\2\54\1\uffff\1\54\32\65\4"+
+        "\54\1\65\1\54\32\65\1\54\1\uffff\1\54\1\uffff\101\54\100\65\ufeff"+
         "\54",
         "\11\54\2\uffff\2\54\1\uffff\22\54\1\uffff\1\54\1\uffff\3\54\1\uffff"+
-        "\1\54\2\uffff\6\54\12\64\1\54\2\uffff\2\54\1\uffff\1\54\32\64\4"+
-        "\54\1\64\1\54\3\64\1\127\26\64\1\54\1\uffff\1\54\1\uffff\101\54"+
-        "\100\64\ufeff\54",
+        "\1\54\2\uffff\6\54\12\65\1\54\2\uffff\2\54\1\uffff\1\54\32\65\4"+
+        "\54\1\65\1\54\3\65\1\131\26\65\1\54\1\uffff\1\54\1\uffff\101\54"+
+        "\100\65\ufeff\54",
         "\11\54\2\uffff\2\54\1\uffff\22\54\1\uffff\1\54\1\uffff\3\54\1\uffff"+
-        "\1\54\2\uffff\6\54\12\64\1\54\2\uffff\2\54\1\uffff\1\54\32\64\4"+
-        "\54\1\64\1\54\23\64\1\130\6\64\1\54\1\uffff\1\54\1\uffff\101\54"+
-        "\100\64\ufeff\54",
+        "\1\54\2\uffff\6\54\12\65\1\54\2\uffff\2\54\1\uffff\1\54\32\65\4"+
+        "\54\1\65\1\54\13\65\1\132\16\65\1\54\1\uffff\1\54\1\uffff\101\54"+
+        "\100\65\ufeff\54",
         "\11\54\2\uffff\2\54\1\uffff\22\54\1\uffff\1\54\1\uffff\3\54\1\uffff"+
-        "\1\54\2\uffff\6\54\12\64\1\54\2\uffff\2\54\1\uffff\1\54\32\64\4"+
-        "\54\1\64\1\54\13\64\1\131\16\64\1\54\1\uffff\1\54\1\uffff\101\54"+
-        "\100\64\ufeff\54",
+        "\1\54\2\uffff\6\54\12\65\1\54\2\uffff\2\54\1\uffff\1\54\32\65\4"+
+        "\54\1\65\1\54\23\65\1\133\6\65\1\54\1\uffff\1\54\1\uffff\101\54"+
+        "\100\65\ufeff\54",
         "\11\54\2\uffff\2\54\1\uffff\22\54\1\uffff\1\54\1\uffff\3\54\1\uffff"+
-        "\1\54\2\uffff\6\54\12\64\1\54\2\uffff\2\54\1\uffff\1\54\32\64\4"+
-        "\54\1\64\1\54\10\64\1\132\21\64\1\54\1\uffff\1\54\1\uffff\101\54"+
-        "\100\64\ufeff\54",
+        "\1\54\2\uffff\6\54\12\65\1\54\2\uffff\2\54\1\uffff\1\54\32\65\4"+
+        "\54\1\65\1\54\10\65\1\134\21\65\1\54\1\uffff\1\54\1\uffff\101\54"+
+        "\100\65\ufeff\54",
         "\11\54\2\uffff\2\54\1\uffff\22\54\1\uffff\1\54\1\uffff\3\54\1\uffff"+
-        "\1\54\2\uffff\6\54\12\64\1\54\2\uffff\2\54\1\uffff\1\54\32\64\4"+
-        "\54\1\64\1\54\24\64\1\133\5\64\1\54\1\uffff\1\54\1\uffff\101\54"+
-        "\100\64\ufeff\54",
+        "\1\54\2\uffff\6\54\12\65\1\54\2\uffff\2\54\1\uffff\1\54\32\65\4"+
+        "\54\1\65\1\54\22\65\1\135\7\65\1\54\1\uffff\1\54\1\uffff\101\54"+
+        "\100\65\ufeff\54",
         "\11\54\2\uffff\2\54\1\uffff\22\54\1\uffff\1\54\1\uffff\3\54\1\uffff"+
-        "\1\54\2\uffff\6\54\12\64\1\54\2\uffff\2\54\1\uffff\1\54\32\64\4"+
-        "\54\1\64\1\54\22\64\1\134\7\64\1\54\1\uffff\1\54\1\uffff\101\54"+
-        "\100\64\ufeff\54",
+        "\1\54\2\uffff\6\54\12\65\1\54\2\uffff\2\54\1\uffff\1\54\32\65\4"+
+        "\54\1\65\1\54\24\65\1\136\5\65\1\54\1\uffff\1\54\1\uffff\101\54"+
+        "\100\65\ufeff\54",
         "\11\54\2\uffff\2\54\1\uffff\22\54\1\uffff\1\54\1\uffff\3\54\1\uffff"+
-        "\1\54\2\uffff\6\54\12\64\1\54\2\uffff\2\54\1\uffff\1\54\32\64\4"+
-        "\54\1\64\1\54\13\64\1\135\16\64\1\54\1\uffff\1\54\1\uffff\101\54"+
-        "\100\64\ufeff\54",
+        "\1\54\2\uffff\6\54\12\65\1\54\2\uffff\2\54\1\uffff\1\54\32\65\4"+
+        "\54\1\65\1\54\13\65\1\137\16\65\1\54\1\uffff\1\54\1\uffff\101\54"+
+        "\100\65\ufeff\54",
         "\11\54\2\uffff\2\54\1\uffff\22\54\1\uffff\1\54\1\uffff\3\54\1\uffff"+
-        "\1\54\2\uffff\4\54\1\100\1\54\12\77\1\54\2\uffff\2\54\1\uffff\74"+
+        "\1\54\2\uffff\4\54\1\101\1\54\12\100\1\54\2\uffff\2\54\1\uffff\74"+
         "\54\1\uffff\1\54\1\uffff\uff80\54",
-        "\12\136",
+        "\12\140",
         "",
-        "\1\21\4\uffff\1\137\10\uffff\4\141\4\142\44\uffff\1\137\5\uffff"+
-        "\1\137\3\uffff\1\137\7\uffff\1\137\3\uffff\1\137\1\uffff\1\137\1"+
-        "\140",
-        "\11\103\2\21\2\103\1\21\22\103\1\21\1\103\1\21\3\103\1\21\1\104"+
-        "\2\21\21\103\2\21\2\103\1\21\34\103\1\102\37\103\1\21\1\103\1\21"+
-        "\uff80\103",
+        "\1\21\4\uffff\1\142\10\uffff\4\143\4\144\44\uffff\1\142\5\uffff"+
+        "\1\142\3\uffff\1\142\7\uffff\1\142\3\uffff\1\142\1\uffff\1\142\1"+
+        "\141",
+        "\11\104\2\21\2\104\1\21\22\104\1\21\1\104\1\21\3\104\1\21\1\105"+
+        "\2\21\21\104\2\21\2\104\1\21\34\104\1\103\37\104\1\21\1\104\1\21"+
+        "\uff80\104",
         "\11\54\2\uffff\2\54\1\uffff\22\54\1\uffff\1\54\1\uffff\3\54\1\uffff"+
         "\1\54\2\uffff\21\54\2\uffff\2\54\1\uffff\74\54\1\uffff\1\54\1\uffff"+
         "\uff80\54",
         "\11\54\2\uffff\2\54\1\uffff\22\54\1\uffff\1\54\1\uffff\3\54\1\uffff"+
-        "\1\54\2\uffff\6\54\12\64\1\54\2\uffff\2\54\1\uffff\1\54\32\64\4"+
-        "\54\1\64\1\54\13\64\1\143\16\64\1\54\1\uffff\1\54\1\uffff\101\54"+
-        "\100\64\ufeff\54",
+        "\1\54\2\uffff\6\54\12\65\1\54\2\uffff\2\54\1\uffff\1\54\32\65\4"+
+        "\54\1\65\1\54\13\65\1\145\16\65\1\54\1\uffff\1\54\1\uffff\101\54"+
+        "\100\65\ufeff\54",
         "",
         "\11\54\2\uffff\2\54\1\uffff\22\54\1\uffff\1\54\1\uffff\3\54\1\uffff"+
-        "\1\54\2\uffff\6\54\12\64\1\54\2\uffff\2\54\1\uffff\1\54\32\64\4"+
-        "\54\1\64\1\54\32\64\1\54\1\uffff\1\54\1\uffff\101\54\100\64\ufeff"+
+        "\1\54\2\uffff\6\54\12\65\1\54\2\uffff\2\54\1\uffff\1\54\32\65\4"+
+        "\54\1\65\1\54\32\65\1\54\1\uffff\1\54\1\uffff\101\54\100\65\ufeff"+
         "\54",
         "",
-        "\11\111\2\110\2\111\1\110\22\111\1\110\1\111\1\110\3\111\1\110\1"+
-        "\111\2\110\21\111\2\110\2\111\1\110\74\111\1\110\1\111\1\110\uff80"+
-        "\111",
-        "\11\145\2\146\2\145\1\146\22\145\1\146\1\145\1\146\3\145\1\146\1"+
-        "\145\2\146\1\144\20\145\2\146\2\145\1\146\74\145\1\146\1\145\1\146"+
-        "\uff80\145",
-        "\11\150\2\147\2\150\1\147\22\150\1\147\1\150\1\147\3\150\1\147\1"+
-        "\150\2\147\21\150\2\147\2\150\1\147\74\150\1\147\1\150\1\147\uff80"+
-        "\150",
+        "\11\112\2\111\2\112\1\111\22\112\1\111\1\112\1\111\3\112\1\111\1"+
+        "\112\2\111\21\112\2\111\2\112\1\111\74\112\1\111\1\112\1\111\uff80"+
+        "\112",
+        "\11\147\2\146\2\147\1\146\22\147\1\146\1\147\1\146\3\147\1\146\1"+
+        "\147\2\146\21\147\2\146\2\147\1\146\74\147\1\146\1\147\1\146\uff80"+
+        "\147",
+        "\11\151\2\152\2\151\1\152\22\151\1\152\1\151\1\152\3\151\1\152\1"+
+        "\151\2\152\1\150\20\151\2\152\2\151\1\152\74\151\1\152\1\151\1\152"+
+        "\uff80\151",
         "",
         "",
         "",
@@ -2923,198 +2970,199 @@
         "\uff80\54",
         "",
         "",
+        "",
         "\11\54\2\uffff\2\54\1\uffff\22\54\1\uffff\1\54\1\uffff\3\54\1\uffff"+
-        "\1\54\2\uffff\6\54\12\64\1\54\2\uffff\2\54\1\uffff\1\54\32\64\4"+
-        "\54\1\64\1\54\10\64\1\151\21\64\1\54\1\uffff\1\54\1\uffff\101\54"+
-        "\100\64\ufeff\54",
+        "\1\54\2\uffff\6\54\12\65\1\54\2\uffff\2\54\1\uffff\1\54\32\65\4"+
+        "\54\1\65\1\54\10\65\1\153\21\65\1\54\1\uffff\1\54\1\uffff\101\54"+
+        "\100\65\ufeff\54",
         "\11\54\2\uffff\2\54\1\uffff\22\54\1\uffff\1\54\1\uffff\3\54\1\uffff"+
-        "\1\54\2\uffff\6\54\12\64\1\54\2\uffff\2\54\1\uffff\1\54\32\64\4"+
-        "\54\1\64\1\54\13\64\1\152\16\64\1\54\1\uffff\1\54\1\uffff\101\54"+
-        "\100\64\ufeff\54",
+        "\1\54\2\uffff\6\54\12\65\1\54\2\uffff\2\54\1\uffff\1\54\32\65\4"+
+        "\54\1\65\1\54\13\65\1\154\16\65\1\54\1\uffff\1\54\1\uffff\101\54"+
+        "\100\65\ufeff\54",
         "\11\54\2\uffff\2\54\1\uffff\22\54\1\uffff\1\54\1\uffff\3\54\1\uffff"+
-        "\1\54\2\uffff\6\54\12\64\1\54\2\uffff\2\54\1\uffff\1\54\32\64\4"+
-        "\54\1\64\1\54\21\64\1\153\10\64\1\54\1\uffff\1\54\1\uffff\101\54"+
-        "\100\64\ufeff\54",
+        "\1\54\2\uffff\6\54\12\65\1\54\2\uffff\2\54\1\uffff\1\54\32\65\4"+
+        "\54\1\65\1\54\21\65\1\155\10\65\1\54\1\uffff\1\54\1\uffff\101\54"+
+        "\100\65\ufeff\54",
         "",
         "\11\54\2\uffff\2\54\1\uffff\22\54\1\uffff\1\54\1\uffff\3\54\1\uffff"+
-        "\1\54\2\uffff\6\54\12\64\1\54\2\uffff\2\54\1\uffff\1\54\32\64\4"+
-        "\54\1\64\1\54\32\64\1\54\1\uffff\1\54\1\uffff\101\54\100\64\ufeff"+
+        "\1\54\2\uffff\6\54\12\65\1\54\2\uffff\2\54\1\uffff\1\54\32\65\4"+
+        "\54\1\65\1\54\32\65\1\54\1\uffff\1\54\1\uffff\101\54\100\65\ufeff"+
         "\54",
         "\11\54\2\uffff\2\54\1\uffff\22\54\1\uffff\1\54\1\uffff\3\54\1\uffff"+
-        "\1\54\2\uffff\6\54\12\64\1\54\2\uffff\2\54\1\uffff\1\54\32\64\4"+
-        "\54\1\64\1\54\32\64\1\54\1\uffff\1\54\1\uffff\101\54\100\64\ufeff"+
+        "\1\54\2\uffff\6\54\12\65\1\54\2\uffff\2\54\1\uffff\1\54\32\65\4"+
+        "\54\1\65\1\54\13\65\1\157\16\65\1\54\1\uffff\1\54\1\uffff\101\54"+
+        "\100\65\ufeff\54",
+        "\11\54\2\uffff\2\54\1\uffff\22\54\1\uffff\1\54\1\uffff\3\54\1\uffff"+
+        "\1\54\2\uffff\6\54\12\65\1\54\2\uffff\2\54\1\uffff\1\54\32\65\4"+
+        "\54\1\65\1\54\32\65\1\54\1\uffff\1\54\1\uffff\101\54\100\65\ufeff"+
         "\54",
         "\11\54\2\uffff\2\54\1\uffff\22\54\1\uffff\1\54\1\uffff\3\54\1\uffff"+
-        "\1\54\2\uffff\6\54\12\64\1\54\2\uffff\2\54\1\uffff\1\54\32\64\4"+
-        "\54\1\64\1\54\13\64\1\156\16\64\1\54\1\uffff\1\54\1\uffff\101\54"+
-        "\100\64\ufeff\54",
+        "\1\54\2\uffff\6\54\12\65\1\54\2\uffff\2\54\1\uffff\1\54\32\65\4"+
+        "\54\1\65\1\54\22\65\1\161\7\65\1\54\1\uffff\1\54\1\uffff\101\54"+
+        "\100\65\ufeff\54",
         "\11\54\2\uffff\2\54\1\uffff\22\54\1\uffff\1\54\1\uffff\3\54\1\uffff"+
-        "\1\54\2\uffff\6\54\12\64\1\54\2\uffff\2\54\1\uffff\1\54\32\64\4"+
-        "\54\1\64\1\54\22\64\1\157\7\64\1\54\1\uffff\1\54\1\uffff\101\54"+
-        "\100\64\ufeff\54",
+        "\1\54\2\uffff\6\54\12\65\1\54\2\uffff\2\54\1\uffff\1\54\32\65\4"+
+        "\54\1\65\1\54\23\65\1\162\6\65\1\54\1\uffff\1\54\1\uffff\101\54"+
+        "\100\65\ufeff\54",
         "\11\54\2\uffff\2\54\1\uffff\22\54\1\uffff\1\54\1\uffff\3\54\1\uffff"+
-        "\1\54\2\uffff\6\54\12\64\1\54\2\uffff\2\54\1\uffff\1\54\32\64\4"+
-        "\54\1\64\1\54\4\64\1\160\25\64\1\54\1\uffff\1\54\1\uffff\101\54"+
-        "\100\64\ufeff\54",
+        "\1\54\2\uffff\6\54\12\65\1\54\2\uffff\2\54\1\uffff\1\54\32\65\4"+
+        "\54\1\65\1\54\4\65\1\163\25\65\1\54\1\uffff\1\54\1\uffff\101\54"+
+        "\100\65\ufeff\54",
         "\11\54\2\uffff\2\54\1\uffff\22\54\1\uffff\1\54\1\uffff\3\54\1\uffff"+
-        "\1\54\2\uffff\6\54\12\64\1\54\2\uffff\2\54\1\uffff\1\54\32\64\4"+
-        "\54\1\64\1\54\23\64\1\161\6\64\1\54\1\uffff\1\54\1\uffff\101\54"+
-        "\100\64\ufeff\54",
+        "\1\54\2\uffff\6\54\12\65\1\54\2\uffff\2\54\1\uffff\1\54\32\65\4"+
+        "\54\1\65\1\54\10\65\1\164\21\65\1\54\1\uffff\1\54\1\uffff\101\54"+
+        "\100\65\ufeff\54",
         "\11\54\2\uffff\2\54\1\uffff\22\54\1\uffff\1\54\1\uffff\3\54\1\uffff"+
-        "\1\54\2\uffff\6\54\12\64\1\54\2\uffff\2\54\1\uffff\1\54\32\64\4"+
-        "\54\1\64\1\54\10\64\1\162\21\64\1\54\1\uffff\1\54\1\uffff\101\54"+
-        "\100\64\ufeff\54",
-        "\11\54\2\uffff\2\54\1\uffff\22\54\1\uffff\1\54\1\uffff\3\54\1\uffff"+
-        "\1\54\2\uffff\6\54\12\136\1\54\2\uffff\2\54\1\uffff\74\54\1\uffff"+
+        "\1\54\2\uffff\6\54\12\140\1\54\2\uffff\2\54\1\uffff\74\54\1\uffff"+
         "\1\54\1\uffff\uff80\54",
-        "\11\103\2\21\2\103\1\21\22\103\1\21\1\103\1\21\3\103\1\21\1\104"+
-        "\2\21\21\103\2\21\2\103\1\21\34\103\1\102\37\103\1\21\1\103\1\21"+
-        "\uff80\103",
-        "\12\164\7\uffff\6\164\32\uffff\6\164",
-        "\11\103\2\21\2\103\1\21\22\103\1\21\1\103\1\21\3\103\1\21\1\104"+
-        "\2\21\6\103\10\165\3\103\2\21\2\103\1\21\34\103\1\102\37\103\1\21"+
-        "\1\103\1\21\uff80\103",
-        "\11\103\2\21\2\103\1\21\22\103\1\21\1\103\1\21\3\103\1\21\1\104"+
-        "\2\21\6\103\10\166\3\103\2\21\2\103\1\21\34\103\1\102\37\103\1\21"+
-        "\1\103\1\21\uff80\103",
+        "\12\166\7\uffff\6\166\32\uffff\6\166",
+        "\11\104\2\21\2\104\1\21\22\104\1\21\1\104\1\21\3\104\1\21\1\105"+
+        "\2\21\21\104\2\21\2\104\1\21\34\104\1\103\37\104\1\21\1\104\1\21"+
+        "\uff80\104",
+        "\11\104\2\21\2\104\1\21\22\104\1\21\1\104\1\21\3\104\1\21\1\105"+
+        "\2\21\6\104\10\167\3\104\2\21\2\104\1\21\34\104\1\103\37\104\1\21"+
+        "\1\104\1\21\uff80\104",
+        "\11\104\2\21\2\104\1\21\22\104\1\21\1\104\1\21\3\104\1\21\1\105"+
+        "\2\21\6\104\10\170\3\104\2\21\2\104\1\21\34\104\1\103\37\104\1\21"+
+        "\1\104\1\21\uff80\104",
         "\11\54\2\uffff\2\54\1\uffff\22\54\1\uffff\1\54\1\uffff\3\54\1\uffff"+
-        "\1\54\2\uffff\6\54\12\64\1\54\2\uffff\2\54\1\uffff\1\54\32\64\4"+
-        "\54\1\64\1\54\22\64\1\167\7\64\1\54\1\uffff\1\54\1\uffff\101\54"+
-        "\100\64\ufeff\54",
-        "\11\145\2\146\2\145\1\146\22\145\1\146\1\145\1\146\3\145\1\146\1"+
-        "\145\2\146\1\144\4\145\1\170\13\145\2\146\2\145\1\146\74\145\1\146"+
-        "\1\145\1\146\uff80\145",
-        "\11\145\2\146\2\145\1\146\22\145\1\146\1\145\1\146\3\145\1\146\1"+
-        "\145\2\146\1\144\20\145\2\146\2\145\1\146\74\145\1\146\1\145\1\146"+
-        "\uff80\145",
+        "\1\54\2\uffff\6\54\12\65\1\54\2\uffff\2\54\1\uffff\1\54\32\65\4"+
+        "\54\1\65\1\54\22\65\1\171\7\65\1\54\1\uffff\1\54\1\uffff\101\54"+
+        "\100\65\ufeff\54",
         "",
+        "\11\147\2\146\2\147\1\146\22\147\1\146\1\147\1\146\3\147\1\146\1"+
+        "\147\2\146\21\147\2\146\2\147\1\146\74\147\1\146\1\147\1\146\uff80"+
+        "\147",
+        "\11\151\2\152\2\151\1\152\22\151\1\152\1\151\1\152\3\151\1\152\1"+
+        "\151\2\152\1\150\4\151\1\172\13\151\2\152\2\151\1\152\74\151\1\152"+
+        "\1\151\1\152\uff80\151",
+        "\11\151\2\152\2\151\1\152\22\151\1\152\1\151\1\152\3\151\1\152\1"+
+        "\151\2\152\1\150\20\151\2\152\2\151\1\152\74\151\1\152\1\151\1\152"+
+        "\uff80\151",
         "",
-        "\11\150\2\147\2\150\1\147\22\150\1\147\1\150\1\147\3\150\1\147\1"+
-        "\150\2\147\21\150\2\147\2\150\1\147\74\150\1\147\1\150\1\147\uff80"+
-        "\150",
         "\11\54\2\uffff\2\54\1\uffff\22\54\1\uffff\1\54\1\uffff\3\54\1\uffff"+
-        "\1\54\2\uffff\6\54\12\64\1\54\2\uffff\2\54\1\uffff\1\54\32\64\4"+
-        "\54\1\64\1\54\5\64\1\171\24\64\1\54\1\uffff\1\54\1\uffff\101\54"+
-        "\100\64\ufeff\54",
+        "\1\54\2\uffff\6\54\12\65\1\54\2\uffff\2\54\1\uffff\1\54\32\65\4"+
+        "\54\1\65\1\54\5\65\1\173\24\65\1\54\1\uffff\1\54\1\uffff\101\54"+
+        "\100\65\ufeff\54",
         "\11\54\2\uffff\2\54\1\uffff\22\54\1\uffff\1\54\1\uffff\3\54\1\uffff"+
-        "\1\54\2\uffff\6\54\12\64\1\54\2\uffff\2\54\1\uffff\1\54\32\64\4"+
-        "\54\1\64\1\54\1\172\31\64\1\54\1\uffff\1\54\1\uffff\101\54\100\64"+
+        "\1\54\2\uffff\6\54\12\65\1\54\2\uffff\2\54\1\uffff\1\54\32\65\4"+
+        "\54\1\65\1\54\1\174\31\65\1\54\1\uffff\1\54\1\uffff\101\54\100\65"+
         "\ufeff\54",
         "\11\54\2\uffff\2\54\1\uffff\22\54\1\uffff\1\54\1\uffff\3\54\1\uffff"+
-        "\1\54\2\uffff\6\54\12\64\1\54\2\uffff\2\54\1\uffff\1\54\32\64\4"+
-        "\54\1\64\1\54\24\64\1\173\5\64\1\54\1\uffff\1\54\1\uffff\101\54"+
-        "\100\64\ufeff\54",
+        "\1\54\2\uffff\6\54\12\65\1\54\2\uffff\2\54\1\uffff\1\54\32\65\4"+
+        "\54\1\65\1\54\24\65\1\175\5\65\1\54\1\uffff\1\54\1\uffff\101\54"+
+        "\100\65\ufeff\54",
         "",
-        "",
         "\11\54\2\uffff\2\54\1\uffff\22\54\1\uffff\1\54\1\uffff\3\54\1\uffff"+
-        "\1\54\2\uffff\6\54\12\64\1\54\2\uffff\2\54\1\uffff\1\54\32\64\4"+
-        "\54\1\64\1\54\32\64\1\54\1\uffff\1\54\1\uffff\101\54\100\64\ufeff"+
+        "\1\54\2\uffff\6\54\12\65\1\54\2\uffff\2\54\1\uffff\1\54\32\65\4"+
+        "\54\1\65\1\54\32\65\1\54\1\uffff\1\54\1\uffff\101\54\100\65\ufeff"+
         "\54",
+        "",
         "\11\54\2\uffff\2\54\1\uffff\22\54\1\uffff\1\54\1\uffff\3\54\1\uffff"+
-        "\1\54\2\uffff\6\54\12\64\1\54\2\uffff\2\54\1\uffff\1\54\32\64\4"+
-        "\54\1\64\1\54\23\64\1\175\6\64\1\54\1\uffff\1\54\1\uffff\101\54"+
-        "\100\64\ufeff\54",
+        "\1\54\2\uffff\6\54\12\65\1\54\2\uffff\2\54\1\uffff\1\54\32\65\4"+
+        "\54\1\65\1\54\23\65\1\177\6\65\1\54\1\uffff\1\54\1\uffff\101\54"+
+        "\100\65\ufeff\54",
         "\11\54\2\uffff\2\54\1\uffff\22\54\1\uffff\1\54\1\uffff\3\54\1\uffff"+
-        "\1\54\2\uffff\6\54\12\64\1\54\2\uffff\2\54\1\uffff\1\54\32\64\4"+
-        "\54\1\64\1\54\32\64\1\54\1\uffff\1\54\1\uffff\101\54\100\64\ufeff"+
+        "\1\54\2\uffff\6\54\12\65\1\54\2\uffff\2\54\1\uffff\1\54\32\65\4"+
+        "\54\1\65\1\54\32\65\1\54\1\uffff\1\54\1\uffff\101\54\100\65\ufeff"+
         "\54",
         "\11\54\2\uffff\2\54\1\uffff\22\54\1\uffff\1\54\1\uffff\3\54\1\uffff"+
-        "\1\54\2\uffff\6\54\12\64\1\54\2\uffff\2\54\1\uffff\1\54\32\64\4"+
-        "\54\1\64\1\54\32\64\1\54\1\uffff\1\54\1\uffff\101\54\100\64\ufeff"+
+        "\1\54\2\uffff\6\54\12\65\1\54\2\uffff\2\54\1\uffff\1\54\32\65\4"+
+        "\54\1\65\1\54\32\65\1\54\1\uffff\1\54\1\uffff\101\54\100\65\ufeff"+
         "\54",
         "\11\54\2\uffff\2\54\1\uffff\22\54\1\uffff\1\54\1\uffff\3\54\1\uffff"+
-        "\1\54\2\uffff\6\54\12\64\1\54\2\uffff\2\54\1\uffff\1\54\32\64\4"+
-        "\54\1\64\1\54\4\64\1\u0080\25\64\1\54\1\uffff\1\54\1\uffff\101\54"+
-        "\100\64\ufeff\54",
+        "\1\54\2\uffff\6\54\12\65\1\54\2\uffff\2\54\1\uffff\1\54\32\65\4"+
+        "\54\1\65\1\54\4\65\1\u0082\25\65\1\54\1\uffff\1\54\1\uffff\101\54"+
+        "\100\65\ufeff\54",
         "",
-        "\12\u0081\7\uffff\6\u0081\32\uffff\6\u0081",
-        "\11\103\2\21\2\103\1\21\22\103\1\21\1\103\1\21\3\103\1\21\1\104"+
-        "\2\21\6\103\10\u0082\3\103\2\21\2\103\1\21\34\103\1\102\37\103\1"+
-        "\21\1\103\1\21\uff80\103",
-        "\11\103\2\21\2\103\1\21\22\103\1\21\1\103\1\21\3\103\1\21\1\104"+
-        "\2\21\21\103\2\21\2\103\1\21\34\103\1\102\37\103\1\21\1\103\1\21"+
-        "\uff80\103",
+        "\12\u0083\7\uffff\6\u0083\32\uffff\6\u0083",
+        "\11\104\2\21\2\104\1\21\22\104\1\21\1\104\1\21\3\104\1\21\1\105"+
+        "\2\21\6\104\10\u0084\3\104\2\21\2\104\1\21\34\104\1\103\37\104\1"+
+        "\21\1\104\1\21\uff80\104",
+        "\11\104\2\21\2\104\1\21\22\104\1\21\1\104\1\21\3\104\1\21\1\105"+
+        "\2\21\21\104\2\21\2\104\1\21\34\104\1\103\37\104\1\21\1\104\1\21"+
+        "\uff80\104",
         "\11\54\2\uffff\2\54\1\uffff\22\54\1\uffff\1\54\1\uffff\3\54\1\uffff"+
-        "\1\54\2\uffff\6\54\12\64\1\54\2\uffff\2\54\1\uffff\1\54\32\64\4"+
-        "\54\1\64\1\54\4\64\1\u0083\25\64\1\54\1\uffff\1\54\1\uffff\101\54"+
-        "\100\64\ufeff\54",
-        "\11\145\2\uffff\2\145\1\uffff\22\145\1\uffff\1\145\1\uffff\3\145"+
-        "\1\uffff\1\145\2\uffff\1\144\20\145\2\uffff\2\145\1\uffff\74\145"+
-        "\1\uffff\1\145\1\uffff\uff80\145",
+        "\1\54\2\uffff\6\54\12\65\1\54\2\uffff\2\54\1\uffff\1\54\32\65\4"+
+        "\54\1\65\1\54\4\65\1\u0085\25\65\1\54\1\uffff\1\54\1\uffff\101\54"+
+        "\100\65\ufeff\54",
+        "\11\151\2\uffff\2\151\1\uffff\22\151\1\uffff\1\151\1\uffff\3\151"+
+        "\1\uffff\1\151\2\uffff\1\150\20\151\2\uffff\2\151\1\uffff\74\151"+
+        "\1\uffff\1\151\1\uffff\uff80\151",
         "\11\54\2\uffff\2\54\1\uffff\22\54\1\uffff\1\54\1\uffff\3\54\1\uffff"+
-        "\1\54\2\uffff\6\54\12\64\1\54\2\uffff\2\54\1\uffff\1\54\32\64\4"+
-        "\54\1\64\1\54\30\64\1\u0084\1\64\1\54\1\uffff\1\54\1\uffff\101\54"+
-        "\100\64\ufeff\54",
+        "\1\54\2\uffff\6\54\12\65\1\54\2\uffff\2\54\1\uffff\1\54\32\65\4"+
+        "\54\1\65\1\54\30\65\1\u0086\1\65\1\54\1\uffff\1\54\1\uffff\101\54"+
+        "\100\65\ufeff\54",
         "\11\54\2\uffff\2\54\1\uffff\22\54\1\uffff\1\54\1\uffff\3\54\1\uffff"+
-        "\1\54\2\uffff\6\54\12\64\1\54\2\uffff\2\54\1\uffff\1\54\32\64\4"+
-        "\54\1\64\1\54\21\64\1\u0085\10\64\1\54\1\uffff\1\54\1\uffff\101"+
-        "\54\100\64\ufeff\54",
+        "\1\54\2\uffff\6\54\12\65\1\54\2\uffff\2\54\1\uffff\1\54\32\65\4"+
+        "\54\1\65\1\54\21\65\1\u0087\10\65\1\54\1\uffff\1\54\1\uffff\101"+
+        "\54\100\65\ufeff\54",
         "\11\54\2\uffff\2\54\1\uffff\22\54\1\uffff\1\54\1\uffff\3\54\1\uffff"+
-        "\1\54\2\uffff\6\54\12\64\1\54\2\uffff\2\54\1\uffff\1\54\32\64\4"+
-        "\54\1\64\1\54\13\64\1\u0086\16\64\1\54\1\uffff\1\54\1\uffff\101"+
-        "\54\100\64\ufeff\54",
+        "\1\54\2\uffff\6\54\12\65\1\54\2\uffff\2\54\1\uffff\1\54\32\65\4"+
+        "\54\1\65\1\54\13\65\1\u0088\16\65\1\54\1\uffff\1\54\1\uffff\101"+
+        "\54\100\65\ufeff\54",
         "",
         "\11\54\2\uffff\2\54\1\uffff\22\54\1\uffff\1\54\1\uffff\3\54\1\uffff"+
-        "\1\54\2\uffff\6\54\12\64\1\54\2\uffff\2\54\1\uffff\1\54\32\64\4"+
-        "\54\1\64\1\54\22\64\1\u0087\7\64\1\54\1\uffff\1\54\1\uffff\101\54"+
-        "\100\64\ufeff\54",
+        "\1\54\2\uffff\6\54\12\65\1\54\2\uffff\2\54\1\uffff\1\54\32\65\4"+
+        "\54\1\65\1\54\22\65\1\u0089\7\65\1\54\1\uffff\1\54\1\uffff\101\54"+
+        "\100\65\ufeff\54",
         "",
         "",
         "\11\54\2\uffff\2\54\1\uffff\22\54\1\uffff\1\54\1\uffff\3\54\1\uffff"+
-        "\1\54\2\uffff\6\54\12\64\1\54\2\uffff\2\54\1\uffff\1\54\32\64\4"+
-        "\54\1\64\1\54\15\64\1\u0088\14\64\1\54\1\uffff\1\54\1\uffff\101"+
-        "\54\100\64\ufeff\54",
-        "\12\u0089\7\uffff\6\u0089\32\uffff\6\u0089",
-        "\11\103\2\21\2\103\1\21\22\103\1\21\1\103\1\21\3\103\1\21\1\104"+
-        "\2\21\21\103\2\21\2\103\1\21\34\103\1\102\37\103\1\21\1\103\1\21"+
-        "\uff80\103",
+        "\1\54\2\uffff\6\54\12\65\1\54\2\uffff\2\54\1\uffff\1\54\32\65\4"+
+        "\54\1\65\1\54\15\65\1\u008a\14\65\1\54\1\uffff\1\54\1\uffff\101"+
+        "\54\100\65\ufeff\54",
+        "\12\u008b\7\uffff\6\u008b\32\uffff\6\u008b",
+        "\11\104\2\21\2\104\1\21\22\104\1\21\1\104\1\21\3\104\1\21\1\105"+
+        "\2\21\21\104\2\21\2\104\1\21\34\104\1\103\37\104\1\21\1\104\1\21"+
+        "\uff80\104",
         "\11\54\2\uffff\2\54\1\uffff\22\54\1\uffff\1\54\1\uffff\3\54\1\uffff"+
-        "\1\54\2\uffff\6\54\12\64\1\54\2\uffff\2\54\1\uffff\1\54\32\64\4"+
-        "\54\1\64\1\54\32\64\1\54\1\uffff\1\54\1\uffff\101\54\100\64\ufeff"+
+        "\1\54\2\uffff\6\54\12\65\1\54\2\uffff\2\54\1\uffff\1\54\32\65\4"+
+        "\54\1\65\1\54\32\65\1\54\1\uffff\1\54\1\uffff\101\54\100\65\ufeff"+
         "\54",
         "\11\54\2\uffff\2\54\1\uffff\22\54\1\uffff\1\54\1\uffff\3\54\1\uffff"+
-        "\1\54\2\uffff\6\54\12\64\1\54\2\uffff\2\54\1\uffff\1\54\32\64\4"+
-        "\54\1\64\1\54\32\64\1\54\1\uffff\1\54\1\uffff\101\54\100\64\ufeff"+
+        "\1\54\2\uffff\6\54\12\65\1\54\2\uffff\2\54\1\uffff\1\54\32\65\4"+
+        "\54\1\65\1\54\32\65\1\54\1\uffff\1\54\1\uffff\101\54\100\65\ufeff"+
         "\54",
         "\11\54\2\uffff\2\54\1\uffff\22\54\1\uffff\1\54\1\uffff\3\54\1\uffff"+
-        "\1\54\2\uffff\6\54\12\64\1\54\2\uffff\2\54\1\uffff\1\54\32\64\4"+
-        "\54\1\64\1\54\4\64\1\u008b\25\64\1\54\1\uffff\1\54\1\uffff\101\54"+
-        "\100\64\ufeff\54",
+        "\1\54\2\uffff\6\54\12\65\1\54\2\uffff\2\54\1\uffff\1\54\32\65\4"+
+        "\54\1\65\1\54\4\65\1\u008d\25\65\1\54\1\uffff\1\54\1\uffff\101\54"+
+        "\100\65\ufeff\54",
         "\11\54\2\uffff\2\54\1\uffff\22\54\1\uffff\1\54\1\uffff\3\54\1\uffff"+
-        "\1\54\2\uffff\6\54\12\64\1\54\2\uffff\2\54\1\uffff\1\54\32\64\4"+
-        "\54\1\64\1\54\4\64\1\u008c\25\64\1\54\1\uffff\1\54\1\uffff\101\54"+
-        "\100\64\ufeff\54",
+        "\1\54\2\uffff\6\54\12\65\1\54\2\uffff\2\54\1\uffff\1\54\32\65\4"+
+        "\54\1\65\1\54\4\65\1\u008e\25\65\1\54\1\uffff\1\54\1\uffff\101\54"+
+        "\100\65\ufeff\54",
         "\11\54\2\uffff\2\54\1\uffff\22\54\1\uffff\1\54\1\uffff\3\54\1\uffff"+
-        "\1\54\2\uffff\6\54\12\64\1\54\2\uffff\2\54\1\uffff\1\54\32\64\4"+
-        "\54\1\64\1\54\32\64\1\54\1\uffff\1\54\1\uffff\101\54\100\64\ufeff"+
+        "\1\54\2\uffff\6\54\12\65\1\54\2\uffff\2\54\1\uffff\1\54\32\65\4"+
+        "\54\1\65\1\54\32\65\1\54\1\uffff\1\54\1\uffff\101\54\100\65\ufeff"+
         "\54",
         "\11\54\2\uffff\2\54\1\uffff\22\54\1\uffff\1\54\1\uffff\3\54\1\uffff"+
-        "\1\54\2\uffff\6\54\12\64\1\54\2\uffff\2\54\1\uffff\1\54\32\64\4"+
-        "\54\1\64\1\54\2\64\1\u008e\27\64\1\54\1\uffff\1\54\1\uffff\101\54"+
-        "\100\64\ufeff\54",
-        "\12\u008f\7\uffff\6\u008f\32\uffff\6\u008f",
+        "\1\54\2\uffff\6\54\12\65\1\54\2\uffff\2\54\1\uffff\1\54\32\65\4"+
+        "\54\1\65\1\54\2\65\1\u0090\27\65\1\54\1\uffff\1\54\1\uffff\101\54"+
+        "\100\65\ufeff\54",
+        "\12\u0091\7\uffff\6\u0091\32\uffff\6\u0091",
         "",
         "\11\54\2\uffff\2\54\1\uffff\22\54\1\uffff\1\54\1\uffff\3\54\1\uffff"+
-        "\1\54\2\uffff\6\54\12\64\1\54\2\uffff\2\54\1\uffff\1\54\32\64\4"+
-        "\54\1\64\1\54\32\64\1\54\1\uffff\1\54\1\uffff\101\54\100\64\ufeff"+
+        "\1\54\2\uffff\6\54\12\65\1\54\2\uffff\2\54\1\uffff\1\54\32\65\4"+
+        "\54\1\65\1\54\32\65\1\54\1\uffff\1\54\1\uffff\101\54\100\65\ufeff"+
         "\54",
         "\11\54\2\uffff\2\54\1\uffff\22\54\1\uffff\1\54\1\uffff\3\54\1\uffff"+
-        "\1\54\2\uffff\6\54\12\64\1\54\2\uffff\2\54\1\uffff\1\54\32\64\4"+
-        "\54\1\64\1\54\32\64\1\54\1\uffff\1\54\1\uffff\101\54\100\64\ufeff"+
+        "\1\54\2\uffff\6\54\12\65\1\54\2\uffff\2\54\1\uffff\1\54\32\65\4"+
+        "\54\1\65\1\54\32\65\1\54\1\uffff\1\54\1\uffff\101\54\100\65\ufeff"+
         "\54",
         "",
         "\11\54\2\uffff\2\54\1\uffff\22\54\1\uffff\1\54\1\uffff\3\54\1\uffff"+
-        "\1\54\2\uffff\6\54\12\64\1\54\2\uffff\2\54\1\uffff\1\54\32\64\4"+
-        "\54\1\64\1\54\4\64\1\u0092\25\64\1\54\1\uffff\1\54\1\uffff\101\54"+
-        "\100\64\ufeff\54",
-        "\11\103\2\21\2\103\1\21\22\103\1\21\1\103\1\21\3\103\1\21\1\104"+
-        "\2\21\21\103\2\21\2\103\1\21\34\103\1\102\37\103\1\21\1\103\1\21"+
-        "\uff80\103",
+        "\1\54\2\uffff\6\54\12\65\1\54\2\uffff\2\54\1\uffff\1\54\32\65\4"+
+        "\54\1\65\1\54\4\65\1\u0094\25\65\1\54\1\uffff\1\54\1\uffff\101\54"+
+        "\100\65\ufeff\54",
+        "\11\104\2\21\2\104\1\21\22\104\1\21\1\104\1\21\3\104\1\21\1\105"+
+        "\2\21\21\104\2\21\2\104\1\21\34\104\1\103\37\104\1\21\1\104\1\21"+
+        "\uff80\104",
         "",
         "",
         "\11\54\2\uffff\2\54\1\uffff\22\54\1\uffff\1\54\1\uffff\3\54\1\uffff"+
-        "\1\54\2\uffff\6\54\12\64\1\54\2\uffff\2\54\1\uffff\1\54\32\64\4"+
-        "\54\1\64\1\54\32\64\1\54\1\uffff\1\54\1\uffff\101\54\100\64\ufeff"+
+        "\1\54\2\uffff\6\54\12\65\1\54\2\uffff\2\54\1\uffff\1\54\32\65\4"+
+        "\54\1\65\1\54\32\65\1\54\1\uffff\1\54\1\uffff\101\54\100\65\ufeff"+
         "\54",
         ""
     };
@@ -3136,7 +3184,7 @@
             }
         }
         public String getDescription() {
-            return "1:1: Tokens : ( T39 | T40 | T41 | T42 | T43 | T44 | DEFRULE | OR | AND | NOT | EXISTS | TEST | NULL | 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 : ( T39 | T40 | T41 | T42 | T43 | T44 | T45 | DEFRULE | OR | AND | NOT | EXISTS | TEST | NULL | 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 );";
         }
     }
  

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-14 22:18:31 UTC (rev 10193)
+++ labs/jbossrules/trunk/drools-compiler/src/main/java/org/drools/clp/CLPParser.java	2007-03-14 22:20:42 UTC (rev 10194)
@@ -1,4 +1,4 @@
-// $ANTLR 3.0b7 C:\\dev\\jbossrules\\trunk\\drools-compiler\\src\\main\\resources\\org\\drools\\clp\\CLP.g 2007-03-14 22:17:40
+// $ANTLR 3.0b7 C:\\dev\\jbossrules\\trunk\\drools-compiler\\src\\main\\resources\\org\\drools\\clp\\CLP.g 2007-03-14 22:20:00
 
 	package org.drools.clp;
 	import java.util.List;
@@ -17,7 +17,7 @@
 
 public class CLPParser extends Parser {
     public static final String[] tokenNames = new String[] {
-        "<invalid>", "<EOR>", "<DOWN>", "<UP>", "LEFT_PAREN", "ID", "STRING", "RIGHT_PAREN", "SALIENCE", "INT", "AND", "OR", "NOT", "EXISTS", "TEST", "VAR", "AMPERSAND", "PIPE", "TILDE", "FLOAT", "BOOL", "NULL", "MISC", "SYMBOL", "DEFRULE", "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", "ID", "STRING", "RIGHT_PAREN", "SALIENCE", "INT", "AND", "OR", "NOT", "EXISTS", "TEST", "VAR", "AMPERSAND", "PIPE", "TILDE", "FLOAT", "BOOL", "NULL", "MISC", "SYMBOL", "DEFRULE", "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=13;
     public static final int LEFT_PAREN=4;
@@ -254,7 +254,7 @@
 
 
     // $ANTLR start rule
-    // C:\\dev\\jbossrules\\trunk\\drools-compiler\\src\\main\\resources\\org\\drools\\clp\\CLP.g:210:1: rule returns [RuleDescr rule] : loc= LEFT_PAREN 'defrule' (d= 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:210:1: rule returns [RuleDescr rule] : loc= LEFT_PAREN 'defrule' (d= agenda_group '::' )? ruleName= ID documentation= STRING ( ruleAttribute[rule] )* ( lhs[lhs] )* rhs[rule] RIGHT_PAREN ;
     public RuleDescr rule() throws RecognitionException {
         RuleDescr rule = null;
 
@@ -270,30 +270,31 @@
         	        ColumnDescr colum = null;	        
         	      
         try {
-            // C:\\dev\\jbossrules\\trunk\\drools-compiler\\src\\main\\resources\\org\\drools\\clp\\CLP.g:216:4: (loc= LEFT_PAREN 'defrule' (d= 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:216:4: loc= LEFT_PAREN 'defrule' (d= 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:216:4: (loc= LEFT_PAREN 'defrule' (d= 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:216:4: loc= LEFT_PAREN 'defrule' (d= agenda_group '::' )? ruleName= ID documentation= STRING ( ruleAttribute[rule] )* ( lhs[lhs] )* rhs[rule] RIGHT_PAREN
             {
             loc=(Token)input.LT(1);
             match(input,LEFT_PAREN,FOLLOW_LEFT_PAREN_in_rule64); 
             match(input,DEFRULE,FOLLOW_DEFRULE_in_rule66); 
-            // C:\\dev\\jbossrules\\trunk\\drools-compiler\\src\\main\\resources\\org\\drools\\clp\\CLP.g:217:3: (d= agenda_group )?
+            // C:\\dev\\jbossrules\\trunk\\drools-compiler\\src\\main\\resources\\org\\drools\\clp\\CLP.g:217:3: (d= agenda_group '::' )?
             int alt2=2;
             int LA2_0 = input.LA(1);
             if ( (LA2_0==ID) ) {
                 int LA2_1 = input.LA(2);
-                if ( (LA2_1==ID) ) {
+                if ( (LA2_1==40) ) {
                     alt2=1;
                 }
             }
             switch (alt2) {
                 case 1 :
-                    // C:\\dev\\jbossrules\\trunk\\drools-compiler\\src\\main\\resources\\org\\drools\\clp\\CLP.g:217:5: d= agenda_group
+                    // C:\\dev\\jbossrules\\trunk\\drools-compiler\\src\\main\\resources\\org\\drools\\clp\\CLP.g:217:5: d= agenda_group '::'
                     {
                     pushFollow(FOLLOW_agenda_group_in_rule76);
                     d=agenda_group();
                     _fsp--;
 
                       rule.addAttribute( d ); 
+                    match(input,40,FOLLOW_40_in_rule80); 
 
                     }
                     break;
@@ -301,7 +302,7 @@
             }
 
             ruleName=(Token)input.LT(1);
-            match(input,ID,FOLLOW_ID_in_rule92); 
+            match(input,ID,FOLLOW_ID_in_rule94); 
              
             	  		debug( "start rule: " + ruleName.getText() );
             	        rule = new RuleDescr( ruleName.getText(), null ); 
@@ -315,7 +316,7 @@
             			lhs.setStartCharacter( ((CommonToken)loc).getStartIndex() );				
             		
             documentation=(Token)input.LT(1);
-            match(input,STRING,FOLLOW_STRING_in_rule105); 
+            match(input,STRING,FOLLOW_STRING_in_rule107); 
             
             	    	// do nothing here for now
             		
@@ -338,7 +339,7 @@
             	case 1 :
             	    // C:\\dev\\jbossrules\\trunk\\drools-compiler\\src\\main\\resources\\org\\drools\\clp\\CLP.g:235:3: ruleAttribute[rule]
             	    {
-            	    pushFollow(FOLLOW_ruleAttribute_in_rule111);
+            	    pushFollow(FOLLOW_ruleAttribute_in_rule113);
             	    ruleAttribute(rule);
             	    _fsp--;
 
@@ -365,7 +366,7 @@
             	case 1 :
             	    // C:\\dev\\jbossrules\\trunk\\drools-compiler\\src\\main\\resources\\org\\drools\\clp\\CLP.g:237:3: lhs[lhs]
             	    {
-            	    pushFollow(FOLLOW_lhs_in_rule120);
+            	    pushFollow(FOLLOW_lhs_in_rule122);
             	    lhs(lhs);
             	    _fsp--;
 
@@ -378,11 +379,11 @@
                 }
             } while (true);
 
-            pushFollow(FOLLOW_rhs_in_rule129);
+            pushFollow(FOLLOW_rhs_in_rule131);
             rhs(rule);
             _fsp--;
 
-            match(input,RIGHT_PAREN,FOLLOW_RIGHT_PAREN_in_rule137); 
+            match(input,RIGHT_PAREN,FOLLOW_RIGHT_PAREN_in_rule139); 
 
             }
 
@@ -408,16 +409,16 @@
             // C:\\dev\\jbossrules\\trunk\\drools-compiler\\src\\main\\resources\\org\\drools\\clp\\CLP.g:246: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:246:3: LEFT_PAREN 'declare' LEFT_PAREN d= salience RIGHT_PAREN RIGHT_PAREN
             {
-            match(input,LEFT_PAREN,FOLLOW_LEFT_PAREN_in_ruleAttribute151); 
-            match(input,DECLARE,FOLLOW_DECLARE_in_ruleAttribute153); 
-            match(input,LEFT_PAREN,FOLLOW_LEFT_PAREN_in_ruleAttribute158); 
-            pushFollow(FOLLOW_salience_in_ruleAttribute162);
+            match(input,LEFT_PAREN,FOLLOW_LEFT_PAREN_in_ruleAttribute153); 
+            match(input,DECLARE,FOLLOW_DECLARE_in_ruleAttribute155); 
+            match(input,LEFT_PAREN,FOLLOW_LEFT_PAREN_in_ruleAttribute160); 
+            pushFollow(FOLLOW_salience_in_ruleAttribute164);
             d=salience();
             _fsp--;
 
              rule.addAttribute( d ); 
-            match(input,RIGHT_PAREN,FOLLOW_RIGHT_PAREN_in_ruleAttribute169); 
-            match(input,RIGHT_PAREN,FOLLOW_RIGHT_PAREN_in_ruleAttribute173); 
+            match(input,RIGHT_PAREN,FOLLOW_RIGHT_PAREN_in_ruleAttribute171); 
+            match(input,RIGHT_PAREN,FOLLOW_RIGHT_PAREN_in_ruleAttribute175); 
 
             }
 
@@ -448,7 +449,7 @@
             // C:\\dev\\jbossrules\\trunk\\drools-compiler\\src\\main\\resources\\org\\drools\\clp\\CLP.g:257:3: t= ID
             {
             t=(Token)input.LT(1);
-            match(input,ID,FOLLOW_ID_in_agenda_group198); 
+            match(input,ID,FOLLOW_ID_in_agenda_group200); 
             
             			d = new AttributeDescr( "agenda-group", t.getText() );
             			d.setLocation( offset(t.getLine()), t.getCharPositionInLine() );
@@ -486,9 +487,9 @@
             // C:\\dev\\jbossrules\\trunk\\drools-compiler\\src\\main\\resources\\org\\drools\\clp\\CLP.g:271:3: loc= SALIENCE i= INT
             {
             loc=(Token)input.LT(1);
-            match(input,SALIENCE,FOLLOW_SALIENCE_in_salience233); 
+            match(input,SALIENCE,FOLLOW_SALIENCE_in_salience235); 
             i=(Token)input.LT(1);
-            match(input,INT,FOLLOW_INT_in_salience237); 
+            match(input,INT,FOLLOW_INT_in_salience239); 
             
             			d = new AttributeDescr( "salience", i.getText() );
             			d.setLocation( offset(loc.getLine()), loc.getCharPositionInLine() );
@@ -522,23 +523,23 @@
             int LA5_0 = input.LA(1);
             if ( (LA5_0==LEFT_PAREN) ) {
                 switch ( input.LA(2) ) {
-                case ID:
-                    alt5=6;
+                case OR:
+                    alt5=2;
                     break;
+                case AND:
+                    alt5=1;
+                    break;
                 case NOT:
                     alt5=3;
                     break;
                 case TEST:
                     alt5=5;
                     break;
-                case AND:
-                    alt5=1;
-                    break;
                 case EXISTS:
                     alt5=4;
                     break;
-                case OR:
-                    alt5=2;
+                case ID:
+                    alt5=6;
                     break;
                 default:
                     NoViableAltException nvae =
@@ -561,7 +562,7 @@
                 case 1 :
                     // C:\\dev\\jbossrules\\trunk\\drools-compiler\\src\\main\\resources\\org\\drools\\clp\\CLP.g:282:8: and_ce[in_ce]
                     {
-                    pushFollow(FOLLOW_and_ce_in_lhs264);
+                    pushFollow(FOLLOW_and_ce_in_lhs266);
                     and_ce(in_ce);
                     _fsp--;
 
@@ -571,7 +572,7 @@
                 case 2 :
                     // C:\\dev\\jbossrules\\trunk\\drools-compiler\\src\\main\\resources\\org\\drools\\clp\\CLP.g:283:7: or_ce[in_ce]
                     {
-                    pushFollow(FOLLOW_or_ce_in_lhs274);
+                    pushFollow(FOLLOW_or_ce_in_lhs276);
                     or_ce(in_ce);
                     _fsp--;
 
@@ -581,7 +582,7 @@
                 case 3 :
                     // C:\\dev\\jbossrules\\trunk\\drools-compiler\\src\\main\\resources\\org\\drools\\clp\\CLP.g:284:7: not_ce[in_ce]
                     {
-                    pushFollow(FOLLOW_not_ce_in_lhs283);
+                    pushFollow(FOLLOW_not_ce_in_lhs285);
                     not_ce(in_ce);
                     _fsp--;
 
@@ -591,7 +592,7 @@
                 case 4 :
                     // C:\\dev\\jbossrules\\trunk\\drools-compiler\\src\\main\\resources\\org\\drools\\clp\\CLP.g:285:7: exists_ce[in_ce]
                     {
-                    pushFollow(FOLLOW_exists_ce_in_lhs292);
+                    pushFollow(FOLLOW_exists_ce_in_lhs294);
                     exists_ce(in_ce);
                     _fsp--;
 
@@ -601,7 +602,7 @@
                 case 5 :
                     // C:\\dev\\jbossrules\\trunk\\drools-compiler\\src\\main\\resources\\org\\drools\\clp\\CLP.g:286:8: eval_ce[in_ce]
                     {
-                    pushFollow(FOLLOW_eval_ce_in_lhs306);
+                    pushFollow(FOLLOW_eval_ce_in_lhs308);
                     eval_ce(in_ce);
                     _fsp--;
 
@@ -611,7 +612,7 @@
                 case 6 :
                     // C:\\dev\\jbossrules\\trunk\\drools-compiler\\src\\main\\resources\\org\\drools\\clp\\CLP.g:287:7: normal_pattern[in_ce]
                     {
-                    pushFollow(FOLLOW_normal_pattern_in_lhs320);
+                    pushFollow(FOLLOW_normal_pattern_in_lhs322);
                     normal_pattern(in_ce);
                     _fsp--;
 
@@ -621,7 +622,7 @@
                 case 7 :
                     // C:\\dev\\jbossrules\\trunk\\drools-compiler\\src\\main\\resources\\org\\drools\\clp\\CLP.g:288:7: bound_pattern[in_ce]
                     {
-                    pushFollow(FOLLOW_bound_pattern_in_lhs329);
+                    pushFollow(FOLLOW_bound_pattern_in_lhs331);
                     bound_pattern(in_ce);
                     _fsp--;
 
@@ -657,7 +658,7 @@
             // C:\\dev\\jbossrules\\trunk\\drools-compiler\\src\\main\\resources\\org\\drools\\clp\\CLP.g:299:3: ( '=>' ( function[context] )* )
             // C:\\dev\\jbossrules\\trunk\\drools-compiler\\src\\main\\resources\\org\\drools\\clp\\CLP.g:299:3: '=>' ( function[context] )*
             {
-            match(input,40,FOLLOW_40_in_rhs356); 
+            match(input,41,FOLLOW_41_in_rhs358); 
             // C:\\dev\\jbossrules\\trunk\\drools-compiler\\src\\main\\resources\\org\\drools\\clp\\CLP.g:300:4: ( function[context] )*
             loop6:
             do {
@@ -672,7 +673,7 @@
             	case 1 :
             	    // C:\\dev\\jbossrules\\trunk\\drools-compiler\\src\\main\\resources\\org\\drools\\clp\\CLP.g:300:4: function[context]
             	    {
-            	    pushFollow(FOLLOW_function_in_rhs361);
+            	    pushFollow(FOLLOW_function_in_rhs363);
             	    function(context);
             	    _fsp--;
 
@@ -716,21 +717,21 @@
                 case EXISTS:
                     alt7=4;
                     break;
-                case ID:
-                    alt7=6;
-                    break;
                 case TEST:
                     alt7=5;
                     break;
-                case AND:
-                    alt7=1;
-                    break;
                 case OR:
                     alt7=2;
                     break;
                 case NOT:
                     alt7=3;
                     break;
+                case AND:
+                    alt7=1;
+                    break;
+                case ID:
+                    alt7=6;
+                    break;
                 default:
                     NoViableAltException nvae =
                         new NoViableAltException("304:4: ( and_ce[in_ce] | or_ce[in_ce] | not_ce[in_ce] | exists_ce[in_ce] | eval_ce[in_ce] | normal_pattern[in_ce] )", 7, 1, input);
@@ -749,7 +750,7 @@
                 case 1 :
                     // C:\\dev\\jbossrules\\trunk\\drools-compiler\\src\\main\\resources\\org\\drools\\clp\\CLP.g:304:8: and_ce[in_ce]
                     {
-                    pushFollow(FOLLOW_and_ce_in_ce385);
+                    pushFollow(FOLLOW_and_ce_in_ce387);
                     and_ce(in_ce);
                     _fsp--;
 
@@ -759,7 +760,7 @@
                 case 2 :
                     // C:\\dev\\jbossrules\\trunk\\drools-compiler\\src\\main\\resources\\org\\drools\\clp\\CLP.g:305:10: or_ce[in_ce]
                     {
-                    pushFollow(FOLLOW_or_ce_in_ce398);
+                    pushFollow(FOLLOW_or_ce_in_ce400);
                     or_ce(in_ce);
                     _fsp--;
 
@@ -769,7 +770,7 @@
                 case 3 :
                     // C:\\dev\\jbossrules\\trunk\\drools-compiler\\src\\main\\resources\\org\\drools\\clp\\CLP.g:306:7: not_ce[in_ce]
                     {
-                    pushFollow(FOLLOW_not_ce_in_ce407);
+                    pushFollow(FOLLOW_not_ce_in_ce409);
                     not_ce(in_ce);
                     _fsp--;
 
@@ -779,7 +780,7 @@
                 case 4 :
                     // C:\\dev\\jbossrules\\trunk\\drools-compiler\\src\\main\\resources\\org\\drools\\clp\\CLP.g:307:7: exists_ce[in_ce]
                     {
-                    pushFollow(FOLLOW_exists_ce_in_ce416);
+                    pushFollow(FOLLOW_exists_ce_in_ce418);
                     exists_ce(in_ce);
                     _fsp--;
 
@@ -789,7 +790,7 @@
                 case 5 :
                     // C:\\dev\\jbossrules\\trunk\\drools-compiler\\src\\main\\resources\\org\\drools\\clp\\CLP.g:308:8: eval_ce[in_ce]
                     {
-                    pushFollow(FOLLOW_eval_ce_in_ce430);
+                    pushFollow(FOLLOW_eval_ce_in_ce432);
                     eval_ce(in_ce);
                     _fsp--;
 
@@ -799,7 +800,7 @@
                 case 6 :
                     // C:\\dev\\jbossrules\\trunk\\drools-compiler\\src\\main\\resources\\org\\drools\\clp\\CLP.g:309:10: normal_pattern[in_ce]
                     {
-                    pushFollow(FOLLOW_normal_pattern_in_ce454);
+                    pushFollow(FOLLOW_normal_pattern_in_ce456);
                     normal_pattern(in_ce);
                     _fsp--;
 
@@ -834,8 +835,8 @@
             // C:\\dev\\jbossrules\\trunk\\drools-compiler\\src\\main\\resources\\org\\drools\\clp\\CLP.g:318:4: ( LEFT_PAREN AND ( ce[andDescr] )* RIGHT_PAREN )
             // C:\\dev\\jbossrules\\trunk\\drools-compiler\\src\\main\\resources\\org\\drools\\clp\\CLP.g:318:4: LEFT_PAREN AND ( ce[andDescr] )* RIGHT_PAREN
             {
-            match(input,LEFT_PAREN,FOLLOW_LEFT_PAREN_in_and_ce486); 
-            match(input,AND,FOLLOW_AND_in_and_ce491); 
+            match(input,LEFT_PAREN,FOLLOW_LEFT_PAREN_in_and_ce488); 
+            match(input,AND,FOLLOW_AND_in_and_ce493); 
             
             	    	andDescr = new AndDescr();
             			in_ce.addDescr( andDescr );
@@ -854,7 +855,7 @@
             	case 1 :
             	    // C:\\dev\\jbossrules\\trunk\\drools-compiler\\src\\main\\resources\\org\\drools\\clp\\CLP.g:323:3: ce[andDescr]
             	    {
-            	    pushFollow(FOLLOW_ce_in_and_ce497);
+            	    pushFollow(FOLLOW_ce_in_and_ce499);
             	    ce(andDescr);
             	    _fsp--;
 
@@ -867,7 +868,7 @@
                 }
             } while (true);
 
-            match(input,RIGHT_PAREN,FOLLOW_RIGHT_PAREN_in_and_ce506); 
+            match(input,RIGHT_PAREN,FOLLOW_RIGHT_PAREN_in_and_ce508); 
 
             }
 
@@ -893,8 +894,8 @@
             // C:\\dev\\jbossrules\\trunk\\drools-compiler\\src\\main\\resources\\org\\drools\\clp\\CLP.g:331:4: ( LEFT_PAREN OR ( ce[orDescr] )* RIGHT_PAREN )
             // C:\\dev\\jbossrules\\trunk\\drools-compiler\\src\\main\\resources\\org\\drools\\clp\\CLP.g:331:4: LEFT_PAREN OR ( ce[orDescr] )* RIGHT_PAREN
             {
-            match(input,LEFT_PAREN,FOLLOW_LEFT_PAREN_in_or_ce534); 
-            match(input,OR,FOLLOW_OR_in_or_ce539); 
+            match(input,LEFT_PAREN,FOLLOW_LEFT_PAREN_in_or_ce536); 
+            match(input,OR,FOLLOW_OR_in_or_ce541); 
             
             	    	orDescr = new OrDescr();
             			in_ce.addDescr( orDescr );
@@ -913,7 +914,7 @@
             	case 1 :
             	    // C:\\dev\\jbossrules\\trunk\\drools-compiler\\src\\main\\resources\\org\\drools\\clp\\CLP.g:336:3: ce[orDescr]
             	    {
-            	    pushFollow(FOLLOW_ce_in_or_ce545);
+            	    pushFollow(FOLLOW_ce_in_or_ce547);
             	    ce(orDescr);
             	    _fsp--;
 
@@ -926,7 +927,7 @@
                 }
             } while (true);
 
-            match(input,RIGHT_PAREN,FOLLOW_RIGHT_PAREN_in_or_ce554); 
+            match(input,RIGHT_PAREN,FOLLOW_RIGHT_PAREN_in_or_ce556); 
 
             }
 
@@ -952,8 +953,8 @@
             // C:\\dev\\jbossrules\\trunk\\drools-compiler\\src\\main\\resources\\org\\drools\\clp\\CLP.g:344:4: ( LEFT_PAREN NOT ( ce[notDescr] )? RIGHT_PAREN )
             // C:\\dev\\jbossrules\\trunk\\drools-compiler\\src\\main\\resources\\org\\drools\\clp\\CLP.g:344:4: LEFT_PAREN NOT ( ce[notDescr] )? RIGHT_PAREN
             {
-            match(input,LEFT_PAREN,FOLLOW_LEFT_PAREN_in_not_ce582); 
-            match(input,NOT,FOLLOW_NOT_in_not_ce587); 
+            match(input,LEFT_PAREN,FOLLOW_LEFT_PAREN_in_not_ce584); 
+            match(input,NOT,FOLLOW_NOT_in_not_ce589); 
             
             			notDescr = new NotDescr();
             		    in_ce.addDescr( notDescr );
@@ -968,7 +969,7 @@
                 case 1 :
                     // C:\\dev\\jbossrules\\trunk\\drools-compiler\\src\\main\\resources\\org\\drools\\clp\\CLP.g:349:3: ce[notDescr]
                     {
-                    pushFollow(FOLLOW_ce_in_not_ce593);
+                    pushFollow(FOLLOW_ce_in_not_ce595);
                     ce(notDescr);
                     _fsp--;
 
@@ -978,7 +979,7 @@
 
             }
 
-            match(input,RIGHT_PAREN,FOLLOW_RIGHT_PAREN_in_not_ce602); 
+            match(input,RIGHT_PAREN,FOLLOW_RIGHT_PAREN_in_not_ce604); 
 
             }
 
@@ -1004,8 +1005,8 @@
             // C:\\dev\\jbossrules\\trunk\\drools-compiler\\src\\main\\resources\\org\\drools\\clp\\CLP.g:357:4: ( LEFT_PAREN EXISTS ( ce[existsDescr] )? RIGHT_PAREN )
             // C:\\dev\\jbossrules\\trunk\\drools-compiler\\src\\main\\resources\\org\\drools\\clp\\CLP.g:357:4: LEFT_PAREN EXISTS ( ce[existsDescr] )? RIGHT_PAREN
             {
-            match(input,LEFT_PAREN,FOLLOW_LEFT_PAREN_in_exists_ce631); 
-            match(input,EXISTS,FOLLOW_EXISTS_in_exists_ce636); 
+            match(input,LEFT_PAREN,FOLLOW_LEFT_PAREN_in_exists_ce633); 
+            match(input,EXISTS,FOLLOW_EXISTS_in_exists_ce638); 
             
             		    existsDescr = new ExistsDescr();
             		    in_ce.addDescr( existsDescr );
@@ -1020,7 +1021,7 @@
                 case 1 :
                     // C:\\dev\\jbossrules\\trunk\\drools-compiler\\src\\main\\resources\\org\\drools\\clp\\CLP.g:362:3: ce[existsDescr]
                     {
-                    pushFollow(FOLLOW_ce_in_exists_ce642);
+                    pushFollow(FOLLOW_ce_in_exists_ce644);
                     ce(existsDescr);
                     _fsp--;
 
@@ -1030,7 +1031,7 @@
 
             }
 
-            match(input,RIGHT_PAREN,FOLLOW_RIGHT_PAREN_in_exists_ce651); 
+            match(input,RIGHT_PAREN,FOLLOW_RIGHT_PAREN_in_exists_ce653); 
 
             }
 
@@ -1058,20 +1059,20 @@
             // C:\\dev\\jbossrules\\trunk\\drools-compiler\\src\\main\\resources\\org\\drools\\clp\\CLP.g:372:4: ( LEFT_PAREN TEST function[context] RIGHT_PAREN )
             // C:\\dev\\jbossrules\\trunk\\drools-compiler\\src\\main\\resources\\org\\drools\\clp\\CLP.g:372:4: LEFT_PAREN TEST function[context] RIGHT_PAREN
             {
-            match(input,LEFT_PAREN,FOLLOW_LEFT_PAREN_in_eval_ce679); 
-            match(input,TEST,FOLLOW_TEST_in_eval_ce684); 
+            match(input,LEFT_PAREN,FOLLOW_LEFT_PAREN_in_eval_ce681); 
+            match(input,TEST,FOLLOW_TEST_in_eval_ce686); 
             
             		    evalDescr = new EvalDescr();
             		    in_ce.addDescr( evalDescr );
             		
-            pushFollow(FOLLOW_function_in_eval_ce690);
+            pushFollow(FOLLOW_function_in_eval_ce692);
             function(context);
             _fsp--;
 
             					
             			evalDescr.setContent( engine );			
             		
-            match(input,RIGHT_PAREN,FOLLOW_RIGHT_PAREN_in_eval_ce701); 
+            match(input,RIGHT_PAREN,FOLLOW_RIGHT_PAREN_in_eval_ce703); 
 
             }
 
@@ -1099,9 +1100,9 @@
             // C:\\dev\\jbossrules\\trunk\\drools-compiler\\src\\main\\resources\\org\\drools\\clp\\CLP.g:387:4: ( LEFT_PAREN name= ID ( field_constriant[column] )* RIGHT_PAREN )
             // C:\\dev\\jbossrules\\trunk\\drools-compiler\\src\\main\\resources\\org\\drools\\clp\\CLP.g:387:4: LEFT_PAREN name= ID ( field_constriant[column] )* RIGHT_PAREN
             {
-            match(input,LEFT_PAREN,FOLLOW_LEFT_PAREN_in_normal_pattern729); 
+            match(input,LEFT_PAREN,FOLLOW_LEFT_PAREN_in_normal_pattern731); 
             name=(Token)input.LT(1);
-            match(input,ID,FOLLOW_ID_in_normal_pattern736); 
+            match(input,ID,FOLLOW_ID_in_normal_pattern738); 
             
             			column = new ColumnDescr(name.getText());
             			in_ce.addDescr( column );
@@ -1120,7 +1121,7 @@
             	case 1 :
             	    // C:\\dev\\jbossrules\\trunk\\drools-compiler\\src\\main\\resources\\org\\drools\\clp\\CLP.g:392:3: field_constriant[column]
             	    {
-            	    pushFollow(FOLLOW_field_constriant_in_normal_pattern742);
+            	    pushFollow(FOLLOW_field_constriant_in_normal_pattern744);
             	    field_constriant(column);
             	    _fsp--;
 
@@ -1133,7 +1134,7 @@
                 }
             } while (true);
 
-            match(input,RIGHT_PAREN,FOLLOW_RIGHT_PAREN_in_normal_pattern752); 
+            match(input,RIGHT_PAREN,FOLLOW_RIGHT_PAREN_in_normal_pattern754); 
 
             }
 
@@ -1164,14 +1165,14 @@
             // C:\\dev\\jbossrules\\trunk\\drools-compiler\\src\\main\\resources\\org\\drools\\clp\\CLP.g:403:4: var= VAR '<-' LEFT_PAREN name= ID ( field_constriant[column] )* RIGHT_PAREN
             {
             var=(Token)input.LT(1);
-            match(input,VAR,FOLLOW_VAR_in_bound_pattern780); 
+            match(input,VAR,FOLLOW_VAR_in_bound_pattern782); 
             
             			identifier = var.getText();
             		
-            match(input,41,FOLLOW_41_in_bound_pattern786); 
-            match(input,LEFT_PAREN,FOLLOW_LEFT_PAREN_in_bound_pattern791); 
+            match(input,42,FOLLOW_42_in_bound_pattern788); 
+            match(input,LEFT_PAREN,FOLLOW_LEFT_PAREN_in_bound_pattern793); 
             name=(Token)input.LT(1);
-            match(input,ID,FOLLOW_ID_in_bound_pattern798); 
+            match(input,ID,FOLLOW_ID_in_bound_pattern800); 
             
             			column = new ColumnDescr(name.getText());
             			column.setIdentifier( identifier );
@@ -1191,7 +1192,7 @@
             	case 1 :
             	    // C:\\dev\\jbossrules\\trunk\\drools-compiler\\src\\main\\resources\\org\\drools\\clp\\CLP.g:413:3: field_constriant[column]
             	    {
-            	    pushFollow(FOLLOW_field_constriant_in_bound_pattern804);
+            	    pushFollow(FOLLOW_field_constriant_in_bound_pattern806);
             	    field_constriant(column);
             	    _fsp--;
 
@@ -1204,7 +1205,7 @@
                 }
             } while (true);
 
-            match(input,RIGHT_PAREN,FOLLOW_RIGHT_PAREN_in_bound_pattern811); 
+            match(input,RIGHT_PAREN,FOLLOW_RIGHT_PAREN_in_bound_pattern813); 
 
             }
 
@@ -1235,16 +1236,16 @@
             // C:\\dev\\jbossrules\\trunk\\drools-compiler\\src\\main\\resources\\org\\drools\\clp\\CLP.g:424: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:424:4: LEFT_PAREN f= ID restriction[fc, column] ( connective[fc] restriction[fc, column] )* RIGHT_PAREN
             {
-            match(input,LEFT_PAREN,FOLLOW_LEFT_PAREN_in_field_constriant839); 
+            match(input,LEFT_PAREN,FOLLOW_LEFT_PAREN_in_field_constriant841); 
             f=(Token)input.LT(1);
-            match(input,ID,FOLLOW_ID_in_field_constriant846); 
+            match(input,ID,FOLLOW_ID_in_field_constriant848); 
             
             			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_constriant858);
+            pushFollow(FOLLOW_restriction_in_field_constriant860);
             restriction(fc,  column);
             _fsp--;
 
@@ -1262,11 +1263,11 @@
             	case 1 :
             	    // C:\\dev\\jbossrules\\trunk\\drools-compiler\\src\\main\\resources\\org\\drools\\clp\\CLP.g:434:5: connective[fc] restriction[fc, column]
             	    {
-            	    pushFollow(FOLLOW_connective_in_field_constriant870);
+            	    pushFollow(FOLLOW_connective_in_field_constriant872);
             	    connective(fc);
             	    _fsp--;
 
-            	    pushFollow(FOLLOW_restriction_in_field_constriant887);
+            	    pushFollow(FOLLOW_restriction_in_field_constriant889);
             	    restriction(fc,  column);
             	    _fsp--;
 
@@ -1279,7 +1280,7 @@
                 }
             } while (true);
 
-            match(input,RIGHT_PAREN,FOLLOW_RIGHT_PAREN_in_field_constriant910); 
+            match(input,RIGHT_PAREN,FOLLOW_RIGHT_PAREN_in_field_constriant912); 
 
             }
 
@@ -1321,7 +1322,7 @@
                 case 1 :
                     // C:\\dev\\jbossrules\\trunk\\drools-compiler\\src\\main\\resources\\org\\drools\\clp\\CLP.g:441:6: AMPERSAND
                     {
-                    match(input,AMPERSAND,FOLLOW_AMPERSAND_in_connective928); 
+                    match(input,AMPERSAND,FOLLOW_AMPERSAND_in_connective930); 
                      fc.addRestriction(new RestrictionConnectiveDescr(RestrictionConnectiveDescr.AND)); 
 
                     }
@@ -1329,7 +1330,7 @@
                 case 2 :
                     // C:\\dev\\jbossrules\\trunk\\drools-compiler\\src\\main\\resources\\org\\drools\\clp\\CLP.g:442:9: PIPE
                     {
-                    match(input,PIPE,FOLLOW_PIPE_in_connective940); 
+                    match(input,PIPE,FOLLOW_PIPE_in_connective942); 
                     fc.addRestriction(new RestrictionConnectiveDescr(RestrictionConnectiveDescr.OR)); 
 
                     }
@@ -1375,7 +1376,7 @@
                 case 1 :
                     // C:\\dev\\jbossrules\\trunk\\drools-compiler\\src\\main\\resources\\org\\drools\\clp\\CLP.g:450:5: TILDE
                     {
-                    match(input,TILDE,FOLLOW_TILDE_in_restriction975); 
+                    match(input,TILDE,FOLLOW_TILDE_in_restriction977); 
                     op = "!=";
 
                     }
@@ -1386,10 +1387,10 @@
             // C:\\dev\\jbossrules\\trunk\\drools-compiler\\src\\main\\resources\\org\\drools\\clp\\CLP.g:451:3: ( predicate_constraint[op, column] | return_value_restriction[op, fc] | variable_restriction[op, fc] | lc= literal_restriction )
             int alt17=4;
             switch ( input.LA(1) ) {
-            case 42:
+            case 43:
                 alt17=1;
                 break;
-            case 43:
+            case 44:
                 alt17=2;
                 break;
             case VAR:
@@ -1414,7 +1415,7 @@
                 case 1 :
                     // C:\\dev\\jbossrules\\trunk\\drools-compiler\\src\\main\\resources\\org\\drools\\clp\\CLP.g:451:6: predicate_constraint[op, column]
                     {
-                    pushFollow(FOLLOW_predicate_constraint_in_restriction992);
+                    pushFollow(FOLLOW_predicate_constraint_in_restriction994);
                     predicate_constraint(op,  column);
                     _fsp--;
 
@@ -1424,7 +1425,7 @@
                 case 2 :
                     // C:\\dev\\jbossrules\\trunk\\drools-compiler\\src\\main\\resources\\org\\drools\\clp\\CLP.g:452:11: return_value_restriction[op, fc]
                     {
-                    pushFollow(FOLLOW_return_value_restriction_in_restriction1012);
+                    pushFollow(FOLLOW_return_value_restriction_in_restriction1014);
                     return_value_restriction(op,  fc);
                     _fsp--;
 
@@ -1434,7 +1435,7 @@
                 case 3 :
                     // C:\\dev\\jbossrules\\trunk\\drools-compiler\\src\\main\\resources\\org\\drools\\clp\\CLP.g:453:10: variable_restriction[op, fc]
                     {
-                    pushFollow(FOLLOW_variable_restriction_in_restriction1024);
+                    pushFollow(FOLLOW_variable_restriction_in_restriction1026);
                     variable_restriction(op,  fc);
                     _fsp--;
 
@@ -1444,7 +1445,7 @@
                 case 4 :
                     // C:\\dev\\jbossrules\\trunk\\drools-compiler\\src\\main\\resources\\org\\drools\\clp\\CLP.g:454:12: lc= literal_restriction
                     {
-                    pushFollow(FOLLOW_literal_restriction_in_restriction1040);
+                    pushFollow(FOLLOW_literal_restriction_in_restriction1042);
                     lc=literal_restriction();
                     _fsp--;
 
@@ -1484,8 +1485,8 @@
             // C:\\dev\\jbossrules\\trunk\\drools-compiler\\src\\main\\resources\\org\\drools\\clp\\CLP.g:466:4: ( ':' function[context] )
             // C:\\dev\\jbossrules\\trunk\\drools-compiler\\src\\main\\resources\\org\\drools\\clp\\CLP.g:466:4: ':' function[context]
             {
-            match(input,42,FOLLOW_42_in_predicate_constraint1082); 
-            pushFollow(FOLLOW_function_in_predicate_constraint1086);
+            match(input,43,FOLLOW_43_in_predicate_constraint1084); 
+            pushFollow(FOLLOW_function_in_predicate_constraint1088);
             function(context);
             _fsp--;
 
@@ -1518,8 +1519,8 @@
             // C:\\dev\\jbossrules\\trunk\\drools-compiler\\src\\main\\resources\\org\\drools\\clp\\CLP.g:478:4: ( '=' function[context] )
             // C:\\dev\\jbossrules\\trunk\\drools-compiler\\src\\main\\resources\\org\\drools\\clp\\CLP.g:478:4: '=' function[context]
             {
-            match(input,43,FOLLOW_43_in_return_value_restriction1109); 
-            pushFollow(FOLLOW_function_in_return_value_restriction1114);
+            match(input,44,FOLLOW_44_in_return_value_restriction1111); 
+            pushFollow(FOLLOW_function_in_return_value_restriction1116);
             function(context);
             _fsp--;
 
@@ -1551,7 +1552,7 @@
             // C:\\dev\\jbossrules\\trunk\\drools-compiler\\src\\main\\resources\\org\\drools\\clp\\CLP.g:485:4: var= VAR
             {
             var=(Token)input.LT(1);
-            match(input,VAR,FOLLOW_VAR_in_variable_restriction1135); 
+            match(input,VAR,FOLLOW_VAR_in_variable_restriction1137); 
             
             			fc.addRestriction( new VariableRestrictionDescr(op, var.getText()) );
             		
@@ -1585,7 +1586,7 @@
             // C:\\dev\\jbossrules\\trunk\\drools-compiler\\src\\main\\resources\\org\\drools\\clp\\CLP.g:496:6: (t= literal )
             // C:\\dev\\jbossrules\\trunk\\drools-compiler\\src\\main\\resources\\org\\drools\\clp\\CLP.g:496:6: t= literal
             {
-            pushFollow(FOLLOW_literal_in_literal_restriction1168);
+            pushFollow(FOLLOW_literal_in_literal_restriction1170);
             t=literal();
             _fsp--;
 
@@ -1622,8 +1623,8 @@
             // C:\\dev\\jbossrules\\trunk\\drools-compiler\\src\\main\\resources\\org\\drools\\clp\\CLP.g:505: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:505:4: LEFT_PAREN name= function_name ( function_params[context, f] )+ RIGHT_PAREN
             {
-            match(input,LEFT_PAREN,FOLLOW_LEFT_PAREN_in_function1193); 
-            pushFollow(FOLLOW_function_name_in_function1199);
+            match(input,LEFT_PAREN,FOLLOW_LEFT_PAREN_in_function1195); 
+            pushFollow(FOLLOW_function_name_in_function1201);
             name=function_name();
             _fsp--;
 
@@ -1648,7 +1649,7 @@
             	case 1 :
             	    // C:\\dev\\jbossrules\\trunk\\drools-compiler\\src\\main\\resources\\org\\drools\\clp\\CLP.g:513:3: function_params[context, f]
             	    {
-            	    pushFollow(FOLLOW_function_params_in_function1212);
+            	    pushFollow(FOLLOW_function_params_in_function1214);
             	    function_params(context,  f);
             	    _fsp--;
 
@@ -1665,7 +1666,7 @@
                 cnt18++;
             } while (true);
 
-            match(input,RIGHT_PAREN,FOLLOW_RIGHT_PAREN_in_function1222); 
+            match(input,RIGHT_PAREN,FOLLOW_RIGHT_PAREN_in_function1224); 
              context.addFunction( f ); 
 
             }
@@ -1695,8 +1696,8 @@
             // C:\\dev\\jbossrules\\trunk\\drools-compiler\\src\\main\\resources\\org\\drools\\clp\\CLP.g:525: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:525:3: LEFT_PAREN 'modify' ( slot_name_value_pair[context, f] )+ RIGHT_PAREN
             {
-            match(input,LEFT_PAREN,FOLLOW_LEFT_PAREN_in_modify_function1253); 
-            match(input,44,FOLLOW_44_in_modify_function1258); 
+            match(input,LEFT_PAREN,FOLLOW_LEFT_PAREN_in_modify_function1255); 
+            match(input,45,FOLLOW_45_in_modify_function1260); 
             // C:\\dev\\jbossrules\\trunk\\drools-compiler\\src\\main\\resources\\org\\drools\\clp\\CLP.g:527:4: ( slot_name_value_pair[context, f] )+
             int cnt19=0;
             loop19:
@@ -1712,7 +1713,7 @@
             	case 1 :
             	    // C:\\dev\\jbossrules\\trunk\\drools-compiler\\src\\main\\resources\\org\\drools\\clp\\CLP.g:527:4: slot_name_value_pair[context, f]
             	    {
-            	    pushFollow(FOLLOW_slot_name_value_pair_in_modify_function1263);
+            	    pushFollow(FOLLOW_slot_name_value_pair_in_modify_function1265);
             	    slot_name_value_pair(context,  f);
             	    _fsp--;
 
@@ -1729,7 +1730,7 @@
                 cnt19++;
             } while (true);
 
-            match(input,RIGHT_PAREN,FOLLOW_RIGHT_PAREN_in_modify_function1269); 
+            match(input,RIGHT_PAREN,FOLLOW_RIGHT_PAREN_in_modify_function1271); 
 
             }
 
@@ -1798,7 +1799,7 @@
                     // C:\\dev\\jbossrules\\trunk\\drools-compiler\\src\\main\\resources\\org\\drools\\clp\\CLP.g:536:6: t= VAR
                     {
                     t=(Token)input.LT(1);
-                    match(input,VAR,FOLLOW_VAR_in_function_params1298); 
+                    match(input,VAR,FOLLOW_VAR_in_function_params1300); 
                      value = context.getVariableValueHandler(t.getText() ); 
 
                     }
@@ -1807,7 +1808,7 @@
                     // C:\\dev\\jbossrules\\trunk\\drools-compiler\\src\\main\\resources\\org\\drools\\clp\\CLP.g:537:6: t= STRING
                     {
                     t=(Token)input.LT(1);
-                    match(input,STRING,FOLLOW_STRING_in_function_params1310); 
+                    match(input,STRING,FOLLOW_STRING_in_function_params1312); 
                      value = new ObjectLiteralValue( getString( t ) ); 
 
                     }
@@ -1816,7 +1817,7 @@
                     // C:\\dev\\jbossrules\\trunk\\drools-compiler\\src\\main\\resources\\org\\drools\\clp\\CLP.g:538:7: t= ID
                     {
                     t=(Token)input.LT(1);
-                    match(input,ID,FOLLOW_ID_in_function_params1325); 
+                    match(input,ID,FOLLOW_ID_in_function_params1327); 
                      value = new ObjectLiteralValue( t.getText() ); 
 
                     }
@@ -1825,7 +1826,7 @@
                     // C:\\dev\\jbossrules\\trunk\\drools-compiler\\src\\main\\resources\\org\\drools\\clp\\CLP.g:539:6: t= FLOAT
                     {
                     t=(Token)input.LT(1);
-                    match(input,FLOAT,FOLLOW_FLOAT_in_function_params1346); 
+                    match(input,FLOAT,FOLLOW_FLOAT_in_function_params1348); 
                      value = new DoubleLiteralValue( t.getText() ); 
 
                     }
@@ -1834,7 +1835,7 @@
                     // C:\\dev\\jbossrules\\trunk\\drools-compiler\\src\\main\\resources\\org\\drools\\clp\\CLP.g:540:6: t= INT
                     {
                     t=(Token)input.LT(1);
-                    match(input,INT,FOLLOW_INT_in_function_params1361); 
+                    match(input,INT,FOLLOW_INT_in_function_params1363); 
                      value = new LongLiteralValue( t.getText() ); 
 
                     }
@@ -1843,7 +1844,7 @@
                     // C:\\dev\\jbossrules\\trunk\\drools-compiler\\src\\main\\resources\\org\\drools\\clp\\CLP.g:541:6: t= BOOL
                     {
                     t=(Token)input.LT(1);
-                    match(input,BOOL,FOLLOW_BOOL_in_function_params1381); 
+                    match(input,BOOL,FOLLOW_BOOL_in_function_params1383); 
                      value = new BooleanLiteralValue( t.getText() ); 
 
                     }
@@ -1852,7 +1853,7 @@
                     // C:\\dev\\jbossrules\\trunk\\drools-compiler\\src\\main\\resources\\org\\drools\\clp\\CLP.g:542:6: t= NULL
                     {
                     t=(Token)input.LT(1);
-                    match(input,NULL,FOLLOW_NULL_in_function_params1403); 
+                    match(input,NULL,FOLLOW_NULL_in_function_params1405); 
                      value = ObjectLiteralValue.NULL; 
 
                     }
@@ -1860,7 +1861,7 @@
                 case 8 :
                     // C:\\dev\\jbossrules\\trunk\\drools-compiler\\src\\main\\resources\\org\\drools\\clp\\CLP.g:543:6: nf= function[context]
                     {
-                    pushFollow(FOLLOW_function_in_function_params1419);
+                    pushFollow(FOLLOW_function_in_function_params1421);
                     nf=function(context);
                     _fsp--;
 
@@ -1903,9 +1904,9 @@
             // C:\\dev\\jbossrules\\trunk\\drools-compiler\\src\\main\\resources\\org\\drools\\clp\\CLP.g:555: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:555:3: LEFT_PAREN id= ID (t= VAR | t= STRING | t= ID | t= FLOAT | t= INT | t= BOOL | t= NULL | nf= function[context] ) RIGHT_PAREN
             {
-            match(input,LEFT_PAREN,FOLLOW_LEFT_PAREN_in_slot_name_value_pair1461); 
+            match(input,LEFT_PAREN,FOLLOW_LEFT_PAREN_in_slot_name_value_pair1463); 
             id=(Token)input.LT(1);
-            match(input,ID,FOLLOW_ID_in_slot_name_value_pair1467); 
+            match(input,ID,FOLLOW_ID_in_slot_name_value_pair1469); 
             
             			name = id.getText();
             		
@@ -1948,7 +1949,7 @@
                     // C:\\dev\\jbossrules\\trunk\\drools-compiler\\src\\main\\resources\\org\\drools\\clp\\CLP.g:559:6: t= VAR
                     {
                     t=(Token)input.LT(1);
-                    match(input,VAR,FOLLOW_VAR_in_slot_name_value_pair1478); 
+                    match(input,VAR,FOLLOW_VAR_in_slot_name_value_pair1480); 
                      nameValuePair = new SlotNameValuePair(name, context.getVariableValueHandler( t.getText() ) ); 
 
                     }
@@ -1957,7 +1958,7 @@
                     // C:\\dev\\jbossrules\\trunk\\drools-compiler\\src\\main\\resources\\org\\drools\\clp\\CLP.g:560:7: t= STRING
                     {
                     t=(Token)input.LT(1);
-                    match(input,STRING,FOLLOW_STRING_in_slot_name_value_pair1496); 
+                    match(input,STRING,FOLLOW_STRING_in_slot_name_value_pair1498); 
                      nameValuePair = new SlotNameValuePair(name, new ObjectLiteralValue( getString( t ) ) ); 
 
                     }
@@ -1966,7 +1967,7 @@
                     // C:\\dev\\jbossrules\\trunk\\drools-compiler\\src\\main\\resources\\org\\drools\\clp\\CLP.g:561:7: t= ID
                     {
                     t=(Token)input.LT(1);
-                    match(input,ID,FOLLOW_ID_in_slot_name_value_pair1511); 
+                    match(input,ID,FOLLOW_ID_in_slot_name_value_pair1513); 
                      nameValuePair = new SlotNameValuePair(name, new ObjectLiteralValue( t.getText() ) ); 
 
                     }
@@ -1975,7 +1976,7 @@
                     // C:\\dev\\jbossrules\\trunk\\drools-compiler\\src\\main\\resources\\org\\drools\\clp\\CLP.g:562:6: t= FLOAT
                     {
                     t=(Token)input.LT(1);
-                    match(input,FLOAT,FOLLOW_FLOAT_in_slot_name_value_pair1532); 
+                    match(input,FLOAT,FOLLOW_FLOAT_in_slot_name_value_pair1534); 
                      nameValuePair = new SlotNameValuePair(name, new DoubleLiteralValue( t.getText() ) ); 
 
                     }
@@ -1984,7 +1985,7 @@
                     // C:\\dev\\jbossrules\\trunk\\drools-compiler\\src\\main\\resources\\org\\drools\\clp\\CLP.g:563:6: t= INT
                     {
                     t=(Token)input.LT(1);
-                    match(input,INT,FOLLOW_INT_in_slot_name_value_pair1547); 
+                    match(input,INT,FOLLOW_INT_in_slot_name_value_pair1549); 
                      nameValuePair = new SlotNameValuePair(name, new LongLiteralValue( t.getText() ) ); 
 
                     }
@@ -1993,7 +1994,7 @@
                     // C:\\dev\\jbossrules\\trunk\\drools-compiler\\src\\main\\resources\\org\\drools\\clp\\CLP.g:564:6: t= BOOL
                     {
                     t=(Token)input.LT(1);
-                    match(input,BOOL,FOLLOW_BOOL_in_slot_name_value_pair1567); 
+                    match(input,BOOL,FOLLOW_BOOL_in_slot_name_value_pair1569); 
                      nameValuePair = new SlotNameValuePair(name, new BooleanLiteralValue( t.getText() ) ) ; 
 
                     }
@@ -2002,7 +2003,7 @@
                     // C:\\dev\\jbossrules\\trunk\\drools-compiler\\src\\main\\resources\\org\\drools\\clp\\CLP.g:565:6: t= NULL
                     {
                     t=(Token)input.LT(1);
-                    match(input,NULL,FOLLOW_NULL_in_slot_name_value_pair1589); 
+                    match(input,NULL,FOLLOW_NULL_in_slot_name_value_pair1591); 
                      nameValuePair = new SlotNameValuePair(name, ObjectLiteralValue.NULL ); 
 
                     }
@@ -2010,7 +2011,7 @@
                 case 8 :
                     // C:\\dev\\jbossrules\\trunk\\drools-compiler\\src\\main\\resources\\org\\drools\\clp\\CLP.g:566:6: nf= function[context]
                     {
-                    pushFollow(FOLLOW_function_in_slot_name_value_pair1605);
+                    pushFollow(FOLLOW_function_in_slot_name_value_pair1607);
                     nf=function(context);
                     _fsp--;
 
@@ -2022,7 +2023,7 @@
             }
 
              f.addParameter( nameValuePair ); 
-            match(input,RIGHT_PAREN,FOLLOW_RIGHT_PAREN_in_slot_name_value_pair1642); 
+            match(input,RIGHT_PAREN,FOLLOW_RIGHT_PAREN_in_slot_name_value_pair1644); 
 
             }
 
@@ -2085,7 +2086,7 @@
                     // C:\\dev\\jbossrules\\trunk\\drools-compiler\\src\\main\\resources\\org\\drools\\clp\\CLP.g:577:8: t= STRING
                     {
                     t=(Token)input.LT(1);
-                    match(input,STRING,FOLLOW_STRING_in_literal1671); 
+                    match(input,STRING,FOLLOW_STRING_in_literal1673); 
                      text = getString( t ); 
 
                     }
@@ -2094,7 +2095,7 @@
                     // C:\\dev\\jbossrules\\trunk\\drools-compiler\\src\\main\\resources\\org\\drools\\clp\\CLP.g:578:7: t= ID
                     {
                     t=(Token)input.LT(1);
-                    match(input,ID,FOLLOW_ID_in_literal1684); 
+                    match(input,ID,FOLLOW_ID_in_literal1686); 
                      text = t.getText(); 
 
                     }
@@ -2103,7 +2104,7 @@
                     // C:\\dev\\jbossrules\\trunk\\drools-compiler\\src\\main\\resources\\org\\drools\\clp\\CLP.g:579:7: t= INT
                     {
                     t=(Token)input.LT(1);
-                    match(input,INT,FOLLOW_INT_in_literal1700); 
+                    match(input,INT,FOLLOW_INT_in_literal1702); 
                      text = t.getText(); 
 
                     }
@@ -2112,7 +2113,7 @@
                     // C:\\dev\\jbossrules\\trunk\\drools-compiler\\src\\main\\resources\\org\\drools\\clp\\CLP.g:580:7: t= FLOAT
                     {
                     t=(Token)input.LT(1);
-                    match(input,FLOAT,FOLLOW_FLOAT_in_literal1715); 
+                    match(input,FLOAT,FOLLOW_FLOAT_in_literal1717); 
                      text = t.getText(); 
 
                     }
@@ -2121,7 +2122,7 @@
                     // C:\\dev\\jbossrules\\trunk\\drools-compiler\\src\\main\\resources\\org\\drools\\clp\\CLP.g:581:7: t= BOOL
                     {
                     t=(Token)input.LT(1);
-                    match(input,BOOL,FOLLOW_BOOL_in_literal1728); 
+                    match(input,BOOL,FOLLOW_BOOL_in_literal1730); 
                      text = t.getText(); 
 
                     }
@@ -2130,7 +2131,7 @@
                     // C:\\dev\\jbossrules\\trunk\\drools-compiler\\src\\main\\resources\\org\\drools\\clp\\CLP.g:582:7: t= NULL
                     {
                     t=(Token)input.LT(1);
-                    match(input,NULL,FOLLOW_NULL_in_literal1742); 
+                    match(input,NULL,FOLLOW_NULL_in_literal1744); 
                      text = null; 
 
                     }
@@ -2188,7 +2189,7 @@
                     // C:\\dev\\jbossrules\\trunk\\drools-compiler\\src\\main\\resources\\org\\drools\\clp\\CLP.g:588:4: t= ID
                     {
                     t=(Token)input.LT(1);
-                    match(input,ID,FOLLOW_ID_in_function_name1771); 
+                    match(input,ID,FOLLOW_ID_in_function_name1773); 
 
                     }
                     break;
@@ -2196,7 +2197,7 @@
                     // C:\\dev\\jbossrules\\trunk\\drools-compiler\\src\\main\\resources\\org\\drools\\clp\\CLP.g:589:4: t= MISC
                     {
                     t=(Token)input.LT(1);
-                    match(input,MISC,FOLLOW_MISC_in_function_name1779); 
+                    match(input,MISC,FOLLOW_MISC_in_function_name1781); 
 
                     }
                     break;
@@ -2204,7 +2205,7 @@
                     // C:\\dev\\jbossrules\\trunk\\drools-compiler\\src\\main\\resources\\org\\drools\\clp\\CLP.g:590:4: t= SYMBOL
                     {
                     t=(Token)input.LT(1);
-                    match(input,SYMBOL,FOLLOW_SYMBOL_in_function_name1786); 
+                    match(input,SYMBOL,FOLLOW_SYMBOL_in_function_name1788); 
 
                     }
                     break;
@@ -2234,121 +2235,122 @@
     public static final BitSet FOLLOW_39_in_opt_semicolon38 = new BitSet(new long[]{0x0000000000000002L});
     public static final BitSet FOLLOW_LEFT_PAREN_in_rule64 = new BitSet(new long[]{0x0000000001000000L});
     public static final BitSet FOLLOW_DEFRULE_in_rule66 = new BitSet(new long[]{0x0000000000000020L});
-    public static final BitSet FOLLOW_agenda_group_in_rule76 = new BitSet(new long[]{0x0000000000000020L});
-    public static final BitSet FOLLOW_ID_in_rule92 = new BitSet(new long[]{0x0000000000000040L});
-    public static final BitSet FOLLOW_STRING_in_rule105 = new BitSet(new long[]{0x0000010000008010L});
-    public static final BitSet FOLLOW_ruleAttribute_in_rule111 = new BitSet(new long[]{0x0000010000008010L});
-    public static final BitSet FOLLOW_lhs_in_rule120 = new BitSet(new long[]{0x0000010000008010L});
-    public static final BitSet FOLLOW_rhs_in_rule129 = new BitSet(new long[]{0x0000000000000080L});
-    public static final BitSet FOLLOW_RIGHT_PAREN_in_rule137 = new BitSet(new long[]{0x0000000000000002L});
-    public static final BitSet FOLLOW_LEFT_PAREN_in_ruleAttribute151 = new BitSet(new long[]{0x0000000008000000L});
-    public static final BitSet FOLLOW_DECLARE_in_ruleAttribute153 = new BitSet(new long[]{0x0000000000000010L});
-    public static final BitSet FOLLOW_LEFT_PAREN_in_ruleAttribute158 = new BitSet(new long[]{0x0000000000000100L});
-    public static final BitSet FOLLOW_salience_in_ruleAttribute162 = new BitSet(new long[]{0x0000000000000080L});
-    public static final BitSet FOLLOW_RIGHT_PAREN_in_ruleAttribute169 = new BitSet(new long[]{0x0000000000000080L});
-    public static final BitSet FOLLOW_RIGHT_PAREN_in_ruleAttribute173 = new BitSet(new long[]{0x0000000000000002L});
-    public static final BitSet FOLLOW_ID_in_agenda_group198 = new BitSet(new long[]{0x0000000000000002L});
-    public static final BitSet FOLLOW_SALIENCE_in_salience233 = new BitSet(new long[]{0x0000000000000200L});
-    public static final BitSet FOLLOW_INT_in_salience237 = new BitSet(new long[]{0x0000000000000002L});
-    public static final BitSet FOLLOW_and_ce_in_lhs264 = new BitSet(new long[]{0x0000000000000002L});
-    public static final BitSet FOLLOW_or_ce_in_lhs274 = new BitSet(new long[]{0x0000000000000002L});
-    public static final BitSet FOLLOW_not_ce_in_lhs283 = new BitSet(new long[]{0x0000000000000002L});
-    public static final BitSet FOLLOW_exists_ce_in_lhs292 = new BitSet(new long[]{0x0000000000000002L});
-    public static final BitSet FOLLOW_eval_ce_in_lhs306 = new BitSet(new long[]{0x0000000000000002L});
-    public static final BitSet FOLLOW_normal_pattern_in_lhs320 = new BitSet(new long[]{0x0000000000000002L});
-    public static final BitSet FOLLOW_bound_pattern_in_lhs329 = new BitSet(new long[]{0x0000000000000002L});
-    public static final BitSet FOLLOW_40_in_rhs356 = new BitSet(new long[]{0x0000000000000012L});
-    public static final BitSet FOLLOW_function_in_rhs361 = new BitSet(new long[]{0x0000000000000012L});
-    public static final BitSet FOLLOW_and_ce_in_ce385 = new BitSet(new long[]{0x0000000000000002L});
-    public static final BitSet FOLLOW_or_ce_in_ce398 = new BitSet(new long[]{0x0000000000000002L});
-    public static final BitSet FOLLOW_not_ce_in_ce407 = new BitSet(new long[]{0x0000000000000002L});
-    public static final BitSet FOLLOW_exists_ce_in_ce416 = new BitSet(new long[]{0x0000000000000002L});
-    public static final BitSet FOLLOW_eval_ce_in_ce430 = new BitSet(new long[]{0x0000000000000002L});
-    public static final BitSet FOLLOW_normal_pattern_in_ce454 = new BitSet(new long[]{0x0000000000000002L});
-    public static final BitSet FOLLOW_LEFT_PAREN_in_and_ce486 = new BitSet(new long[]{0x0000000000000400L});
-    public static final BitSet FOLLOW_AND_in_and_ce491 = new BitSet(new long[]{0x0000000000000090L});
-    public static final BitSet FOLLOW_ce_in_and_ce497 = new BitSet(new long[]{0x0000000000000090L});
-    public static final BitSet FOLLOW_RIGHT_PAREN_in_and_ce506 = new BitSet(new long[]{0x0000000000000002L});
-    public static final BitSet FOLLOW_LEFT_PAREN_in_or_ce534 = new BitSet(new long[]{0x0000000000000800L});
-    public static final BitSet FOLLOW_OR_in_or_ce539 = new BitSet(new long[]{0x0000000000000090L});
-    public static final BitSet FOLLOW_ce_in_or_ce545 = new BitSet(new long[]{0x0000000000000090L});
-    public static final BitSet FOLLOW_RIGHT_PAREN_in_or_ce554 = new BitSet(new long[]{0x0000000000000002L});
-    public static final BitSet FOLLOW_LEFT_PAREN_in_not_ce582 = new BitSet(new long[]{0x0000000000001000L});
-    public static final BitSet FOLLOW_NOT_in_not_ce587 = new BitSet(new long[]{0x0000000000000090L});
-    public static final BitSet FOLLOW_ce_in_not_ce593 = new BitSet(new long[]{0x0000000000000080L});
-    public static final BitSet FOLLOW_RIGHT_PAREN_in_not_ce602 = new BitSet(new long[]{0x0000000000000002L});
-    public static final BitSet FOLLOW_LEFT_PAREN_in_exists_ce631 = new BitSet(new long[]{0x0000000000002000L});
-    public static final BitSet FOLLOW_EXISTS_in_exists_ce636 = new BitSet(new long[]{0x0000000000000090L});
-    public static final BitSet FOLLOW_ce_in_exists_ce642 = new BitSet(new long[]{0x0000000000000080L});
-    public static final BitSet FOLLOW_RIGHT_PAREN_in_exists_ce651 = new BitSet(new long[]{0x0000000000000002L});
-    public static final BitSet FOLLOW_LEFT_PAREN_in_eval_ce679 = new BitSet(new long[]{0x0000000000004000L});
-    public static final BitSet FOLLOW_TEST_in_eval_ce684 = new BitSet(new long[]{0x0000000000000010L});
-    public static final BitSet FOLLOW_function_in_eval_ce690 = new BitSet(new long[]{0x0000000000000080L});
-    public static final BitSet FOLLOW_RIGHT_PAREN_in_eval_ce701 = new BitSet(new long[]{0x0000000000000002L});
-    public static final BitSet FOLLOW_LEFT_PAREN_in_normal_pattern729 = new BitSet(new long[]{0x0000000000000020L});
-    public static final BitSet FOLLOW_ID_in_normal_pattern736 = new BitSet(new long[]{0x0000000000000090L});
-    public static final BitSet FOLLOW_field_constriant_in_normal_pattern742 = new BitSet(new long[]{0x0000000000000090L});
-    public static final BitSet FOLLOW_RIGHT_PAREN_in_normal_pattern752 = new BitSet(new long[]{0x0000000000000002L});
-    public static final BitSet FOLLOW_VAR_in_bound_pattern780 = new BitSet(new long[]{0x0000020000000000L});
-    public static final BitSet FOLLOW_41_in_bound_pattern786 = new BitSet(new long[]{0x0000000000000010L});
-    public static final BitSet FOLLOW_LEFT_PAREN_in_bound_pattern791 = new BitSet(new long[]{0x0000000000000020L});
-    public static final BitSet FOLLOW_ID_in_bound_pattern798 = new BitSet(new long[]{0x0000000000000090L});
-    public static final BitSet FOLLOW_field_constriant_in_bound_pattern804 = new BitSet(new long[]{0x0000000000000090L});
-    public static final BitSet FOLLOW_RIGHT_PAREN_in_bound_pattern811 = new BitSet(new long[]{0x0000000000000002L});
-    public static final BitSet FOLLOW_LEFT_PAREN_in_field_constriant839 = new BitSet(new long[]{0x0000000000000020L});
-    public static final BitSet FOLLOW_ID_in_field_constriant846 = new BitSet(new long[]{0x00000C00003C8260L});
-    public static final BitSet FOLLOW_restriction_in_field_constriant858 = new BitSet(new long[]{0x0000000000030080L});
-    public static final BitSet FOLLOW_connective_in_field_constriant870 = new BitSet(new long[]{0x00000C00003C8260L});
-    public static final BitSet FOLLOW_restriction_in_field_constriant887 = new BitSet(new long[]{0x0000000000030080L});
-    public static final BitSet FOLLOW_RIGHT_PAREN_in_field_constriant910 = new BitSet(new long[]{0x0000000000000002L});
-    public static final BitSet FOLLOW_AMPERSAND_in_connective928 = new BitSet(new long[]{0x0000000000000002L});
-    public static final BitSet FOLLOW_PIPE_in_connective940 = new BitSet(new long[]{0x0000000000000002L});
-    public static final BitSet FOLLOW_TILDE_in_restriction975 = new BitSet(new long[]{0x00000C0000388260L});
-    public static final BitSet FOLLOW_predicate_constraint_in_restriction992 = new BitSet(new long[]{0x0000000000000002L});
-    public static final BitSet FOLLOW_return_value_restriction_in_restriction1012 = new BitSet(new long[]{0x0000000000000002L});
-    public static final BitSet FOLLOW_variable_restriction_in_restriction1024 = new BitSet(new long[]{0x0000000000000002L});
-    public static final BitSet FOLLOW_literal_restriction_in_restriction1040 = new BitSet(new long[]{0x0000000000000002L});
-    public static final BitSet FOLLOW_42_in_predicate_constraint1082 = new BitSet(new long[]{0x0000000000000010L});
-    public static final BitSet FOLLOW_function_in_predicate_constraint1086 = new BitSet(new long[]{0x0000000000000002L});
-    public static final BitSet FOLLOW_43_in_return_value_restriction1109 = new BitSet(new long[]{0x0000000000000010L});
-    public static final BitSet FOLLOW_function_in_return_value_restriction1114 = new BitSet(new long[]{0x0000000000000002L});
-    public static final BitSet FOLLOW_VAR_in_variable_restriction1135 = new BitSet(new long[]{0x0000000000000002L});
-    public static final BitSet FOLLOW_literal_in_literal_restriction1168 = new BitSet(new long[]{0x0000000000000002L});
-    public static final BitSet FOLLOW_LEFT_PAREN_in_function1193 = new BitSet(new long[]{0x0000000000C00020L});
-    public static final BitSet FOLLOW_function_name_in_function1199 = new BitSet(new long[]{0x0000000000388270L});
-    public static final BitSet FOLLOW_function_params_in_function1212 = new BitSet(new long[]{0x00000000003882F0L});
-    public static final BitSet FOLLOW_RIGHT_PAREN_in_function1222 = new BitSet(new long[]{0x0000000000000002L});
-    public static final BitSet FOLLOW_LEFT_PAREN_in_modify_function1253 = new BitSet(new long[]{0x0000100000000000L});
-    public static final BitSet FOLLOW_44_in_modify_function1258 = new BitSet(new long[]{0x0000000000000010L});
-    public static final BitSet FOLLOW_slot_name_value_pair_in_modify_function1263 = new BitSet(new long[]{0x0000000000000090L});
-    public static final BitSet FOLLOW_RIGHT_PAREN_in_modify_function1269 = new BitSet(new long[]{0x0000000000000002L});
-    public static final BitSet FOLLOW_VAR_in_function_params1298 = new BitSet(new long[]{0x0000000000000002L});
-    public static final BitSet FOLLOW_STRING_in_function_params1310 = new BitSet(new long[]{0x0000000000000002L});
-    public static final BitSet FOLLOW_ID_in_function_params1325 = new BitSet(new long[]{0x0000000000000002L});
-    public static final BitSet FOLLOW_FLOAT_in_function_params1346 = new BitSet(new long[]{0x0000000000000002L});
-    public static final BitSet FOLLOW_INT_in_function_params1361 = new BitSet(new long[]{0x0000000000000002L});
-    public static final BitSet FOLLOW_BOOL_in_function_params1381 = new BitSet(new long[]{0x0000000000000002L});
-    public static final BitSet FOLLOW_NULL_in_function_params1403 = new BitSet(new long[]{0x0000000000000002L});
-    public static final BitSet FOLLOW_function_in_function_params1419 = new BitSet(new long[]{0x0000000000000002L});
-    public static final BitSet FOLLOW_LEFT_PAREN_in_slot_name_value_pair1461 = new BitSet(new long[]{0x0000000000000020L});
-    public static final BitSet FOLLOW_ID_in_slot_name_value_pair1467 = new BitSet(new long[]{0x0000000000388270L});
-    public static final BitSet FOLLOW_VAR_in_slot_name_value_pair1478 = new BitSet(new long[]{0x0000000000000080L});
-    public static final BitSet FOLLOW_STRING_in_slot_name_value_pair1496 = new BitSet(new long[]{0x0000000000000080L});
-    public static final BitSet FOLLOW_ID_in_slot_name_value_pair1511 = new BitSet(new long[]{0x0000000000000080L});
-    public static final BitSet FOLLOW_FLOAT_in_slot_name_value_pair1532 = new BitSet(new long[]{0x0000000000000080L});
-    public static final BitSet FOLLOW_INT_in_slot_name_value_pair1547 = new BitSet(new long[]{0x0000000000000080L});
-    public static final BitSet FOLLOW_BOOL_in_slot_name_value_pair1567 = new BitSet(new long[]{0x0000000000000080L});
-    public static final BitSet FOLLOW_NULL_in_slot_name_value_pair1589 = new BitSet(new long[]{0x0000000000000080L});
-    public static final BitSet FOLLOW_function_in_slot_name_value_pair1605 = new BitSet(new long[]{0x0000000000000080L});
-    public static final BitSet FOLLOW_RIGHT_PAREN_in_slot_name_value_pair1642 = new BitSet(new long[]{0x0000000000000002L});
-    public static final BitSet FOLLOW_STRING_in_literal1671 = new BitSet(new long[]{0x0000000000000002L});
-    public static final BitSet FOLLOW_ID_in_literal1684 = new BitSet(new long[]{0x0000000000000002L});
-    public static final BitSet FOLLOW_INT_in_literal1700 = new BitSet(new long[]{0x0000000000000002L});
-    public static final BitSet FOLLOW_FLOAT_in_literal1715 = new BitSet(new long[]{0x0000000000000002L});
-    public static final BitSet FOLLOW_BOOL_in_literal1728 = new BitSet(new long[]{0x0000000000000002L});
-    public static final BitSet FOLLOW_NULL_in_literal1742 = new BitSet(new long[]{0x0000000000000002L});
-    public static final BitSet FOLLOW_ID_in_function_name1771 = new BitSet(new long[]{0x0000000000000002L});
-    public static final BitSet FOLLOW_MISC_in_function_name1779 = new BitSet(new long[]{0x0000000000000002L});
-    public static final BitSet FOLLOW_SYMBOL_in_function_name1786 = new BitSet(new long[]{0x0000000000000002L});
+    public static final BitSet FOLLOW_agenda_group_in_rule76 = new BitSet(new long[]{0x0000010000000000L});
+    public static final BitSet FOLLOW_40_in_rule80 = new BitSet(new long[]{0x0000000000000020L});
+    public static final BitSet FOLLOW_ID_in_rule94 = new BitSet(new long[]{0x0000000000000040L});
+    public static final BitSet FOLLOW_STRING_in_rule107 = new BitSet(new long[]{0x0000020000008010L});
+    public static final BitSet FOLLOW_ruleAttribute_in_rule113 = new BitSet(new long[]{0x0000020000008010L});
+    public static final BitSet FOLLOW_lhs_in_rule122 = new BitSet(new long[]{0x0000020000008010L});
+    public static final BitSet FOLLOW_rhs_in_rule131 = new BitSet(new long[]{0x0000000000000080L});
+    public static final BitSet FOLLOW_RIGHT_PAREN_in_rule139 = new BitSet(new long[]{0x0000000000000002L});
+    public static final BitSet FOLLOW_LEFT_PAREN_in_ruleAttribute153 = new BitSet(new long[]{0x0000000008000000L});
+    public static final BitSet FOLLOW_DECLARE_in_ruleAttribute155 = new BitSet(new long[]{0x0000000000000010L});
+    public static final BitSet FOLLOW_LEFT_PAREN_in_ruleAttribute160 = new BitSet(new long[]{0x0000000000000100L});
+    public static final BitSet FOLLOW_salience_in_ruleAttribute164 = new BitSet(new long[]{0x0000000000000080L});
+    public static final BitSet FOLLOW_RIGHT_PAREN_in_ruleAttribute171 = new BitSet(new long[]{0x0000000000000080L});
+    public static final BitSet FOLLOW_RIGHT_PAREN_in_ruleAttribute175 = new BitSet(new long[]{0x0000000000000002L});
+    public static final BitSet FOLLOW_ID_in_agenda_group200 = new BitSet(new long[]{0x0000000000000002L});
+    public static final BitSet FOLLOW_SALIENCE_in_salience235 = new BitSet(new long[]{0x0000000000000200L});
+    public static final BitSet FOLLOW_INT_in_salience239 = new BitSet(new long[]{0x0000000000000002L});
+    public static final BitSet FOLLOW_and_ce_in_lhs266 = new BitSet(new long[]{0x0000000000000002L});
+    public static final BitSet FOLLOW_or_ce_in_lhs276 = new BitSet(new long[]{0x0000000000000002L});
+    public static final BitSet FOLLOW_not_ce_in_lhs285 = new BitSet(new long[]{0x0000000000000002L});
+    public static final BitSet FOLLOW_exists_ce_in_lhs294 = new BitSet(new long[]{0x0000000000000002L});
+    public static final BitSet FOLLOW_eval_ce_in_lhs308 = new BitSet(new long[]{0x0000000000000002L});
+    public static final BitSet FOLLOW_normal_pattern_in_lhs322 = new BitSet(new long[]{0x0000000000000002L});
+    public static final BitSet FOLLOW_bound_pattern_in_lhs331 = new BitSet(new long[]{0x0000000000000002L});
+    public static final BitSet FOLLOW_41_in_rhs358 = new BitSet(new long[]{0x0000000000000012L});
+    public static final BitSet FOLLOW_function_in_rhs363 = new BitSet(new long[]{0x0000000000000012L});
+    public static final BitSet FOLLOW_and_ce_in_ce387 = new BitSet(new long[]{0x0000000000000002L});
+    public static final BitSet FOLLOW_or_ce_in_ce400 = new BitSet(new long[]{0x0000000000000002L});
+    public static final BitSet FOLLOW_not_ce_in_ce409 = new BitSet(new long[]{0x0000000000000002L});
+    public static final BitSet FOLLOW_exists_ce_in_ce418 = new BitSet(new long[]{0x0000000000000002L});
+    public static final BitSet FOLLOW_eval_ce_in_ce432 = new BitSet(new long[]{0x0000000000000002L});
+    public static final BitSet FOLLOW_normal_pattern_in_ce456 = new BitSet(new long[]{0x0000000000000002L});
+    public static final BitSet FOLLOW_LEFT_PAREN_in_and_ce488 = new BitSet(new long[]{0x0000000000000400L});
+    public static final BitSet FOLLOW_AND_in_and_ce493 = new BitSet(new long[]{0x0000000000000090L});
+    public static final BitSet FOLLOW_ce_in_and_ce499 = new BitSet(new long[]{0x0000000000000090L});
+    public static final BitSet FOLLOW_RIGHT_PAREN_in_and_ce508 = new BitSet(new long[]{0x0000000000000002L});
+    public static final BitSet FOLLOW_LEFT_PAREN_in_or_ce536 = new BitSet(new long[]{0x0000000000000800L});
+    public static final BitSet FOLLOW_OR_in_or_ce541 = new BitSet(new long[]{0x0000000000000090L});
+    public static final BitSet FOLLOW_ce_in_or_ce547 = new BitSet(new long[]{0x0000000000000090L});
+    public static final BitSet FOLLOW_RIGHT_PAREN_in_or_ce556 = new BitSet(new long[]{0x0000000000000002L});
+    public static final BitSet FOLLOW_LEFT_PAREN_in_not_ce584 = new BitSet(new long[]{0x0000000000001000L});
+    public static final BitSet FOLLOW_NOT_in_not_ce589 = new BitSet(new long[]{0x0000000000000090L});
+    public static final BitSet FOLLOW_ce_in_not_ce595 = new BitSet(new long[]{0x0000000000000080L});
+    public static final BitSet FOLLOW_RIGHT_PAREN_in_not_ce604 = new BitSet(new long[]{0x0000000000000002L});
+    public static final BitSet FOLLOW_LEFT_PAREN_in_exists_ce633 = new BitSet(new long[]{0x0000000000002000L});
+    public static final BitSet FOLLOW_EXISTS_in_exists_ce638 = new BitSet(new long[]{0x0000000000000090L});
+    public static final BitSet FOLLOW_ce_in_exists_ce644 = new BitSet(new long[]{0x0000000000000080L});
+    public static final BitSet FOLLOW_RIGHT_PAREN_in_exists_ce653 = new BitSet(new long[]{0x0000000000000002L});
+    public static final BitSet FOLLOW_LEFT_PAREN_in_eval_ce681 = new BitSet(new long[]{0x0000000000004000L});
+    public static final BitSet FOLLOW_TEST_in_eval_ce686 = new BitSet(new long[]{0x0000000000000010L});
+    public static final BitSet FOLLOW_function_in_eval_ce692 = new BitSet(new long[]{0x0000000000000080L});
+    public static final BitSet FOLLOW_RIGHT_PAREN_in_eval_ce703 = new BitSet(new long[]{0x0000000000000002L});
+    public static final BitSet FOLLOW_LEFT_PAREN_in_normal_pattern731 = new BitSet(new long[]{0x0000000000000020L});
+    public static final BitSet FOLLOW_ID_in_normal_pattern738 = new BitSet(new long[]{0x0000000000000090L});
+    public static final BitSet FOLLOW_field_constriant_in_normal_pattern744 = new BitSet(new long[]{0x0000000000000090L});
+    public static final BitSet FOLLOW_RIGHT_PAREN_in_normal_pattern754 = new BitSet(new long[]{0x0000000000000002L});
+    public static final BitSet FOLLOW_VAR_in_bound_pattern782 = new BitSet(new long[]{0x0000040000000000L});
+    public static final BitSet FOLLOW_42_in_bound_pattern788 = new BitSet(new long[]{0x0000000000000010L});
+    public static final BitSet FOLLOW_LEFT_PAREN_in_bound_pattern793 = new BitSet(new long[]{0x0000000000000020L});
+    public static final BitSet FOLLOW_ID_in_bound_pattern800 = new BitSet(new long[]{0x0000000000000090L});
+    public static final BitSet FOLLOW_field_constriant_in_bound_pattern806 = new BitSet(new long[]{0x0000000000000090L});
+    public static final BitSet FOLLOW_RIGHT_PAREN_in_bound_pattern813 = new BitSet(new long[]{0x0000000000000002L});
+    public static final BitSet FOLLOW_LEFT_PAREN_in_field_constriant841 = new BitSet(new long[]{0x0000000000000020L});
+    public static final BitSet FOLLOW_ID_in_field_constriant848 = new BitSet(new long[]{0x00001800003C8260L});
+    public static final BitSet FOLLOW_restriction_in_field_constriant860 = new BitSet(new long[]{0x0000000000030080L});
+    public static final BitSet FOLLOW_connective_in_field_constriant872 = new BitSet(new long[]{0x00001800003C8260L});
+    public static final BitSet FOLLOW_restriction_in_field_constriant889 = new BitSet(new long[]{0x0000000000030080L});
+    public static final BitSet FOLLOW_RIGHT_PAREN_in_field_constriant912 = new BitSet(new long[]{0x0000000000000002L});
+    public static final BitSet FOLLOW_AMPERSAND_in_connective930 = new BitSet(new long[]{0x0000000000000002L});
+    public static final BitSet FOLLOW_PIPE_in_connective942 = new BitSet(new long[]{0x0000000000000002L});
+    public static final BitSet FOLLOW_TILDE_in_restriction977 = new BitSet(new long[]{0x0000180000388260L});
+    public static final BitSet FOLLOW_predicate_constraint_in_restriction994 = new BitSet(new long[]{0x0000000000000002L});
+    public static final BitSet FOLLOW_return_value_restriction_in_restriction1014 = new BitSet(new long[]{0x0000000000000002L});
+    public static final BitSet FOLLOW_variable_restriction_in_restriction1026 = new BitSet(new long[]{0x0000000000000002L});
+    public static final BitSet FOLLOW_literal_restriction_in_restriction1042 = new BitSet(new long[]{0x0000000000000002L});
+    public static final BitSet FOLLOW_43_in_predicate_constraint1084 = new BitSet(new long[]{0x0000000000000010L});
+    public static final BitSet FOLLOW_function_in_predicate_constraint1088 = new BitSet(new long[]{0x0000000000000002L});
+    public static final BitSet FOLLOW_44_in_return_value_restriction1111 = new BitSet(new long[]{0x0000000000000010L});
+    public static final BitSet FOLLOW_function_in_return_value_restriction1116 = new BitSet(new long[]{0x0000000000000002L});
+    public static final BitSet FOLLOW_VAR_in_variable_restriction1137 = new BitSet(new long[]{0x0000000000000002L});
+    public static final BitSet FOLLOW_literal_in_literal_restriction1170 = new BitSet(new long[]{0x0000000000000002L});
+    public static final BitSet FOLLOW_LEFT_PAREN_in_function1195 = new BitSet(new long[]{0x0000000000C00020L});
+    public static final BitSet FOLLOW_function_name_in_function1201 = new BitSet(new long[]{0x0000000000388270L});
+    public static final BitSet FOLLOW_function_params_in_function1214 = new BitSet(new long[]{0x00000000003882F0L});
+    public static final BitSet FOLLOW_RIGHT_PAREN_in_function1224 = new BitSet(new long[]{0x0000000000000002L});
+    public static final BitSet FOLLOW_LEFT_PAREN_in_modify_function1255 = new BitSet(new long[]{0x0000200000000000L});
+    public static final BitSet FOLLOW_45_in_modify_function1260 = new BitSet(new long[]{0x0000000000000010L});
+    public static final BitSet FOLLOW_slot_name_value_pair_in_modify_function1265 = new BitSet(new long[]{0x0000000000000090L});
+    public static final BitSet FOLLOW_RIGHT_PAREN_in_modify_function1271 = new BitSet(new long[]{0x0000000000000002L});
+    public static final BitSet FOLLOW_VAR_in_function_params1300 = new BitSet(new long[]{0x0000000000000002L});
+    public static final BitSet FOLLOW_STRING_in_function_params1312 = new BitSet(new long[]{0x0000000000000002L});
+    public static final BitSet FOLLOW_ID_in_function_params1327 = new BitSet(new long[]{0x0000000000000002L});
+    public static final BitSet FOLLOW_FLOAT_in_function_params1348 = new BitSet(new long[]{0x0000000000000002L});
+    public static final BitSet FOLLOW_INT_in_function_params1363 = new BitSet(new long[]{0x0000000000000002L});
+    public static final BitSet FOLLOW_BOOL_in_function_params1383 = new BitSet(new long[]{0x0000000000000002L});
+    public static final BitSet FOLLOW_NULL_in_function_params1405 = new BitSet(new long[]{0x0000000000000002L});
+    public static final BitSet FOLLOW_function_in_function_params1421 = new BitSet(new long[]{0x0000000000000002L});
+    public static final BitSet FOLLOW_LEFT_PAREN_in_slot_name_value_pair1463 = new BitSet(new long[]{0x0000000000000020L});
+    public static final BitSet FOLLOW_ID_in_slot_name_value_pair1469 = new BitSet(new long[]{0x0000000000388270L});
+    public static final BitSet FOLLOW_VAR_in_slot_name_value_pair1480 = new BitSet(new long[]{0x0000000000000080L});
+    public static final BitSet FOLLOW_STRING_in_slot_name_value_pair1498 = new BitSet(new long[]{0x0000000000000080L});
+    public static final BitSet FOLLOW_ID_in_slot_name_value_pair1513 = new BitSet(new long[]{0x0000000000000080L});
+    public static final BitSet FOLLOW_FLOAT_in_slot_name_value_pair1534 = new BitSet(new long[]{0x0000000000000080L});
+    public static final BitSet FOLLOW_INT_in_slot_name_value_pair1549 = new BitSet(new long[]{0x0000000000000080L});
+    public static final BitSet FOLLOW_BOOL_in_slot_name_value_pair1569 = new BitSet(new long[]{0x0000000000000080L});
+    public static final BitSet FOLLOW_NULL_in_slot_name_value_pair1591 = new BitSet(new long[]{0x0000000000000080L});
+    public static final BitSet FOLLOW_function_in_slot_name_value_pair1607 = new BitSet(new long[]{0x0000000000000080L});
+    public static final BitSet FOLLOW_RIGHT_PAREN_in_slot_name_value_pair1644 = new BitSet(new long[]{0x0000000000000002L});
+    public static final BitSet FOLLOW_STRING_in_literal1673 = new BitSet(new long[]{0x0000000000000002L});
+    public static final BitSet FOLLOW_ID_in_literal1686 = new BitSet(new long[]{0x0000000000000002L});
+    public static final BitSet FOLLOW_INT_in_literal1702 = new BitSet(new long[]{0x0000000000000002L});
+    public static final BitSet FOLLOW_FLOAT_in_literal1717 = new BitSet(new long[]{0x0000000000000002L});
+    public static final BitSet FOLLOW_BOOL_in_literal1730 = new BitSet(new long[]{0x0000000000000002L});
+    public static final BitSet FOLLOW_NULL_in_literal1744 = new BitSet(new long[]{0x0000000000000002L});
+    public static final BitSet FOLLOW_ID_in_function_name1773 = new BitSet(new long[]{0x0000000000000002L});
+    public static final BitSet FOLLOW_MISC_in_function_name1781 = new BitSet(new long[]{0x0000000000000002L});
+    public static final BitSet FOLLOW_SYMBOL_in_function_name1788 = 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-14 22:18:31 UTC (rev 10193)
+++ labs/jbossrules/trunk/drools-compiler/src/main/resources/org/drools/clp/CLP.g	2007-03-14 22:20:42 UTC (rev 10194)
@@ -214,7 +214,7 @@
 	        ColumnDescr colum = null;	        
 	      }
 	:	loc=LEFT_PAREN 'defrule' 	
-		(	d=agenda_group {  rule.addAttribute( d ); } )?
+		(	d=agenda_group {  rule.addAttribute( d ); } '::' )?
 		
 	  	ruleName=ID 
 	  	{ 




More information about the jboss-svn-commits mailing list