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/12 13:36:09 UTC

svn commit: r1230504 [2/3] - in /uima/sandbox/trunk/TextMarker: uimaj-ep-textmarker-engine/src/main/java/org/apache/uima/textmarker/ uimaj-ep-textmarker-engine/src/main/java/org/apache/uima/textmarker/action/ uimaj-ep-textmarker-engine/src/main/java/or...

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=1230504&r1=1230503&r2=1230504&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 Thu Jan 12 12:36:08 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-10 14:15:15
+// $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:31:15
 
 /*
  * Licensed to the Apache Software Foundation (ASF) under one
@@ -41,17 +41,18 @@ import org.antlr.runtime.RecognizerShare
 import org.antlr.runtime.Token;
 import org.antlr.runtime.TokenStream;
 import org.apache.uima.resource.metadata.TypeSystemDescription;
+
+import org.apache.uima.textmarker.action.AbstractTextMarkerAction;
+import org.apache.uima.textmarker.action.ActionFactory;
+import org.apache.uima.textmarker.condition.AbstractTextMarkerCondition;
+import org.apache.uima.textmarker.condition.ConditionFactory;
 import org.apache.uima.textmarker.TextMarkerAutomataBlock;
-import org.apache.uima.textmarker.TextMarkerAutomataFactory;
 import org.apache.uima.textmarker.TextMarkerBlock;
 import org.apache.uima.textmarker.TextMarkerModule;
 import org.apache.uima.textmarker.TextMarkerScriptBlock;
 import org.apache.uima.textmarker.TextMarkerScriptFactory;
+import org.apache.uima.textmarker.TextMarkerAutomataFactory;
 import org.apache.uima.textmarker.TextMarkerStatement;
-import org.apache.uima.textmarker.action.AbstractTextMarkerAction;
-import org.apache.uima.textmarker.action.ActionFactory;
-import org.apache.uima.textmarker.condition.AbstractTextMarkerCondition;
-import org.apache.uima.textmarker.condition.ConditionFactory;
 import org.apache.uima.textmarker.expression.ExpressionFactory;
 import org.apache.uima.textmarker.expression.TextMarkerExpression;
 import org.apache.uima.textmarker.expression.bool.BooleanExpression;
@@ -75,6 +76,14 @@ import org.apache.uima.textmarker.rule.T
 import org.apache.uima.textmarker.rule.TextMarkerRuleElement;
 import org.apache.uima.textmarker.rule.quantifier.RuleElementQuantifier;
 
+
+import org.antlr.runtime.*;
+import java.util.Stack;
+import java.util.List;
+import java.util.ArrayList;
+import java.util.Map;
+import java.util.HashMap;
+
 @SuppressWarnings({"all", "warnings", "unchecked"})
 public class TextMarkerParser extends Parser {
     public static final String[] tokenNames = new String[] {
@@ -2702,7 +2711,7 @@ public class TextMarkerParser extends Pa
             int alt33=2;
             int LA33_0 = input.LA(1);
 
-            if ( (LA33_0==AFTER||LA33_0==AND||LA33_0==BEFORE||(LA33_0 >= CONTAINS && LA33_0 <= CONTEXTCOUNT)||LA33_0==COUNT||LA33_0==CURRENTCOUNT||LA33_0==ENDSWITH||LA33_0==FEATURE||(LA33_0 >= IF && LA33_0 <= INLIST)||(LA33_0 >= IS && LA33_0 <= Identifier)||LA33_0==LAST||(LA33_0 >= MINUS && LA33_0 <= NOT)||LA33_0==OR||(LA33_0 >= PARSE && LA33_0 <= PARTOFNEQ)||LA33_0==POSITION||LA33_0==REGEXP||LA33_0==SCORE||LA33_0==SIZE||LA33_0==STARTSWITH||LA33_0==TOTALCOUNT||LA33_0==VOTE) ) {
+            if ( (LA33_0==AFTER||LA33_0==AND||LA33_0==BEFORE||(LA33_0 >= CONTAINS && LA33_0 <= CONTEXTCOUNT)||LA33_0==COUNT||LA33_0==CURRENTCOUNT||LA33_0==ENDSWITH||LA33_0==FEATURE||(LA33_0 >= IF && LA33_0 <= INLIST)||LA33_0==IS||LA33_0==Identifier||LA33_0==LAST||(LA33_0 >= MINUS && LA33_0 <= NOT)||LA33_0==OR||(LA33_0 >= PARSE && LA33_0 <= PARTOFNEQ)||LA33_0==POSITION||LA33_0==REGEXP||LA33_0==SCORE||LA33_0==SIZE||LA33_0==STARTSWITH||LA33_0==TOTALCOUNT||LA33_0==VOTE) ) {
                 alt33=1;
             }
             switch (alt33) {
@@ -3166,7 +3175,7 @@ public class TextMarkerParser extends Pa
                     int alt39=2;
                     int LA39_0 = input.LA(1);
 
-                    if ( (LA39_0==AFTER||LA39_0==AND||LA39_0==BEFORE||(LA39_0 >= CONTAINS && LA39_0 <= CONTEXTCOUNT)||LA39_0==COUNT||LA39_0==CURRENTCOUNT||LA39_0==ENDSWITH||LA39_0==FEATURE||(LA39_0 >= IF && LA39_0 <= INLIST)||(LA39_0 >= IS && LA39_0 <= Identifier)||LA39_0==LAST||(LA39_0 >= MINUS && LA39_0 <= NOT)||LA39_0==OR||(LA39_0 >= PARSE && LA39_0 <= PARTOFNEQ)||LA39_0==POSITION||LA39_0==REGEXP||LA39_0==SCORE||LA39_0==SIZE||LA39_0==STARTSWITH||LA39_0==TOTALCOUNT||LA39_0==VOTE) ) {
+                    if ( (LA39_0==AFTER||LA39_0==AND||LA39_0==BEFORE||(LA39_0 >= CONTAINS && LA39_0 <= CONTEXTCOUNT)||LA39_0==COUNT||LA39_0==CURRENTCOUNT||LA39_0==ENDSWITH||LA39_0==FEATURE||(LA39_0 >= IF && LA39_0 <= INLIST)||LA39_0==IS||LA39_0==Identifier||LA39_0==LAST||(LA39_0 >= MINUS && LA39_0 <= NOT)||LA39_0==OR||(LA39_0 >= PARSE && LA39_0 <= PARTOFNEQ)||LA39_0==POSITION||LA39_0==REGEXP||LA39_0==SCORE||LA39_0==SIZE||LA39_0==STARTSWITH||LA39_0==TOTALCOUNT||LA39_0==VOTE) ) {
                         alt39=1;
                     }
                     switch (alt39) {
@@ -3339,7 +3348,7 @@ public class TextMarkerParser extends Pa
                     int alt43=2;
                     int LA43_0 = input.LA(1);
 
-                    if ( (LA43_0==AFTER||LA43_0==AND||LA43_0==BEFORE||(LA43_0 >= CONTAINS && LA43_0 <= CONTEXTCOUNT)||LA43_0==COUNT||LA43_0==CURRENTCOUNT||LA43_0==ENDSWITH||LA43_0==FEATURE||(LA43_0 >= IF && LA43_0 <= INLIST)||(LA43_0 >= IS && LA43_0 <= Identifier)||LA43_0==LAST||(LA43_0 >= MINUS && LA43_0 <= NOT)||LA43_0==OR||(LA43_0 >= PARSE && LA43_0 <= PARTOFNEQ)||LA43_0==POSITION||LA43_0==REGEXP||LA43_0==SCORE||LA43_0==SIZE||LA43_0==STARTSWITH||LA43_0==TOTALCOUNT||LA43_0==VOTE) ) {
+                    if ( (LA43_0==AFTER||LA43_0==AND||LA43_0==BEFORE||(LA43_0 >= CONTAINS && LA43_0 <= CONTEXTCOUNT)||LA43_0==COUNT||LA43_0==CURRENTCOUNT||LA43_0==ENDSWITH||LA43_0==FEATURE||(LA43_0 >= IF && LA43_0 <= INLIST)||LA43_0==IS||LA43_0==Identifier||LA43_0==LAST||(LA43_0 >= MINUS && LA43_0 <= NOT)||LA43_0==OR||(LA43_0 >= PARSE && LA43_0 <= PARTOFNEQ)||LA43_0==POSITION||LA43_0==REGEXP||LA43_0==SCORE||LA43_0==SIZE||LA43_0==STARTSWITH||LA43_0==TOTALCOUNT||LA43_0==VOTE) ) {
                         alt43=1;
                     }
                     switch (alt43) {
@@ -3492,7 +3501,7 @@ public class TextMarkerParser extends Pa
                     int alt47=2;
                     int LA47_0 = input.LA(1);
 
-                    if ( (LA47_0==AFTER||LA47_0==AND||LA47_0==BEFORE||(LA47_0 >= CONTAINS && LA47_0 <= CONTEXTCOUNT)||LA47_0==COUNT||LA47_0==CURRENTCOUNT||LA47_0==ENDSWITH||LA47_0==FEATURE||(LA47_0 >= IF && LA47_0 <= INLIST)||(LA47_0 >= IS && LA47_0 <= Identifier)||LA47_0==LAST||(LA47_0 >= MINUS && LA47_0 <= NOT)||LA47_0==OR||(LA47_0 >= PARSE && LA47_0 <= PARTOFNEQ)||LA47_0==POSITION||LA47_0==REGEXP||LA47_0==SCORE||LA47_0==SIZE||LA47_0==STARTSWITH||LA47_0==TOTALCOUNT||LA47_0==VOTE) ) {
+                    if ( (LA47_0==AFTER||LA47_0==AND||LA47_0==BEFORE||(LA47_0 >= CONTAINS && LA47_0 <= CONTEXTCOUNT)||LA47_0==COUNT||LA47_0==CURRENTCOUNT||LA47_0==ENDSWITH||LA47_0==FEATURE||(LA47_0 >= IF && LA47_0 <= INLIST)||LA47_0==IS||LA47_0==Identifier||LA47_0==LAST||(LA47_0 >= MINUS && LA47_0 <= NOT)||LA47_0==OR||(LA47_0 >= PARSE && LA47_0 <= PARTOFNEQ)||LA47_0==POSITION||LA47_0==REGEXP||LA47_0==SCORE||LA47_0==SIZE||LA47_0==STARTSWITH||LA47_0==TOTALCOUNT||LA47_0==VOTE) ) {
                         alt47=1;
                     }
                     switch (alt47) {
@@ -3643,7 +3652,7 @@ public class TextMarkerParser extends Pa
                     int alt51=2;
                     int LA51_0 = input.LA(1);
 
-                    if ( (LA51_0==AFTER||LA51_0==AND||LA51_0==BEFORE||(LA51_0 >= CONTAINS && LA51_0 <= CONTEXTCOUNT)||LA51_0==COUNT||LA51_0==CURRENTCOUNT||LA51_0==ENDSWITH||LA51_0==FEATURE||(LA51_0 >= IF && LA51_0 <= INLIST)||(LA51_0 >= IS && LA51_0 <= Identifier)||LA51_0==LAST||(LA51_0 >= MINUS && LA51_0 <= NOT)||LA51_0==OR||(LA51_0 >= PARSE && LA51_0 <= PARTOFNEQ)||LA51_0==POSITION||LA51_0==REGEXP||LA51_0==SCORE||LA51_0==SIZE||LA51_0==STARTSWITH||LA51_0==TOTALCOUNT||LA51_0==VOTE) ) {
+                    if ( (LA51_0==AFTER||LA51_0==AND||LA51_0==BEFORE||(LA51_0 >= CONTAINS && LA51_0 <= CONTEXTCOUNT)||LA51_0==COUNT||LA51_0==CURRENTCOUNT||LA51_0==ENDSWITH||LA51_0==FEATURE||(LA51_0 >= IF && LA51_0 <= INLIST)||LA51_0==IS||LA51_0==Identifier||LA51_0==LAST||(LA51_0 >= MINUS && LA51_0 <= NOT)||LA51_0==OR||(LA51_0 >= PARSE && LA51_0 <= PARTOFNEQ)||LA51_0==POSITION||LA51_0==REGEXP||LA51_0==SCORE||LA51_0==SIZE||LA51_0==STARTSWITH||LA51_0==TOTALCOUNT||LA51_0==VOTE) ) {
                         alt51=1;
                     }
                     switch (alt51) {
@@ -5857,7 +5866,7 @@ public class TextMarkerParser extends Pa
 
 
     // $ANTLR start "condition"
-    // D:\\work\\workspace-uima3\\uimaj-ep-textmarker-engine\\src\\main\\java\\org\\apache\\uima\\textmarker\\parser\\TextMarkerParser.g:845:1: condition returns [AbstractTextMarkerCondition result = null] : (c= conditionAnd |c= conditionContains |c= conditionContextCount |c= conditionCount |c= conditionCurrentCount |c= conditionInList |c= conditionIsInTag |c= conditionLast |c= conditionMofN |c= conditionNear |c= conditionNot |c= conditionOr |c= conditionPartOf |c= conditionPosition |c= conditionRegExp |c= conditionScore |c= conditionTotalCount |c= conditionVote |c= conditionIf |c= conditionFeature |c= conditionParse |c= conditionIs |c= conditionBefore |c= conditionAfter |c= conditionStartsWith |c= conditionEndsWith |c= conditionPartOfNeq |c= conditionSize | (c= externalCondition )=>c= externalCondition |c= variableCondition ) ;
+    // D:\\work\\workspace-uima3\\uimaj-ep-textmarker-engine\\src\\main\\java\\org\\apache\\uima\\textmarker\\parser\\TextMarkerParser.g:845:1: condition returns [AbstractTextMarkerCondition result = null] : (c= conditionAnd |c= conditionContains |c= conditionContextCount |c= conditionCount |c= conditionCurrentCount |c= conditionInList |c= conditionLast |c= conditionMofN |c= conditionNear |c= conditionNot |c= conditionOr |c= conditionPartOf |c= conditionPosition |c= conditionRegExp |c= conditionScore |c= conditionTotalCount |c= conditionVote |c= conditionIf |c= conditionFeature |c= conditionParse |c= conditionIs |c= conditionBefore |c= conditionAfter |c= conditionStartsWith |c= conditionEndsWith |c= conditionPartOfNeq |c= conditionSize | (c= externalCondition )=>c= externalCondition |c= variableCondition ) ;
     public final AbstractTextMarkerCondition condition() throws RecognitionException {
         AbstractTextMarkerCondition result =  null;
 
@@ -5866,11 +5875,11 @@ public class TextMarkerParser extends Pa
 
 
         try {
-            // D:\\work\\workspace-uima3\\uimaj-ep-textmarker-engine\\src\\main\\java\\org\\apache\\uima\\textmarker\\parser\\TextMarkerParser.g:846:2: ( (c= conditionAnd |c= conditionContains |c= conditionContextCount |c= conditionCount |c= conditionCurrentCount |c= conditionInList |c= conditionIsInTag |c= conditionLast |c= conditionMofN |c= conditionNear |c= conditionNot |c= conditionOr |c= conditionPartOf |c= conditionPosition |c= conditionRegExp |c= conditionScore |c= conditionTotalCount |c= conditionVote |c= conditionIf |c= conditionFeature |c= conditionParse |c= conditionIs |c= conditionBefore |c= conditionAfter |c= conditionStartsWith |c= conditionEndsWith |c= conditionPartOfNeq |c= conditionSize | (c= externalCondition )=>c= externalCondition |c= variableCondition ) )
-            // D:\\work\\workspace-uima3\\uimaj-ep-textmarker-engine\\src\\main\\java\\org\\apache\\uima\\textmarker\\parser\\TextMarkerParser.g:847:2: (c= conditionAnd |c= conditionContains |c= conditionContextCount |c= conditionCount |c= conditionCurrentCount |c= conditionInList |c= conditionIsInTag |c= conditionLast |c= conditionMofN |c= conditionNear |c= conditionNot |c= conditionOr |c= conditionPartOf |c= conditionPosition |c= conditionRegExp |c= conditionScore |c= conditionTotalCount |c= conditionVote |c= conditionIf |c= conditionFeature |c= conditionParse |c= conditionIs |c= conditionBefore |c= conditionAfter |c= conditionStartsWith |c= conditionEndsWith |c= conditionPartOfNeq |c= conditionSize | (c= externalCondition )=>c= externalCondition |c= variableCondition )
+            // D:\\work\\workspace-uima3\\uimaj-ep-textmarker-engine\\src\\main\\java\\org\\apache\\uima\\textmarker\\parser\\TextMarkerParser.g:846:2: ( (c= conditionAnd |c= conditionContains |c= conditionContextCount |c= conditionCount |c= conditionCurrentCount |c= conditionInList |c= conditionLast |c= conditionMofN |c= conditionNear |c= conditionNot |c= conditionOr |c= conditionPartOf |c= conditionPosition |c= conditionRegExp |c= conditionScore |c= conditionTotalCount |c= conditionVote |c= conditionIf |c= conditionFeature |c= conditionParse |c= conditionIs |c= conditionBefore |c= conditionAfter |c= conditionStartsWith |c= conditionEndsWith |c= conditionPartOfNeq |c= conditionSize | (c= externalCondition )=>c= externalCondition |c= variableCondition ) )
+            // D:\\work\\workspace-uima3\\uimaj-ep-textmarker-engine\\src\\main\\java\\org\\apache\\uima\\textmarker\\parser\\TextMarkerParser.g:847:2: (c= conditionAnd |c= conditionContains |c= conditionContextCount |c= conditionCount |c= conditionCurrentCount |c= conditionInList |c= conditionLast |c= conditionMofN |c= conditionNear |c= conditionNot |c= conditionOr |c= conditionPartOf |c= conditionPosition |c= conditionRegExp |c= conditionScore |c= conditionTotalCount |c= conditionVote |c= conditionIf |c= conditionFeature |c= conditionParse |c= conditionIs |c= conditionBefore |c= conditionAfter |c= conditionStartsWith |c= conditionEndsWith |c= conditionPartOfNeq |c= conditionSize | (c= externalCondition )=>c= externalCondition |c= variableCondition )
             {
-            // D:\\work\\workspace-uima3\\uimaj-ep-textmarker-engine\\src\\main\\java\\org\\apache\\uima\\textmarker\\parser\\TextMarkerParser.g:847:2: (c= conditionAnd |c= conditionContains |c= conditionContextCount |c= conditionCount |c= conditionCurrentCount |c= conditionInList |c= conditionIsInTag |c= conditionLast |c= conditionMofN |c= conditionNear |c= conditionNot |c= conditionOr |c= conditionPartOf |c= conditionPosition |c= conditionRegExp |c= conditionScore |c= conditionTotalCount |c= conditionVote |c= conditionIf |c= conditionFeature |c= conditionParse |c= conditionIs |c= conditionBefore |c= conditionAfter |c= conditionStartsWith |c= conditionEndsWith |c= conditionPartOfNeq |c= conditionSize | (c= externalCondition )=>c= externalCondition |c= variableCondition )
-            int alt85=30;
+            // D:\\work\\workspace-uima3\\uimaj-ep-textmarker-engine\\src\\main\\java\\org\\apache\\uima\\textmarker\\parser\\TextMarkerParser.g:847:2: (c= conditionAnd |c= conditionContains |c= conditionContextCount |c= conditionCount |c= conditionCurrentCount |c= conditionInList |c= conditionLast |c= conditionMofN |c= conditionNear |c= conditionNot |c= conditionOr |c= conditionPartOf |c= conditionPosition |c= conditionRegExp |c= conditionScore |c= conditionTotalCount |c= conditionVote |c= conditionIf |c= conditionFeature |c= conditionParse |c= conditionIs |c= conditionBefore |c= conditionAfter |c= conditionStartsWith |c= conditionEndsWith |c= conditionPartOfNeq |c= conditionSize | (c= externalCondition )=>c= externalCondition |c= variableCondition )
+            int alt85=29;
             switch ( input.LA(1) ) {
             case AND:
                 {
@@ -5902,131 +5911,126 @@ public class TextMarkerParser extends Pa
                 alt85=6;
                 }
                 break;
-            case ISINTAG:
-                {
-                alt85=7;
-                }
-                break;
             case LAST:
                 {
-                alt85=8;
+                alt85=7;
                 }
                 break;
             case MOFN:
                 {
-                alt85=9;
+                alt85=8;
                 }
                 break;
             case NEAR:
                 {
-                alt85=10;
+                alt85=9;
                 }
                 break;
             case MINUS:
             case NOT:
                 {
-                alt85=11;
+                alt85=10;
                 }
                 break;
             case OR:
                 {
-                alt85=12;
+                alt85=11;
                 }
                 break;
             case PARTOF:
                 {
-                alt85=13;
+                alt85=12;
                 }
                 break;
             case POSITION:
                 {
-                alt85=14;
+                alt85=13;
                 }
                 break;
             case REGEXP:
                 {
-                alt85=15;
+                alt85=14;
                 }
                 break;
             case SCORE:
                 {
-                alt85=16;
+                alt85=15;
                 }
                 break;
             case TOTALCOUNT:
                 {
-                alt85=17;
+                alt85=16;
                 }
                 break;
             case VOTE:
                 {
-                alt85=18;
+                alt85=17;
                 }
                 break;
             case IF:
                 {
-                alt85=19;
+                alt85=18;
                 }
                 break;
             case FEATURE:
                 {
-                alt85=20;
+                alt85=19;
                 }
                 break;
             case PARSE:
                 {
-                alt85=21;
+                alt85=20;
                 }
                 break;
             case IS:
                 {
-                alt85=22;
+                alt85=21;
                 }
                 break;
             case BEFORE:
                 {
-                alt85=23;
+                alt85=22;
                 }
                 break;
             case AFTER:
                 {
-                alt85=24;
+                alt85=23;
                 }
                 break;
             case STARTSWITH:
                 {
-                alt85=25;
+                alt85=24;
                 }
                 break;
             case ENDSWITH:
                 {
-                alt85=26;
+                alt85=25;
                 }
                 break;
             case PARTOFNEQ:
                 {
-                alt85=27;
+                alt85=26;
                 }
                 break;
             case SIZE:
                 {
-                alt85=28;
+                alt85=27;
                 }
                 break;
             case Identifier:
                 {
-                int LA85_29 = input.LA(2);
+                int LA85_28 = input.LA(2);
 
-                if ( (LA85_29==LPAREN) && (synpred17_TextMarkerParser())) {
-                    alt85=29;
+                if ( (LA85_28==LPAREN) && (synpred17_TextMarkerParser())) {
+                    alt85=28;
                 }
-                else if ( (LA85_29==COMMA||LA85_29==RCURLY||LA85_29==RPAREN||LA85_29==THEN) ) {
-                    alt85=30;
+                else if ( (LA85_28==COMMA||LA85_28==RCURLY||LA85_28==RPAREN||LA85_28==THEN) ) {
+                    alt85=29;
                 }
                 else {
                     if (state.backtracking>0) {state.failed=true; return result;}
                     NoViableAltException nvae =
-                        new NoViableAltException("", 85, 29, input);
+                        new NoViableAltException("", 85, 28, input);
 
                     throw nvae;
 
@@ -6110,20 +6114,9 @@ public class TextMarkerParser extends Pa
                     }
                     break;
                 case 7 :
-                    // D:\\work\\workspace-uima3\\uimaj-ep-textmarker-engine\\src\\main\\java\\org\\apache\\uima\\textmarker\\parser\\TextMarkerParser.g:854:4: c= conditionIsInTag
-                    {
-                    pushFollow(FOLLOW_conditionIsInTag_in_condition3548);
-                    c=conditionIsInTag();
-
-                    state._fsp--;
-                    if (state.failed) return result;
-
-                    }
-                    break;
-                case 8 :
-                    // D:\\work\\workspace-uima3\\uimaj-ep-textmarker-engine\\src\\main\\java\\org\\apache\\uima\\textmarker\\parser\\TextMarkerParser.g:855:4: c= conditionLast
+                    // D:\\work\\workspace-uima3\\uimaj-ep-textmarker-engine\\src\\main\\java\\org\\apache\\uima\\textmarker\\parser\\TextMarkerParser.g:854:4: c= conditionLast
                     {
-                    pushFollow(FOLLOW_conditionLast_in_condition3557);
+                    pushFollow(FOLLOW_conditionLast_in_condition3548);
                     c=conditionLast();
 
                     state._fsp--;
@@ -6131,10 +6124,10 @@ public class TextMarkerParser extends Pa
 
                     }
                     break;
-                case 9 :
-                    // D:\\work\\workspace-uima3\\uimaj-ep-textmarker-engine\\src\\main\\java\\org\\apache\\uima\\textmarker\\parser\\TextMarkerParser.g:856:4: c= conditionMofN
+                case 8 :
+                    // D:\\work\\workspace-uima3\\uimaj-ep-textmarker-engine\\src\\main\\java\\org\\apache\\uima\\textmarker\\parser\\TextMarkerParser.g:855:4: c= conditionMofN
                     {
-                    pushFollow(FOLLOW_conditionMofN_in_condition3566);
+                    pushFollow(FOLLOW_conditionMofN_in_condition3557);
                     c=conditionMofN();
 
                     state._fsp--;
@@ -6142,10 +6135,10 @@ public class TextMarkerParser extends Pa
 
                     }
                     break;
-                case 10 :
-                    // D:\\work\\workspace-uima3\\uimaj-ep-textmarker-engine\\src\\main\\java\\org\\apache\\uima\\textmarker\\parser\\TextMarkerParser.g:857:4: c= conditionNear
+                case 9 :
+                    // D:\\work\\workspace-uima3\\uimaj-ep-textmarker-engine\\src\\main\\java\\org\\apache\\uima\\textmarker\\parser\\TextMarkerParser.g:856:4: c= conditionNear
                     {
-                    pushFollow(FOLLOW_conditionNear_in_condition3575);
+                    pushFollow(FOLLOW_conditionNear_in_condition3566);
                     c=conditionNear();
 
                     state._fsp--;
@@ -6153,10 +6146,10 @@ public class TextMarkerParser extends Pa
 
                     }
                     break;
-                case 11 :
-                    // D:\\work\\workspace-uima3\\uimaj-ep-textmarker-engine\\src\\main\\java\\org\\apache\\uima\\textmarker\\parser\\TextMarkerParser.g:858:4: c= conditionNot
+                case 10 :
+                    // D:\\work\\workspace-uima3\\uimaj-ep-textmarker-engine\\src\\main\\java\\org\\apache\\uima\\textmarker\\parser\\TextMarkerParser.g:857:4: c= conditionNot
                     {
-                    pushFollow(FOLLOW_conditionNot_in_condition3584);
+                    pushFollow(FOLLOW_conditionNot_in_condition3575);
                     c=conditionNot();
 
                     state._fsp--;
@@ -6164,10 +6157,10 @@ public class TextMarkerParser extends Pa
 
                     }
                     break;
-                case 12 :
-                    // D:\\work\\workspace-uima3\\uimaj-ep-textmarker-engine\\src\\main\\java\\org\\apache\\uima\\textmarker\\parser\\TextMarkerParser.g:859:4: c= conditionOr
+                case 11 :
+                    // D:\\work\\workspace-uima3\\uimaj-ep-textmarker-engine\\src\\main\\java\\org\\apache\\uima\\textmarker\\parser\\TextMarkerParser.g:858:4: c= conditionOr
                     {
-                    pushFollow(FOLLOW_conditionOr_in_condition3593);
+                    pushFollow(FOLLOW_conditionOr_in_condition3584);
                     c=conditionOr();
 
                     state._fsp--;
@@ -6175,10 +6168,10 @@ public class TextMarkerParser extends Pa
 
                     }
                     break;
-                case 13 :
-                    // D:\\work\\workspace-uima3\\uimaj-ep-textmarker-engine\\src\\main\\java\\org\\apache\\uima\\textmarker\\parser\\TextMarkerParser.g:860:4: c= conditionPartOf
+                case 12 :
+                    // D:\\work\\workspace-uima3\\uimaj-ep-textmarker-engine\\src\\main\\java\\org\\apache\\uima\\textmarker\\parser\\TextMarkerParser.g:859:4: c= conditionPartOf
                     {
-                    pushFollow(FOLLOW_conditionPartOf_in_condition3602);
+                    pushFollow(FOLLOW_conditionPartOf_in_condition3593);
                     c=conditionPartOf();
 
                     state._fsp--;
@@ -6186,10 +6179,10 @@ public class TextMarkerParser extends Pa
 
                     }
                     break;
-                case 14 :
-                    // D:\\work\\workspace-uima3\\uimaj-ep-textmarker-engine\\src\\main\\java\\org\\apache\\uima\\textmarker\\parser\\TextMarkerParser.g:861:4: c= conditionPosition
+                case 13 :
+                    // D:\\work\\workspace-uima3\\uimaj-ep-textmarker-engine\\src\\main\\java\\org\\apache\\uima\\textmarker\\parser\\TextMarkerParser.g:860:4: c= conditionPosition
                     {
-                    pushFollow(FOLLOW_conditionPosition_in_condition3611);
+                    pushFollow(FOLLOW_conditionPosition_in_condition3602);
                     c=conditionPosition();
 
                     state._fsp--;
@@ -6197,10 +6190,10 @@ 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:862:4: c= conditionRegExp
+                case 14 :
+                    // D:\\work\\workspace-uima3\\uimaj-ep-textmarker-engine\\src\\main\\java\\org\\apache\\uima\\textmarker\\parser\\TextMarkerParser.g:861:4: c= conditionRegExp
                     {
-                    pushFollow(FOLLOW_conditionRegExp_in_condition3620);
+                    pushFollow(FOLLOW_conditionRegExp_in_condition3611);
                     c=conditionRegExp();
 
                     state._fsp--;
@@ -6208,10 +6201,10 @@ public class TextMarkerParser extends Pa
 
                     }
                     break;
-                case 16 :
-                    // D:\\work\\workspace-uima3\\uimaj-ep-textmarker-engine\\src\\main\\java\\org\\apache\\uima\\textmarker\\parser\\TextMarkerParser.g:863:4: c= conditionScore
+                case 15 :
+                    // D:\\work\\workspace-uima3\\uimaj-ep-textmarker-engine\\src\\main\\java\\org\\apache\\uima\\textmarker\\parser\\TextMarkerParser.g:862:4: c= conditionScore
                     {
-                    pushFollow(FOLLOW_conditionScore_in_condition3629);
+                    pushFollow(FOLLOW_conditionScore_in_condition3620);
                     c=conditionScore();
 
                     state._fsp--;
@@ -6219,10 +6212,10 @@ public class TextMarkerParser extends Pa
 
                     }
                     break;
-                case 17 :
-                    // D:\\work\\workspace-uima3\\uimaj-ep-textmarker-engine\\src\\main\\java\\org\\apache\\uima\\textmarker\\parser\\TextMarkerParser.g:864:4: c= conditionTotalCount
+                case 16 :
+                    // D:\\work\\workspace-uima3\\uimaj-ep-textmarker-engine\\src\\main\\java\\org\\apache\\uima\\textmarker\\parser\\TextMarkerParser.g:863:4: c= conditionTotalCount
                     {
-                    pushFollow(FOLLOW_conditionTotalCount_in_condition3638);
+                    pushFollow(FOLLOW_conditionTotalCount_in_condition3629);
                     c=conditionTotalCount();
 
                     state._fsp--;
@@ -6230,10 +6223,10 @@ public class TextMarkerParser extends Pa
 
                     }
                     break;
-                case 18 :
-                    // D:\\work\\workspace-uima3\\uimaj-ep-textmarker-engine\\src\\main\\java\\org\\apache\\uima\\textmarker\\parser\\TextMarkerParser.g:865:4: c= conditionVote
+                case 17 :
+                    // D:\\work\\workspace-uima3\\uimaj-ep-textmarker-engine\\src\\main\\java\\org\\apache\\uima\\textmarker\\parser\\TextMarkerParser.g:864:4: c= conditionVote
                     {
-                    pushFollow(FOLLOW_conditionVote_in_condition3647);
+                    pushFollow(FOLLOW_conditionVote_in_condition3638);
                     c=conditionVote();
 
                     state._fsp--;
@@ -6241,10 +6234,10 @@ public class TextMarkerParser extends Pa
 
                     }
                     break;
-                case 19 :
-                    // D:\\work\\workspace-uima3\\uimaj-ep-textmarker-engine\\src\\main\\java\\org\\apache\\uima\\textmarker\\parser\\TextMarkerParser.g:866:4: c= conditionIf
+                case 18 :
+                    // D:\\work\\workspace-uima3\\uimaj-ep-textmarker-engine\\src\\main\\java\\org\\apache\\uima\\textmarker\\parser\\TextMarkerParser.g:865:4: c= conditionIf
                     {
-                    pushFollow(FOLLOW_conditionIf_in_condition3656);
+                    pushFollow(FOLLOW_conditionIf_in_condition3647);
                     c=conditionIf();
 
                     state._fsp--;
@@ -6252,10 +6245,10 @@ public class TextMarkerParser extends Pa
 
                     }
                     break;
-                case 20 :
-                    // D:\\work\\workspace-uima3\\uimaj-ep-textmarker-engine\\src\\main\\java\\org\\apache\\uima\\textmarker\\parser\\TextMarkerParser.g:867:4: c= conditionFeature
+                case 19 :
+                    // D:\\work\\workspace-uima3\\uimaj-ep-textmarker-engine\\src\\main\\java\\org\\apache\\uima\\textmarker\\parser\\TextMarkerParser.g:866:4: c= conditionFeature
                     {
-                    pushFollow(FOLLOW_conditionFeature_in_condition3665);
+                    pushFollow(FOLLOW_conditionFeature_in_condition3656);
                     c=conditionFeature();
 
                     state._fsp--;
@@ -6263,10 +6256,10 @@ public class TextMarkerParser extends Pa
 
                     }
                     break;
-                case 21 :
-                    // D:\\work\\workspace-uima3\\uimaj-ep-textmarker-engine\\src\\main\\java\\org\\apache\\uima\\textmarker\\parser\\TextMarkerParser.g:868:4: c= conditionParse
+                case 20 :
+                    // D:\\work\\workspace-uima3\\uimaj-ep-textmarker-engine\\src\\main\\java\\org\\apache\\uima\\textmarker\\parser\\TextMarkerParser.g:867:4: c= conditionParse
                     {
-                    pushFollow(FOLLOW_conditionParse_in_condition3674);
+                    pushFollow(FOLLOW_conditionParse_in_condition3665);
                     c=conditionParse();
 
                     state._fsp--;
@@ -6274,10 +6267,10 @@ public class TextMarkerParser extends Pa
 
                     }
                     break;
-                case 22 :
-                    // D:\\work\\workspace-uima3\\uimaj-ep-textmarker-engine\\src\\main\\java\\org\\apache\\uima\\textmarker\\parser\\TextMarkerParser.g:869:4: c= conditionIs
+                case 21 :
+                    // D:\\work\\workspace-uima3\\uimaj-ep-textmarker-engine\\src\\main\\java\\org\\apache\\uima\\textmarker\\parser\\TextMarkerParser.g:868:4: c= conditionIs
                     {
-                    pushFollow(FOLLOW_conditionIs_in_condition3683);
+                    pushFollow(FOLLOW_conditionIs_in_condition3674);
                     c=conditionIs();
 
                     state._fsp--;
@@ -6285,10 +6278,10 @@ public class TextMarkerParser extends Pa
 
                     }
                     break;
-                case 23 :
-                    // D:\\work\\workspace-uima3\\uimaj-ep-textmarker-engine\\src\\main\\java\\org\\apache\\uima\\textmarker\\parser\\TextMarkerParser.g:870:4: c= conditionBefore
+                case 22 :
+                    // D:\\work\\workspace-uima3\\uimaj-ep-textmarker-engine\\src\\main\\java\\org\\apache\\uima\\textmarker\\parser\\TextMarkerParser.g:869:4: c= conditionBefore
                     {
-                    pushFollow(FOLLOW_conditionBefore_in_condition3692);
+                    pushFollow(FOLLOW_conditionBefore_in_condition3683);
                     c=conditionBefore();
 
                     state._fsp--;
@@ -6296,10 +6289,10 @@ public class TextMarkerParser extends Pa
 
                     }
                     break;
-                case 24 :
-                    // D:\\work\\workspace-uima3\\uimaj-ep-textmarker-engine\\src\\main\\java\\org\\apache\\uima\\textmarker\\parser\\TextMarkerParser.g:871:4: c= conditionAfter
+                case 23 :
+                    // D:\\work\\workspace-uima3\\uimaj-ep-textmarker-engine\\src\\main\\java\\org\\apache\\uima\\textmarker\\parser\\TextMarkerParser.g:870:4: c= conditionAfter
                     {
-                    pushFollow(FOLLOW_conditionAfter_in_condition3701);
+                    pushFollow(FOLLOW_conditionAfter_in_condition3692);
                     c=conditionAfter();
 
                     state._fsp--;
@@ -6307,10 +6300,10 @@ public class TextMarkerParser extends Pa
 
                     }
                     break;
-                case 25 :
-                    // D:\\work\\workspace-uima3\\uimaj-ep-textmarker-engine\\src\\main\\java\\org\\apache\\uima\\textmarker\\parser\\TextMarkerParser.g:872:4: c= conditionStartsWith
+                case 24 :
+                    // D:\\work\\workspace-uima3\\uimaj-ep-textmarker-engine\\src\\main\\java\\org\\apache\\uima\\textmarker\\parser\\TextMarkerParser.g:871:4: c= conditionStartsWith
                     {
-                    pushFollow(FOLLOW_conditionStartsWith_in_condition3711);
+                    pushFollow(FOLLOW_conditionStartsWith_in_condition3702);
                     c=conditionStartsWith();
 
                     state._fsp--;
@@ -6318,10 +6311,10 @@ public class TextMarkerParser extends Pa
 
                     }
                     break;
-                case 26 :
-                    // D:\\work\\workspace-uima3\\uimaj-ep-textmarker-engine\\src\\main\\java\\org\\apache\\uima\\textmarker\\parser\\TextMarkerParser.g:873:4: c= conditionEndsWith
+                case 25 :
+                    // D:\\work\\workspace-uima3\\uimaj-ep-textmarker-engine\\src\\main\\java\\org\\apache\\uima\\textmarker\\parser\\TextMarkerParser.g:872:4: c= conditionEndsWith
                     {
-                    pushFollow(FOLLOW_conditionEndsWith_in_condition3720);
+                    pushFollow(FOLLOW_conditionEndsWith_in_condition3711);
                     c=conditionEndsWith();
 
                     state._fsp--;
@@ -6329,10 +6322,10 @@ public class TextMarkerParser extends Pa
 
                     }
                     break;
-                case 27 :
-                    // D:\\work\\workspace-uima3\\uimaj-ep-textmarker-engine\\src\\main\\java\\org\\apache\\uima\\textmarker\\parser\\TextMarkerParser.g:874:4: c= conditionPartOfNeq
+                case 26 :
+                    // D:\\work\\workspace-uima3\\uimaj-ep-textmarker-engine\\src\\main\\java\\org\\apache\\uima\\textmarker\\parser\\TextMarkerParser.g:873:4: c= conditionPartOfNeq
                     {
-                    pushFollow(FOLLOW_conditionPartOfNeq_in_condition3729);
+                    pushFollow(FOLLOW_conditionPartOfNeq_in_condition3720);
                     c=conditionPartOfNeq();
 
                     state._fsp--;
@@ -6340,10 +6333,10 @@ public class TextMarkerParser extends Pa
 
                     }
                     break;
-                case 28 :
-                    // D:\\work\\workspace-uima3\\uimaj-ep-textmarker-engine\\src\\main\\java\\org\\apache\\uima\\textmarker\\parser\\TextMarkerParser.g:875:4: c= conditionSize
+                case 27 :
+                    // D:\\work\\workspace-uima3\\uimaj-ep-textmarker-engine\\src\\main\\java\\org\\apache\\uima\\textmarker\\parser\\TextMarkerParser.g:874:4: c= conditionSize
                     {
-                    pushFollow(FOLLOW_conditionSize_in_condition3738);
+                    pushFollow(FOLLOW_conditionSize_in_condition3729);
                     c=conditionSize();
 
                     state._fsp--;
@@ -6351,10 +6344,10 @@ public class TextMarkerParser extends Pa
 
                     }
                     break;
-                case 29 :
-                    // D:\\work\\workspace-uima3\\uimaj-ep-textmarker-engine\\src\\main\\java\\org\\apache\\uima\\textmarker\\parser\\TextMarkerParser.g:876:4: (c= externalCondition )=>c= externalCondition
+                case 28 :
+                    // D:\\work\\workspace-uima3\\uimaj-ep-textmarker-engine\\src\\main\\java\\org\\apache\\uima\\textmarker\\parser\\TextMarkerParser.g:875:4: (c= externalCondition )=>c= externalCondition
                     {
-                    pushFollow(FOLLOW_externalCondition_in_condition3757);
+                    pushFollow(FOLLOW_externalCondition_in_condition3748);
                     c=externalCondition();
 
                     state._fsp--;
@@ -6362,10 +6355,10 @@ public class TextMarkerParser extends Pa
 
                     }
                     break;
-                case 30 :
-                    // D:\\work\\workspace-uima3\\uimaj-ep-textmarker-engine\\src\\main\\java\\org\\apache\\uima\\textmarker\\parser\\TextMarkerParser.g:877:4: c= variableCondition
+                case 29 :
+                    // D:\\work\\workspace-uima3\\uimaj-ep-textmarker-engine\\src\\main\\java\\org\\apache\\uima\\textmarker\\parser\\TextMarkerParser.g:876:4: c= variableCondition
                     {
-                    pushFollow(FOLLOW_variableCondition_in_condition3766);
+                    pushFollow(FOLLOW_variableCondition_in_condition3757);
                     c=variableCondition();
 
                     state._fsp--;
@@ -6400,7 +6393,7 @@ public class TextMarkerParser extends Pa
 
 
     // $ANTLR start "variableCondition"
-    // D:\\work\\workspace-uima3\\uimaj-ep-textmarker-engine\\src\\main\\java\\org\\apache\\uima\\textmarker\\parser\\TextMarkerParser.g:882:1: variableCondition returns [AbstractTextMarkerCondition condition = null] : id= Identifier ;
+    // D:\\work\\workspace-uima3\\uimaj-ep-textmarker-engine\\src\\main\\java\\org\\apache\\uima\\textmarker\\parser\\TextMarkerParser.g:881:1: variableCondition returns [AbstractTextMarkerCondition condition = null] : id= Identifier ;
     public final AbstractTextMarkerCondition variableCondition() throws RecognitionException {
         AbstractTextMarkerCondition condition =  null;
 
@@ -6408,10 +6401,10 @@ public class TextMarkerParser extends Pa
         Token id=null;
 
         try {
-            // D:\\work\\workspace-uima3\\uimaj-ep-textmarker-engine\\src\\main\\java\\org\\apache\\uima\\textmarker\\parser\\TextMarkerParser.g:883:2: (id= Identifier )
-            // D:\\work\\workspace-uima3\\uimaj-ep-textmarker-engine\\src\\main\\java\\org\\apache\\uima\\textmarker\\parser\\TextMarkerParser.g:885:2: id= Identifier
+            // D:\\work\\workspace-uima3\\uimaj-ep-textmarker-engine\\src\\main\\java\\org\\apache\\uima\\textmarker\\parser\\TextMarkerParser.g:882:2: (id= Identifier )
+            // D:\\work\\workspace-uima3\\uimaj-ep-textmarker-engine\\src\\main\\java\\org\\apache\\uima\\textmarker\\parser\\TextMarkerParser.g:884:2: id= Identifier
             {
-            id=(Token)match(input,Identifier,FOLLOW_Identifier_in_variableCondition3796); if (state.failed) return condition;
+            id=(Token)match(input,Identifier,FOLLOW_Identifier_in_variableCondition3787); if (state.failed) return condition;
 
             if ( state.backtracking==0 ) {
             		condition = ConditionFactory.createConditionVariable(id);
@@ -6438,7 +6431,7 @@ public class TextMarkerParser extends Pa
 
 
     // $ANTLR start "externalCondition"
-    // D:\\work\\workspace-uima3\\uimaj-ep-textmarker-engine\\src\\main\\java\\org\\apache\\uima\\textmarker\\parser\\TextMarkerParser.g:891:1: externalCondition returns [AbstractTextMarkerCondition condition = null] : id= Identifier LPAREN args= varArgumentList RPAREN ;
+    // D:\\work\\workspace-uima3\\uimaj-ep-textmarker-engine\\src\\main\\java\\org\\apache\\uima\\textmarker\\parser\\TextMarkerParser.g:890:1: externalCondition returns [AbstractTextMarkerCondition condition = null] : id= Identifier LPAREN args= varArgumentList RPAREN ;
     public final AbstractTextMarkerCondition externalCondition() throws RecognitionException {
         AbstractTextMarkerCondition condition =  null;
 
@@ -6448,20 +6441,20 @@ public class TextMarkerParser extends Pa
 
 
         try {
-            // D:\\work\\workspace-uima3\\uimaj-ep-textmarker-engine\\src\\main\\java\\org\\apache\\uima\\textmarker\\parser\\TextMarkerParser.g:892:2: (id= Identifier LPAREN args= varArgumentList RPAREN )
-            // D:\\work\\workspace-uima3\\uimaj-ep-textmarker-engine\\src\\main\\java\\org\\apache\\uima\\textmarker\\parser\\TextMarkerParser.g:894:2: id= Identifier LPAREN args= varArgumentList RPAREN
+            // D:\\work\\workspace-uima3\\uimaj-ep-textmarker-engine\\src\\main\\java\\org\\apache\\uima\\textmarker\\parser\\TextMarkerParser.g:891:2: (id= Identifier LPAREN args= varArgumentList RPAREN )
+            // D:\\work\\workspace-uima3\\uimaj-ep-textmarker-engine\\src\\main\\java\\org\\apache\\uima\\textmarker\\parser\\TextMarkerParser.g:893:2: id= Identifier LPAREN args= varArgumentList RPAREN
             {
-            id=(Token)match(input,Identifier,FOLLOW_Identifier_in_externalCondition3823); if (state.failed) return condition;
+            id=(Token)match(input,Identifier,FOLLOW_Identifier_in_externalCondition3814); if (state.failed) return condition;
 
-            match(input,LPAREN,FOLLOW_LPAREN_in_externalCondition3825); if (state.failed) return condition;
+            match(input,LPAREN,FOLLOW_LPAREN_in_externalCondition3816); if (state.failed) return condition;
 
-            pushFollow(FOLLOW_varArgumentList_in_externalCondition3831);
+            pushFollow(FOLLOW_varArgumentList_in_externalCondition3822);
             args=varArgumentList();
 
             state._fsp--;
             if (state.failed) return condition;
 
-            match(input,RPAREN,FOLLOW_RPAREN_in_externalCondition3833); if (state.failed) return condition;
+            match(input,RPAREN,FOLLOW_RPAREN_in_externalCondition3824); if (state.failed) return condition;
 
             if ( state.backtracking==0 ) {
             		condition = external.createExternalCondition(id, args);
@@ -6488,7 +6481,7 @@ public class TextMarkerParser extends Pa
 
 
     // $ANTLR start "conditionAnd"
-    // D:\\work\\workspace-uima3\\uimaj-ep-textmarker-engine\\src\\main\\java\\org\\apache\\uima\\textmarker\\parser\\TextMarkerParser.g:900:1: conditionAnd returns [AbstractTextMarkerCondition cond = null] : AND LPAREN conds= conditions RPAREN ;
+    // D:\\work\\workspace-uima3\\uimaj-ep-textmarker-engine\\src\\main\\java\\org\\apache\\uima\\textmarker\\parser\\TextMarkerParser.g:899:1: conditionAnd returns [AbstractTextMarkerCondition cond = null] : AND LPAREN conds= conditions RPAREN ;
     public final AbstractTextMarkerCondition conditionAnd() throws RecognitionException {
         AbstractTextMarkerCondition cond =  null;
 
@@ -6497,20 +6490,20 @@ public class TextMarkerParser extends Pa
 
 
         try {
-            // D:\\work\\workspace-uima3\\uimaj-ep-textmarker-engine\\src\\main\\java\\org\\apache\\uima\\textmarker\\parser\\TextMarkerParser.g:901:5: ( AND LPAREN conds= conditions RPAREN )
-            // D:\\work\\workspace-uima3\\uimaj-ep-textmarker-engine\\src\\main\\java\\org\\apache\\uima\\textmarker\\parser\\TextMarkerParser.g:902:5: AND LPAREN conds= conditions RPAREN
+            // D:\\work\\workspace-uima3\\uimaj-ep-textmarker-engine\\src\\main\\java\\org\\apache\\uima\\textmarker\\parser\\TextMarkerParser.g:900:5: ( AND LPAREN conds= conditions RPAREN )
+            // D:\\work\\workspace-uima3\\uimaj-ep-textmarker-engine\\src\\main\\java\\org\\apache\\uima\\textmarker\\parser\\TextMarkerParser.g:901:5: AND LPAREN conds= conditions RPAREN
             {
-            match(input,AND,FOLLOW_AND_in_conditionAnd3862); if (state.failed) return cond;
+            match(input,AND,FOLLOW_AND_in_conditionAnd3853); if (state.failed) return cond;
 
-            match(input,LPAREN,FOLLOW_LPAREN_in_conditionAnd3864); if (state.failed) return cond;
+            match(input,LPAREN,FOLLOW_LPAREN_in_conditionAnd3855); if (state.failed) return cond;
 
-            pushFollow(FOLLOW_conditions_in_conditionAnd3870);
+            pushFollow(FOLLOW_conditions_in_conditionAnd3861);
             conds=conditions();
 
             state._fsp--;
             if (state.failed) return cond;
 
-            match(input,RPAREN,FOLLOW_RPAREN_in_conditionAnd3872); if (state.failed) return cond;
+            match(input,RPAREN,FOLLOW_RPAREN_in_conditionAnd3863); if (state.failed) return cond;
 
             if ( state.backtracking==0 ) {cond = ConditionFactory.createConditionAnd(conds, ((blockDeclaration_scope)blockDeclaration_stack.peek()).env);}
 
@@ -6535,7 +6528,7 @@ public class TextMarkerParser extends Pa
 
 
     // $ANTLR start "conditionContains"
-    // D:\\work\\workspace-uima3\\uimaj-ep-textmarker-engine\\src\\main\\java\\org\\apache\\uima\\textmarker\\parser\\TextMarkerParser.g:906:1: conditionContains returns [AbstractTextMarkerCondition cond = null] options {backtrack=true; } : CONTAINS LPAREN (type= typeExpression |list= listExpression COMMA a= argument ) ( COMMA min= numberExpression COMMA max= numberExpression ( COMMA percent= booleanExpression )? )? RPAREN ;
+    // D:\\work\\workspace-uima3\\uimaj-ep-textmarker-engine\\src\\main\\java\\org\\apache\\uima\\textmarker\\parser\\TextMarkerParser.g:905:1: conditionContains returns [AbstractTextMarkerCondition cond = null] options {backtrack=true; } : CONTAINS LPAREN (type= typeExpression |list= listExpression COMMA a= argument ) ( COMMA min= numberExpression COMMA max= numberExpression ( COMMA percent= booleanExpression )? )? RPAREN ;
     public final AbstractTextMarkerCondition conditionContains() throws RecognitionException {
         AbstractTextMarkerCondition cond =  null;
 
@@ -6554,14 +6547,14 @@ public class TextMarkerParser extends Pa
 
 
         try {
-            // D:\\work\\workspace-uima3\\uimaj-ep-textmarker-engine\\src\\main\\java\\org\\apache\\uima\\textmarker\\parser\\TextMarkerParser.g:910:5: ( CONTAINS LPAREN (type= typeExpression |list= listExpression COMMA a= argument ) ( COMMA min= numberExpression COMMA max= numberExpression ( COMMA percent= booleanExpression )? )? RPAREN )
-            // D:\\work\\workspace-uima3\\uimaj-ep-textmarker-engine\\src\\main\\java\\org\\apache\\uima\\textmarker\\parser\\TextMarkerParser.g:911:5: CONTAINS LPAREN (type= typeExpression |list= listExpression COMMA a= argument ) ( COMMA min= numberExpression COMMA max= numberExpression ( COMMA percent= booleanExpression )? )? RPAREN
+            // D:\\work\\workspace-uima3\\uimaj-ep-textmarker-engine\\src\\main\\java\\org\\apache\\uima\\textmarker\\parser\\TextMarkerParser.g:909:5: ( CONTAINS LPAREN (type= typeExpression |list= listExpression COMMA a= argument ) ( COMMA min= numberExpression COMMA max= numberExpression ( COMMA percent= booleanExpression )? )? RPAREN )
+            // D:\\work\\workspace-uima3\\uimaj-ep-textmarker-engine\\src\\main\\java\\org\\apache\\uima\\textmarker\\parser\\TextMarkerParser.g:910:5: CONTAINS LPAREN (type= typeExpression |list= listExpression COMMA a= argument ) ( COMMA min= numberExpression COMMA max= numberExpression ( COMMA percent= booleanExpression )? )? RPAREN
             {
-            match(input,CONTAINS,FOLLOW_CONTAINS_in_conditionContains3924); if (state.failed) return cond;
+            match(input,CONTAINS,FOLLOW_CONTAINS_in_conditionContains3915); if (state.failed) return cond;
 
-            match(input,LPAREN,FOLLOW_LPAREN_in_conditionContains3926); if (state.failed) return cond;
+            match(input,LPAREN,FOLLOW_LPAREN_in_conditionContains3917); if (state.failed) return cond;
 
-            // D:\\work\\workspace-uima3\\uimaj-ep-textmarker-engine\\src\\main\\java\\org\\apache\\uima\\textmarker\\parser\\TextMarkerParser.g:911:21: (type= typeExpression |list= listExpression COMMA a= argument )
+            // D:\\work\\workspace-uima3\\uimaj-ep-textmarker-engine\\src\\main\\java\\org\\apache\\uima\\textmarker\\parser\\TextMarkerParser.g:910:21: (type= typeExpression |list= listExpression COMMA a= argument )
             int alt86=2;
             switch ( input.LA(1) ) {
             case Identifier:
@@ -6605,9 +6598,9 @@ public class TextMarkerParser extends Pa
 
             switch (alt86) {
                 case 1 :
-                    // D:\\work\\workspace-uima3\\uimaj-ep-textmarker-engine\\src\\main\\java\\org\\apache\\uima\\textmarker\\parser\\TextMarkerParser.g:911:22: type= typeExpression
+                    // D:\\work\\workspace-uima3\\uimaj-ep-textmarker-engine\\src\\main\\java\\org\\apache\\uima\\textmarker\\parser\\TextMarkerParser.g:910:22: type= typeExpression
                     {
-                    pushFollow(FOLLOW_typeExpression_in_conditionContains3933);
+                    pushFollow(FOLLOW_typeExpression_in_conditionContains3924);
                     type=typeExpression();
 
                     state._fsp--;
@@ -6616,17 +6609,17 @@ public class TextMarkerParser extends Pa
                     }
                     break;
                 case 2 :
-                    // D:\\work\\workspace-uima3\\uimaj-ep-textmarker-engine\\src\\main\\java\\org\\apache\\uima\\textmarker\\parser\\TextMarkerParser.g:911:46: list= listExpression COMMA a= argument
+                    // D:\\work\\workspace-uima3\\uimaj-ep-textmarker-engine\\src\\main\\java\\org\\apache\\uima\\textmarker\\parser\\TextMarkerParser.g:910:46: list= listExpression COMMA a= argument
                     {
-                    pushFollow(FOLLOW_listExpression_in_conditionContains3941);
+                    pushFollow(FOLLOW_listExpression_in_conditionContains3932);
                     list=listExpression();
 
                     state._fsp--;
                     if (state.failed) return cond;
 
-                    match(input,COMMA,FOLLOW_COMMA_in_conditionContains3943); if (state.failed) return cond;
+                    match(input,COMMA,FOLLOW_COMMA_in_conditionContains3934); if (state.failed) return cond;
 
-                    pushFollow(FOLLOW_argument_in_conditionContains3949);
+                    pushFollow(FOLLOW_argument_in_conditionContains3940);
                     a=argument();
 
                     state._fsp--;
@@ -6638,7 +6631,7 @@ public class TextMarkerParser extends Pa
             }
 
 
-            // D:\\work\\workspace-uima3\\uimaj-ep-textmarker-engine\\src\\main\\java\\org\\apache\\uima\\textmarker\\parser\\TextMarkerParser.g:912:5: ( COMMA min= numberExpression COMMA max= numberExpression ( COMMA percent= booleanExpression )? )?
+            // D:\\work\\workspace-uima3\\uimaj-ep-textmarker-engine\\src\\main\\java\\org\\apache\\uima\\textmarker\\parser\\TextMarkerParser.g:911:5: ( COMMA min= numberExpression COMMA max= numberExpression ( COMMA percent= booleanExpression )? )?
             int alt88=2;
             int LA88_0 = input.LA(1);
 
@@ -6647,25 +6640,25 @@ public class TextMarkerParser extends Pa
             }
             switch (alt88) {
                 case 1 :
-                    // D:\\work\\workspace-uima3\\uimaj-ep-textmarker-engine\\src\\main\\java\\org\\apache\\uima\\textmarker\\parser\\TextMarkerParser.g:912:6: COMMA min= numberExpression COMMA max= numberExpression ( COMMA percent= booleanExpression )?
+                    // D:\\work\\workspace-uima3\\uimaj-ep-textmarker-engine\\src\\main\\java\\org\\apache\\uima\\textmarker\\parser\\TextMarkerParser.g:911:6: COMMA min= numberExpression COMMA max= numberExpression ( COMMA percent= booleanExpression )?
                     {
-                    match(input,COMMA,FOLLOW_COMMA_in_conditionContains3958); if (state.failed) return cond;
+                    match(input,COMMA,FOLLOW_COMMA_in_conditionContains3949); if (state.failed) return cond;
 
-                    pushFollow(FOLLOW_numberExpression_in_conditionContains3964);
+                    pushFollow(FOLLOW_numberExpression_in_conditionContains3955);
                     min=numberExpression();
 
                     state._fsp--;
                     if (state.failed) return cond;
 
-                    match(input,COMMA,FOLLOW_COMMA_in_conditionContains3966); if (state.failed) return cond;
+                    match(input,COMMA,FOLLOW_COMMA_in_conditionContains3957); if (state.failed) return cond;
 
-                    pushFollow(FOLLOW_numberExpression_in_conditionContains3972);
+                    pushFollow(FOLLOW_numberExpression_in_conditionContains3963);
                     max=numberExpression();
 
                     state._fsp--;
                     if (state.failed) return cond;
 
-                    // D:\\work\\workspace-uima3\\uimaj-ep-textmarker-engine\\src\\main\\java\\org\\apache\\uima\\textmarker\\parser\\TextMarkerParser.g:912:64: ( COMMA percent= booleanExpression )?
+                    // D:\\work\\workspace-uima3\\uimaj-ep-textmarker-engine\\src\\main\\java\\org\\apache\\uima\\textmarker\\parser\\TextMarkerParser.g:911:64: ( COMMA percent= booleanExpression )?
                     int alt87=2;
                     int LA87_0 = input.LA(1);
 
@@ -6674,11 +6667,11 @@ public class TextMarkerParser extends Pa
                     }
                     switch (alt87) {
                         case 1 :
-                            // D:\\work\\workspace-uima3\\uimaj-ep-textmarker-engine\\src\\main\\java\\org\\apache\\uima\\textmarker\\parser\\TextMarkerParser.g:912:65: COMMA percent= booleanExpression
+                            // D:\\work\\workspace-uima3\\uimaj-ep-textmarker-engine\\src\\main\\java\\org\\apache\\uima\\textmarker\\parser\\TextMarkerParser.g:911:65: COMMA percent= booleanExpression
                             {
-                            match(input,COMMA,FOLLOW_COMMA_in_conditionContains3975); if (state.failed) return cond;
+                            match(input,COMMA,FOLLOW_COMMA_in_conditionContains3966); if (state.failed) return cond;
 
-                            pushFollow(FOLLOW_booleanExpression_in_conditionContains3981);
+                            pushFollow(FOLLOW_booleanExpression_in_conditionContains3972);
                             percent=booleanExpression();
 
                             state._fsp--;
@@ -6696,7 +6689,7 @@ public class TextMarkerParser extends Pa
             }
 
 
-            match(input,RPAREN,FOLLOW_RPAREN_in_conditionContains3987); if (state.failed) return cond;
+            match(input,RPAREN,FOLLOW_RPAREN_in_conditionContains3978); if (state.failed) return cond;
 
             if ( state.backtracking==0 ) {if(type != null) {cond = ConditionFactory.createConditionContains(type, min, max, percent,((blockDeclaration_scope)blockDeclaration_stack.peek()).env);}
                 else {cond = ConditionFactory.createConditionContains(list,a, min, max, percent, ((blockDeclaration_scope)blockDeclaration_stack.peek()).env);};}
@@ -6722,7 +6715,7 @@ public class TextMarkerParser extends Pa
 
 
     // $ANTLR start "conditionContextCount"
-    // D:\\work\\workspace-uima3\\uimaj-ep-textmarker-engine\\src\\main\\java\\org\\apache\\uima\\textmarker\\parser\\TextMarkerParser.g:916:1: conditionContextCount returns [AbstractTextMarkerCondition cond = null] : CONTEXTCOUNT LPAREN type= typeExpression ( COMMA min= numberExpression COMMA max= numberExpression )? ( COMMA var= numberVariable )? RPAREN ;
+    // D:\\work\\workspace-uima3\\uimaj-ep-textmarker-engine\\src\\main\\java\\org\\apache\\uima\\textmarker\\parser\\TextMarkerParser.g:915:1: conditionContextCount returns [AbstractTextMarkerCondition cond = null] : CONTEXTCOUNT LPAREN type= typeExpression ( COMMA min= numberExpression COMMA max= numberExpression )? ( COMMA var= numberVariable )? RPAREN ;
     public final AbstractTextMarkerCondition conditionContextCount() throws RecognitionException {
         AbstractTextMarkerCondition cond =  null;
 
@@ -6737,20 +6730,20 @@ public class TextMarkerParser extends Pa
 
 
         try {
-            // D:\\work\\workspace-uima3\\uimaj-ep-textmarker-engine\\src\\main\\java\\org\\apache\\uima\\textmarker\\parser\\TextMarkerParser.g:917:5: ( CONTEXTCOUNT LPAREN type= typeExpression ( COMMA min= numberExpression COMMA max= numberExpression )? ( COMMA var= numberVariable )? RPAREN )
-            // D:\\work\\workspace-uima3\\uimaj-ep-textmarker-engine\\src\\main\\java\\org\\apache\\uima\\textmarker\\parser\\TextMarkerParser.g:918:5: CONTEXTCOUNT LPAREN type= typeExpression ( COMMA min= numberExpression COMMA max= numberExpression )? ( COMMA var= numberVariable )? RPAREN
+            // D:\\work\\workspace-uima3\\uimaj-ep-textmarker-engine\\src\\main\\java\\org\\apache\\uima\\textmarker\\parser\\TextMarkerParser.g:916:5: ( CONTEXTCOUNT LPAREN type= typeExpression ( COMMA min= numberExpression COMMA max= numberExpression )? ( COMMA var= numberVariable )? RPAREN )
+            // D:\\work\\workspace-uima3\\uimaj-ep-textmarker-engine\\src\\main\\java\\org\\apache\\uima\\textmarker\\parser\\TextMarkerParser.g:917:5: CONTEXTCOUNT LPAREN type= typeExpression ( COMMA min= numberExpression COMMA max= numberExpression )? ( COMMA var= numberVariable )? RPAREN
             {
-            match(input,CONTEXTCOUNT,FOLLOW_CONTEXTCOUNT_in_conditionContextCount4020); if (state.failed) return cond;
+            match(input,CONTEXTCOUNT,FOLLOW_CONTEXTCOUNT_in_conditionContextCount4011); if (state.failed) return cond;
 
-            match(input,LPAREN,FOLLOW_LPAREN_in_conditionContextCount4022); if (state.failed) return cond;
+            match(input,LPAREN,FOLLOW_LPAREN_in_conditionContextCount4013); if (state.failed) return cond;
 
-            pushFollow(FOLLOW_typeExpression_in_conditionContextCount4028);
+            pushFollow(FOLLOW_typeExpression_in_conditionContextCount4019);
             type=typeExpression();
 
             state._fsp--;
             if (state.failed) return cond;
 
-            // D:\\work\\workspace-uima3\\uimaj-ep-textmarker-engine\\src\\main\\java\\org\\apache\\uima\\textmarker\\parser\\TextMarkerParser.g:918:47: ( COMMA min= numberExpression COMMA max= numberExpression )?
+            // D:\\work\\workspace-uima3\\uimaj-ep-textmarker-engine\\src\\main\\java\\org\\apache\\uima\\textmarker\\parser\\TextMarkerParser.g:917:47: ( COMMA min= numberExpression COMMA max= numberExpression )?
             int alt89=2;
             int LA89_0 = input.LA(1);
 
@@ -6770,19 +6763,19 @@ public class TextMarkerParser extends Pa
             }
             switch (alt89) {
                 case 1 :
-                    // D:\\work\\workspace-uima3\\uimaj-ep-textmarker-engine\\src\\main\\java\\org\\apache\\uima\\textmarker\\parser\\TextMarkerParser.g:918:48: COMMA min= numberExpression COMMA max= numberExpression
+                    // D:\\work\\workspace-uima3\\uimaj-ep-textmarker-engine\\src\\main\\java\\org\\apache\\uima\\textmarker\\parser\\TextMarkerParser.g:917:48: COMMA min= numberExpression COMMA max= numberExpression
                     {
-                    match(input,COMMA,FOLLOW_COMMA_in_conditionContextCount4031); if (state.failed) return cond;
+                    match(input,COMMA,FOLLOW_COMMA_in_conditionContextCount4022); if (state.failed) return cond;
 
-                    pushFollow(FOLLOW_numberExpression_in_conditionContextCount4037);
+                    pushFollow(FOLLOW_numberExpression_in_conditionContextCount4028);
                     min=numberExpression();
 
                     state._fsp--;
                     if (state.failed) return cond;
 
-                    match(input,COMMA,FOLLOW_COMMA_in_conditionContextCount4039); if (state.failed) return cond;
+                    match(input,COMMA,FOLLOW_COMMA_in_conditionContextCount4030); if (state.failed) return cond;
 
-                    pushFollow(FOLLOW_numberExpression_in_conditionContextCount4045);
+                    pushFollow(FOLLOW_numberExpression_in_conditionContextCount4036);
                     max=numberExpression();
 
                     state._fsp--;
@@ -6794,7 +6787,7 @@ public class TextMarkerParser extends Pa
             }
 
 
-            // D:\\work\\workspace-uima3\\uimaj-ep-textmarker-engine\\src\\main\\java\\org\\apache\\uima\\textmarker\\parser\\TextMarkerParser.g:919:5: ( COMMA var= numberVariable )?
+            // D:\\work\\workspace-uima3\\uimaj-ep-textmarker-engine\\src\\main\\java\\org\\apache\\uima\\textmarker\\parser\\TextMarkerParser.g:918:5: ( COMMA var= numberVariable )?
             int alt90=2;
             int LA90_0 = input.LA(1);
 
@@ -6803,11 +6796,11 @@ public class TextMarkerParser extends Pa
             }
             switch (alt90) {
                 case 1 :
-                    // D:\\work\\workspace-uima3\\uimaj-ep-textmarker-engine\\src\\main\\java\\org\\apache\\uima\\textmarker\\parser\\TextMarkerParser.g:919:6: COMMA var= numberVariable
+                    // D:\\work\\workspace-uima3\\uimaj-ep-textmarker-engine\\src\\main\\java\\org\\apache\\uima\\textmarker\\parser\\TextMarkerParser.g:918:6: COMMA var= numberVariable
                     {
-                    match(input,COMMA,FOLLOW_COMMA_in_conditionContextCount4055); if (state.failed) return cond;
+                    match(input,COMMA,FOLLOW_COMMA_in_conditionContextCount4046); if (state.failed) return cond;
 
-                    pushFollow(FOLLOW_numberVariable_in_conditionContextCount4061);
+                    pushFollow(FOLLOW_numberVariable_in_conditionContextCount4052);
                     var=numberVariable();
 
                     state._fsp--;
@@ -6819,7 +6812,7 @@ public class TextMarkerParser extends Pa
             }
 
 
-            match(input,RPAREN,FOLLOW_RPAREN_in_conditionContextCount4065); if (state.failed) return cond;
+            match(input,RPAREN,FOLLOW_RPAREN_in_conditionContextCount4056); if (state.failed) return cond;
 
             if ( state.backtracking==0 ) {cond = ConditionFactory.createConditionContextCount(type, min, max, var, ((blockDeclaration_scope)blockDeclaration_stack.peek()).env);}
 
@@ -6844,7 +6837,7 @@ public class TextMarkerParser extends Pa
 
 
     // $ANTLR start "conditionCount"
-    // D:\\work\\workspace-uima3\\uimaj-ep-textmarker-engine\\src\\main\\java\\org\\apache\\uima\\textmarker\\parser\\TextMarkerParser.g:922:1: conditionCount returns [AbstractTextMarkerCondition cond = null] options {backtrack=true; } : ( COUNT LPAREN type= listExpression COMMA a= argument ( COMMA min= numberExpression COMMA max= numberExpression )? ( COMMA var= numberVariable )? RPAREN | COUNT LPAREN list= typeExpression ( COMMA min= numberExpression COMMA max= numberExpression )? ( COMMA var= numberVariable )? RPAREN );
+    // D:\\work\\workspace-uima3\\uimaj-ep-textmarker-engine\\src\\main\\java\\org\\apache\\uima\\textmarker\\parser\\TextMarkerParser.g:921:1: conditionCount returns [AbstractTextMarkerCondition cond = null] options {backtrack=true; } : ( COUNT LPAREN type= listExpression COMMA a= argument ( COMMA min= numberExpression COMMA max= numberExpression )? ( COMMA var= numberVariable )? RPAREN | COUNT LPAREN list= typeExpression ( COMMA min= numberExpression COMMA max= numberExpression )? ( COMMA var= numberVariable )? RPAREN );
     public final AbstractTextMarkerCondition conditionCount() throws RecognitionException {
         AbstractTextMarkerCondition cond =  null;
 
@@ -6863,7 +6856,7 @@ public class TextMarkerParser extends Pa
 
 
         try {
-            // D:\\work\\workspace-uima3\\uimaj-ep-textmarker-engine\\src\\main\\java\\org\\apache\\uima\\textmarker\\parser\\TextMarkerParser.g:926:5: ( COUNT LPAREN type= listExpression COMMA a= argument ( COMMA min= numberExpression COMMA max= numberExpression )? ( COMMA var= numberVariable )? RPAREN | COUNT LPAREN list= typeExpression ( COMMA min= numberExpression COMMA max= numberExpression )? ( COMMA var= numberVariable )? RPAREN )
+            // D:\\work\\workspace-uima3\\uimaj-ep-textmarker-engine\\src\\main\\java\\org\\apache\\uima\\textmarker\\parser\\TextMarkerParser.g:925:5: ( COUNT LPAREN type= listExpression COMMA a= argument ( COMMA min= numberExpression COMMA max= numberExpression )? ( COMMA var= numberVariable )? RPAREN | COUNT LPAREN list= typeExpression ( COMMA min= numberExpression COMMA max= numberExpression )? ( COMMA var= numberVariable )? RPAREN )
             int alt95=2;
             int LA95_0 = input.LA(1);
 
@@ -6895,27 +6888,27 @@ public class TextMarkerParser extends Pa
             }
             switch (alt95) {
                 case 1 :
-                    // D:\\work\\workspace-uima3\\uimaj-ep-textmarker-engine\\src\\main\\java\\org\\apache\\uima\\textmarker\\parser\\TextMarkerParser.g:927:5: COUNT LPAREN type= listExpression COMMA a= argument ( COMMA min= numberExpression COMMA max= numberExpression )? ( COMMA var= numberVariable )? RPAREN
+                    // D:\\work\\workspace-uima3\\uimaj-ep-textmarker-engine\\src\\main\\java\\org\\apache\\uima\\textmarker\\parser\\TextMarkerParser.g:926:5: COUNT LPAREN type= listExpression COMMA a= argument ( COMMA min= numberExpression COMMA max= numberExpression )? ( COMMA var= numberVariable )? RPAREN
                     {
-                    match(input,COUNT,FOLLOW_COUNT_in_conditionCount4111); if (state.failed) return cond;
+                    match(input,COUNT,FOLLOW_COUNT_in_conditionCount4102); if (state.failed) return cond;
 
-                    match(input,LPAREN,FOLLOW_LPAREN_in_conditionCount4113); if (state.failed) return cond;
+                    match(input,LPAREN,FOLLOW_LPAREN_in_conditionCount4104); if (state.failed) return cond;
 
-                    pushFollow(FOLLOW_listExpression_in_conditionCount4119);
+                    pushFollow(FOLLOW_listExpression_in_conditionCount4110);
                     type=listExpression();
 
                     state._fsp--;
                     if (state.failed) return cond;
 
-                    match(input,COMMA,FOLLOW_COMMA_in_conditionCount4121); if (state.failed) return cond;
+                    match(input,COMMA,FOLLOW_COMMA_in_conditionCount4112); if (state.failed) return cond;
 
-                    pushFollow(FOLLOW_argument_in_conditionCount4127);
+                    pushFollow(FOLLOW_argument_in_conditionCount4118);
                     a=argument();
 
                     state._fsp--;
                     if (state.failed) return cond;
 
-                    // D:\\work\\workspace-uima3\\uimaj-ep-textmarker-engine\\src\\main\\java\\org\\apache\\uima\\textmarker\\parser\\TextMarkerParser.g:927:59: ( COMMA min= numberExpression COMMA max= numberExpression )?
+                    // D:\\work\\workspace-uima3\\uimaj-ep-textmarker-engine\\src\\main\\java\\org\\apache\\uima\\textmarker\\parser\\TextMarkerParser.g:926:59: ( COMMA min= numberExpression COMMA max= numberExpression )?
                     int alt91=2;
                     int LA91_0 = input.LA(1);
 
@@ -6935,19 +6928,19 @@ public class TextMarkerParser extends Pa
                     }
                     switch (alt91) {
                         case 1 :
-                            // D:\\work\\workspace-uima3\\uimaj-ep-textmarker-engine\\src\\main\\java\\org\\apache\\uima\\textmarker\\parser\\TextMarkerParser.g:927:60: COMMA min= numberExpression COMMA max= numberExpression
+                            // D:\\work\\workspace-uima3\\uimaj-ep-textmarker-engine\\src\\main\\java\\org\\apache\\uima\\textmarker\\parser\\TextMarkerParser.g:926:60: COMMA min= numberExpression COMMA max= numberExpression
                             {
-                            match(input,COMMA,FOLLOW_COMMA_in_conditionCount4130); if (state.failed) return cond;
+                            match(input,COMMA,FOLLOW_COMMA_in_conditionCount4121); if (state.failed) return cond;
 
-                            pushFollow(FOLLOW_numberExpression_in_conditionCount4136);
+                            pushFollow(FOLLOW_numberExpression_in_conditionCount4127);
                             min=numberExpression();
 
                             state._fsp--;
                             if (state.failed) return cond;
 
-                            match(input,COMMA,FOLLOW_COMMA_in_conditionCount4138); if (state.failed) return cond;
+                            match(input,COMMA,FOLLOW_COMMA_in_conditionCount4129); if (state.failed) return cond;
 
-                            pushFollow(FOLLOW_numberExpression_in_conditionCount4144);
+                            pushFollow(FOLLOW_numberExpression_in_conditionCount4135);
                             max=numberExpression();
 
                             state._fsp--;
@@ -6959,7 +6952,7 @@ public class TextMarkerParser extends Pa
                     }
 
 
-                    // D:\\work\\workspace-uima3\\uimaj-ep-textmarker-engine\\src\\main\\java\\org\\apache\\uima\\textmarker\\parser\\TextMarkerParser.g:928:5: ( COMMA var= numberVariable )?
+                    // D:\\work\\workspace-uima3\\uimaj-ep-textmarker-engine\\src\\main\\java\\org\\apache\\uima\\textmarker\\parser\\TextMarkerParser.g:927:5: ( COMMA var= numberVariable )?
                     int alt92=2;
                     int LA92_0 = input.LA(1);
 
@@ -6968,11 +6961,11 @@ public class TextMarkerParser extends Pa
                     }
                     switch (alt92) {
                         case 1 :
-                            // D:\\work\\workspace-uima3\\uimaj-ep-textmarker-engine\\src\\main\\java\\org\\apache\\uima\\textmarker\\parser\\TextMarkerParser.g:928:6: COMMA var= numberVariable
+                            // D:\\work\\workspace-uima3\\uimaj-ep-textmarker-engine\\src\\main\\java\\org\\apache\\uima\\textmarker\\parser\\TextMarkerParser.g:927:6: COMMA var= numberVariable
                             {
-                            match(input,COMMA,FOLLOW_COMMA_in_conditionCount4154); if (state.failed) return cond;
+                            match(input,COMMA,FOLLOW_COMMA_in_conditionCount4145); if (state.failed) return cond;
 
-                            pushFollow(FOLLOW_numberVariable_in_conditionCount4160);
+                            pushFollow(FOLLOW_numberVariable_in_conditionCount4151);
                             var=numberVariable();
 
                             state._fsp--;
@@ -6984,26 +6977,26 @@ public class TextMarkerParser extends Pa
                     }
 
 
-                    match(input,RPAREN,FOLLOW_RPAREN_in_conditionCount4164); if (state.failed) return cond;
+                    match(input,RPAREN,FOLLOW_RPAREN_in_conditionCount4155); if (state.failed) return cond;
 
                     if ( state.backtracking==0 ) {cond = ConditionFactory.createConditionCount(type, a, min, max, var,((blockDeclaration_scope)blockDeclaration_stack.peek()).env);}
 
                     }
                     break;
                 case 2 :
-                    // D:\\work\\workspace-uima3\\uimaj-ep-textmarker-engine\\src\\main\\java\\org\\apache\\uima\\textmarker\\parser\\TextMarkerParser.g:931:5: COUNT LPAREN list= typeExpression ( COMMA min= numberExpression COMMA max= numberExpression )? ( COMMA var= numberVariable )? RPAREN
+                    // D:\\work\\workspace-uima3\\uimaj-ep-textmarker-engine\\src\\main\\java\\org\\apache\\uima\\textmarker\\parser\\TextMarkerParser.g:930:5: COUNT LPAREN list= typeExpression ( COMMA min= numberExpression COMMA max= numberExpression )? ( COMMA var= numberVariable )? RPAREN
                     {
-                    match(input,COUNT,FOLLOW_COUNT_in_conditionCount4182); if (state.failed) return cond;
+                    match(input,COUNT,FOLLOW_COUNT_in_conditionCount4173); if (state.failed) return cond;
 
-                    match(input,LPAREN,FOLLOW_LPAREN_in_conditionCount4184); if (state.failed) return cond;
+                    match(input,LPAREN,FOLLOW_LPAREN_in_conditionCount4175); if (state.failed) return cond;
 
-                    pushFollow(FOLLOW_typeExpression_in_conditionCount4190);
+                    pushFollow(FOLLOW_typeExpression_in_conditionCount4181);
                     list=typeExpression();
 
                     state._fsp--;
                     if (state.failed) return cond;
 
-                    // D:\\work\\workspace-uima3\\uimaj-ep-textmarker-engine\\src\\main\\java\\org\\apache\\uima\\textmarker\\parser\\TextMarkerParser.g:931:40: ( COMMA min= numberExpression COMMA max= numberExpression )?
+                    // D:\\work\\workspace-uima3\\uimaj-ep-textmarker-engine\\src\\main\\java\\org\\apache\\uima\\textmarker\\parser\\TextMarkerParser.g:930:40: ( COMMA min= numberExpression COMMA max= numberExpression )?
                     int alt93=2;
                     int LA93_0 = input.LA(1);
 
@@ -7023,19 +7016,19 @@ public class TextMarkerParser extends Pa
                     }
                     switch (alt93) {
                         case 1 :
-                            // D:\\work\\workspace-uima3\\uimaj-ep-textmarker-engine\\src\\main\\java\\org\\apache\\uima\\textmarker\\parser\\TextMarkerParser.g:931:41: COMMA min= numberExpression COMMA max= numberExpression
+                            // D:\\work\\workspace-uima3\\uimaj-ep-textmarker-engine\\src\\main\\java\\org\\apache\\uima\\textmarker\\parser\\TextMarkerParser.g:930:41: COMMA min= numberExpression COMMA max= numberExpression
                             {
-                            match(input,COMMA,FOLLOW_COMMA_in_conditionCount4193); if (state.failed) return cond;
+                            match(input,COMMA,FOLLOW_COMMA_in_conditionCount4184); if (state.failed) return cond;
 
-                            pushFollow(FOLLOW_numberExpression_in_conditionCount4199);
+                            pushFollow(FOLLOW_numberExpression_in_conditionCount4190);
                             min=numberExpression();
 
                             state._fsp--;
                             if (state.failed) return cond;
 
-                            match(input,COMMA,FOLLOW_COMMA_in_conditionCount4201); if (state.failed) return cond;
+                            match(input,COMMA,FOLLOW_COMMA_in_conditionCount4192); if (state.failed) return cond;
 
-                            pushFollow(FOLLOW_numberExpression_in_conditionCount4207);
+                            pushFollow(FOLLOW_numberExpression_in_conditionCount4198);
                             max=numberExpression();
 
                             state._fsp--;
@@ -7047,7 +7040,7 @@ public class TextMarkerParser extends Pa
                     }
 
 
-                    // D:\\work\\workspace-uima3\\uimaj-ep-textmarker-engine\\src\\main\\java\\org\\apache\\uima\\textmarker\\parser\\TextMarkerParser.g:932:5: ( COMMA var= numberVariable )?
+                    // D:\\work\\workspace-uima3\\uimaj-ep-textmarker-engine\\src\\main\\java\\org\\apache\\uima\\textmarker\\parser\\TextMarkerParser.g:931:5: ( COMMA var= numberVariable )?
                     int alt94=2;
                     int LA94_0 = input.LA(1);
 
@@ -7056,11 +7049,11 @@ public class TextMarkerParser extends Pa
                     }
                     switch (alt94) {
                         case 1 :
-                            // D:\\work\\workspace-uima3\\uimaj-ep-textmarker-engine\\src\\main\\java\\org\\apache\\uima\\textmarker\\parser\\TextMarkerParser.g:932:6: COMMA var= numberVariable
+                            // D:\\work\\workspace-uima3\\uimaj-ep-textmarker-engine\\src\\main\\java\\org\\apache\\uima\\textmarker\\parser\\TextMarkerParser.g:931:6: COMMA var= numberVariable
                             {
-                            match(input,COMMA,FOLLOW_COMMA_in_conditionCount4217); if (state.failed) return cond;
+                            match(input,COMMA,FOLLOW_COMMA_in_conditionCount4208); if (state.failed) return cond;
 
-                            pushFollow(FOLLOW_numberVariable_in_conditionCount4223);
+                            pushFollow(FOLLOW_numberVariable_in_conditionCount4214);
                             var=numberVariable();
 
                             state._fsp--;
@@ -7072,7 +7065,7 @@ public class TextMarkerParser extends Pa
                     }
 
 
-                    match(input,RPAREN,FOLLOW_RPAREN_in_conditionCount4227); if (state.failed) return cond;
+                    match(input,RPAREN,FOLLOW_RPAREN_in_conditionCount4218); if (state.failed) return cond;
 
                     if ( state.backtracking==0 ) {cond = ConditionFactory.createConditionCount(list, min, max, var,((blockDeclaration_scope)blockDeclaration_stack.peek()).env);}
 
@@ -7099,7 +7092,7 @@ public class TextMarkerParser extends Pa
 
 
     // $ANTLR start "conditionTotalCount"
-    // D:\\work\\workspace-uima3\\uimaj-ep-textmarker-engine\\src\\main\\java\\org\\apache\\uima\\textmarker\\parser\\TextMarkerParser.g:935:1: conditionTotalCount returns [AbstractTextMarkerCondition cond = null] : TOTALCOUNT LPAREN type= typeExpression ( COMMA min= numberExpression COMMA max= numberExpression )? ( COMMA var= numberVariable )? RPAREN ;
+    // D:\\work\\workspace-uima3\\uimaj-ep-textmarker-engine\\src\\main\\java\\org\\apache\\uima\\textmarker\\parser\\TextMarkerParser.g:934:1: conditionTotalCount returns [AbstractTextMarkerCondition cond = null] : TOTALCOUNT LPAREN type= typeExpression ( COMMA min= numberExpression COMMA max= numberExpression )? ( COMMA var= numberVariable )? RPAREN ;
     public final AbstractTextMarkerCondition conditionTotalCount() throws RecognitionException {
         AbstractTextMarkerCondition cond =  null;
 
@@ -7114,20 +7107,20 @@ public class TextMarkerParser extends Pa
 
 
         try {
-            // D:\\work\\workspace-uima3\\uimaj-ep-textmarker-engine\\src\\main\\java\\org\\apache\\uima\\textmarker\\parser\\TextMarkerParser.g:936:5: ( TOTALCOUNT LPAREN type= typeExpression ( COMMA min= numberExpression COMMA max= numberExpression )? ( COMMA var= numberVariable )? RPAREN )
-            // D:\\work\\workspace-uima3\\uimaj-ep-textmarker-engine\\src\\main\\java\\org\\apache\\uima\\textmarker\\parser\\TextMarkerParser.g:937:5: TOTALCOUNT LPAREN type= typeExpression ( COMMA min= numberExpression COMMA max= numberExpression )? ( COMMA var= numberVariable )? RPAREN
+            // D:\\work\\workspace-uima3\\uimaj-ep-textmarker-engine\\src\\main\\java\\org\\apache\\uima\\textmarker\\parser\\TextMarkerParser.g:935:5: ( TOTALCOUNT LPAREN type= typeExpression ( COMMA min= numberExpression COMMA max= numberExpression )? ( COMMA var= numberVariable )? RPAREN )
+            // D:\\work\\workspace-uima3\\uimaj-ep-textmarker-engine\\src\\main\\java\\org\\apache\\uima\\textmarker\\parser\\TextMarkerParser.g:936:5: TOTALCOUNT LPAREN type= typeExpression ( COMMA min= numberExpression COMMA max= numberExpression )? ( COMMA var= numberVariable )? RPAREN
             {
-            match(input,TOTALCOUNT,FOLLOW_TOTALCOUNT_in_conditionTotalCount4263); if (state.failed) return cond;
+            match(input,TOTALCOUNT,FOLLOW_TOTALCOUNT_in_conditionTotalCount4254); if (state.failed) return cond;
 
-            match(input,LPAREN,FOLLOW_LPAREN_in_conditionTotalCount4265); if (state.failed) return cond;
+            match(input,LPAREN,FOLLOW_LPAREN_in_conditionTotalCount4256); if (state.failed) return cond;
 
-            pushFollow(FOLLOW_typeExpression_in_conditionTotalCount4271);
+            pushFollow(FOLLOW_typeExpression_in_conditionTotalCount4262);
             type=typeExpression();
 
             state._fsp--;
             if (state.failed) return cond;
 
-            // D:\\work\\workspace-uima3\\uimaj-ep-textmarker-engine\\src\\main\\java\\org\\apache\\uima\\textmarker\\parser\\TextMarkerParser.g:937:45: ( COMMA min= numberExpression COMMA max= numberExpression )?
+            // D:\\work\\workspace-uima3\\uimaj-ep-textmarker-engine\\src\\main\\java\\org\\apache\\uima\\textmarker\\parser\\TextMarkerParser.g:936:45: ( COMMA min= numberExpression COMMA max= numberExpression )?
             int alt96=2;
             int LA96_0 = input.LA(1);
 
@@ -7147,19 +7140,19 @@ public class TextMarkerParser extends Pa
             }
             switch (alt96) {
                 case 1 :
-                    // D:\\work\\workspace-uima3\\uimaj-ep-textmarker-engine\\src\\main\\java\\org\\apache\\uima\\textmarker\\parser\\TextMarkerParser.g:937:46: COMMA min= numberExpression COMMA max= numberExpression
+                    // D:\\work\\workspace-uima3\\uimaj-ep-textmarker-engine\\src\\main\\java\\org\\apache\\uima\\textmarker\\parser\\TextMarkerParser.g:936:46: COMMA min= numberExpression COMMA max= numberExpression
                     {
-                    match(input,COMMA,FOLLOW_COMMA_in_conditionTotalCount4274); if (state.failed) return cond;
+                    match(input,COMMA,FOLLOW_COMMA_in_conditionTotalCount4265); if (state.failed) return cond;
 
-                    pushFollow(FOLLOW_numberExpression_in_conditionTotalCount4280);
+                    pushFollow(FOLLOW_numberExpression_in_conditionTotalCount4271);
                     min=numberExpression();
 
                     state._fsp--;
                     if (state.failed) return cond;
 
-                    match(input,COMMA,FOLLOW_COMMA_in_conditionTotalCount4282); if (state.failed) return cond;
+                    match(input,COMMA,FOLLOW_COMMA_in_conditionTotalCount4273); if (state.failed) return cond;
 
-                    pushFollow(FOLLOW_numberExpression_in_conditionTotalCount4288);
+                    pushFollow(FOLLOW_numberExpression_in_conditionTotalCount4279);
                     max=numberExpression();
 
                     state._fsp--;
@@ -7171,7 +7164,7 @@ public class TextMarkerParser extends Pa
             }
 
 
-            // D:\\work\\workspace-uima3\\uimaj-ep-textmarker-engine\\src\\main\\java\\org\\apache\\uima\\textmarker\\parser\\TextMarkerParser.g:938:5: ( COMMA var= numberVariable )?
+            // D:\\work\\workspace-uima3\\uimaj-ep-textmarker-engine\\src\\main\\java\\org\\apache\\uima\\textmarker\\parser\\TextMarkerParser.g:937:5: ( COMMA var= numberVariable )?
             int alt97=2;
             int LA97_0 = input.LA(1);
 
@@ -7180,11 +7173,11 @@ public class TextMarkerParser extends Pa
             }
             switch (alt97) {
                 case 1 :
-                    // D:\\work\\workspace-uima3\\uimaj-ep-textmarker-engine\\src\\main\\java\\org\\apache\\uima\\textmarker\\parser\\TextMarkerParser.g:938:6: COMMA var= numberVariable
+                    // D:\\work\\workspace-uima3\\uimaj-ep-textmarker-engine\\src\\main\\java\\org\\apache\\uima\\textmarker\\parser\\TextMarkerParser.g:937:6: COMMA var= numberVariable
                     {
-                    match(input,COMMA,FOLLOW_COMMA_in_conditionTotalCount4297); if (state.failed) return cond;
+                    match(input,COMMA,FOLLOW_COMMA_in_conditionTotalCount4288); if (state.failed) return cond;
 
-                    pushFollow(FOLLOW_numberVariable_in_conditionTotalCount4303);
+                    pushFollow(FOLLOW_numberVariable_in_conditionTotalCount4294);
                     var=numberVariable();
 
                     state._fsp--;
@@ -7196,7 +7189,7 @@ public class TextMarkerParser extends Pa
             }
 
 
-            match(input,RPAREN,FOLLOW_RPAREN_in_conditionTotalCount4307); if (state.failed) return cond;
+            match(input,RPAREN,FOLLOW_RPAREN_in_conditionTotalCount4298); if (state.failed) return cond;
 
             if ( state.backtracking==0 ) {cond = ConditionFactory.createConditionTotalCount(type, min, max, var, ((blockDeclaration_scope)blockDeclaration_stack.peek()).env);}
 
@@ -7221,7 +7214,7 @@ public class TextMarkerParser extends Pa
 
 
     // $ANTLR start "conditionCurrentCount"
-    // D:\\work\\workspace-uima3\\uimaj-ep-textmarker-engine\\src\\main\\java\\org\\apache\\uima\\textmarker\\parser\\TextMarkerParser.g:941:1: conditionCurrentCount returns [AbstractTextMarkerCondition cond = null] : CURRENTCOUNT LPAREN type= typeExpression ( COMMA min= numberExpression COMMA max= numberExpression )? ( COMMA var= numberVariable )? RPAREN ;
+    // D:\\work\\workspace-uima3\\uimaj-ep-textmarker-engine\\src\\main\\java\\org\\apache\\uima\\textmarker\\parser\\TextMarkerParser.g:940:1: conditionCurrentCount returns [AbstractTextMarkerCondition cond = null] : CURRENTCOUNT LPAREN type= typeExpression ( COMMA min= numberExpression COMMA max= numberExpression )? ( COMMA var= numberVariable )? RPAREN ;
     public final AbstractTextMarkerCondition conditionCurrentCount() throws RecognitionException {
         AbstractTextMarkerCondition cond =  null;
 
@@ -7236,20 +7229,20 @@ public class TextMarkerParser extends Pa
 
 
         try {
-            // D:\\work\\workspace-uima3\\uimaj-ep-textmarker-engine\\src\\main\\java\\org\\apache\\uima\\textmarker\\parser\\TextMarkerParser.g:942:5: ( CURRENTCOUNT LPAREN type= typeExpression ( COMMA min= numberExpression COMMA max= numberExpression )? ( COMMA var= numberVariable )? RPAREN )
-            // D:\\work\\workspace-uima3\\uimaj-ep-textmarker-engine\\src\\main\\java\\org\\apache\\uima\\textmarker\\parser\\TextMarkerParser.g:943:5: CURRENTCOUNT LPAREN type= typeExpression ( COMMA min= numberExpression COMMA max= numberExpression )? ( COMMA var= numberVariable )? RPAREN
+            // D:\\work\\workspace-uima3\\uimaj-ep-textmarker-engine\\src\\main\\java\\org\\apache\\uima\\textmarker\\parser\\TextMarkerParser.g:941:5: ( CURRENTCOUNT LPAREN type= typeExpression ( COMMA min= numberExpression COMMA max= numberExpression )? ( COMMA var= numberVariable )? RPAREN )
+            // D:\\work\\workspace-uima3\\uimaj-ep-textmarker-engine\\src\\main\\java\\org\\apache\\uima\\textmarker\\parser\\TextMarkerParser.g:942:5: CURRENTCOUNT LPAREN type= typeExpression ( COMMA min= numberExpression COMMA max= numberExpression )? ( COMMA var= numberVariable )? RPAREN
             {
-            match(input,CURRENTCOUNT,FOLLOW_CURRENTCOUNT_in_conditionCurrentCount4340); if (state.failed) return cond;
+            match(input,CURRENTCOUNT,FOLLOW_CURRENTCOUNT_in_conditionCurrentCount4331); if (state.failed) return cond;
 
-            match(input,LPAREN,FOLLOW_LPAREN_in_conditionCurrentCount4342); if (state.failed) return cond;
+            match(input,LPAREN,FOLLOW_LPAREN_in_conditionCurrentCount4333); if (state.failed) return cond;
 
-            pushFollow(FOLLOW_typeExpression_in_conditionCurrentCount4348);
+            pushFollow(FOLLOW_typeExpression_in_conditionCurrentCount4339);
             type=typeExpression();
 
             state._fsp--;
             if (state.failed) return cond;
 
-            // D:\\work\\workspace-uima3\\uimaj-ep-textmarker-engine\\src\\main\\java\\org\\apache\\uima\\textmarker\\parser\\TextMarkerParser.g:943:47: ( COMMA min= numberExpression COMMA max= numberExpression )?
+            // D:\\work\\workspace-uima3\\uimaj-ep-textmarker-engine\\src\\main\\java\\org\\apache\\uima\\textmarker\\parser\\TextMarkerParser.g:942:47: ( COMMA min= numberExpression COMMA max= numberExpression )?
             int alt98=2;
             int LA98_0 = input.LA(1);
 
@@ -7269,19 +7262,19 @@ public class TextMarkerParser extends Pa
             }
             switch (alt98) {
                 case 1 :
-                    // D:\\work\\workspace-uima3\\uimaj-ep-textmarker-engine\\src\\main\\java\\org\\apache\\uima\\textmarker\\parser\\TextMarkerParser.g:943:48: COMMA min= numberExpression COMMA max= numberExpression
+                    // D:\\work\\workspace-uima3\\uimaj-ep-textmarker-engine\\src\\main\\java\\org\\apache\\uima\\textmarker\\parser\\TextMarkerParser.g:942:48: COMMA min= numberExpression COMMA max= numberExpression

[... 10613 lines stripped ...]