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

jboss-svn-commits at lists.jboss.org jboss-svn-commits at lists.jboss.org
Wed Jun 11 17:03:23 EDT 2008


Author: mattgeis
Date: 2008-06-11 17:03:23 -0400 (Wed, 11 Jun 2008)
New Revision: 20427

Modified:
   labs/jbossrules/trunk/drools-compiler/src/main/java/org/drools/lang/dsl/DSLMapLexer.java
   labs/jbossrules/trunk/drools-compiler/src/main/java/org/drools/lang/dsl/DSLMapParser.java
   labs/jbossrules/trunk/drools-compiler/src/main/java/org/drools/lang/dsl/DSLMapWalker.java
   labs/jbossrules/trunk/drools-compiler/src/main/resources/org/drools/lang/dsl/DSLMap.g
Log:
JBRULES-1633: Grammar change to support comma in hard-coded pattern associated with variable


Modified: labs/jbossrules/trunk/drools-compiler/src/main/java/org/drools/lang/dsl/DSLMapLexer.java
===================================================================
--- labs/jbossrules/trunk/drools-compiler/src/main/java/org/drools/lang/dsl/DSLMapLexer.java	2008-06-11 20:05:56 UTC (rev 20426)
+++ labs/jbossrules/trunk/drools-compiler/src/main/java/org/drools/lang/dsl/DSLMapLexer.java	2008-06-11 21:03:23 UTC (rev 20427)
@@ -1,4 +1,4 @@
-// $ANTLR 3.0.1 DSLMap.g 2008-06-10 17:00:29
+// $ANTLR 3.0.1 DSLMap.g 2008-06-11 12:09:03
 
 	package org.drools.lang.dsl;
 	import java.util.List;
@@ -57,10 +57,10 @@
     public final void mWS() throws RecognitionException {
         try {
             int _type = WS;
-            // DSLMap.g:268:9: ( ( ' ' | '\\t' | '\\f' )+ )
-            // DSLMap.g:268:17: ( ' ' | '\\t' | '\\f' )+
+            // DSLMap.g:267:9: ( ( ' ' | '\\t' | '\\f' )+ )
+            // DSLMap.g:267:17: ( ' ' | '\\t' | '\\f' )+
             {
-            // DSLMap.g:268:17: ( ' ' | '\\t' | '\\f' )+
+            // DSLMap.g:267:17: ( ' ' | '\\t' | '\\f' )+
             int cnt1=0;
             loop1:
             do {
@@ -118,10 +118,10 @@
     public final void mEOL() throws RecognitionException {
         try {
             int _type = EOL;
-            // DSLMap.g:275:6: ( ( ( '\\r\\n' )=> '\\r\\n' | '\\r' | '\\n' ) )
-            // DSLMap.g:276:6: ( ( '\\r\\n' )=> '\\r\\n' | '\\r' | '\\n' )
+            // DSLMap.g:274:6: ( ( ( '\\r\\n' )=> '\\r\\n' | '\\r' | '\\n' ) )
+            // DSLMap.g:275:6: ( ( '\\r\\n' )=> '\\r\\n' | '\\r' | '\\n' )
             {
-            // DSLMap.g:276:6: ( ( '\\r\\n' )=> '\\r\\n' | '\\r' | '\\n' )
+            // DSLMap.g:275:6: ( ( '\\r\\n' )=> '\\r\\n' | '\\r' | '\\n' )
             int alt2=3;
             int LA2_0 = input.LA(1);
 
@@ -140,13 +140,13 @@
             else {
                 if (backtracking>0) {failed=true; return ;}
                 NoViableAltException nvae =
-                    new NoViableAltException("276:6: ( ( '\\r\\n' )=> '\\r\\n' | '\\r' | '\\n' )", 2, 0, input);
+                    new NoViableAltException("275:6: ( ( '\\r\\n' )=> '\\r\\n' | '\\r' | '\\n' )", 2, 0, input);
 
                 throw nvae;
             }
             switch (alt2) {
                 case 1 :
-                    // DSLMap.g:276:14: ( '\\r\\n' )=> '\\r\\n'
+                    // DSLMap.g:275:14: ( '\\r\\n' )=> '\\r\\n'
                     {
                     match("\r\n"); if (failed) return ;
 
@@ -154,14 +154,14 @@
                     }
                     break;
                 case 2 :
-                    // DSLMap.g:277:25: '\\r'
+                    // DSLMap.g:276:25: '\\r'
                     {
                     match('\r'); if (failed) return ;
 
                     }
                     break;
                 case 3 :
-                    // DSLMap.g:278:25: '\\n'
+                    // DSLMap.g:277:25: '\\n'
                     {
                     match('\n'); if (failed) return ;
 
@@ -183,8 +183,8 @@
     // $ANTLR start EscapeSequence
     public final void mEscapeSequence() throws RecognitionException {
         try {
-            // DSLMap.g:284:5: ( '\\\\' ( 'b' | 'B' | 't' | 'n' | 'f' | 'r' | '\\\"' | '\\'' | '\\\\' | '.' | 'o' | 'x' | 'a' | 'e' | 'c' | 'd' | 'D' | 's' | 'S' | 'w' | 'W' | 'p' | 'A' | 'G' | 'Z' | 'z' | 'Q' | 'E' | '*' | '[' | ']' | '(' | ')' | '$' | '^' | '{' | '}' | '?' | '+' | '-' | '&' | '|' | '=' | 'u' | '0' | '#' ) )
-            // DSLMap.g:284:9: '\\\\' ( 'b' | 'B' | 't' | 'n' | 'f' | 'r' | '\\\"' | '\\'' | '\\\\' | '.' | 'o' | 'x' | 'a' | 'e' | 'c' | 'd' | 'D' | 's' | 'S' | 'w' | 'W' | 'p' | 'A' | 'G' | 'Z' | 'z' | 'Q' | 'E' | '*' | '[' | ']' | '(' | ')' | '$' | '^' | '{' | '}' | '?' | '+' | '-' | '&' | '|' | '=' | 'u' | '0' | '#' )
+            // DSLMap.g:283:5: ( '\\\\' ( 'b' | 'B' | 't' | 'n' | 'f' | 'r' | '\\\"' | '\\'' | '\\\\' | '.' | 'o' | 'x' | 'a' | 'e' | 'c' | 'd' | 'D' | 's' | 'S' | 'w' | 'W' | 'p' | 'A' | 'G' | 'Z' | 'z' | 'Q' | 'E' | '*' | '[' | ']' | '(' | ')' | '$' | '^' | '{' | '}' | '?' | '+' | '-' | '&' | '|' | '=' | 'u' | '0' | '#' ) )
+            // DSLMap.g:283:9: '\\\\' ( 'b' | 'B' | 't' | 'n' | 'f' | 'r' | '\\\"' | '\\'' | '\\\\' | '.' | 'o' | 'x' | 'a' | 'e' | 'c' | 'd' | 'D' | 's' | 'S' | 'w' | 'W' | 'p' | 'A' | 'G' | 'Z' | 'z' | 'Q' | 'E' | '*' | '[' | ']' | '(' | ')' | '$' | '^' | '{' | '}' | '?' | '+' | '-' | '&' | '|' | '=' | 'u' | '0' | '#' )
             {
             match('\\'); if (failed) return ;
             if ( (input.LA(1)>='\"' && input.LA(1)<='$')||(input.LA(1)>='&' && input.LA(1)<='+')||(input.LA(1)>='-' && input.LA(1)<='.')||input.LA(1)=='0'||input.LA(1)=='='||input.LA(1)=='?'||(input.LA(1)>='A' && input.LA(1)<='B')||(input.LA(1)>='D' && input.LA(1)<='E')||input.LA(1)=='G'||input.LA(1)=='Q'||input.LA(1)=='S'||input.LA(1)=='W'||(input.LA(1)>='Z' && input.LA(1)<='^')||(input.LA(1)>='a' && input.LA(1)<='f')||(input.LA(1)>='n' && input.LA(1)<='p')||(input.LA(1)>='r' && input.LA(1)<='u')||(input.LA(1)>='w' && input.LA(1)<='x')||(input.LA(1)>='z' && input.LA(1)<='}') ) {
@@ -211,8 +211,8 @@
     public final void mLEFT_SQUARE() throws RecognitionException {
         try {
             int _type = LEFT_SQUARE;
-            // DSLMap.g:291:9: ( '[' )
-            // DSLMap.g:291:11: '['
+            // DSLMap.g:290:9: ( '[' )
+            // DSLMap.g:290:11: '['
             {
             match('['); if (failed) return ;
 
@@ -229,8 +229,8 @@
     public final void mRIGHT_SQUARE() throws RecognitionException {
         try {
             int _type = RIGHT_SQUARE;
-            // DSLMap.g:295:9: ( ']' )
-            // DSLMap.g:295:11: ']'
+            // DSLMap.g:294:9: ( ']' )
+            // DSLMap.g:294:11: ']'
             {
             match(']'); if (failed) return ;
 
@@ -247,8 +247,8 @@
     public final void mLEFT_CURLY() throws RecognitionException {
         try {
             int _type = LEFT_CURLY;
-            // DSLMap.g:299:9: ( '{' )
-            // DSLMap.g:299:11: '{'
+            // DSLMap.g:298:9: ( '{' )
+            // DSLMap.g:298:11: '{'
             {
             match('{'); if (failed) return ;
 
@@ -265,8 +265,8 @@
     public final void mRIGHT_CURLY() throws RecognitionException {
         try {
             int _type = RIGHT_CURLY;
-            // DSLMap.g:303:9: ( '}' )
-            // DSLMap.g:303:11: '}'
+            // DSLMap.g:302:9: ( '}' )
+            // DSLMap.g:302:11: '}'
             {
             match('}'); if (failed) return ;
 
@@ -283,8 +283,8 @@
     public final void mEQUALS() throws RecognitionException {
         try {
             int _type = EQUALS;
-            // DSLMap.g:306:8: ( '=' )
-            // DSLMap.g:306:10: '='
+            // DSLMap.g:305:8: ( '=' )
+            // DSLMap.g:305:10: '='
             {
             match('='); if (failed) return ;
 
@@ -301,8 +301,8 @@
     public final void mDOT() throws RecognitionException {
         try {
             int _type = DOT;
-            // DSLMap.g:309:5: ( '.' )
-            // DSLMap.g:309:7: '.'
+            // DSLMap.g:308:5: ( '.' )
+            // DSLMap.g:308:7: '.'
             {
             match('.'); if (failed) return ;
 
@@ -319,8 +319,8 @@
     public final void mPOUND() throws RecognitionException {
         try {
             int _type = POUND;
-            // DSLMap.g:312:9: ( '#' )
-            // DSLMap.g:312:11: '#'
+            // DSLMap.g:311:9: ( '#' )
+            // DSLMap.g:311:11: '#'
             {
             match('#'); if (failed) return ;
 
@@ -337,8 +337,8 @@
     public final void mCOLON() throws RecognitionException {
         try {
             int _type = COLON;
-            // DSLMap.g:315:7: ( ':' )
-            // DSLMap.g:315:9: ':'
+            // DSLMap.g:314:7: ( ':' )
+            // DSLMap.g:314:9: ':'
             {
             match(':'); if (failed) return ;
 
@@ -355,8 +355,8 @@
     public final void mCOMMA() throws RecognitionException {
         try {
             int _type = COMMA;
-            // DSLMap.g:318:7: ( ',' )
-            // DSLMap.g:318:9: ','
+            // DSLMap.g:317:7: ( ',' )
+            // DSLMap.g:317:9: ','
             {
             match(','); if (failed) return ;
 
@@ -373,11 +373,11 @@
     public final void mLINE_COMMENT() throws RecognitionException {
         try {
             int _type = LINE_COMMENT;
-            // DSLMap.g:326:2: ( POUND ( options {greedy=false; } : . )* EOL )
-            // DSLMap.g:326:4: POUND ( options {greedy=false; } : . )* EOL
+            // DSLMap.g:325:2: ( POUND ( options {greedy=false; } : . )* EOL )
+            // DSLMap.g:325:4: POUND ( options {greedy=false; } : . )* EOL
             {
             mPOUND(); if (failed) return ;
-            // DSLMap.g:326:10: ( options {greedy=false; } : . )*
+            // DSLMap.g:325:10: ( options {greedy=false; } : . )*
             loop3:
             do {
                 int alt3=2;
@@ -396,7 +396,7 @@
 
                 switch (alt3) {
             	case 1 :
-            	    // DSLMap.g:326:37: .
+            	    // DSLMap.g:325:37: .
             	    {
             	    matchAny(); if (failed) return ;
 
@@ -423,10 +423,10 @@
     public final void mLITERAL() throws RecognitionException {
         try {
             int _type = LITERAL;
-            // DSLMap.g:334:2: ( ( 'a' .. 'z' | 'A' .. 'Z' | '_' | '0' .. '9' | '\\u00c0' .. '\\u00ff' | MISC | EscapeSequence | DOT )+ )
-            // DSLMap.g:334:4: ( 'a' .. 'z' | 'A' .. 'Z' | '_' | '0' .. '9' | '\\u00c0' .. '\\u00ff' | MISC | EscapeSequence | DOT )+
+            // DSLMap.g:333:2: ( ( 'a' .. 'z' | 'A' .. 'Z' | '_' | '0' .. '9' | '\\u00c0' .. '\\u00ff' | MISC | EscapeSequence | DOT )+ )
+            // DSLMap.g:333:4: ( 'a' .. 'z' | 'A' .. 'Z' | '_' | '0' .. '9' | '\\u00c0' .. '\\u00ff' | MISC | EscapeSequence | DOT )+
             {
-            // DSLMap.g:334:4: ( 'a' .. 'z' | 'A' .. 'Z' | '_' | '0' .. '9' | '\\u00c0' .. '\\u00ff' | MISC | EscapeSequence | DOT )+
+            // DSLMap.g:333:4: ( 'a' .. 'z' | 'A' .. 'Z' | '_' | '0' .. '9' | '\\u00c0' .. '\\u00ff' | MISC | EscapeSequence | DOT )+
             int cnt4=0;
             loop4:
             do {
@@ -589,6 +589,7 @@
                 case ')':
                 case '*':
                 case '+':
+                case ',':
                 case '-':
                 case '/':
                 case ';':
@@ -617,56 +618,56 @@
 
                 switch (alt4) {
             	case 1 :
-            	    // DSLMap.g:334:5: 'a' .. 'z'
+            	    // DSLMap.g:333:5: 'a' .. 'z'
             	    {
             	    matchRange('a','z'); if (failed) return ;
 
             	    }
             	    break;
             	case 2 :
-            	    // DSLMap.g:334:14: 'A' .. 'Z'
+            	    // DSLMap.g:333:14: 'A' .. 'Z'
             	    {
             	    matchRange('A','Z'); if (failed) return ;
 
             	    }
             	    break;
             	case 3 :
-            	    // DSLMap.g:334:23: '_'
+            	    // DSLMap.g:333:23: '_'
             	    {
             	    match('_'); if (failed) return ;
 
             	    }
             	    break;
             	case 4 :
-            	    // DSLMap.g:334:27: '0' .. '9'
+            	    // DSLMap.g:333:27: '0' .. '9'
             	    {
             	    matchRange('0','9'); if (failed) return ;
 
             	    }
             	    break;
             	case 5 :
-            	    // DSLMap.g:334:36: '\\u00c0' .. '\\u00ff'
+            	    // DSLMap.g:333:36: '\\u00c0' .. '\\u00ff'
             	    {
             	    matchRange('\u00C0','\u00FF'); if (failed) return ;
 
             	    }
             	    break;
             	case 6 :
-            	    // DSLMap.g:334:55: MISC
+            	    // DSLMap.g:333:55: MISC
             	    {
             	    mMISC(); if (failed) return ;
 
             	    }
             	    break;
             	case 7 :
-            	    // DSLMap.g:334:60: EscapeSequence
+            	    // DSLMap.g:333:60: EscapeSequence
             	    {
             	    mEscapeSequence(); if (failed) return ;
 
             	    }
             	    break;
             	case 8 :
-            	    // DSLMap.g:334:75: DOT
+            	    // DSLMap.g:333:75: DOT
             	    {
             	    mDOT(); if (failed) return ;
 
@@ -696,10 +697,10 @@
     // $ANTLR start MISC
     public final void mMISC() throws RecognitionException {
         try {
-            // DSLMap.g:338:7: ( '>' | '<' | '!' | '@' | '$' | '%' | '^' | '*' | '-' | '+' | '?' | '/' | '\\'' | '\"' | '|' | '&' | '(' | ')' | ';' )
+            // DSLMap.g:337:7: ( '>' | '<' | '!' | '@' | '$' | '%' | '^' | '*' | '-' | '+' | '?' | COMMA | '/' | '\\'' | '\"' | '|' | '&' | '(' | ')' | ';' )
             // DSLMap.g:
             {
-            if ( (input.LA(1)>='!' && input.LA(1)<='\"')||(input.LA(1)>='$' && input.LA(1)<='+')||input.LA(1)=='-'||input.LA(1)=='/'||(input.LA(1)>=';' && input.LA(1)<='<')||(input.LA(1)>='>' && input.LA(1)<='@')||input.LA(1)=='^'||input.LA(1)=='|' ) {
+            if ( (input.LA(1)>='!' && input.LA(1)<='\"')||(input.LA(1)>='$' && input.LA(1)<='-')||input.LA(1)=='/'||(input.LA(1)>=';' && input.LA(1)<='<')||(input.LA(1)>='>' && input.LA(1)<='@')||input.LA(1)=='^'||input.LA(1)=='|' ) {
                 input.consume();
             failed=false;
             }
@@ -765,7 +766,7 @@
             {
             int LA5_8 = input.LA(2);
 
-            if ( ((LA5_8>='!' && LA5_8<='\"')||(LA5_8>='$' && LA5_8<='+')||(LA5_8>='-' && LA5_8<='9')||(LA5_8>=';' && LA5_8<='<')||(LA5_8>='>' && LA5_8<='Z')||LA5_8=='\\'||(LA5_8>='^' && LA5_8<='_')||(LA5_8>='a' && LA5_8<='z')||LA5_8=='|'||(LA5_8>='\u00C0' && LA5_8<='\u00FF')) ) {
+            if ( ((LA5_8>='!' && LA5_8<='\"')||(LA5_8>='$' && LA5_8<='9')||(LA5_8>=';' && LA5_8<='<')||(LA5_8>='>' && LA5_8<='Z')||LA5_8=='\\'||(LA5_8>='^' && LA5_8<='_')||(LA5_8>='a' && LA5_8<='z')||LA5_8=='|'||(LA5_8>='\u00C0' && LA5_8<='\u00FF')) ) {
                 alt5=13;
             }
             else {
@@ -790,8 +791,14 @@
             break;
         case ',':
             {
-            alt5=11;
+            int LA5_11 = input.LA(2);
+
+            if ( ((LA5_11>='!' && LA5_11<='\"')||(LA5_11>='$' && LA5_11<='9')||(LA5_11>=';' && LA5_11<='<')||(LA5_11>='>' && LA5_11<='Z')||LA5_11=='\\'||(LA5_11>='^' && LA5_11<='_')||(LA5_11>='a' && LA5_11<='z')||LA5_11=='|'||(LA5_11>='\u00C0' && LA5_11<='\u00FF')) ) {
+                alt5=13;
             }
+            else {
+                alt5=11;}
+            }
             break;
         case '!':
         case '\"':
@@ -1051,8 +1058,8 @@
 
     // $ANTLR start synpred1
     public final void synpred1_fragment() throws RecognitionException {   
-        // DSLMap.g:276:14: ( '\\r\\n' )
-        // DSLMap.g:276:16: '\\r\\n'
+        // DSLMap.g:275:14: ( '\\r\\n' )
+        // DSLMap.g:275:16: '\\r\\n'
         {
         match("\r\n"); if (failed) return ;
 

Modified: labs/jbossrules/trunk/drools-compiler/src/main/java/org/drools/lang/dsl/DSLMapParser.java
===================================================================
--- labs/jbossrules/trunk/drools-compiler/src/main/java/org/drools/lang/dsl/DSLMapParser.java	2008-06-11 20:05:56 UTC (rev 20426)
+++ labs/jbossrules/trunk/drools-compiler/src/main/java/org/drools/lang/dsl/DSLMapParser.java	2008-06-11 21:03:23 UTC (rev 20427)
@@ -1,4 +1,4 @@
-// $ANTLR 3.0.1 DSLMap.g 2008-06-10 17:00:29
+// $ANTLR 3.0.1 DSLMap.g 2008-06-11 12:09:03
 
 	package org.drools.lang.dsl;
 	import java.util.List;
@@ -1571,8 +1571,8 @@
         Object set25_tree=null;
 
         try {
-            // DSLMap.g:170:2: ( ( LITERAL | COLON | LEFT_SQUARE | RIGHT_SQUARE ) )
-            // DSLMap.g:170:4: ( LITERAL | COLON | LEFT_SQUARE | RIGHT_SQUARE )
+            // DSLMap.g:169:2: ( ( LITERAL | COLON | LEFT_SQUARE | RIGHT_SQUARE ) )
+            // DSLMap.g:169:4: ( LITERAL | COLON | LEFT_SQUARE | RIGHT_SQUARE )
             {
             root_0 = (Object)adaptor.nil();
 
@@ -1586,7 +1586,7 @@
                 if (backtracking>0) {failed=true; return retval;}
                 MismatchedSetException mse =
                     new MismatchedSetException(null,input);
-                recoverFromMismatchedSet(input,mse,FOLLOW_set_in_literal658);    throw mse;
+                recoverFromMismatchedSet(input,mse,FOLLOW_set_in_literal656);    throw mse;
             }
 
 
@@ -1615,7 +1615,7 @@
     };
 
     // $ANTLR start variable_definition
-    // DSLMap.g:174:1: variable_definition : lc= LEFT_CURLY name= LITERAL ( COLON pat= pattern )? rc= RIGHT_CURLY -> {hasSpaceBefore && !\"\".equals(text) && !hasSpaceAfter}? VT_SPACE ^( VT_VAR_DEF $name VT_PATTERN[$pat.start, text] ) -> {!hasSpaceBefore && !\"\".equals(text) && !hasSpaceAfter}? ^( VT_VAR_DEF $name VT_PATTERN[$pat.start, text] ) -> {hasSpaceBefore && !hasSpaceAfter}? VT_SPACE ^( VT_VAR_DEF $name) -> {!hasSpaceBefore && !hasSpaceAfter}? ^( VT_VAR_DEF $name) -> {hasSpaceBefore && !\"\".equals(text) && hasSpaceAfter}? VT_SPACE ^( VT_VAR_DEF $name VT_PATTERN[$pat.start, text] ) VT_SPACE -> {!hasSpaceBefore && !\"\".equals(text) && hasSpaceAfter}? ^( VT_VAR_DEF $name VT_PATTERN[$pat.start, text] ) VT_SPACE -> {hasSpaceBefore && hasSpaceAfter}? VT_SPACE ^( VT_VAR_DEF $name) VT_SPACE -> {!hasSpaceBefore && hasSpaceAfter}? ^( VT_VAR_DEF $name) VT_SPACE -> ^( VT_VAR_DEF $name) ;
+    // DSLMap.g:173:1: variable_definition : lc= LEFT_CURLY name= LITERAL ( COLON pat= pattern )? rc= RIGHT_CURLY -> {hasSpaceBefore && !\"\".equals(text) && !hasSpaceAfter}? VT_SPACE ^( VT_VAR_DEF $name VT_PATTERN[$pat.start, text] ) -> {!hasSpaceBefore && !\"\".equals(text) && !hasSpaceAfter}? ^( VT_VAR_DEF $name VT_PATTERN[$pat.start, text] ) -> {hasSpaceBefore && !hasSpaceAfter}? VT_SPACE ^( VT_VAR_DEF $name) -> {!hasSpaceBefore && !hasSpaceAfter}? ^( VT_VAR_DEF $name) -> {hasSpaceBefore && !\"\".equals(text) && hasSpaceAfter}? VT_SPACE ^( VT_VAR_DEF $name VT_PATTERN[$pat.start, text] ) VT_SPACE -> {!hasSpaceBefore && !\"\".equals(text) && hasSpaceAfter}? ^( VT_VAR_DEF $name VT_PATTERN[$pat.start, text] ) VT_SPACE -> {hasSpaceBefore && hasSpaceAfter}? VT_SPACE ^( VT_VAR_DEF $name) VT_SPACE -> {!hasSpaceBefore && hasSpaceAfter}? ^( VT_VAR_DEF $name) VT_SPACE -> ^( VT_VAR_DEF $name) ;
     public final variable_definition_return variable_definition() throws RecognitionException {
         variable_definition_return retval = new variable_definition_return();
         retval.start = input.LT(1);
@@ -1644,11 +1644,11 @@
                 boolean hasSpaceAfter = false;
 
         try {
-            // DSLMap.g:180:2: (lc= LEFT_CURLY name= LITERAL ( COLON pat= pattern )? rc= RIGHT_CURLY -> {hasSpaceBefore && !\"\".equals(text) && !hasSpaceAfter}? VT_SPACE ^( VT_VAR_DEF $name VT_PATTERN[$pat.start, text] ) -> {!hasSpaceBefore && !\"\".equals(text) && !hasSpaceAfter}? ^( VT_VAR_DEF $name VT_PATTERN[$pat.start, text] ) -> {hasSpaceBefore && !hasSpaceAfter}? VT_SPACE ^( VT_VAR_DEF $name) -> {!hasSpaceBefore && !hasSpaceAfter}? ^( VT_VAR_DEF $name) -> {hasSpaceBefore && !\"\".equals(text) && hasSpaceAfter}? VT_SPACE ^( VT_VAR_DEF $name VT_PATTERN[$pat.start, text] ) VT_SPACE -> {!hasSpaceBefore && !\"\".equals(text) && hasSpaceAfter}? ^( VT_VAR_DEF $name VT_PATTERN[$pat.start, text] ) VT_SPACE -> {hasSpaceBefore && hasSpaceAfter}? VT_SPACE ^( VT_VAR_DEF $name) VT_SPACE -> {!hasSpaceBefore && hasSpaceAfter}? ^( VT_VAR_DEF $name) VT_SPACE -> ^( VT_VAR_DEF $name) )
-            // DSLMap.g:180:4: lc= LEFT_CURLY name= LITERAL ( COLON pat= pattern )? rc= RIGHT_CURLY
+            // DSLMap.g:179:2: (lc= LEFT_CURLY name= LITERAL ( COLON pat= pattern )? rc= RIGHT_CURLY -> {hasSpaceBefore && !\"\".equals(text) && !hasSpaceAfter}? VT_SPACE ^( VT_VAR_DEF $name VT_PATTERN[$pat.start, text] ) -> {!hasSpaceBefore && !\"\".equals(text) && !hasSpaceAfter}? ^( VT_VAR_DEF $name VT_PATTERN[$pat.start, text] ) -> {hasSpaceBefore && !hasSpaceAfter}? VT_SPACE ^( VT_VAR_DEF $name) -> {!hasSpaceBefore && !hasSpaceAfter}? ^( VT_VAR_DEF $name) -> {hasSpaceBefore && !\"\".equals(text) && hasSpaceAfter}? VT_SPACE ^( VT_VAR_DEF $name VT_PATTERN[$pat.start, text] ) VT_SPACE -> {!hasSpaceBefore && !\"\".equals(text) && hasSpaceAfter}? ^( VT_VAR_DEF $name VT_PATTERN[$pat.start, text] ) VT_SPACE -> {hasSpaceBefore && hasSpaceAfter}? VT_SPACE ^( VT_VAR_DEF $name) VT_SPACE -> {!hasSpaceBefore && hasSpaceAfter}? ^( VT_VAR_DEF $name) VT_SPACE -> ^( VT_VAR_DEF $name) )
+            // DSLMap.g:179:4: lc= LEFT_CURLY name= LITERAL ( COLON pat= pattern )? rc= RIGHT_CURLY
             {
             lc=(Token)input.LT(1);
-            match(input,LEFT_CURLY,FOLLOW_LEFT_CURLY_in_variable_definition694); if (failed) return retval;
+            match(input,LEFT_CURLY,FOLLOW_LEFT_CURLY_in_variable_definition692); if (failed) return retval;
             if ( backtracking==0 ) stream_LEFT_CURLY.add(lc);
 
             if ( backtracking==0 ) {
@@ -1658,10 +1658,10 @@
               		
             }
             name=(Token)input.LT(1);
-            match(input,LITERAL,FOLLOW_LITERAL_in_variable_definition705); if (failed) return retval;
+            match(input,LITERAL,FOLLOW_LITERAL_in_variable_definition703); if (failed) return retval;
             if ( backtracking==0 ) stream_LITERAL.add(name);
 
-            // DSLMap.g:185:15: ( COLON pat= pattern )?
+            // DSLMap.g:184:15: ( COLON pat= pattern )?
             int alt13=2;
             int LA13_0 = input.LA(1);
 
@@ -1670,13 +1670,13 @@
             }
             switch (alt13) {
                 case 1 :
-                    // DSLMap.g:185:17: COLON pat= pattern
+                    // DSLMap.g:184:17: COLON pat= pattern
                     {
                     COLON26=(Token)input.LT(1);
-                    match(input,COLON,FOLLOW_COLON_in_variable_definition709); if (failed) return retval;
+                    match(input,COLON,FOLLOW_COLON_in_variable_definition707); if (failed) return retval;
                     if ( backtracking==0 ) stream_COLON.add(COLON26);
 
-                    pushFollow(FOLLOW_pattern_in_variable_definition713);
+                    pushFollow(FOLLOW_pattern_in_variable_definition711);
                     pat=pattern();
                     _fsp--;
                     if (failed) return retval;
@@ -1691,7 +1691,7 @@
             }
 
             rc=(Token)input.LT(1);
-            match(input,RIGHT_CURLY,FOLLOW_RIGHT_CURLY_in_variable_definition722); if (failed) return retval;
+            match(input,RIGHT_CURLY,FOLLOW_RIGHT_CURLY_in_variable_definition720); if (failed) return retval;
             if ( backtracking==0 ) stream_RIGHT_CURLY.add(rc);
 
             if ( backtracking==0 ) {
@@ -1713,10 +1713,10 @@
             RewriteRuleSubtreeStream stream_retval=new RewriteRuleSubtreeStream(adaptor,"token retval",retval!=null?retval.tree:null);
 
             root_0 = (Object)adaptor.nil();
-            // 190:2: -> {hasSpaceBefore && !\"\".equals(text) && !hasSpaceAfter}? VT_SPACE ^( VT_VAR_DEF $name VT_PATTERN[$pat.start, text] )
+            // 189:2: -> {hasSpaceBefore && !\"\".equals(text) && !hasSpaceAfter}? VT_SPACE ^( VT_VAR_DEF $name VT_PATTERN[$pat.start, text] )
             if (hasSpaceBefore && !"".equals(text) && !hasSpaceAfter) {
                 adaptor.addChild(root_0, adaptor.create(VT_SPACE, "VT_SPACE"));
-                // DSLMap.g:190:70: ^( VT_VAR_DEF $name VT_PATTERN[$pat.start, text] )
+                // DSLMap.g:189:70: ^( VT_VAR_DEF $name VT_PATTERN[$pat.start, text] )
                 {
                 Object root_1 = (Object)adaptor.nil();
                 root_1 = (Object)adaptor.becomeRoot(adaptor.create(VT_VAR_DEF, "VT_VAR_DEF"), root_1);
@@ -1728,9 +1728,9 @@
                 }
 
             }
-            else // 191:2: -> {!hasSpaceBefore && !\"\".equals(text) && !hasSpaceAfter}? ^( VT_VAR_DEF $name VT_PATTERN[$pat.start, text] )
+            else // 190:2: -> {!hasSpaceBefore && !\"\".equals(text) && !hasSpaceAfter}? ^( VT_VAR_DEF $name VT_PATTERN[$pat.start, text] )
             if (!hasSpaceBefore && !"".equals(text)  && !hasSpaceAfter) {
-                // DSLMap.g:191:63: ^( VT_VAR_DEF $name VT_PATTERN[$pat.start, text] )
+                // DSLMap.g:190:63: ^( VT_VAR_DEF $name VT_PATTERN[$pat.start, text] )
                 {
                 Object root_1 = (Object)adaptor.nil();
                 root_1 = (Object)adaptor.becomeRoot(adaptor.create(VT_VAR_DEF, "VT_VAR_DEF"), root_1);
@@ -1742,10 +1742,10 @@
                 }
 
             }
-            else // 192:2: -> {hasSpaceBefore && !hasSpaceAfter}? VT_SPACE ^( VT_VAR_DEF $name)
+            else // 191:2: -> {hasSpaceBefore && !hasSpaceAfter}? VT_SPACE ^( VT_VAR_DEF $name)
             if (hasSpaceBefore  && !hasSpaceAfter) {
                 adaptor.addChild(root_0, adaptor.create(VT_SPACE, "VT_SPACE"));
-                // DSLMap.g:192:51: ^( VT_VAR_DEF $name)
+                // DSLMap.g:191:51: ^( VT_VAR_DEF $name)
                 {
                 Object root_1 = (Object)adaptor.nil();
                 root_1 = (Object)adaptor.becomeRoot(adaptor.create(VT_VAR_DEF, "VT_VAR_DEF"), root_1);
@@ -1756,9 +1756,9 @@
                 }
 
             }
-            else // 193:2: -> {!hasSpaceBefore && !hasSpaceAfter}? ^( VT_VAR_DEF $name)
+            else // 192:2: -> {!hasSpaceBefore && !hasSpaceAfter}? ^( VT_VAR_DEF $name)
             if (!hasSpaceBefore  && !hasSpaceAfter) {
-                // DSLMap.g:193:44: ^( VT_VAR_DEF $name)
+                // DSLMap.g:192:44: ^( VT_VAR_DEF $name)
                 {
                 Object root_1 = (Object)adaptor.nil();
                 root_1 = (Object)adaptor.becomeRoot(adaptor.create(VT_VAR_DEF, "VT_VAR_DEF"), root_1);
@@ -1769,10 +1769,10 @@
                 }
 
             }
-            else // 195:2: -> {hasSpaceBefore && !\"\".equals(text) && hasSpaceAfter}? VT_SPACE ^( VT_VAR_DEF $name VT_PATTERN[$pat.start, text] ) VT_SPACE
+            else // 194:2: -> {hasSpaceBefore && !\"\".equals(text) && hasSpaceAfter}? VT_SPACE ^( VT_VAR_DEF $name VT_PATTERN[$pat.start, text] ) VT_SPACE
             if (hasSpaceBefore && !"".equals(text) && hasSpaceAfter) {
                 adaptor.addChild(root_0, adaptor.create(VT_SPACE, "VT_SPACE"));
-                // DSLMap.g:195:69: ^( VT_VAR_DEF $name VT_PATTERN[$pat.start, text] )
+                // DSLMap.g:194:69: ^( VT_VAR_DEF $name VT_PATTERN[$pat.start, text] )
                 {
                 Object root_1 = (Object)adaptor.nil();
                 root_1 = (Object)adaptor.becomeRoot(adaptor.create(VT_VAR_DEF, "VT_VAR_DEF"), root_1);
@@ -1785,9 +1785,9 @@
                 adaptor.addChild(root_0, adaptor.create(VT_SPACE, "VT_SPACE"));
 
             }
-            else // 196:2: -> {!hasSpaceBefore && !\"\".equals(text) && hasSpaceAfter}? ^( VT_VAR_DEF $name VT_PATTERN[$pat.start, text] ) VT_SPACE
+            else // 195:2: -> {!hasSpaceBefore && !\"\".equals(text) && hasSpaceAfter}? ^( VT_VAR_DEF $name VT_PATTERN[$pat.start, text] ) VT_SPACE
             if (!hasSpaceBefore && !"".equals(text)  && hasSpaceAfter) {
-                // DSLMap.g:196:62: ^( VT_VAR_DEF $name VT_PATTERN[$pat.start, text] )
+                // DSLMap.g:195:62: ^( VT_VAR_DEF $name VT_PATTERN[$pat.start, text] )
                 {
                 Object root_1 = (Object)adaptor.nil();
                 root_1 = (Object)adaptor.becomeRoot(adaptor.create(VT_VAR_DEF, "VT_VAR_DEF"), root_1);
@@ -1800,10 +1800,10 @@
                 adaptor.addChild(root_0, adaptor.create(VT_SPACE, "VT_SPACE"));
 
             }
-            else // 197:2: -> {hasSpaceBefore && hasSpaceAfter}? VT_SPACE ^( VT_VAR_DEF $name) VT_SPACE
+            else // 196:2: -> {hasSpaceBefore && hasSpaceAfter}? VT_SPACE ^( VT_VAR_DEF $name) VT_SPACE
             if (hasSpaceBefore  && hasSpaceAfter) {
                 adaptor.addChild(root_0, adaptor.create(VT_SPACE, "VT_SPACE"));
-                // DSLMap.g:197:50: ^( VT_VAR_DEF $name)
+                // DSLMap.g:196:50: ^( VT_VAR_DEF $name)
                 {
                 Object root_1 = (Object)adaptor.nil();
                 root_1 = (Object)adaptor.becomeRoot(adaptor.create(VT_VAR_DEF, "VT_VAR_DEF"), root_1);
@@ -1815,9 +1815,9 @@
                 adaptor.addChild(root_0, adaptor.create(VT_SPACE, "VT_SPACE"));
 
             }
-            else // 198:2: -> {!hasSpaceBefore && hasSpaceAfter}? ^( VT_VAR_DEF $name) VT_SPACE
+            else // 197:2: -> {!hasSpaceBefore && hasSpaceAfter}? ^( VT_VAR_DEF $name) VT_SPACE
             if (!hasSpaceBefore  && hasSpaceAfter) {
-                // DSLMap.g:198:43: ^( VT_VAR_DEF $name)
+                // DSLMap.g:197:43: ^( VT_VAR_DEF $name)
                 {
                 Object root_1 = (Object)adaptor.nil();
                 root_1 = (Object)adaptor.becomeRoot(adaptor.create(VT_VAR_DEF, "VT_VAR_DEF"), root_1);
@@ -1829,9 +1829,9 @@
                 adaptor.addChild(root_0, adaptor.create(VT_SPACE, "VT_SPACE"));
 
             }
-            else // 199:2: -> ^( VT_VAR_DEF $name)
+            else // 198:2: -> ^( VT_VAR_DEF $name)
             {
-                // DSLMap.g:199:5: ^( VT_VAR_DEF $name)
+                // DSLMap.g:198:5: ^( VT_VAR_DEF $name)
                 {
                 Object root_1 = (Object)adaptor.nil();
                 root_1 = (Object)adaptor.becomeRoot(adaptor.create(VT_VAR_DEF, "VT_VAR_DEF"), root_1);
@@ -1870,7 +1870,7 @@
     };
 
     // $ANTLR start variable_definition2
-    // DSLMap.g:202:1: variable_definition2 : LEFT_CURLY name= LITERAL ( COLON pat= pattern )? RIGHT_CURLY -> {!\"\".equals(text)}? ^( VT_VAR_DEF $name VT_PATTERN[$pat.start, text] ) -> ^( VT_VAR_DEF $name) ;
+    // DSLMap.g:201:1: variable_definition2 : LEFT_CURLY name= LITERAL ( COLON pat= pattern )? RIGHT_CURLY -> {!\"\".equals(text)}? ^( VT_VAR_DEF $name VT_PATTERN[$pat.start, text] ) -> ^( VT_VAR_DEF $name) ;
     public final variable_definition2_return variable_definition2() throws RecognitionException {
         variable_definition2_return retval = new variable_definition2_return();
         retval.start = input.LT(1);
@@ -1897,18 +1897,18 @@
                 String text = "";
 
         try {
-            // DSLMap.g:206:2: ( LEFT_CURLY name= LITERAL ( COLON pat= pattern )? RIGHT_CURLY -> {!\"\".equals(text)}? ^( VT_VAR_DEF $name VT_PATTERN[$pat.start, text] ) -> ^( VT_VAR_DEF $name) )
-            // DSLMap.g:206:4: LEFT_CURLY name= LITERAL ( COLON pat= pattern )? RIGHT_CURLY
+            // DSLMap.g:205:2: ( LEFT_CURLY name= LITERAL ( COLON pat= pattern )? RIGHT_CURLY -> {!\"\".equals(text)}? ^( VT_VAR_DEF $name VT_PATTERN[$pat.start, text] ) -> ^( VT_VAR_DEF $name) )
+            // DSLMap.g:205:4: LEFT_CURLY name= LITERAL ( COLON pat= pattern )? RIGHT_CURLY
             {
             LEFT_CURLY27=(Token)input.LT(1);
-            match(input,LEFT_CURLY,FOLLOW_LEFT_CURLY_in_variable_definition2898); if (failed) return retval;
+            match(input,LEFT_CURLY,FOLLOW_LEFT_CURLY_in_variable_definition2896); if (failed) return retval;
             if ( backtracking==0 ) stream_LEFT_CURLY.add(LEFT_CURLY27);
 
             name=(Token)input.LT(1);
-            match(input,LITERAL,FOLLOW_LITERAL_in_variable_definition2902); if (failed) return retval;
+            match(input,LITERAL,FOLLOW_LITERAL_in_variable_definition2900); if (failed) return retval;
             if ( backtracking==0 ) stream_LITERAL.add(name);
 
-            // DSLMap.g:206:28: ( COLON pat= pattern )?
+            // DSLMap.g:205:28: ( COLON pat= pattern )?
             int alt14=2;
             int LA14_0 = input.LA(1);
 
@@ -1917,13 +1917,13 @@
             }
             switch (alt14) {
                 case 1 :
-                    // DSLMap.g:206:30: COLON pat= pattern
+                    // DSLMap.g:205:30: COLON pat= pattern
                     {
                     COLON28=(Token)input.LT(1);
-                    match(input,COLON,FOLLOW_COLON_in_variable_definition2906); if (failed) return retval;
+                    match(input,COLON,FOLLOW_COLON_in_variable_definition2904); if (failed) return retval;
                     if ( backtracking==0 ) stream_COLON.add(COLON28);
 
-                    pushFollow(FOLLOW_pattern_in_variable_definition2910);
+                    pushFollow(FOLLOW_pattern_in_variable_definition2908);
                     pat=pattern();
                     _fsp--;
                     if (failed) return retval;
@@ -1938,7 +1938,7 @@
             }
 
             RIGHT_CURLY29=(Token)input.LT(1);
-            match(input,RIGHT_CURLY,FOLLOW_RIGHT_CURLY_in_variable_definition2917); if (failed) return retval;
+            match(input,RIGHT_CURLY,FOLLOW_RIGHT_CURLY_in_variable_definition2915); if (failed) return retval;
             if ( backtracking==0 ) stream_RIGHT_CURLY.add(RIGHT_CURLY29);
 
 
@@ -1954,9 +1954,9 @@
             RewriteRuleSubtreeStream stream_retval=new RewriteRuleSubtreeStream(adaptor,"token retval",retval!=null?retval.tree:null);
 
             root_0 = (Object)adaptor.nil();
-            // 207:2: -> {!\"\".equals(text)}? ^( VT_VAR_DEF $name VT_PATTERN[$pat.start, text] )
+            // 206:2: -> {!\"\".equals(text)}? ^( VT_VAR_DEF $name VT_PATTERN[$pat.start, text] )
             if (!"".equals(text)) {
-                // DSLMap.g:207:25: ^( VT_VAR_DEF $name VT_PATTERN[$pat.start, text] )
+                // DSLMap.g:206:25: ^( VT_VAR_DEF $name VT_PATTERN[$pat.start, text] )
                 {
                 Object root_1 = (Object)adaptor.nil();
                 root_1 = (Object)adaptor.becomeRoot(adaptor.create(VT_VAR_DEF, "VT_VAR_DEF"), root_1);
@@ -1968,9 +1968,9 @@
                 }
 
             }
-            else // 208:2: -> ^( VT_VAR_DEF $name)
+            else // 207:2: -> ^( VT_VAR_DEF $name)
             {
-                // DSLMap.g:208:5: ^( VT_VAR_DEF $name)
+                // DSLMap.g:207:5: ^( VT_VAR_DEF $name)
                 {
                 Object root_1 = (Object)adaptor.nil();
                 root_1 = (Object)adaptor.becomeRoot(adaptor.create(VT_VAR_DEF, "VT_VAR_DEF"), root_1);
@@ -2009,7 +2009,7 @@
     };
 
     // $ANTLR start pattern
-    // DSLMap.g:212:1: pattern : ( literal | LEFT_CURLY literal RIGHT_CURLY | LEFT_SQUARE pattern RIGHT_SQUARE )+ ;
+    // DSLMap.g:211:1: pattern : ( literal | LEFT_CURLY literal RIGHT_CURLY | LEFT_SQUARE pattern RIGHT_SQUARE )+ ;
     public final pattern_return pattern() throws RecognitionException {
         pattern_return retval = new pattern_return();
         retval.start = input.LT(1);
@@ -2033,12 +2033,12 @@
         Object RIGHT_SQUARE36_tree=null;
 
         try {
-            // DSLMap.g:213:9: ( ( literal | LEFT_CURLY literal RIGHT_CURLY | LEFT_SQUARE pattern RIGHT_SQUARE )+ )
-            // DSLMap.g:213:11: ( literal | LEFT_CURLY literal RIGHT_CURLY | LEFT_SQUARE pattern RIGHT_SQUARE )+
+            // DSLMap.g:212:9: ( ( literal | LEFT_CURLY literal RIGHT_CURLY | LEFT_SQUARE pattern RIGHT_SQUARE )+ )
+            // DSLMap.g:212:11: ( literal | LEFT_CURLY literal RIGHT_CURLY | LEFT_SQUARE pattern RIGHT_SQUARE )+
             {
             root_0 = (Object)adaptor.nil();
 
-            // DSLMap.g:213:11: ( literal | LEFT_CURLY literal RIGHT_CURLY | LEFT_SQUARE pattern RIGHT_SQUARE )+
+            // DSLMap.g:212:11: ( literal | LEFT_CURLY literal RIGHT_CURLY | LEFT_SQUARE pattern RIGHT_SQUARE )+
             int cnt15=0;
             loop15:
             do {
@@ -2085,9 +2085,9 @@
 
                 switch (alt15) {
             	case 1 :
-            	    // DSLMap.g:213:13: literal
+            	    // DSLMap.g:212:13: literal
             	    {
-            	    pushFollow(FOLLOW_literal_in_pattern968);
+            	    pushFollow(FOLLOW_literal_in_pattern966);
             	    literal30=literal();
             	    _fsp--;
             	    if (failed) return retval;
@@ -2096,21 +2096,21 @@
             	    }
             	    break;
             	case 2 :
-            	    // DSLMap.g:214:13: LEFT_CURLY literal RIGHT_CURLY
+            	    // DSLMap.g:213:13: LEFT_CURLY literal RIGHT_CURLY
             	    {
             	    LEFT_CURLY31=(Token)input.LT(1);
-            	    match(input,LEFT_CURLY,FOLLOW_LEFT_CURLY_in_pattern982); if (failed) return retval;
+            	    match(input,LEFT_CURLY,FOLLOW_LEFT_CURLY_in_pattern980); if (failed) return retval;
             	    if ( backtracking==0 ) {
             	    LEFT_CURLY31_tree = (Object)adaptor.create(LEFT_CURLY31);
             	    adaptor.addChild(root_0, LEFT_CURLY31_tree);
             	    }
-            	    pushFollow(FOLLOW_literal_in_pattern984);
+            	    pushFollow(FOLLOW_literal_in_pattern982);
             	    literal32=literal();
             	    _fsp--;
             	    if (failed) return retval;
             	    if ( backtracking==0 ) adaptor.addChild(root_0, literal32.getTree());
             	    RIGHT_CURLY33=(Token)input.LT(1);
-            	    match(input,RIGHT_CURLY,FOLLOW_RIGHT_CURLY_in_pattern986); if (failed) return retval;
+            	    match(input,RIGHT_CURLY,FOLLOW_RIGHT_CURLY_in_pattern984); if (failed) return retval;
             	    if ( backtracking==0 ) {
             	    RIGHT_CURLY33_tree = (Object)adaptor.create(RIGHT_CURLY33);
             	    adaptor.addChild(root_0, RIGHT_CURLY33_tree);
@@ -2119,21 +2119,21 @@
             	    }
             	    break;
             	case 3 :
-            	    // DSLMap.g:215:13: LEFT_SQUARE pattern RIGHT_SQUARE
+            	    // DSLMap.g:214:13: LEFT_SQUARE pattern RIGHT_SQUARE
             	    {
             	    LEFT_SQUARE34=(Token)input.LT(1);
-            	    match(input,LEFT_SQUARE,FOLLOW_LEFT_SQUARE_in_pattern1000); if (failed) return retval;
+            	    match(input,LEFT_SQUARE,FOLLOW_LEFT_SQUARE_in_pattern998); if (failed) return retval;
             	    if ( backtracking==0 ) {
             	    LEFT_SQUARE34_tree = (Object)adaptor.create(LEFT_SQUARE34);
             	    adaptor.addChild(root_0, LEFT_SQUARE34_tree);
             	    }
-            	    pushFollow(FOLLOW_pattern_in_pattern1002);
+            	    pushFollow(FOLLOW_pattern_in_pattern1000);
             	    pattern35=pattern();
             	    _fsp--;
             	    if (failed) return retval;
             	    if ( backtracking==0 ) adaptor.addChild(root_0, pattern35.getTree());
             	    RIGHT_SQUARE36=(Token)input.LT(1);
-            	    match(input,RIGHT_SQUARE,FOLLOW_RIGHT_SQUARE_in_pattern1004); if (failed) return retval;
+            	    match(input,RIGHT_SQUARE,FOLLOW_RIGHT_SQUARE_in_pattern1002); if (failed) return retval;
             	    if ( backtracking==0 ) {
             	    RIGHT_SQUARE36_tree = (Object)adaptor.create(RIGHT_SQUARE36);
             	    adaptor.addChild(root_0, RIGHT_SQUARE36_tree);
@@ -2178,7 +2178,7 @@
     };
 
     // $ANTLR start variable_reference
-    // DSLMap.g:220:1: variable_reference : lc= LEFT_CURLY name= LITERAL rc= RIGHT_CURLY -> {hasSpaceBefore && hasSpaceAfter}? VT_SPACE ^( VT_VAR_REF $name) VT_SPACE -> {hasSpaceBefore && !hasSpaceAfter}? VT_SPACE ^( VT_VAR_REF $name) -> {!hasSpaceBefore && hasSpaceAfter}? ^( VT_VAR_REF $name) VT_SPACE -> ^( VT_VAR_REF $name) ;
+    // DSLMap.g:219:1: variable_reference : lc= LEFT_CURLY name= LITERAL rc= RIGHT_CURLY -> {hasSpaceBefore && hasSpaceAfter}? VT_SPACE ^( VT_VAR_REF $name) VT_SPACE -> {hasSpaceBefore && !hasSpaceAfter}? VT_SPACE ^( VT_VAR_REF $name) -> {!hasSpaceBefore && hasSpaceAfter}? ^( VT_VAR_REF $name) VT_SPACE -> ^( VT_VAR_REF $name) ;
     public final variable_reference_return variable_reference() throws RecognitionException {
         variable_reference_return retval = new variable_reference_return();
         retval.start = input.LT(1);
@@ -2201,11 +2201,11 @@
                 boolean hasSpaceAfter = false;
 
         try {
-            // DSLMap.g:225:2: (lc= LEFT_CURLY name= LITERAL rc= RIGHT_CURLY -> {hasSpaceBefore && hasSpaceAfter}? VT_SPACE ^( VT_VAR_REF $name) VT_SPACE -> {hasSpaceBefore && !hasSpaceAfter}? VT_SPACE ^( VT_VAR_REF $name) -> {!hasSpaceBefore && hasSpaceAfter}? ^( VT_VAR_REF $name) VT_SPACE -> ^( VT_VAR_REF $name) )
-            // DSLMap.g:225:4: lc= LEFT_CURLY name= LITERAL rc= RIGHT_CURLY
+            // DSLMap.g:224:2: (lc= LEFT_CURLY name= LITERAL rc= RIGHT_CURLY -> {hasSpaceBefore && hasSpaceAfter}? VT_SPACE ^( VT_VAR_REF $name) VT_SPACE -> {hasSpaceBefore && !hasSpaceAfter}? VT_SPACE ^( VT_VAR_REF $name) -> {!hasSpaceBefore && hasSpaceAfter}? ^( VT_VAR_REF $name) VT_SPACE -> ^( VT_VAR_REF $name) )
+            // DSLMap.g:224:4: lc= LEFT_CURLY name= LITERAL rc= RIGHT_CURLY
             {
             lc=(Token)input.LT(1);
-            match(input,LEFT_CURLY,FOLLOW_LEFT_CURLY_in_variable_reference1039); if (failed) return retval;
+            match(input,LEFT_CURLY,FOLLOW_LEFT_CURLY_in_variable_reference1037); if (failed) return retval;
             if ( backtracking==0 ) stream_LEFT_CURLY.add(lc);
 
             if ( backtracking==0 ) {
@@ -2215,11 +2215,11 @@
               		
             }
             name=(Token)input.LT(1);
-            match(input,LITERAL,FOLLOW_LITERAL_in_variable_reference1050); if (failed) return retval;
+            match(input,LITERAL,FOLLOW_LITERAL_in_variable_reference1048); if (failed) return retval;
             if ( backtracking==0 ) stream_LITERAL.add(name);
 
             rc=(Token)input.LT(1);
-            match(input,RIGHT_CURLY,FOLLOW_RIGHT_CURLY_in_variable_reference1054); if (failed) return retval;
+            match(input,RIGHT_CURLY,FOLLOW_RIGHT_CURLY_in_variable_reference1052); if (failed) return retval;
             if ( backtracking==0 ) stream_RIGHT_CURLY.add(rc);
 
             if ( backtracking==0 ) {
@@ -2238,10 +2238,10 @@
             RewriteRuleSubtreeStream stream_retval=new RewriteRuleSubtreeStream(adaptor,"token retval",retval!=null?retval.tree:null);
 
             root_0 = (Object)adaptor.nil();
-            // 232:2: -> {hasSpaceBefore && hasSpaceAfter}? VT_SPACE ^( VT_VAR_REF $name) VT_SPACE
+            // 231:2: -> {hasSpaceBefore && hasSpaceAfter}? VT_SPACE ^( VT_VAR_REF $name) VT_SPACE
             if (hasSpaceBefore && hasSpaceAfter) {
                 adaptor.addChild(root_0, adaptor.create(VT_SPACE, "VT_SPACE"));
-                // DSLMap.g:232:49: ^( VT_VAR_REF $name)
+                // DSLMap.g:231:49: ^( VT_VAR_REF $name)
                 {
                 Object root_1 = (Object)adaptor.nil();
                 root_1 = (Object)adaptor.becomeRoot(adaptor.create(VT_VAR_REF, "VT_VAR_REF"), root_1);
@@ -2253,10 +2253,10 @@
                 adaptor.addChild(root_0, adaptor.create(VT_SPACE, "VT_SPACE"));
 
             }
-            else // 233:2: -> {hasSpaceBefore && !hasSpaceAfter}? VT_SPACE ^( VT_VAR_REF $name)
+            else // 232:2: -> {hasSpaceBefore && !hasSpaceAfter}? VT_SPACE ^( VT_VAR_REF $name)
             if (hasSpaceBefore && !hasSpaceAfter) {
                 adaptor.addChild(root_0, adaptor.create(VT_SPACE, "VT_SPACE"));
-                // DSLMap.g:233:50: ^( VT_VAR_REF $name)
+                // DSLMap.g:232:50: ^( VT_VAR_REF $name)
                 {
                 Object root_1 = (Object)adaptor.nil();
                 root_1 = (Object)adaptor.becomeRoot(adaptor.create(VT_VAR_REF, "VT_VAR_REF"), root_1);
@@ -2267,9 +2267,9 @@
                 }
 
             }
-            else // 234:2: -> {!hasSpaceBefore && hasSpaceAfter}? ^( VT_VAR_REF $name) VT_SPACE
+            else // 233:2: -> {!hasSpaceBefore && hasSpaceAfter}? ^( VT_VAR_REF $name) VT_SPACE
             if (!hasSpaceBefore && hasSpaceAfter) {
-                // DSLMap.g:234:42: ^( VT_VAR_REF $name)
+                // DSLMap.g:233:42: ^( VT_VAR_REF $name)
                 {
                 Object root_1 = (Object)adaptor.nil();
                 root_1 = (Object)adaptor.becomeRoot(adaptor.create(VT_VAR_REF, "VT_VAR_REF"), root_1);
@@ -2281,9 +2281,9 @@
                 adaptor.addChild(root_0, adaptor.create(VT_SPACE, "VT_SPACE"));
 
             }
-            else // 235:2: -> ^( VT_VAR_REF $name)
+            else // 234:2: -> ^( VT_VAR_REF $name)
             {
-                // DSLMap.g:235:6: ^( VT_VAR_REF $name)
+                // DSLMap.g:234:6: ^( VT_VAR_REF $name)
                 {
                 Object root_1 = (Object)adaptor.nil();
                 root_1 = (Object)adaptor.becomeRoot(adaptor.create(VT_VAR_REF, "VT_VAR_REF"), root_1);
@@ -2322,7 +2322,7 @@
     };
 
     // $ANTLR start variable_reference2
-    // DSLMap.g:239:1: variable_reference2 : LEFT_CURLY name= LITERAL RIGHT_CURLY -> ^( VT_VAR_REF $name) ;
+    // DSLMap.g:238:1: variable_reference2 : LEFT_CURLY name= LITERAL RIGHT_CURLY -> ^( VT_VAR_REF $name) ;
     public final variable_reference2_return variable_reference2() throws RecognitionException {
         variable_reference2_return retval = new variable_reference2_return();
         retval.start = input.LT(1);
@@ -2341,19 +2341,19 @@
         RewriteRuleTokenStream stream_LEFT_CURLY=new RewriteRuleTokenStream(adaptor,"token LEFT_CURLY");
 
         try {
-            // DSLMap.g:240:2: ( LEFT_CURLY name= LITERAL RIGHT_CURLY -> ^( VT_VAR_REF $name) )
-            // DSLMap.g:240:4: LEFT_CURLY name= LITERAL RIGHT_CURLY
+            // DSLMap.g:239:2: ( LEFT_CURLY name= LITERAL RIGHT_CURLY -> ^( VT_VAR_REF $name) )
+            // DSLMap.g:239:4: LEFT_CURLY name= LITERAL RIGHT_CURLY
             {
             LEFT_CURLY37=(Token)input.LT(1);
-            match(input,LEFT_CURLY,FOLLOW_LEFT_CURLY_in_variable_reference21132); if (failed) return retval;
+            match(input,LEFT_CURLY,FOLLOW_LEFT_CURLY_in_variable_reference21130); if (failed) return retval;
             if ( backtracking==0 ) stream_LEFT_CURLY.add(LEFT_CURLY37);
 
             name=(Token)input.LT(1);
-            match(input,LITERAL,FOLLOW_LITERAL_in_variable_reference21136); if (failed) return retval;
+            match(input,LITERAL,FOLLOW_LITERAL_in_variable_reference21134); if (failed) return retval;
             if ( backtracking==0 ) stream_LITERAL.add(name);
 
             RIGHT_CURLY38=(Token)input.LT(1);
-            match(input,RIGHT_CURLY,FOLLOW_RIGHT_CURLY_in_variable_reference21138); if (failed) return retval;
+            match(input,RIGHT_CURLY,FOLLOW_RIGHT_CURLY_in_variable_reference21136); if (failed) return retval;
             if ( backtracking==0 ) stream_RIGHT_CURLY.add(RIGHT_CURLY38);
 
 
@@ -2369,9 +2369,9 @@
             RewriteRuleSubtreeStream stream_retval=new RewriteRuleSubtreeStream(adaptor,"token retval",retval!=null?retval.tree:null);
 
             root_0 = (Object)adaptor.nil();
-            // 241:2: -> ^( VT_VAR_REF $name)
+            // 240:2: -> ^( VT_VAR_REF $name)
             {
-                // DSLMap.g:241:5: ^( VT_VAR_REF $name)
+                // DSLMap.g:240:5: ^( VT_VAR_REF $name)
                 {
                 Object root_1 = (Object)adaptor.nil();
                 root_1 = (Object)adaptor.becomeRoot(adaptor.create(VT_VAR_REF, "VT_VAR_REF"), root_1);
@@ -2410,7 +2410,7 @@
     };
 
     // $ANTLR start condition_key
-    // DSLMap.g:245:1: condition_key : {...}?value= LITERAL -> VT_CONDITION[$value] ;
+    // DSLMap.g:244:1: condition_key : {...}?value= LITERAL -> VT_CONDITION[$value] ;
     public final condition_key_return condition_key() throws RecognitionException {
         condition_key_return retval = new condition_key_return();
         retval.start = input.LT(1);
@@ -2423,15 +2423,15 @@
         RewriteRuleTokenStream stream_LITERAL=new RewriteRuleTokenStream(adaptor,"token LITERAL");
 
         try {
-            // DSLMap.g:246:2: ({...}?value= LITERAL -> VT_CONDITION[$value] )
-            // DSLMap.g:246:4: {...}?value= LITERAL
+            // DSLMap.g:245:2: ({...}?value= LITERAL -> VT_CONDITION[$value] )
+            // DSLMap.g:245:4: {...}?value= LITERAL
             {
             if ( !(validateIdentifierKey("condition")||validateIdentifierKey("when")) ) {
                 if (backtracking>0) {failed=true; return retval;}
                 throw new FailedPredicateException(input, "condition_key", "validateIdentifierKey(\"condition\")||validateIdentifierKey(\"when\")");
             }
             value=(Token)input.LT(1);
-            match(input,LITERAL,FOLLOW_LITERAL_in_condition_key1167); if (failed) return retval;
+            match(input,LITERAL,FOLLOW_LITERAL_in_condition_key1165); if (failed) return retval;
             if ( backtracking==0 ) stream_LITERAL.add(value);
 
 
@@ -2446,7 +2446,7 @@
             RewriteRuleSubtreeStream stream_retval=new RewriteRuleSubtreeStream(adaptor,"token retval",retval!=null?retval.tree:null);
 
             root_0 = (Object)adaptor.nil();
-            // 247:2: -> VT_CONDITION[$value]
+            // 246:2: -> VT_CONDITION[$value]
             {
                 adaptor.addChild(root_0, adaptor.create(VT_CONDITION, value));
 
@@ -2479,7 +2479,7 @@
     };
 
     // $ANTLR start consequence_key
-    // DSLMap.g:250:1: consequence_key : {...}?value= LITERAL -> VT_CONSEQUENCE[$value] ;
+    // DSLMap.g:249:1: consequence_key : {...}?value= LITERAL -> VT_CONSEQUENCE[$value] ;
     public final consequence_key_return consequence_key() throws RecognitionException {
         consequence_key_return retval = new consequence_key_return();
         retval.start = input.LT(1);
@@ -2492,15 +2492,15 @@
         RewriteRuleTokenStream stream_LITERAL=new RewriteRuleTokenStream(adaptor,"token LITERAL");
 
         try {
-            // DSLMap.g:251:2: ({...}?value= LITERAL -> VT_CONSEQUENCE[$value] )
-            // DSLMap.g:251:4: {...}?value= LITERAL
+            // DSLMap.g:250:2: ({...}?value= LITERAL -> VT_CONSEQUENCE[$value] )
+            // DSLMap.g:250:4: {...}?value= LITERAL
             {
             if ( !(validateIdentifierKey("consequence")||validateIdentifierKey("then")) ) {
                 if (backtracking>0) {failed=true; return retval;}
                 throw new FailedPredicateException(input, "consequence_key", "validateIdentifierKey(\"consequence\")||validateIdentifierKey(\"then\")");
             }
             value=(Token)input.LT(1);
-            match(input,LITERAL,FOLLOW_LITERAL_in_consequence_key1190); if (failed) return retval;
+            match(input,LITERAL,FOLLOW_LITERAL_in_consequence_key1188); if (failed) return retval;
             if ( backtracking==0 ) stream_LITERAL.add(value);
 
 
@@ -2515,7 +2515,7 @@
             RewriteRuleSubtreeStream stream_retval=new RewriteRuleSubtreeStream(adaptor,"token retval",retval!=null?retval.tree:null);
 
             root_0 = (Object)adaptor.nil();
-            // 252:2: -> VT_CONSEQUENCE[$value]
+            // 251:2: -> VT_CONSEQUENCE[$value]
             {
                 adaptor.addChild(root_0, adaptor.create(VT_CONSEQUENCE, value));
 
@@ -2548,7 +2548,7 @@
     };
 
     // $ANTLR start keyword_key
-    // DSLMap.g:255:1: keyword_key : {...}?value= LITERAL -> VT_KEYWORD[$value] ;
+    // DSLMap.g:254:1: keyword_key : {...}?value= LITERAL -> VT_KEYWORD[$value] ;
     public final keyword_key_return keyword_key() throws RecognitionException {
         keyword_key_return retval = new keyword_key_return();
         retval.start = input.LT(1);
@@ -2561,15 +2561,15 @@
         RewriteRuleTokenStream stream_LITERAL=new RewriteRuleTokenStream(adaptor,"token LITERAL");
 
         try {
-            // DSLMap.g:256:2: ({...}?value= LITERAL -> VT_KEYWORD[$value] )
-            // DSLMap.g:256:4: {...}?value= LITERAL
+            // DSLMap.g:255:2: ({...}?value= LITERAL -> VT_KEYWORD[$value] )
+            // DSLMap.g:255:4: {...}?value= LITERAL
             {
             if ( !(validateIdentifierKey("keyword")) ) {
                 if (backtracking>0) {failed=true; return retval;}
                 throw new FailedPredicateException(input, "keyword_key", "validateIdentifierKey(\"keyword\")");
             }
             value=(Token)input.LT(1);
-            match(input,LITERAL,FOLLOW_LITERAL_in_keyword_key1213); if (failed) return retval;
+            match(input,LITERAL,FOLLOW_LITERAL_in_keyword_key1211); if (failed) return retval;
             if ( backtracking==0 ) stream_LITERAL.add(value);
 
 
@@ -2584,7 +2584,7 @@
             RewriteRuleSubtreeStream stream_retval=new RewriteRuleSubtreeStream(adaptor,"token retval",retval!=null?retval.tree:null);
 
             root_0 = (Object)adaptor.nil();
-            // 257:2: -> VT_KEYWORD[$value]
+            // 256:2: -> VT_KEYWORD[$value]
             {
                 adaptor.addChild(root_0, adaptor.create(VT_KEYWORD, value));
 
@@ -2617,7 +2617,7 @@
     };
 
     // $ANTLR start any_key
-    // DSLMap.g:260:1: any_key : {...}?value= LITERAL -> VT_ANY[$value] ;
+    // DSLMap.g:259:1: any_key : {...}?value= LITERAL -> VT_ANY[$value] ;
     public final any_key_return any_key() throws RecognitionException {
         any_key_return retval = new any_key_return();
         retval.start = input.LT(1);
@@ -2630,15 +2630,15 @@
         RewriteRuleTokenStream stream_LITERAL=new RewriteRuleTokenStream(adaptor,"token LITERAL");
 
         try {
-            // DSLMap.g:261:2: ({...}?value= LITERAL -> VT_ANY[$value] )
-            // DSLMap.g:261:4: {...}?value= LITERAL
+            // DSLMap.g:260:2: ({...}?value= LITERAL -> VT_ANY[$value] )
+            // DSLMap.g:260:4: {...}?value= LITERAL
             {
             if ( !(validateIdentifierKey("*")) ) {
                 if (backtracking>0) {failed=true; return retval;}
                 throw new FailedPredicateException(input, "any_key", "validateIdentifierKey(\"*\")");
             }
             value=(Token)input.LT(1);
-            match(input,LITERAL,FOLLOW_LITERAL_in_any_key1236); if (failed) return retval;
+            match(input,LITERAL,FOLLOW_LITERAL_in_any_key1234); if (failed) return retval;
             if ( backtracking==0 ) stream_LITERAL.add(value);
 
 
@@ -2653,7 +2653,7 @@
             RewriteRuleSubtreeStream stream_retval=new RewriteRuleSubtreeStream(adaptor,"token retval",retval!=null?retval.tree:null);
 
             root_0 = (Object)adaptor.nil();
-            // 262:2: -> VT_ANY[$value]
+            // 261:2: -> VT_ANY[$value]
             {
                 adaptor.addChild(root_0, adaptor.create(VT_ANY, value));
 
@@ -2788,10 +2788,10 @@
 
     // $ANTLR start synpred23
     public final void synpred23_fragment() throws RecognitionException {   
-        // DSLMap.g:213:13: ( literal )
-        // DSLMap.g:213:13: literal
+        // DSLMap.g:212:13: ( literal )
+        // DSLMap.g:212:13: literal
         {
-        pushFollow(FOLLOW_literal_in_synpred23968);
+        pushFollow(FOLLOW_literal_in_synpred23966);
         literal();
         _fsp--;
         if (failed) return ;
@@ -2802,15 +2802,15 @@
 
     // $ANTLR start synpred25
     public final void synpred25_fragment() throws RecognitionException {   
-        // DSLMap.g:215:13: ( LEFT_SQUARE pattern RIGHT_SQUARE )
-        // DSLMap.g:215:13: LEFT_SQUARE pattern RIGHT_SQUARE
+        // DSLMap.g:214:13: ( LEFT_SQUARE pattern RIGHT_SQUARE )
+        // DSLMap.g:214:13: LEFT_SQUARE pattern RIGHT_SQUARE
         {
-        match(input,LEFT_SQUARE,FOLLOW_LEFT_SQUARE_in_synpred251000); if (failed) return ;
-        pushFollow(FOLLOW_pattern_in_synpred251002);
+        match(input,LEFT_SQUARE,FOLLOW_LEFT_SQUARE_in_synpred25998); if (failed) return ;
+        pushFollow(FOLLOW_pattern_in_synpred251000);
         pattern();
         _fsp--;
         if (failed) return ;
-        match(input,RIGHT_SQUARE,FOLLOW_RIGHT_SQUARE_in_synpred251004); if (failed) return ;
+        match(input,RIGHT_SQUARE,FOLLOW_RIGHT_SQUARE_in_synpred251002); if (failed) return ;
 
         }
     }
@@ -2991,34 +2991,34 @@
     public static final BitSet FOLLOW_literal_in_value_chunk636 = new BitSet(new long[]{0x000000000FC00002L});
     public static final BitSet FOLLOW_EQUALS_in_value_chunk638 = new BitSet(new long[]{0x000000000FC00002L});
     public static final BitSet FOLLOW_COMMA_in_value_chunk640 = new BitSet(new long[]{0x000000000FC00002L});
-    public static final BitSet FOLLOW_set_in_literal658 = new BitSet(new long[]{0x0000000000000002L});
-    public static final BitSet FOLLOW_LEFT_CURLY_in_variable_definition694 = new BitSet(new long[]{0x0000000002000000L});
-    public static final BitSet FOLLOW_LITERAL_in_variable_definition705 = new BitSet(new long[]{0x0000000028000000L});
-    public static final BitSet FOLLOW_COLON_in_variable_definition709 = new BitSet(new long[]{0x000000001B800000L});
-    public static final BitSet FOLLOW_pattern_in_variable_definition713 = new BitSet(new long[]{0x0000000020000000L});
-    public static final BitSet FOLLOW_RIGHT_CURLY_in_variable_definition722 = new BitSet(new long[]{0x0000000000000002L});
-    public static final BitSet FOLLOW_LEFT_CURLY_in_variable_definition2898 = new BitSet(new long[]{0x0000000002000000L});
-    public static final BitSet FOLLOW_LITERAL_in_variable_definition2902 = new BitSet(new long[]{0x0000000028000000L});
-    public static final BitSet FOLLOW_COLON_in_variable_definition2906 = new BitSet(new long[]{0x000000001B800000L});
-    public static final BitSet FOLLOW_pattern_in_variable_definition2910 = new BitSet(new long[]{0x0000000020000000L});
-    public static final BitSet FOLLOW_RIGHT_CURLY_in_variable_definition2917 = new BitSet(new long[]{0x0000000000000002L});
-    public static final BitSet FOLLOW_literal_in_pattern968 = new BitSet(new long[]{0x000000001B800002L});
-    public static final BitSet FOLLOW_LEFT_CURLY_in_pattern982 = new BitSet(new long[]{0x000000000B800000L});
-    public static final BitSet FOLLOW_literal_in_pattern984 = new BitSet(new long[]{0x0000000020000000L});
-    public static final BitSet FOLLOW_RIGHT_CURLY_in_pattern986 = new BitSet(new long[]{0x000000001B800002L});
-    public static final BitSet FOLLOW_LEFT_SQUARE_in_pattern1000 = new BitSet(new long[]{0x000000001B800000L});
-    public static final BitSet FOLLOW_pattern_in_pattern1002 = new BitSet(new long[]{0x0000000001000000L});
-    public static final BitSet FOLLOW_RIGHT_SQUARE_in_pattern1004 = new BitSet(new long[]{0x000000001B800002L});
-    public static final BitSet FOLLOW_LEFT_CURLY_in_variable_reference1039 = new BitSet(new long[]{0x0000000002000000L});
-    public static final BitSet FOLLOW_LITERAL_in_variable_reference1050 = new BitSet(new long[]{0x0000000020000000L});
-    public static final BitSet FOLLOW_RIGHT_CURLY_in_variable_reference1054 = new BitSet(new long[]{0x0000000000000002L});
-    public static final BitSet FOLLOW_LEFT_CURLY_in_variable_reference21132 = new BitSet(new long[]{0x0000000002000000L});
-    public static final BitSet FOLLOW_LITERAL_in_variable_reference21136 = new BitSet(new long[]{0x0000000020000000L});
-    public static final BitSet FOLLOW_RIGHT_CURLY_in_variable_reference21138 = new BitSet(new long[]{0x0000000000000002L});
-    public static final BitSet FOLLOW_LITERAL_in_condition_key1167 = new BitSet(new long[]{0x0000000000000002L});
-    public static final BitSet FOLLOW_LITERAL_in_consequence_key1190 = new BitSet(new long[]{0x0000000000000002L});
-    public static final BitSet FOLLOW_LITERAL_in_keyword_key1213 = new BitSet(new long[]{0x0000000000000002L});
-    public static final BitSet FOLLOW_LITERAL_in_any_key1236 = new BitSet(new long[]{0x0000000000000002L});
+    public static final BitSet FOLLOW_set_in_literal656 = new BitSet(new long[]{0x0000000000000002L});
+    public static final BitSet FOLLOW_LEFT_CURLY_in_variable_definition692 = new BitSet(new long[]{0x0000000002000000L});
+    public static final BitSet FOLLOW_LITERAL_in_variable_definition703 = new BitSet(new long[]{0x0000000028000000L});
+    public static final BitSet FOLLOW_COLON_in_variable_definition707 = new BitSet(new long[]{0x000000001B800000L});
+    public static final BitSet FOLLOW_pattern_in_variable_definition711 = new BitSet(new long[]{0x0000000020000000L});
+    public static final BitSet FOLLOW_RIGHT_CURLY_in_variable_definition720 = new BitSet(new long[]{0x0000000000000002L});
+    public static final BitSet FOLLOW_LEFT_CURLY_in_variable_definition2896 = new BitSet(new long[]{0x0000000002000000L});
+    public static final BitSet FOLLOW_LITERAL_in_variable_definition2900 = new BitSet(new long[]{0x0000000028000000L});
+    public static final BitSet FOLLOW_COLON_in_variable_definition2904 = new BitSet(new long[]{0x000000001B800000L});
+    public static final BitSet FOLLOW_pattern_in_variable_definition2908 = new BitSet(new long[]{0x0000000020000000L});
+    public static final BitSet FOLLOW_RIGHT_CURLY_in_variable_definition2915 = new BitSet(new long[]{0x0000000000000002L});
+    public static final BitSet FOLLOW_literal_in_pattern966 = new BitSet(new long[]{0x000000001B800002L});
+    public static final BitSet FOLLOW_LEFT_CURLY_in_pattern980 = new BitSet(new long[]{0x000000000B800000L});
+    public static final BitSet FOLLOW_literal_in_pattern982 = new BitSet(new long[]{0x0000000020000000L});
+    public static final BitSet FOLLOW_RIGHT_CURLY_in_pattern984 = new BitSet(new long[]{0x000000001B800002L});
+    public static final BitSet FOLLOW_LEFT_SQUARE_in_pattern998 = new BitSet(new long[]{0x000000001B800000L});
+    public static final BitSet FOLLOW_pattern_in_pattern1000 = new BitSet(new long[]{0x0000000001000000L});
+    public static final BitSet FOLLOW_RIGHT_SQUARE_in_pattern1002 = new BitSet(new long[]{0x000000001B800002L});
+    public static final BitSet FOLLOW_LEFT_CURLY_in_variable_reference1037 = new BitSet(new long[]{0x0000000002000000L});
+    public static final BitSet FOLLOW_LITERAL_in_variable_reference1048 = new BitSet(new long[]{0x0000000020000000L});
+    public static final BitSet FOLLOW_RIGHT_CURLY_in_variable_reference1052 = new BitSet(new long[]{0x0000000000000002L});
+    public static final BitSet FOLLOW_LEFT_CURLY_in_variable_reference21130 = new BitSet(new long[]{0x0000000002000000L});
+    public static final BitSet FOLLOW_LITERAL_in_variable_reference21134 = new BitSet(new long[]{0x0000000020000000L});
+    public static final BitSet FOLLOW_RIGHT_CURLY_in_variable_reference21136 = new BitSet(new long[]{0x0000000000000002L});
+    public static final BitSet FOLLOW_LITERAL_in_condition_key1165 = new BitSet(new long[]{0x0000000000000002L});
+    public static final BitSet FOLLOW_LITERAL_in_consequence_key1188 = new BitSet(new long[]{0x0000000000000002L});
+    public static final BitSet FOLLOW_LITERAL_in_keyword_key1211 = new BitSet(new long[]{0x0000000000000002L});
+    public static final BitSet FOLLOW_LITERAL_in_any_key1234 = new BitSet(new long[]{0x0000000000000002L});
     public static final BitSet FOLLOW_meta_section_in_synpred4334 = new BitSet(new long[]{0x0000000000000002L});
     public static final BitSet FOLLOW_condition_key_in_synpred6400 = new BitSet(new long[]{0x0000000000000002L});
     public static final BitSet FOLLOW_consequence_key_in_synpred7409 = new BitSet(new long[]{0x0000000000000002L});
@@ -3027,9 +3027,9 @@
     public static final BitSet FOLLOW_literal_in_synpred15636 = new BitSet(new long[]{0x0000000000000002L});
     public static final BitSet FOLLOW_EQUALS_in_synpred16638 = new BitSet(new long[]{0x0000000000000002L});
     public static final BitSet FOLLOW_COMMA_in_synpred17640 = new BitSet(new long[]{0x0000000000000002L});
-    public static final BitSet FOLLOW_literal_in_synpred23968 = new BitSet(new long[]{0x0000000000000002L});
-    public static final BitSet FOLLOW_LEFT_SQUARE_in_synpred251000 = new BitSet(new long[]{0x000000001B800000L});
-    public static final BitSet FOLLOW_pattern_in_synpred251002 = new BitSet(new long[]{0x0000000001000000L});
-    public static final BitSet FOLLOW_RIGHT_SQUARE_in_synpred251004 = new BitSet(new long[]{0x0000000000000002L});
+    public static final BitSet FOLLOW_literal_in_synpred23966 = new BitSet(new long[]{0x0000000000000002L});
+    public static final BitSet FOLLOW_LEFT_SQUARE_in_synpred25998 = new BitSet(new long[]{0x000000001B800000L});
+    public static final BitSet FOLLOW_pattern_in_synpred251000 = new BitSet(new long[]{0x0000000001000000L});
+    public static final BitSet FOLLOW_RIGHT_SQUARE_in_synpred251002 = new BitSet(new long[]{0x0000000000000002L});
 
 }
\ No newline at end of file

Modified: labs/jbossrules/trunk/drools-compiler/src/main/java/org/drools/lang/dsl/DSLMapWalker.java
===================================================================
--- labs/jbossrules/trunk/drools-compiler/src/main/java/org/drools/lang/dsl/DSLMapWalker.java	2008-06-11 20:05:56 UTC (rev 20426)
+++ labs/jbossrules/trunk/drools-compiler/src/main/java/org/drools/lang/dsl/DSLMapWalker.java	2008-06-11 21:03:23 UTC (rev 20427)
@@ -1,4 +1,4 @@
-// $ANTLR 3.0.1 DSLMapWalker.g 2008-06-10 17:00:30
+// $ANTLR 3.0.1 DSLMapWalker.g 2008-06-11 12:09:04
 
 	package org.drools.lang.dsl;
 	

Modified: labs/jbossrules/trunk/drools-compiler/src/main/resources/org/drools/lang/dsl/DSLMap.g
===================================================================
--- labs/jbossrules/trunk/drools-compiler/src/main/resources/org/drools/lang/dsl/DSLMap.g	2008-06-11 20:05:56 UTC (rev 20426)
+++ labs/jbossrules/trunk/drools-compiler/src/main/resources/org/drools/lang/dsl/DSLMap.g	2008-06-11 21:03:23 UTC (rev 20427)
@@ -166,7 +166,6 @@
 	;	
 	
 literal 
-	//: ( LITERAL | LEFT_SQUARE | RIGHT_SQUARE | COLON) 
 	: ( LITERAL | COLON | LEFT_SQUARE | RIGHT_SQUARE)
 	;	
 
@@ -336,7 +335,7 @@
 
 fragment		
 MISC 	:
-		'>'|'<'|'!' | '@' | '$' | '%' | '^' | '*' | '-' | '+'  | '?' | '/' | '\'' | '"' | '|' | '&' | '(' | ')' | ';'
+		'>'|'<'|'!' | '@' | '$' | '%' | '^' | '*' | '-' | '+'  | '?' | COMMA | '/' | '\'' | '"' | '|' | '&' | '(' | ')' | ';'
 	;
 
 




More information about the jboss-svn-commits mailing list