You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@uima.apache.org by pk...@apache.org on 2012/01/18 13:54:54 UTC

svn commit: r1232868 [2/4] - in /uima/sandbox/trunk/TextMarker: uimaj-ep-textmarker-engine/src/main/java/org/apache/uima/textmarker/action/ uimaj-ep-textmarker-engine/src/main/java/org/apache/uima/textmarker/parser/ uimaj-ep-textmarker-ide/src/main/jav...

Modified: uima/sandbox/trunk/TextMarker/uimaj-ep-textmarker-engine/src/main/java/org/apache/uima/textmarker/parser/TextMarkerParser.java
URL: http://svn.apache.org/viewvc/uima/sandbox/trunk/TextMarker/uimaj-ep-textmarker-engine/src/main/java/org/apache/uima/textmarker/parser/TextMarkerParser.java?rev=1232868&r1=1232867&r2=1232868&view=diff
==============================================================================
--- uima/sandbox/trunk/TextMarker/uimaj-ep-textmarker-engine/src/main/java/org/apache/uima/textmarker/parser/TextMarkerParser.java (original)
+++ uima/sandbox/trunk/TextMarker/uimaj-ep-textmarker-engine/src/main/java/org/apache/uima/textmarker/parser/TextMarkerParser.java Wed Jan 18 12:54:54 2012
@@ -1,4 +1,4 @@
-// $ANTLR 3.4 D:\\work\\workspace-uima3\\uimaj-ep-textmarker-engine\\src\\main\\java\\org\\apache\\uima\\textmarker\\parser\\TextMarkerParser.g 2012-01-12 13:57:47
+// $ANTLR 3.4 D:\\work\\workspace-uima3\\uimaj-ep-textmarker-engine\\src\\main\\java\\org\\apache\\uima\\textmarker\\parser\\TextMarkerParser.g 2012-01-18 13:51:53
 
 /*
  * Licensed to the Apache Software Foundation (ASF) under one
@@ -509,7 +509,7 @@ public class TextMarkerParser extends Pa
                 int alt1=2;
                 int LA1_0 = input.LA(1);
 
-                if ( (LA1_0==ACTION||LA1_0==AutomataBlockString||(LA1_0 >= BOOLEANLIST && LA1_0 <= BooleanString)||LA1_0==CONDITION||LA1_0==DECLARE||LA1_0==DOUBLELIST||LA1_0==DoubleString||(LA1_0 >= FLOATLIST && LA1_0 <= FloatString)||LA1_0==INTLIST||(LA1_0 >= Identifier && LA1_0 <= IntString)||LA1_0==LPAREN||LA1_0==STRINGLIST||(LA1_0 >= StringLiteral && LA1_0 <= StringString)||(LA1_0 >= TYPELIST && LA1_0 <= TypeString)||(LA1_0 >= WORDLIST && LA1_0 <= WORDTABLE)) ) {
+                if ( (LA1_0==AutomataBlockString||(LA1_0 >= BOOLEANLIST && LA1_0 <= BooleanString)||LA1_0==DECLARE||LA1_0==DOUBLELIST||LA1_0==DoubleString||(LA1_0 >= FLOATLIST && LA1_0 <= FloatString)||LA1_0==INTLIST||(LA1_0 >= Identifier && LA1_0 <= IntString)||LA1_0==LPAREN||LA1_0==STRINGLIST||(LA1_0 >= StringLiteral && LA1_0 <= StringString)||(LA1_0 >= TYPELIST && LA1_0 <= TypeString)||(LA1_0 >= WORDLIST && LA1_0 <= WORDTABLE)) ) {
                     alt1=1;
                 }
 
@@ -690,10 +690,8 @@ public class TextMarkerParser extends Pa
                 alt3=1;
                 }
                 break;
-            case ACTION:
             case BOOLEANLIST:
             case BooleanString:
-            case CONDITION:
             case DOUBLELIST:
             case DoubleString:
             case FLOATLIST:
@@ -828,7 +826,7 @@ public class TextMarkerParser extends Pa
 
 
     // $ANTLR start "variableDeclaration"
-    // D:\\work\\workspace-uima3\\uimaj-ep-textmarker-engine\\src\\main\\java\\org\\apache\\uima\\textmarker\\parser\\TextMarkerParser.g:257:1: variableDeclaration returns [TextMarkerStatement stmt = null] : (type= IntString {...}?id= Identifier ( COMMA {...}?id= Identifier )* ( ASSIGN_EQUAL value1= numberExpression )? SEMI |type= DoubleString {...}?id= Identifier ( COMMA {...}?id= Identifier )* ( ASSIGN_EQUAL value2= numberExpression )? SEMI |type= FloatString {...}?id= Identifier ( COMMA {...}?id= Identifier )* ( ASSIGN_EQUAL value2= numberExpression )? SEMI |type= StringString {...}?id= Identifier ( COMMA {...}?id= Identifier )* ( ASSIGN_EQUAL value3= stringExpression )? SEMI |type= BooleanString {...}?id= Identifier ( COMMA {...}?id= Identifier )* ( ASSIGN_EQUAL value4= booleanExpression )? SEMI |type= TypeString {...}?id= Identifier ( COMMA {...}?id= Identifier )* ( ASSIGN_EQUAL value5= annotationType )? SEMI |type= WORDLIST {...}?name= Identifier ( ASSIGN_EQUAL list= w
 ordListExpression )? SEMI |type= WORDTABLE {...}?name= Identifier ( ASSIGN_EQUAL table= wordTableExpression )? SEMI |type= BOOLEANLIST {...}?name= Identifier ( ASSIGN_EQUAL bl= booleanListExpression )? SEMI |type= STRINGLIST {...}?name= Identifier ( ASSIGN_EQUAL sl= stringListExpression )? SEMI |type= INTLIST {...}?name= Identifier ( ASSIGN_EQUAL il= numberListExpression )? SEMI |type= DOUBLELIST {...}?name= Identifier ( ASSIGN_EQUAL dl= numberListExpression )? SEMI |type= FLOATLIST {...}?name= Identifier ( ASSIGN_EQUAL dl= numberListExpression )? SEMI |type= TYPELIST {...}?name= Identifier ( ASSIGN_EQUAL tl= typeListExpression )? SEMI |stmt1= conditionDeclaration |stmt2= actionDeclaration );
+    // D:\\work\\workspace-uima3\\uimaj-ep-textmarker-engine\\src\\main\\java\\org\\apache\\uima\\textmarker\\parser\\TextMarkerParser.g:257:1: variableDeclaration returns [TextMarkerStatement stmt = null] : (type= IntString {...}?id= Identifier ( COMMA {...}?id= Identifier )* ( ASSIGN_EQUAL value1= numberExpression )? SEMI |type= DoubleString {...}?id= Identifier ( COMMA {...}?id= Identifier )* ( ASSIGN_EQUAL value2= numberExpression )? SEMI |type= FloatString {...}?id= Identifier ( COMMA {...}?id= Identifier )* ( ASSIGN_EQUAL value2= numberExpression )? SEMI |type= StringString {...}?id= Identifier ( COMMA {...}?id= Identifier )* ( ASSIGN_EQUAL value3= stringExpression )? SEMI |type= BooleanString {...}?id= Identifier ( COMMA {...}?id= Identifier )* ( ASSIGN_EQUAL value4= booleanExpression )? SEMI |type= TypeString {...}?id= Identifier ( COMMA {...}?id= Identifier )* ( ASSIGN_EQUAL value5= annotationType )? SEMI |type= WORDLIST {...}?name= Identifier ( ASSIGN_EQUAL list= w
 ordListExpression )? SEMI |type= WORDTABLE {...}?name= Identifier ( ASSIGN_EQUAL table= wordTableExpression )? SEMI |type= BOOLEANLIST {...}?name= Identifier ( ASSIGN_EQUAL bl= booleanListExpression )? SEMI |type= STRINGLIST {...}?name= Identifier ( ASSIGN_EQUAL sl= stringListExpression )? SEMI |type= INTLIST {...}?name= Identifier ( ASSIGN_EQUAL il= numberListExpression )? SEMI |type= DOUBLELIST {...}?name= Identifier ( ASSIGN_EQUAL dl= numberListExpression )? SEMI |type= FLOATLIST {...}?name= Identifier ( ASSIGN_EQUAL dl= numberListExpression )? SEMI |type= TYPELIST {...}?name= Identifier ( ASSIGN_EQUAL tl= typeListExpression )? SEMI );
     public final TextMarkerStatement variableDeclaration() throws RecognitionException {
         TextMarkerStatement stmt =  null;
 
@@ -860,17 +858,13 @@ public class TextMarkerParser extends Pa
 
         TypeListExpression tl =null;
 
-        TextMarkerStatement stmt1 =null;
-
-        TextMarkerStatement stmt2 =null;
-
 
 
         List<String> vars = new ArrayList<String>();
 
         try {
-            // D:\\work\\workspace-uima3\\uimaj-ep-textmarker-engine\\src\\main\\java\\org\\apache\\uima\\textmarker\\parser\\TextMarkerParser.g:261:2: (type= IntString {...}?id= Identifier ( COMMA {...}?id= Identifier )* ( ASSIGN_EQUAL value1= numberExpression )? SEMI |type= DoubleString {...}?id= Identifier ( COMMA {...}?id= Identifier )* ( ASSIGN_EQUAL value2= numberExpression )? SEMI |type= FloatString {...}?id= Identifier ( COMMA {...}?id= Identifier )* ( ASSIGN_EQUAL value2= numberExpression )? SEMI |type= StringString {...}?id= Identifier ( COMMA {...}?id= Identifier )* ( ASSIGN_EQUAL value3= stringExpression )? SEMI |type= BooleanString {...}?id= Identifier ( COMMA {...}?id= Identifier )* ( ASSIGN_EQUAL value4= booleanExpression )? SEMI |type= TypeString {...}?id= Identifier ( COMMA {...}?id= Identifier )* ( ASSIGN_EQUAL value5= annotationType )? SEMI |type= WORDLIST {...}?name= Identifier ( ASSIGN_EQUAL list= wordListExpression )? SEMI |type= WORDTABLE {...}?name= I
 dentifier ( ASSIGN_EQUAL table= wordTableExpression )? SEMI |type= BOOLEANLIST {...}?name= Identifier ( ASSIGN_EQUAL bl= booleanListExpression )? SEMI |type= STRINGLIST {...}?name= Identifier ( ASSIGN_EQUAL sl= stringListExpression )? SEMI |type= INTLIST {...}?name= Identifier ( ASSIGN_EQUAL il= numberListExpression )? SEMI |type= DOUBLELIST {...}?name= Identifier ( ASSIGN_EQUAL dl= numberListExpression )? SEMI |type= FLOATLIST {...}?name= Identifier ( ASSIGN_EQUAL dl= numberListExpression )? SEMI |type= TYPELIST {...}?name= Identifier ( ASSIGN_EQUAL tl= typeListExpression )? SEMI |stmt1= conditionDeclaration |stmt2= actionDeclaration )
-            int alt24=16;
+            // D:\\work\\workspace-uima3\\uimaj-ep-textmarker-engine\\src\\main\\java\\org\\apache\\uima\\textmarker\\parser\\TextMarkerParser.g:261:2: (type= IntString {...}?id= Identifier ( COMMA {...}?id= Identifier )* ( ASSIGN_EQUAL value1= numberExpression )? SEMI |type= DoubleString {...}?id= Identifier ( COMMA {...}?id= Identifier )* ( ASSIGN_EQUAL value2= numberExpression )? SEMI |type= FloatString {...}?id= Identifier ( COMMA {...}?id= Identifier )* ( ASSIGN_EQUAL value2= numberExpression )? SEMI |type= StringString {...}?id= Identifier ( COMMA {...}?id= Identifier )* ( ASSIGN_EQUAL value3= stringExpression )? SEMI |type= BooleanString {...}?id= Identifier ( COMMA {...}?id= Identifier )* ( ASSIGN_EQUAL value4= booleanExpression )? SEMI |type= TypeString {...}?id= Identifier ( COMMA {...}?id= Identifier )* ( ASSIGN_EQUAL value5= annotationType )? SEMI |type= WORDLIST {...}?name= Identifier ( ASSIGN_EQUAL list= wordListExpression )? SEMI |type= WORDTABLE {...}?name= I
 dentifier ( ASSIGN_EQUAL table= wordTableExpression )? SEMI |type= BOOLEANLIST {...}?name= Identifier ( ASSIGN_EQUAL bl= booleanListExpression )? SEMI |type= STRINGLIST {...}?name= Identifier ( ASSIGN_EQUAL sl= stringListExpression )? SEMI |type= INTLIST {...}?name= Identifier ( ASSIGN_EQUAL il= numberListExpression )? SEMI |type= DOUBLELIST {...}?name= Identifier ( ASSIGN_EQUAL dl= numberListExpression )? SEMI |type= FLOATLIST {...}?name= Identifier ( ASSIGN_EQUAL dl= numberListExpression )? SEMI |type= TYPELIST {...}?name= Identifier ( ASSIGN_EQUAL tl= typeListExpression )? SEMI )
+            int alt24=14;
             switch ( input.LA(1) ) {
             case IntString:
                 {
@@ -942,16 +936,6 @@ public class TextMarkerParser extends Pa
                 alt24=14;
                 }
                 break;
-            case CONDITION:
-                {
-                alt24=15;
-                }
-                break;
-            case ACTION:
-                {
-                alt24=16;
-                }
-                break;
             default:
                 if (state.backtracking>0) {state.failed=true; return stmt;}
                 NoViableAltException nvae =
@@ -1786,32 +1770,6 @@ public class TextMarkerParser extends Pa
 
                     }
                     break;
-                case 15 :
-                    // D:\\work\\workspace-uima3\\uimaj-ep-textmarker-engine\\src\\main\\java\\org\\apache\\uima\\textmarker\\parser\\TextMarkerParser.g:324:2: stmt1= conditionDeclaration
-                    {
-                    pushFollow(FOLLOW_conditionDeclaration_in_variableDeclaration951);
-                    stmt1=conditionDeclaration();
-
-                    state._fsp--;
-                    if (state.failed) return stmt;
-
-                    if ( state.backtracking==0 ) {stmt = stmt1;}
-
-                    }
-                    break;
-                case 16 :
-                    // D:\\work\\workspace-uima3\\uimaj-ep-textmarker-engine\\src\\main\\java\\org\\apache\\uima\\textmarker\\parser\\TextMarkerParser.g:326:2: stmt2= actionDeclaration
-                    {
-                    pushFollow(FOLLOW_actionDeclaration_in_variableDeclaration963);
-                    stmt2=actionDeclaration();
-
-                    state._fsp--;
-                    if (state.failed) return stmt;
-
-                    if ( state.backtracking==0 ) {stmt = stmt2;}
-
-                    }
-                    break;
 
             }
         }
@@ -1832,120 +1790,6 @@ public class TextMarkerParser extends Pa
 
 
 
-    // $ANTLR start "conditionDeclaration"
-    // D:\\work\\workspace-uima3\\uimaj-ep-textmarker-engine\\src\\main\\java\\org\\apache\\uima\\textmarker\\parser\\TextMarkerParser.g:330:1: conditionDeclaration returns [TextMarkerStatement stmt = null] : type= CONDITION id= Identifier ASSIGN_EQUAL LPAREN cons= conditions RPAREN SEMI ;
-    public final TextMarkerStatement conditionDeclaration() throws RecognitionException {
-        TextMarkerStatement stmt =  null;
-
-
-        Token type=null;
-        Token id=null;
-        List<AbstractTextMarkerCondition> cons =null;
-
-
-        try {
-            // D:\\work\\workspace-uima3\\uimaj-ep-textmarker-engine\\src\\main\\java\\org\\apache\\uima\\textmarker\\parser\\TextMarkerParser.g:331:5: (type= CONDITION id= Identifier ASSIGN_EQUAL LPAREN cons= conditions RPAREN SEMI )
-            // D:\\work\\workspace-uima3\\uimaj-ep-textmarker-engine\\src\\main\\java\\org\\apache\\uima\\textmarker\\parser\\TextMarkerParser.g:332:5: type= CONDITION id= Identifier ASSIGN_EQUAL LPAREN cons= conditions RPAREN SEMI
-            {
-            type=(Token)match(input,CONDITION,FOLLOW_CONDITION_in_conditionDeclaration992); if (state.failed) return stmt;
-
-            id=(Token)match(input,Identifier,FOLLOW_Identifier_in_conditionDeclaration998); if (state.failed) return stmt;
-
-            match(input,ASSIGN_EQUAL,FOLLOW_ASSIGN_EQUAL_in_conditionDeclaration1000); if (state.failed) return stmt;
-
-            match(input,LPAREN,FOLLOW_LPAREN_in_conditionDeclaration1002); if (state.failed) return stmt;
-
-            pushFollow(FOLLOW_conditions_in_conditionDeclaration1008);
-            cons=conditions();
-
-            state._fsp--;
-            if (state.failed) return stmt;
-
-            match(input,RPAREN,FOLLOW_RPAREN_in_conditionDeclaration1010); if (state.failed) return stmt;
-
-            match(input,SEMI,FOLLOW_SEMI_in_conditionDeclaration1012); if (state.failed) return stmt;
-
-            if ( state.backtracking==0 ) {addVariable(((blockDeclaration_scope)blockDeclaration_stack.peek()).env, id.getText(), type.getText());
-                AbstractTextMarkerCondition condition = ConditionFactory.createConditionAnd(cons,((blockDeclaration_scope)blockDeclaration_stack.peek()).env);
-                setValue(((blockDeclaration_scope)blockDeclaration_stack.peek()).env, id.getText(), condition);}
-
-            }
-
-        }
-
-        	catch (RecognitionException exception1) {
-        		emitErrorMessage(exception1.toString());
-        	}
-        	catch (Throwable exception2) {
-        		emitErrorMessage(exception2.toString());
-        	}
-
-        finally {
-        	// do for sure before leaving
-        }
-        return stmt;
-    }
-    // $ANTLR end "conditionDeclaration"
-
-
-
-    // $ANTLR start "actionDeclaration"
-    // D:\\work\\workspace-uima3\\uimaj-ep-textmarker-engine\\src\\main\\java\\org\\apache\\uima\\textmarker\\parser\\TextMarkerParser.g:339:1: actionDeclaration returns [TextMarkerStatement stmt = null] : type= ACTION id= Identifier ASSIGN_EQUAL LPAREN a= actions RPAREN SEMI ;
-    public final TextMarkerStatement actionDeclaration() throws RecognitionException {
-        TextMarkerStatement stmt =  null;
-
-
-        Token type=null;
-        Token id=null;
-        List<AbstractTextMarkerAction> a =null;
-
-
-        try {
-            // D:\\work\\workspace-uima3\\uimaj-ep-textmarker-engine\\src\\main\\java\\org\\apache\\uima\\textmarker\\parser\\TextMarkerParser.g:340:5: (type= ACTION id= Identifier ASSIGN_EQUAL LPAREN a= actions RPAREN SEMI )
-            // D:\\work\\workspace-uima3\\uimaj-ep-textmarker-engine\\src\\main\\java\\org\\apache\\uima\\textmarker\\parser\\TextMarkerParser.g:341:5: type= ACTION id= Identifier ASSIGN_EQUAL LPAREN a= actions RPAREN SEMI
-            {
-            type=(Token)match(input,ACTION,FOLLOW_ACTION_in_actionDeclaration1048); if (state.failed) return stmt;
-
-            id=(Token)match(input,Identifier,FOLLOW_Identifier_in_actionDeclaration1054); if (state.failed) return stmt;
-
-            match(input,ASSIGN_EQUAL,FOLLOW_ASSIGN_EQUAL_in_actionDeclaration1056); if (state.failed) return stmt;
-
-            match(input,LPAREN,FOLLOW_LPAREN_in_actionDeclaration1058); if (state.failed) return stmt;
-
-            pushFollow(FOLLOW_actions_in_actionDeclaration1064);
-            a=actions();
-
-            state._fsp--;
-            if (state.failed) return stmt;
-
-            match(input,RPAREN,FOLLOW_RPAREN_in_actionDeclaration1066); if (state.failed) return stmt;
-
-            match(input,SEMI,FOLLOW_SEMI_in_actionDeclaration1068); if (state.failed) return stmt;
-
-            if ( state.backtracking==0 ) {addVariable(((blockDeclaration_scope)blockDeclaration_stack.peek()).env, id.getText(), type.getText());
-                AbstractTextMarkerAction action = ActionFactory.createComposedAction(a,((blockDeclaration_scope)blockDeclaration_stack.peek()).env);
-                setValue(((blockDeclaration_scope)blockDeclaration_stack.peek()).env, id.getText(), action);}
-
-            }
-
-        }
-
-        	catch (RecognitionException exception1) {
-        		emitErrorMessage(exception1.toString());
-        	}
-        	catch (Throwable exception2) {
-        		emitErrorMessage(exception2.toString());
-        	}
-
-        finally {
-        	// do for sure before leaving
-        }
-        return stmt;
-    }
-    // $ANTLR end "actionDeclaration"
-
-
-
     // $ANTLR start "importStatement"
     // D:\\work\\workspace-uima3\\uimaj-ep-textmarker-engine\\src\\main\\java\\org\\apache\\uima\\textmarker\\parser\\TextMarkerParser.g:347:1: importStatement returns [TextMarkerStatement stmt = null] : ( TypeSystemString ts= dottedIdentifier2 SEMI | ScriptString ns= dottedIdentifier2 SEMI | EngineString ns= dottedIdentifier2 SEMI );
     public final TextMarkerStatement importStatement() throws RecognitionException {
@@ -1989,9 +1833,9 @@ public class TextMarkerParser extends Pa
                 case 1 :
                     // D:\\work\\workspace-uima3\\uimaj-ep-textmarker-engine\\src\\main\\java\\org\\apache\\uima\\textmarker\\parser\\TextMarkerParser.g:349:2: TypeSystemString ts= dottedIdentifier2 SEMI
                     {
-                    match(input,TypeSystemString,FOLLOW_TypeSystemString_in_importStatement1093); if (state.failed) return stmt;
+                    match(input,TypeSystemString,FOLLOW_TypeSystemString_in_importStatement985); if (state.failed) return stmt;
 
-                    pushFollow(FOLLOW_dottedIdentifier2_in_importStatement1099);
+                    pushFollow(FOLLOW_dottedIdentifier2_in_importStatement991);
                     ts=dottedIdentifier2();
 
                     state._fsp--;
@@ -1999,16 +1843,16 @@ public class TextMarkerParser extends Pa
 
                     if ( state.backtracking==0 ) {addImportTypeSystem(((blockDeclaration_scope)blockDeclaration_stack.peek()).env, ts);}
 
-                    match(input,SEMI,FOLLOW_SEMI_in_importStatement1102); if (state.failed) return stmt;
+                    match(input,SEMI,FOLLOW_SEMI_in_importStatement994); if (state.failed) return stmt;
 
                     }
                     break;
                 case 2 :
                     // D:\\work\\workspace-uima3\\uimaj-ep-textmarker-engine\\src\\main\\java\\org\\apache\\uima\\textmarker\\parser\\TextMarkerParser.g:350:4: ScriptString ns= dottedIdentifier2 SEMI
                     {
-                    match(input,ScriptString,FOLLOW_ScriptString_in_importStatement1107); if (state.failed) return stmt;
+                    match(input,ScriptString,FOLLOW_ScriptString_in_importStatement999); if (state.failed) return stmt;
 
-                    pushFollow(FOLLOW_dottedIdentifier2_in_importStatement1113);
+                    pushFollow(FOLLOW_dottedIdentifier2_in_importStatement1005);
                     ns=dottedIdentifier2();
 
                     state._fsp--;
@@ -2016,16 +1860,16 @@ public class TextMarkerParser extends Pa
 
                     if ( state.backtracking==0 ) {addImportScript(((blockDeclaration_scope)blockDeclaration_stack.peek()).env, ns);}
 
-                    match(input,SEMI,FOLLOW_SEMI_in_importStatement1116); if (state.failed) return stmt;
+                    match(input,SEMI,FOLLOW_SEMI_in_importStatement1008); if (state.failed) return stmt;
 
                     }
                     break;
                 case 3 :
                     // D:\\work\\workspace-uima3\\uimaj-ep-textmarker-engine\\src\\main\\java\\org\\apache\\uima\\textmarker\\parser\\TextMarkerParser.g:351:4: EngineString ns= dottedIdentifier2 SEMI
                     {
-                    match(input,EngineString,FOLLOW_EngineString_in_importStatement1121); if (state.failed) return stmt;
+                    match(input,EngineString,FOLLOW_EngineString_in_importStatement1013); if (state.failed) return stmt;
 
-                    pushFollow(FOLLOW_dottedIdentifier2_in_importStatement1127);
+                    pushFollow(FOLLOW_dottedIdentifier2_in_importStatement1019);
                     ns=dottedIdentifier2();
 
                     state._fsp--;
@@ -2033,7 +1877,7 @@ public class TextMarkerParser extends Pa
 
                     if ( state.backtracking==0 ) {addImportEngine(((blockDeclaration_scope)blockDeclaration_stack.peek()).env, ns);}
 
-                    match(input,SEMI,FOLLOW_SEMI_in_importStatement1130); if (state.failed) return stmt;
+                    match(input,SEMI,FOLLOW_SEMI_in_importStatement1022); if (state.failed) return stmt;
 
                     }
                     break;
@@ -2093,7 +1937,7 @@ public class TextMarkerParser extends Pa
                 case 1 :
                     // D:\\work\\workspace-uima3\\uimaj-ep-textmarker-engine\\src\\main\\java\\org\\apache\\uima\\textmarker\\parser\\TextMarkerParser.g:361:2: DECLARE (lazyParent= annotationType )? id= Identifier ( COMMA id= Identifier )* SEMI
                     {
-                    match(input,DECLARE,FOLLOW_DECLARE_in_declaration1154); if (state.failed) return stmt;
+                    match(input,DECLARE,FOLLOW_DECLARE_in_declaration1046); if (state.failed) return stmt;
 
                     // D:\\work\\workspace-uima3\\uimaj-ep-textmarker-engine\\src\\main\\java\\org\\apache\\uima\\textmarker\\parser\\TextMarkerParser.g:363:13: (lazyParent= annotationType )?
                     int alt26=2;
@@ -2113,7 +1957,7 @@ public class TextMarkerParser extends Pa
                         case 1 :
                             // D:\\work\\workspace-uima3\\uimaj-ep-textmarker-engine\\src\\main\\java\\org\\apache\\uima\\textmarker\\parser\\TextMarkerParser.g:363:13: lazyParent= annotationType
                             {
-                            pushFollow(FOLLOW_annotationType_in_declaration1164);
+                            pushFollow(FOLLOW_annotationType_in_declaration1056);
                             lazyParent=annotationType();
 
                             state._fsp--;
@@ -2125,7 +1969,7 @@ public class TextMarkerParser extends Pa
                     }
 
 
-                    id=(Token)match(input,Identifier,FOLLOW_Identifier_in_declaration1172); if (state.failed) return stmt;
+                    id=(Token)match(input,Identifier,FOLLOW_Identifier_in_declaration1064); if (state.failed) return stmt;
 
                     // D:\\work\\workspace-uima3\\uimaj-ep-textmarker-engine\\src\\main\\java\\org\\apache\\uima\\textmarker\\parser\\TextMarkerParser.g:365:4: ( COMMA id= Identifier )*
                     loop27:
@@ -2142,9 +1986,9 @@ public class TextMarkerParser extends Pa
                     	case 1 :
                     	    // D:\\work\\workspace-uima3\\uimaj-ep-textmarker-engine\\src\\main\\java\\org\\apache\\uima\\textmarker\\parser\\TextMarkerParser.g:365:5: COMMA id= Identifier
                     	    {
-                    	    match(input,COMMA,FOLLOW_COMMA_in_declaration1179); if (state.failed) return stmt;
+                    	    match(input,COMMA,FOLLOW_COMMA_in_declaration1071); if (state.failed) return stmt;
 
-                    	    id=(Token)match(input,Identifier,FOLLOW_Identifier_in_declaration1193); if (state.failed) return stmt;
+                    	    id=(Token)match(input,Identifier,FOLLOW_Identifier_in_declaration1085); if (state.failed) return stmt;
 
                     	    }
                     	    break;
@@ -2155,27 +1999,27 @@ public class TextMarkerParser extends Pa
                     } while (true);
 
 
-                    match(input,SEMI,FOLLOW_SEMI_in_declaration1202); if (state.failed) return stmt;
+                    match(input,SEMI,FOLLOW_SEMI_in_declaration1094); if (state.failed) return stmt;
 
                     }
                     break;
                 case 2 :
                     // D:\\work\\workspace-uima3\\uimaj-ep-textmarker-engine\\src\\main\\java\\org\\apache\\uima\\textmarker\\parser\\TextMarkerParser.g:370:2: DECLARE type= annotationType newName= Identifier ( LPAREN (obj1= annotationType |obj2= StringString |obj3= DoubleString |obj6= FloatString |obj4= IntString |obj5= BooleanString ) fname= Identifier ( COMMA (obj1= annotationType |obj2= StringString |obj3= DoubleString |obj6= FloatString |obj4= IntString |obj5= BooleanString ) fname= Identifier )* RPAREN ) SEMI
                     {
-                    match(input,DECLARE,FOLLOW_DECLARE_in_declaration1209); if (state.failed) return stmt;
+                    match(input,DECLARE,FOLLOW_DECLARE_in_declaration1101); if (state.failed) return stmt;
 
-                    pushFollow(FOLLOW_annotationType_in_declaration1215);
+                    pushFollow(FOLLOW_annotationType_in_declaration1107);
                     type=annotationType();
 
                     state._fsp--;
                     if (state.failed) return stmt;
 
-                    newName=(Token)match(input,Identifier,FOLLOW_Identifier_in_declaration1221); if (state.failed) return stmt;
+                    newName=(Token)match(input,Identifier,FOLLOW_Identifier_in_declaration1113); if (state.failed) return stmt;
 
                     // D:\\work\\workspace-uima3\\uimaj-ep-textmarker-engine\\src\\main\\java\\org\\apache\\uima\\textmarker\\parser\\TextMarkerParser.g:371:3: ( LPAREN (obj1= annotationType |obj2= StringString |obj3= DoubleString |obj6= FloatString |obj4= IntString |obj5= BooleanString ) fname= Identifier ( COMMA (obj1= annotationType |obj2= StringString |obj3= DoubleString |obj6= FloatString |obj4= IntString |obj5= BooleanString ) fname= Identifier )* RPAREN )
                     // D:\\work\\workspace-uima3\\uimaj-ep-textmarker-engine\\src\\main\\java\\org\\apache\\uima\\textmarker\\parser\\TextMarkerParser.g:371:4: LPAREN (obj1= annotationType |obj2= StringString |obj3= DoubleString |obj6= FloatString |obj4= IntString |obj5= BooleanString ) fname= Identifier ( COMMA (obj1= annotationType |obj2= StringString |obj3= DoubleString |obj6= FloatString |obj4= IntString |obj5= BooleanString ) fname= Identifier )* RPAREN
                     {
-                    match(input,LPAREN,FOLLOW_LPAREN_in_declaration1227); if (state.failed) return stmt;
+                    match(input,LPAREN,FOLLOW_LPAREN_in_declaration1119); if (state.failed) return stmt;
 
                     // D:\\work\\workspace-uima3\\uimaj-ep-textmarker-engine\\src\\main\\java\\org\\apache\\uima\\textmarker\\parser\\TextMarkerParser.g:372:4: (obj1= annotationType |obj2= StringString |obj3= DoubleString |obj6= FloatString |obj4= IntString |obj5= BooleanString )
                     int alt28=6;
@@ -2224,7 +2068,7 @@ public class TextMarkerParser extends Pa
                         case 1 :
                             // D:\\work\\workspace-uima3\\uimaj-ep-textmarker-engine\\src\\main\\java\\org\\apache\\uima\\textmarker\\parser\\TextMarkerParser.g:373:4: obj1= annotationType
                             {
-                            pushFollow(FOLLOW_annotationType_in_declaration1242);
+                            pushFollow(FOLLOW_annotationType_in_declaration1134);
                             obj1=annotationType();
 
                             state._fsp--;
@@ -2237,7 +2081,7 @@ public class TextMarkerParser extends Pa
                         case 2 :
                             // D:\\work\\workspace-uima3\\uimaj-ep-textmarker-engine\\src\\main\\java\\org\\apache\\uima\\textmarker\\parser\\TextMarkerParser.g:374:6: obj2= StringString
                             {
-                            obj2=(Token)match(input,StringString,FOLLOW_StringString_in_declaration1255); if (state.failed) return stmt;
+                            obj2=(Token)match(input,StringString,FOLLOW_StringString_in_declaration1147); if (state.failed) return stmt;
 
                             if ( state.backtracking==0 ) {featureTypes.add(obj2.getText());}
 
@@ -2246,7 +2090,7 @@ public class TextMarkerParser extends Pa
                         case 3 :
                             // D:\\work\\workspace-uima3\\uimaj-ep-textmarker-engine\\src\\main\\java\\org\\apache\\uima\\textmarker\\parser\\TextMarkerParser.g:375:6: obj3= DoubleString
                             {
-                            obj3=(Token)match(input,DoubleString,FOLLOW_DoubleString_in_declaration1268); if (state.failed) return stmt;
+                            obj3=(Token)match(input,DoubleString,FOLLOW_DoubleString_in_declaration1160); if (state.failed) return stmt;
 
                             if ( state.backtracking==0 ) {featureTypes.add(obj3.getText());}
 
@@ -2255,7 +2099,7 @@ public class TextMarkerParser extends Pa
                         case 4 :
                             // D:\\work\\workspace-uima3\\uimaj-ep-textmarker-engine\\src\\main\\java\\org\\apache\\uima\\textmarker\\parser\\TextMarkerParser.g:376:6: obj6= FloatString
                             {
-                            obj6=(Token)match(input,FloatString,FOLLOW_FloatString_in_declaration1280); if (state.failed) return stmt;
+                            obj6=(Token)match(input,FloatString,FOLLOW_FloatString_in_declaration1172); if (state.failed) return stmt;
 
                             if ( state.backtracking==0 ) {featureTypes.add(obj6.getText());}
 
@@ -2264,7 +2108,7 @@ public class TextMarkerParser extends Pa
                         case 5 :
                             // D:\\work\\workspace-uima3\\uimaj-ep-textmarker-engine\\src\\main\\java\\org\\apache\\uima\\textmarker\\parser\\TextMarkerParser.g:377:6: obj4= IntString
                             {
-                            obj4=(Token)match(input,IntString,FOLLOW_IntString_in_declaration1292); if (state.failed) return stmt;
+                            obj4=(Token)match(input,IntString,FOLLOW_IntString_in_declaration1184); if (state.failed) return stmt;
 
                             if ( state.backtracking==0 ) {featureTypes.add(obj4.getText());}
 
@@ -2273,7 +2117,7 @@ public class TextMarkerParser extends Pa
                         case 6 :
                             // D:\\work\\workspace-uima3\\uimaj-ep-textmarker-engine\\src\\main\\java\\org\\apache\\uima\\textmarker\\parser\\TextMarkerParser.g:378:6: obj5= BooleanString
                             {
-                            obj5=(Token)match(input,BooleanString,FOLLOW_BooleanString_in_declaration1304); if (state.failed) return stmt;
+                            obj5=(Token)match(input,BooleanString,FOLLOW_BooleanString_in_declaration1196); if (state.failed) return stmt;
 
                             if ( state.backtracking==0 ) {featureTypes.add(obj5.getText());}
 
@@ -2283,7 +2127,7 @@ public class TextMarkerParser extends Pa
                     }
 
 
-                    fname=(Token)match(input,Identifier,FOLLOW_Identifier_in_declaration1320); if (state.failed) return stmt;
+                    fname=(Token)match(input,Identifier,FOLLOW_Identifier_in_declaration1212); if (state.failed) return stmt;
 
                     if ( state.backtracking==0 ) {featureNames.add(fname.getText());}
 
@@ -2302,7 +2146,7 @@ public class TextMarkerParser extends Pa
                     	case 1 :
                     	    // D:\\work\\workspace-uima3\\uimaj-ep-textmarker-engine\\src\\main\\java\\org\\apache\\uima\\textmarker\\parser\\TextMarkerParser.g:382:4: COMMA (obj1= annotationType |obj2= StringString |obj3= DoubleString |obj6= FloatString |obj4= IntString |obj5= BooleanString ) fname= Identifier
                     	    {
-                    	    match(input,COMMA,FOLLOW_COMMA_in_declaration1332); if (state.failed) return stmt;
+                    	    match(input,COMMA,FOLLOW_COMMA_in_declaration1224); if (state.failed) return stmt;
 
                     	    // D:\\work\\workspace-uima3\\uimaj-ep-textmarker-engine\\src\\main\\java\\org\\apache\\uima\\textmarker\\parser\\TextMarkerParser.g:383:4: (obj1= annotationType |obj2= StringString |obj3= DoubleString |obj6= FloatString |obj4= IntString |obj5= BooleanString )
                     	    int alt29=6;
@@ -2351,7 +2195,7 @@ public class TextMarkerParser extends Pa
                     	        case 1 :
                     	            // D:\\work\\workspace-uima3\\uimaj-ep-textmarker-engine\\src\\main\\java\\org\\apache\\uima\\textmarker\\parser\\TextMarkerParser.g:384:4: obj1= annotationType
                     	            {
-                    	            pushFollow(FOLLOW_annotationType_in_declaration1347);
+                    	            pushFollow(FOLLOW_annotationType_in_declaration1239);
                     	            obj1=annotationType();
 
                     	            state._fsp--;
@@ -2364,7 +2208,7 @@ public class TextMarkerParser extends Pa
                     	        case 2 :
                     	            // D:\\work\\workspace-uima3\\uimaj-ep-textmarker-engine\\src\\main\\java\\org\\apache\\uima\\textmarker\\parser\\TextMarkerParser.g:385:6: obj2= StringString
                     	            {
-                    	            obj2=(Token)match(input,StringString,FOLLOW_StringString_in_declaration1360); if (state.failed) return stmt;
+                    	            obj2=(Token)match(input,StringString,FOLLOW_StringString_in_declaration1252); if (state.failed) return stmt;
 
                     	            if ( state.backtracking==0 ) {featureTypes.add(obj2.getText());}
 
@@ -2373,7 +2217,7 @@ public class TextMarkerParser extends Pa
                     	        case 3 :
                     	            // D:\\work\\workspace-uima3\\uimaj-ep-textmarker-engine\\src\\main\\java\\org\\apache\\uima\\textmarker\\parser\\TextMarkerParser.g:386:6: obj3= DoubleString
                     	            {
-                    	            obj3=(Token)match(input,DoubleString,FOLLOW_DoubleString_in_declaration1373); if (state.failed) return stmt;
+                    	            obj3=(Token)match(input,DoubleString,FOLLOW_DoubleString_in_declaration1265); if (state.failed) return stmt;
 
                     	            if ( state.backtracking==0 ) {featureTypes.add(obj3.getText());}
 
@@ -2382,7 +2226,7 @@ public class TextMarkerParser extends Pa
                     	        case 4 :
                     	            // D:\\work\\workspace-uima3\\uimaj-ep-textmarker-engine\\src\\main\\java\\org\\apache\\uima\\textmarker\\parser\\TextMarkerParser.g:387:6: obj6= FloatString
                     	            {
-                    	            obj6=(Token)match(input,FloatString,FOLLOW_FloatString_in_declaration1385); if (state.failed) return stmt;
+                    	            obj6=(Token)match(input,FloatString,FOLLOW_FloatString_in_declaration1277); if (state.failed) return stmt;
 
                     	            if ( state.backtracking==0 ) {featureTypes.add(obj6.getText());}
 
@@ -2391,7 +2235,7 @@ public class TextMarkerParser extends Pa
                     	        case 5 :
                     	            // D:\\work\\workspace-uima3\\uimaj-ep-textmarker-engine\\src\\main\\java\\org\\apache\\uima\\textmarker\\parser\\TextMarkerParser.g:388:6: obj4= IntString
                     	            {
-                    	            obj4=(Token)match(input,IntString,FOLLOW_IntString_in_declaration1397); if (state.failed) return stmt;
+                    	            obj4=(Token)match(input,IntString,FOLLOW_IntString_in_declaration1289); if (state.failed) return stmt;
 
                     	            if ( state.backtracking==0 ) {featureTypes.add(obj4.getText());}
 
@@ -2400,7 +2244,7 @@ public class TextMarkerParser extends Pa
                     	        case 6 :
                     	            // D:\\work\\workspace-uima3\\uimaj-ep-textmarker-engine\\src\\main\\java\\org\\apache\\uima\\textmarker\\parser\\TextMarkerParser.g:389:6: obj5= BooleanString
                     	            {
-                    	            obj5=(Token)match(input,BooleanString,FOLLOW_BooleanString_in_declaration1409); if (state.failed) return stmt;
+                    	            obj5=(Token)match(input,BooleanString,FOLLOW_BooleanString_in_declaration1301); if (state.failed) return stmt;
 
                     	            if ( state.backtracking==0 ) {featureTypes.add(obj5.getText());}
 
@@ -2410,7 +2254,7 @@ public class TextMarkerParser extends Pa
                     	    }
 
 
-                    	    fname=(Token)match(input,Identifier,FOLLOW_Identifier_in_declaration1425); if (state.failed) return stmt;
+                    	    fname=(Token)match(input,Identifier,FOLLOW_Identifier_in_declaration1317); if (state.failed) return stmt;
 
                     	    if ( state.backtracking==0 ) {featureNames.add(fname.getText());}
 
@@ -2423,12 +2267,12 @@ public class TextMarkerParser extends Pa
                     } while (true);
 
 
-                    match(input,RPAREN,FOLLOW_RPAREN_in_declaration1433); if (state.failed) return stmt;
+                    match(input,RPAREN,FOLLOW_RPAREN_in_declaration1325); if (state.failed) return stmt;
 
                     }
 
 
-                    match(input,SEMI,FOLLOW_SEMI_in_declaration1436); if (state.failed) return stmt;
+                    match(input,SEMI,FOLLOW_SEMI_in_declaration1328); if (state.failed) return stmt;
 
                     if ( state.backtracking==0 ) {addType(((blockDeclaration_scope)blockDeclaration_stack.peek()).env, newName.getText(), type.getText(), featureTypes, featureNames);}
 
@@ -2487,20 +2331,20 @@ public class TextMarkerParser extends Pa
             // D:\\work\\workspace-uima3\\uimaj-ep-textmarker-engine\\src\\main\\java\\org\\apache\\uima\\textmarker\\parser\\TextMarkerParser.g:415:2: (type= BlockString LPAREN id= Identifier RPAREN re1= ruleElementWithCA[container] LCURLY body= statements RCURLY )
             // D:\\work\\workspace-uima3\\uimaj-ep-textmarker-engine\\src\\main\\java\\org\\apache\\uima\\textmarker\\parser\\TextMarkerParser.g:416:2: type= BlockString LPAREN id= Identifier RPAREN re1= ruleElementWithCA[container] LCURLY body= statements RCURLY
             {
-            type=(Token)match(input,BlockString,FOLLOW_BlockString_in_blockDeclaration1494); if (state.failed) return block;
+            type=(Token)match(input,BlockString,FOLLOW_BlockString_in_blockDeclaration1386); if (state.failed) return block;
 
-            match(input,LPAREN,FOLLOW_LPAREN_in_blockDeclaration1498); if (state.failed) return block;
+            match(input,LPAREN,FOLLOW_LPAREN_in_blockDeclaration1390); if (state.failed) return block;
 
-            id=(Token)match(input,Identifier,FOLLOW_Identifier_in_blockDeclaration1505); if (state.failed) return block;
+            id=(Token)match(input,Identifier,FOLLOW_Identifier_in_blockDeclaration1397); if (state.failed) return block;
 
-            match(input,RPAREN,FOLLOW_RPAREN_in_blockDeclaration1509); if (state.failed) return block;
+            match(input,RPAREN,FOLLOW_RPAREN_in_blockDeclaration1401); if (state.failed) return block;
 
             if ( state.backtracking==0 ) {block = factory.createScriptBlock(id, re, body, ((blockDeclaration_scope)blockDeclaration_stack.elementAt(level - 1)).env);}
 
             if ( state.backtracking==0 ) {((blockDeclaration_scope)blockDeclaration_stack.peek()).env = block;
             	container = new RuleElementIsolator();}
 
-            pushFollow(FOLLOW_ruleElementWithCA_in_blockDeclaration1522);
+            pushFollow(FOLLOW_ruleElementWithCA_in_blockDeclaration1414);
             re1=ruleElementWithCA(container);
 
             state._fsp--;
@@ -2515,15 +2359,15 @@ public class TextMarkerParser extends Pa
             	container.setContainer(rule);
             	}
 
-            match(input,LCURLY,FOLLOW_LCURLY_in_blockDeclaration1533); if (state.failed) return block;
+            match(input,LCURLY,FOLLOW_LCURLY_in_blockDeclaration1425); if (state.failed) return block;
 
-            pushFollow(FOLLOW_statements_in_blockDeclaration1539);
+            pushFollow(FOLLOW_statements_in_blockDeclaration1431);
             body=statements();
 
             state._fsp--;
             if (state.failed) return block;
 
-            match(input,RCURLY,FOLLOW_RCURLY_in_blockDeclaration1541); if (state.failed) return block;
+            match(input,RCURLY,FOLLOW_RCURLY_in_blockDeclaration1433); if (state.failed) return block;
 
             if ( state.backtracking==0 ) {block.setElements(body);
             	((blockDeclaration_scope)blockDeclaration_stack.peek()).env.getScript().addBlock(id.getText(),block);
@@ -2584,20 +2428,20 @@ public class TextMarkerParser extends Pa
             // D:\\work\\workspace-uima3\\uimaj-ep-textmarker-engine\\src\\main\\java\\org\\apache\\uima\\textmarker\\parser\\TextMarkerParser.g:456:2: (type= AutomataBlockString LPAREN id= Identifier RPAREN re1= ruleElementWithCA[container] LCURLY body= statements RCURLY )
             // D:\\work\\workspace-uima3\\uimaj-ep-textmarker-engine\\src\\main\\java\\org\\apache\\uima\\textmarker\\parser\\TextMarkerParser.g:458:2: type= AutomataBlockString LPAREN id= Identifier RPAREN re1= ruleElementWithCA[container] LCURLY body= statements RCURLY
             {
-            type=(Token)match(input,AutomataBlockString,FOLLOW_AutomataBlockString_in_automataDeclaration1593); if (state.failed) return block;
+            type=(Token)match(input,AutomataBlockString,FOLLOW_AutomataBlockString_in_automataDeclaration1485); if (state.failed) return block;
 
-            match(input,LPAREN,FOLLOW_LPAREN_in_automataDeclaration1597); if (state.failed) return block;
+            match(input,LPAREN,FOLLOW_LPAREN_in_automataDeclaration1489); if (state.failed) return block;
 
-            id=(Token)match(input,Identifier,FOLLOW_Identifier_in_automataDeclaration1604); if (state.failed) return block;
+            id=(Token)match(input,Identifier,FOLLOW_Identifier_in_automataDeclaration1496); if (state.failed) return block;
 
-            match(input,RPAREN,FOLLOW_RPAREN_in_automataDeclaration1608); if (state.failed) return block;
+            match(input,RPAREN,FOLLOW_RPAREN_in_automataDeclaration1500); if (state.failed) return block;
 
             if ( state.backtracking==0 ) {block = factory.createAutomataBlock(id, re, body, ((blockDeclaration_scope)blockDeclaration_stack.elementAt(level - 1)).env);}
 
             if ( state.backtracking==0 ) {((blockDeclaration_scope)blockDeclaration_stack.peek()).env = block;
             	container = new RuleElementIsolator();}
 
-            pushFollow(FOLLOW_ruleElementWithCA_in_automataDeclaration1621);
+            pushFollow(FOLLOW_ruleElementWithCA_in_automataDeclaration1513);
             re1=ruleElementWithCA(container);
 
             state._fsp--;
@@ -2612,15 +2456,15 @@ public class TextMarkerParser extends Pa
             	container.setContainer(rule);
             	}
 
-            match(input,LCURLY,FOLLOW_LCURLY_in_automataDeclaration1630); if (state.failed) return block;
+            match(input,LCURLY,FOLLOW_LCURLY_in_automataDeclaration1522); if (state.failed) return block;
 
-            pushFollow(FOLLOW_statements_in_automataDeclaration1636);
+            pushFollow(FOLLOW_statements_in_automataDeclaration1528);
             body=statements();
 
             state._fsp--;
             if (state.failed) return block;
 
-            match(input,RCURLY,FOLLOW_RCURLY_in_automataDeclaration1638); if (state.failed) return block;
+            match(input,RCURLY,FOLLOW_RCURLY_in_automataDeclaration1530); if (state.failed) return block;
 
             if ( state.backtracking==0 ) {block.setElements(body);
             	((blockDeclaration_scope)blockDeclaration_stack.peek()).env.getScript().addBlock(id.getText(),block);
@@ -2671,7 +2515,7 @@ public class TextMarkerParser extends Pa
             // D:\\work\\workspace-uima3\\uimaj-ep-textmarker-engine\\src\\main\\java\\org\\apache\\uima\\textmarker\\parser\\TextMarkerParser.g:481:5: (idRef= typeExpression (q= quantifierPart )? LCURLY (c= conditions )? ( THEN a= actions )? RCURLY )
             // D:\\work\\workspace-uima3\\uimaj-ep-textmarker-engine\\src\\main\\java\\org\\apache\\uima\\textmarker\\parser\\TextMarkerParser.g:483:5: idRef= typeExpression (q= quantifierPart )? LCURLY (c= conditions )? ( THEN a= actions )? RCURLY
             {
-            pushFollow(FOLLOW_typeExpression_in_ruleElementWithCA1675);
+            pushFollow(FOLLOW_typeExpression_in_ruleElementWithCA1567);
             idRef=typeExpression();
 
             state._fsp--;
@@ -2690,7 +2534,7 @@ public class TextMarkerParser extends Pa
                 case 1 :
                     // D:\\work\\workspace-uima3\\uimaj-ep-textmarker-engine\\src\\main\\java\\org\\apache\\uima\\textmarker\\parser\\TextMarkerParser.g:485:7: q= quantifierPart
                     {
-                    pushFollow(FOLLOW_quantifierPart_in_ruleElementWithCA1692);
+                    pushFollow(FOLLOW_quantifierPart_in_ruleElementWithCA1584);
                     q=quantifierPart();
 
                     state._fsp--;
@@ -2702,7 +2546,7 @@ public class TextMarkerParser extends Pa
             }
 
 
-            match(input,LCURLY,FOLLOW_LCURLY_in_ruleElementWithCA1704); if (state.failed) return re;
+            match(input,LCURLY,FOLLOW_LCURLY_in_ruleElementWithCA1596); if (state.failed) return re;
 
             // D:\\work\\workspace-uima3\\uimaj-ep-textmarker-engine\\src\\main\\java\\org\\apache\\uima\\textmarker\\parser\\TextMarkerParser.g:486:18: (c= conditions )?
             int alt33=2;
@@ -2715,7 +2559,7 @@ public class TextMarkerParser extends Pa
                 case 1 :
                     // D:\\work\\workspace-uima3\\uimaj-ep-textmarker-engine\\src\\main\\java\\org\\apache\\uima\\textmarker\\parser\\TextMarkerParser.g:486:18: c= conditions
                     {
-                    pushFollow(FOLLOW_conditions_in_ruleElementWithCA1710);
+                    pushFollow(FOLLOW_conditions_in_ruleElementWithCA1602);
                     c=conditions();
 
                     state._fsp--;
@@ -2738,9 +2582,9 @@ public class TextMarkerParser extends Pa
                 case 1 :
                     // D:\\work\\workspace-uima3\\uimaj-ep-textmarker-engine\\src\\main\\java\\org\\apache\\uima\\textmarker\\parser\\TextMarkerParser.g:486:33: THEN a= actions
                     {
-                    match(input,THEN,FOLLOW_THEN_in_ruleElementWithCA1714); if (state.failed) return re;
+                    match(input,THEN,FOLLOW_THEN_in_ruleElementWithCA1606); if (state.failed) return re;
 
-                    pushFollow(FOLLOW_actions_in_ruleElementWithCA1720);
+                    pushFollow(FOLLOW_actions_in_ruleElementWithCA1612);
                     a=actions();
 
                     state._fsp--;
@@ -2752,7 +2596,7 @@ public class TextMarkerParser extends Pa
             }
 
 
-            match(input,RCURLY,FOLLOW_RCURLY_in_ruleElementWithCA1724); if (state.failed) return re;
+            match(input,RCURLY,FOLLOW_RCURLY_in_ruleElementWithCA1616); if (state.failed) return re;
 
             if ( state.backtracking==0 ) {
             	if(q != null) {
@@ -2801,13 +2645,13 @@ public class TextMarkerParser extends Pa
             {
             if ( state.backtracking==0 ) {stmt = factory.createRule(elements, ((blockDeclaration_scope)blockDeclaration_stack.peek()).env);}
 
-            pushFollow(FOLLOW_ruleElements_in_simpleStatement1765);
+            pushFollow(FOLLOW_ruleElements_in_simpleStatement1657);
             elements=ruleElements(stmt.getRoot());
 
             state._fsp--;
             if (state.failed) return stmt;
 
-            match(input,SEMI,FOLLOW_SEMI_in_simpleStatement1768); if (state.failed) return stmt;
+            match(input,SEMI,FOLLOW_SEMI_in_simpleStatement1660); if (state.failed) return stmt;
 
             if ( state.backtracking==0 ) {stmt.setRuleElements(elements);}
 
@@ -2844,7 +2688,7 @@ public class TextMarkerParser extends Pa
             // D:\\work\\workspace-uima3\\uimaj-ep-textmarker-engine\\src\\main\\java\\org\\apache\\uima\\textmarker\\parser\\TextMarkerParser.g:510:2: (re= ruleElement[container] (re= ruleElement[container] )* )
             // D:\\work\\workspace-uima3\\uimaj-ep-textmarker-engine\\src\\main\\java\\org\\apache\\uima\\textmarker\\parser\\TextMarkerParser.g:511:2: re= ruleElement[container] (re= ruleElement[container] )*
             {
-            pushFollow(FOLLOW_ruleElement_in_ruleElements1795);
+            pushFollow(FOLLOW_ruleElement_in_ruleElements1687);
             re=ruleElement(container);
 
             state._fsp--;
@@ -2867,7 +2711,7 @@ public class TextMarkerParser extends Pa
             	case 1 :
             	    // D:\\work\\workspace-uima3\\uimaj-ep-textmarker-engine\\src\\main\\java\\org\\apache\\uima\\textmarker\\parser\\TextMarkerParser.g:511:51: re= ruleElement[container]
             	    {
-            	    pushFollow(FOLLOW_ruleElement_in_ruleElements1805);
+            	    pushFollow(FOLLOW_ruleElement_in_ruleElements1697);
             	    re=ruleElement(container);
 
             	    state._fsp--;
@@ -2986,7 +2830,7 @@ public class TextMarkerParser extends Pa
                 case 1 :
                     // D:\\work\\workspace-uima3\\uimaj-ep-textmarker-engine\\src\\main\\java\\org\\apache\\uima\\textmarker\\parser\\TextMarkerParser.g:517:2: re1= ruleElementType[container]
                     {
-                    pushFollow(FOLLOW_ruleElementType_in_ruleElement1834);
+                    pushFollow(FOLLOW_ruleElementType_in_ruleElement1726);
                     re1=ruleElementType(container);
 
                     state._fsp--;
@@ -2999,7 +2843,7 @@ public class TextMarkerParser extends Pa
                 case 2 :
                     // D:\\work\\workspace-uima3\\uimaj-ep-textmarker-engine\\src\\main\\java\\org\\apache\\uima\\textmarker\\parser\\TextMarkerParser.g:518:4: re2= ruleElementLiteral[container]
                     {
-                    pushFollow(FOLLOW_ruleElementLiteral_in_ruleElement1846);
+                    pushFollow(FOLLOW_ruleElementLiteral_in_ruleElement1738);
                     re2=ruleElementLiteral(container);
 
                     state._fsp--;
@@ -3012,7 +2856,7 @@ public class TextMarkerParser extends Pa
                 case 3 :
                     // D:\\work\\workspace-uima3\\uimaj-ep-textmarker-engine\\src\\main\\java\\org\\apache\\uima\\textmarker\\parser\\TextMarkerParser.g:519:4: ( ruleElementComposed[null] )=>re3= ruleElementComposed[container]
                     {
-                    pushFollow(FOLLOW_ruleElementComposed_in_ruleElement1863);
+                    pushFollow(FOLLOW_ruleElementComposed_in_ruleElement1755);
                     re3=ruleElementComposed(container);
 
                     state._fsp--;
@@ -3025,7 +2869,7 @@ public class TextMarkerParser extends Pa
                 case 4 :
                     // D:\\work\\workspace-uima3\\uimaj-ep-textmarker-engine\\src\\main\\java\\org\\apache\\uima\\textmarker\\parser\\TextMarkerParser.g:520:4: ( ruleElementDisjunctive[null] )=>re4= ruleElementDisjunctive[container]
                     {
-                    pushFollow(FOLLOW_ruleElementDisjunctive_in_ruleElement1881);
+                    pushFollow(FOLLOW_ruleElementDisjunctive_in_ruleElement1773);
                     re4=ruleElementDisjunctive(container);
 
                     state._fsp--;
@@ -3081,9 +2925,9 @@ public class TextMarkerParser extends Pa
             // D:\\work\\workspace-uima3\\uimaj-ep-textmarker-engine\\src\\main\\java\\org\\apache\\uima\\textmarker\\parser\\TextMarkerParser.g:527:5: ( LPAREN ( typeExpression VBAR )=>type1= typeExpression VBAR type2= typeExpression ( VBAR type3= typeExpression )? RPAREN (q= quantifierPart )? ( LCURLY (c= conditions )? ( THEN a= actions )? RCURLY )? )
             // D:\\work\\workspace-uima3\\uimaj-ep-textmarker-engine\\src\\main\\java\\org\\apache\\uima\\textmarker\\parser\\TextMarkerParser.g:528:5: LPAREN ( typeExpression VBAR )=>type1= typeExpression VBAR type2= typeExpression ( VBAR type3= typeExpression )? RPAREN (q= quantifierPart )? ( LCURLY (c= conditions )? ( THEN a= actions )? RCURLY )?
             {
-            match(input,LPAREN,FOLLOW_LPAREN_in_ruleElementDisjunctive1913); if (state.failed) return re;
+            match(input,LPAREN,FOLLOW_LPAREN_in_ruleElementDisjunctive1805); if (state.failed) return re;
 
-            pushFollow(FOLLOW_typeExpression_in_ruleElementDisjunctive1929);
+            pushFollow(FOLLOW_typeExpression_in_ruleElementDisjunctive1821);
             type1=typeExpression();
 
             state._fsp--;
@@ -3091,9 +2935,9 @@ public class TextMarkerParser extends Pa
 
             if ( state.backtracking==0 ) {typeExprs.add(type1);}
 
-            match(input,VBAR,FOLLOW_VBAR_in_ruleElementDisjunctive1938); if (state.failed) return re;
+            match(input,VBAR,FOLLOW_VBAR_in_ruleElementDisjunctive1830); if (state.failed) return re;
 
-            pushFollow(FOLLOW_typeExpression_in_ruleElementDisjunctive1944);
+            pushFollow(FOLLOW_typeExpression_in_ruleElementDisjunctive1836);
             type2=typeExpression();
 
             state._fsp--;
@@ -3112,9 +2956,9 @@ public class TextMarkerParser extends Pa
                 case 1 :
                     // D:\\work\\workspace-uima3\\uimaj-ep-textmarker-engine\\src\\main\\java\\org\\apache\\uima\\textmarker\\parser\\TextMarkerParser.g:531:6: VBAR type3= typeExpression
                     {
-                    match(input,VBAR,FOLLOW_VBAR_in_ruleElementDisjunctive1953); if (state.failed) return re;
+                    match(input,VBAR,FOLLOW_VBAR_in_ruleElementDisjunctive1845); if (state.failed) return re;
 
-                    pushFollow(FOLLOW_typeExpression_in_ruleElementDisjunctive1959);
+                    pushFollow(FOLLOW_typeExpression_in_ruleElementDisjunctive1851);
                     type3=typeExpression();
 
                     state._fsp--;
@@ -3128,7 +2972,7 @@ public class TextMarkerParser extends Pa
             }
 
 
-            match(input,RPAREN,FOLLOW_RPAREN_in_ruleElementDisjunctive1968); if (state.failed) return re;
+            match(input,RPAREN,FOLLOW_RPAREN_in_ruleElementDisjunctive1860); if (state.failed) return re;
 
             if ( state.backtracking==0 ) { re = factory.createRuleElement(typeExprs, null, null, null, container, ((blockDeclaration_scope)blockDeclaration_stack.peek()).env);}
 
@@ -3143,7 +2987,7 @@ public class TextMarkerParser extends Pa
                 case 1 :
                     // D:\\work\\workspace-uima3\\uimaj-ep-textmarker-engine\\src\\main\\java\\org\\apache\\uima\\textmarker\\parser\\TextMarkerParser.g:535:8: q= quantifierPart
                     {
-                    pushFollow(FOLLOW_quantifierPart_in_ruleElementDisjunctive1994);
+                    pushFollow(FOLLOW_quantifierPart_in_ruleElementDisjunctive1886);
                     q=quantifierPart();
 
                     state._fsp--;
@@ -3166,7 +3010,7 @@ public class TextMarkerParser extends Pa
                 case 1 :
                     // D:\\work\\workspace-uima3\\uimaj-ep-textmarker-engine\\src\\main\\java\\org\\apache\\uima\\textmarker\\parser\\TextMarkerParser.g:536:10: LCURLY (c= conditions )? ( THEN a= actions )? RCURLY
                     {
-                    match(input,LCURLY,FOLLOW_LCURLY_in_ruleElementDisjunctive2007); if (state.failed) return re;
+                    match(input,LCURLY,FOLLOW_LCURLY_in_ruleElementDisjunctive1899); if (state.failed) return re;
 
                     // D:\\work\\workspace-uima3\\uimaj-ep-textmarker-engine\\src\\main\\java\\org\\apache\\uima\\textmarker\\parser\\TextMarkerParser.g:536:19: (c= conditions )?
                     int alt39=2;
@@ -3179,7 +3023,7 @@ public class TextMarkerParser extends Pa
                         case 1 :
                             // D:\\work\\workspace-uima3\\uimaj-ep-textmarker-engine\\src\\main\\java\\org\\apache\\uima\\textmarker\\parser\\TextMarkerParser.g:536:19: c= conditions
                             {
-                            pushFollow(FOLLOW_conditions_in_ruleElementDisjunctive2013);
+                            pushFollow(FOLLOW_conditions_in_ruleElementDisjunctive1905);
                             c=conditions();
 
                             state._fsp--;
@@ -3202,9 +3046,9 @@ public class TextMarkerParser extends Pa
                         case 1 :
                             // D:\\work\\workspace-uima3\\uimaj-ep-textmarker-engine\\src\\main\\java\\org\\apache\\uima\\textmarker\\parser\\TextMarkerParser.g:536:34: THEN a= actions
                             {
-                            match(input,THEN,FOLLOW_THEN_in_ruleElementDisjunctive2017); if (state.failed) return re;
+                            match(input,THEN,FOLLOW_THEN_in_ruleElementDisjunctive1909); if (state.failed) return re;
 
-                            pushFollow(FOLLOW_actions_in_ruleElementDisjunctive2023);
+                            pushFollow(FOLLOW_actions_in_ruleElementDisjunctive1915);
                             a=actions();
 
                             state._fsp--;
@@ -3216,7 +3060,7 @@ public class TextMarkerParser extends Pa
                     }
 
 
-                    match(input,RCURLY,FOLLOW_RCURLY_in_ruleElementDisjunctive2027); if (state.failed) return re;
+                    match(input,RCURLY,FOLLOW_RCURLY_in_ruleElementDisjunctive1919); if (state.failed) return re;
 
                     }
                     break;
@@ -3289,12 +3133,12 @@ public class TextMarkerParser extends Pa
             	// dre = factory.createDisjunctiveRuleElement(container, ((blockDeclaration_scope)blockDeclaration_stack.peek()).env);
             	((ruleElementComposed_scope)ruleElementComposed_stack.peek()).con = re;}
 
-            match(input,LPAREN,FOLLOW_LPAREN_in_ruleElementComposed2068); if (state.failed) return re;
+            match(input,LPAREN,FOLLOW_LPAREN_in_ruleElementComposed1960); if (state.failed) return re;
 
             // D:\\work\\workspace-uima3\\uimaj-ep-textmarker-engine\\src\\main\\java\\org\\apache\\uima\\textmarker\\parser\\TextMarkerParser.g:563:2: ( ( ruleElements[$ruleElementComposed::con] )=>res= ruleElements[$ruleElementComposed::con] )
             // D:\\work\\workspace-uima3\\uimaj-ep-textmarker-engine\\src\\main\\java\\org\\apache\\uima\\textmarker\\parser\\TextMarkerParser.g:569:2: ( ruleElements[$ruleElementComposed::con] )=>res= ruleElements[$ruleElementComposed::con]
             {
-            pushFollow(FOLLOW_ruleElements_in_ruleElementComposed2096);
+            pushFollow(FOLLOW_ruleElements_in_ruleElementComposed1988);
             res=ruleElements(((ruleElementComposed_scope)ruleElementComposed_stack.peek()).con);
 
             state._fsp--;
@@ -3303,7 +3147,7 @@ public class TextMarkerParser extends Pa
             }
 
 
-            match(input,RPAREN,FOLLOW_RPAREN_in_ruleElementComposed2106); if (state.failed) return re;
+            match(input,RPAREN,FOLLOW_RPAREN_in_ruleElementComposed1998); if (state.failed) return re;
 
             // D:\\work\\workspace-uima3\\uimaj-ep-textmarker-engine\\src\\main\\java\\org\\apache\\uima\\textmarker\\parser\\TextMarkerParser.g:572:11: (q= quantifierPart )?
             int alt42=2;
@@ -3316,7 +3160,7 @@ public class TextMarkerParser extends Pa
                 case 1 :
                     // D:\\work\\workspace-uima3\\uimaj-ep-textmarker-engine\\src\\main\\java\\org\\apache\\uima\\textmarker\\parser\\TextMarkerParser.g:572:11: q= quantifierPart
                     {
-                    pushFollow(FOLLOW_quantifierPart_in_ruleElementComposed2112);
+                    pushFollow(FOLLOW_quantifierPart_in_ruleElementComposed2004);
                     q=quantifierPart();
 
                     state._fsp--;
@@ -3339,7 +3183,7 @@ public class TextMarkerParser extends Pa
                 case 1 :
                     // D:\\work\\workspace-uima3\\uimaj-ep-textmarker-engine\\src\\main\\java\\org\\apache\\uima\\textmarker\\parser\\TextMarkerParser.g:572:30: LCURLY (c= conditions )? ( THEN a= actions )? RCURLY
                     {
-                    match(input,LCURLY,FOLLOW_LCURLY_in_ruleElementComposed2116); if (state.failed) return re;
+                    match(input,LCURLY,FOLLOW_LCURLY_in_ruleElementComposed2008); if (state.failed) return re;
 
                     // D:\\work\\workspace-uima3\\uimaj-ep-textmarker-engine\\src\\main\\java\\org\\apache\\uima\\textmarker\\parser\\TextMarkerParser.g:572:39: (c= conditions )?
                     int alt43=2;
@@ -3352,7 +3196,7 @@ public class TextMarkerParser extends Pa
                         case 1 :
                             // D:\\work\\workspace-uima3\\uimaj-ep-textmarker-engine\\src\\main\\java\\org\\apache\\uima\\textmarker\\parser\\TextMarkerParser.g:572:39: c= conditions
                             {
-                            pushFollow(FOLLOW_conditions_in_ruleElementComposed2122);
+                            pushFollow(FOLLOW_conditions_in_ruleElementComposed2014);
                             c=conditions();
 
                             state._fsp--;
@@ -3375,9 +3219,9 @@ public class TextMarkerParser extends Pa
                         case 1 :
                             // D:\\work\\workspace-uima3\\uimaj-ep-textmarker-engine\\src\\main\\java\\org\\apache\\uima\\textmarker\\parser\\TextMarkerParser.g:572:54: THEN a= actions
                             {
-                            match(input,THEN,FOLLOW_THEN_in_ruleElementComposed2126); if (state.failed) return re;
+                            match(input,THEN,FOLLOW_THEN_in_ruleElementComposed2018); if (state.failed) return re;
 
-                            pushFollow(FOLLOW_actions_in_ruleElementComposed2132);
+                            pushFollow(FOLLOW_actions_in_ruleElementComposed2024);
                             a=actions();
 
                             state._fsp--;
@@ -3389,7 +3233,7 @@ public class TextMarkerParser extends Pa
                     }
 
 
-                    match(input,RCURLY,FOLLOW_RCURLY_in_ruleElementComposed2136); if (state.failed) return re;
+                    match(input,RCURLY,FOLLOW_RCURLY_in_ruleElementComposed2028); if (state.failed) return re;
 
                     }
                     break;
@@ -3450,7 +3294,7 @@ public class TextMarkerParser extends Pa
             // D:\\work\\workspace-uima3\\uimaj-ep-textmarker-engine\\src\\main\\java\\org\\apache\\uima\\textmarker\\parser\\TextMarkerParser.g:589:5: ( ( typeExpression )=>typeExpr= typeExpression (q= quantifierPart )? ( LCURLY (c= conditions )? ( THEN a= actions )? RCURLY )? )
             // D:\\work\\workspace-uima3\\uimaj-ep-textmarker-engine\\src\\main\\java\\org\\apache\\uima\\textmarker\\parser\\TextMarkerParser.g:591:5: ( typeExpression )=>typeExpr= typeExpression (q= quantifierPart )? ( LCURLY (c= conditions )? ( THEN a= actions )? RCURLY )?
             {
-            pushFollow(FOLLOW_typeExpression_in_ruleElementType2179);
+            pushFollow(FOLLOW_typeExpression_in_ruleElementType2071);
             typeExpr=typeExpression();
 
             state._fsp--;
@@ -3469,7 +3313,7 @@ public class TextMarkerParser extends Pa
                 case 1 :
                     // D:\\work\\workspace-uima3\\uimaj-ep-textmarker-engine\\src\\main\\java\\org\\apache\\uima\\textmarker\\parser\\TextMarkerParser.g:593:7: q= quantifierPart
                     {
-                    pushFollow(FOLLOW_quantifierPart_in_ruleElementType2198);
+                    pushFollow(FOLLOW_quantifierPart_in_ruleElementType2090);
                     q=quantifierPart();
 
                     state._fsp--;
@@ -3492,7 +3336,7 @@ public class TextMarkerParser extends Pa
                 case 1 :
                     // D:\\work\\workspace-uima3\\uimaj-ep-textmarker-engine\\src\\main\\java\\org\\apache\\uima\\textmarker\\parser\\TextMarkerParser.g:594:10: LCURLY (c= conditions )? ( THEN a= actions )? RCURLY
                     {
-                    match(input,LCURLY,FOLLOW_LCURLY_in_ruleElementType2211); if (state.failed) return re;
+                    match(input,LCURLY,FOLLOW_LCURLY_in_ruleElementType2103); if (state.failed) return re;
 
                     // D:\\work\\workspace-uima3\\uimaj-ep-textmarker-engine\\src\\main\\java\\org\\apache\\uima\\textmarker\\parser\\TextMarkerParser.g:594:19: (c= conditions )?
                     int alt47=2;
@@ -3505,7 +3349,7 @@ public class TextMarkerParser extends Pa
                         case 1 :
                             // D:\\work\\workspace-uima3\\uimaj-ep-textmarker-engine\\src\\main\\java\\org\\apache\\uima\\textmarker\\parser\\TextMarkerParser.g:594:19: c= conditions
                             {
-                            pushFollow(FOLLOW_conditions_in_ruleElementType2217);
+                            pushFollow(FOLLOW_conditions_in_ruleElementType2109);
                             c=conditions();
 
                             state._fsp--;
@@ -3528,9 +3372,9 @@ public class TextMarkerParser extends Pa
                         case 1 :
                             // D:\\work\\workspace-uima3\\uimaj-ep-textmarker-engine\\src\\main\\java\\org\\apache\\uima\\textmarker\\parser\\TextMarkerParser.g:594:34: THEN a= actions
                             {
-                            match(input,THEN,FOLLOW_THEN_in_ruleElementType2221); if (state.failed) return re;
+                            match(input,THEN,FOLLOW_THEN_in_ruleElementType2113); if (state.failed) return re;
 
-                            pushFollow(FOLLOW_actions_in_ruleElementType2227);
+                            pushFollow(FOLLOW_actions_in_ruleElementType2119);
                             a=actions();
 
                             state._fsp--;
@@ -3542,7 +3386,7 @@ public class TextMarkerParser extends Pa
                     }
 
 
-                    match(input,RCURLY,FOLLOW_RCURLY_in_ruleElementType2231); if (state.failed) return re;
+                    match(input,RCURLY,FOLLOW_RCURLY_in_ruleElementType2123); if (state.failed) return re;
 
                     }
                     break;
@@ -3601,7 +3445,7 @@ public class TextMarkerParser extends Pa
             // D:\\work\\workspace-uima3\\uimaj-ep-textmarker-engine\\src\\main\\java\\org\\apache\\uima\\textmarker\\parser\\TextMarkerParser.g:609:5: ( ( simpleStringExpression )=>stringExpr= simpleStringExpression (q= quantifierPart )? ( LCURLY (c= conditions )? ( THEN a= actions )? RCURLY )? )
             // D:\\work\\workspace-uima3\\uimaj-ep-textmarker-engine\\src\\main\\java\\org\\apache\\uima\\textmarker\\parser\\TextMarkerParser.g:611:5: ( simpleStringExpression )=>stringExpr= simpleStringExpression (q= quantifierPart )? ( LCURLY (c= conditions )? ( THEN a= actions )? RCURLY )?
             {
-            pushFollow(FOLLOW_simpleStringExpression_in_ruleElementLiteral2278);
+            pushFollow(FOLLOW_simpleStringExpression_in_ruleElementLiteral2170);
             stringExpr=simpleStringExpression();
 
             state._fsp--;
@@ -3620,7 +3464,7 @@ public class TextMarkerParser extends Pa
                 case 1 :
                     // D:\\work\\workspace-uima3\\uimaj-ep-textmarker-engine\\src\\main\\java\\org\\apache\\uima\\textmarker\\parser\\TextMarkerParser.g:614:7: q= quantifierPart
                     {
-                    pushFollow(FOLLOW_quantifierPart_in_ruleElementLiteral2302);
+                    pushFollow(FOLLOW_quantifierPart_in_ruleElementLiteral2194);
                     q=quantifierPart();
 
                     state._fsp--;
@@ -3643,7 +3487,7 @@ public class TextMarkerParser extends Pa
                 case 1 :
                     // D:\\work\\workspace-uima3\\uimaj-ep-textmarker-engine\\src\\main\\java\\org\\apache\\uima\\textmarker\\parser\\TextMarkerParser.g:615:10: LCURLY (c= conditions )? ( THEN a= actions )? RCURLY
                     {
-                    match(input,LCURLY,FOLLOW_LCURLY_in_ruleElementLiteral2315); if (state.failed) return re;
+                    match(input,LCURLY,FOLLOW_LCURLY_in_ruleElementLiteral2207); if (state.failed) return re;
 
                     // D:\\work\\workspace-uima3\\uimaj-ep-textmarker-engine\\src\\main\\java\\org\\apache\\uima\\textmarker\\parser\\TextMarkerParser.g:615:19: (c= conditions )?
                     int alt51=2;
@@ -3656,7 +3500,7 @@ public class TextMarkerParser extends Pa
                         case 1 :
                             // D:\\work\\workspace-uima3\\uimaj-ep-textmarker-engine\\src\\main\\java\\org\\apache\\uima\\textmarker\\parser\\TextMarkerParser.g:615:19: c= conditions
                             {
-                            pushFollow(FOLLOW_conditions_in_ruleElementLiteral2321);
+                            pushFollow(FOLLOW_conditions_in_ruleElementLiteral2213);
                             c=conditions();
 
                             state._fsp--;
@@ -3679,9 +3523,9 @@ public class TextMarkerParser extends Pa
                         case 1 :
                             // D:\\work\\workspace-uima3\\uimaj-ep-textmarker-engine\\src\\main\\java\\org\\apache\\uima\\textmarker\\parser\\TextMarkerParser.g:615:34: THEN a= actions
                             {
-                            match(input,THEN,FOLLOW_THEN_in_ruleElementLiteral2325); if (state.failed) return re;
+                            match(input,THEN,FOLLOW_THEN_in_ruleElementLiteral2217); if (state.failed) return re;
 
-                            pushFollow(FOLLOW_actions_in_ruleElementLiteral2331);
+                            pushFollow(FOLLOW_actions_in_ruleElementLiteral2223);
                             a=actions();
 
                             state._fsp--;
@@ -3693,7 +3537,7 @@ public class TextMarkerParser extends Pa
                     }
 
 
-                    match(input,RCURLY,FOLLOW_RCURLY_in_ruleElementLiteral2335); if (state.failed) return re;
+                    match(input,RCURLY,FOLLOW_RCURLY_in_ruleElementLiteral2227); if (state.failed) return re;
 
                     }
                     break;
@@ -3746,7 +3590,7 @@ public class TextMarkerParser extends Pa
             // D:\\work\\workspace-uima3\\uimaj-ep-textmarker-engine\\src\\main\\java\\org\\apache\\uima\\textmarker\\parser\\TextMarkerParser.g:630:5: (c= condition ( COMMA c= condition )* )
             // D:\\work\\workspace-uima3\\uimaj-ep-textmarker-engine\\src\\main\\java\\org\\apache\\uima\\textmarker\\parser\\TextMarkerParser.g:631:5: c= condition ( COMMA c= condition )*
             {
-            pushFollow(FOLLOW_condition_in_conditions2373);
+            pushFollow(FOLLOW_condition_in_conditions2265);
             c=condition();
 
             state._fsp--;
@@ -3769,9 +3613,9 @@ public class TextMarkerParser extends Pa
             	case 1 :
             	    // D:\\work\\workspace-uima3\\uimaj-ep-textmarker-engine\\src\\main\\java\\org\\apache\\uima\\textmarker\\parser\\TextMarkerParser.g:631:36: COMMA c= condition
             	    {
-            	    match(input,COMMA,FOLLOW_COMMA_in_conditions2378); if (state.failed) return conds;
+            	    match(input,COMMA,FOLLOW_COMMA_in_conditions2270); if (state.failed) return conds;
 
-            	    pushFollow(FOLLOW_condition_in_conditions2384);
+            	    pushFollow(FOLLOW_condition_in_conditions2276);
             	    c=condition();
 
             	    state._fsp--;
@@ -3821,7 +3665,7 @@ public class TextMarkerParser extends Pa
             // D:\\work\\workspace-uima3\\uimaj-ep-textmarker-engine\\src\\main\\java\\org\\apache\\uima\\textmarker\\parser\\TextMarkerParser.g:635:5: (a= action ( COMMA a= action )* )
             // D:\\work\\workspace-uima3\\uimaj-ep-textmarker-engine\\src\\main\\java\\org\\apache\\uima\\textmarker\\parser\\TextMarkerParser.g:636:5: a= action ( COMMA a= action )*
             {
-            pushFollow(FOLLOW_action_in_actions2422);
+            pushFollow(FOLLOW_action_in_actions2314);
             a=action();
 
             state._fsp--;
@@ -3844,9 +3688,9 @@ public class TextMarkerParser extends Pa
             	case 1 :
             	    // D:\\work\\workspace-uima3\\uimaj-ep-textmarker-engine\\src\\main\\java\\org\\apache\\uima\\textmarker\\parser\\TextMarkerParser.g:636:35: COMMA a= action
             	    {
-            	    match(input,COMMA,FOLLOW_COMMA_in_actions2427); if (state.failed) return actions;
+            	    match(input,COMMA,FOLLOW_COMMA_in_actions2319); if (state.failed) return actions;
 
-            	    pushFollow(FOLLOW_action_in_actions2433);
+            	    pushFollow(FOLLOW_action_in_actions2325);
             	    a=action();
 
             	    state._fsp--;
@@ -3977,7 +3821,7 @@ public class TextMarkerParser extends Pa
                 case 1 :
                     // D:\\work\\workspace-uima3\\uimaj-ep-textmarker-engine\\src\\main\\java\\org\\apache\\uima\\textmarker\\parser\\TextMarkerParser.g:642:2: ( booleanListExpression )=>bl= booleanListExpression
                     {
-                    pushFollow(FOLLOW_booleanListExpression_in_listExpression2469);
+                    pushFollow(FOLLOW_booleanListExpression_in_listExpression2361);
                     bl=booleanListExpression();
 
                     state._fsp--;
@@ -3990,7 +3834,7 @@ public class TextMarkerParser extends Pa
                 case 2 :
                     // D:\\work\\workspace-uima3\\uimaj-ep-textmarker-engine\\src\\main\\java\\org\\apache\\uima\\textmarker\\parser\\TextMarkerParser.g:643:4: ( intListExpression )=>il= intListExpression
                     {
-                    pushFollow(FOLLOW_intListExpression_in_listExpression2485);
+                    pushFollow(FOLLOW_intListExpression_in_listExpression2377);
                     il=intListExpression();
 
                     state._fsp--;
@@ -4003,7 +3847,7 @@ public class TextMarkerParser extends Pa
                 case 3 :
                     // D:\\work\\workspace-uima3\\uimaj-ep-textmarker-engine\\src\\main\\java\\org\\apache\\uima\\textmarker\\parser\\TextMarkerParser.g:644:4: ( doubleListExpression )=>dl= doubleListExpression
                     {
-                    pushFollow(FOLLOW_doubleListExpression_in_listExpression2501);
+                    pushFollow(FOLLOW_doubleListExpression_in_listExpression2393);
                     dl=doubleListExpression();
 
                     state._fsp--;
@@ -4016,7 +3860,7 @@ public class TextMarkerParser extends Pa
                 case 4 :
                     // D:\\work\\workspace-uima3\\uimaj-ep-textmarker-engine\\src\\main\\java\\org\\apache\\uima\\textmarker\\parser\\TextMarkerParser.g:645:4: ( floatListExpression )=>dl= floatListExpression
                     {
-                    pushFollow(FOLLOW_floatListExpression_in_listExpression2517);
+                    pushFollow(FOLLOW_floatListExpression_in_listExpression2409);
                     dl=floatListExpression();
 
                     state._fsp--;
@@ -4029,7 +3873,7 @@ public class TextMarkerParser extends Pa
                 case 5 :
                     // D:\\work\\workspace-uima3\\uimaj-ep-textmarker-engine\\src\\main\\java\\org\\apache\\uima\\textmarker\\parser\\TextMarkerParser.g:646:4: ( stringListExpression )=>sl= stringListExpression
                     {
-                    pushFollow(FOLLOW_stringListExpression_in_listExpression2533);
+                    pushFollow(FOLLOW_stringListExpression_in_listExpression2425);
                     sl=stringListExpression();
 
                     state._fsp--;
@@ -4042,7 +3886,7 @@ public class TextMarkerParser extends Pa
                 case 6 :
                     // D:\\work\\workspace-uima3\\uimaj-ep-textmarker-engine\\src\\main\\java\\org\\apache\\uima\\textmarker\\parser\\TextMarkerParser.g:647:4: ( typeListExpression )=>tl= typeListExpression
                     {
-                    pushFollow(FOLLOW_typeListExpression_in_listExpression2549);
+                    pushFollow(FOLLOW_typeListExpression_in_listExpression2441);
                     tl=typeListExpression();
 
                     state._fsp--;
@@ -4085,7 +3929,7 @@ public class TextMarkerParser extends Pa
             // D:\\work\\workspace-uima3\\uimaj-ep-textmarker-engine\\src\\main\\java\\org\\apache\\uima\\textmarker\\parser\\TextMarkerParser.g:651:2: (e= simpleBooleanListExpression )
             // D:\\work\\workspace-uima3\\uimaj-ep-textmarker-engine\\src\\main\\java\\org\\apache\\uima\\textmarker\\parser\\TextMarkerParser.g:652:2: e= simpleBooleanListExpression
             {
-            pushFollow(FOLLOW_simpleBooleanListExpression_in_booleanListExpression2571);
+            pushFollow(FOLLOW_simpleBooleanListExpression_in_booleanListExpression2463);
             e=simpleBooleanListExpression();
 
             state._fsp--;
@@ -4149,7 +3993,7 @@ public class TextMarkerParser extends Pa
                 case 1 :
                     // D:\\work\\workspace-uima3\\uimaj-ep-textmarker-engine\\src\\main\\java\\org\\apache\\uima\\textmarker\\parser\\TextMarkerParser.g:659:2: LCURLY (e= simpleBooleanExpression ( COMMA e= simpleBooleanExpression )* )? RCURLY
                     {
-                    match(input,LCURLY,FOLLOW_LCURLY_in_simpleBooleanListExpression2592); if (state.failed) return expr;
+                    match(input,LCURLY,FOLLOW_LCURLY_in_simpleBooleanListExpression2484); if (state.failed) return expr;
 
                     // D:\\work\\workspace-uima3\\uimaj-ep-textmarker-engine\\src\\main\\java\\org\\apache\\uima\\textmarker\\parser\\TextMarkerParser.g:659:9: (e= simpleBooleanExpression ( COMMA e= simpleBooleanExpression )* )?
                     int alt58=2;
@@ -4162,7 +4006,7 @@ public class TextMarkerParser extends Pa
                         case 1 :
                             // D:\\work\\workspace-uima3\\uimaj-ep-textmarker-engine\\src\\main\\java\\org\\apache\\uima\\textmarker\\parser\\TextMarkerParser.g:659:10: e= simpleBooleanExpression ( COMMA e= simpleBooleanExpression )*
                             {
-                            pushFollow(FOLLOW_simpleBooleanExpression_in_simpleBooleanListExpression2599);
+                            pushFollow(FOLLOW_simpleBooleanExpression_in_simpleBooleanListExpression2491);
                             e=simpleBooleanExpression();
 
                             state._fsp--;
@@ -4185,9 +4029,9 @@ public class TextMarkerParser extends Pa
                             	case 1 :
                             	    // D:\\work\\workspace-uima3\\uimaj-ep-textmarker-engine\\src\\main\\java\\org\\apache\\uima\\textmarker\\parser\\TextMarkerParser.g:659:54: COMMA e= simpleBooleanExpression
                             	    {
-                            	    match(input,COMMA,FOLLOW_COMMA_in_simpleBooleanListExpression2604); if (state.failed) return expr;
+                            	    match(input,COMMA,FOLLOW_COMMA_in_simpleBooleanListExpression2496); if (state.failed) return expr;
 
-                            	    pushFollow(FOLLOW_simpleBooleanExpression_in_simpleBooleanListExpression2610);
+                            	    pushFollow(FOLLOW_simpleBooleanExpression_in_simpleBooleanListExpression2502);
                             	    e=simpleBooleanExpression();
 
                             	    state._fsp--;
@@ -4210,7 +4054,7 @@ public class TextMarkerParser extends Pa
                     }
 
 
-                    match(input,RCURLY,FOLLOW_RCURLY_in_simpleBooleanListExpression2619); if (state.failed) return expr;
+                    match(input,RCURLY,FOLLOW_RCURLY_in_simpleBooleanListExpression2511); if (state.failed) return expr;
 
                     if ( state.backtracking==0 ) {expr = ExpressionFactory.createBooleanListExpression(list);}
 
@@ -4224,7 +4068,7 @@ public class TextMarkerParser extends Pa
                         throw new FailedPredicateException(input, "simpleBooleanListExpression", "isVariableOfType($blockDeclaration::env,input.LT(1).getText(), \"BOOLEANLIST\")");
                     }
 
-                    var=(Token)match(input,Identifier,FOLLOW_Identifier_in_simpleBooleanListExpression2634); if (state.failed) return expr;
+                    var=(Token)match(input,Identifier,FOLLOW_Identifier_in_simpleBooleanListExpression2526); if (state.failed) return expr;
 
                     if ( state.backtracking==0 ) {expr = ExpressionFactory.createReferenceBooleanListExpression(var);}
 
@@ -4263,7 +4107,7 @@ public class TextMarkerParser extends Pa
             // D:\\work\\workspace-uima3\\uimaj-ep-textmarker-engine\\src\\main\\java\\org\\apache\\uima\\textmarker\\parser\\TextMarkerParser.g:668:2: (e= simpleIntListExpression )
             // D:\\work\\workspace-uima3\\uimaj-ep-textmarker-engine\\src\\main\\java\\org\\apache\\uima\\textmarker\\parser\\TextMarkerParser.g:669:2: e= simpleIntListExpression
             {
-            pushFollow(FOLLOW_simpleIntListExpression_in_intListExpression2659);
+            pushFollow(FOLLOW_simpleIntListExpression_in_intListExpression2551);
             e=simpleIntListExpression();
 
             state._fsp--;
@@ -4327,7 +4171,7 @@ public class TextMarkerParser extends Pa
                 case 1 :
                     // D:\\work\\workspace-uima3\\uimaj-ep-textmarker-engine\\src\\main\\java\\org\\apache\\uima\\textmarker\\parser\\TextMarkerParser.g:676:2: LCURLY (e= simpleNumberExpression ( COMMA e= simpleNumberExpression )* )? RCURLY
                     {
-                    match(input,LCURLY,FOLLOW_LCURLY_in_simpleIntListExpression2680); if (state.failed) return expr;
+                    match(input,LCURLY,FOLLOW_LCURLY_in_simpleIntListExpression2572); if (state.failed) return expr;
 
                     // D:\\work\\workspace-uima3\\uimaj-ep-textmarker-engine\\src\\main\\java\\org\\apache\\uima\\textmarker\\parser\\TextMarkerParser.g:676:9: (e= simpleNumberExpression ( COMMA e= simpleNumberExpression )* )?
                     int alt61=2;
@@ -4340,7 +4184,7 @@ public class TextMarkerParser extends Pa
                         case 1 :
                             // D:\\work\\workspace-uima3\\uimaj-ep-textmarker-engine\\src\\main\\java\\org\\apache\\uima\\textmarker\\parser\\TextMarkerParser.g:676:10: e= simpleNumberExpression ( COMMA e= simpleNumberExpression )*
                             {
-                            pushFollow(FOLLOW_simpleNumberExpression_in_simpleIntListExpression2687);
+                            pushFollow(FOLLOW_simpleNumberExpression_in_simpleIntListExpression2579);
                             e=simpleNumberExpression();
 
                             state._fsp--;
@@ -4363,9 +4207,9 @@ public class TextMarkerParser extends Pa
                             	case 1 :
                             	    // D:\\work\\workspace-uima3\\uimaj-ep-textmarker-engine\\src\\main\\java\\org\\apache\\uima\\textmarker\\parser\\TextMarkerParser.g:676:53: COMMA e= simpleNumberExpression
                             	    {
-                            	    match(input,COMMA,FOLLOW_COMMA_in_simpleIntListExpression2692); if (state.failed) return expr;
+                            	    match(input,COMMA,FOLLOW_COMMA_in_simpleIntListExpression2584); if (state.failed) return expr;
 
-                            	    pushFollow(FOLLOW_simpleNumberExpression_in_simpleIntListExpression2698);
+                            	    pushFollow(FOLLOW_simpleNumberExpression_in_simpleIntListExpression2590);
                             	    e=simpleNumberExpression();
 
                             	    state._fsp--;
@@ -4388,7 +4232,7 @@ public class TextMarkerParser extends Pa
                     }
 
 
-                    match(input,RCURLY,FOLLOW_RCURLY_in_simpleIntListExpression2707); if (state.failed) return expr;
+                    match(input,RCURLY,FOLLOW_RCURLY_in_simpleIntListExpression2599); if (state.failed) return expr;
 
                     if ( state.backtracking==0 ) {expr = ExpressionFactory.createNumberListExpression(list);}
 
@@ -4402,7 +4246,7 @@ public class TextMarkerParser extends Pa
                         throw new FailedPredicateException(input, "simpleIntListExpression", "isVariableOfType($blockDeclaration::env,input.LT(1).getText(), \"INTLIST\")");
                     }
 
-                    var=(Token)match(input,Identifier,FOLLOW_Identifier_in_simpleIntListExpression2722); if (state.failed) return expr;
+                    var=(Token)match(input,Identifier,FOLLOW_Identifier_in_simpleIntListExpression2614); if (state.failed) return expr;
 
                     if ( state.backtracking==0 ) {expr = ExpressionFactory.createReferenceIntListExpression(var);}
 
@@ -4498,7 +4342,7 @@ public class TextMarkerParser extends Pa
                 case 1 :
                     // D:\\work\\workspace-uima3\\uimaj-ep-textmarker-engine\\src\\main\\java\\org\\apache\\uima\\textmarker\\parser\\TextMarkerParser.g:686:2: (e1= doubleListExpression )=>e1= doubleListExpression
                     {
-                    pushFollow(FOLLOW_doubleListExpression_in_numberListExpression2756);
+                    pushFollow(FOLLOW_doubleListExpression_in_numberListExpression2648);
                     e1=doubleListExpression();
 
                     state._fsp--;
@@ -4511,7 +4355,7 @@ public class TextMarkerParser extends Pa
                 case 2 :
                     // D:\\work\\workspace-uima3\\uimaj-ep-textmarker-engine\\src\\main\\java\\org\\apache\\uima\\textmarker\\parser\\TextMarkerParser.g:688:2: (e1= floatListExpression )=>e1= floatListExpression
                     {
-                    pushFollow(FOLLOW_floatListExpression_in_numberListExpression2777);
+                    pushFollow(FOLLOW_floatListExpression_in_numberListExpression2669);
                     e1=floatListExpression();
 
                     state._fsp--;
@@ -4524,7 +4368,7 @@ public class TextMarkerParser extends Pa
                 case 3 :
                     // D:\\work\\workspace-uima3\\uimaj-ep-textmarker-engine\\src\\main\\java\\org\\apache\\uima\\textmarker\\parser\\TextMarkerParser.g:690:2: e2= intListExpression
                     {
-                    pushFollow(FOLLOW_intListExpression_in_numberListExpression2789);
+                    pushFollow(FOLLOW_intListExpression_in_numberListExpression2681);
                     e2=intListExpression();
 
                     state._fsp--;
@@ -4567,7 +4411,7 @@ public class TextMarkerParser extends Pa
             // D:\\work\\workspace-uima3\\uimaj-ep-textmarker-engine\\src\\main\\java\\org\\apache\\uima\\textmarker\\parser\\TextMarkerParser.g:694:2: (e= simpleDoubleListExpression )
             // D:\\work\\workspace-uima3\\uimaj-ep-textmarker-engine\\src\\main\\java\\org\\apache\\uima\\textmarker\\parser\\TextMarkerParser.g:695:2: e= simpleDoubleListExpression
             {
-            pushFollow(FOLLOW_simpleDoubleListExpression_in_doubleListExpression2812);
+            pushFollow(FOLLOW_simpleDoubleListExpression_in_doubleListExpression2704);
             e=simpleDoubleListExpression();
 
             state._fsp--;
@@ -4631,7 +4475,7 @@ public class TextMarkerParser extends Pa
                 case 1 :
                     // D:\\work\\workspace-uima3\\uimaj-ep-textmarker-engine\\src\\main\\java\\org\\apache\\uima\\textmarker\\parser\\TextMarkerParser.g:702:2: LCURLY (e= simpleNumberExpression ( COMMA e= simpleNumberExpression )* )? RCURLY
                     {
-                    match(input,LCURLY,FOLLOW_LCURLY_in_simpleDoubleListExpression2833); if (state.failed) return expr;
+                    match(input,LCURLY,FOLLOW_LCURLY_in_simpleDoubleListExpression2725); if (state.failed) return expr;
 
                     // D:\\work\\workspace-uima3\\uimaj-ep-textmarker-engine\\src\\main\\java\\org\\apache\\uima\\textmarker\\parser\\TextMarkerParser.g:702:9: (e= simpleNumberExpression ( COMMA e= simpleNumberExpression )* )?
                     int alt65=2;
@@ -4644,7 +4488,7 @@ public class TextMarkerParser extends Pa
                         case 1 :

[... 7500 lines stripped ...]