From d2b0e006273d55c170ed6cd56f9509bc1eaa90eb Mon Sep 17 00:00:00 2001 From: Andrei Aiordachioaie Date: Mon, 8 Jun 2009 17:49:13 +0200 Subject: Implemented Condense Expression and Constant Coverage Expression. WCPS Grammar modified --- src/grammar/AxisIterator.java | 2 - src/grammar/AxisIteratorList.java | 10 +- src/grammar/CondenseOperation.java | 6 +- src/grammar/CoverageConstantExpr.java | 1 + src/grammar/CoverageConstructorExpr.java | 1 + src/grammar/GeneralCondenseExpr.java | 7 +- src/grammar/NumericScalarExpr.java | 13 +- src/grammar/wcps.g | 42 +- src/grammar/wcpsLexer.java | 1339 ++--- src/grammar/wcpsParser.java | 6405 +++++++++++++---------- src/grammar/wcps_no_actions.g | 216 +- src/wcps/server/cli/f_grammar.java | 66 + src/wcps/server/cli/grammar.java | 16 +- src/wcps/server/cli/xml.java | 105 +- src/wcps/server/core/AxisIterator.java | 23 +- src/wcps/server/core/BooleanScalarExpr.java | 2 +- src/wcps/server/core/ComplexConstant.java | 57 + src/wcps/server/core/CondenseOperation.java | 71 + src/wcps/server/core/CondenseScalarExpr.java | 91 +- src/wcps/server/core/ConstantCoverageExpr.java | 142 +- src/wcps/server/core/ConstantList.java | 115 + src/wcps/server/core/ConstructCoverageExpr.java | 33 +- src/wcps/server/core/CoverageExpr.java | 5 + src/wcps/server/core/NumericScalarExpr.java | 24 +- src/wcps/server/core/ScalarExpr.java | 4 - src/wcps/server/core/SliceCoverageExpr.java | 27 +- src/wcps/server/core/VariableReference.java | 62 + src/wcps/server/core/WCPS.java | 10 +- src/wcps/server/core/XmlQuery.java | 86 +- src/wcps/server/test/FullTestsOnline.java | 323 ++ src/wcps/server/test/GrammarTest.java | 4 +- src/wcps/server/test/GrammarTestOnline.java | 7 +- src/wcps/server/test/XmlTestOnline.java | 7 +- 33 files changed, 5584 insertions(+), 3738 deletions(-) create mode 100644 src/wcps/server/cli/f_grammar.java create mode 100644 src/wcps/server/core/CondenseOperation.java create mode 100644 src/wcps/server/core/ConstantList.java create mode 100644 src/wcps/server/core/VariableReference.java create mode 100644 src/wcps/server/test/FullTestsOnline.java (limited to 'src') diff --git a/src/grammar/AxisIterator.java b/src/grammar/AxisIterator.java index 2ddb8e3..8e56228 100644 --- a/src/grammar/AxisIterator.java +++ b/src/grammar/AxisIterator.java @@ -47,11 +47,9 @@ public class AxisIterator implements IParseTreeNode { String result = ""; - result += ""; result += "" + var + ""; result += "" + axis + ""; result += interval.toXML(); - result += ""; return result; } diff --git a/src/grammar/AxisIteratorList.java b/src/grammar/AxisIteratorList.java index af82613..8503868 100644 --- a/src/grammar/AxisIteratorList.java +++ b/src/grammar/AxisIteratorList.java @@ -57,17 +57,19 @@ public class AxisIteratorList implements IParseTreeNode public String toXML() { + String result = ""; String tag1 = "<" + tag + ">"; String tag2 = ""; if (tag.equals("")) - { tag1 = tag2 = ""; - } - - String result = tag1 + it.toXML() + tag2; + if (next != null) + { + next.setTag(tag); result += next.toXML(); + } + result += tag1 + it.toXML() + tag2; return result; } diff --git a/src/grammar/CondenseOperation.java b/src/grammar/CondenseOperation.java index 2898710..39ebfde 100644 --- a/src/grammar/CondenseOperation.java +++ b/src/grammar/CondenseOperation.java @@ -43,11 +43,11 @@ public class CondenseOperation implements IParseTreeNode { String result = ""; - if (op.equalsIgnoreCase("plus")) + if (op.equalsIgnoreCase("+")) { result = "opPlus"; } - else if (op.equalsIgnoreCase("mult")) + else if (op.equalsIgnoreCase("*")) { result = "opMult"; } @@ -68,6 +68,8 @@ public class CondenseOperation implements IParseTreeNode result = "opOr"; } + result = "<" + result + "/>"; + return result; } } diff --git a/src/grammar/CoverageConstantExpr.java b/src/grammar/CoverageConstantExpr.java index 110a2b2..51575bf 100644 --- a/src/grammar/CoverageConstantExpr.java +++ b/src/grammar/CoverageConstantExpr.java @@ -40,6 +40,7 @@ public class CoverageConstantExpr implements IParseTreeNode { this.name = name; this.alist = alist; + alist.setTag("axisIterator"); this.clist = clist; } diff --git a/src/grammar/CoverageConstructorExpr.java b/src/grammar/CoverageConstructorExpr.java index 24f706f..355059d 100644 --- a/src/grammar/CoverageConstructorExpr.java +++ b/src/grammar/CoverageConstructorExpr.java @@ -40,6 +40,7 @@ public class CoverageConstructorExpr implements IParseTreeNode { this.name = name; this.alist = alist; + alist.setTag("axisIterator"); this.expr = expr; } diff --git a/src/grammar/GeneralCondenseExpr.java b/src/grammar/GeneralCondenseExpr.java index 50529e5..f78a557 100644 --- a/src/grammar/GeneralCondenseExpr.java +++ b/src/grammar/GeneralCondenseExpr.java @@ -34,7 +34,7 @@ public class GeneralCondenseExpr implements IParseTreeNode { AxisIteratorList alist; CondenseOperation op; - ScalarExpr using; + CoverageExpr using; BooleanScalarExpr where; public GeneralCondenseExpr(CondenseOperation op, AxisIteratorList al) @@ -51,14 +51,14 @@ public class GeneralCondenseExpr implements IParseTreeNode where = bse; } - public void setUsing(ScalarExpr se) + public void setUsing(CoverageExpr se) { using = se; } public String toXML() { - String result = ""; + String result = ""; result += op.toXML(); result += alist.toXML(); @@ -69,6 +69,7 @@ public class GeneralCondenseExpr implements IParseTreeNode } result += using.toXML(); + result += ""; return result; } diff --git a/src/grammar/NumericScalarExpr.java b/src/grammar/NumericScalarExpr.java index ba0db8e..3d29a62 100644 --- a/src/grammar/NumericScalarExpr.java +++ b/src/grammar/NumericScalarExpr.java @@ -73,6 +73,17 @@ public class NumericScalarExpr implements IParseTreeNode } } + public NumericScalarExpr(String varOp, String varName) + { + if (varOp.equals("var")) + { + function = "variableRef"; + constValue = varName; + } + else + System.err.println("Internal error: this should have been a variable name:" + varName); + } + public NumericScalarExpr(String op, NumericScalarExpr lbe, NumericScalarExpr rbe) { leftNumericScalarExpr = lbe; @@ -111,7 +122,7 @@ public class NumericScalarExpr implements IParseTreeNode result = "<" + function + ">"; - if (function.equals("numericConstant")) + if (function.equals("numericConstant") || function.equals("variableRef")) { result += constValue; } diff --git a/src/grammar/wcps.g b/src/grammar/wcps.g index 2e4b61f..3fcb86b 100644 --- a/src/grammar/wcps.g +++ b/src/grammar/wcps.g @@ -1,15 +1,16 @@ /* Author: Sorin Stancu-Mara, Andrei Aiordachioaie History: -07 02 2007 smsorin Updated to WCPS 1.0.0 -27 01 2009 smsorin Moved to ANTLR -11 02 2009 andreia Updated to new grammar (spec 08-068r2) -13 02 2009 andreia Fixed small bugs in grammar. Now it can fully compile. +07 02 2007 smsorin Updated to WCPS 1.0.0 +27 01 2009 smsorin Moved to ANTLR +11 02 2009 andreia Updated to new grammar (spec 08-068r2) +13 02 2009 andreia Fixed small bugs in grammar. Now it can fully compile. 21 04 2009 andreia Removed comments. 04 05 2009 andreia Fixed bugs in integer declaration. -19 05 2009 andreia Fixed some other weird bugs. Grammar passes all tests now. +19 05 2009 andreia Fixed some other weird bugs. Grammar passes all tests now. 28 05 2009 andreia Updated class actions names. -02 06 2009 andreia Removed brackets around "and" binary operator in CoverageExpr +02 06 2009 andreia Removed brackets around "and" binary operator in CoverageExpr +03 06 2009 andreia Complex expressions introduced in the "using" clause of general condense operations */ grammar wcps; options{ @@ -32,9 +33,9 @@ wcpsRequest returns[WCPSRequest value] e3=returnClause { $value.setReturn($e3.value); } ; forClause returns[ForClauseElements value] - : FOR v=variableName IN LPAREN list=coverageList RPAREN + : FOR v=coverageVariable IN LPAREN list=coverageList RPAREN { $value = new ForClauseElements($v.value, $list.value); } - (COMMA v=variableName IN LPAREN list=coverageList RPAREN + (COMMA v=coverageVariable IN LPAREN list=coverageList RPAREN { $value = new ForClauseElements($v.value, $list.value, $value); })* ; whereClause returns[WhereClause value] @@ -92,7 +93,7 @@ coverageValue returns[CoverageExpr value] ; coverageAtom returns[CoverageExpr value] : e2=scalarExpr { $value = new CoverageExpr($e2.value); } - | e1=variableName { $value = new CoverageExpr($e1.value); } + | e1=coverageVariable { $value = new CoverageExpr($e1.value); } | LPAREN e7=coverageExpr RPAREN { $value = new CoverageExpr($e7.value); } | e3=coverageConstantExpr { $value = new CoverageExpr($e3.value); } | e4=coverageConstructorExpr { $value = new CoverageExpr($e4.value); } @@ -118,7 +119,7 @@ metaDataExpr returns[MetaDataExpr value] | op=INTERPOLATIONSET LPAREN e1=coverageExpr COMMA f1=fieldName RPAREN { $value = new MetaDataExpr($op.text, $e1.value, $f1.value); } ; domainExpr returns[DomainExpr value] - : DOMAIN LPAREN var=variableName COMMA axis=axisName COMMA crs=crsName RPAREN { $value = new DomainExpr($var.value, $axis.value, $crs.value); } + : DOMAIN LPAREN var=coverageVariable COMMA axis=axisName COMMA crs=crsName RPAREN { $value = new DomainExpr($var.value, $axis.value, $crs.value); } ; condenseExpr returns[CondenseExpr value] : e1=reduceExpr { $value = new CondenseExpr($e1.value); } @@ -130,7 +131,7 @@ reduceExpr returns[ReduceExpr value] generalCondenseExpr returns[GeneralCondenseExpr value] : CONDENSE op=condenseOpType OVER ail=axisIteratorList { $value = new GeneralCondenseExpr($op.value, $ail.value); } (WHERE cond=booleanScalarExpr { $value.setWhere($cond.value); })? - USING se=scalarExpr { $value.setUsing($se.value); } + USING ce=coverageExpr { $value.setUsing($ce.value); } ; axisIteratorList returns[AxisIteratorList value] : vn=variableName an=axisName LPAREN ie=intervalExpr RPAREN @@ -222,7 +223,7 @@ booleanExpr returns[BooleanExpr value] ; indexExpr returns[IndexExpr value] : e1=indexTerm { $value = $e1.value; } - (op=(PLUS^|MINUS^) e2=indexTerm { $value = new IndexExpr($op.text, $value, $e2.value); })* + (op=(PLUS|MINUS) e2=indexTerm { $value = new IndexExpr($op.text, $value, $e2.value); })* ; indexTerm returns[IndexExpr value] : e1=indexFactor { $value = $e1.value; } @@ -304,6 +305,7 @@ numericScalarFactor returns[NumericScalarExpr value] | e=FLOATCONSTANT { $value = new NumericScalarExpr($e.text); } | e2=complexConstant { $value = new NumericScalarExpr($e2.value); } | e3=condenseExpr { $value = new NumericScalarExpr($e3.value); } + | e4=variableName { $value = new NumericScalarExpr("var", $e4.value); } ; compOp returns[String value] : EQUALS { $value = new String("equals"); } @@ -371,19 +373,15 @@ axisName returns[String value] : type1=name { $value = new String($type1.value); } ; variableName returns[String value] - : var=(VARIABLE_DOLLAR | NAME) { $value = $var.text; } + : var=VARIABLE_DOLLAR { $value = new String($var.text); } + ; +coverageVariable returns[String value] + : var=NAME { $value = $var.text; } ; coverageName returns[String value] : name { $value = $name.value; } ; - - /* -anything: - name | INTEGERCONSTANT; -dot : - DOT; - */ /* Lexer rules */ PLUS: '+'; @@ -495,10 +493,10 @@ fragment OCTALCONSTANT: '0' ('1'..'7') (('0'..'7')*); fragment HEXACONSTANT: ('0x'|'0X') ('1'..'9'|'a'..'f'|'A'..'F') (('0'..'9'|'a'..'f'|'A'..'F')*); -INTEGERCONSTANT: DECIMALCONSTANT | OCTALCONSTANT | HEXACONSTANT; +INTEGERCONSTANT: (PLUS|MINUS)? DECIMALCONSTANT | OCTALCONSTANT | HEXACONSTANT; FLOATCONSTANT: DECIMALCONSTANT ('.')('0'..'9'+)(('e'|'E')(('-'|'+')?)('0'..'9'+))?; STRING: '"' ( options {greedy=false;} : . )* '"' {setText(getText().substring(1, getText().length()-1));}; NAME: ('a'..'z'|'A'..'Z'|'_')(('a'..'z'|'A'..'Z'|'0'..'9'|'_')*); -VARIABLE_DOLLAR: '$'(('a'..'z'|'A'..'Z'|'0'..'9'|'_')*); +VARIABLE_DOLLAR: '$'(('a'..'z'|'A'..'Z'|'0'..'9'|'_')*) {setText(getText().substring(1, getText().length())); } ; WHITESPACE: (' ' | '\t' | '\r' | '\n' | '\u000C')+ { skip(); } ; diff --git a/src/grammar/wcpsLexer.java b/src/grammar/wcpsLexer.java index d3b0a6f..cdd5d01 100644 --- a/src/grammar/wcpsLexer.java +++ b/src/grammar/wcpsLexer.java @@ -1,4 +1,4 @@ -// $ANTLR 3.1.2 src/grammar/wcps.g 2009-06-02 18:33:15 +// $ANTLR 3.1.2 src/grammar/wcps.g 2009-06-08 14:21:44 package grammar; import org.antlr.runtime.*; @@ -138,8 +138,8 @@ public class wcpsLexer extends Lexer { try { int _type = PLUS; int _channel = DEFAULT_TOKEN_CHANNEL; - // src/grammar/wcps.g:389:5: ( '+' ) - // src/grammar/wcps.g:389:8: '+' + // src/grammar/wcps.g:387:5: ( '+' ) + // src/grammar/wcps.g:387:8: '+' { match('+'); @@ -158,8 +158,8 @@ public class wcpsLexer extends Lexer { try { int _type = MINUS; int _channel = DEFAULT_TOKEN_CHANNEL; - // src/grammar/wcps.g:390:6: ( '-' ) - // src/grammar/wcps.g:390:9: '-' + // src/grammar/wcps.g:388:6: ( '-' ) + // src/grammar/wcps.g:388:9: '-' { match('-'); @@ -178,8 +178,8 @@ public class wcpsLexer extends Lexer { try { int _type = DIVIDE; int _channel = DEFAULT_TOKEN_CHANNEL; - // src/grammar/wcps.g:391:7: ( '/' ) - // src/grammar/wcps.g:391:9: '/' + // src/grammar/wcps.g:389:7: ( '/' ) + // src/grammar/wcps.g:389:9: '/' { match('/'); @@ -198,8 +198,8 @@ public class wcpsLexer extends Lexer { try { int _type = MULT; int _channel = DEFAULT_TOKEN_CHANNEL; - // src/grammar/wcps.g:392:5: ( '*' ) - // src/grammar/wcps.g:392:7: '*' + // src/grammar/wcps.g:390:5: ( '*' ) + // src/grammar/wcps.g:390:7: '*' { match('*'); @@ -218,8 +218,8 @@ public class wcpsLexer extends Lexer { try { int _type = EQUALS; int _channel = DEFAULT_TOKEN_CHANNEL; - // src/grammar/wcps.g:393:7: ( '=' ) - // src/grammar/wcps.g:393:9: '=' + // src/grammar/wcps.g:391:7: ( '=' ) + // src/grammar/wcps.g:391:9: '=' { match('='); @@ -238,8 +238,8 @@ public class wcpsLexer extends Lexer { try { int _type = NOTEQUALS; int _channel = DEFAULT_TOKEN_CHANNEL; - // src/grammar/wcps.g:394:10: ( '!=' ) - // src/grammar/wcps.g:394:12: '!=' + // src/grammar/wcps.g:392:10: ( '!=' ) + // src/grammar/wcps.g:392:12: '!=' { match("!="); @@ -259,8 +259,8 @@ public class wcpsLexer extends Lexer { try { int _type = LT; int _channel = DEFAULT_TOKEN_CHANNEL; - // src/grammar/wcps.g:395:3: ( '<' ) - // src/grammar/wcps.g:395:5: '<' + // src/grammar/wcps.g:393:3: ( '<' ) + // src/grammar/wcps.g:393:5: '<' { match('<'); @@ -279,8 +279,8 @@ public class wcpsLexer extends Lexer { try { int _type = GT; int _channel = DEFAULT_TOKEN_CHANNEL; - // src/grammar/wcps.g:396:3: ( '>' ) - // src/grammar/wcps.g:396:5: '>' + // src/grammar/wcps.g:394:3: ( '>' ) + // src/grammar/wcps.g:394:5: '>' { match('>'); @@ -299,8 +299,8 @@ public class wcpsLexer extends Lexer { try { int _type = LTE; int _channel = DEFAULT_TOKEN_CHANNEL; - // src/grammar/wcps.g:397:4: ( '<=' ) - // src/grammar/wcps.g:397:6: '<=' + // src/grammar/wcps.g:395:4: ( '<=' ) + // src/grammar/wcps.g:395:6: '<=' { match("<="); @@ -320,8 +320,8 @@ public class wcpsLexer extends Lexer { try { int _type = GTE; int _channel = DEFAULT_TOKEN_CHANNEL; - // src/grammar/wcps.g:398:4: ( '>=' ) - // src/grammar/wcps.g:398:6: '>=' + // src/grammar/wcps.g:396:4: ( '>=' ) + // src/grammar/wcps.g:396:6: '>=' { match(">="); @@ -341,8 +341,8 @@ public class wcpsLexer extends Lexer { try { int _type = DOT; int _channel = DEFAULT_TOKEN_CHANNEL; - // src/grammar/wcps.g:399:4: ( '.' ) - // src/grammar/wcps.g:399:6: '.' + // src/grammar/wcps.g:397:4: ( '.' ) + // src/grammar/wcps.g:397:6: '.' { match('.'); @@ -361,8 +361,8 @@ public class wcpsLexer extends Lexer { try { int _type = LPAREN; int _channel = DEFAULT_TOKEN_CHANNEL; - // src/grammar/wcps.g:400:7: ( '(' ) - // src/grammar/wcps.g:400:9: '(' + // src/grammar/wcps.g:398:7: ( '(' ) + // src/grammar/wcps.g:398:9: '(' { match('('); @@ -381,8 +381,8 @@ public class wcpsLexer extends Lexer { try { int _type = RPAREN; int _channel = DEFAULT_TOKEN_CHANNEL; - // src/grammar/wcps.g:401:7: ( ')' ) - // src/grammar/wcps.g:401:9: ')' + // src/grammar/wcps.g:399:7: ( ')' ) + // src/grammar/wcps.g:399:9: ')' { match(')'); @@ -401,8 +401,8 @@ public class wcpsLexer extends Lexer { try { int _type = LBRACKET; int _channel = DEFAULT_TOKEN_CHANNEL; - // src/grammar/wcps.g:402:9: ( '[' ) - // src/grammar/wcps.g:402:11: '[' + // src/grammar/wcps.g:400:9: ( '[' ) + // src/grammar/wcps.g:400:11: '[' { match('['); @@ -421,8 +421,8 @@ public class wcpsLexer extends Lexer { try { int _type = RBRACKET; int _channel = DEFAULT_TOKEN_CHANNEL; - // src/grammar/wcps.g:403:9: ( ']' ) - // src/grammar/wcps.g:403:11: ']' + // src/grammar/wcps.g:401:9: ( ']' ) + // src/grammar/wcps.g:401:11: ']' { match(']'); @@ -441,8 +441,8 @@ public class wcpsLexer extends Lexer { try { int _type = LBRACE; int _channel = DEFAULT_TOKEN_CHANNEL; - // src/grammar/wcps.g:404:7: ( '{' ) - // src/grammar/wcps.g:404:9: '{' + // src/grammar/wcps.g:402:7: ( '{' ) + // src/grammar/wcps.g:402:9: '{' { match('{'); @@ -461,8 +461,8 @@ public class wcpsLexer extends Lexer { try { int _type = RBRACE; int _channel = DEFAULT_TOKEN_CHANNEL; - // src/grammar/wcps.g:405:7: ( '}' ) - // src/grammar/wcps.g:405:9: '}' + // src/grammar/wcps.g:403:7: ( '}' ) + // src/grammar/wcps.g:403:9: '}' { match('}'); @@ -481,8 +481,8 @@ public class wcpsLexer extends Lexer { try { int _type = COMMA; int _channel = DEFAULT_TOKEN_CHANNEL; - // src/grammar/wcps.g:406:6: ( ',' ) - // src/grammar/wcps.g:406:8: ',' + // src/grammar/wcps.g:404:6: ( ',' ) + // src/grammar/wcps.g:404:8: ',' { match(','); @@ -501,8 +501,8 @@ public class wcpsLexer extends Lexer { try { int _type = COLON; int _channel = DEFAULT_TOKEN_CHANNEL; - // src/grammar/wcps.g:407:6: ( ':' ) - // src/grammar/wcps.g:407:8: ':' + // src/grammar/wcps.g:405:6: ( ':' ) + // src/grammar/wcps.g:405:8: ':' { match(':'); @@ -521,8 +521,8 @@ public class wcpsLexer extends Lexer { try { int _type = SEMICOLON; int _channel = DEFAULT_TOKEN_CHANNEL; - // src/grammar/wcps.g:408:10: ( ';' ) - // src/grammar/wcps.g:408:12: ';' + // src/grammar/wcps.g:406:10: ( ';' ) + // src/grammar/wcps.g:406:12: ';' { match(';'); @@ -541,8 +541,8 @@ public class wcpsLexer extends Lexer { try { int _type = FOR; int _channel = DEFAULT_TOKEN_CHANNEL; - // src/grammar/wcps.g:409:4: ( ( 'f' | 'F' ) ( 'o' | 'O' ) ( 'r' | 'R' ) ) - // src/grammar/wcps.g:409:6: ( 'f' | 'F' ) ( 'o' | 'O' ) ( 'r' | 'R' ) + // src/grammar/wcps.g:407:4: ( ( 'f' | 'F' ) ( 'o' | 'O' ) ( 'r' | 'R' ) ) + // src/grammar/wcps.g:407:6: ( 'f' | 'F' ) ( 'o' | 'O' ) ( 'r' | 'R' ) { if ( input.LA(1)=='F'||input.LA(1)=='f' ) { input.consume(); @@ -587,8 +587,8 @@ public class wcpsLexer extends Lexer { try { int _type = IN; int _channel = DEFAULT_TOKEN_CHANNEL; - // src/grammar/wcps.g:410:3: ( ( 'i' | 'I' ) ( 'n' | 'N' ) ) - // src/grammar/wcps.g:410:5: ( 'i' | 'I' ) ( 'n' | 'N' ) + // src/grammar/wcps.g:408:3: ( ( 'i' | 'I' ) ( 'n' | 'N' ) ) + // src/grammar/wcps.g:408:5: ( 'i' | 'I' ) ( 'n' | 'N' ) { if ( input.LA(1)=='I'||input.LA(1)=='i' ) { input.consume(); @@ -624,8 +624,8 @@ public class wcpsLexer extends Lexer { try { int _type = WHERE; int _channel = DEFAULT_TOKEN_CHANNEL; - // src/grammar/wcps.g:411:6: ( ( 'w' | 'W' ) ( 'h' | 'H' ) ( 'e' | 'E' ) ( 'r' | 'R' ) ( 'e' | 'E' ) ) - // src/grammar/wcps.g:411:8: ( 'w' | 'W' ) ( 'h' | 'H' ) ( 'e' | 'E' ) ( 'r' | 'R' ) ( 'e' | 'E' ) + // src/grammar/wcps.g:409:6: ( ( 'w' | 'W' ) ( 'h' | 'H' ) ( 'e' | 'E' ) ( 'r' | 'R' ) ( 'e' | 'E' ) ) + // src/grammar/wcps.g:409:8: ( 'w' | 'W' ) ( 'h' | 'H' ) ( 'e' | 'E' ) ( 'r' | 'R' ) ( 'e' | 'E' ) { if ( input.LA(1)=='W'||input.LA(1)=='w' ) { input.consume(); @@ -688,8 +688,8 @@ public class wcpsLexer extends Lexer { try { int _type = RETURN; int _channel = DEFAULT_TOKEN_CHANNEL; - // src/grammar/wcps.g:412:7: ( ( 'r' | 'R' ) ( 'e' | 'E' ) ( 't' | 'T' ) ( 'u' | 'U' ) ( 'r' | 'R' ) ( 'n' | 'N' ) ) - // src/grammar/wcps.g:412:9: ( 'r' | 'R' ) ( 'e' | 'E' ) ( 't' | 'T' ) ( 'u' | 'U' ) ( 'r' | 'R' ) ( 'n' | 'N' ) + // src/grammar/wcps.g:410:7: ( ( 'r' | 'R' ) ( 'e' | 'E' ) ( 't' | 'T' ) ( 'u' | 'U' ) ( 'r' | 'R' ) ( 'n' | 'N' ) ) + // src/grammar/wcps.g:410:9: ( 'r' | 'R' ) ( 'e' | 'E' ) ( 't' | 'T' ) ( 'u' | 'U' ) ( 'r' | 'R' ) ( 'n' | 'N' ) { if ( input.LA(1)=='R'||input.LA(1)=='r' ) { input.consume(); @@ -761,8 +761,8 @@ public class wcpsLexer extends Lexer { try { int _type = STORE; int _channel = DEFAULT_TOKEN_CHANNEL; - // src/grammar/wcps.g:413:6: ( ( 's' | 'S' ) ( 't' | 'T' ) ( 'o' | 'O' ) ( 'r' | 'R' ) ( 'e' | 'E' ) ) - // src/grammar/wcps.g:413:8: ( 's' | 'S' ) ( 't' | 'T' ) ( 'o' | 'O' ) ( 'r' | 'R' ) ( 'e' | 'E' ) + // src/grammar/wcps.g:411:6: ( ( 's' | 'S' ) ( 't' | 'T' ) ( 'o' | 'O' ) ( 'r' | 'R' ) ( 'e' | 'E' ) ) + // src/grammar/wcps.g:411:8: ( 's' | 'S' ) ( 't' | 'T' ) ( 'o' | 'O' ) ( 'r' | 'R' ) ( 'e' | 'E' ) { if ( input.LA(1)=='S'||input.LA(1)=='s' ) { input.consume(); @@ -825,8 +825,8 @@ public class wcpsLexer extends Lexer { try { int _type = ENCODE; int _channel = DEFAULT_TOKEN_CHANNEL; - // src/grammar/wcps.g:414:7: ( ( 'e' | 'E' ) ( 'n' | 'N' ) ( 'c' | 'C' ) ( 'o' | 'O' ) ( 'd' | 'D' ) ( 'e' | 'E' ) ) - // src/grammar/wcps.g:414:9: ( 'e' | 'E' ) ( 'n' | 'N' ) ( 'c' | 'C' ) ( 'o' | 'O' ) ( 'd' | 'D' ) ( 'e' | 'E' ) + // src/grammar/wcps.g:412:7: ( ( 'e' | 'E' ) ( 'n' | 'N' ) ( 'c' | 'C' ) ( 'o' | 'O' ) ( 'd' | 'D' ) ( 'e' | 'E' ) ) + // src/grammar/wcps.g:412:9: ( 'e' | 'E' ) ( 'n' | 'N' ) ( 'c' | 'C' ) ( 'o' | 'O' ) ( 'd' | 'D' ) ( 'e' | 'E' ) { if ( input.LA(1)=='E'||input.LA(1)=='e' ) { input.consume(); @@ -898,8 +898,8 @@ public class wcpsLexer extends Lexer { try { int _type = SQRT; int _channel = DEFAULT_TOKEN_CHANNEL; - // src/grammar/wcps.g:415:5: ( ( 's' | 'S' ) ( 'q' | 'Q' ) ( 'r' | 'R' ) ( 't' | 'T' ) ) - // src/grammar/wcps.g:415:7: ( 's' | 'S' ) ( 'q' | 'Q' ) ( 'r' | 'R' ) ( 't' | 'T' ) + // src/grammar/wcps.g:413:5: ( ( 's' | 'S' ) ( 'q' | 'Q' ) ( 'r' | 'R' ) ( 't' | 'T' ) ) + // src/grammar/wcps.g:413:7: ( 's' | 'S' ) ( 'q' | 'Q' ) ( 'r' | 'R' ) ( 't' | 'T' ) { if ( input.LA(1)=='S'||input.LA(1)=='s' ) { input.consume(); @@ -953,8 +953,8 @@ public class wcpsLexer extends Lexer { try { int _type = SIN; int _channel = DEFAULT_TOKEN_CHANNEL; - // src/grammar/wcps.g:416:4: ( ( 's' | 'S' ) ( 'i' | 'I' ) ( 'n' | 'N' ) ) - // src/grammar/wcps.g:416:6: ( 's' | 'S' ) ( 'i' | 'I' ) ( 'n' | 'N' ) + // src/grammar/wcps.g:414:4: ( ( 's' | 'S' ) ( 'i' | 'I' ) ( 'n' | 'N' ) ) + // src/grammar/wcps.g:414:6: ( 's' | 'S' ) ( 'i' | 'I' ) ( 'n' | 'N' ) { if ( input.LA(1)=='S'||input.LA(1)=='s' ) { input.consume(); @@ -999,8 +999,8 @@ public class wcpsLexer extends Lexer { try { int _type = COS; int _channel = DEFAULT_TOKEN_CHANNEL; - // src/grammar/wcps.g:417:4: ( ( 'c' | 'C' ) ( 'o' | 'O' ) ( 's' | 'S' ) ) - // src/grammar/wcps.g:417:6: ( 'c' | 'C' ) ( 'o' | 'O' ) ( 's' | 'S' ) + // src/grammar/wcps.g:415:4: ( ( 'c' | 'C' ) ( 'o' | 'O' ) ( 's' | 'S' ) ) + // src/grammar/wcps.g:415:6: ( 'c' | 'C' ) ( 'o' | 'O' ) ( 's' | 'S' ) { if ( input.LA(1)=='C'||input.LA(1)=='c' ) { input.consume(); @@ -1045,8 +1045,8 @@ public class wcpsLexer extends Lexer { try { int _type = TAN; int _channel = DEFAULT_TOKEN_CHANNEL; - // src/grammar/wcps.g:418:4: ( ( 't' | 'T' ) ( 'a' | 'A' ) ( 'n' | 'N' ) ) - // src/grammar/wcps.g:418:6: ( 't' | 'T' ) ( 'a' | 'A' ) ( 'n' | 'N' ) + // src/grammar/wcps.g:416:4: ( ( 't' | 'T' ) ( 'a' | 'A' ) ( 'n' | 'N' ) ) + // src/grammar/wcps.g:416:6: ( 't' | 'T' ) ( 'a' | 'A' ) ( 'n' | 'N' ) { if ( input.LA(1)=='T'||input.LA(1)=='t' ) { input.consume(); @@ -1091,8 +1091,8 @@ public class wcpsLexer extends Lexer { try { int _type = SINH; int _channel = DEFAULT_TOKEN_CHANNEL; - // src/grammar/wcps.g:419:5: ( ( 's' | 'S' ) ( 'i' | 'I' ) ( 'n' | 'N' ) ( 'h' | 'H' ) ) - // src/grammar/wcps.g:419:7: ( 's' | 'S' ) ( 'i' | 'I' ) ( 'n' | 'N' ) ( 'h' | 'H' ) + // src/grammar/wcps.g:417:5: ( ( 's' | 'S' ) ( 'i' | 'I' ) ( 'n' | 'N' ) ( 'h' | 'H' ) ) + // src/grammar/wcps.g:417:7: ( 's' | 'S' ) ( 'i' | 'I' ) ( 'n' | 'N' ) ( 'h' | 'H' ) { if ( input.LA(1)=='S'||input.LA(1)=='s' ) { input.consume(); @@ -1146,8 +1146,8 @@ public class wcpsLexer extends Lexer { try { int _type = COSH; int _channel = DEFAULT_TOKEN_CHANNEL; - // src/grammar/wcps.g:420:5: ( ( 'c' | 'C' ) ( 'o' | 'O' ) ( 's' | 'S' ) ( 'h' | 'H' ) ) - // src/grammar/wcps.g:420:7: ( 'c' | 'C' ) ( 'o' | 'O' ) ( 's' | 'S' ) ( 'h' | 'H' ) + // src/grammar/wcps.g:418:5: ( ( 'c' | 'C' ) ( 'o' | 'O' ) ( 's' | 'S' ) ( 'h' | 'H' ) ) + // src/grammar/wcps.g:418:7: ( 'c' | 'C' ) ( 'o' | 'O' ) ( 's' | 'S' ) ( 'h' | 'H' ) { if ( input.LA(1)=='C'||input.LA(1)=='c' ) { input.consume(); @@ -1201,8 +1201,8 @@ public class wcpsLexer extends Lexer { try { int _type = TANH; int _channel = DEFAULT_TOKEN_CHANNEL; - // src/grammar/wcps.g:421:5: ( ( 't' | 'T' ) ( 'a' | 'A' ) ( 'n' | 'N' ) ( 'h' | 'H' ) ) - // src/grammar/wcps.g:421:7: ( 't' | 'T' ) ( 'a' | 'A' ) ( 'n' | 'N' ) ( 'h' | 'H' ) + // src/grammar/wcps.g:419:5: ( ( 't' | 'T' ) ( 'a' | 'A' ) ( 'n' | 'N' ) ( 'h' | 'H' ) ) + // src/grammar/wcps.g:419:7: ( 't' | 'T' ) ( 'a' | 'A' ) ( 'n' | 'N' ) ( 'h' | 'H' ) { if ( input.LA(1)=='T'||input.LA(1)=='t' ) { input.consume(); @@ -1256,8 +1256,8 @@ public class wcpsLexer extends Lexer { try { int _type = ARCSIN; int _channel = DEFAULT_TOKEN_CHANNEL; - // src/grammar/wcps.g:422:7: ( ( 'a' | 'A' ) ( 'r' | 'R' ) ( 'c' | 'C' ) ( 's' | 'S' ) ( 'i' | 'I' ) ( 'n' | 'N' ) ) - // src/grammar/wcps.g:422:9: ( 'a' | 'A' ) ( 'r' | 'R' ) ( 'c' | 'C' ) ( 's' | 'S' ) ( 'i' | 'I' ) ( 'n' | 'N' ) + // src/grammar/wcps.g:420:7: ( ( 'a' | 'A' ) ( 'r' | 'R' ) ( 'c' | 'C' ) ( 's' | 'S' ) ( 'i' | 'I' ) ( 'n' | 'N' ) ) + // src/grammar/wcps.g:420:9: ( 'a' | 'A' ) ( 'r' | 'R' ) ( 'c' | 'C' ) ( 's' | 'S' ) ( 'i' | 'I' ) ( 'n' | 'N' ) { if ( input.LA(1)=='A'||input.LA(1)=='a' ) { input.consume(); @@ -1329,8 +1329,8 @@ public class wcpsLexer extends Lexer { try { int _type = ARCCOS; int _channel = DEFAULT_TOKEN_CHANNEL; - // src/grammar/wcps.g:423:7: ( ( 'a' | 'A' ) ( 'r' | 'R' ) ( 'c' | 'C' ) ( 'c' | 'C' ) ( 'o' | 'O' ) ( 's' | 'S' ) ) - // src/grammar/wcps.g:423:9: ( 'a' | 'A' ) ( 'r' | 'R' ) ( 'c' | 'C' ) ( 'c' | 'C' ) ( 'o' | 'O' ) ( 's' | 'S' ) + // src/grammar/wcps.g:421:7: ( ( 'a' | 'A' ) ( 'r' | 'R' ) ( 'c' | 'C' ) ( 'c' | 'C' ) ( 'o' | 'O' ) ( 's' | 'S' ) ) + // src/grammar/wcps.g:421:9: ( 'a' | 'A' ) ( 'r' | 'R' ) ( 'c' | 'C' ) ( 'c' | 'C' ) ( 'o' | 'O' ) ( 's' | 'S' ) { if ( input.LA(1)=='A'||input.LA(1)=='a' ) { input.consume(); @@ -1402,8 +1402,8 @@ public class wcpsLexer extends Lexer { try { int _type = ARCTAN; int _channel = DEFAULT_TOKEN_CHANNEL; - // src/grammar/wcps.g:424:7: ( ( 'a' | 'A' ) ( 'r' | 'R' ) ( 'c' | 'C' ) ( 't' | 'T' ) ( 'a' | 'A' ) ( 'n' | 'N' ) ) - // src/grammar/wcps.g:424:9: ( 'a' | 'A' ) ( 'r' | 'R' ) ( 'c' | 'C' ) ( 't' | 'T' ) ( 'a' | 'A' ) ( 'n' | 'N' ) + // src/grammar/wcps.g:422:7: ( ( 'a' | 'A' ) ( 'r' | 'R' ) ( 'c' | 'C' ) ( 't' | 'T' ) ( 'a' | 'A' ) ( 'n' | 'N' ) ) + // src/grammar/wcps.g:422:9: ( 'a' | 'A' ) ( 'r' | 'R' ) ( 'c' | 'C' ) ( 't' | 'T' ) ( 'a' | 'A' ) ( 'n' | 'N' ) { if ( input.LA(1)=='A'||input.LA(1)=='a' ) { input.consume(); @@ -1475,8 +1475,8 @@ public class wcpsLexer extends Lexer { try { int _type = EXP; int _channel = DEFAULT_TOKEN_CHANNEL; - // src/grammar/wcps.g:425:4: ( ( 'e' | 'E' ) ( 'x' | 'X' ) ( 'p' | 'P' ) ) - // src/grammar/wcps.g:425:6: ( 'e' | 'E' ) ( 'x' | 'X' ) ( 'p' | 'P' ) + // src/grammar/wcps.g:423:4: ( ( 'e' | 'E' ) ( 'x' | 'X' ) ( 'p' | 'P' ) ) + // src/grammar/wcps.g:423:6: ( 'e' | 'E' ) ( 'x' | 'X' ) ( 'p' | 'P' ) { if ( input.LA(1)=='E'||input.LA(1)=='e' ) { input.consume(); @@ -1521,8 +1521,8 @@ public class wcpsLexer extends Lexer { try { int _type = LN; int _channel = DEFAULT_TOKEN_CHANNEL; - // src/grammar/wcps.g:426:3: ( ( 'l' | 'L' ) ( 'n' | 'N' ) ) - // src/grammar/wcps.g:426:5: ( 'l' | 'L' ) ( 'n' | 'N' ) + // src/grammar/wcps.g:424:3: ( ( 'l' | 'L' ) ( 'n' | 'N' ) ) + // src/grammar/wcps.g:424:5: ( 'l' | 'L' ) ( 'n' | 'N' ) { if ( input.LA(1)=='L'||input.LA(1)=='l' ) { input.consume(); @@ -1558,8 +1558,8 @@ public class wcpsLexer extends Lexer { try { int _type = LOG; int _channel = DEFAULT_TOKEN_CHANNEL; - // src/grammar/wcps.g:427:4: ( ( 'l' | 'L' ) ( 'o' | 'O' ) ( 'g' | 'G' ) ) - // src/grammar/wcps.g:427:6: ( 'l' | 'L' ) ( 'o' | 'O' ) ( 'g' | 'G' ) + // src/grammar/wcps.g:425:4: ( ( 'l' | 'L' ) ( 'o' | 'O' ) ( 'g' | 'G' ) ) + // src/grammar/wcps.g:425:6: ( 'l' | 'L' ) ( 'o' | 'O' ) ( 'g' | 'G' ) { if ( input.LA(1)=='L'||input.LA(1)=='l' ) { input.consume(); @@ -1604,8 +1604,8 @@ public class wcpsLexer extends Lexer { try { int _type = ROUND; int _channel = DEFAULT_TOKEN_CHANNEL; - // src/grammar/wcps.g:428:6: ( ( 'r' | 'R' ) ( 'o' | 'O' ) ( 'u' | 'U' ) ( 'n' | 'N' ) ( 'd' | 'D' ) ) - // src/grammar/wcps.g:428:8: ( 'r' | 'R' ) ( 'o' | 'O' ) ( 'u' | 'U' ) ( 'n' | 'N' ) ( 'd' | 'D' ) + // src/grammar/wcps.g:426:6: ( ( 'r' | 'R' ) ( 'o' | 'O' ) ( 'u' | 'U' ) ( 'n' | 'N' ) ( 'd' | 'D' ) ) + // src/grammar/wcps.g:426:8: ( 'r' | 'R' ) ( 'o' | 'O' ) ( 'u' | 'U' ) ( 'n' | 'N' ) ( 'd' | 'D' ) { if ( input.LA(1)=='R'||input.LA(1)=='r' ) { input.consume(); @@ -1668,8 +1668,8 @@ public class wcpsLexer extends Lexer { try { int _type = ABS; int _channel = DEFAULT_TOKEN_CHANNEL; - // src/grammar/wcps.g:429:4: ( ( 'a' | 'A' ) ( 'b' | 'B' ) ( 's' | 'S' ) ) - // src/grammar/wcps.g:429:6: ( 'a' | 'A' ) ( 'b' | 'B' ) ( 's' | 'S' ) + // src/grammar/wcps.g:427:4: ( ( 'a' | 'A' ) ( 'b' | 'B' ) ( 's' | 'S' ) ) + // src/grammar/wcps.g:427:6: ( 'a' | 'A' ) ( 'b' | 'B' ) ( 's' | 'S' ) { if ( input.LA(1)=='A'||input.LA(1)=='a' ) { input.consume(); @@ -1714,8 +1714,8 @@ public class wcpsLexer extends Lexer { try { int _type = OVERLAY; int _channel = DEFAULT_TOKEN_CHANNEL; - // src/grammar/wcps.g:430:8: ( ( 'o' | 'O' ) ( 'v' | 'V' ) ( 'e' | 'E' ) ( 'r' | 'R' ) ( 'l' | 'L' ) ( 'a' | 'A' ) ( 'y' | 'Y' ) ) - // src/grammar/wcps.g:430:10: ( 'o' | 'O' ) ( 'v' | 'V' ) ( 'e' | 'E' ) ( 'r' | 'R' ) ( 'l' | 'L' ) ( 'a' | 'A' ) ( 'y' | 'Y' ) + // src/grammar/wcps.g:428:8: ( ( 'o' | 'O' ) ( 'v' | 'V' ) ( 'e' | 'E' ) ( 'r' | 'R' ) ( 'l' | 'L' ) ( 'a' | 'A' ) ( 'y' | 'Y' ) ) + // src/grammar/wcps.g:428:10: ( 'o' | 'O' ) ( 'v' | 'V' ) ( 'e' | 'E' ) ( 'r' | 'R' ) ( 'l' | 'L' ) ( 'a' | 'A' ) ( 'y' | 'Y' ) { if ( input.LA(1)=='O'||input.LA(1)=='o' ) { input.consume(); @@ -1796,8 +1796,8 @@ public class wcpsLexer extends Lexer { try { int _type = STRUCT; int _channel = DEFAULT_TOKEN_CHANNEL; - // src/grammar/wcps.g:431:7: ( ( 's' | 'S' ) ( 't' | 'T' ) ( 'r' | 'R' ) ( 'u' | 'U' ) ( 'c' | 'C' ) ( 't' | 'T' ) ) - // src/grammar/wcps.g:431:9: ( 's' | 'S' ) ( 't' | 'T' ) ( 'r' | 'R' ) ( 'u' | 'U' ) ( 'c' | 'C' ) ( 't' | 'T' ) + // src/grammar/wcps.g:429:7: ( ( 's' | 'S' ) ( 't' | 'T' ) ( 'r' | 'R' ) ( 'u' | 'U' ) ( 'c' | 'C' ) ( 't' | 'T' ) ) + // src/grammar/wcps.g:429:9: ( 's' | 'S' ) ( 't' | 'T' ) ( 'r' | 'R' ) ( 'u' | 'U' ) ( 'c' | 'C' ) ( 't' | 'T' ) { if ( input.LA(1)=='S'||input.LA(1)=='s' ) { input.consume(); @@ -1869,8 +1869,8 @@ public class wcpsLexer extends Lexer { try { int _type = RE; int _channel = DEFAULT_TOKEN_CHANNEL; - // src/grammar/wcps.g:432:3: ( ( 'r' | 'R' ) ( 'e' | 'E' ) ) - // src/grammar/wcps.g:432:5: ( 'r' | 'R' ) ( 'e' | 'E' ) + // src/grammar/wcps.g:430:3: ( ( 'r' | 'R' ) ( 'e' | 'E' ) ) + // src/grammar/wcps.g:430:5: ( 'r' | 'R' ) ( 'e' | 'E' ) { if ( input.LA(1)=='R'||input.LA(1)=='r' ) { input.consume(); @@ -1906,8 +1906,8 @@ public class wcpsLexer extends Lexer { try { int _type = IM; int _channel = DEFAULT_TOKEN_CHANNEL; - // src/grammar/wcps.g:433:3: ( ( 'i' | 'I' ) ( 'm' | 'M' ) ) - // src/grammar/wcps.g:433:5: ( 'i' | 'I' ) ( 'm' | 'M' ) + // src/grammar/wcps.g:431:3: ( ( 'i' | 'I' ) ( 'm' | 'M' ) ) + // src/grammar/wcps.g:431:5: ( 'i' | 'I' ) ( 'm' | 'M' ) { if ( input.LA(1)=='I'||input.LA(1)=='i' ) { input.consume(); @@ -1943,8 +1943,8 @@ public class wcpsLexer extends Lexer { try { int _type = AND; int _channel = DEFAULT_TOKEN_CHANNEL; - // src/grammar/wcps.g:434:4: ( ( 'a' | 'A' ) ( 'n' | 'N' ) ( 'd' | 'D' ) ) - // src/grammar/wcps.g:434:6: ( 'a' | 'A' ) ( 'n' | 'N' ) ( 'd' | 'D' ) + // src/grammar/wcps.g:432:4: ( ( 'a' | 'A' ) ( 'n' | 'N' ) ( 'd' | 'D' ) ) + // src/grammar/wcps.g:432:6: ( 'a' | 'A' ) ( 'n' | 'N' ) ( 'd' | 'D' ) { if ( input.LA(1)=='A'||input.LA(1)=='a' ) { input.consume(); @@ -1989,8 +1989,8 @@ public class wcpsLexer extends Lexer { try { int _type = OR; int _channel = DEFAULT_TOKEN_CHANNEL; - // src/grammar/wcps.g:435:3: ( ( 'o' | 'O' ) ( 'r' | 'R' ) ) - // src/grammar/wcps.g:435:5: ( 'o' | 'O' ) ( 'r' | 'R' ) + // src/grammar/wcps.g:433:3: ( ( 'o' | 'O' ) ( 'r' | 'R' ) ) + // src/grammar/wcps.g:433:5: ( 'o' | 'O' ) ( 'r' | 'R' ) { if ( input.LA(1)=='O'||input.LA(1)=='o' ) { input.consume(); @@ -2026,8 +2026,8 @@ public class wcpsLexer extends Lexer { try { int _type = XOR; int _channel = DEFAULT_TOKEN_CHANNEL; - // src/grammar/wcps.g:436:4: ( ( 'x' | 'X' ) ( 'o' | 'O' ) ( 'r' | 'R' ) ) - // src/grammar/wcps.g:436:6: ( 'x' | 'X' ) ( 'o' | 'O' ) ( 'r' | 'R' ) + // src/grammar/wcps.g:434:4: ( ( 'x' | 'X' ) ( 'o' | 'O' ) ( 'r' | 'R' ) ) + // src/grammar/wcps.g:434:6: ( 'x' | 'X' ) ( 'o' | 'O' ) ( 'r' | 'R' ) { if ( input.LA(1)=='X'||input.LA(1)=='x' ) { input.consume(); @@ -2072,8 +2072,8 @@ public class wcpsLexer extends Lexer { try { int _type = NOT; int _channel = DEFAULT_TOKEN_CHANNEL; - // src/grammar/wcps.g:437:4: ( ( 'n' | 'N' ) ( 'o' | 'O' ) ( 't' | 'T' ) ) - // src/grammar/wcps.g:437:6: ( 'n' | 'N' ) ( 'o' | 'O' ) ( 't' | 'T' ) + // src/grammar/wcps.g:435:4: ( ( 'n' | 'N' ) ( 'o' | 'O' ) ( 't' | 'T' ) ) + // src/grammar/wcps.g:435:6: ( 'n' | 'N' ) ( 'o' | 'O' ) ( 't' | 'T' ) { if ( input.LA(1)=='N'||input.LA(1)=='n' ) { input.consume(); @@ -2118,8 +2118,8 @@ public class wcpsLexer extends Lexer { try { int _type = IDENTIFIER; int _channel = DEFAULT_TOKEN_CHANNEL; - // src/grammar/wcps.g:438:11: ( ( 'i' | 'I' ) ( 'd' | 'D' ) ( 'e' | 'E' ) ( 'n' | 'N' ) ( 't' | 'T' ) ( 'i' | 'I' ) ( 'f' | 'F' ) ( 'i' | 'I' ) ( 'e' | 'E' ) ( 'r' | 'R' ) ) - // src/grammar/wcps.g:438:13: ( 'i' | 'I' ) ( 'd' | 'D' ) ( 'e' | 'E' ) ( 'n' | 'N' ) ( 't' | 'T' ) ( 'i' | 'I' ) ( 'f' | 'F' ) ( 'i' | 'I' ) ( 'e' | 'E' ) ( 'r' | 'R' ) + // src/grammar/wcps.g:436:11: ( ( 'i' | 'I' ) ( 'd' | 'D' ) ( 'e' | 'E' ) ( 'n' | 'N' ) ( 't' | 'T' ) ( 'i' | 'I' ) ( 'f' | 'F' ) ( 'i' | 'I' ) ( 'e' | 'E' ) ( 'r' | 'R' ) ) + // src/grammar/wcps.g:436:13: ( 'i' | 'I' ) ( 'd' | 'D' ) ( 'e' | 'E' ) ( 'n' | 'N' ) ( 't' | 'T' ) ( 'i' | 'I' ) ( 'f' | 'F' ) ( 'i' | 'I' ) ( 'e' | 'E' ) ( 'r' | 'R' ) { if ( input.LA(1)=='I'||input.LA(1)=='i' ) { input.consume(); @@ -2227,8 +2227,8 @@ public class wcpsLexer extends Lexer { try { int _type = IMAGECRS; int _channel = DEFAULT_TOKEN_CHANNEL; - // src/grammar/wcps.g:439:9: ( ( 'i' | 'I' ) ( 'm' | 'M' ) ( 'a' | 'A' ) ( 'g' | 'G' ) ( 'e' | 'E' ) ( 'c' | 'C' ) ( 'r' | 'R' ) ( 's' | 'S' ) ) - // src/grammar/wcps.g:439:11: ( 'i' | 'I' ) ( 'm' | 'M' ) ( 'a' | 'A' ) ( 'g' | 'G' ) ( 'e' | 'E' ) ( 'c' | 'C' ) ( 'r' | 'R' ) ( 's' | 'S' ) + // src/grammar/wcps.g:437:9: ( ( 'i' | 'I' ) ( 'm' | 'M' ) ( 'a' | 'A' ) ( 'g' | 'G' ) ( 'e' | 'E' ) ( 'c' | 'C' ) ( 'r' | 'R' ) ( 's' | 'S' ) ) + // src/grammar/wcps.g:437:11: ( 'i' | 'I' ) ( 'm' | 'M' ) ( 'a' | 'A' ) ( 'g' | 'G' ) ( 'e' | 'E' ) ( 'c' | 'C' ) ( 'r' | 'R' ) ( 's' | 'S' ) { if ( input.LA(1)=='I'||input.LA(1)=='i' ) { input.consume(); @@ -2318,8 +2318,8 @@ public class wcpsLexer extends Lexer { try { int _type = IMAGECRSDOMAIN; int _channel = DEFAULT_TOKEN_CHANNEL; - // src/grammar/wcps.g:440:15: ( ( 'i' | 'I' ) ( 'm' | 'M' ) ( 'a' | 'A' ) ( 'g' | 'G' ) ( 'e' | 'E' ) ( 'c' | 'C' ) ( 'r' | 'R' ) ( 's' | 'S' ) ( 'd' | 'D' ) ( 'o' | 'O' ) ( 'm' | 'M' ) ( 'a' | 'A' ) ( 'i' | 'I' ) ( 'n' | 'N' ) ) - // src/grammar/wcps.g:440:17: ( 'i' | 'I' ) ( 'm' | 'M' ) ( 'a' | 'A' ) ( 'g' | 'G' ) ( 'e' | 'E' ) ( 'c' | 'C' ) ( 'r' | 'R' ) ( 's' | 'S' ) ( 'd' | 'D' ) ( 'o' | 'O' ) ( 'm' | 'M' ) ( 'a' | 'A' ) ( 'i' | 'I' ) ( 'n' | 'N' ) + // src/grammar/wcps.g:438:15: ( ( 'i' | 'I' ) ( 'm' | 'M' ) ( 'a' | 'A' ) ( 'g' | 'G' ) ( 'e' | 'E' ) ( 'c' | 'C' ) ( 'r' | 'R' ) ( 's' | 'S' ) ( 'd' | 'D' ) ( 'o' | 'O' ) ( 'm' | 'M' ) ( 'a' | 'A' ) ( 'i' | 'I' ) ( 'n' | 'N' ) ) + // src/grammar/wcps.g:438:17: ( 'i' | 'I' ) ( 'm' | 'M' ) ( 'a' | 'A' ) ( 'g' | 'G' ) ( 'e' | 'E' ) ( 'c' | 'C' ) ( 'r' | 'R' ) ( 's' | 'S' ) ( 'd' | 'D' ) ( 'o' | 'O' ) ( 'm' | 'M' ) ( 'a' | 'A' ) ( 'i' | 'I' ) ( 'n' | 'N' ) { if ( input.LA(1)=='I'||input.LA(1)=='i' ) { input.consume(); @@ -2463,8 +2463,8 @@ public class wcpsLexer extends Lexer { try { int _type = CRSSET; int _channel = DEFAULT_TOKEN_CHANNEL; - // src/grammar/wcps.g:441:7: ( ( 'c' | 'C' ) ( 'r' | 'R' ) ( 's' | 'S' ) ( 's' | 'S' ) ( 'e' | 'E' ) ( 't' | 'T' ) ) - // src/grammar/wcps.g:441:9: ( 'c' | 'C' ) ( 'r' | 'R' ) ( 's' | 'S' ) ( 's' | 'S' ) ( 'e' | 'E' ) ( 't' | 'T' ) + // src/grammar/wcps.g:439:7: ( ( 'c' | 'C' ) ( 'r' | 'R' ) ( 's' | 'S' ) ( 's' | 'S' ) ( 'e' | 'E' ) ( 't' | 'T' ) ) + // src/grammar/wcps.g:439:9: ( 'c' | 'C' ) ( 'r' | 'R' ) ( 's' | 'S' ) ( 's' | 'S' ) ( 'e' | 'E' ) ( 't' | 'T' ) { if ( input.LA(1)=='C'||input.LA(1)=='c' ) { input.consume(); @@ -2536,8 +2536,8 @@ public class wcpsLexer extends Lexer { try { int _type = DOMAIN; int _channel = DEFAULT_TOKEN_CHANNEL; - // src/grammar/wcps.g:442:7: ( ( 'd' | 'D' ) ( 'o' | 'O' ) ( 'm' | 'M' ) ( 'a' | 'A' ) ( 'i' | 'I' ) ( 'n' | 'N' ) ) - // src/grammar/wcps.g:442:9: ( 'd' | 'D' ) ( 'o' | 'O' ) ( 'm' | 'M' ) ( 'a' | 'A' ) ( 'i' | 'I' ) ( 'n' | 'N' ) + // src/grammar/wcps.g:440:7: ( ( 'd' | 'D' ) ( 'o' | 'O' ) ( 'm' | 'M' ) ( 'a' | 'A' ) ( 'i' | 'I' ) ( 'n' | 'N' ) ) + // src/grammar/wcps.g:440:9: ( 'd' | 'D' ) ( 'o' | 'O' ) ( 'm' | 'M' ) ( 'a' | 'A' ) ( 'i' | 'I' ) ( 'n' | 'N' ) { if ( input.LA(1)=='D'||input.LA(1)=='d' ) { input.consume(); @@ -2609,8 +2609,8 @@ public class wcpsLexer extends Lexer { try { int _type = NULLSET; int _channel = DEFAULT_TOKEN_CHANNEL; - // src/grammar/wcps.g:443:8: ( ( 'n' | 'N' ) ( 'u' | 'U' ) ( 'l' | 'L' ) ( 'l' | 'L' ) ( 's' | 'S' ) ( 'e' | 'E' ) ( 't' | 'T' ) ) - // src/grammar/wcps.g:443:10: ( 'n' | 'N' ) ( 'u' | 'U' ) ( 'l' | 'L' ) ( 'l' | 'L' ) ( 's' | 'S' ) ( 'e' | 'E' ) ( 't' | 'T' ) + // src/grammar/wcps.g:441:8: ( ( 'n' | 'N' ) ( 'u' | 'U' ) ( 'l' | 'L' ) ( 'l' | 'L' ) ( 's' | 'S' ) ( 'e' | 'E' ) ( 't' | 'T' ) ) + // src/grammar/wcps.g:441:10: ( 'n' | 'N' ) ( 'u' | 'U' ) ( 'l' | 'L' ) ( 'l' | 'L' ) ( 's' | 'S' ) ( 'e' | 'E' ) ( 't' | 'T' ) { if ( input.LA(1)=='N'||input.LA(1)=='n' ) { input.consume(); @@ -2691,8 +2691,8 @@ public class wcpsLexer extends Lexer { try { int _type = NULLDEFAULT; int _channel = DEFAULT_TOKEN_CHANNEL; - // src/grammar/wcps.g:444:12: ( ( 'n' | 'N' ) ( 'u' | 'U' ) ( 'l' | 'L' ) ( 'l' | 'L' ) ( 'd' | 'D' ) ( 'e' | 'E' ) ( 'f' | 'F' ) ( 'a' | 'A' ) ( 'u' | 'U' ) ( 'l' | 'L' ) ( 't' | 'T' ) ) - // src/grammar/wcps.g:444:14: ( 'n' | 'N' ) ( 'u' | 'U' ) ( 'l' | 'L' ) ( 'l' | 'L' ) ( 'd' | 'D' ) ( 'e' | 'E' ) ( 'f' | 'F' ) ( 'a' | 'A' ) ( 'u' | 'U' ) ( 'l' | 'L' ) ( 't' | 'T' ) + // src/grammar/wcps.g:442:12: ( ( 'n' | 'N' ) ( 'u' | 'U' ) ( 'l' | 'L' ) ( 'l' | 'L' ) ( 'd' | 'D' ) ( 'e' | 'E' ) ( 'f' | 'F' ) ( 'a' | 'A' ) ( 'u' | 'U' ) ( 'l' | 'L' ) ( 't' | 'T' ) ) + // src/grammar/wcps.g:442:14: ( 'n' | 'N' ) ( 'u' | 'U' ) ( 'l' | 'L' ) ( 'l' | 'L' ) ( 'd' | 'D' ) ( 'e' | 'E' ) ( 'f' | 'F' ) ( 'a' | 'A' ) ( 'u' | 'U' ) ( 'l' | 'L' ) ( 't' | 'T' ) { if ( input.LA(1)=='N'||input.LA(1)=='n' ) { input.consume(); @@ -2809,8 +2809,8 @@ public class wcpsLexer extends Lexer { try { int _type = INTERPOLATIONDEFAULT; int _channel = DEFAULT_TOKEN_CHANNEL; - // src/grammar/wcps.g:445:21: ( ( 'i' | 'I' ) ( 'n' | 'N' ) ( 't' | 'T' ) ( 'e' | 'E' ) ( 'r' | 'R' ) ( 'p' | 'P' ) ( 'o' | 'O' ) ( 'l' | 'L' ) ( 'a' | 'A' ) ( 't' | 'T' ) ( 'i' | 'I' ) ( 'o' | 'O' ) ( 'n' | 'N' ) ( 'd' | 'D' ) ( 'e' | 'E' ) ( 'f' | 'F' ) ( 'a' | 'A' ) ( 'u' | 'U' ) ( 'l' | 'L' ) ( 't' | 'T' ) ) - // src/grammar/wcps.g:445:23: ( 'i' | 'I' ) ( 'n' | 'N' ) ( 't' | 'T' ) ( 'e' | 'E' ) ( 'r' | 'R' ) ( 'p' | 'P' ) ( 'o' | 'O' ) ( 'l' | 'L' ) ( 'a' | 'A' ) ( 't' | 'T' ) ( 'i' | 'I' ) ( 'o' | 'O' ) ( 'n' | 'N' ) ( 'd' | 'D' ) ( 'e' | 'E' ) ( 'f' | 'F' ) ( 'a' | 'A' ) ( 'u' | 'U' ) ( 'l' | 'L' ) ( 't' | 'T' ) + // src/grammar/wcps.g:443:21: ( ( 'i' | 'I' ) ( 'n' | 'N' ) ( 't' | 'T' ) ( 'e' | 'E' ) ( 'r' | 'R' ) ( 'p' | 'P' ) ( 'o' | 'O' ) ( 'l' | 'L' ) ( 'a' | 'A' ) ( 't' | 'T' ) ( 'i' | 'I' ) ( 'o' | 'O' ) ( 'n' | 'N' ) ( 'd' | 'D' ) ( 'e' | 'E' ) ( 'f' | 'F' ) ( 'a' | 'A' ) ( 'u' | 'U' ) ( 'l' | 'L' ) ( 't' | 'T' ) ) + // src/grammar/wcps.g:443:23: ( 'i' | 'I' ) ( 'n' | 'N' ) ( 't' | 'T' ) ( 'e' | 'E' ) ( 'r' | 'R' ) ( 'p' | 'P' ) ( 'o' | 'O' ) ( 'l' | 'L' ) ( 'a' | 'A' ) ( 't' | 'T' ) ( 'i' | 'I' ) ( 'o' | 'O' ) ( 'n' | 'N' ) ( 'd' | 'D' ) ( 'e' | 'E' ) ( 'f' | 'F' ) ( 'a' | 'A' ) ( 'u' | 'U' ) ( 'l' | 'L' ) ( 't' | 'T' ) { if ( input.LA(1)=='I'||input.LA(1)=='i' ) { input.consume(); @@ -3008,8 +3008,8 @@ public class wcpsLexer extends Lexer { try { int _type = INTERPOLATIONSET; int _channel = DEFAULT_TOKEN_CHANNEL; - // src/grammar/wcps.g:446:17: ( ( 'i' | 'I' ) ( 'n' | 'N' ) ( 't' | 'T' ) ( 'e' | 'E' ) ( 'r' | 'R' ) ( 'p' | 'P' ) ( 'o' | 'O' ) ( 'l' | 'L' ) ( 'a' | 'A' ) ( 't' | 'T' ) ( 'i' | 'I' ) ( 'o' | 'O' ) ( 'n' | 'N' ) ( 's' | 'S' ) ( 'e' | 'E' ) ( 't' | 'T' ) ) - // src/grammar/wcps.g:446:19: ( 'i' | 'I' ) ( 'n' | 'N' ) ( 't' | 'T' ) ( 'e' | 'E' ) ( 'r' | 'R' ) ( 'p' | 'P' ) ( 'o' | 'O' ) ( 'l' | 'L' ) ( 'a' | 'A' ) ( 't' | 'T' ) ( 'i' | 'I' ) ( 'o' | 'O' ) ( 'n' | 'N' ) ( 's' | 'S' ) ( 'e' | 'E' ) ( 't' | 'T' ) + // src/grammar/wcps.g:444:17: ( ( 'i' | 'I' ) ( 'n' | 'N' ) ( 't' | 'T' ) ( 'e' | 'E' ) ( 'r' | 'R' ) ( 'p' | 'P' ) ( 'o' | 'O' ) ( 'l' | 'L' ) ( 'a' | 'A' ) ( 't' | 'T' ) ( 'i' | 'I' ) ( 'o' | 'O' ) ( 'n' | 'N' ) ( 's' | 'S' ) ( 'e' | 'E' ) ( 't' | 'T' ) ) + // src/grammar/wcps.g:444:19: ( 'i' | 'I' ) ( 'n' | 'N' ) ( 't' | 'T' ) ( 'e' | 'E' ) ( 'r' | 'R' ) ( 'p' | 'P' ) ( 'o' | 'O' ) ( 'l' | 'L' ) ( 'a' | 'A' ) ( 't' | 'T' ) ( 'i' | 'I' ) ( 'o' | 'O' ) ( 'n' | 'N' ) ( 's' | 'S' ) ( 'e' | 'E' ) ( 't' | 'T' ) { if ( input.LA(1)=='I'||input.LA(1)=='i' ) { input.consume(); @@ -3171,8 +3171,8 @@ public class wcpsLexer extends Lexer { try { int _type = SETIDENTIFIER; int _channel = DEFAULT_TOKEN_CHANNEL; - // src/grammar/wcps.g:447:14: ( ( 's' | 'S' ) ( 'e' | 'E' ) ( 't' | 'T' ) ( 'i' | 'I' ) ( 'd' | 'D' ) ( 'e' | 'E' ) ( 'n' | 'N' ) ( 't' | 'T' ) ( 'i' | 'I' ) ( 'f' | 'F' ) ( 'i' | 'I' ) ( 'e' | 'E' ) ( 'r' | 'R' ) ) - // src/grammar/wcps.g:447:16: ( 's' | 'S' ) ( 'e' | 'E' ) ( 't' | 'T' ) ( 'i' | 'I' ) ( 'd' | 'D' ) ( 'e' | 'E' ) ( 'n' | 'N' ) ( 't' | 'T' ) ( 'i' | 'I' ) ( 'f' | 'F' ) ( 'i' | 'I' ) ( 'e' | 'E' ) ( 'r' | 'R' ) + // src/grammar/wcps.g:445:14: ( ( 's' | 'S' ) ( 'e' | 'E' ) ( 't' | 'T' ) ( 'i' | 'I' ) ( 'd' | 'D' ) ( 'e' | 'E' ) ( 'n' | 'N' ) ( 't' | 'T' ) ( 'i' | 'I' ) ( 'f' | 'F' ) ( 'i' | 'I' ) ( 'e' | 'E' ) ( 'r' | 'R' ) ) + // src/grammar/wcps.g:445:16: ( 's' | 'S' ) ( 'e' | 'E' ) ( 't' | 'T' ) ( 'i' | 'I' ) ( 'd' | 'D' ) ( 'e' | 'E' ) ( 'n' | 'N' ) ( 't' | 'T' ) ( 'i' | 'I' ) ( 'f' | 'F' ) ( 'i' | 'I' ) ( 'e' | 'E' ) ( 'r' | 'R' ) { if ( input.LA(1)=='S'||input.LA(1)=='s' ) { input.consume(); @@ -3307,8 +3307,8 @@ public class wcpsLexer extends Lexer { try { int _type = SETNULLSET; int _channel = DEFAULT_TOKEN_CHANNEL; - // src/grammar/wcps.g:448:11: ( ( 's' | 'S' ) ( 'e' | 'E' ) ( 't' | 'T' ) ( 'n' | 'N' ) ( 'u' | 'U' ) ( 'l' | 'L' ) ( 'l' | 'L' ) ( 's' | 'S' ) ( 'e' | 'E' ) ( 't' | 'T' ) ) - // src/grammar/wcps.g:448:13: ( 's' | 'S' ) ( 'e' | 'E' ) ( 't' | 'T' ) ( 'n' | 'N' ) ( 'u' | 'U' ) ( 'l' | 'L' ) ( 'l' | 'L' ) ( 's' | 'S' ) ( 'e' | 'E' ) ( 't' | 'T' ) + // src/grammar/wcps.g:446:11: ( ( 's' | 'S' ) ( 'e' | 'E' ) ( 't' | 'T' ) ( 'n' | 'N' ) ( 'u' | 'U' ) ( 'l' | 'L' ) ( 'l' | 'L' ) ( 's' | 'S' ) ( 'e' | 'E' ) ( 't' | 'T' ) ) + // src/grammar/wcps.g:446:13: ( 's' | 'S' ) ( 'e' | 'E' ) ( 't' | 'T' ) ( 'n' | 'N' ) ( 'u' | 'U' ) ( 'l' | 'L' ) ( 'l' | 'L' ) ( 's' | 'S' ) ( 'e' | 'E' ) ( 't' | 'T' ) { if ( input.LA(1)=='S'||input.LA(1)=='s' ) { input.consume(); @@ -3416,8 +3416,8 @@ public class wcpsLexer extends Lexer { try { int _type = SETINTERPOLATIONDEFAULT; int _channel = DEFAULT_TOKEN_CHANNEL; - // src/grammar/wcps.g:449:24: ( ( 's' | 'S' ) ( 'e' | 'E' ) ( 't' | 'T' ) ( 'i' | 'I' ) ( 'n' | 'N' ) ( 't' | 'T' ) ( 'e' | 'E' ) ( 'r' | 'R' ) ( 'p' | 'P' ) ( 'o' | 'O' ) ( 'l' | 'L' ) ( 'a' | 'A' ) ( 't' | 'T' ) ( 'i' | 'I' ) ( 'o' | 'O' ) ( 'n' | 'N' ) ( 'd' | 'D' ) ( 'e' | 'E' ) ( 'f' | 'F' ) ( 'a' | 'A' ) ( 'u' | 'U' ) ( 'l' | 'L' ) ( 't' | 'T' ) ) - // src/grammar/wcps.g:449:26: ( 's' | 'S' ) ( 'e' | 'E' ) ( 't' | 'T' ) ( 'i' | 'I' ) ( 'n' | 'N' ) ( 't' | 'T' ) ( 'e' | 'E' ) ( 'r' | 'R' ) ( 'p' | 'P' ) ( 'o' | 'O' ) ( 'l' | 'L' ) ( 'a' | 'A' ) ( 't' | 'T' ) ( 'i' | 'I' ) ( 'o' | 'O' ) ( 'n' | 'N' ) ( 'd' | 'D' ) ( 'e' | 'E' ) ( 'f' | 'F' ) ( 'a' | 'A' ) ( 'u' | 'U' ) ( 'l' | 'L' ) ( 't' | 'T' ) + // src/grammar/wcps.g:447:24: ( ( 's' | 'S' ) ( 'e' | 'E' ) ( 't' | 'T' ) ( 'i' | 'I' ) ( 'n' | 'N' ) ( 't' | 'T' ) ( 'e' | 'E' ) ( 'r' | 'R' ) ( 'p' | 'P' ) ( 'o' | 'O' ) ( 'l' | 'L' ) ( 'a' | 'A' ) ( 't' | 'T' ) ( 'i' | 'I' ) ( 'o' | 'O' ) ( 'n' | 'N' ) ( 'd' | 'D' ) ( 'e' | 'E' ) ( 'f' | 'F' ) ( 'a' | 'A' ) ( 'u' | 'U' ) ( 'l' | 'L' ) ( 't' | 'T' ) ) + // src/grammar/wcps.g:447:26: ( 's' | 'S' ) ( 'e' | 'E' ) ( 't' | 'T' ) ( 'i' | 'I' ) ( 'n' | 'N' ) ( 't' | 'T' ) ( 'e' | 'E' ) ( 'r' | 'R' ) ( 'p' | 'P' ) ( 'o' | 'O' ) ( 'l' | 'L' ) ( 'a' | 'A' ) ( 't' | 'T' ) ( 'i' | 'I' ) ( 'o' | 'O' ) ( 'n' | 'N' ) ( 'd' | 'D' ) ( 'e' | 'E' ) ( 'f' | 'F' ) ( 'a' | 'A' ) ( 'u' | 'U' ) ( 'l' | 'L' ) ( 't' | 'T' ) { if ( input.LA(1)=='S'||input.LA(1)=='s' ) { input.consume(); @@ -3642,8 +3642,8 @@ public class wcpsLexer extends Lexer { try { int _type = SETINTERPOLATIONSET; int _channel = DEFAULT_TOKEN_CHANNEL; - // src/grammar/wcps.g:450:20: ( ( 's' | 'S' ) ( 'e' | 'E' ) ( 't' | 'T' ) ( 'i' | 'I' ) ( 'n' | 'N' ) ( 't' | 'T' ) ( 'e' | 'E' ) ( 'r' | 'R' ) ( 'p' | 'P' ) ( 'o' | 'O' ) ( 'l' | 'L' ) ( 'a' | 'A' ) ( 't' | 'T' ) ( 'i' | 'I' ) ( 'o' | 'O' ) ( 'n' | 'N' ) ( 's' | 'S' ) ( 'e' | 'E' ) ( 't' | 'T' ) ) - // src/grammar/wcps.g:450:21: ( 's' | 'S' ) ( 'e' | 'E' ) ( 't' | 'T' ) ( 'i' | 'I' ) ( 'n' | 'N' ) ( 't' | 'T' ) ( 'e' | 'E' ) ( 'r' | 'R' ) ( 'p' | 'P' ) ( 'o' | 'O' ) ( 'l' | 'L' ) ( 'a' | 'A' ) ( 't' | 'T' ) ( 'i' | 'I' ) ( 'o' | 'O' ) ( 'n' | 'N' ) ( 's' | 'S' ) ( 'e' | 'E' ) ( 't' | 'T' ) + // src/grammar/wcps.g:448:20: ( ( 's' | 'S' ) ( 'e' | 'E' ) ( 't' | 'T' ) ( 'i' | 'I' ) ( 'n' | 'N' ) ( 't' | 'T' ) ( 'e' | 'E' ) ( 'r' | 'R' ) ( 'p' | 'P' ) ( 'o' | 'O' ) ( 'l' | 'L' ) ( 'a' | 'A' ) ( 't' | 'T' ) ( 'i' | 'I' ) ( 'o' | 'O' ) ( 'n' | 'N' ) ( 's' | 'S' ) ( 'e' | 'E' ) ( 't' | 'T' ) ) + // src/grammar/wcps.g:448:21: ( 's' | 'S' ) ( 'e' | 'E' ) ( 't' | 'T' ) ( 'i' | 'I' ) ( 'n' | 'N' ) ( 't' | 'T' ) ( 'e' | 'E' ) ( 'r' | 'R' ) ( 'p' | 'P' ) ( 'o' | 'O' ) ( 'l' | 'L' ) ( 'a' | 'A' ) ( 't' | 'T' ) ( 'i' | 'I' ) ( 'o' | 'O' ) ( 'n' | 'N' ) ( 's' | 'S' ) ( 'e' | 'E' ) ( 't' | 'T' ) { if ( input.LA(1)=='S'||input.LA(1)=='s' ) { input.consume(); @@ -3832,8 +3832,8 @@ public class wcpsLexer extends Lexer { try { int _type = SETCRSSET; int _channel = DEFAULT_TOKEN_CHANNEL; - // src/grammar/wcps.g:451:10: ( ( 's' | 'S' ) ( 'e' | 'E' ) ( 't' | 'T' ) ( 'c' | 'C' ) ( 'r' | 'R' ) ( 's' | 'S' ) ( 's' | 'S' ) ( 'e' | 'E' ) ( 't' | 'T' ) ) - // src/grammar/wcps.g:451:12: ( 's' | 'S' ) ( 'e' | 'E' ) ( 't' | 'T' ) ( 'c' | 'C' ) ( 'r' | 'R' ) ( 's' | 'S' ) ( 's' | 'S' ) ( 'e' | 'E' ) ( 't' | 'T' ) + // src/grammar/wcps.g:449:10: ( ( 's' | 'S' ) ( 'e' | 'E' ) ( 't' | 'T' ) ( 'c' | 'C' ) ( 'r' | 'R' ) ( 's' | 'S' ) ( 's' | 'S' ) ( 'e' | 'E' ) ( 't' | 'T' ) ) + // src/grammar/wcps.g:449:12: ( 's' | 'S' ) ( 'e' | 'E' ) ( 't' | 'T' ) ( 'c' | 'C' ) ( 'r' | 'R' ) ( 's' | 'S' ) ( 's' | 'S' ) ( 'e' | 'E' ) ( 't' | 'T' ) { if ( input.LA(1)=='S'||input.LA(1)=='s' ) { input.consume(); @@ -3932,8 +3932,8 @@ public class wcpsLexer extends Lexer { try { int _type = TRIM; int _channel = DEFAULT_TOKEN_CHANNEL; - // src/grammar/wcps.g:452:5: ( ( 't' | 'T' ) ( 'r' | 'R' ) ( 'i' | 'I' ) ( 'm' | 'M' ) ) - // src/grammar/wcps.g:452:7: ( 't' | 'T' ) ( 'r' | 'R' ) ( 'i' | 'I' ) ( 'm' | 'M' ) + // src/grammar/wcps.g:450:5: ( ( 't' | 'T' ) ( 'r' | 'R' ) ( 'i' | 'I' ) ( 'm' | 'M' ) ) + // src/grammar/wcps.g:450:7: ( 't' | 'T' ) ( 'r' | 'R' ) ( 'i' | 'I' ) ( 'm' | 'M' ) { if ( input.LA(1)=='T'||input.LA(1)=='t' ) { input.consume(); @@ -3987,8 +3987,8 @@ public class wcpsLexer extends Lexer { try { int _type = SLICE; int _channel = DEFAULT_TOKEN_CHANNEL; - // src/grammar/wcps.g:453:6: ( ( 's' | 'S' ) ( 'l' | 'L' ) ( 'i' | 'I' ) ( 'c' | 'C' ) ( 'e' | 'E' ) ) - // src/grammar/wcps.g:453:8: ( 's' | 'S' ) ( 'l' | 'L' ) ( 'i' | 'I' ) ( 'c' | 'C' ) ( 'e' | 'E' ) + // src/grammar/wcps.g:451:6: ( ( 's' | 'S' ) ( 'l' | 'L' ) ( 'i' | 'I' ) ( 'c' | 'C' ) ( 'e' | 'E' ) ) + // src/grammar/wcps.g:451:8: ( 's' | 'S' ) ( 'l' | 'L' ) ( 'i' | 'I' ) ( 'c' | 'C' ) ( 'e' | 'E' ) { if ( input.LA(1)=='S'||input.LA(1)=='s' ) { input.consume(); @@ -4051,8 +4051,8 @@ public class wcpsLexer extends Lexer { try { int _type = EXTEND; int _channel = DEFAULT_TOKEN_CHANNEL; - // src/grammar/wcps.g:454:7: ( ( 'e' | 'E' ) ( 'x' | 'X' ) ( 't' | 'T' ) ( 'e' | 'E' ) ( 'n' | 'N' ) ( 'd' | 'D' ) ) - // src/grammar/wcps.g:454:9: ( 'e' | 'E' ) ( 'x' | 'X' ) ( 't' | 'T' ) ( 'e' | 'E' ) ( 'n' | 'N' ) ( 'd' | 'D' ) + // src/grammar/wcps.g:452:7: ( ( 'e' | 'E' ) ( 'x' | 'X' ) ( 't' | 'T' ) ( 'e' | 'E' ) ( 'n' | 'N' ) ( 'd' | 'D' ) ) + // src/grammar/wcps.g:452:9: ( 'e' | 'E' ) ( 'x' | 'X' ) ( 't' | 'T' ) ( 'e' | 'E' ) ( 'n' | 'N' ) ( 'd' | 'D' ) { if ( input.LA(1)=='E'||input.LA(1)=='e' ) { input.consume(); @@ -4124,8 +4124,8 @@ public class wcpsLexer extends Lexer { try { int _type = SCALE; int _channel = DEFAULT_TOKEN_CHANNEL; - // src/grammar/wcps.g:455:6: ( ( 's' | 'S' ) ( 'c' | 'C' ) ( 'a' | 'A' ) ( 'l' | 'L' ) ( 'e' | 'E' ) ) - // src/grammar/wcps.g:455:8: ( 's' | 'S' ) ( 'c' | 'C' ) ( 'a' | 'A' ) ( 'l' | 'L' ) ( 'e' | 'E' ) + // src/grammar/wcps.g:453:6: ( ( 's' | 'S' ) ( 'c' | 'C' ) ( 'a' | 'A' ) ( 'l' | 'L' ) ( 'e' | 'E' ) ) + // src/grammar/wcps.g:453:8: ( 's' | 'S' ) ( 'c' | 'C' ) ( 'a' | 'A' ) ( 'l' | 'L' ) ( 'e' | 'E' ) { if ( input.LA(1)=='S'||input.LA(1)=='s' ) { input.consume(); @@ -4188,8 +4188,8 @@ public class wcpsLexer extends Lexer { try { int _type = CRSTRANSFORM; int _channel = DEFAULT_TOKEN_CHANNEL; - // src/grammar/wcps.g:456:13: ( ( 'c' | 'C' ) ( 'r' | 'R' ) ( 's' | 'S' ) ( 't' | 'T' ) ( 'r' | 'R' ) ( 'a' | 'A' ) ( 'n' | 'N' ) ( 's' | 'S' ) ( 'f' | 'F' ) ( 'o' | 'O' ) ( 'r' | 'R' ) ( 'm' | 'M' ) ) - // src/grammar/wcps.g:456:15: ( 'c' | 'C' ) ( 'r' | 'R' ) ( 's' | 'S' ) ( 't' | 'T' ) ( 'r' | 'R' ) ( 'a' | 'A' ) ( 'n' | 'N' ) ( 's' | 'S' ) ( 'f' | 'F' ) ( 'o' | 'O' ) ( 'r' | 'R' ) ( 'm' | 'M' ) + // src/grammar/wcps.g:454:13: ( ( 'c' | 'C' ) ( 'r' | 'R' ) ( 's' | 'S' ) ( 't' | 'T' ) ( 'r' | 'R' ) ( 'a' | 'A' ) ( 'n' | 'N' ) ( 's' | 'S' ) ( 'f' | 'F' ) ( 'o' | 'O' ) ( 'r' | 'R' ) ( 'm' | 'M' ) ) + // src/grammar/wcps.g:454:15: ( 'c' | 'C' ) ( 'r' | 'R' ) ( 's' | 'S' ) ( 't' | 'T' ) ( 'r' | 'R' ) ( 'a' | 'A' ) ( 'n' | 'N' ) ( 's' | 'S' ) ( 'f' | 'F' ) ( 'o' | 'O' ) ( 'r' | 'R' ) ( 'm' | 'M' ) { if ( input.LA(1)=='C'||input.LA(1)=='c' ) { input.consume(); @@ -4315,8 +4315,8 @@ public class wcpsLexer extends Lexer { try { int _type = COUNT; int _channel = DEFAULT_TOKEN_CHANNEL; - // src/grammar/wcps.g:457:6: ( ( 'c' | 'C' ) ( 'o' | 'O' ) ( 'u' | 'U' ) ( 'n' | 'N' ) ( 't' | 'T' ) ) - // src/grammar/wcps.g:457:8: ( 'c' | 'C' ) ( 'o' | 'O' ) ( 'u' | 'U' ) ( 'n' | 'N' ) ( 't' | 'T' ) + // src/grammar/wcps.g:455:6: ( ( 'c' | 'C' ) ( 'o' | 'O' ) ( 'u' | 'U' ) ( 'n' | 'N' ) ( 't' | 'T' ) ) + // src/grammar/wcps.g:455:8: ( 'c' | 'C' ) ( 'o' | 'O' ) ( 'u' | 'U' ) ( 'n' | 'N' ) ( 't' | 'T' ) { if ( input.LA(1)=='C'||input.LA(1)=='c' ) { input.consume(); @@ -4379,8 +4379,8 @@ public class wcpsLexer extends Lexer { try { int _type = ADD; int _channel = DEFAULT_TOKEN_CHANNEL; - // src/grammar/wcps.g:458:4: ( ( 'a' | 'A' ) ( 'd' | 'D' ) ( 'd' | 'D' ) ) - // src/grammar/wcps.g:458:6: ( 'a' | 'A' ) ( 'd' | 'D' ) ( 'd' | 'D' ) + // src/grammar/wcps.g:456:4: ( ( 'a' | 'A' ) ( 'd' | 'D' ) ( 'd' | 'D' ) ) + // src/grammar/wcps.g:456:6: ( 'a' | 'A' ) ( 'd' | 'D' ) ( 'd' | 'D' ) { if ( input.LA(1)=='A'||input.LA(1)=='a' ) { input.consume(); @@ -4425,8 +4425,8 @@ public class wcpsLexer extends Lexer { try { int _type = AVG; int _channel = DEFAULT_TOKEN_CHANNEL; - // src/grammar/wcps.g:459:4: ( ( 'a' | 'A' ) ( 'v' | 'V' ) ( 'g' | 'G' ) ) - // src/grammar/wcps.g:459:6: ( 'a' | 'A' ) ( 'v' | 'V' ) ( 'g' | 'G' ) + // src/grammar/wcps.g:457:4: ( ( 'a' | 'A' ) ( 'v' | 'V' ) ( 'g' | 'G' ) ) + // src/grammar/wcps.g:457:6: ( 'a' | 'A' ) ( 'v' | 'V' ) ( 'g' | 'G' ) { if ( input.LA(1)=='A'||input.LA(1)=='a' ) { input.consume(); @@ -4471,8 +4471,8 @@ public class wcpsLexer extends Lexer { try { int _type = MAX; int _channel = DEFAULT_TOKEN_CHANNEL; - // src/grammar/wcps.g:460:4: ( ( 'm' | 'M' ) ( 'a' | 'A' ) ( 'x' | 'X' ) ) - // src/grammar/wcps.g:460:6: ( 'm' | 'M' ) ( 'a' | 'A' ) ( 'x' | 'X' ) + // src/grammar/wcps.g:458:4: ( ( 'm' | 'M' ) ( 'a' | 'A' ) ( 'x' | 'X' ) ) + // src/grammar/wcps.g:458:6: ( 'm' | 'M' ) ( 'a' | 'A' ) ( 'x' | 'X' ) { if ( input.LA(1)=='M'||input.LA(1)=='m' ) { input.consume(); @@ -4517,8 +4517,8 @@ public class wcpsLexer extends Lexer { try { int _type = MIN; int _channel = DEFAULT_TOKEN_CHANNEL; - // src/grammar/wcps.g:461:4: ( ( 'm' | 'M' ) ( 'i' | 'I' ) ( 'n' | 'N' ) ) - // src/grammar/wcps.g:461:6: ( 'm' | 'M' ) ( 'i' | 'I' ) ( 'n' | 'N' ) + // src/grammar/wcps.g:459:4: ( ( 'm' | 'M' ) ( 'i' | 'I' ) ( 'n' | 'N' ) ) + // src/grammar/wcps.g:459:6: ( 'm' | 'M' ) ( 'i' | 'I' ) ( 'n' | 'N' ) { if ( input.LA(1)=='M'||input.LA(1)=='m' ) { input.consume(); @@ -4563,8 +4563,8 @@ public class wcpsLexer extends Lexer { try { int _type = SOME; int _channel = DEFAULT_TOKEN_CHANNEL; - // src/grammar/wcps.g:462:5: ( ( 's' | 'S' ) ( 'o' | 'O' ) ( 'm' | 'M' ) ( 'e' | 'E' ) ) - // src/grammar/wcps.g:462:7: ( 's' | 'S' ) ( 'o' | 'O' ) ( 'm' | 'M' ) ( 'e' | 'E' ) + // src/grammar/wcps.g:460:5: ( ( 's' | 'S' ) ( 'o' | 'O' ) ( 'm' | 'M' ) ( 'e' | 'E' ) ) + // src/grammar/wcps.g:460:7: ( 's' | 'S' ) ( 'o' | 'O' ) ( 'm' | 'M' ) ( 'e' | 'E' ) { if ( input.LA(1)=='S'||input.LA(1)=='s' ) { input.consume(); @@ -4618,8 +4618,8 @@ public class wcpsLexer extends Lexer { try { int _type = ALL; int _channel = DEFAULT_TOKEN_CHANNEL; - // src/grammar/wcps.g:463:4: ( ( 'a' | 'A' ) ( 'l' | 'L' ) ( 'l' | 'L' ) ) - // src/grammar/wcps.g:463:6: ( 'a' | 'A' ) ( 'l' | 'L' ) ( 'l' | 'L' ) + // src/grammar/wcps.g:461:4: ( ( 'a' | 'A' ) ( 'l' | 'L' ) ( 'l' | 'L' ) ) + // src/grammar/wcps.g:461:6: ( 'a' | 'A' ) ( 'l' | 'L' ) ( 'l' | 'L' ) { if ( input.LA(1)=='A'||input.LA(1)=='a' ) { input.consume(); @@ -4664,8 +4664,8 @@ public class wcpsLexer extends Lexer { try { int _type = COVERAGE; int _channel = DEFAULT_TOKEN_CHANNEL; - // src/grammar/wcps.g:464:9: ( ( 'c' | 'C' ) ( 'o' | 'O' ) ( 'v' | 'V' ) ( 'e' | 'E' ) ( 'r' | 'R' ) ( 'a' | 'A' ) ( 'g' | 'G' ) ( 'e' | 'E' ) ) - // src/grammar/wcps.g:464:11: ( 'c' | 'C' ) ( 'o' | 'O' ) ( 'v' | 'V' ) ( 'e' | 'E' ) ( 'r' | 'R' ) ( 'a' | 'A' ) ( 'g' | 'G' ) ( 'e' | 'E' ) + // src/grammar/wcps.g:462:9: ( ( 'c' | 'C' ) ( 'o' | 'O' ) ( 'v' | 'V' ) ( 'e' | 'E' ) ( 'r' | 'R' ) ( 'a' | 'A' ) ( 'g' | 'G' ) ( 'e' | 'E' ) ) + // src/grammar/wcps.g:462:11: ( 'c' | 'C' ) ( 'o' | 'O' ) ( 'v' | 'V' ) ( 'e' | 'E' ) ( 'r' | 'R' ) ( 'a' | 'A' ) ( 'g' | 'G' ) ( 'e' | 'E' ) { if ( input.LA(1)=='C'||input.LA(1)=='c' ) { input.consume(); @@ -4755,8 +4755,8 @@ public class wcpsLexer extends Lexer { try { int _type = OVER; int _channel = DEFAULT_TOKEN_CHANNEL; - // src/grammar/wcps.g:465:5: ( ( 'o' | 'O' ) ( 'v' | 'V' ) ( 'e' | 'E' ) ( 'r' | 'R' ) ) - // src/grammar/wcps.g:465:7: ( 'o' | 'O' ) ( 'v' | 'V' ) ( 'e' | 'E' ) ( 'r' | 'R' ) + // src/grammar/wcps.g:463:5: ( ( 'o' | 'O' ) ( 'v' | 'V' ) ( 'e' | 'E' ) ( 'r' | 'R' ) ) + // src/grammar/wcps.g:463:7: ( 'o' | 'O' ) ( 'v' | 'V' ) ( 'e' | 'E' ) ( 'r' | 'R' ) { if ( input.LA(1)=='O'||input.LA(1)=='o' ) { input.consume(); @@ -4810,8 +4810,8 @@ public class wcpsLexer extends Lexer { try { int _type = VALUE; int _channel = DEFAULT_TOKEN_CHANNEL; - // src/grammar/wcps.g:466:6: ( ( 'v' | 'V' ) ( 'a' | 'A' ) ( 'l' | 'L' ) ( 'u' | 'U' ) ( 'e' | 'E' ) ) - // src/grammar/wcps.g:466:8: ( 'v' | 'V' ) ( 'a' | 'A' ) ( 'l' | 'L' ) ( 'u' | 'U' ) ( 'e' | 'E' ) + // src/grammar/wcps.g:464:6: ( ( 'v' | 'V' ) ( 'a' | 'A' ) ( 'l' | 'L' ) ( 'u' | 'U' ) ( 'e' | 'E' ) ) + // src/grammar/wcps.g:464:8: ( 'v' | 'V' ) ( 'a' | 'A' ) ( 'l' | 'L' ) ( 'u' | 'U' ) ( 'e' | 'E' ) { if ( input.LA(1)=='V'||input.LA(1)=='v' ) { input.consume(); @@ -4874,8 +4874,8 @@ public class wcpsLexer extends Lexer { try { int _type = VALUES; int _channel = DEFAULT_TOKEN_CHANNEL; - // src/grammar/wcps.g:467:7: ( ( 'v' | 'V' ) ( 'a' | 'A' ) ( 'l' | 'L' ) ( 'u' | 'U' ) ( 'e' | 'E' ) ( 's' | 'S' ) ) - // src/grammar/wcps.g:467:9: ( 'v' | 'V' ) ( 'a' | 'A' ) ( 'l' | 'L' ) ( 'u' | 'U' ) ( 'e' | 'E' ) ( 's' | 'S' ) + // src/grammar/wcps.g:465:7: ( ( 'v' | 'V' ) ( 'a' | 'A' ) ( 'l' | 'L' ) ( 'u' | 'U' ) ( 'e' | 'E' ) ( 's' | 'S' ) ) + // src/grammar/wcps.g:465:9: ( 'v' | 'V' ) ( 'a' | 'A' ) ( 'l' | 'L' ) ( 'u' | 'U' ) ( 'e' | 'E' ) ( 's' | 'S' ) { if ( input.LA(1)=='V'||input.LA(1)=='v' ) { input.consume(); @@ -4947,8 +4947,8 @@ public class wcpsLexer extends Lexer { try { int _type = LIST; int _channel = DEFAULT_TOKEN_CHANNEL; - // src/grammar/wcps.g:468:5: ( ( 'l' | 'L' ) ( 'i' | 'I' ) ( 's' | 'S' ) ( 't' | 'T' ) ) - // src/grammar/wcps.g:468:7: ( 'l' | 'L' ) ( 'i' | 'I' ) ( 's' | 'S' ) ( 't' | 'T' ) + // src/grammar/wcps.g:466:5: ( ( 'l' | 'L' ) ( 'i' | 'I' ) ( 's' | 'S' ) ( 't' | 'T' ) ) + // src/grammar/wcps.g:466:7: ( 'l' | 'L' ) ( 'i' | 'I' ) ( 's' | 'S' ) ( 't' | 'T' ) { if ( input.LA(1)=='L'||input.LA(1)=='l' ) { input.consume(); @@ -5002,8 +5002,8 @@ public class wcpsLexer extends Lexer { try { int _type = CONDENSE; int _channel = DEFAULT_TOKEN_CHANNEL; - // src/grammar/wcps.g:469:9: ( ( 'c' | 'C' ) ( 'o' | 'O' ) ( 'n' | 'N' ) ( 'd' | 'D' ) ( 'e' | 'E' ) ( 'n' | 'N' ) ( 's' | 'S' ) ( 'e' | 'E' ) ) - // src/grammar/wcps.g:469:11: ( 'c' | 'C' ) ( 'o' | 'O' ) ( 'n' | 'N' ) ( 'd' | 'D' ) ( 'e' | 'E' ) ( 'n' | 'N' ) ( 's' | 'S' ) ( 'e' | 'E' ) + // src/grammar/wcps.g:467:9: ( ( 'c' | 'C' ) ( 'o' | 'O' ) ( 'n' | 'N' ) ( 'd' | 'D' ) ( 'e' | 'E' ) ( 'n' | 'N' ) ( 's' | 'S' ) ( 'e' | 'E' ) ) + // src/grammar/wcps.g:467:11: ( 'c' | 'C' ) ( 'o' | 'O' ) ( 'n' | 'N' ) ( 'd' | 'D' ) ( 'e' | 'E' ) ( 'n' | 'N' ) ( 's' | 'S' ) ( 'e' | 'E' ) { if ( input.LA(1)=='C'||input.LA(1)=='c' ) { input.consume(); @@ -5093,8 +5093,8 @@ public class wcpsLexer extends Lexer { try { int _type = USING; int _channel = DEFAULT_TOKEN_CHANNEL; - // src/grammar/wcps.g:470:6: ( ( 'u' | 'U' ) ( 's' | 'S' ) ( 'i' | 'I' ) ( 'n' | 'N' ) ( 'g' | 'G' ) ) - // src/grammar/wcps.g:470:8: ( 'u' | 'U' ) ( 's' | 'S' ) ( 'i' | 'I' ) ( 'n' | 'N' ) ( 'g' | 'G' ) + // src/grammar/wcps.g:468:6: ( ( 'u' | 'U' ) ( 's' | 'S' ) ( 'i' | 'I' ) ( 'n' | 'N' ) ( 'g' | 'G' ) ) + // src/grammar/wcps.g:468:8: ( 'u' | 'U' ) ( 's' | 'S' ) ( 'i' | 'I' ) ( 'n' | 'N' ) ( 'g' | 'G' ) { if ( input.LA(1)=='U'||input.LA(1)=='u' ) { input.consume(); @@ -5157,8 +5157,8 @@ public class wcpsLexer extends Lexer { try { int _type = NEAREST; int _channel = DEFAULT_TOKEN_CHANNEL; - // src/grammar/wcps.g:471:8: ( ( 'n' | 'N' ) ( 'e' | 'E' ) ( 'a' | 'A' ) ( 'r' | 'R' ) ( 'e' | 'E' ) ( 's' | 'S' ) ( 't' | 'T' ) ) - // src/grammar/wcps.g:471:10: ( 'n' | 'N' ) ( 'e' | 'E' ) ( 'a' | 'A' ) ( 'r' | 'R' ) ( 'e' | 'E' ) ( 's' | 'S' ) ( 't' | 'T' ) + // src/grammar/wcps.g:469:8: ( ( 'n' | 'N' ) ( 'e' | 'E' ) ( 'a' | 'A' ) ( 'r' | 'R' ) ( 'e' | 'E' ) ( 's' | 'S' ) ( 't' | 'T' ) ) + // src/grammar/wcps.g:469:10: ( 'n' | 'N' ) ( 'e' | 'E' ) ( 'a' | 'A' ) ( 'r' | 'R' ) ( 'e' | 'E' ) ( 's' | 'S' ) ( 't' | 'T' ) { if ( input.LA(1)=='N'||input.LA(1)=='n' ) { input.consume(); @@ -5239,8 +5239,8 @@ public class wcpsLexer extends Lexer { try { int _type = LINEAR; int _channel = DEFAULT_TOKEN_CHANNEL; - // src/grammar/wcps.g:472:7: ( ( 'l' | 'L' ) ( 'i' | 'I' ) ( 'n' | 'N' ) ( 'e' | 'E' ) ( 'a' | 'A' ) ( 'r' | 'R' ) ) - // src/grammar/wcps.g:472:9: ( 'l' | 'L' ) ( 'i' | 'I' ) ( 'n' | 'N' ) ( 'e' | 'E' ) ( 'a' | 'A' ) ( 'r' | 'R' ) + // src/grammar/wcps.g:470:7: ( ( 'l' | 'L' ) ( 'i' | 'I' ) ( 'n' | 'N' ) ( 'e' | 'E' ) ( 'a' | 'A' ) ( 'r' | 'R' ) ) + // src/grammar/wcps.g:470:9: ( 'l' | 'L' ) ( 'i' | 'I' ) ( 'n' | 'N' ) ( 'e' | 'E' ) ( 'a' | 'A' ) ( 'r' | 'R' ) { if ( input.LA(1)=='L'||input.LA(1)=='l' ) { input.consume(); @@ -5312,8 +5312,8 @@ public class wcpsLexer extends Lexer { try { int _type = QUADRATIC; int _channel = DEFAULT_TOKEN_CHANNEL; - // src/grammar/wcps.g:473:10: ( ( 'q' | 'Q' ) ( 'u' | 'U' ) ( 'a' | 'A' ) ( 'd' | 'D' ) ( 'r' | 'R' ) ( 'a' | 'A' ) ( 't' | 'T' ) ( 'i' | 'I' ) ( 'c' | 'C' ) ) - // src/grammar/wcps.g:473:12: ( 'q' | 'Q' ) ( 'u' | 'U' ) ( 'a' | 'A' ) ( 'd' | 'D' ) ( 'r' | 'R' ) ( 'a' | 'A' ) ( 't' | 'T' ) ( 'i' | 'I' ) ( 'c' | 'C' ) + // src/grammar/wcps.g:471:10: ( ( 'q' | 'Q' ) ( 'u' | 'U' ) ( 'a' | 'A' ) ( 'd' | 'D' ) ( 'r' | 'R' ) ( 'a' | 'A' ) ( 't' | 'T' ) ( 'i' | 'I' ) ( 'c' | 'C' ) ) + // src/grammar/wcps.g:471:12: ( 'q' | 'Q' ) ( 'u' | 'U' ) ( 'a' | 'A' ) ( 'd' | 'D' ) ( 'r' | 'R' ) ( 'a' | 'A' ) ( 't' | 'T' ) ( 'i' | 'I' ) ( 'c' | 'C' ) { if ( input.LA(1)=='Q'||input.LA(1)=='q' ) { input.consume(); @@ -5412,8 +5412,8 @@ public class wcpsLexer extends Lexer { try { int _type = CUBIC; int _channel = DEFAULT_TOKEN_CHANNEL; - // src/grammar/wcps.g:474:6: ( ( 'c' | 'C' ) ( 'u' | 'U' ) ( 'b' | 'B' ) ( 'i' | 'I' ) ( 'c' | 'C' ) ) - // src/grammar/wcps.g:474:8: ( 'c' | 'C' ) ( 'u' | 'U' ) ( 'b' | 'B' ) ( 'i' | 'I' ) ( 'c' | 'C' ) + // src/grammar/wcps.g:472:6: ( ( 'c' | 'C' ) ( 'u' | 'U' ) ( 'b' | 'B' ) ( 'i' | 'I' ) ( 'c' | 'C' ) ) + // src/grammar/wcps.g:472:8: ( 'c' | 'C' ) ( 'u' | 'U' ) ( 'b' | 'B' ) ( 'i' | 'I' ) ( 'c' | 'C' ) { if ( input.LA(1)=='C'||input.LA(1)=='c' ) { input.consume(); @@ -5476,8 +5476,8 @@ public class wcpsLexer extends Lexer { try { int _type = FULL; int _channel = DEFAULT_TOKEN_CHANNEL; - // src/grammar/wcps.g:475:5: ( ( 'f' | 'F' ) ( 'u' | 'U' ) ( 'l' | 'L' ) ( 'l' | 'L' ) ) - // src/grammar/wcps.g:475:7: ( 'f' | 'F' ) ( 'u' | 'U' ) ( 'l' | 'L' ) ( 'l' | 'L' ) + // src/grammar/wcps.g:473:5: ( ( 'f' | 'F' ) ( 'u' | 'U' ) ( 'l' | 'L' ) ( 'l' | 'L' ) ) + // src/grammar/wcps.g:473:7: ( 'f' | 'F' ) ( 'u' | 'U' ) ( 'l' | 'L' ) ( 'l' | 'L' ) { if ( input.LA(1)=='F'||input.LA(1)=='f' ) { input.consume(); @@ -5531,8 +5531,8 @@ public class wcpsLexer extends Lexer { try { int _type = NONE; int _channel = DEFAULT_TOKEN_CHANNEL; - // src/grammar/wcps.g:476:5: ( ( 'n' | 'N' ) ( 'o' | 'O' ) ( 'n' | 'N' ) ( 'e' | 'E' ) ) - // src/grammar/wcps.g:476:7: ( 'n' | 'N' ) ( 'o' | 'O' ) ( 'n' | 'N' ) ( 'e' | 'E' ) + // src/grammar/wcps.g:474:5: ( ( 'n' | 'N' ) ( 'o' | 'O' ) ( 'n' | 'N' ) ( 'e' | 'E' ) ) + // src/grammar/wcps.g:474:7: ( 'n' | 'N' ) ( 'o' | 'O' ) ( 'n' | 'N' ) ( 'e' | 'E' ) { if ( input.LA(1)=='N'||input.LA(1)=='n' ) { input.consume(); @@ -5586,8 +5586,8 @@ public class wcpsLexer extends Lexer { try { int _type = HALF; int _channel = DEFAULT_TOKEN_CHANNEL; - // src/grammar/wcps.g:477:5: ( ( 'h' | 'H' ) ( 'a' | 'A' ) ( 'l' | 'L' ) ( 'f' | 'F' ) ) - // src/grammar/wcps.g:477:7: ( 'h' | 'H' ) ( 'a' | 'A' ) ( 'l' | 'L' ) ( 'f' | 'F' ) + // src/grammar/wcps.g:475:5: ( ( 'h' | 'H' ) ( 'a' | 'A' ) ( 'l' | 'L' ) ( 'f' | 'F' ) ) + // src/grammar/wcps.g:475:7: ( 'h' | 'H' ) ( 'a' | 'A' ) ( 'l' | 'L' ) ( 'f' | 'F' ) { if ( input.LA(1)=='H'||input.LA(1)=='h' ) { input.consume(); @@ -5641,8 +5641,8 @@ public class wcpsLexer extends Lexer { try { int _type = OTHER; int _channel = DEFAULT_TOKEN_CHANNEL; - // src/grammar/wcps.g:478:6: ( ( 'o' | 'O' ) ( 't' | 'T' ) ( 'h' | 'H' ) ( 'e' | 'E' ) ( 'r' | 'R' ) ) - // src/grammar/wcps.g:478:8: ( 'o' | 'O' ) ( 't' | 'T' ) ( 'h' | 'H' ) ( 'e' | 'E' ) ( 'r' | 'R' ) + // src/grammar/wcps.g:476:6: ( ( 'o' | 'O' ) ( 't' | 'T' ) ( 'h' | 'H' ) ( 'e' | 'E' ) ( 'r' | 'R' ) ) + // src/grammar/wcps.g:476:8: ( 'o' | 'O' ) ( 't' | 'T' ) ( 'h' | 'H' ) ( 'e' | 'E' ) ( 'r' | 'R' ) { if ( input.LA(1)=='O'||input.LA(1)=='o' ) { input.consume(); @@ -5705,8 +5705,8 @@ public class wcpsLexer extends Lexer { try { int _type = PHI; int _channel = DEFAULT_TOKEN_CHANNEL; - // src/grammar/wcps.g:479:4: ( ( 'p' | 'P' ) ( 'h' | 'H' ) ( 'i' | 'I' ) ) - // src/grammar/wcps.g:479:6: ( 'p' | 'P' ) ( 'h' | 'H' ) ( 'i' | 'I' ) + // src/grammar/wcps.g:477:4: ( ( 'p' | 'P' ) ( 'h' | 'H' ) ( 'i' | 'I' ) ) + // src/grammar/wcps.g:477:6: ( 'p' | 'P' ) ( 'h' | 'H' ) ( 'i' | 'I' ) { if ( input.LA(1)=='P'||input.LA(1)=='p' ) { input.consume(); @@ -5751,8 +5751,8 @@ public class wcpsLexer extends Lexer { try { int _type = BIT; int _channel = DEFAULT_TOKEN_CHANNEL; - // src/grammar/wcps.g:480:4: ( ( 'b' | 'B' ) ( 'i' | 'I' ) ( 't' | 'T' ) ) - // src/grammar/wcps.g:480:6: ( 'b' | 'B' ) ( 'i' | 'I' ) ( 't' | 'T' ) + // src/grammar/wcps.g:478:4: ( ( 'b' | 'B' ) ( 'i' | 'I' ) ( 't' | 'T' ) ) + // src/grammar/wcps.g:478:6: ( 'b' | 'B' ) ( 'i' | 'I' ) ( 't' | 'T' ) { if ( input.LA(1)=='B'||input.LA(1)=='b' ) { input.consume(); @@ -5797,8 +5797,8 @@ public class wcpsLexer extends Lexer { try { int _type = UNSIGNED; int _channel = DEFAULT_TOKEN_CHANNEL; - // src/grammar/wcps.g:481:9: ( ( 'u' | 'U' ) ( 'n' | 'N' ) ( 's' | 'S' ) ( 'i' | 'I' ) ( 'g' | 'G' ) ( 'n' | 'N' ) ( 'e' | 'E' ) ( 'd' | 'D' ) ) - // src/grammar/wcps.g:481:11: ( 'u' | 'U' ) ( 'n' | 'N' ) ( 's' | 'S' ) ( 'i' | 'I' ) ( 'g' | 'G' ) ( 'n' | 'N' ) ( 'e' | 'E' ) ( 'd' | 'D' ) + // src/grammar/wcps.g:479:9: ( ( 'u' | 'U' ) ( 'n' | 'N' ) ( 's' | 'S' ) ( 'i' | 'I' ) ( 'g' | 'G' ) ( 'n' | 'N' ) ( 'e' | 'E' ) ( 'd' | 'D' ) ) + // src/grammar/wcps.g:479:11: ( 'u' | 'U' ) ( 'n' | 'N' ) ( 's' | 'S' ) ( 'i' | 'I' ) ( 'g' | 'G' ) ( 'n' | 'N' ) ( 'e' | 'E' ) ( 'd' | 'D' ) { if ( input.LA(1)=='U'||input.LA(1)=='u' ) { input.consume(); @@ -5888,8 +5888,8 @@ public class wcpsLexer extends Lexer { try { int _type = BOOLEAN; int _channel = DEFAULT_TOKEN_CHANNEL; - // src/grammar/wcps.g:482:8: ( ( 'b' | 'B' ) ( 'o' | 'O' ) ( 'o' | 'O' ) ( 'l' | 'L' ) ( 'e' | 'E' ) ( 'a' | 'A' ) ( 'n' | 'N' ) ) - // src/grammar/wcps.g:482:10: ( 'b' | 'B' ) ( 'o' | 'O' ) ( 'o' | 'O' ) ( 'l' | 'L' ) ( 'e' | 'E' ) ( 'a' | 'A' ) ( 'n' | 'N' ) + // src/grammar/wcps.g:480:8: ( ( 'b' | 'B' ) ( 'o' | 'O' ) ( 'o' | 'O' ) ( 'l' | 'L' ) ( 'e' | 'E' ) ( 'a' | 'A' ) ( 'n' | 'N' ) ) + // src/grammar/wcps.g:480:10: ( 'b' | 'B' ) ( 'o' | 'O' ) ( 'o' | 'O' ) ( 'l' | 'L' ) ( 'e' | 'E' ) ( 'a' | 'A' ) ( 'n' | 'N' ) { if ( input.LA(1)=='B'||input.LA(1)=='b' ) { input.consume(); @@ -5970,8 +5970,8 @@ public class wcpsLexer extends Lexer { try { int _type = CHAR; int _channel = DEFAULT_TOKEN_CHANNEL; - // src/grammar/wcps.g:483:5: ( ( 'c' | 'C' ) ( 'h' | 'H' ) ( 'a' | 'A' ) ( 'r' | 'R' ) ) - // src/grammar/wcps.g:483:7: ( 'c' | 'C' ) ( 'h' | 'H' ) ( 'a' | 'A' ) ( 'r' | 'R' ) + // src/grammar/wcps.g:481:5: ( ( 'c' | 'C' ) ( 'h' | 'H' ) ( 'a' | 'A' ) ( 'r' | 'R' ) ) + // src/grammar/wcps.g:481:7: ( 'c' | 'C' ) ( 'h' | 'H' ) ( 'a' | 'A' ) ( 'r' | 'R' ) { if ( input.LA(1)=='C'||input.LA(1)=='c' ) { input.consume(); @@ -6025,8 +6025,8 @@ public class wcpsLexer extends Lexer { try { int _type = SHORT; int _channel = DEFAULT_TOKEN_CHANNEL; - // src/grammar/wcps.g:484:6: ( ( 's' | 'S' ) ( 'h' | 'H' ) ( 'o' | 'O' ) ( 'r' | 'R' ) ( 't' | 'T' ) ) - // src/grammar/wcps.g:484:8: ( 's' | 'S' ) ( 'h' | 'H' ) ( 'o' | 'O' ) ( 'r' | 'R' ) ( 't' | 'T' ) + // src/grammar/wcps.g:482:6: ( ( 's' | 'S' ) ( 'h' | 'H' ) ( 'o' | 'O' ) ( 'r' | 'R' ) ( 't' | 'T' ) ) + // src/grammar/wcps.g:482:8: ( 's' | 'S' ) ( 'h' | 'H' ) ( 'o' | 'O' ) ( 'r' | 'R' ) ( 't' | 'T' ) { if ( input.LA(1)=='S'||input.LA(1)=='s' ) { input.consume(); @@ -6089,8 +6089,8 @@ public class wcpsLexer extends Lexer { try { int _type = LONG; int _channel = DEFAULT_TOKEN_CHANNEL; - // src/grammar/wcps.g:485:5: ( ( 'l' | 'L' ) ( 'o' | 'O' ) ( 'n' | 'N' ) ( 'g' | 'G' ) ) - // src/grammar/wcps.g:485:7: ( 'l' | 'L' ) ( 'o' | 'O' ) ( 'n' | 'N' ) ( 'g' | 'G' ) + // src/grammar/wcps.g:483:5: ( ( 'l' | 'L' ) ( 'o' | 'O' ) ( 'n' | 'N' ) ( 'g' | 'G' ) ) + // src/grammar/wcps.g:483:7: ( 'l' | 'L' ) ( 'o' | 'O' ) ( 'n' | 'N' ) ( 'g' | 'G' ) { if ( input.LA(1)=='L'||input.LA(1)=='l' ) { input.consume(); @@ -6144,8 +6144,8 @@ public class wcpsLexer extends Lexer { try { int _type = FLOAT; int _channel = DEFAULT_TOKEN_CHANNEL; - // src/grammar/wcps.g:486:6: ( ( 'f' | 'F' ) ( 'l' | 'L' ) ( 'o' | 'O' ) ( 'a' | 'A' ) ( 't' | 'T' ) ) - // src/grammar/wcps.g:486:8: ( 'f' | 'F' ) ( 'l' | 'L' ) ( 'o' | 'O' ) ( 'a' | 'A' ) ( 't' | 'T' ) + // src/grammar/wcps.g:484:6: ( ( 'f' | 'F' ) ( 'l' | 'L' ) ( 'o' | 'O' ) ( 'a' | 'A' ) ( 't' | 'T' ) ) + // src/grammar/wcps.g:484:8: ( 'f' | 'F' ) ( 'l' | 'L' ) ( 'o' | 'O' ) ( 'a' | 'A' ) ( 't' | 'T' ) { if ( input.LA(1)=='F'||input.LA(1)=='f' ) { input.consume(); @@ -6208,8 +6208,8 @@ public class wcpsLexer extends Lexer { try { int _type = DOUBLE; int _channel = DEFAULT_TOKEN_CHANNEL; - // src/grammar/wcps.g:487:7: ( ( 'd' | 'D' ) ( 'o' | 'O' ) ( 'u' | 'U' ) ( 'b' | 'B' ) ( 'l' | 'L' ) ( 'e' | 'E' ) ) - // src/grammar/wcps.g:487:9: ( 'd' | 'D' ) ( 'o' | 'O' ) ( 'u' | 'U' ) ( 'b' | 'B' ) ( 'l' | 'L' ) ( 'e' | 'E' ) + // src/grammar/wcps.g:485:7: ( ( 'd' | 'D' ) ( 'o' | 'O' ) ( 'u' | 'U' ) ( 'b' | 'B' ) ( 'l' | 'L' ) ( 'e' | 'E' ) ) + // src/grammar/wcps.g:485:9: ( 'd' | 'D' ) ( 'o' | 'O' ) ( 'u' | 'U' ) ( 'b' | 'B' ) ( 'l' | 'L' ) ( 'e' | 'E' ) { if ( input.LA(1)=='D'||input.LA(1)=='d' ) { input.consume(); @@ -6281,8 +6281,8 @@ public class wcpsLexer extends Lexer { try { int _type = COMPLEX; int _channel = DEFAULT_TOKEN_CHANNEL; - // src/grammar/wcps.g:488:8: ( ( 'c' | 'C' ) ( 'o' | 'O' ) ( 'm' | 'M' ) ( 'p' | 'P' ) ( 'l' | 'L' ) ( 'e' | 'E' ) ( 'x' | 'X' ) ) - // src/grammar/wcps.g:488:10: ( 'c' | 'C' ) ( 'o' | 'O' ) ( 'm' | 'M' ) ( 'p' | 'P' ) ( 'l' | 'L' ) ( 'e' | 'E' ) ( 'x' | 'X' ) + // src/grammar/wcps.g:486:8: ( ( 'c' | 'C' ) ( 'o' | 'O' ) ( 'm' | 'M' ) ( 'p' | 'P' ) ( 'l' | 'L' ) ( 'e' | 'E' ) ( 'x' | 'X' ) ) + // src/grammar/wcps.g:486:10: ( 'c' | 'C' ) ( 'o' | 'O' ) ( 'm' | 'M' ) ( 'p' | 'P' ) ( 'l' | 'L' ) ( 'e' | 'E' ) ( 'x' | 'X' ) { if ( input.LA(1)=='C'||input.LA(1)=='c' ) { input.consume(); @@ -6363,8 +6363,8 @@ public class wcpsLexer extends Lexer { try { int _type = COMPLEX2; int _channel = DEFAULT_TOKEN_CHANNEL; - // src/grammar/wcps.g:489:9: ( ( 'c' | 'C' ) ( 'o' | 'O' ) ( 'm' | 'M' ) ( 'p' | 'P' ) ( 'l' | 'L' ) ( 'e' | 'E' ) ( 'x' | 'X' ) '2' ) - // src/grammar/wcps.g:489:11: ( 'c' | 'C' ) ( 'o' | 'O' ) ( 'm' | 'M' ) ( 'p' | 'P' ) ( 'l' | 'L' ) ( 'e' | 'E' ) ( 'x' | 'X' ) '2' + // src/grammar/wcps.g:487:9: ( ( 'c' | 'C' ) ( 'o' | 'O' ) ( 'm' | 'M' ) ( 'p' | 'P' ) ( 'l' | 'L' ) ( 'e' | 'E' ) ( 'x' | 'X' ) '2' ) + // src/grammar/wcps.g:487:11: ( 'c' | 'C' ) ( 'o' | 'O' ) ( 'm' | 'M' ) ( 'p' | 'P' ) ( 'l' | 'L' ) ( 'e' | 'E' ) ( 'x' | 'X' ) '2' { if ( input.LA(1)=='C'||input.LA(1)=='c' ) { input.consume(); @@ -6446,7 +6446,7 @@ public class wcpsLexer extends Lexer { try { int _type = BOOLEANCONSTANT; int _channel = DEFAULT_TOKEN_CHANNEL; - // src/grammar/wcps.g:490:16: ( ( ( 't' | 'T' ) ( 'r' | 'R' ) ( 'u' | 'U' ) ( 'e' | 'E' ) ) | ( ( 'f' | 'F' ) ( 'a' | 'A' ) ( 'l' | 'L' ) ( 's' | 'S' ) ( 'e' | 'E' ) ) ) + // src/grammar/wcps.g:488:16: ( ( ( 't' | 'T' ) ( 'r' | 'R' ) ( 'u' | 'U' ) ( 'e' | 'E' ) ) | ( ( 'f' | 'F' ) ( 'a' | 'A' ) ( 'l' | 'L' ) ( 's' | 'S' ) ( 'e' | 'E' ) ) ) int alt1=2; int LA1_0 = input.LA(1); @@ -6464,10 +6464,10 @@ public class wcpsLexer extends Lexer { } switch (alt1) { case 1 : - // src/grammar/wcps.g:490:18: ( ( 't' | 'T' ) ( 'r' | 'R' ) ( 'u' | 'U' ) ( 'e' | 'E' ) ) + // src/grammar/wcps.g:488:18: ( ( 't' | 'T' ) ( 'r' | 'R' ) ( 'u' | 'U' ) ( 'e' | 'E' ) ) { - // src/grammar/wcps.g:490:18: ( ( 't' | 'T' ) ( 'r' | 'R' ) ( 'u' | 'U' ) ( 'e' | 'E' ) ) - // src/grammar/wcps.g:490:19: ( 't' | 'T' ) ( 'r' | 'R' ) ( 'u' | 'U' ) ( 'e' | 'E' ) + // src/grammar/wcps.g:488:18: ( ( 't' | 'T' ) ( 'r' | 'R' ) ( 'u' | 'U' ) ( 'e' | 'E' ) ) + // src/grammar/wcps.g:488:19: ( 't' | 'T' ) ( 'r' | 'R' ) ( 'u' | 'U' ) ( 'e' | 'E' ) { if ( input.LA(1)=='T'||input.LA(1)=='t' ) { input.consume(); @@ -6512,10 +6512,10 @@ public class wcpsLexer extends Lexer { } break; case 2 : - // src/grammar/wcps.g:490:57: ( ( 'f' | 'F' ) ( 'a' | 'A' ) ( 'l' | 'L' ) ( 's' | 'S' ) ( 'e' | 'E' ) ) + // src/grammar/wcps.g:488:57: ( ( 'f' | 'F' ) ( 'a' | 'A' ) ( 'l' | 'L' ) ( 's' | 'S' ) ( 'e' | 'E' ) ) { - // src/grammar/wcps.g:490:57: ( ( 'f' | 'F' ) ( 'a' | 'A' ) ( 'l' | 'L' ) ( 's' | 'S' ) ( 'e' | 'E' ) ) - // src/grammar/wcps.g:490:58: ( 'f' | 'F' ) ( 'a' | 'A' ) ( 'l' | 'L' ) ( 's' | 'S' ) ( 'e' | 'E' ) + // src/grammar/wcps.g:488:57: ( ( 'f' | 'F' ) ( 'a' | 'A' ) ( 'l' | 'L' ) ( 's' | 'S' ) ( 'e' | 'E' ) ) + // src/grammar/wcps.g:488:58: ( 'f' | 'F' ) ( 'a' | 'A' ) ( 'l' | 'L' ) ( 's' | 'S' ) ( 'e' | 'E' ) { if ( input.LA(1)=='F'||input.LA(1)=='f' ) { input.consume(); @@ -6581,7 +6581,7 @@ public class wcpsLexer extends Lexer { // $ANTLR start "DECIMALCONSTANT" public final void mDECIMALCONSTANT() throws RecognitionException { try { - // src/grammar/wcps.g:491:25: ( ( '1' .. '9' ) ( ( '0' .. '9' )* ) | '0' ) + // src/grammar/wcps.g:489:25: ( ( '1' .. '9' ) ( ( '0' .. '9' )* ) | '0' ) int alt3=2; int LA3_0 = input.LA(1); @@ -6599,19 +6599,19 @@ public class wcpsLexer extends Lexer { } switch (alt3) { case 1 : - // src/grammar/wcps.g:492:2: ( '1' .. '9' ) ( ( '0' .. '9' )* ) + // src/grammar/wcps.g:490:2: ( '1' .. '9' ) ( ( '0' .. '9' )* ) { - // src/grammar/wcps.g:492:2: ( '1' .. '9' ) - // src/grammar/wcps.g:492:3: '1' .. '9' + // src/grammar/wcps.g:490:2: ( '1' .. '9' ) + // src/grammar/wcps.g:490:3: '1' .. '9' { matchRange('1','9'); } - // src/grammar/wcps.g:492:12: ( ( '0' .. '9' )* ) - // src/grammar/wcps.g:492:13: ( '0' .. '9' )* + // src/grammar/wcps.g:490:12: ( ( '0' .. '9' )* ) + // src/grammar/wcps.g:490:13: ( '0' .. '9' )* { - // src/grammar/wcps.g:492:13: ( '0' .. '9' )* + // src/grammar/wcps.g:490:13: ( '0' .. '9' )* loop2: do { int alt2=2; @@ -6624,7 +6624,7 @@ public class wcpsLexer extends Lexer { switch (alt2) { case 1 : - // src/grammar/wcps.g:492:14: '0' .. '9' + // src/grammar/wcps.g:490:14: '0' .. '9' { matchRange('0','9'); @@ -6643,7 +6643,7 @@ public class wcpsLexer extends Lexer { } break; case 2 : - // src/grammar/wcps.g:493:4: '0' + // src/grammar/wcps.g:491:4: '0' { match('0'); @@ -6660,21 +6660,21 @@ public class wcpsLexer extends Lexer { // $ANTLR start "OCTALCONSTANT" public final void mOCTALCONSTANT() throws RecognitionException { try { - // src/grammar/wcps.g:494:23: ( '0' ( '1' .. '7' ) ( ( '0' .. '7' )* ) ) - // src/grammar/wcps.g:495:2: '0' ( '1' .. '7' ) ( ( '0' .. '7' )* ) + // src/grammar/wcps.g:492:23: ( '0' ( '1' .. '7' ) ( ( '0' .. '7' )* ) ) + // src/grammar/wcps.g:493:2: '0' ( '1' .. '7' ) ( ( '0' .. '7' )* ) { match('0'); - // src/grammar/wcps.g:495:6: ( '1' .. '7' ) - // src/grammar/wcps.g:495:7: '1' .. '7' + // src/grammar/wcps.g:493:6: ( '1' .. '7' ) + // src/grammar/wcps.g:493:7: '1' .. '7' { matchRange('1','7'); } - // src/grammar/wcps.g:495:17: ( ( '0' .. '7' )* ) - // src/grammar/wcps.g:495:18: ( '0' .. '7' )* + // src/grammar/wcps.g:493:17: ( ( '0' .. '7' )* ) + // src/grammar/wcps.g:493:18: ( '0' .. '7' )* { - // src/grammar/wcps.g:495:18: ( '0' .. '7' )* + // src/grammar/wcps.g:493:18: ( '0' .. '7' )* loop4: do { int alt4=2; @@ -6687,7 +6687,7 @@ public class wcpsLexer extends Lexer { switch (alt4) { case 1 : - // src/grammar/wcps.g:495:19: '0' .. '7' + // src/grammar/wcps.g:493:19: '0' .. '7' { matchRange('0','7'); @@ -6714,10 +6714,10 @@ public class wcpsLexer extends Lexer { // $ANTLR start "HEXACONSTANT" public final void mHEXACONSTANT() throws RecognitionException { try { - // src/grammar/wcps.g:496:22: ( ( '0x' | '0X' ) ( '1' .. '9' | 'a' .. 'f' | 'A' .. 'F' ) ( ( '0' .. '9' | 'a' .. 'f' | 'A' .. 'F' )* ) ) - // src/grammar/wcps.g:497:2: ( '0x' | '0X' ) ( '1' .. '9' | 'a' .. 'f' | 'A' .. 'F' ) ( ( '0' .. '9' | 'a' .. 'f' | 'A' .. 'F' )* ) + // src/grammar/wcps.g:494:22: ( ( '0x' | '0X' ) ( '1' .. '9' | 'a' .. 'f' | 'A' .. 'F' ) ( ( '0' .. '9' | 'a' .. 'f' | 'A' .. 'F' )* ) ) + // src/grammar/wcps.g:495:2: ( '0x' | '0X' ) ( '1' .. '9' | 'a' .. 'f' | 'A' .. 'F' ) ( ( '0' .. '9' | 'a' .. 'f' | 'A' .. 'F' )* ) { - // src/grammar/wcps.g:497:2: ( '0x' | '0X' ) + // src/grammar/wcps.g:495:2: ( '0x' | '0X' ) int alt5=2; int LA5_0 = input.LA(1); @@ -6745,7 +6745,7 @@ public class wcpsLexer extends Lexer { } switch (alt5) { case 1 : - // src/grammar/wcps.g:497:3: '0x' + // src/grammar/wcps.g:495:3: '0x' { match("0x"); @@ -6753,7 +6753,7 @@ public class wcpsLexer extends Lexer { } break; case 2 : - // src/grammar/wcps.g:497:8: '0X' + // src/grammar/wcps.g:495:8: '0X' { match("0X"); @@ -6772,10 +6772,10 @@ public class wcpsLexer extends Lexer { recover(mse); throw mse;} - // src/grammar/wcps.g:497:43: ( ( '0' .. '9' | 'a' .. 'f' | 'A' .. 'F' )* ) - // src/grammar/wcps.g:497:44: ( '0' .. '9' | 'a' .. 'f' | 'A' .. 'F' )* + // src/grammar/wcps.g:495:43: ( ( '0' .. '9' | 'a' .. 'f' | 'A' .. 'F' )* ) + // src/grammar/wcps.g:495:44: ( '0' .. '9' | 'a' .. 'f' | 'A' .. 'F' )* { - // src/grammar/wcps.g:497:44: ( '0' .. '9' | 'a' .. 'f' | 'A' .. 'F' )* + // src/grammar/wcps.g:495:44: ( '0' .. '9' | 'a' .. 'f' | 'A' .. 'F' )* loop6: do { int alt6=2; @@ -6825,19 +6825,19 @@ public class wcpsLexer extends Lexer { try { int _type = INTEGERCONSTANT; int _channel = DEFAULT_TOKEN_CHANNEL; - // src/grammar/wcps.g:498:16: ( DECIMALCONSTANT | OCTALCONSTANT | HEXACONSTANT ) - int alt7=3; - int LA7_0 = input.LA(1); + // src/grammar/wcps.g:496:16: ( ( PLUS | MINUS )? DECIMALCONSTANT | OCTALCONSTANT | HEXACONSTANT ) + int alt8=3; + int LA8_0 = input.LA(1); - if ( ((LA7_0>='1' && LA7_0<='9')) ) { - alt7=1; + if ( (LA8_0=='+'||LA8_0=='-'||(LA8_0>='1' && LA8_0<='9')) ) { + alt8=1; } - else if ( (LA7_0=='0') ) { + else if ( (LA8_0=='0') ) { switch ( input.LA(2) ) { case 'X': case 'x': { - alt7=3; + alt8=3; } break; case '1': @@ -6848,36 +6848,62 @@ public class wcpsLexer extends Lexer { case '6': case '7': { - alt7=2; + alt8=2; } break; default: - alt7=1;} + alt8=1;} } else { NoViableAltException nvae = - new NoViableAltException("", 7, 0, input); + new NoViableAltException("", 8, 0, input); throw nvae; } - switch (alt7) { + switch (alt8) { case 1 : - // src/grammar/wcps.g:498:18: DECIMALCONSTANT + // src/grammar/wcps.g:496:18: ( PLUS | MINUS )? DECIMALCONSTANT { + // src/grammar/wcps.g:496:18: ( PLUS | MINUS )? + int alt7=2; + int LA7_0 = input.LA(1); + + if ( (LA7_0=='+'||LA7_0=='-') ) { + alt7=1; + } + switch (alt7) { + case 1 : + // src/grammar/wcps.g: + { + if ( input.LA(1)=='+'||input.LA(1)=='-' ) { + input.consume(); + + } + else { + MismatchedSetException mse = new MismatchedSetException(null,input); + recover(mse); + throw mse;} + + + } + break; + + } + mDECIMALCONSTANT(); } break; case 2 : - // src/grammar/wcps.g:498:36: OCTALCONSTANT + // src/grammar/wcps.g:496:50: OCTALCONSTANT { mOCTALCONSTANT(); } break; case 3 : - // src/grammar/wcps.g:498:52: HEXACONSTANT + // src/grammar/wcps.g:496:66: HEXACONSTANT { mHEXACONSTANT(); @@ -6898,35 +6924,35 @@ public class wcpsLexer extends Lexer { try { int _type = FLOATCONSTANT; int _channel = DEFAULT_TOKEN_CHANNEL; - // src/grammar/wcps.g:499:14: ( DECIMALCONSTANT ( '.' ) ( ( '0' .. '9' )+ ) ( ( 'e' | 'E' ) ( ( '-' | '+' )? ) ( ( '0' .. '9' )+ ) )? ) - // src/grammar/wcps.g:499:16: DECIMALCONSTANT ( '.' ) ( ( '0' .. '9' )+ ) ( ( 'e' | 'E' ) ( ( '-' | '+' )? ) ( ( '0' .. '9' )+ ) )? + // src/grammar/wcps.g:497:14: ( DECIMALCONSTANT ( '.' ) ( ( '0' .. '9' )+ ) ( ( 'e' | 'E' ) ( ( '-' | '+' )? ) ( ( '0' .. '9' )+ ) )? ) + // src/grammar/wcps.g:497:16: DECIMALCONSTANT ( '.' ) ( ( '0' .. '9' )+ ) ( ( 'e' | 'E' ) ( ( '-' | '+' )? ) ( ( '0' .. '9' )+ ) )? { mDECIMALCONSTANT(); - // src/grammar/wcps.g:499:32: ( '.' ) - // src/grammar/wcps.g:499:33: '.' + // src/grammar/wcps.g:497:32: ( '.' ) + // src/grammar/wcps.g:497:33: '.' { match('.'); } - // src/grammar/wcps.g:499:37: ( ( '0' .. '9' )+ ) - // src/grammar/wcps.g:499:38: ( '0' .. '9' )+ + // src/grammar/wcps.g:497:37: ( ( '0' .. '9' )+ ) + // src/grammar/wcps.g:497:38: ( '0' .. '9' )+ { - // src/grammar/wcps.g:499:38: ( '0' .. '9' )+ - int cnt8=0; - loop8: + // src/grammar/wcps.g:497:38: ( '0' .. '9' )+ + int cnt9=0; + loop9: do { - int alt8=2; - int LA8_0 = input.LA(1); + int alt9=2; + int LA9_0 = input.LA(1); - if ( ((LA8_0>='0' && LA8_0<='9')) ) { - alt8=1; + if ( ((LA9_0>='0' && LA9_0<='9')) ) { + alt9=1; } - switch (alt8) { + switch (alt9) { case 1 : - // src/grammar/wcps.g:499:38: '0' .. '9' + // src/grammar/wcps.g:497:38: '0' .. '9' { matchRange('0','9'); @@ -6934,27 +6960,27 @@ public class wcpsLexer extends Lexer { break; default : - if ( cnt8 >= 1 ) break loop8; + if ( cnt9 >= 1 ) break loop9; EarlyExitException eee = - new EarlyExitException(8, input); + new EarlyExitException(9, input); throw eee; } - cnt8++; + cnt9++; } while (true); } - // src/grammar/wcps.g:499:48: ( ( 'e' | 'E' ) ( ( '-' | '+' )? ) ( ( '0' .. '9' )+ ) )? - int alt11=2; - int LA11_0 = input.LA(1); + // src/grammar/wcps.g:497:48: ( ( 'e' | 'E' ) ( ( '-' | '+' )? ) ( ( '0' .. '9' )+ ) )? + int alt12=2; + int LA12_0 = input.LA(1); - if ( (LA11_0=='E'||LA11_0=='e') ) { - alt11=1; + if ( (LA12_0=='E'||LA12_0=='e') ) { + alt12=1; } - switch (alt11) { + switch (alt12) { case 1 : - // src/grammar/wcps.g:499:49: ( 'e' | 'E' ) ( ( '-' | '+' )? ) ( ( '0' .. '9' )+ ) + // src/grammar/wcps.g:497:49: ( 'e' | 'E' ) ( ( '-' | '+' )? ) ( ( '0' .. '9' )+ ) { if ( input.LA(1)=='E'||input.LA(1)=='e' ) { input.consume(); @@ -6965,17 +6991,17 @@ public class wcpsLexer extends Lexer { recover(mse); throw mse;} - // src/grammar/wcps.g:499:58: ( ( '-' | '+' )? ) - // src/grammar/wcps.g:499:59: ( '-' | '+' )? + // src/grammar/wcps.g:497:58: ( ( '-' | '+' )? ) + // src/grammar/wcps.g:497:59: ( '-' | '+' )? { - // src/grammar/wcps.g:499:59: ( '-' | '+' )? - int alt9=2; - int LA9_0 = input.LA(1); + // src/grammar/wcps.g:497:59: ( '-' | '+' )? + int alt10=2; + int LA10_0 = input.LA(1); - if ( (LA9_0=='+'||LA9_0=='-') ) { - alt9=1; + if ( (LA10_0=='+'||LA10_0=='-') ) { + alt10=1; } - switch (alt9) { + switch (alt10) { case 1 : // src/grammar/wcps.g: { @@ -6997,24 +7023,24 @@ public class wcpsLexer extends Lexer { } - // src/grammar/wcps.g:499:70: ( ( '0' .. '9' )+ ) - // src/grammar/wcps.g:499:71: ( '0' .. '9' )+ + // src/grammar/wcps.g:497:70: ( ( '0' .. '9' )+ ) + // src/grammar/wcps.g:497:71: ( '0' .. '9' )+ { - // src/grammar/wcps.g:499:71: ( '0' .. '9' )+ - int cnt10=0; - loop10: + // src/grammar/wcps.g:497:71: ( '0' .. '9' )+ + int cnt11=0; + loop11: do { - int alt10=2; - int LA10_0 = input.LA(1); + int alt11=2; + int LA11_0 = input.LA(1); - if ( ((LA10_0>='0' && LA10_0<='9')) ) { - alt10=1; + if ( ((LA11_0>='0' && LA11_0<='9')) ) { + alt11=1; } - switch (alt10) { + switch (alt11) { case 1 : - // src/grammar/wcps.g:499:71: '0' .. '9' + // src/grammar/wcps.g:497:71: '0' .. '9' { matchRange('0','9'); @@ -7022,12 +7048,12 @@ public class wcpsLexer extends Lexer { break; default : - if ( cnt10 >= 1 ) break loop10; + if ( cnt11 >= 1 ) break loop11; EarlyExitException eee = - new EarlyExitException(10, input); + new EarlyExitException(11, input); throw eee; } - cnt10++; + cnt11++; } while (true); @@ -7055,27 +7081,27 @@ public class wcpsLexer extends Lexer { try { int _type = STRING; int _channel = DEFAULT_TOKEN_CHANNEL; - // src/grammar/wcps.g:501:7: ( '\"' ( options {greedy=false; } : . )* '\"' ) - // src/grammar/wcps.g:501:9: '\"' ( options {greedy=false; } : . )* '\"' + // src/grammar/wcps.g:499:7: ( '\"' ( options {greedy=false; } : . )* '\"' ) + // src/grammar/wcps.g:499:9: '\"' ( options {greedy=false; } : . )* '\"' { match('\"'); - // src/grammar/wcps.g:501:13: ( options {greedy=false; } : . )* - loop12: + // src/grammar/wcps.g:499:13: ( options {greedy=false; } : . )* + loop13: do { - int alt12=2; - int LA12_0 = input.LA(1); + int alt13=2; + int LA13_0 = input.LA(1); - if ( (LA12_0=='\"') ) { - alt12=2; + if ( (LA13_0=='\"') ) { + alt13=2; } - else if ( ((LA12_0>='\u0000' && LA12_0<='!')||(LA12_0>='#' && LA12_0<='\uFFFF')) ) { - alt12=1; + else if ( ((LA13_0>='\u0000' && LA13_0<='!')||(LA13_0>='#' && LA13_0<='\uFFFF')) ) { + alt13=1; } - switch (alt12) { + switch (alt13) { case 1 : - // src/grammar/wcps.g:501:41: . + // src/grammar/wcps.g:499:41: . { matchAny(); @@ -7083,7 +7109,7 @@ public class wcpsLexer extends Lexer { break; default : - break loop12; + break loop13; } } while (true); @@ -7105,8 +7131,8 @@ public class wcpsLexer extends Lexer { try { int _type = NAME; int _channel = DEFAULT_TOKEN_CHANNEL; - // src/grammar/wcps.g:502:5: ( ( 'a' .. 'z' | 'A' .. 'Z' | '_' ) ( ( 'a' .. 'z' | 'A' .. 'Z' | '0' .. '9' | '_' )* ) ) - // src/grammar/wcps.g:502:7: ( 'a' .. 'z' | 'A' .. 'Z' | '_' ) ( ( 'a' .. 'z' | 'A' .. 'Z' | '0' .. '9' | '_' )* ) + // src/grammar/wcps.g:500:5: ( ( 'a' .. 'z' | 'A' .. 'Z' | '_' ) ( ( 'a' .. 'z' | 'A' .. 'Z' | '0' .. '9' | '_' )* ) ) + // src/grammar/wcps.g:500:7: ( 'a' .. 'z' | 'A' .. 'Z' | '_' ) ( ( 'a' .. 'z' | 'A' .. 'Z' | '0' .. '9' | '_' )* ) { if ( (input.LA(1)>='A' && input.LA(1)<='Z')||input.LA(1)=='_'||(input.LA(1)>='a' && input.LA(1)<='z') ) { input.consume(); @@ -7117,21 +7143,21 @@ public class wcpsLexer extends Lexer { recover(mse); throw mse;} - // src/grammar/wcps.g:502:30: ( ( 'a' .. 'z' | 'A' .. 'Z' | '0' .. '9' | '_' )* ) - // src/grammar/wcps.g:502:31: ( 'a' .. 'z' | 'A' .. 'Z' | '0' .. '9' | '_' )* + // src/grammar/wcps.g:500:30: ( ( 'a' .. 'z' | 'A' .. 'Z' | '0' .. '9' | '_' )* ) + // src/grammar/wcps.g:500:31: ( 'a' .. 'z' | 'A' .. 'Z' | '0' .. '9' | '_' )* { - // src/grammar/wcps.g:502:31: ( 'a' .. 'z' | 'A' .. 'Z' | '0' .. '9' | '_' )* - loop13: + // src/grammar/wcps.g:500:31: ( 'a' .. 'z' | 'A' .. 'Z' | '0' .. '9' | '_' )* + loop14: do { - int alt13=2; - int LA13_0 = input.LA(1); + int alt14=2; + int LA14_0 = input.LA(1); - if ( ((LA13_0>='0' && LA13_0<='9')||(LA13_0>='A' && LA13_0<='Z')||LA13_0=='_'||(LA13_0>='a' && LA13_0<='z')) ) { - alt13=1; + if ( ((LA14_0>='0' && LA14_0<='9')||(LA14_0>='A' && LA14_0<='Z')||LA14_0=='_'||(LA14_0>='a' && LA14_0<='z')) ) { + alt14=1; } - switch (alt13) { + switch (alt14) { case 1 : // src/grammar/wcps.g: { @@ -7149,7 +7175,7 @@ public class wcpsLexer extends Lexer { break; default : - break loop13; + break loop14; } } while (true); @@ -7172,25 +7198,25 @@ public class wcpsLexer extends Lexer { try { int _type = VARIABLE_DOLLAR; int _channel = DEFAULT_TOKEN_CHANNEL; - // src/grammar/wcps.g:503:16: ( '$' ( ( 'a' .. 'z' | 'A' .. 'Z' | '0' .. '9' | '_' )* ) ) - // src/grammar/wcps.g:503:18: '$' ( ( 'a' .. 'z' | 'A' .. 'Z' | '0' .. '9' | '_' )* ) + // src/grammar/wcps.g:501:16: ( '$' ( ( 'a' .. 'z' | 'A' .. 'Z' | '0' .. '9' | '_' )* ) ) + // src/grammar/wcps.g:501:18: '$' ( ( 'a' .. 'z' | 'A' .. 'Z' | '0' .. '9' | '_' )* ) { match('$'); - // src/grammar/wcps.g:503:21: ( ( 'a' .. 'z' | 'A' .. 'Z' | '0' .. '9' | '_' )* ) - // src/grammar/wcps.g:503:22: ( 'a' .. 'z' | 'A' .. 'Z' | '0' .. '9' | '_' )* + // src/grammar/wcps.g:501:21: ( ( 'a' .. 'z' | 'A' .. 'Z' | '0' .. '9' | '_' )* ) + // src/grammar/wcps.g:501:22: ( 'a' .. 'z' | 'A' .. 'Z' | '0' .. '9' | '_' )* { - // src/grammar/wcps.g:503:22: ( 'a' .. 'z' | 'A' .. 'Z' | '0' .. '9' | '_' )* - loop14: + // src/grammar/wcps.g:501:22: ( 'a' .. 'z' | 'A' .. 'Z' | '0' .. '9' | '_' )* + loop15: do { - int alt14=2; - int LA14_0 = input.LA(1); + int alt15=2; + int LA15_0 = input.LA(1); - if ( ((LA14_0>='0' && LA14_0<='9')||(LA14_0>='A' && LA14_0<='Z')||LA14_0=='_'||(LA14_0>='a' && LA14_0<='z')) ) { - alt14=1; + if ( ((LA15_0>='0' && LA15_0<='9')||(LA15_0>='A' && LA15_0<='Z')||LA15_0=='_'||(LA15_0>='a' && LA15_0<='z')) ) { + alt15=1; } - switch (alt14) { + switch (alt15) { case 1 : // src/grammar/wcps.g: { @@ -7208,13 +7234,14 @@ public class wcpsLexer extends Lexer { break; default : - break loop14; + break loop15; } } while (true); } + setText(getText().substring(1, getText().length())); } @@ -7231,22 +7258,22 @@ public class wcpsLexer extends Lexer { try { int _type = WHITESPACE; int _channel = DEFAULT_TOKEN_CHANNEL; - // src/grammar/wcps.g:504:11: ( ( ' ' | '\\t' | '\\r' | '\\n' | '\\u000C' )+ ) - // src/grammar/wcps.g:504:13: ( ' ' | '\\t' | '\\r' | '\\n' | '\\u000C' )+ + // src/grammar/wcps.g:502:11: ( ( ' ' | '\\t' | '\\r' | '\\n' | '\\u000C' )+ ) + // src/grammar/wcps.g:502:13: ( ' ' | '\\t' | '\\r' | '\\n' | '\\u000C' )+ { - // src/grammar/wcps.g:504:13: ( ' ' | '\\t' | '\\r' | '\\n' | '\\u000C' )+ - int cnt15=0; - loop15: + // src/grammar/wcps.g:502:13: ( ' ' | '\\t' | '\\r' | '\\n' | '\\u000C' )+ + int cnt16=0; + loop16: do { - int alt15=2; - int LA15_0 = input.LA(1); + int alt16=2; + int LA16_0 = input.LA(1); - if ( ((LA15_0>='\t' && LA15_0<='\n')||(LA15_0>='\f' && LA15_0<='\r')||LA15_0==' ') ) { - alt15=1; + if ( ((LA16_0>='\t' && LA16_0<='\n')||(LA16_0>='\f' && LA16_0<='\r')||LA16_0==' ') ) { + alt16=1; } - switch (alt15) { + switch (alt16) { case 1 : // src/grammar/wcps.g: { @@ -7264,12 +7291,12 @@ public class wcpsLexer extends Lexer { break; default : - if ( cnt15 >= 1 ) break loop15; + if ( cnt16 >= 1 ) break loop16; EarlyExitException eee = - new EarlyExitException(15, input); + new EarlyExitException(16, input); throw eee; } - cnt15++; + cnt16++; } while (true); skip(); @@ -7286,9 +7313,9 @@ public class wcpsLexer extends Lexer { public void mTokens() throws RecognitionException { // src/grammar/wcps.g:1:8: ( PLUS | MINUS | DIVIDE | MULT | EQUALS | NOTEQUALS | LT | GT | LTE | GTE | DOT | LPAREN | RPAREN | LBRACKET | RBRACKET | LBRACE | RBRACE | COMMA | COLON | SEMICOLON | FOR | IN | WHERE | RETURN | STORE | ENCODE | SQRT | SIN | COS | TAN | SINH | COSH | TANH | ARCSIN | ARCCOS | ARCTAN | EXP | LN | LOG | ROUND | ABS | OVERLAY | STRUCT | RE | IM | AND | OR | XOR | NOT | IDENTIFIER | IMAGECRS | IMAGECRSDOMAIN | CRSSET | DOMAIN | NULLSET | NULLDEFAULT | INTERPOLATIONDEFAULT | INTERPOLATIONSET | SETIDENTIFIER | SETNULLSET | SETINTERPOLATIONDEFAULT | SETINTERPOLATIONSET | SETCRSSET | TRIM | SLICE | EXTEND | SCALE | CRSTRANSFORM | COUNT | ADD | AVG | MAX | MIN | SOME | ALL | COVERAGE | OVER | VALUE | VALUES | LIST | CONDENSE | USING | NEAREST | LINEAR | QUADRATIC | CUBIC | FULL | NONE | HALF | OTHER | PHI | BIT | UNSIGNED | BOOLEAN | CHAR | SHORT | LONG | FLOAT | DOUBLE | COMPLEX | COMPLEX2 | BOOLEANCONSTANT | INTEGERCONSTANT | FLOATCONSTANT | STRING | NAME | VARIABLE_DOLLAR | WHITESPACE ) - int alt16=108; - alt16 = dfa16.predict(input); - switch (alt16) { + int alt17=108; + alt17 = dfa17.predict(input); + switch (alt17) { case 1 : // src/grammar/wcps.g:1:10: PLUS { @@ -8051,48 +8078,48 @@ public class wcpsLexer extends Lexer { } - protected DFA16 dfa16 = new DFA16(this); - static final String DFA16_eotS = - "\7\uffff\1\57\1\61\12\uffff\25\53\2\150\10\uffff\4\53\1\157\1\161"+ - "\2\53\1\165\27\53\1\u0094\3\53\1\u009a\20\53\1\150\2\uffff\1\u00ad"+ - "\4\53\1\uffff\1\53\1\uffff\3\53\1\uffff\4\53\1\u00bb\6\53\1\u00c4"+ - "\1\53\1\u00c7\7\53\1\u00d1\3\53\1\u00d7\1\u00d8\1\u00d9\1\u00da"+ - "\1\u00db\1\uffff\1\u00dc\4\53\1\uffff\1\53\1\u00e2\1\u00e3\5\53"+ - "\1\u00e9\1\u00ea\5\53\1\u00f0\1\u00f1\1\53\1\uffff\1\u00f3\12\53"+ - "\1\u00fe\1\u00ff\1\uffff\5\53\1\u0106\2\53\1\uffff\1\53\1\u010a"+ - "\1\uffff\7\53\1\u0112\1\u0113\1\uffff\1\u0114\1\u0115\3\53\6\uffff"+ - "\1\u0119\1\u011a\1\53\1\u011d\1\53\2\uffff\1\u011f\4\53\2\uffff"+ - "\4\53\1\u0129\2\uffff\1\53\1\uffff\1\u012b\1\u0115\3\53\1\u012f"+ - "\1\53\1\u0131\1\u0132\1\53\2\uffff\4\53\1\u0138\1\u0139\1\uffff"+ - "\1\u013a\2\53\1\uffff\1\u013d\5\53\1\u0143\4\uffff\3\53\2\uffff"+ - "\2\53\1\uffff\1\u0149\1\uffff\5\53\1\u0150\1\u0151\2\53\1\uffff"+ - "\1\53\1\uffff\3\53\1\uffff\1\u0158\2\uffff\1\u0159\4\53\3\uffff"+ - "\1\u015e\1\u015f\1\uffff\3\53\1\u0163\1\53\1\uffff\1\u0165\1\u0166"+ - "\1\u0167\1\u0168\1\53\1\uffff\3\53\1\u016d\1\u016e\1\u016f\2\uffff"+ - "\6\53\2\uffff\4\53\2\uffff\2\53\1\u017d\1\uffff\1\53\4\uffff\1\u017f"+ - "\1\u0180\1\53\1\u0182\3\uffff\2\53\1\u0185\1\53\1\u0188\5\53\1\u018e"+ - "\1\u018f\1\u0190\1\uffff\1\53\2\uffff\1\53\1\uffff\1\u0193\1\53"+ - "\1\uffff\2\53\1\uffff\4\53\1\u019b\3\uffff\2\53\1\uffff\1\u019e"+ - "\2\53\1\u01a1\2\53\1\u01a4\1\uffff\2\53\1\uffff\2\53\1\uffff\2\53"+ - "\1\uffff\1\53\1\u01ac\4\53\1\u01b1\1\uffff\2\53\1\u01b5\1\53\1\uffff"+ - "\2\53\1\u01b9\1\uffff\3\53\1\uffff\2\53\1\u01bf\2\53\1\uffff\7\53"+ - "\1\u01ca\1\u01cb\1\53\2\uffff\2\53\1\u01cf\1\uffff"; - static final String DFA16_eofS = - "\u01d0\uffff"; - static final String DFA16_minS = - "\1\11\6\uffff\2\75\12\uffff\1\101\1\104\1\110\1\105\1\103\1\116"+ - "\1\110\1\101\1\102\1\111\1\122\1\117\1\105\1\117\2\101\1\116\1\125"+ - "\1\101\1\110\1\111\2\56\10\uffff\1\122\1\114\1\117\1\114\2\60\2"+ - "\105\1\60\1\125\1\117\1\122\1\116\1\124\1\111\1\101\1\115\1\117"+ - "\1\103\1\120\1\115\1\123\1\102\1\101\1\116\1\111\1\103\1\123\2\104"+ - "\1\107\1\114\1\60\1\107\1\116\1\105\1\60\1\110\1\122\1\116\1\114"+ - "\1\101\1\115\1\130\1\116\1\114\1\111\1\123\1\101\1\114\1\111\1\124"+ - "\1\117\1\56\2\uffff\1\60\1\114\1\101\1\123\1\105\1\uffff\1\107\1"+ - "\uffff\1\116\1\122\1\125\1\uffff\1\116\1\122\1\125\1\124\1\60\2"+ - "\103\1\114\1\105\1\122\1\117\1\60\1\105\1\60\1\116\1\105\1\104\1"+ - "\120\1\123\1\111\1\122\1\60\1\115\1\105\1\103\5\60\1\uffff\1\60"+ - "\1\107\1\124\1\105\1\122\1\uffff\1\105\2\60\1\105\1\114\1\122\1"+ - "\101\1\102\2\60\1\125\1\116\1\111\1\104\1\106\2\60\1\114\1\uffff"+ + protected DFA17 dfa17 = new DFA17(this); + static final String DFA17_eotS = + "\1\uffff\1\56\1\60\4\uffff\1\62\1\64\12\uffff\25\53\2\57\13\uffff"+ + "\4\53\1\161\1\163\2\53\1\167\27\53\1\u0096\3\53\1\u009c\20\53\1"+ + "\57\1\uffff\1\u00af\4\53\1\uffff\1\53\1\uffff\3\53\1\uffff\4\53"+ + "\1\u00bd\6\53\1\u00c6\1\53\1\u00c9\7\53\1\u00d3\3\53\1\u00d9\1\u00da"+ + "\1\u00db\1\u00dc\1\u00dd\1\uffff\1\u00de\4\53\1\uffff\1\53\1\u00e4"+ + "\1\u00e5\5\53\1\u00eb\1\u00ec\5\53\1\u00f2\1\u00f3\1\53\1\uffff"+ + "\1\u00f5\12\53\1\u0100\1\u0101\1\uffff\5\53\1\u0108\2\53\1\uffff"+ + "\1\53\1\u010c\1\uffff\7\53\1\u0114\1\u0115\1\uffff\1\u0116\1\u0117"+ + "\3\53\6\uffff\1\u011b\1\u011c\1\53\1\u011f\1\53\2\uffff\1\u0121"+ + "\4\53\2\uffff\4\53\1\u012b\2\uffff\1\53\1\uffff\1\u012d\1\u0117"+ + "\3\53\1\u0131\1\53\1\u0133\1\u0134\1\53\2\uffff\4\53\1\u013a\1\u013b"+ + "\1\uffff\1\u013c\2\53\1\uffff\1\u013f\5\53\1\u0145\4\uffff\3\53"+ + "\2\uffff\2\53\1\uffff\1\u014b\1\uffff\5\53\1\u0152\1\u0153\2\53"+ + "\1\uffff\1\53\1\uffff\3\53\1\uffff\1\u015a\2\uffff\1\u015b\4\53"+ + "\3\uffff\1\u0160\1\u0161\1\uffff\3\53\1\u0165\1\53\1\uffff\1\u0167"+ + "\1\u0168\1\u0169\1\u016a\1\53\1\uffff\3\53\1\u016f\1\u0170\1\u0171"+ + "\2\uffff\6\53\2\uffff\4\53\2\uffff\2\53\1\u017f\1\uffff\1\53\4\uffff"+ + "\1\u0181\1\u0182\1\53\1\u0184\3\uffff\2\53\1\u0187\1\53\1\u018a"+ + "\5\53\1\u0190\1\u0191\1\u0192\1\uffff\1\53\2\uffff\1\53\1\uffff"+ + "\1\u0195\1\53\1\uffff\2\53\1\uffff\4\53\1\u019d\3\uffff\2\53\1\uffff"+ + "\1\u01a0\2\53\1\u01a3\2\53\1\u01a6\1\uffff\2\53\1\uffff\2\53\1\uffff"+ + "\2\53\1\uffff\1\53\1\u01ae\4\53\1\u01b3\1\uffff\2\53\1\u01b7\1\53"+ + "\1\uffff\2\53\1\u01bb\1\uffff\3\53\1\uffff\2\53\1\u01c1\2\53\1\uffff"+ + "\7\53\1\u01cc\1\u01cd\1\53\2\uffff\2\53\1\u01d1\1\uffff"; + static final String DFA17_eofS = + "\u01d2\uffff"; + static final String DFA17_minS = + "\1\11\2\60\4\uffff\2\75\12\uffff\1\101\1\104\1\110\1\105\1\103\1"+ + "\116\1\110\1\101\1\102\1\111\1\122\1\117\1\105\1\117\2\101\1\116"+ + "\1\125\1\101\1\110\1\111\2\56\13\uffff\1\122\1\114\1\117\1\114\2"+ + "\60\2\105\1\60\1\125\1\117\1\122\1\116\1\124\1\111\1\101\1\115\1"+ + "\117\1\103\1\120\1\115\1\123\1\102\1\101\1\116\1\111\1\103\1\123"+ + "\2\104\1\107\1\114\1\60\1\107\1\116\1\105\1\60\1\110\1\122\1\116"+ + "\1\114\1\101\1\115\1\130\1\116\1\114\1\111\1\123\1\101\1\114\1\111"+ + "\1\124\1\117\1\56\1\uffff\1\60\1\114\1\101\1\123\1\105\1\uffff\1"+ + "\107\1\uffff\1\116\1\122\1\125\1\uffff\1\116\1\122\1\125\1\124\1"+ + "\60\2\103\1\114\1\105\1\122\1\117\1\60\1\105\1\60\1\116\1\105\1"+ + "\104\1\120\1\123\1\111\1\122\1\60\1\115\1\105\1\103\5\60\1\uffff"+ + "\1\60\1\107\1\124\1\105\1\122\1\uffff\1\105\2\60\1\105\1\114\1\122"+ + "\1\101\1\102\2\60\1\125\1\116\1\111\1\104\1\106\2\60\1\114\1\uffff"+ "\1\60\1\124\1\105\1\122\1\105\1\124\1\105\1\122\1\104\1\105\1\103"+ "\2\60\1\uffff\1\104\1\125\1\122\2\105\1\60\1\124\1\104\1\uffff\1"+ "\116\1\60\1\uffff\1\124\1\122\1\105\1\114\1\105\1\122\1\103\2\60"+ @@ -8116,48 +8143,48 @@ public class wcpsLexer extends Lexer { "\1\104\1\116\1\60\1\111\1\uffff\2\105\1\60\1\uffff\1\117\1\106\1"+ "\124\1\uffff\1\116\1\101\1\60\1\104\1\125\1\uffff\2\105\1\114\1"+ "\106\2\124\1\101\2\60\1\125\2\uffff\1\114\1\124\1\60\1\uffff"; - static final String DFA16_maxS = - "\1\175\6\uffff\2\75\12\uffff\1\165\1\156\1\150\1\157\1\164\1\170"+ - "\1\165\1\162\1\166\1\157\1\166\1\157\1\165\1\157\1\151\1\141\1\163"+ - "\1\165\1\141\1\150\1\157\1\71\1\56\10\uffff\1\162\1\154\1\157\1"+ - "\154\2\172\2\145\1\172\1\165\2\162\1\156\1\164\1\151\1\141\1\155"+ - "\1\157\1\143\1\164\1\166\1\163\1\142\1\141\1\156\1\165\1\143\1\163"+ - "\2\144\1\147\1\154\1\172\1\156\1\163\1\145\1\172\1\150\1\162\1\164"+ - "\1\154\1\141\1\165\1\170\1\156\1\154\1\151\1\163\1\141\1\154\1\151"+ - "\1\164\1\157\1\71\2\uffff\1\172\1\154\1\141\1\163\1\145\1\uffff"+ - "\1\147\1\uffff\1\156\1\162\1\165\1\uffff\1\156\1\162\1\165\1\164"+ - "\1\172\1\156\1\143\1\154\1\145\1\162\1\157\1\172\1\145\1\172\1\156"+ - "\1\145\1\144\1\160\1\164\1\151\1\162\1\172\1\155\1\145\1\164\5\172"+ - "\1\uffff\1\172\1\147\1\164\1\145\1\162\1\uffff\1\145\2\172\1\145"+ - "\1\154\1\162\1\141\1\142\2\172\1\165\1\156\1\151\1\144\1\146\2\172"+ - "\1\154\1\uffff\1\172\1\164\1\145\1\162\1\145\1\164\1\145\1\162\1"+ - "\144\1\145\1\143\2\172\1\uffff\1\156\1\165\1\162\2\145\1\172\1\164"+ - "\1\144\1\uffff\1\156\1\172\1\uffff\1\164\1\162\1\145\1\154\1\145"+ - "\1\162\1\143\2\172\1\uffff\2\172\1\151\1\157\1\141\6\uffff\2\172"+ - "\1\141\1\172\1\162\2\uffff\1\172\1\163\1\145\1\151\1\154\2\uffff"+ - "\1\145\2\147\1\162\1\172\2\uffff\1\145\1\uffff\2\172\1\160\1\143"+ - "\1\151\1\172\1\156\2\172\1\164\2\uffff\1\145\1\164\1\154\1\163\2"+ - "\172\1\uffff\1\172\1\145\1\144\1\uffff\1\172\1\141\1\156\1\145\1"+ - "\164\1\141\1\172\4\uffff\1\156\1\163\1\156\2\uffff\1\162\1\141\1"+ - "\uffff\1\172\1\uffff\2\145\1\163\1\156\1\145\2\172\1\156\1\141\1"+ - "\uffff\1\141\1\uffff\1\157\1\162\1\146\1\uffff\1\172\2\uffff\1\172"+ - "\1\156\1\145\1\154\1\163\3\uffff\2\172\1\uffff\1\147\1\163\1\170"+ - "\1\172\1\156\1\uffff\4\172\1\171\1\uffff\1\164\1\146\1\164\3\172"+ - "\2\uffff\1\145\1\164\1\156\1\154\1\163\1\151\2\uffff\1\164\1\162"+ - "\1\163\1\145\2\uffff\2\145\1\172\1\uffff\1\163\4\uffff\2\172\1\141"+ - "\1\172\3\uffff\1\144\1\151\1\172\1\141\1\172\1\145\1\151\1\160\1"+ - "\145\1\164\3\172\1\uffff\1\146\2\uffff\1\165\1\uffff\1\172\1\143"+ - "\1\uffff\1\164\1\157\1\uffff\1\162\1\146\1\157\1\164\1\172\3\uffff"+ - "\1\157\1\154\1\uffff\1\172\1\151\1\155\1\172\1\151\1\154\1\172\1"+ - "\uffff\1\162\1\164\1\uffff\1\157\1\141\1\uffff\1\145\1\141\1\uffff"+ - "\1\155\1\172\1\156\1\151\1\162\1\164\1\172\1\uffff\1\163\1\156\1"+ - "\172\1\151\1\uffff\2\145\1\172\1\uffff\1\157\1\146\1\164\1\uffff"+ - "\1\156\1\141\1\172\1\163\1\165\1\uffff\2\145\1\154\1\146\2\164\1"+ - "\141\2\172\1\165\2\uffff\1\154\1\164\1\172\1\uffff"; - static final String DFA16_acceptS = - "\1\uffff\1\1\1\2\1\3\1\4\1\5\1\6\2\uffff\1\13\1\14\1\15\1\16\1\17"+ - "\1\20\1\21\1\22\1\23\1\24\27\uffff\1\151\1\152\1\153\1\154\1\11"+ - "\1\7\1\12\1\10\66\uffff\1\147\1\150\5\uffff\1\26\1\uffff\1\55\3"+ + static final String DFA17_maxS = + "\1\175\2\71\4\uffff\2\75\12\uffff\1\165\1\156\1\150\1\157\1\164"+ + "\1\170\1\165\1\162\1\166\1\157\1\166\1\157\1\165\1\157\1\151\1\141"+ + "\1\163\1\165\1\141\1\150\1\157\1\71\1\56\13\uffff\1\162\1\154\1"+ + "\157\1\154\2\172\2\145\1\172\1\165\2\162\1\156\1\164\1\151\1\141"+ + "\1\155\1\157\1\143\1\164\1\166\1\163\1\142\1\141\1\156\1\165\1\143"+ + "\1\163\2\144\1\147\1\154\1\172\1\156\1\163\1\145\1\172\1\150\1\162"+ + "\1\164\1\154\1\141\1\165\1\170\1\156\1\154\1\151\1\163\1\141\1\154"+ + "\1\151\1\164\1\157\1\71\1\uffff\1\172\1\154\1\141\1\163\1\145\1"+ + "\uffff\1\147\1\uffff\1\156\1\162\1\165\1\uffff\1\156\1\162\1\165"+ + "\1\164\1\172\1\156\1\143\1\154\1\145\1\162\1\157\1\172\1\145\1\172"+ + "\1\156\1\145\1\144\1\160\1\164\1\151\1\162\1\172\1\155\1\145\1\164"+ + "\5\172\1\uffff\1\172\1\147\1\164\1\145\1\162\1\uffff\1\145\2\172"+ + "\1\145\1\154\1\162\1\141\1\142\2\172\1\165\1\156\1\151\1\144\1\146"+ + "\2\172\1\154\1\uffff\1\172\1\164\1\145\1\162\1\145\1\164\1\145\1"+ + "\162\1\144\1\145\1\143\2\172\1\uffff\1\156\1\165\1\162\2\145\1\172"+ + "\1\164\1\144\1\uffff\1\156\1\172\1\uffff\1\164\1\162\1\145\1\154"+ + "\1\145\1\162\1\143\2\172\1\uffff\2\172\1\151\1\157\1\141\6\uffff"+ + "\2\172\1\141\1\172\1\162\2\uffff\1\172\1\163\1\145\1\151\1\154\2"+ + "\uffff\1\145\2\147\1\162\1\172\2\uffff\1\145\1\uffff\2\172\1\160"+ + "\1\143\1\151\1\172\1\156\2\172\1\164\2\uffff\1\145\1\164\1\154\1"+ + "\163\2\172\1\uffff\1\172\1\145\1\144\1\uffff\1\172\1\141\1\156\1"+ + "\145\1\164\1\141\1\172\4\uffff\1\156\1\163\1\156\2\uffff\1\162\1"+ + "\141\1\uffff\1\172\1\uffff\2\145\1\163\1\156\1\145\2\172\1\156\1"+ + "\141\1\uffff\1\141\1\uffff\1\157\1\162\1\146\1\uffff\1\172\2\uffff"+ + "\1\172\1\156\1\145\1\154\1\163\3\uffff\2\172\1\uffff\1\147\1\163"+ + "\1\170\1\172\1\156\1\uffff\4\172\1\171\1\uffff\1\164\1\146\1\164"+ + "\3\172\2\uffff\1\145\1\164\1\156\1\154\1\163\1\151\2\uffff\1\164"+ + "\1\162\1\163\1\145\2\uffff\2\145\1\172\1\uffff\1\163\4\uffff\2\172"+ + "\1\141\1\172\3\uffff\1\144\1\151\1\172\1\141\1\172\1\145\1\151\1"+ + "\160\1\145\1\164\3\172\1\uffff\1\146\2\uffff\1\165\1\uffff\1\172"+ + "\1\143\1\uffff\1\164\1\157\1\uffff\1\162\1\146\1\157\1\164\1\172"+ + "\3\uffff\1\157\1\154\1\uffff\1\172\1\151\1\155\1\172\1\151\1\154"+ + "\1\172\1\uffff\1\162\1\164\1\uffff\1\157\1\141\1\uffff\1\145\1\141"+ + "\1\uffff\1\155\1\172\1\156\1\151\1\162\1\164\1\172\1\uffff\1\163"+ + "\1\156\1\172\1\151\1\uffff\2\145\1\172\1\uffff\1\157\1\146\1\164"+ + "\1\uffff\1\156\1\141\1\172\1\163\1\165\1\uffff\2\145\1\154\1\146"+ + "\2\164\1\141\2\172\1\165\2\uffff\1\154\1\164\1\172\1\uffff"; + static final String DFA17_acceptS = + "\3\uffff\1\3\1\4\1\5\1\6\2\uffff\1\13\1\14\1\15\1\16\1\17\1\20\1"+ + "\21\1\22\1\23\1\24\27\uffff\1\151\1\152\1\153\1\154\1\1\1\147\1"+ + "\2\1\11\1\7\1\12\1\10\66\uffff\1\150\5\uffff\1\26\1\uffff\1\55\3"+ "\uffff\1\54\36\uffff\1\46\5\uffff\1\57\22\uffff\1\25\15\uffff\1"+ "\34\10\uffff\1\45\2\uffff\1\35\11\uffff\1\36\5\uffff\1\51\1\56\1"+ "\106\1\107\1\113\1\47\5\uffff\1\60\1\61\5\uffff\1\110\1\111\5\uffff"+ @@ -8172,9 +8199,9 @@ public class wcpsLexer extends Lexer { "\7\uffff\1\77\2\uffff\1\125\2\uffff\1\62\2\uffff\1\74\7\uffff\1"+ "\70\4\uffff\1\104\3\uffff\1\73\3\uffff\1\64\5\uffff\1\72\12\uffff"+ "\1\76\1\71\3\uffff\1\75"; - static final String DFA16_specialS = - "\u01d0\uffff}>"; - static final String[] DFA16_transitionS = { + static final String DFA17_specialS = + "\u01d2\uffff}>"; + static final String[] DFA17_transitionS = { "\2\55\1\uffff\2\55\22\uffff\1\55\1\6\1\52\1\uffff\1\54\3\uffff"+ "\1\12\1\13\1\4\1\1\1\20\1\2\1\11\1\3\1\51\11\50\1\21\1\22\1"+ "\7\1\5\1\10\2\uffff\1\33\1\47\1\31\1\40\1\30\1\23\1\53\1\45"+ @@ -8183,15 +8210,16 @@ public class wcpsLexer extends Lexer { "\1\33\1\47\1\31\1\40\1\30\1\23\1\53\1\45\1\24\2\53\1\34\1\41"+ "\1\37\1\35\1\46\1\44\1\26\1\27\1\32\1\43\1\42\1\25\1\36\2\53"+ "\1\16\1\uffff\1\17", + "\12\57", + "\12\57", "", "", "", "", + "\1\61", + "\1\63", "", "", - "\1\56", - "\1\60", - "", "", "", "", @@ -8200,39 +8228,41 @@ public class wcpsLexer extends Lexer { "", "", "", - "", - "\1\65\12\uffff\1\64\2\uffff\1\62\5\uffff\1\63\13\uffff\1\65"+ - "\12\uffff\1\64\2\uffff\1\62\5\uffff\1\63", - "\1\70\10\uffff\1\67\1\66\25\uffff\1\70\10\uffff\1\67\1\66", - "\1\71\37\uffff\1\71", - "\1\72\11\uffff\1\73\25\uffff\1\72\11\uffff\1\73", - "\1\101\1\uffff\1\77\2\uffff\1\103\1\76\2\uffff\1\100\2\uffff"+ - "\1\102\1\uffff\1\75\2\uffff\1\74\16\uffff\1\101\1\uffff\1\77"+ - "\2\uffff\1\103\1\76\2\uffff\1\100\2\uffff\1\102\1\uffff\1\75"+ - "\2\uffff\1\74", - "\1\104\11\uffff\1\105\25\uffff\1\104\11\uffff\1\105", - "\1\111\6\uffff\1\106\2\uffff\1\107\2\uffff\1\110\22\uffff\1"+ - "\111\6\uffff\1\106\2\uffff\1\107\2\uffff\1\110", - "\1\112\20\uffff\1\113\16\uffff\1\112\20\uffff\1\113", - "\1\115\1\uffff\1\117\7\uffff\1\121\1\uffff\1\116\3\uffff\1"+ - "\114\3\uffff\1\120\13\uffff\1\115\1\uffff\1\117\7\uffff\1\121"+ - "\1\uffff\1\116\3\uffff\1\114\3\uffff\1\120", - "\1\124\4\uffff\1\122\1\123\31\uffff\1\124\4\uffff\1\122\1\123", - "\1\126\1\uffff\1\127\1\uffff\1\125\33\uffff\1\126\1\uffff\1"+ - "\127\1\uffff\1\125", - "\1\130\37\uffff\1\130", - "\1\133\11\uffff\1\131\5\uffff\1\132\17\uffff\1\133\11\uffff"+ - "\1\131\5\uffff\1\132", - "\1\134\37\uffff\1\134", - "\1\135\7\uffff\1\136\27\uffff\1\135\7\uffff\1\136", + "\1\70\12\uffff\1\67\2\uffff\1\65\5\uffff\1\66\13\uffff\1\70"+ + "\12\uffff\1\67\2\uffff\1\65\5\uffff\1\66", + "\1\73\10\uffff\1\72\1\71\25\uffff\1\73\10\uffff\1\72\1\71", + "\1\74\37\uffff\1\74", + "\1\75\11\uffff\1\76\25\uffff\1\75\11\uffff\1\76", + "\1\104\1\uffff\1\102\2\uffff\1\106\1\101\2\uffff\1\103\2\uffff"+ + "\1\105\1\uffff\1\100\2\uffff\1\77\16\uffff\1\104\1\uffff\1\102"+ + "\2\uffff\1\106\1\101\2\uffff\1\103\2\uffff\1\105\1\uffff\1\100"+ + "\2\uffff\1\77", + "\1\107\11\uffff\1\110\25\uffff\1\107\11\uffff\1\110", + "\1\114\6\uffff\1\111\2\uffff\1\112\2\uffff\1\113\22\uffff\1"+ + "\114\6\uffff\1\111\2\uffff\1\112\2\uffff\1\113", + "\1\115\20\uffff\1\116\16\uffff\1\115\20\uffff\1\116", + "\1\120\1\uffff\1\122\7\uffff\1\124\1\uffff\1\121\3\uffff\1"+ + "\117\3\uffff\1\123\13\uffff\1\120\1\uffff\1\122\7\uffff\1\124"+ + "\1\uffff\1\121\3\uffff\1\117\3\uffff\1\123", + "\1\127\4\uffff\1\125\1\126\31\uffff\1\127\4\uffff\1\125\1\126", + "\1\131\1\uffff\1\132\1\uffff\1\130\33\uffff\1\131\1\uffff\1"+ + "\132\1\uffff\1\130", + "\1\133\37\uffff\1\133", + "\1\136\11\uffff\1\134\5\uffff\1\135\17\uffff\1\136\11\uffff"+ + "\1\134\5\uffff\1\135", "\1\137\37\uffff\1\137", - "\1\141\4\uffff\1\140\32\uffff\1\141\4\uffff\1\140", + "\1\140\7\uffff\1\141\27\uffff\1\140\7\uffff\1\141", "\1\142\37\uffff\1\142", - "\1\143\37\uffff\1\143", - "\1\144\37\uffff\1\144", - "\1\145\5\uffff\1\146\31\uffff\1\145\5\uffff\1\146", - "\1\151\1\uffff\12\147", - "\1\151", + "\1\144\4\uffff\1\143\32\uffff\1\144\4\uffff\1\143", + "\1\145\37\uffff\1\145", + "\1\146\37\uffff\1\146", + "\1\147\37\uffff\1\147", + "\1\150\5\uffff\1\151\31\uffff\1\150\5\uffff\1\151", + "\1\153\1\uffff\12\152", + "\1\153", + "", + "", + "", "", "", "", @@ -8241,54 +8271,52 @@ public class wcpsLexer extends Lexer { "", "", "", - "\1\152\37\uffff\1\152", - "\1\153\37\uffff\1\153", "\1\154\37\uffff\1\154", "\1\155\37\uffff\1\155", - "\12\53\7\uffff\23\53\1\156\6\53\4\uffff\1\53\1\uffff\23\53"+ - "\1\156\6\53", - "\12\53\7\uffff\1\160\31\53\4\uffff\1\53\1\uffff\1\160\31\53", - "\1\162\37\uffff\1\162", - "\1\163\37\uffff\1\163", - "\12\53\7\uffff\23\53\1\164\6\53\4\uffff\1\53\1\uffff\23\53"+ - "\1\164\6\53", - "\1\166\37\uffff\1\166", - "\1\167\2\uffff\1\170\34\uffff\1\167\2\uffff\1\170", - "\1\171\37\uffff\1\171", - "\1\172\37\uffff\1\172", + "\1\156\37\uffff\1\156", + "\1\157\37\uffff\1\157", + "\12\53\7\uffff\23\53\1\160\6\53\4\uffff\1\53\1\uffff\23\53"+ + "\1\160\6\53", + "\12\53\7\uffff\1\162\31\53\4\uffff\1\53\1\uffff\1\162\31\53", + "\1\164\37\uffff\1\164", + "\1\165\37\uffff\1\165", + "\12\53\7\uffff\23\53\1\166\6\53\4\uffff\1\53\1\uffff\23\53"+ + "\1\166\6\53", + "\1\170\37\uffff\1\170", + "\1\171\2\uffff\1\172\34\uffff\1\171\2\uffff\1\172", "\1\173\37\uffff\1\173", "\1\174\37\uffff\1\174", "\1\175\37\uffff\1\175", "\1\176\37\uffff\1\176", "\1\177\37\uffff\1\177", "\1\u0080\37\uffff\1\u0080", - "\1\u0081\3\uffff\1\u0082\33\uffff\1\u0081\3\uffff\1\u0082", - "\1\u0087\1\u0086\4\uffff\1\u0083\1\uffff\1\u0084\1\u0085\26"+ - "\uffff\1\u0087\1\u0086\4\uffff\1\u0083\1\uffff\1\u0084\1\u0085", - "\1\u0088\37\uffff\1\u0088", - "\1\u0089\37\uffff\1\u0089", + "\1\u0081\37\uffff\1\u0081", + "\1\u0082\37\uffff\1\u0082", + "\1\u0083\3\uffff\1\u0084\33\uffff\1\u0083\3\uffff\1\u0084", + "\1\u0089\1\u0088\4\uffff\1\u0085\1\uffff\1\u0086\1\u0087\26"+ + "\uffff\1\u0089\1\u0088\4\uffff\1\u0085\1\uffff\1\u0086\1\u0087", "\1\u008a\37\uffff\1\u008a", "\1\u008b\37\uffff\1\u008b", - "\1\u008c\13\uffff\1\u008d\23\uffff\1\u008c\13\uffff\1\u008d", - "\1\u008e\37\uffff\1\u008e", - "\1\u008f\37\uffff\1\u008f", + "\1\u008c\37\uffff\1\u008c", + "\1\u008d\37\uffff\1\u008d", + "\1\u008e\13\uffff\1\u008f\23\uffff\1\u008e\13\uffff\1\u008f", "\1\u0090\37\uffff\1\u0090", "\1\u0091\37\uffff\1\u0091", "\1\u0092\37\uffff\1\u0092", "\1\u0093\37\uffff\1\u0093", + "\1\u0094\37\uffff\1\u0094", + "\1\u0095\37\uffff\1\u0095", "\12\53\7\uffff\32\53\4\uffff\1\53\1\uffff\32\53", - "\1\u0095\6\uffff\1\u0096\30\uffff\1\u0095\6\uffff\1\u0096", - "\1\u0098\4\uffff\1\u0097\32\uffff\1\u0098\4\uffff\1\u0097", - "\1\u0099\37\uffff\1\u0099", - "\12\53\7\uffff\32\53\4\uffff\1\53\1\uffff\32\53", + "\1\u0097\6\uffff\1\u0098\30\uffff\1\u0097\6\uffff\1\u0098", + "\1\u009a\4\uffff\1\u0099\32\uffff\1\u009a\4\uffff\1\u0099", "\1\u009b\37\uffff\1\u009b", - "\1\u009c\37\uffff\1\u009c", - "\1\u009e\5\uffff\1\u009d\31\uffff\1\u009e\5\uffff\1\u009d", - "\1\u009f\37\uffff\1\u009f", - "\1\u00a0\37\uffff\1\u00a0", - "\1\u00a1\7\uffff\1\u00a2\27\uffff\1\u00a1\7\uffff\1\u00a2", - "\1\u00a3\37\uffff\1\u00a3", - "\1\u00a4\37\uffff\1\u00a4", + "\12\53\7\uffff\32\53\4\uffff\1\53\1\uffff\32\53", + "\1\u009d\37\uffff\1\u009d", + "\1\u009e\37\uffff\1\u009e", + "\1\u00a0\5\uffff\1\u009f\31\uffff\1\u00a0\5\uffff\1\u009f", + "\1\u00a1\37\uffff\1\u00a1", + "\1\u00a2\37\uffff\1\u00a2", + "\1\u00a3\7\uffff\1\u00a4\27\uffff\1\u00a3\7\uffff\1\u00a4", "\1\u00a5\37\uffff\1\u00a5", "\1\u00a6\37\uffff\1\u00a6", "\1\u00a7\37\uffff\1\u00a7", @@ -8297,51 +8325,52 @@ public class wcpsLexer extends Lexer { "\1\u00aa\37\uffff\1\u00aa", "\1\u00ab\37\uffff\1\u00ab", "\1\u00ac\37\uffff\1\u00ac", - "\1\151\1\uffff\12\147", - "", + "\1\u00ad\37\uffff\1\u00ad", + "\1\u00ae\37\uffff\1\u00ae", + "\1\153\1\uffff\12\152", "", "\12\53\7\uffff\32\53\4\uffff\1\53\1\uffff\32\53", - "\1\u00ae\37\uffff\1\u00ae", - "\1\u00af\37\uffff\1\u00af", "\1\u00b0\37\uffff\1\u00b0", "\1\u00b1\37\uffff\1\u00b1", - "", "\1\u00b2\37\uffff\1\u00b2", - "", "\1\u00b3\37\uffff\1\u00b3", + "", "\1\u00b4\37\uffff\1\u00b4", - "\1\u00b5\37\uffff\1\u00b5", "", + "\1\u00b5\37\uffff\1\u00b5", "\1\u00b6\37\uffff\1\u00b6", "\1\u00b7\37\uffff\1\u00b7", + "", "\1\u00b8\37\uffff\1\u00b8", "\1\u00b9\37\uffff\1\u00b9", - "\12\53\7\uffff\7\53\1\u00ba\22\53\4\uffff\1\53\1\uffff\7\53"+ - "\1\u00ba\22\53", - "\1\u00be\5\uffff\1\u00bc\4\uffff\1\u00bd\24\uffff\1\u00be\5"+ - "\uffff\1\u00bc\4\uffff\1\u00bd", - "\1\u00bf\37\uffff\1\u00bf", - "\1\u00c0\37\uffff\1\u00c0", + "\1\u00ba\37\uffff\1\u00ba", + "\1\u00bb\37\uffff\1\u00bb", + "\12\53\7\uffff\7\53\1\u00bc\22\53\4\uffff\1\53\1\uffff\7\53"+ + "\1\u00bc\22\53", + "\1\u00c0\5\uffff\1\u00be\4\uffff\1\u00bf\24\uffff\1\u00c0\5"+ + "\uffff\1\u00be\4\uffff\1\u00bf", "\1\u00c1\37\uffff\1\u00c1", "\1\u00c2\37\uffff\1\u00c2", "\1\u00c3\37\uffff\1\u00c3", - "\12\53\7\uffff\32\53\4\uffff\1\53\1\uffff\32\53", + "\1\u00c4\37\uffff\1\u00c4", "\1\u00c5\37\uffff\1\u00c5", - "\12\53\7\uffff\7\53\1\u00c6\22\53\4\uffff\1\53\1\uffff\7\53"+ - "\1\u00c6\22\53", - "\1\u00c8\37\uffff\1\u00c8", - "\1\u00c9\37\uffff\1\u00c9", + "\12\53\7\uffff\32\53\4\uffff\1\53\1\uffff\32\53", + "\1\u00c7\37\uffff\1\u00c7", + "\12\53\7\uffff\7\53\1\u00c8\22\53\4\uffff\1\53\1\uffff\7\53"+ + "\1\u00c8\22\53", "\1\u00ca\37\uffff\1\u00ca", "\1\u00cb\37\uffff\1\u00cb", - "\1\u00cc\1\u00cd\36\uffff\1\u00cc\1\u00cd", - "\1\u00ce\37\uffff\1\u00ce", - "\1\u00cf\37\uffff\1\u00cf", - "\12\53\7\uffff\7\53\1\u00d0\22\53\4\uffff\1\53\1\uffff\7\53"+ - "\1\u00d0\22\53", - "\1\u00d2\37\uffff\1\u00d2", - "\1\u00d3\37\uffff\1\u00d3", - "\1\u00d5\17\uffff\1\u00d4\1\u00d6\16\uffff\1\u00d5\17\uffff"+ - "\1\u00d4\1\u00d6", + "\1\u00cc\37\uffff\1\u00cc", + "\1\u00cd\37\uffff\1\u00cd", + "\1\u00ce\1\u00cf\36\uffff\1\u00ce\1\u00cf", + "\1\u00d0\37\uffff\1\u00d0", + "\1\u00d1\37\uffff\1\u00d1", + "\12\53\7\uffff\7\53\1\u00d2\22\53\4\uffff\1\53\1\uffff\7\53"+ + "\1\u00d2\22\53", + "\1\u00d4\37\uffff\1\u00d4", + "\1\u00d5\37\uffff\1\u00d5", + "\1\u00d7\17\uffff\1\u00d6\1\u00d8\16\uffff\1\u00d7\17\uffff"+ + "\1\u00d6\1\u00d8", "\12\53\7\uffff\32\53\4\uffff\1\53\1\uffff\32\53", "\12\53\7\uffff\32\53\4\uffff\1\53\1\uffff\32\53", "\12\53\7\uffff\32\53\4\uffff\1\53\1\uffff\32\53", @@ -8349,33 +8378,31 @@ public class wcpsLexer extends Lexer { "\12\53\7\uffff\32\53\4\uffff\1\53\1\uffff\32\53", "", "\12\53\7\uffff\32\53\4\uffff\1\53\1\uffff\32\53", - "\1\u00dd\37\uffff\1\u00dd", - "\1\u00de\37\uffff\1\u00de", "\1\u00df\37\uffff\1\u00df", "\1\u00e0\37\uffff\1\u00e0", - "", "\1\u00e1\37\uffff\1\u00e1", + "\1\u00e2\37\uffff\1\u00e2", + "", + "\1\u00e3\37\uffff\1\u00e3", "\12\53\7\uffff\32\53\4\uffff\1\53\1\uffff\32\53", "\12\53\7\uffff\32\53\4\uffff\1\53\1\uffff\32\53", - "\1\u00e4\37\uffff\1\u00e4", - "\1\u00e5\37\uffff\1\u00e5", "\1\u00e6\37\uffff\1\u00e6", "\1\u00e7\37\uffff\1\u00e7", "\1\u00e8\37\uffff\1\u00e8", + "\1\u00e9\37\uffff\1\u00e9", + "\1\u00ea\37\uffff\1\u00ea", "\12\53\7\uffff\32\53\4\uffff\1\53\1\uffff\32\53", "\12\53\7\uffff\32\53\4\uffff\1\53\1\uffff\32\53", - "\1\u00eb\37\uffff\1\u00eb", - "\1\u00ec\37\uffff\1\u00ec", "\1\u00ed\37\uffff\1\u00ed", "\1\u00ee\37\uffff\1\u00ee", "\1\u00ef\37\uffff\1\u00ef", + "\1\u00f0\37\uffff\1\u00f0", + "\1\u00f1\37\uffff\1\u00f1", "\12\53\7\uffff\32\53\4\uffff\1\53\1\uffff\32\53", "\12\53\7\uffff\32\53\4\uffff\1\53\1\uffff\32\53", - "\1\u00f2\37\uffff\1\u00f2", + "\1\u00f4\37\uffff\1\u00f4", "", "\12\53\7\uffff\32\53\4\uffff\1\53\1\uffff\32\53", - "\1\u00f4\37\uffff\1\u00f4", - "\1\u00f5\37\uffff\1\u00f5", "\1\u00f6\37\uffff\1\u00f6", "\1\u00f7\37\uffff\1\u00f7", "\1\u00f8\37\uffff\1\u00f8", @@ -8384,36 +8411,38 @@ public class wcpsLexer extends Lexer { "\1\u00fb\37\uffff\1\u00fb", "\1\u00fc\37\uffff\1\u00fc", "\1\u00fd\37\uffff\1\u00fd", + "\1\u00fe\37\uffff\1\u00fe", + "\1\u00ff\37\uffff\1\u00ff", "\12\53\7\uffff\32\53\4\uffff\1\53\1\uffff\32\53", "\12\53\7\uffff\32\53\4\uffff\1\53\1\uffff\32\53", "", - "\1\u0100\11\uffff\1\u0101\25\uffff\1\u0100\11\uffff\1\u0101", - "\1\u0102\37\uffff\1\u0102", - "\1\u0103\37\uffff\1\u0103", + "\1\u0102\11\uffff\1\u0103\25\uffff\1\u0102\11\uffff\1\u0103", "\1\u0104\37\uffff\1\u0104", "\1\u0105\37\uffff\1\u0105", - "\12\53\7\uffff\32\53\4\uffff\1\53\1\uffff\32\53", + "\1\u0106\37\uffff\1\u0106", "\1\u0107\37\uffff\1\u0107", - "\1\u0108\37\uffff\1\u0108", - "", - "\1\u0109\37\uffff\1\u0109", "\12\53\7\uffff\32\53\4\uffff\1\53\1\uffff\32\53", + "\1\u0109\37\uffff\1\u0109", + "\1\u010a\37\uffff\1\u010a", "", "\1\u010b\37\uffff\1\u010b", - "\1\u010c\37\uffff\1\u010c", + "\12\53\7\uffff\32\53\4\uffff\1\53\1\uffff\32\53", + "", "\1\u010d\37\uffff\1\u010d", "\1\u010e\37\uffff\1\u010e", "\1\u010f\37\uffff\1\u010f", "\1\u0110\37\uffff\1\u0110", "\1\u0111\37\uffff\1\u0111", + "\1\u0112\37\uffff\1\u0112", + "\1\u0113\37\uffff\1\u0113", "\12\53\7\uffff\32\53\4\uffff\1\53\1\uffff\32\53", "\12\53\7\uffff\32\53\4\uffff\1\53\1\uffff\32\53", "", "\12\53\7\uffff\32\53\4\uffff\1\53\1\uffff\32\53", "\12\53\7\uffff\32\53\4\uffff\1\53\1\uffff\32\53", - "\1\u0116\37\uffff\1\u0116", - "\1\u0117\37\uffff\1\u0117", "\1\u0118\37\uffff\1\u0118", + "\1\u0119\37\uffff\1\u0119", + "\1\u011a\37\uffff\1\u011a", "", "", "", @@ -8422,200 +8451,197 @@ public class wcpsLexer extends Lexer { "", "\12\53\7\uffff\32\53\4\uffff\1\53\1\uffff\32\53", "\12\53\7\uffff\32\53\4\uffff\1\53\1\uffff\32\53", - "\1\u011b\37\uffff\1\u011b", - "\12\53\7\uffff\13\53\1\u011c\16\53\4\uffff\1\53\1\uffff\13"+ - "\53\1\u011c\16\53", - "\1\u011e\37\uffff\1\u011e", + "\1\u011d\37\uffff\1\u011d", + "\12\53\7\uffff\13\53\1\u011e\16\53\4\uffff\1\53\1\uffff\13"+ + "\53\1\u011e\16\53", + "\1\u0120\37\uffff\1\u0120", "", "", "\12\53\7\uffff\32\53\4\uffff\1\53\1\uffff\32\53", - "\1\u0121\16\uffff\1\u0120\20\uffff\1\u0121\16\uffff\1\u0120", - "\1\u0122\37\uffff\1\u0122", - "\1\u0123\37\uffff\1\u0123", + "\1\u0123\16\uffff\1\u0122\20\uffff\1\u0123\16\uffff\1\u0122", "\1\u0124\37\uffff\1\u0124", - "", - "", "\1\u0125\37\uffff\1\u0125", "\1\u0126\37\uffff\1\u0126", + "", + "", "\1\u0127\37\uffff\1\u0127", "\1\u0128\37\uffff\1\u0128", + "\1\u0129\37\uffff\1\u0129", + "\1\u012a\37\uffff\1\u012a", "\12\53\7\uffff\32\53\4\uffff\1\53\1\uffff\32\53", "", "", - "\1\u012a\37\uffff\1\u012a", + "\1\u012c\37\uffff\1\u012c", "", "\12\53\7\uffff\32\53\4\uffff\1\53\1\uffff\32\53", "\12\53\7\uffff\32\53\4\uffff\1\53\1\uffff\32\53", - "\1\u012c\37\uffff\1\u012c", - "\1\u012d\37\uffff\1\u012d", "\1\u012e\37\uffff\1\u012e", - "\12\53\7\uffff\32\53\4\uffff\1\53\1\uffff\32\53", + "\1\u012f\37\uffff\1\u012f", "\1\u0130\37\uffff\1\u0130", "\12\53\7\uffff\32\53\4\uffff\1\53\1\uffff\32\53", + "\1\u0132\37\uffff\1\u0132", "\12\53\7\uffff\32\53\4\uffff\1\53\1\uffff\32\53", - "\1\u0133\37\uffff\1\u0133", + "\12\53\7\uffff\32\53\4\uffff\1\53\1\uffff\32\53", + "\1\u0135\37\uffff\1\u0135", "", "", - "\1\u0134\37\uffff\1\u0134", - "\1\u0135\37\uffff\1\u0135", "\1\u0136\37\uffff\1\u0136", "\1\u0137\37\uffff\1\u0137", + "\1\u0138\37\uffff\1\u0138", + "\1\u0139\37\uffff\1\u0139", "\12\53\7\uffff\32\53\4\uffff\1\53\1\uffff\32\53", "\12\53\7\uffff\32\53\4\uffff\1\53\1\uffff\32\53", "", "\12\53\7\uffff\32\53\4\uffff\1\53\1\uffff\32\53", - "\1\u013b\37\uffff\1\u013b", - "\1\u013c\37\uffff\1\u013c", + "\1\u013d\37\uffff\1\u013d", + "\1\u013e\37\uffff\1\u013e", "", "\12\53\7\uffff\32\53\4\uffff\1\53\1\uffff\32\53", - "\1\u013e\37\uffff\1\u013e", - "\1\u013f\37\uffff\1\u013f", "\1\u0140\37\uffff\1\u0140", "\1\u0141\37\uffff\1\u0141", "\1\u0142\37\uffff\1\u0142", + "\1\u0143\37\uffff\1\u0143", + "\1\u0144\37\uffff\1\u0144", "\12\53\7\uffff\32\53\4\uffff\1\53\1\uffff\32\53", "", "", "", "", - "\1\u0144\37\uffff\1\u0144", - "\1\u0145\37\uffff\1\u0145", "\1\u0146\37\uffff\1\u0146", - "", - "", "\1\u0147\37\uffff\1\u0147", "\1\u0148\37\uffff\1\u0148", "", - "\12\53\7\uffff\32\53\4\uffff\1\53\1\uffff\32\53", "", + "\1\u0149\37\uffff\1\u0149", "\1\u014a\37\uffff\1\u014a", - "\1\u014b\37\uffff\1\u014b", + "", + "\12\53\7\uffff\32\53\4\uffff\1\53\1\uffff\32\53", + "", "\1\u014c\37\uffff\1\u014c", "\1\u014d\37\uffff\1\u014d", "\1\u014e\37\uffff\1\u014e", - "\12\53\7\uffff\22\53\1\u014f\7\53\4\uffff\1\53\1\uffff\22\53"+ - "\1\u014f\7\53", + "\1\u014f\37\uffff\1\u014f", + "\1\u0150\37\uffff\1\u0150", + "\12\53\7\uffff\22\53\1\u0151\7\53\4\uffff\1\53\1\uffff\22\53"+ + "\1\u0151\7\53", "\12\53\7\uffff\32\53\4\uffff\1\53\1\uffff\32\53", - "\1\u0152\37\uffff\1\u0152", - "\1\u0153\37\uffff\1\u0153", - "", "\1\u0154\37\uffff\1\u0154", - "", "\1\u0155\37\uffff\1\u0155", + "", "\1\u0156\37\uffff\1\u0156", + "", "\1\u0157\37\uffff\1\u0157", + "\1\u0158\37\uffff\1\u0158", + "\1\u0159\37\uffff\1\u0159", "", "\12\53\7\uffff\32\53\4\uffff\1\53\1\uffff\32\53", "", "", "\12\53\7\uffff\32\53\4\uffff\1\53\1\uffff\32\53", - "\1\u015a\37\uffff\1\u015a", - "\1\u015b\37\uffff\1\u015b", "\1\u015c\37\uffff\1\u015c", "\1\u015d\37\uffff\1\u015d", + "\1\u015e\37\uffff\1\u015e", + "\1\u015f\37\uffff\1\u015f", "", "", "", "\12\53\7\uffff\32\53\4\uffff\1\53\1\uffff\32\53", "\12\53\7\uffff\32\53\4\uffff\1\53\1\uffff\32\53", "", - "\1\u0160\37\uffff\1\u0160", - "\1\u0161\37\uffff\1\u0161", "\1\u0162\37\uffff\1\u0162", - "\12\53\7\uffff\32\53\4\uffff\1\53\1\uffff\32\53", + "\1\u0163\37\uffff\1\u0163", "\1\u0164\37\uffff\1\u0164", + "\12\53\7\uffff\32\53\4\uffff\1\53\1\uffff\32\53", + "\1\u0166\37\uffff\1\u0166", "", "\12\53\7\uffff\32\53\4\uffff\1\53\1\uffff\32\53", "\12\53\7\uffff\32\53\4\uffff\1\53\1\uffff\32\53", "\12\53\7\uffff\32\53\4\uffff\1\53\1\uffff\32\53", "\12\53\7\uffff\32\53\4\uffff\1\53\1\uffff\32\53", - "\1\u0169\37\uffff\1\u0169", - "", - "\1\u016a\37\uffff\1\u016a", "\1\u016b\37\uffff\1\u016b", + "", "\1\u016c\37\uffff\1\u016c", + "\1\u016d\37\uffff\1\u016d", + "\1\u016e\37\uffff\1\u016e", "\12\53\7\uffff\32\53\4\uffff\1\53\1\uffff\32\53", "\12\53\7\uffff\32\53\4\uffff\1\53\1\uffff\32\53", "\12\53\7\uffff\32\53\4\uffff\1\53\1\uffff\32\53", "", "", - "\1\u0170\37\uffff\1\u0170", - "\1\u0171\37\uffff\1\u0171", "\1\u0172\37\uffff\1\u0172", "\1\u0173\37\uffff\1\u0173", "\1\u0174\37\uffff\1\u0174", "\1\u0175\37\uffff\1\u0175", - "", - "", "\1\u0176\37\uffff\1\u0176", "\1\u0177\37\uffff\1\u0177", - "\1\u0178\37\uffff\1\u0178", - "\1\u0179\37\uffff\1\u0179", "", "", + "\1\u0178\37\uffff\1\u0178", + "\1\u0179\37\uffff\1\u0179", "\1\u017a\37\uffff\1\u017a", "\1\u017b\37\uffff\1\u017b", - "\2\53\1\u017c\7\53\7\uffff\32\53\4\uffff\1\53\1\uffff\32\53", "", - "\1\u017e\37\uffff\1\u017e", + "", + "\1\u017c\37\uffff\1\u017c", + "\1\u017d\37\uffff\1\u017d", + "\2\53\1\u017e\7\53\7\uffff\32\53\4\uffff\1\53\1\uffff\32\53", + "", + "\1\u0180\37\uffff\1\u0180", "", "", "", "", "\12\53\7\uffff\32\53\4\uffff\1\53\1\uffff\32\53", "\12\53\7\uffff\32\53\4\uffff\1\53\1\uffff\32\53", - "\1\u0181\37\uffff\1\u0181", + "\1\u0183\37\uffff\1\u0183", "\12\53\7\uffff\32\53\4\uffff\1\53\1\uffff\32\53", "", "", "", - "\1\u0183\37\uffff\1\u0183", - "\1\u0184\37\uffff\1\u0184", - "\12\53\7\uffff\32\53\4\uffff\1\53\1\uffff\32\53", + "\1\u0185\37\uffff\1\u0185", "\1\u0186\37\uffff\1\u0186", - "\12\53\7\uffff\3\53\1\u0187\26\53\4\uffff\1\53\1\uffff\3\53"+ - "\1\u0187\26\53", - "\1\u0189\37\uffff\1\u0189", - "\1\u018a\37\uffff\1\u018a", + "\12\53\7\uffff\32\53\4\uffff\1\53\1\uffff\32\53", + "\1\u0188\37\uffff\1\u0188", + "\12\53\7\uffff\3\53\1\u0189\26\53\4\uffff\1\53\1\uffff\3\53"+ + "\1\u0189\26\53", "\1\u018b\37\uffff\1\u018b", "\1\u018c\37\uffff\1\u018c", "\1\u018d\37\uffff\1\u018d", + "\1\u018e\37\uffff\1\u018e", + "\1\u018f\37\uffff\1\u018f", "\12\53\7\uffff\32\53\4\uffff\1\53\1\uffff\32\53", "\12\53\7\uffff\32\53\4\uffff\1\53\1\uffff\32\53", "\12\53\7\uffff\32\53\4\uffff\1\53\1\uffff\32\53", "", - "\1\u0191\37\uffff\1\u0191", - "", + "\1\u0193\37\uffff\1\u0193", "", - "\1\u0192\37\uffff\1\u0192", "", - "\12\53\7\uffff\32\53\4\uffff\1\53\1\uffff\32\53", "\1\u0194\37\uffff\1\u0194", "", - "\1\u0195\37\uffff\1\u0195", + "\12\53\7\uffff\32\53\4\uffff\1\53\1\uffff\32\53", "\1\u0196\37\uffff\1\u0196", "", "\1\u0197\37\uffff\1\u0197", "\1\u0198\37\uffff\1\u0198", + "", "\1\u0199\37\uffff\1\u0199", "\1\u019a\37\uffff\1\u019a", + "\1\u019b\37\uffff\1\u019b", + "\1\u019c\37\uffff\1\u019c", "\12\53\7\uffff\32\53\4\uffff\1\53\1\uffff\32\53", "", "", "", - "\1\u019c\37\uffff\1\u019c", - "\1\u019d\37\uffff\1\u019d", - "", - "\12\53\7\uffff\32\53\4\uffff\1\53\1\uffff\32\53", + "\1\u019e\37\uffff\1\u019e", "\1\u019f\37\uffff\1\u019f", - "\1\u01a0\37\uffff\1\u01a0", + "", "\12\53\7\uffff\32\53\4\uffff\1\53\1\uffff\32\53", + "\1\u01a1\37\uffff\1\u01a1", "\1\u01a2\37\uffff\1\u01a2", - "\1\u01a3\37\uffff\1\u01a3", "\12\53\7\uffff\32\53\4\uffff\1\53\1\uffff\32\53", - "", + "\1\u01a4\37\uffff\1\u01a4", "\1\u01a5\37\uffff\1\u01a5", - "\1\u01a6\37\uffff\1\u01a6", + "\12\53\7\uffff\32\53\4\uffff\1\53\1\uffff\32\53", "", "\1\u01a7\37\uffff\1\u01a7", "\1\u01a8\37\uffff\1\u01a8", @@ -8624,78 +8650,81 @@ public class wcpsLexer extends Lexer { "\1\u01aa\37\uffff\1\u01aa", "", "\1\u01ab\37\uffff\1\u01ab", - "\12\53\7\uffff\32\53\4\uffff\1\53\1\uffff\32\53", + "\1\u01ac\37\uffff\1\u01ac", + "", "\1\u01ad\37\uffff\1\u01ad", - "\1\u01ae\37\uffff\1\u01ae", + "\12\53\7\uffff\32\53\4\uffff\1\53\1\uffff\32\53", "\1\u01af\37\uffff\1\u01af", "\1\u01b0\37\uffff\1\u01b0", + "\1\u01b1\37\uffff\1\u01b1", + "\1\u01b2\37\uffff\1\u01b2", "\12\53\7\uffff\32\53\4\uffff\1\53\1\uffff\32\53", "", - "\1\u01b2\16\uffff\1\u01b3\20\uffff\1\u01b2\16\uffff\1\u01b3", - "\1\u01b4\37\uffff\1\u01b4", - "\12\53\7\uffff\32\53\4\uffff\1\53\1\uffff\32\53", + "\1\u01b4\16\uffff\1\u01b5\20\uffff\1\u01b4\16\uffff\1\u01b5", "\1\u01b6\37\uffff\1\u01b6", - "", - "\1\u01b7\37\uffff\1\u01b7", - "\1\u01b8\37\uffff\1\u01b8", "\12\53\7\uffff\32\53\4\uffff\1\53\1\uffff\32\53", + "\1\u01b8\37\uffff\1\u01b8", "", + "\1\u01b9\37\uffff\1\u01b9", "\1\u01ba\37\uffff\1\u01ba", - "\1\u01bb\37\uffff\1\u01bb", - "\1\u01bc\37\uffff\1\u01bc", + "\12\53\7\uffff\32\53\4\uffff\1\53\1\uffff\32\53", "", + "\1\u01bc\37\uffff\1\u01bc", "\1\u01bd\37\uffff\1\u01bd", "\1\u01be\37\uffff\1\u01be", - "\12\53\7\uffff\32\53\4\uffff\1\53\1\uffff\32\53", - "\1\u01c0\16\uffff\1\u01c1\20\uffff\1\u01c0\16\uffff\1\u01c1", - "\1\u01c2\37\uffff\1\u01c2", "", - "\1\u01c3\37\uffff\1\u01c3", + "\1\u01bf\37\uffff\1\u01bf", + "\1\u01c0\37\uffff\1\u01c0", + "\12\53\7\uffff\32\53\4\uffff\1\53\1\uffff\32\53", + "\1\u01c2\16\uffff\1\u01c3\20\uffff\1\u01c2\16\uffff\1\u01c3", "\1\u01c4\37\uffff\1\u01c4", + "", "\1\u01c5\37\uffff\1\u01c5", "\1\u01c6\37\uffff\1\u01c6", "\1\u01c7\37\uffff\1\u01c7", "\1\u01c8\37\uffff\1\u01c8", "\1\u01c9\37\uffff\1\u01c9", + "\1\u01ca\37\uffff\1\u01ca", + "\1\u01cb\37\uffff\1\u01cb", "\12\53\7\uffff\32\53\4\uffff\1\53\1\uffff\32\53", "\12\53\7\uffff\32\53\4\uffff\1\53\1\uffff\32\53", - "\1\u01cc\37\uffff\1\u01cc", + "\1\u01ce\37\uffff\1\u01ce", "", "", - "\1\u01cd\37\uffff\1\u01cd", - "\1\u01ce\37\uffff\1\u01ce", + "\1\u01cf\37\uffff\1\u01cf", + "\1\u01d0\37\uffff\1\u01d0", "\12\53\7\uffff\32\53\4\uffff\1\53\1\uffff\32\53", "" }; - static final short[] DFA16_eot = DFA.unpackEncodedString(DFA16_eotS); - static final short[] DFA16_eof = DFA.unpackEncodedString(DFA16_eofS); - static final char[] DFA16_min = DFA.unpackEncodedStringToUnsignedChars(DFA16_minS); - static final char[] DFA16_max = DFA.unpackEncodedStringToUnsignedChars(DFA16_maxS); - static final short[] DFA16_accept = DFA.unpackEncodedString(DFA16_acceptS); - static final short[] DFA16_special = DFA.unpackEncodedString(DFA16_specialS); - static final short[][] DFA16_transition; + static final short[] DFA17_eot = DFA.unpackEncodedString(DFA17_eotS); + static final short[] DFA17_eof = DFA.unpackEncodedString(DFA17_eofS); + static final char[] DFA17_min = DFA.unpackEncodedStringToUnsignedChars(DFA17_minS); + static final char[] DFA17_max = DFA.unpackEncodedStringToUnsignedChars(DFA17_maxS); + static final short[] DFA17_accept = DFA.unpackEncodedString(DFA17_acceptS); + static final short[] DFA17_special = DFA.unpackEncodedString(DFA17_specialS); + static final short[][] DFA17_transition; static { - int numStates = DFA16_transitionS.length; - DFA16_transition = new short[numStates][]; + int numStates = DFA17_transitionS.length; + DFA17_transition = new short[numStates][]; for (int i=0; i0 && alreadyParsedRule(input, 1) ) { return retval; } - // src/grammar/wcps.g:30:2: (e1= forClause (e2= whereClause )? e3= returnClause ) - // src/grammar/wcps.g:30:4: e1= forClause (e2= whereClause )? e3= returnClause + // src/grammar/wcps.g:31:2: (e1= forClause (e2= whereClause )? e3= returnClause ) + // src/grammar/wcps.g:31:4: e1= forClause (e2= whereClause )? e3= returnClause { root_0 = (Object)adaptor.nil(); @@ -192,7 +192,7 @@ public class wcpsParser extends Parser { if ( state.backtracking==0 ) { retval.value = new WCPSRequest((e1!=null?e1.value:null)); } - // src/grammar/wcps.g:31:3: (e2= whereClause )? + // src/grammar/wcps.g:32:3: (e2= whereClause )? int alt1=2; int LA1_0 = input.LA(1); @@ -201,7 +201,7 @@ public class wcpsParser extends Parser { } switch (alt1) { case 1 : - // src/grammar/wcps.g:31:4: e2= whereClause + // src/grammar/wcps.g:32:4: e2= whereClause { pushFollow(FOLLOW_whereClause_in_wcpsRequest72); e2=whereClause(); @@ -258,7 +258,7 @@ public class wcpsParser extends Parser { }; // $ANTLR start "forClause" - // src/grammar/wcps.g:34:1: forClause returns [ForClauseElements value] : FOR v= variableName IN LPAREN list= coverageList RPAREN ( COMMA v= variableName IN LPAREN list= coverageList RPAREN )* ; + // src/grammar/wcps.g:35:1: forClause returns [ForClauseElements value] : FOR v= coverageVariable IN LPAREN list= coverageList RPAREN ( COMMA v= coverageVariable IN LPAREN list= coverageList RPAREN )* ; public final wcpsParser.forClause_return forClause() throws RecognitionException { wcpsParser.forClause_return retval = new wcpsParser.forClause_return(); retval.start = input.LT(1); @@ -273,7 +273,7 @@ public class wcpsParser extends Parser { Token IN6=null; Token LPAREN7=null; Token RPAREN8=null; - wcpsParser.variableName_return v = null; + wcpsParser.coverageVariable_return v = null; wcpsParser.coverageList_return list = null; @@ -289,8 +289,8 @@ public class wcpsParser extends Parser { try { if ( state.backtracking>0 && alreadyParsedRule(input, 2) ) { return retval; } - // src/grammar/wcps.g:35:2: ( FOR v= variableName IN LPAREN list= coverageList RPAREN ( COMMA v= variableName IN LPAREN list= coverageList RPAREN )* ) - // src/grammar/wcps.g:35:4: FOR v= variableName IN LPAREN list= coverageList RPAREN ( COMMA v= variableName IN LPAREN list= coverageList RPAREN )* + // src/grammar/wcps.g:36:2: ( FOR v= coverageVariable IN LPAREN list= coverageList RPAREN ( COMMA v= coverageVariable IN LPAREN list= coverageList RPAREN )* ) + // src/grammar/wcps.g:36:4: FOR v= coverageVariable IN LPAREN list= coverageList RPAREN ( COMMA v= coverageVariable IN LPAREN list= coverageList RPAREN )* { root_0 = (Object)adaptor.nil(); @@ -299,8 +299,8 @@ public class wcpsParser extends Parser { FOR1_tree = (Object)adaptor.create(FOR1); adaptor.addChild(root_0, FOR1_tree); } - pushFollow(FOLLOW_variableName_in_forClause102); - v=variableName(); + pushFollow(FOLLOW_coverageVariable_in_forClause102); + v=coverageVariable(); state._fsp--; if (state.failed) return retval; @@ -329,7 +329,7 @@ public class wcpsParser extends Parser { if ( state.backtracking==0 ) { retval.value = new ForClauseElements((v!=null?v.value:null), (list!=null?list.value:null)); } - // src/grammar/wcps.g:37:4: ( COMMA v= variableName IN LPAREN list= coverageList RPAREN )* + // src/grammar/wcps.g:38:4: ( COMMA v= coverageVariable IN LPAREN list= coverageList RPAREN )* loop2: do { int alt2=2; @@ -342,15 +342,15 @@ public class wcpsParser extends Parser { switch (alt2) { case 1 : - // src/grammar/wcps.g:37:5: COMMA v= variableName IN LPAREN list= coverageList RPAREN + // src/grammar/wcps.g:38:5: COMMA v= coverageVariable IN LPAREN list= coverageList RPAREN { COMMA5=(Token)match(input,COMMA,FOLLOW_COMMA_in_forClause122); if (state.failed) return retval; if ( state.backtracking==0 ) { COMMA5_tree = (Object)adaptor.create(COMMA5); adaptor.addChild(root_0, COMMA5_tree); } - pushFollow(FOLLOW_variableName_in_forClause126); - v=variableName(); + pushFollow(FOLLOW_coverageVariable_in_forClause126); + v=coverageVariable(); state._fsp--; if (state.failed) return retval; @@ -419,7 +419,7 @@ public class wcpsParser extends Parser { }; // $ANTLR start "whereClause" - // src/grammar/wcps.g:40:1: whereClause returns [WhereClause value] : WHERE e1= booleanScalarExpr ; + // src/grammar/wcps.g:41:1: whereClause returns [WhereClause value] : WHERE e1= booleanScalarExpr ; public final wcpsParser.whereClause_return whereClause() throws RecognitionException { wcpsParser.whereClause_return retval = new wcpsParser.whereClause_return(); retval.start = input.LT(1); @@ -434,8 +434,8 @@ public class wcpsParser extends Parser { try { if ( state.backtracking>0 && alreadyParsedRule(input, 3) ) { return retval; } - // src/grammar/wcps.g:41:2: ( WHERE e1= booleanScalarExpr ) - // src/grammar/wcps.g:41:4: WHERE e1= booleanScalarExpr + // src/grammar/wcps.g:42:2: ( WHERE e1= booleanScalarExpr ) + // src/grammar/wcps.g:42:4: WHERE e1= booleanScalarExpr { root_0 = (Object)adaptor.nil(); @@ -484,7 +484,7 @@ public class wcpsParser extends Parser { }; // $ANTLR start "returnClause" - // src/grammar/wcps.g:43:1: returnClause returns [ReturnClause value] : RETURN e1= processingExpr ; + // src/grammar/wcps.g:44:1: returnClause returns [ReturnClause value] : RETURN e1= processingExpr ; public final wcpsParser.returnClause_return returnClause() throws RecognitionException { wcpsParser.returnClause_return retval = new wcpsParser.returnClause_return(); retval.start = input.LT(1); @@ -499,8 +499,8 @@ public class wcpsParser extends Parser { try { if ( state.backtracking>0 && alreadyParsedRule(input, 4) ) { return retval; } - // src/grammar/wcps.g:44:2: ( RETURN e1= processingExpr ) - // src/grammar/wcps.g:44:4: RETURN e1= processingExpr + // src/grammar/wcps.g:45:2: ( RETURN e1= processingExpr ) + // src/grammar/wcps.g:45:4: RETURN e1= processingExpr { root_0 = (Object)adaptor.nil(); @@ -549,7 +549,7 @@ public class wcpsParser extends Parser { }; // $ANTLR start "coverageList" - // src/grammar/wcps.g:46:1: coverageList returns [CoverageList value] : cname= coverageName ( COMMA next= coverageName )* ; + // src/grammar/wcps.g:47:1: coverageList returns [CoverageList value] : cname= coverageName ( COMMA next= coverageName )* ; public final wcpsParser.coverageList_return coverageList() throws RecognitionException { wcpsParser.coverageList_return retval = new wcpsParser.coverageList_return(); retval.start = input.LT(1); @@ -566,8 +566,8 @@ public class wcpsParser extends Parser { try { if ( state.backtracking>0 && alreadyParsedRule(input, 5) ) { return retval; } - // src/grammar/wcps.g:47:2: (cname= coverageName ( COMMA next= coverageName )* ) - // src/grammar/wcps.g:47:4: cname= coverageName ( COMMA next= coverageName )* + // src/grammar/wcps.g:48:2: (cname= coverageName ( COMMA next= coverageName )* ) + // src/grammar/wcps.g:48:4: cname= coverageName ( COMMA next= coverageName )* { root_0 = (Object)adaptor.nil(); @@ -580,7 +580,7 @@ public class wcpsParser extends Parser { if ( state.backtracking==0 ) { retval.value = new CoverageList((cname!=null?cname.value:null)); } - // src/grammar/wcps.g:48:3: ( COMMA next= coverageName )* + // src/grammar/wcps.g:49:3: ( COMMA next= coverageName )* loop3: do { int alt3=2; @@ -593,7 +593,7 @@ public class wcpsParser extends Parser { switch (alt3) { case 1 : - // src/grammar/wcps.g:48:4: COMMA next= coverageName + // src/grammar/wcps.g:49:4: COMMA next= coverageName { COMMA11=(Token)match(input,COMMA,FOLLOW_COMMA_in_coverageList204); if (state.failed) return retval; if ( state.backtracking==0 ) { @@ -649,7 +649,7 @@ public class wcpsParser extends Parser { }; // $ANTLR start "processingExpr" - // src/grammar/wcps.g:50:1: processingExpr returns [ProcessingExpr value] : (e1= encodedCoverageExpr | e2= storeExpr | e3= scalarExpr ); + // src/grammar/wcps.g:51:1: processingExpr returns [ProcessingExpr value] : (e1= encodedCoverageExpr | e2= storeExpr | e3= scalarExpr ); public final wcpsParser.processingExpr_return processingExpr() throws RecognitionException { wcpsParser.processingExpr_return retval = new wcpsParser.processingExpr_return(); retval.start = input.LT(1); @@ -666,12 +666,12 @@ public class wcpsParser extends Parser { try { if ( state.backtracking>0 && alreadyParsedRule(input, 6) ) { return retval; } - // src/grammar/wcps.g:51:5: (e1= encodedCoverageExpr | e2= storeExpr | e3= scalarExpr ) + // src/grammar/wcps.g:52:5: (e1= encodedCoverageExpr | e2= storeExpr | e3= scalarExpr ) int alt4=3; alt4 = dfa4.predict(input); switch (alt4) { case 1 : - // src/grammar/wcps.g:51:7: e1= encodedCoverageExpr + // src/grammar/wcps.g:52:7: e1= encodedCoverageExpr { root_0 = (Object)adaptor.nil(); @@ -688,7 +688,7 @@ public class wcpsParser extends Parser { } break; case 2 : - // src/grammar/wcps.g:52:7: e2= storeExpr + // src/grammar/wcps.g:53:7: e2= storeExpr { root_0 = (Object)adaptor.nil(); @@ -705,7 +705,7 @@ public class wcpsParser extends Parser { } break; case 3 : - // src/grammar/wcps.g:53:7: e3= scalarExpr + // src/grammar/wcps.g:54:7: e3= scalarExpr { root_0 = (Object)adaptor.nil(); @@ -751,7 +751,7 @@ public class wcpsParser extends Parser { }; // $ANTLR start "encodedCoverageExpr" - // src/grammar/wcps.g:55:1: encodedCoverageExpr returns [EncodedCoverageExpr value] : ENCODE LPAREN cov= coverageExpr COMMA format= stringConstant ( COMMA params= stringConstant )? RPAREN ; + // src/grammar/wcps.g:56:1: encodedCoverageExpr returns [EncodedCoverageExpr value] : ENCODE LPAREN cov= coverageExpr COMMA format= stringConstant ( COMMA params= stringConstant )? RPAREN ; public final wcpsParser.encodedCoverageExpr_return encodedCoverageExpr() throws RecognitionException { wcpsParser.encodedCoverageExpr_return retval = new wcpsParser.encodedCoverageExpr_return(); retval.start = input.LT(1); @@ -778,8 +778,8 @@ public class wcpsParser extends Parser { try { if ( state.backtracking>0 && alreadyParsedRule(input, 7) ) { return retval; } - // src/grammar/wcps.g:56:2: ( ENCODE LPAREN cov= coverageExpr COMMA format= stringConstant ( COMMA params= stringConstant )? RPAREN ) - // src/grammar/wcps.g:56:4: ENCODE LPAREN cov= coverageExpr COMMA format= stringConstant ( COMMA params= stringConstant )? RPAREN + // src/grammar/wcps.g:57:2: ( ENCODE LPAREN cov= coverageExpr COMMA format= stringConstant ( COMMA params= stringConstant )? RPAREN ) + // src/grammar/wcps.g:57:4: ENCODE LPAREN cov= coverageExpr COMMA format= stringConstant ( COMMA params= stringConstant )? RPAREN { root_0 = (Object)adaptor.nil(); @@ -813,7 +813,7 @@ public class wcpsParser extends Parser { if ( state.backtracking==0 ) { retval.value = new EncodedCoverageExpr((cov!=null?cov.value:null), (format!=null?input.toString(format.start,format.stop):null)); } - // src/grammar/wcps.g:57:3: ( COMMA params= stringConstant )? + // src/grammar/wcps.g:58:3: ( COMMA params= stringConstant )? int alt5=2; int LA5_0 = input.LA(1); @@ -822,7 +822,7 @@ public class wcpsParser extends Parser { } switch (alt5) { case 1 : - // src/grammar/wcps.g:57:4: COMMA params= stringConstant + // src/grammar/wcps.g:58:4: COMMA params= stringConstant { COMMA15=(Token)match(input,COMMA,FOLLOW_COMMA_in_encodedCoverageExpr291); if (state.failed) return retval; if ( state.backtracking==0 ) { @@ -880,7 +880,7 @@ public class wcpsParser extends Parser { }; // $ANTLR start "storeExpr" - // src/grammar/wcps.g:59:1: storeExpr returns [StoreExpr value] : STORE LPAREN e1= encodedCoverageExpr RPAREN ; + // src/grammar/wcps.g:60:1: storeExpr returns [StoreExpr value] : STORE LPAREN e1= encodedCoverageExpr RPAREN ; public final wcpsParser.storeExpr_return storeExpr() throws RecognitionException { wcpsParser.storeExpr_return retval = new wcpsParser.storeExpr_return(); retval.start = input.LT(1); @@ -899,8 +899,8 @@ public class wcpsParser extends Parser { try { if ( state.backtracking>0 && alreadyParsedRule(input, 8) ) { return retval; } - // src/grammar/wcps.g:60:5: ( STORE LPAREN e1= encodedCoverageExpr RPAREN ) - // src/grammar/wcps.g:60:7: STORE LPAREN e1= encodedCoverageExpr RPAREN + // src/grammar/wcps.g:61:5: ( STORE LPAREN e1= encodedCoverageExpr RPAREN ) + // src/grammar/wcps.g:61:7: STORE LPAREN e1= encodedCoverageExpr RPAREN { root_0 = (Object)adaptor.nil(); @@ -959,7 +959,7 @@ public class wcpsParser extends Parser { }; // $ANTLR start "coverageExpr" - // src/grammar/wcps.g:62:1: coverageExpr returns [CoverageExpr value] : e1= coverageLogicTerm (op= ( OR | XOR ) e2= coverageLogicTerm )* ; + // src/grammar/wcps.g:63:1: coverageExpr returns [CoverageExpr value] : e1= coverageLogicTerm (op= ( OR | XOR ) e2= coverageLogicTerm )* ; public final wcpsParser.coverageExpr_return coverageExpr() throws RecognitionException { wcpsParser.coverageExpr_return retval = new wcpsParser.coverageExpr_return(); retval.start = input.LT(1); @@ -976,8 +976,8 @@ public class wcpsParser extends Parser { try { if ( state.backtracking>0 && alreadyParsedRule(input, 9) ) { return retval; } - // src/grammar/wcps.g:63:5: (e1= coverageLogicTerm (op= ( OR | XOR ) e2= coverageLogicTerm )* ) - // src/grammar/wcps.g:63:7: e1= coverageLogicTerm (op= ( OR | XOR ) e2= coverageLogicTerm )* + // src/grammar/wcps.g:64:5: (e1= coverageLogicTerm (op= ( OR | XOR ) e2= coverageLogicTerm )* ) + // src/grammar/wcps.g:64:7: e1= coverageLogicTerm (op= ( OR | XOR ) e2= coverageLogicTerm )* { root_0 = (Object)adaptor.nil(); @@ -990,14 +990,14 @@ public class wcpsParser extends Parser { if ( state.backtracking==0 ) { retval.value = (e1!=null?e1.value:null); } - // src/grammar/wcps.g:64:9: (op= ( OR | XOR ) e2= coverageLogicTerm )* + // src/grammar/wcps.g:65:9: (op= ( OR | XOR ) e2= coverageLogicTerm )* loop6: do { int alt6=2; alt6 = dfa6.predict(input); switch (alt6) { case 1 : - // src/grammar/wcps.g:64:10: op= ( OR | XOR ) e2= coverageLogicTerm + // src/grammar/wcps.g:65:10: op= ( OR | XOR ) e2= coverageLogicTerm { op=(Token)input.LT(1); if ( (input.LA(1)>=OR && input.LA(1)<=XOR) ) { @@ -1060,7 +1060,7 @@ public class wcpsParser extends Parser { }; // $ANTLR start "coverageLogicTerm" - // src/grammar/wcps.g:66:1: coverageLogicTerm returns [CoverageExpr value] : e1= coverageLogicFactor (op= AND e2= coverageLogicFactor )* ; + // src/grammar/wcps.g:67:1: coverageLogicTerm returns [CoverageExpr value] : e1= coverageLogicFactor (op= AND e2= coverageLogicFactor )* ; public final wcpsParser.coverageLogicTerm_return coverageLogicTerm() throws RecognitionException { wcpsParser.coverageLogicTerm_return retval = new wcpsParser.coverageLogicTerm_return(); retval.start = input.LT(1); @@ -1077,8 +1077,8 @@ public class wcpsParser extends Parser { try { if ( state.backtracking>0 && alreadyParsedRule(input, 10) ) { return retval; } - // src/grammar/wcps.g:67:5: (e1= coverageLogicFactor (op= AND e2= coverageLogicFactor )* ) - // src/grammar/wcps.g:67:7: e1= coverageLogicFactor (op= AND e2= coverageLogicFactor )* + // src/grammar/wcps.g:68:5: (e1= coverageLogicFactor (op= AND e2= coverageLogicFactor )* ) + // src/grammar/wcps.g:68:7: e1= coverageLogicFactor (op= AND e2= coverageLogicFactor )* { root_0 = (Object)adaptor.nil(); @@ -1091,14 +1091,14 @@ public class wcpsParser extends Parser { if ( state.backtracking==0 ) { retval.value = (e1!=null?e1.value:null); } - // src/grammar/wcps.g:68:9: (op= AND e2= coverageLogicFactor )* + // src/grammar/wcps.g:69:9: (op= AND e2= coverageLogicFactor )* loop7: do { int alt7=2; alt7 = dfa7.predict(input); switch (alt7) { case 1 : - // src/grammar/wcps.g:68:10: op= AND e2= coverageLogicFactor + // src/grammar/wcps.g:69:10: op= AND e2= coverageLogicFactor { op=(Token)match(input,AND,FOLLOW_AND_in_coverageLogicTerm416); if (state.failed) return retval; if ( state.backtracking==0 ) { @@ -1154,7 +1154,7 @@ public class wcpsParser extends Parser { }; // $ANTLR start "coverageLogicFactor" - // src/grammar/wcps.g:70:1: coverageLogicFactor returns [CoverageExpr value] : e1= coverageArithmeticExpr (op= ( EQUALS | NOTEQUALS | LT | GT | LTE | GTE ) e2= coverageArithmeticExpr )? ; + // src/grammar/wcps.g:71:1: coverageLogicFactor returns [CoverageExpr value] : e1= coverageArithmeticExpr (op= ( EQUALS | NOTEQUALS | LT | GT | LTE | GTE ) e2= coverageArithmeticExpr )? ; public final wcpsParser.coverageLogicFactor_return coverageLogicFactor() throws RecognitionException { wcpsParser.coverageLogicFactor_return retval = new wcpsParser.coverageLogicFactor_return(); retval.start = input.LT(1); @@ -1171,8 +1171,8 @@ public class wcpsParser extends Parser { try { if ( state.backtracking>0 && alreadyParsedRule(input, 11) ) { return retval; } - // src/grammar/wcps.g:71:5: (e1= coverageArithmeticExpr (op= ( EQUALS | NOTEQUALS | LT | GT | LTE | GTE ) e2= coverageArithmeticExpr )? ) - // src/grammar/wcps.g:71:7: e1= coverageArithmeticExpr (op= ( EQUALS | NOTEQUALS | LT | GT | LTE | GTE ) e2= coverageArithmeticExpr )? + // src/grammar/wcps.g:72:5: (e1= coverageArithmeticExpr (op= ( EQUALS | NOTEQUALS | LT | GT | LTE | GTE ) e2= coverageArithmeticExpr )? ) + // src/grammar/wcps.g:72:7: e1= coverageArithmeticExpr (op= ( EQUALS | NOTEQUALS | LT | GT | LTE | GTE ) e2= coverageArithmeticExpr )? { root_0 = (Object)adaptor.nil(); @@ -1185,12 +1185,12 @@ public class wcpsParser extends Parser { if ( state.backtracking==0 ) { retval.value = (e1!=null?e1.value:null); } - // src/grammar/wcps.g:72:9: (op= ( EQUALS | NOTEQUALS | LT | GT | LTE | GTE ) e2= coverageArithmeticExpr )? + // src/grammar/wcps.g:73:9: (op= ( EQUALS | NOTEQUALS | LT | GT | LTE | GTE ) e2= coverageArithmeticExpr )? int alt8=2; alt8 = dfa8.predict(input); switch (alt8) { case 1 : - // src/grammar/wcps.g:72:10: op= ( EQUALS | NOTEQUALS | LT | GT | LTE | GTE ) e2= coverageArithmeticExpr + // src/grammar/wcps.g:73:10: op= ( EQUALS | NOTEQUALS | LT | GT | LTE | GTE ) e2= coverageArithmeticExpr { op=(Token)input.LT(1); if ( (input.LA(1)>=EQUALS && input.LA(1)<=GTE) ) { @@ -1250,7 +1250,7 @@ public class wcpsParser extends Parser { }; // $ANTLR start "coverageArithmeticExpr" - // src/grammar/wcps.g:74:1: coverageArithmeticExpr returns [CoverageExpr value] : e1= coverageArithmeticTerm (op= ( PLUS | MINUS ) e2= coverageArithmeticTerm )* ; + // src/grammar/wcps.g:75:1: coverageArithmeticExpr returns [CoverageExpr value] : e1= coverageArithmeticTerm (op= ( PLUS | MINUS ) e2= coverageArithmeticTerm )* ; public final wcpsParser.coverageArithmeticExpr_return coverageArithmeticExpr() throws RecognitionException { wcpsParser.coverageArithmeticExpr_return retval = new wcpsParser.coverageArithmeticExpr_return(); retval.start = input.LT(1); @@ -1267,8 +1267,8 @@ public class wcpsParser extends Parser { try { if ( state.backtracking>0 && alreadyParsedRule(input, 12) ) { return retval; } - // src/grammar/wcps.g:75:5: (e1= coverageArithmeticTerm (op= ( PLUS | MINUS ) e2= coverageArithmeticTerm )* ) - // src/grammar/wcps.g:75:7: e1= coverageArithmeticTerm (op= ( PLUS | MINUS ) e2= coverageArithmeticTerm )* + // src/grammar/wcps.g:76:5: (e1= coverageArithmeticTerm (op= ( PLUS | MINUS ) e2= coverageArithmeticTerm )* ) + // src/grammar/wcps.g:76:7: e1= coverageArithmeticTerm (op= ( PLUS | MINUS ) e2= coverageArithmeticTerm )* { root_0 = (Object)adaptor.nil(); @@ -1281,14 +1281,14 @@ public class wcpsParser extends Parser { if ( state.backtracking==0 ) { retval.value = (e1!=null?e1.value:null); } - // src/grammar/wcps.g:76:9: (op= ( PLUS | MINUS ) e2= coverageArithmeticTerm )* + // src/grammar/wcps.g:77:9: (op= ( PLUS | MINUS ) e2= coverageArithmeticTerm )* loop9: do { int alt9=2; alt9 = dfa9.predict(input); switch (alt9) { case 1 : - // src/grammar/wcps.g:76:10: op= ( PLUS | MINUS ) e2= coverageArithmeticTerm + // src/grammar/wcps.g:77:10: op= ( PLUS | MINUS ) e2= coverageArithmeticTerm { op=(Token)input.LT(1); if ( (input.LA(1)>=PLUS && input.LA(1)<=MINUS) ) { @@ -1351,7 +1351,7 @@ public class wcpsParser extends Parser { }; // $ANTLR start "coverageArithmeticTerm" - // src/grammar/wcps.g:78:1: coverageArithmeticTerm returns [CoverageExpr value] : e1= coverageArithmeticFactor (op= ( MULT | DIVIDE ) e2= coverageArithmeticFactor )* ; + // src/grammar/wcps.g:79:1: coverageArithmeticTerm returns [CoverageExpr value] : e1= coverageArithmeticFactor (op= ( MULT | DIVIDE ) e2= coverageArithmeticFactor )* ; public final wcpsParser.coverageArithmeticTerm_return coverageArithmeticTerm() throws RecognitionException { wcpsParser.coverageArithmeticTerm_return retval = new wcpsParser.coverageArithmeticTerm_return(); retval.start = input.LT(1); @@ -1368,8 +1368,8 @@ public class wcpsParser extends Parser { try { if ( state.backtracking>0 && alreadyParsedRule(input, 13) ) { return retval; } - // src/grammar/wcps.g:79:5: (e1= coverageArithmeticFactor (op= ( MULT | DIVIDE ) e2= coverageArithmeticFactor )* ) - // src/grammar/wcps.g:79:9: e1= coverageArithmeticFactor (op= ( MULT | DIVIDE ) e2= coverageArithmeticFactor )* + // src/grammar/wcps.g:80:5: (e1= coverageArithmeticFactor (op= ( MULT | DIVIDE ) e2= coverageArithmeticFactor )* ) + // src/grammar/wcps.g:80:9: e1= coverageArithmeticFactor (op= ( MULT | DIVIDE ) e2= coverageArithmeticFactor )* { root_0 = (Object)adaptor.nil(); @@ -1382,14 +1382,14 @@ public class wcpsParser extends Parser { if ( state.backtracking==0 ) { retval.value = (e1!=null?e1.value:null); } - // src/grammar/wcps.g:80:9: (op= ( MULT | DIVIDE ) e2= coverageArithmeticFactor )* + // src/grammar/wcps.g:81:9: (op= ( MULT | DIVIDE ) e2= coverageArithmeticFactor )* loop10: do { int alt10=2; alt10 = dfa10.predict(input); switch (alt10) { case 1 : - // src/grammar/wcps.g:80:10: op= ( MULT | DIVIDE ) e2= coverageArithmeticFactor + // src/grammar/wcps.g:81:10: op= ( MULT | DIVIDE ) e2= coverageArithmeticFactor { op=(Token)input.LT(1); if ( (input.LA(1)>=MULT && input.LA(1)<=DIVIDE) ) { @@ -1452,7 +1452,7 @@ public class wcpsParser extends Parser { }; // $ANTLR start "coverageArithmeticFactor" - // src/grammar/wcps.g:82:1: coverageArithmeticFactor returns [CoverageExpr value] : e1= coverageValue (op= OVERLAY e2= coverageValue )* ; + // src/grammar/wcps.g:83:1: coverageArithmeticFactor returns [CoverageExpr value] : e1= coverageValue (op= OVERLAY e2= coverageValue )* ; public final wcpsParser.coverageArithmeticFactor_return coverageArithmeticFactor() throws RecognitionException { wcpsParser.coverageArithmeticFactor_return retval = new wcpsParser.coverageArithmeticFactor_return(); retval.start = input.LT(1); @@ -1469,8 +1469,8 @@ public class wcpsParser extends Parser { try { if ( state.backtracking>0 && alreadyParsedRule(input, 14) ) { return retval; } - // src/grammar/wcps.g:83:5: (e1= coverageValue (op= OVERLAY e2= coverageValue )* ) - // src/grammar/wcps.g:83:7: e1= coverageValue (op= OVERLAY e2= coverageValue )* + // src/grammar/wcps.g:84:5: (e1= coverageValue (op= OVERLAY e2= coverageValue )* ) + // src/grammar/wcps.g:84:7: e1= coverageValue (op= OVERLAY e2= coverageValue )* { root_0 = (Object)adaptor.nil(); @@ -1483,14 +1483,14 @@ public class wcpsParser extends Parser { if ( state.backtracking==0 ) { retval.value = (e1!=null?e1.value:null); } - // src/grammar/wcps.g:84:9: (op= OVERLAY e2= coverageValue )* + // src/grammar/wcps.g:85:9: (op= OVERLAY e2= coverageValue )* loop11: do { int alt11=2; alt11 = dfa11.predict(input); switch (alt11) { case 1 : - // src/grammar/wcps.g:84:10: op= OVERLAY e2= coverageValue + // src/grammar/wcps.g:85:10: op= OVERLAY e2= coverageValue { op=(Token)match(input,OVERLAY,FOLLOW_OVERLAY_in_coverageArithmeticFactor625); if (state.failed) return retval; if ( state.backtracking==0 ) { @@ -1546,7 +1546,7 @@ public class wcpsParser extends Parser { }; // $ANTLR start "coverageValue" - // src/grammar/wcps.g:86:1: coverageValue returns [CoverageExpr value] : (e5= subsetExpr | e2= unaryInducedExpr | e4= scaleExpr | e3= crsTransformExpr | e1= coverageAtom ); + // src/grammar/wcps.g:87:1: coverageValue returns [CoverageExpr value] : (e5= subsetExpr | e2= unaryInducedExpr | e4= scaleExpr | e3= crsTransformExpr | e1= coverageAtom ); public final wcpsParser.coverageValue_return coverageValue() throws RecognitionException { wcpsParser.coverageValue_return retval = new wcpsParser.coverageValue_return(); retval.start = input.LT(1); @@ -1567,12 +1567,12 @@ public class wcpsParser extends Parser { try { if ( state.backtracking>0 && alreadyParsedRule(input, 15) ) { return retval; } - // src/grammar/wcps.g:87:5: (e5= subsetExpr | e2= unaryInducedExpr | e4= scaleExpr | e3= crsTransformExpr | e1= coverageAtom ) + // src/grammar/wcps.g:88:5: (e5= subsetExpr | e2= unaryInducedExpr | e4= scaleExpr | e3= crsTransformExpr | e1= coverageAtom ) int alt12=5; alt12 = dfa12.predict(input); switch (alt12) { case 1 : - // src/grammar/wcps.g:87:7: e5= subsetExpr + // src/grammar/wcps.g:88:7: e5= subsetExpr { root_0 = (Object)adaptor.nil(); @@ -1589,7 +1589,7 @@ public class wcpsParser extends Parser { } break; case 2 : - // src/grammar/wcps.g:88:7: e2= unaryInducedExpr + // src/grammar/wcps.g:89:7: e2= unaryInducedExpr { root_0 = (Object)adaptor.nil(); @@ -1606,7 +1606,7 @@ public class wcpsParser extends Parser { } break; case 3 : - // src/grammar/wcps.g:89:7: e4= scaleExpr + // src/grammar/wcps.g:90:7: e4= scaleExpr { root_0 = (Object)adaptor.nil(); @@ -1623,7 +1623,7 @@ public class wcpsParser extends Parser { } break; case 4 : - // src/grammar/wcps.g:90:7: e3= crsTransformExpr + // src/grammar/wcps.g:91:7: e3= crsTransformExpr { root_0 = (Object)adaptor.nil(); @@ -1640,7 +1640,7 @@ public class wcpsParser extends Parser { } break; case 5 : - // src/grammar/wcps.g:91:7: e1= coverageAtom + // src/grammar/wcps.g:92:7: e1= coverageAtom { root_0 = (Object)adaptor.nil(); @@ -1686,7 +1686,7 @@ public class wcpsParser extends Parser { }; // $ANTLR start "coverageAtom" - // src/grammar/wcps.g:93:1: coverageAtom returns [CoverageExpr value] : (e2= scalarExpr | e1= variableName | LPAREN e7= coverageExpr RPAREN | e3= coverageConstantExpr | e4= coverageConstructorExpr | e5= setMetaDataExpr | e6= rangeConstructorExpr ); + // src/grammar/wcps.g:94:1: coverageAtom returns [CoverageExpr value] : (e2= scalarExpr | e1= coverageVariable | LPAREN e7= coverageExpr RPAREN | e3= coverageConstantExpr | e4= coverageConstructorExpr | e5= setMetaDataExpr | e6= rangeConstructorExpr ); public final wcpsParser.coverageAtom_return coverageAtom() throws RecognitionException { wcpsParser.coverageAtom_return retval = new wcpsParser.coverageAtom_return(); retval.start = input.LT(1); @@ -1697,7 +1697,7 @@ public class wcpsParser extends Parser { Token RPAREN21=null; wcpsParser.scalarExpr_return e2 = null; - wcpsParser.variableName_return e1 = null; + wcpsParser.coverageVariable_return e1 = null; wcpsParser.coverageExpr_return e7 = null; @@ -1715,12 +1715,12 @@ public class wcpsParser extends Parser { try { if ( state.backtracking>0 && alreadyParsedRule(input, 16) ) { return retval; } - // src/grammar/wcps.g:94:5: (e2= scalarExpr | e1= variableName | LPAREN e7= coverageExpr RPAREN | e3= coverageConstantExpr | e4= coverageConstructorExpr | e5= setMetaDataExpr | e6= rangeConstructorExpr ) + // src/grammar/wcps.g:95:5: (e2= scalarExpr | e1= coverageVariable | LPAREN e7= coverageExpr RPAREN | e3= coverageConstantExpr | e4= coverageConstructorExpr | e5= setMetaDataExpr | e6= rangeConstructorExpr ) int alt13=7; alt13 = dfa13.predict(input); switch (alt13) { case 1 : - // src/grammar/wcps.g:94:7: e2= scalarExpr + // src/grammar/wcps.g:95:7: e2= scalarExpr { root_0 = (Object)adaptor.nil(); @@ -1737,12 +1737,12 @@ public class wcpsParser extends Parser { } break; case 2 : - // src/grammar/wcps.g:95:7: e1= variableName + // src/grammar/wcps.g:96:7: e1= coverageVariable { root_0 = (Object)adaptor.nil(); - pushFollow(FOLLOW_variableName_in_coverageAtom739); - e1=variableName(); + pushFollow(FOLLOW_coverageVariable_in_coverageAtom739); + e1=coverageVariable(); state._fsp--; if (state.failed) return retval; @@ -1754,7 +1754,7 @@ public class wcpsParser extends Parser { } break; case 3 : - // src/grammar/wcps.g:96:7: LPAREN e7= coverageExpr RPAREN + // src/grammar/wcps.g:97:7: LPAREN e7= coverageExpr RPAREN { root_0 = (Object)adaptor.nil(); @@ -1781,7 +1781,7 @@ public class wcpsParser extends Parser { } break; case 4 : - // src/grammar/wcps.g:97:7: e3= coverageConstantExpr + // src/grammar/wcps.g:98:7: e3= coverageConstantExpr { root_0 = (Object)adaptor.nil(); @@ -1798,7 +1798,7 @@ public class wcpsParser extends Parser { } break; case 5 : - // src/grammar/wcps.g:98:7: e4= coverageConstructorExpr + // src/grammar/wcps.g:99:7: e4= coverageConstructorExpr { root_0 = (Object)adaptor.nil(); @@ -1815,7 +1815,7 @@ public class wcpsParser extends Parser { } break; case 6 : - // src/grammar/wcps.g:99:7: e5= setMetaDataExpr + // src/grammar/wcps.g:100:7: e5= setMetaDataExpr { root_0 = (Object)adaptor.nil(); @@ -1832,7 +1832,7 @@ public class wcpsParser extends Parser { } break; case 7 : - // src/grammar/wcps.g:100:7: e6= rangeConstructorExpr + // src/grammar/wcps.g:101:7: e6= rangeConstructorExpr { root_0 = (Object)adaptor.nil(); @@ -1878,7 +1878,7 @@ public class wcpsParser extends Parser { }; // $ANTLR start "scalarExpr" - // src/grammar/wcps.g:102:1: scalarExpr returns [ScalarExpr value] : (e1= metaDataExpr | e2= condenseExpr | e3= booleanScalarExpr | e4= numericScalarExpr | e5= stringScalarExpr | LPAREN e6= scalarExpr RPAREN ); + // src/grammar/wcps.g:103:1: scalarExpr returns [ScalarExpr value] : (e1= metaDataExpr | e2= condenseExpr | e3= booleanScalarExpr | e4= numericScalarExpr | e5= stringScalarExpr | LPAREN e6= scalarExpr RPAREN ); public final wcpsParser.scalarExpr_return scalarExpr() throws RecognitionException { wcpsParser.scalarExpr_return retval = new wcpsParser.scalarExpr_return(); retval.start = input.LT(1); @@ -1905,12 +1905,12 @@ public class wcpsParser extends Parser { try { if ( state.backtracking>0 && alreadyParsedRule(input, 17) ) { return retval; } - // src/grammar/wcps.g:103:5: (e1= metaDataExpr | e2= condenseExpr | e3= booleanScalarExpr | e4= numericScalarExpr | e5= stringScalarExpr | LPAREN e6= scalarExpr RPAREN ) + // src/grammar/wcps.g:104:5: (e1= metaDataExpr | e2= condenseExpr | e3= booleanScalarExpr | e4= numericScalarExpr | e5= stringScalarExpr | LPAREN e6= scalarExpr RPAREN ) int alt14=6; alt14 = dfa14.predict(input); switch (alt14) { case 1 : - // src/grammar/wcps.g:103:7: e1= metaDataExpr + // src/grammar/wcps.g:104:7: e1= metaDataExpr { root_0 = (Object)adaptor.nil(); @@ -1927,7 +1927,7 @@ public class wcpsParser extends Parser { } break; case 2 : - // src/grammar/wcps.g:104:7: e2= condenseExpr + // src/grammar/wcps.g:105:7: e2= condenseExpr { root_0 = (Object)adaptor.nil(); @@ -1944,7 +1944,7 @@ public class wcpsParser extends Parser { } break; case 3 : - // src/grammar/wcps.g:105:7: e3= booleanScalarExpr + // src/grammar/wcps.g:106:7: e3= booleanScalarExpr { root_0 = (Object)adaptor.nil(); @@ -1961,7 +1961,7 @@ public class wcpsParser extends Parser { } break; case 4 : - // src/grammar/wcps.g:106:7: e4= numericScalarExpr + // src/grammar/wcps.g:107:7: e4= numericScalarExpr { root_0 = (Object)adaptor.nil(); @@ -1978,7 +1978,7 @@ public class wcpsParser extends Parser { } break; case 5 : - // src/grammar/wcps.g:107:7: e5= stringScalarExpr + // src/grammar/wcps.g:108:7: e5= stringScalarExpr { root_0 = (Object)adaptor.nil(); @@ -1995,7 +1995,7 @@ public class wcpsParser extends Parser { } break; case 6 : - // src/grammar/wcps.g:108:7: LPAREN e6= scalarExpr RPAREN + // src/grammar/wcps.g:109:7: LPAREN e6= scalarExpr RPAREN { root_0 = (Object)adaptor.nil(); @@ -2051,7 +2051,7 @@ public class wcpsParser extends Parser { }; // $ANTLR start "metaDataExpr" - // src/grammar/wcps.g:110:1: metaDataExpr returns [MetaDataExpr value] : (op= IDENTIFIER LPAREN e1= coverageExpr RPAREN | op= IMAGECRS LPAREN e1= coverageExpr RPAREN | op= IMAGECRSDOMAIN LPAREN e1= coverageExpr ( COMMA e2= axisName )? RPAREN | op= CRSSET LPAREN e1= coverageExpr RPAREN | de= domainExpr | op= NULLSET LPAREN e1= coverageExpr RPAREN | op= INTERPOLATIONDEFAULT LPAREN e1= coverageExpr COMMA f1= fieldName RPAREN | op= INTERPOLATIONSET LPAREN e1= coverageExpr COMMA f1= fieldName RPAREN ); + // src/grammar/wcps.g:111:1: metaDataExpr returns [MetaDataExpr value] : (op= IDENTIFIER LPAREN e1= coverageExpr RPAREN | op= IMAGECRS LPAREN e1= coverageExpr RPAREN | op= IMAGECRSDOMAIN LPAREN e1= coverageExpr ( COMMA e2= axisName )? RPAREN | op= CRSSET LPAREN e1= coverageExpr RPAREN | de= domainExpr | op= NULLSET LPAREN e1= coverageExpr RPAREN | op= INTERPOLATIONDEFAULT LPAREN e1= coverageExpr COMMA f1= fieldName RPAREN | op= INTERPOLATIONSET LPAREN e1= coverageExpr COMMA f1= fieldName RPAREN ); public final wcpsParser.metaDataExpr_return metaDataExpr() throws RecognitionException { wcpsParser.metaDataExpr_return retval = new wcpsParser.metaDataExpr_return(); retval.start = input.LT(1); @@ -2106,7 +2106,7 @@ public class wcpsParser extends Parser { try { if ( state.backtracking>0 && alreadyParsedRule(input, 18) ) { return retval; } - // src/grammar/wcps.g:111:5: (op= IDENTIFIER LPAREN e1= coverageExpr RPAREN | op= IMAGECRS LPAREN e1= coverageExpr RPAREN | op= IMAGECRSDOMAIN LPAREN e1= coverageExpr ( COMMA e2= axisName )? RPAREN | op= CRSSET LPAREN e1= coverageExpr RPAREN | de= domainExpr | op= NULLSET LPAREN e1= coverageExpr RPAREN | op= INTERPOLATIONDEFAULT LPAREN e1= coverageExpr COMMA f1= fieldName RPAREN | op= INTERPOLATIONSET LPAREN e1= coverageExpr COMMA f1= fieldName RPAREN ) + // src/grammar/wcps.g:112:5: (op= IDENTIFIER LPAREN e1= coverageExpr RPAREN | op= IMAGECRS LPAREN e1= coverageExpr RPAREN | op= IMAGECRSDOMAIN LPAREN e1= coverageExpr ( COMMA e2= axisName )? RPAREN | op= CRSSET LPAREN e1= coverageExpr RPAREN | de= domainExpr | op= NULLSET LPAREN e1= coverageExpr RPAREN | op= INTERPOLATIONDEFAULT LPAREN e1= coverageExpr COMMA f1= fieldName RPAREN | op= INTERPOLATIONSET LPAREN e1= coverageExpr COMMA f1= fieldName RPAREN ) int alt16=8; switch ( input.LA(1) ) { case IDENTIFIER: @@ -2159,7 +2159,7 @@ public class wcpsParser extends Parser { switch (alt16) { case 1 : - // src/grammar/wcps.g:111:7: op= IDENTIFIER LPAREN e1= coverageExpr RPAREN + // src/grammar/wcps.g:112:7: op= IDENTIFIER LPAREN e1= coverageExpr RPAREN { root_0 = (Object)adaptor.nil(); @@ -2191,7 +2191,7 @@ public class wcpsParser extends Parser { } break; case 2 : - // src/grammar/wcps.g:112:7: op= IMAGECRS LPAREN e1= coverageExpr RPAREN + // src/grammar/wcps.g:113:7: op= IMAGECRS LPAREN e1= coverageExpr RPAREN { root_0 = (Object)adaptor.nil(); @@ -2223,7 +2223,7 @@ public class wcpsParser extends Parser { } break; case 3 : - // src/grammar/wcps.g:113:7: op= IMAGECRSDOMAIN LPAREN e1= coverageExpr ( COMMA e2= axisName )? RPAREN + // src/grammar/wcps.g:114:7: op= IMAGECRSDOMAIN LPAREN e1= coverageExpr ( COMMA e2= axisName )? RPAREN { root_0 = (Object)adaptor.nil(); @@ -2243,7 +2243,7 @@ public class wcpsParser extends Parser { state._fsp--; if (state.failed) return retval; if ( state.backtracking==0 ) adaptor.addChild(root_0, e1.getTree()); - // src/grammar/wcps.g:113:48: ( COMMA e2= axisName )? + // src/grammar/wcps.g:114:48: ( COMMA e2= axisName )? int alt15=2; int LA15_0 = input.LA(1); @@ -2252,7 +2252,7 @@ public class wcpsParser extends Parser { } switch (alt15) { case 1 : - // src/grammar/wcps.g:113:49: COMMA e2= axisName + // src/grammar/wcps.g:114:49: COMMA e2= axisName { COMMA29=(Token)match(input,COMMA,FOLLOW_COMMA_in_metaDataExpr973); if (state.failed) return retval; if ( state.backtracking==0 ) { @@ -2283,7 +2283,7 @@ public class wcpsParser extends Parser { } break; case 4 : - // src/grammar/wcps.g:114:7: op= CRSSET LPAREN e1= coverageExpr RPAREN + // src/grammar/wcps.g:115:7: op= CRSSET LPAREN e1= coverageExpr RPAREN { root_0 = (Object)adaptor.nil(); @@ -2315,7 +2315,7 @@ public class wcpsParser extends Parser { } break; case 5 : - // src/grammar/wcps.g:115:7: de= domainExpr + // src/grammar/wcps.g:116:7: de= domainExpr { root_0 = (Object)adaptor.nil(); @@ -2332,7 +2332,7 @@ public class wcpsParser extends Parser { } break; case 6 : - // src/grammar/wcps.g:116:7: op= NULLSET LPAREN e1= coverageExpr RPAREN + // src/grammar/wcps.g:117:7: op= NULLSET LPAREN e1= coverageExpr RPAREN { root_0 = (Object)adaptor.nil(); @@ -2364,7 +2364,7 @@ public class wcpsParser extends Parser { } break; case 7 : - // src/grammar/wcps.g:117:7: op= INTERPOLATIONDEFAULT LPAREN e1= coverageExpr COMMA f1= fieldName RPAREN + // src/grammar/wcps.g:118:7: op= INTERPOLATIONDEFAULT LPAREN e1= coverageExpr COMMA f1= fieldName RPAREN { root_0 = (Object)adaptor.nil(); @@ -2407,7 +2407,7 @@ public class wcpsParser extends Parser { } break; case 8 : - // src/grammar/wcps.g:118:7: op= INTERPOLATIONSET LPAREN e1= coverageExpr COMMA f1= fieldName RPAREN + // src/grammar/wcps.g:119:7: op= INTERPOLATIONSET LPAREN e1= coverageExpr COMMA f1= fieldName RPAREN { root_0 = (Object)adaptor.nil(); @@ -2479,7 +2479,7 @@ public class wcpsParser extends Parser { }; // $ANTLR start "domainExpr" - // src/grammar/wcps.g:120:1: domainExpr returns [DomainExpr value] : DOMAIN LPAREN var= variableName COMMA axis= axisName COMMA crs= crsName RPAREN ; + // src/grammar/wcps.g:121:1: domainExpr returns [DomainExpr value] : DOMAIN LPAREN var= coverageVariable COMMA axis= axisName COMMA crs= crsName RPAREN ; public final wcpsParser.domainExpr_return domainExpr() throws RecognitionException { wcpsParser.domainExpr_return retval = new wcpsParser.domainExpr_return(); retval.start = input.LT(1); @@ -2491,7 +2491,7 @@ public class wcpsParser extends Parser { Token COMMA43=null; Token COMMA44=null; Token RPAREN45=null; - wcpsParser.variableName_return var = null; + wcpsParser.coverageVariable_return var = null; wcpsParser.axisName_return axis = null; @@ -2506,8 +2506,8 @@ public class wcpsParser extends Parser { try { if ( state.backtracking>0 && alreadyParsedRule(input, 19) ) { return retval; } - // src/grammar/wcps.g:121:2: ( DOMAIN LPAREN var= variableName COMMA axis= axisName COMMA crs= crsName RPAREN ) - // src/grammar/wcps.g:121:4: DOMAIN LPAREN var= variableName COMMA axis= axisName COMMA crs= crsName RPAREN + // src/grammar/wcps.g:122:2: ( DOMAIN LPAREN var= coverageVariable COMMA axis= axisName COMMA crs= crsName RPAREN ) + // src/grammar/wcps.g:122:4: DOMAIN LPAREN var= coverageVariable COMMA axis= axisName COMMA crs= crsName RPAREN { root_0 = (Object)adaptor.nil(); @@ -2521,8 +2521,8 @@ public class wcpsParser extends Parser { LPAREN42_tree = (Object)adaptor.create(LPAREN42); adaptor.addChild(root_0, LPAREN42_tree); } - pushFollow(FOLLOW_variableName_in_domainExpr1110); - var=variableName(); + pushFollow(FOLLOW_coverageVariable_in_domainExpr1110); + var=coverageVariable(); state._fsp--; if (state.failed) return retval; @@ -2588,7 +2588,7 @@ public class wcpsParser extends Parser { }; // $ANTLR start "condenseExpr" - // src/grammar/wcps.g:123:1: condenseExpr returns [CondenseExpr value] : (e1= reduceExpr | e2= generalCondenseExpr ); + // src/grammar/wcps.g:124:1: condenseExpr returns [CondenseExpr value] : (e1= reduceExpr | e2= generalCondenseExpr ); public final wcpsParser.condenseExpr_return condenseExpr() throws RecognitionException { wcpsParser.condenseExpr_return retval = new wcpsParser.condenseExpr_return(); retval.start = input.LT(1); @@ -2603,7 +2603,7 @@ public class wcpsParser extends Parser { try { if ( state.backtracking>0 && alreadyParsedRule(input, 20) ) { return retval; } - // src/grammar/wcps.g:124:2: (e1= reduceExpr | e2= generalCondenseExpr ) + // src/grammar/wcps.g:125:2: (e1= reduceExpr | e2= generalCondenseExpr ) int alt17=2; int LA17_0 = input.LA(1); @@ -2622,7 +2622,7 @@ public class wcpsParser extends Parser { } switch (alt17) { case 1 : - // src/grammar/wcps.g:124:4: e1= reduceExpr + // src/grammar/wcps.g:125:4: e1= reduceExpr { root_0 = (Object)adaptor.nil(); @@ -2639,7 +2639,7 @@ public class wcpsParser extends Parser { } break; case 2 : - // src/grammar/wcps.g:125:4: e2= generalCondenseExpr + // src/grammar/wcps.g:126:4: e2= generalCondenseExpr { root_0 = (Object)adaptor.nil(); @@ -2685,7 +2685,7 @@ public class wcpsParser extends Parser { }; // $ANTLR start "reduceExpr" - // src/grammar/wcps.g:127:1: reduceExpr returns [ReduceExpr value] : op= ( ALL | SOME | COUNT | ADD | AVG | MIN | MAX ) LPAREN e1= coverageExpr RPAREN ; + // src/grammar/wcps.g:128:1: reduceExpr returns [ReduceExpr value] : op= ( ALL | SOME | COUNT | ADD | AVG | MIN | MAX ) LPAREN e1= coverageExpr RPAREN ; public final wcpsParser.reduceExpr_return reduceExpr() throws RecognitionException { wcpsParser.reduceExpr_return retval = new wcpsParser.reduceExpr_return(); retval.start = input.LT(1); @@ -2704,8 +2704,8 @@ public class wcpsParser extends Parser { try { if ( state.backtracking>0 && alreadyParsedRule(input, 21) ) { return retval; } - // src/grammar/wcps.g:128:2: (op= ( ALL | SOME | COUNT | ADD | AVG | MIN | MAX ) LPAREN e1= coverageExpr RPAREN ) - // src/grammar/wcps.g:128:4: op= ( ALL | SOME | COUNT | ADD | AVG | MIN | MAX ) LPAREN e1= coverageExpr RPAREN + // src/grammar/wcps.g:129:2: (op= ( ALL | SOME | COUNT | ADD | AVG | MIN | MAX ) LPAREN e1= coverageExpr RPAREN ) + // src/grammar/wcps.g:129:4: op= ( ALL | SOME | COUNT | ADD | AVG | MIN | MAX ) LPAREN e1= coverageExpr RPAREN { root_0 = (Object)adaptor.nil(); @@ -2771,7 +2771,7 @@ public class wcpsParser extends Parser { }; // $ANTLR start "generalCondenseExpr" - // src/grammar/wcps.g:130:1: generalCondenseExpr returns [GeneralCondenseExpr value] : CONDENSE op= condenseOpType OVER ail= axisIteratorList ( WHERE cond= booleanScalarExpr )? USING se= scalarExpr ; + // src/grammar/wcps.g:131:1: generalCondenseExpr returns [GeneralCondenseExpr value] : CONDENSE op= condenseOpType OVER ail= axisIteratorList ( WHERE cond= booleanScalarExpr )? USING ce= coverageExpr ; public final wcpsParser.generalCondenseExpr_return generalCondenseExpr() throws RecognitionException { wcpsParser.generalCondenseExpr_return retval = new wcpsParser.generalCondenseExpr_return(); retval.start = input.LT(1); @@ -2788,7 +2788,7 @@ public class wcpsParser extends Parser { wcpsParser.booleanScalarExpr_return cond = null; - wcpsParser.scalarExpr_return se = null; + wcpsParser.coverageExpr_return ce = null; Object CONDENSE48_tree=null; @@ -2798,8 +2798,8 @@ public class wcpsParser extends Parser { try { if ( state.backtracking>0 && alreadyParsedRule(input, 22) ) { return retval; } - // src/grammar/wcps.g:131:2: ( CONDENSE op= condenseOpType OVER ail= axisIteratorList ( WHERE cond= booleanScalarExpr )? USING se= scalarExpr ) - // src/grammar/wcps.g:131:4: CONDENSE op= condenseOpType OVER ail= axisIteratorList ( WHERE cond= booleanScalarExpr )? USING se= scalarExpr + // src/grammar/wcps.g:132:2: ( CONDENSE op= condenseOpType OVER ail= axisIteratorList ( WHERE cond= booleanScalarExpr )? USING ce= coverageExpr ) + // src/grammar/wcps.g:132:4: CONDENSE op= condenseOpType OVER ail= axisIteratorList ( WHERE cond= booleanScalarExpr )? USING ce= coverageExpr { root_0 = (Object)adaptor.nil(); @@ -2828,7 +2828,7 @@ public class wcpsParser extends Parser { if ( state.backtracking==0 ) { retval.value = new GeneralCondenseExpr((op!=null?op.value:null), (ail!=null?ail.value:null)); } - // src/grammar/wcps.g:132:3: ( WHERE cond= booleanScalarExpr )? + // src/grammar/wcps.g:133:3: ( WHERE cond= booleanScalarExpr )? int alt18=2; int LA18_0 = input.LA(1); @@ -2837,7 +2837,7 @@ public class wcpsParser extends Parser { } switch (alt18) { case 1 : - // src/grammar/wcps.g:132:4: WHERE cond= booleanScalarExpr + // src/grammar/wcps.g:133:4: WHERE cond= booleanScalarExpr { WHERE50=(Token)match(input,WHERE,FOLLOW_WHERE_in_generalCondenseExpr1221); if (state.failed) return retval; if ( state.backtracking==0 ) { @@ -2864,14 +2864,14 @@ public class wcpsParser extends Parser { USING51_tree = (Object)adaptor.create(USING51); adaptor.addChild(root_0, USING51_tree); } - pushFollow(FOLLOW_scalarExpr_in_generalCondenseExpr1237); - se=scalarExpr(); + pushFollow(FOLLOW_coverageExpr_in_generalCondenseExpr1237); + ce=coverageExpr(); state._fsp--; if (state.failed) return retval; - if ( state.backtracking==0 ) adaptor.addChild(root_0, se.getTree()); + if ( state.backtracking==0 ) adaptor.addChild(root_0, ce.getTree()); if ( state.backtracking==0 ) { - retval.value.setUsing((se!=null?se.value:null)); + retval.value.setUsing((ce!=null?ce.value:null)); } } @@ -2904,7 +2904,7 @@ public class wcpsParser extends Parser { }; // $ANTLR start "axisIteratorList" - // src/grammar/wcps.g:135:1: axisIteratorList returns [AxisIteratorList value] : vn= variableName an= axisName LPAREN ie= intervalExpr RPAREN ( COMMA vn2= variableName an2= axisName LPAREN ie2= intervalExpr RPAREN )* ; + // src/grammar/wcps.g:136:1: axisIteratorList returns [AxisIteratorList value] : vn= variableName an= axisName LPAREN ie= intervalExpr RPAREN ( COMMA vn2= variableName an2= axisName LPAREN ie2= intervalExpr RPAREN )* ; public final wcpsParser.axisIteratorList_return axisIteratorList() throws RecognitionException { wcpsParser.axisIteratorList_return retval = new wcpsParser.axisIteratorList_return(); retval.start = input.LT(1); @@ -2937,8 +2937,8 @@ public class wcpsParser extends Parser { try { if ( state.backtracking>0 && alreadyParsedRule(input, 23) ) { return retval; } - // src/grammar/wcps.g:136:2: (vn= variableName an= axisName LPAREN ie= intervalExpr RPAREN ( COMMA vn2= variableName an2= axisName LPAREN ie2= intervalExpr RPAREN )* ) - // src/grammar/wcps.g:136:4: vn= variableName an= axisName LPAREN ie= intervalExpr RPAREN ( COMMA vn2= variableName an2= axisName LPAREN ie2= intervalExpr RPAREN )* + // src/grammar/wcps.g:137:2: (vn= variableName an= axisName LPAREN ie= intervalExpr RPAREN ( COMMA vn2= variableName an2= axisName LPAREN ie2= intervalExpr RPAREN )* ) + // src/grammar/wcps.g:137:4: vn= variableName an= axisName LPAREN ie= intervalExpr RPAREN ( COMMA vn2= variableName an2= axisName LPAREN ie2= intervalExpr RPAREN )* { root_0 = (Object)adaptor.nil(); @@ -2973,7 +2973,7 @@ public class wcpsParser extends Parser { if ( state.backtracking==0 ) { retval.value = new AxisIteratorList(new AxisIterator((vn!=null?vn.value:null), (an!=null?an.value:null), (ie!=null?ie.value:null))); } - // src/grammar/wcps.g:138:2: ( COMMA vn2= variableName an2= axisName LPAREN ie2= intervalExpr RPAREN )* + // src/grammar/wcps.g:139:2: ( COMMA vn2= variableName an2= axisName LPAREN ie2= intervalExpr RPAREN )* loop19: do { int alt19=2; @@ -2986,7 +2986,7 @@ public class wcpsParser extends Parser { switch (alt19) { case 1 : - // src/grammar/wcps.g:138:3: COMMA vn2= variableName an2= axisName LPAREN ie2= intervalExpr RPAREN + // src/grammar/wcps.g:139:3: COMMA vn2= variableName an2= axisName LPAREN ie2= intervalExpr RPAREN { COMMA54=(Token)match(input,COMMA,FOLLOW_COMMA_in_axisIteratorList1274); if (state.failed) return retval; if ( state.backtracking==0 ) { @@ -3064,7 +3064,7 @@ public class wcpsParser extends Parser { }; // $ANTLR start "intervalExpr" - // src/grammar/wcps.g:141:1: intervalExpr returns [IntervalExpr value] : (lo= indexExpr COLON hi= indexExpr | IMAGECRSDOMAIN LPAREN e1= coverageName COMMA e2= axisName RPAREN ); + // src/grammar/wcps.g:142:1: intervalExpr returns [IntervalExpr value] : (lo= indexExpr COLON hi= indexExpr | IMAGECRSDOMAIN LPAREN e1= coverageName COMMA e2= axisName RPAREN ); public final wcpsParser.intervalExpr_return intervalExpr() throws RecognitionException { wcpsParser.intervalExpr_return retval = new wcpsParser.intervalExpr_return(); retval.start = input.LT(1); @@ -3093,7 +3093,7 @@ public class wcpsParser extends Parser { try { if ( state.backtracking>0 && alreadyParsedRule(input, 24) ) { return retval; } - // src/grammar/wcps.g:142:5: (lo= indexExpr COLON hi= indexExpr | IMAGECRSDOMAIN LPAREN e1= coverageName COMMA e2= axisName RPAREN ) + // src/grammar/wcps.g:143:5: (lo= indexExpr COLON hi= indexExpr | IMAGECRSDOMAIN LPAREN e1= coverageName COMMA e2= axisName RPAREN ) int alt20=2; int LA20_0 = input.LA(1); @@ -3112,7 +3112,7 @@ public class wcpsParser extends Parser { } switch (alt20) { case 1 : - // src/grammar/wcps.g:142:7: lo= indexExpr COLON hi= indexExpr + // src/grammar/wcps.g:143:7: lo= indexExpr COLON hi= indexExpr { root_0 = (Object)adaptor.nil(); @@ -3140,7 +3140,7 @@ public class wcpsParser extends Parser { } break; case 2 : - // src/grammar/wcps.g:144:7: IMAGECRSDOMAIN LPAREN e1= coverageName COMMA e2= axisName RPAREN + // src/grammar/wcps.g:145:7: IMAGECRSDOMAIN LPAREN e1= coverageName COMMA e2= axisName RPAREN { root_0 = (Object)adaptor.nil(); @@ -3212,7 +3212,7 @@ public class wcpsParser extends Parser { }; // $ANTLR start "coverageConstantExpr" - // src/grammar/wcps.g:147:1: coverageConstantExpr returns [CoverageConstantExpr value] : COVERAGE aname= coverageName OVER iter= axisIteratorList VALUE LIST LT values= constantList GT ; + // src/grammar/wcps.g:148:1: coverageConstantExpr returns [CoverageConstantExpr value] : COVERAGE aname= coverageName OVER iter= axisIteratorList VALUE LIST LT values= constantList GT ; public final wcpsParser.coverageConstantExpr_return coverageConstantExpr() throws RecognitionException { wcpsParser.coverageConstantExpr_return retval = new wcpsParser.coverageConstantExpr_return(); retval.start = input.LT(1); @@ -3241,8 +3241,8 @@ public class wcpsParser extends Parser { try { if ( state.backtracking>0 && alreadyParsedRule(input, 25) ) { return retval; } - // src/grammar/wcps.g:148:5: ( COVERAGE aname= coverageName OVER iter= axisIteratorList VALUE LIST LT values= constantList GT ) - // src/grammar/wcps.g:148:7: COVERAGE aname= coverageName OVER iter= axisIteratorList VALUE LIST LT values= constantList GT + // src/grammar/wcps.g:149:5: ( COVERAGE aname= coverageName OVER iter= axisIteratorList VALUE LIST LT values= constantList GT ) + // src/grammar/wcps.g:149:7: COVERAGE aname= coverageName OVER iter= axisIteratorList VALUE LIST LT values= constantList GT { root_0 = (Object)adaptor.nil(); @@ -3328,7 +3328,7 @@ public class wcpsParser extends Parser { }; // $ANTLR start "constantList" - // src/grammar/wcps.g:151:1: constantList returns [ConstantList value] : c= constant ( SEMICOLON c= constant )* ; + // src/grammar/wcps.g:152:1: constantList returns [ConstantList value] : c= constant ( SEMICOLON c= constant )* ; public final wcpsParser.constantList_return constantList() throws RecognitionException { wcpsParser.constantList_return retval = new wcpsParser.constantList_return(); retval.start = input.LT(1); @@ -3343,8 +3343,8 @@ public class wcpsParser extends Parser { try { if ( state.backtracking>0 && alreadyParsedRule(input, 26) ) { return retval; } - // src/grammar/wcps.g:152:5: (c= constant ( SEMICOLON c= constant )* ) - // src/grammar/wcps.g:152:7: c= constant ( SEMICOLON c= constant )* + // src/grammar/wcps.g:153:5: (c= constant ( SEMICOLON c= constant )* ) + // src/grammar/wcps.g:153:7: c= constant ( SEMICOLON c= constant )* { root_0 = (Object)adaptor.nil(); @@ -3357,7 +3357,7 @@ public class wcpsParser extends Parser { if ( state.backtracking==0 ) { retval.value = new ConstantList((c!=null?c.value:null)); } - // src/grammar/wcps.g:152:59: ( SEMICOLON c= constant )* + // src/grammar/wcps.g:153:59: ( SEMICOLON c= constant )* loop21: do { int alt21=2; @@ -3370,7 +3370,7 @@ public class wcpsParser extends Parser { switch (alt21) { case 1 : - // src/grammar/wcps.g:152:60: SEMICOLON c= constant + // src/grammar/wcps.g:153:60: SEMICOLON c= constant { SEMICOLON68=(Token)match(input,SEMICOLON,FOLLOW_SEMICOLON_in_constantList1433); if (state.failed) return retval; if ( state.backtracking==0 ) { @@ -3426,7 +3426,7 @@ public class wcpsParser extends Parser { }; // $ANTLR start "coverageConstructorExpr" - // src/grammar/wcps.g:154:1: coverageConstructorExpr returns [CoverageConstructorExpr value] : COVERAGE coverage= coverageName OVER ail= axisIteratorList VALUES se= scalarExpr ; + // src/grammar/wcps.g:155:1: coverageConstructorExpr returns [CoverageConstructorExpr value] : COVERAGE coverage= coverageName OVER ail= axisIteratorList VALUES se= scalarExpr ; public final wcpsParser.coverageConstructorExpr_return coverageConstructorExpr() throws RecognitionException { wcpsParser.coverageConstructorExpr_return retval = new wcpsParser.coverageConstructorExpr_return(); retval.start = input.LT(1); @@ -3449,8 +3449,8 @@ public class wcpsParser extends Parser { try { if ( state.backtracking>0 && alreadyParsedRule(input, 27) ) { return retval; } - // src/grammar/wcps.g:155:2: ( COVERAGE coverage= coverageName OVER ail= axisIteratorList VALUES se= scalarExpr ) - // src/grammar/wcps.g:155:4: COVERAGE coverage= coverageName OVER ail= axisIteratorList VALUES se= scalarExpr + // src/grammar/wcps.g:156:2: ( COVERAGE coverage= coverageName OVER ail= axisIteratorList VALUES se= scalarExpr ) + // src/grammar/wcps.g:156:4: COVERAGE coverage= coverageName OVER ail= axisIteratorList VALUES se= scalarExpr { root_0 = (Object)adaptor.nil(); @@ -3521,7 +3521,7 @@ public class wcpsParser extends Parser { }; // $ANTLR start "setMetaDataExpr" - // src/grammar/wcps.g:158:1: setMetaDataExpr returns [SetMetaDataExpr value] : (op= SETIDENTIFIER LPAREN s= stringConstant COMMA e1= coverageExpr RPAREN | op= SETCRSSET LPAREN e1= coverageExpr COMMA crs= crsList RPAREN | op= SETNULLSET LPAREN e1= coverageExpr COMMA rel= rangeExprList RPAREN | op= SETINTERPOLATIONDEFAULT LPAREN e1= coverageExpr COMMA fn= fieldName COMMA im= interpolationMethod RPAREN | op= SETINTERPOLATIONSET LPAREN e1= coverageExpr COMMA fn= fieldName COMMA iml= interpolationMethodList RPAREN ); + // src/grammar/wcps.g:159:1: setMetaDataExpr returns [SetMetaDataExpr value] : (op= SETIDENTIFIER LPAREN s= stringConstant COMMA e1= coverageExpr RPAREN | op= SETCRSSET LPAREN e1= coverageExpr COMMA crs= crsList RPAREN | op= SETNULLSET LPAREN e1= coverageExpr COMMA rel= rangeExprList RPAREN | op= SETINTERPOLATIONDEFAULT LPAREN e1= coverageExpr COMMA fn= fieldName COMMA im= interpolationMethod RPAREN | op= SETINTERPOLATIONSET LPAREN e1= coverageExpr COMMA fn= fieldName COMMA iml= interpolationMethodList RPAREN ); public final wcpsParser.setMetaDataExpr_return setMetaDataExpr() throws RecognitionException { wcpsParser.setMetaDataExpr_return retval = new wcpsParser.setMetaDataExpr_return(); retval.start = input.LT(1); @@ -3582,7 +3582,7 @@ public class wcpsParser extends Parser { try { if ( state.backtracking>0 && alreadyParsedRule(input, 28) ) { return retval; } - // src/grammar/wcps.g:159:5: (op= SETIDENTIFIER LPAREN s= stringConstant COMMA e1= coverageExpr RPAREN | op= SETCRSSET LPAREN e1= coverageExpr COMMA crs= crsList RPAREN | op= SETNULLSET LPAREN e1= coverageExpr COMMA rel= rangeExprList RPAREN | op= SETINTERPOLATIONDEFAULT LPAREN e1= coverageExpr COMMA fn= fieldName COMMA im= interpolationMethod RPAREN | op= SETINTERPOLATIONSET LPAREN e1= coverageExpr COMMA fn= fieldName COMMA iml= interpolationMethodList RPAREN ) + // src/grammar/wcps.g:160:5: (op= SETIDENTIFIER LPAREN s= stringConstant COMMA e1= coverageExpr RPAREN | op= SETCRSSET LPAREN e1= coverageExpr COMMA crs= crsList RPAREN | op= SETNULLSET LPAREN e1= coverageExpr COMMA rel= rangeExprList RPAREN | op= SETINTERPOLATIONDEFAULT LPAREN e1= coverageExpr COMMA fn= fieldName COMMA im= interpolationMethod RPAREN | op= SETINTERPOLATIONSET LPAREN e1= coverageExpr COMMA fn= fieldName COMMA iml= interpolationMethodList RPAREN ) int alt22=5; switch ( input.LA(1) ) { case SETIDENTIFIER: @@ -3620,7 +3620,7 @@ public class wcpsParser extends Parser { switch (alt22) { case 1 : - // src/grammar/wcps.g:159:7: op= SETIDENTIFIER LPAREN s= stringConstant COMMA e1= coverageExpr RPAREN + // src/grammar/wcps.g:160:7: op= SETIDENTIFIER LPAREN s= stringConstant COMMA e1= coverageExpr RPAREN { root_0 = (Object)adaptor.nil(); @@ -3663,7 +3663,7 @@ public class wcpsParser extends Parser { } break; case 2 : - // src/grammar/wcps.g:161:7: op= SETCRSSET LPAREN e1= coverageExpr COMMA crs= crsList RPAREN + // src/grammar/wcps.g:162:7: op= SETCRSSET LPAREN e1= coverageExpr COMMA crs= crsList RPAREN { root_0 = (Object)adaptor.nil(); @@ -3706,7 +3706,7 @@ public class wcpsParser extends Parser { } break; case 3 : - // src/grammar/wcps.g:163:7: op= SETNULLSET LPAREN e1= coverageExpr COMMA rel= rangeExprList RPAREN + // src/grammar/wcps.g:164:7: op= SETNULLSET LPAREN e1= coverageExpr COMMA rel= rangeExprList RPAREN { root_0 = (Object)adaptor.nil(); @@ -3749,7 +3749,7 @@ public class wcpsParser extends Parser { } break; case 4 : - // src/grammar/wcps.g:165:7: op= SETINTERPOLATIONDEFAULT LPAREN e1= coverageExpr COMMA fn= fieldName COMMA im= interpolationMethod RPAREN + // src/grammar/wcps.g:166:7: op= SETINTERPOLATIONDEFAULT LPAREN e1= coverageExpr COMMA fn= fieldName COMMA im= interpolationMethod RPAREN { root_0 = (Object)adaptor.nil(); @@ -3803,7 +3803,7 @@ public class wcpsParser extends Parser { } break; case 5 : - // src/grammar/wcps.g:167:7: op= SETINTERPOLATIONSET LPAREN e1= coverageExpr COMMA fn= fieldName COMMA iml= interpolationMethodList RPAREN + // src/grammar/wcps.g:168:7: op= SETINTERPOLATIONSET LPAREN e1= coverageExpr COMMA fn= fieldName COMMA iml= interpolationMethodList RPAREN { root_0 = (Object)adaptor.nil(); @@ -3886,7 +3886,7 @@ public class wcpsParser extends Parser { }; // $ANTLR start "crsList" - // src/grammar/wcps.g:170:1: crsList returns [CrsList value] : LBRACE (crs= crsName ( COMMA crs= crsName )* )? RBRACE ; + // src/grammar/wcps.g:171:1: crsList returns [CrsList value] : LBRACE (crs= crsName ( COMMA crs= crsName )* )? RBRACE ; public final wcpsParser.crsList_return crsList() throws RecognitionException { wcpsParser.crsList_return retval = new wcpsParser.crsList_return(); retval.start = input.LT(1); @@ -3905,8 +3905,8 @@ public class wcpsParser extends Parser { try { if ( state.backtracking>0 && alreadyParsedRule(input, 29) ) { return retval; } - // src/grammar/wcps.g:171:5: ( LBRACE (crs= crsName ( COMMA crs= crsName )* )? RBRACE ) - // src/grammar/wcps.g:171:7: LBRACE (crs= crsName ( COMMA crs= crsName )* )? RBRACE + // src/grammar/wcps.g:172:5: ( LBRACE (crs= crsName ( COMMA crs= crsName )* )? RBRACE ) + // src/grammar/wcps.g:172:7: LBRACE (crs= crsName ( COMMA crs= crsName )* )? RBRACE { root_0 = (Object)adaptor.nil(); @@ -3918,7 +3918,7 @@ public class wcpsParser extends Parser { if ( state.backtracking==0 ) { retval.value = new CrsList(); } - // src/grammar/wcps.g:171:40: (crs= crsName ( COMMA crs= crsName )* )? + // src/grammar/wcps.g:172:40: (crs= crsName ( COMMA crs= crsName )* )? int alt24=2; int LA24_0 = input.LA(1); @@ -3927,7 +3927,7 @@ public class wcpsParser extends Parser { } switch (alt24) { case 1 : - // src/grammar/wcps.g:171:41: crs= crsName ( COMMA crs= crsName )* + // src/grammar/wcps.g:172:41: crs= crsName ( COMMA crs= crsName )* { pushFollow(FOLLOW_crsName_in_crsList1680); crs=crsName(); @@ -3938,7 +3938,7 @@ public class wcpsParser extends Parser { if ( state.backtracking==0 ) { retval.value.add((crs!=null?crs.value:null)); } - // src/grammar/wcps.g:171:81: ( COMMA crs= crsName )* + // src/grammar/wcps.g:172:81: ( COMMA crs= crsName )* loop23: do { int alt23=2; @@ -3951,7 +3951,7 @@ public class wcpsParser extends Parser { switch (alt23) { case 1 : - // src/grammar/wcps.g:171:82: COMMA crs= crsName + // src/grammar/wcps.g:172:82: COMMA crs= crsName { COMMA90=(Token)match(input,COMMA,FOLLOW_COMMA_in_crsList1685); if (state.failed) return retval; if ( state.backtracking==0 ) { @@ -4018,7 +4018,7 @@ public class wcpsParser extends Parser { }; // $ANTLR start "rangeExprList" - // src/grammar/wcps.g:173:1: rangeExprList returns [RangeExprList value] : LBRACE (re1= rangeExpr ( COMMA re2= rangeExpr )* )? RBRACE ; + // src/grammar/wcps.g:174:1: rangeExprList returns [RangeExprList value] : LBRACE (re1= rangeExpr ( COMMA re2= rangeExpr )* )? RBRACE ; public final wcpsParser.rangeExprList_return rangeExprList() throws RecognitionException { wcpsParser.rangeExprList_return retval = new wcpsParser.rangeExprList_return(); retval.start = input.LT(1); @@ -4039,8 +4039,8 @@ public class wcpsParser extends Parser { try { if ( state.backtracking>0 && alreadyParsedRule(input, 30) ) { return retval; } - // src/grammar/wcps.g:174:5: ( LBRACE (re1= rangeExpr ( COMMA re2= rangeExpr )* )? RBRACE ) - // src/grammar/wcps.g:174:7: LBRACE (re1= rangeExpr ( COMMA re2= rangeExpr )* )? RBRACE + // src/grammar/wcps.g:175:5: ( LBRACE (re1= rangeExpr ( COMMA re2= rangeExpr )* )? RBRACE ) + // src/grammar/wcps.g:175:7: LBRACE (re1= rangeExpr ( COMMA re2= rangeExpr )* )? RBRACE { root_0 = (Object)adaptor.nil(); @@ -4052,7 +4052,7 @@ public class wcpsParser extends Parser { if ( state.backtracking==0 ) { retval.value = new RangeExprList(); } - // src/grammar/wcps.g:174:48: (re1= rangeExpr ( COMMA re2= rangeExpr )* )? + // src/grammar/wcps.g:175:48: (re1= rangeExpr ( COMMA re2= rangeExpr )* )? int alt26=2; int LA26_0 = input.LA(1); @@ -4061,7 +4061,7 @@ public class wcpsParser extends Parser { } switch (alt26) { case 1 : - // src/grammar/wcps.g:174:49: re1= rangeExpr ( COMMA re2= rangeExpr )* + // src/grammar/wcps.g:175:49: re1= rangeExpr ( COMMA re2= rangeExpr )* { pushFollow(FOLLOW_rangeExpr_in_rangeExprList1724); re1=rangeExpr(); @@ -4072,7 +4072,7 @@ public class wcpsParser extends Parser { if ( state.backtracking==0 ) { retval.value.add((re1!=null?re1.value:null)); } - // src/grammar/wcps.g:174:91: ( COMMA re2= rangeExpr )* + // src/grammar/wcps.g:175:91: ( COMMA re2= rangeExpr )* loop25: do { int alt25=2; @@ -4085,7 +4085,7 @@ public class wcpsParser extends Parser { switch (alt25) { case 1 : - // src/grammar/wcps.g:174:92: COMMA re2= rangeExpr + // src/grammar/wcps.g:175:92: COMMA re2= rangeExpr { COMMA93=(Token)match(input,COMMA,FOLLOW_COMMA_in_rangeExprList1729); if (state.failed) return retval; if ( state.backtracking==0 ) { @@ -4152,7 +4152,7 @@ public class wcpsParser extends Parser { }; // $ANTLR start "interpolationMethodList" - // src/grammar/wcps.g:176:1: interpolationMethodList returns [InterpolationMethodList value] : LBRACE (e= interpolationMethod ( COMMA e= interpolationMethod )* )? RBRACE ; + // src/grammar/wcps.g:177:1: interpolationMethodList returns [InterpolationMethodList value] : LBRACE (e= interpolationMethod ( COMMA e= interpolationMethod )* )? RBRACE ; public final wcpsParser.interpolationMethodList_return interpolationMethodList() throws RecognitionException { wcpsParser.interpolationMethodList_return retval = new wcpsParser.interpolationMethodList_return(); retval.start = input.LT(1); @@ -4171,8 +4171,8 @@ public class wcpsParser extends Parser { try { if ( state.backtracking>0 && alreadyParsedRule(input, 31) ) { return retval; } - // src/grammar/wcps.g:177:2: ( LBRACE (e= interpolationMethod ( COMMA e= interpolationMethod )* )? RBRACE ) - // src/grammar/wcps.g:177:4: LBRACE (e= interpolationMethod ( COMMA e= interpolationMethod )* )? RBRACE + // src/grammar/wcps.g:178:2: ( LBRACE (e= interpolationMethod ( COMMA e= interpolationMethod )* )? RBRACE ) + // src/grammar/wcps.g:178:4: LBRACE (e= interpolationMethod ( COMMA e= interpolationMethod )* )? RBRACE { root_0 = (Object)adaptor.nil(); @@ -4184,7 +4184,7 @@ public class wcpsParser extends Parser { if ( state.backtracking==0 ) { retval.value = new InterpolationMethodList(); } - // src/grammar/wcps.g:177:53: (e= interpolationMethod ( COMMA e= interpolationMethod )* )? + // src/grammar/wcps.g:178:53: (e= interpolationMethod ( COMMA e= interpolationMethod )* )? int alt28=2; int LA28_0 = input.LA(1); @@ -4193,7 +4193,7 @@ public class wcpsParser extends Parser { } switch (alt28) { case 1 : - // src/grammar/wcps.g:177:54: e= interpolationMethod ( COMMA e= interpolationMethod )* + // src/grammar/wcps.g:178:54: e= interpolationMethod ( COMMA e= interpolationMethod )* { pushFollow(FOLLOW_interpolationMethod_in_interpolationMethodList1765); e=interpolationMethod(); @@ -4204,7 +4204,7 @@ public class wcpsParser extends Parser { if ( state.backtracking==0 ) { retval.value.add((e!=null?e.value:null)); } - // src/grammar/wcps.g:177:102: ( COMMA e= interpolationMethod )* + // src/grammar/wcps.g:178:102: ( COMMA e= interpolationMethod )* loop27: do { int alt27=2; @@ -4217,7 +4217,7 @@ public class wcpsParser extends Parser { switch (alt27) { case 1 : - // src/grammar/wcps.g:177:103: COMMA e= interpolationMethod + // src/grammar/wcps.g:178:103: COMMA e= interpolationMethod { COMMA96=(Token)match(input,COMMA,FOLLOW_COMMA_in_interpolationMethodList1770); if (state.failed) return retval; if ( state.backtracking==0 ) { @@ -4284,7 +4284,7 @@ public class wcpsParser extends Parser { }; // $ANTLR start "rangeExpr" - // src/grammar/wcps.g:179:1: rangeExpr returns [RangeExpr value] : STRUCT LBRACE (field= fieldName COLON expr= scalarExpr ( COLON field= fieldName COLON expr= scalarExpr )* )? RBRACE ; + // src/grammar/wcps.g:180:1: rangeExpr returns [RangeExpr value] : STRUCT LBRACE (field= fieldName COLON expr= scalarExpr ( COLON field= fieldName COLON expr= scalarExpr )* )? RBRACE ; public final wcpsParser.rangeExpr_return rangeExpr() throws RecognitionException { wcpsParser.rangeExpr_return retval = new wcpsParser.rangeExpr_return(); retval.start = input.LT(1); @@ -4311,8 +4311,8 @@ public class wcpsParser extends Parser { try { if ( state.backtracking>0 && alreadyParsedRule(input, 32) ) { return retval; } - // src/grammar/wcps.g:180:2: ( STRUCT LBRACE (field= fieldName COLON expr= scalarExpr ( COLON field= fieldName COLON expr= scalarExpr )* )? RBRACE ) - // src/grammar/wcps.g:180:4: STRUCT LBRACE (field= fieldName COLON expr= scalarExpr ( COLON field= fieldName COLON expr= scalarExpr )* )? RBRACE + // src/grammar/wcps.g:181:2: ( STRUCT LBRACE (field= fieldName COLON expr= scalarExpr ( COLON field= fieldName COLON expr= scalarExpr )* )? RBRACE ) + // src/grammar/wcps.g:181:4: STRUCT LBRACE (field= fieldName COLON expr= scalarExpr ( COLON field= fieldName COLON expr= scalarExpr )* )? RBRACE { root_0 = (Object)adaptor.nil(); @@ -4329,7 +4329,7 @@ public class wcpsParser extends Parser { if ( state.backtracking==0 ) { retval.value =new RangeExpr(); } - // src/grammar/wcps.g:181:2: (field= fieldName COLON expr= scalarExpr ( COLON field= fieldName COLON expr= scalarExpr )* )? + // src/grammar/wcps.g:182:2: (field= fieldName COLON expr= scalarExpr ( COLON field= fieldName COLON expr= scalarExpr )* )? int alt30=2; int LA30_0 = input.LA(1); @@ -4338,7 +4338,7 @@ public class wcpsParser extends Parser { } switch (alt30) { case 1 : - // src/grammar/wcps.g:181:3: field= fieldName COLON expr= scalarExpr ( COLON field= fieldName COLON expr= scalarExpr )* + // src/grammar/wcps.g:182:3: field= fieldName COLON expr= scalarExpr ( COLON field= fieldName COLON expr= scalarExpr )* { pushFollow(FOLLOW_fieldName_in_rangeExpr1805); field=fieldName(); @@ -4360,7 +4360,7 @@ public class wcpsParser extends Parser { if ( state.backtracking==0 ) { retval.value.add((field!=null?field.value:null), (expr!=null?expr.value:null)); } - // src/grammar/wcps.g:182:3: ( COLON field= fieldName COLON expr= scalarExpr )* + // src/grammar/wcps.g:183:3: ( COLON field= fieldName COLON expr= scalarExpr )* loop29: do { int alt29=2; @@ -4373,7 +4373,7 @@ public class wcpsParser extends Parser { switch (alt29) { case 1 : - // src/grammar/wcps.g:182:4: COLON field= fieldName COLON expr= scalarExpr + // src/grammar/wcps.g:183:4: COLON field= fieldName COLON expr= scalarExpr { COLON101=(Token)match(input,COLON,FOLLOW_COLON_in_rangeExpr1818); if (state.failed) return retval; if ( state.backtracking==0 ) { @@ -4451,7 +4451,7 @@ public class wcpsParser extends Parser { }; // $ANTLR start "rangeConstructorExpr" - // src/grammar/wcps.g:185:1: rangeConstructorExpr returns [RangeConstructorExpr value] : ( STRUCT )? LBRACE field= fieldName COLON expr= coverageExpr ( SEMICOLON field= fieldName COLON expr= coverageExpr )* RBRACE ; + // src/grammar/wcps.g:186:1: rangeConstructorExpr returns [RangeConstructorExpr value] : ( STRUCT )? LBRACE field= fieldName COLON expr= coverageExpr ( SEMICOLON field= fieldName COLON expr= coverageExpr )* RBRACE ; public final wcpsParser.rangeConstructorExpr_return rangeConstructorExpr() throws RecognitionException { wcpsParser.rangeConstructorExpr_return retval = new wcpsParser.rangeConstructorExpr_return(); retval.start = input.LT(1); @@ -4478,12 +4478,12 @@ public class wcpsParser extends Parser { try { if ( state.backtracking>0 && alreadyParsedRule(input, 33) ) { return retval; } - // src/grammar/wcps.g:186:5: ( ( STRUCT )? LBRACE field= fieldName COLON expr= coverageExpr ( SEMICOLON field= fieldName COLON expr= coverageExpr )* RBRACE ) - // src/grammar/wcps.g:186:7: ( STRUCT )? LBRACE field= fieldName COLON expr= coverageExpr ( SEMICOLON field= fieldName COLON expr= coverageExpr )* RBRACE + // src/grammar/wcps.g:187:5: ( ( STRUCT )? LBRACE field= fieldName COLON expr= coverageExpr ( SEMICOLON field= fieldName COLON expr= coverageExpr )* RBRACE ) + // src/grammar/wcps.g:187:7: ( STRUCT )? LBRACE field= fieldName COLON expr= coverageExpr ( SEMICOLON field= fieldName COLON expr= coverageExpr )* RBRACE { root_0 = (Object)adaptor.nil(); - // src/grammar/wcps.g:186:7: ( STRUCT )? + // src/grammar/wcps.g:187:7: ( STRUCT )? int alt31=2; int LA31_0 = input.LA(1); @@ -4492,7 +4492,7 @@ public class wcpsParser extends Parser { } switch (alt31) { case 1 : - // src/grammar/wcps.g:186:8: STRUCT + // src/grammar/wcps.g:187:8: STRUCT { STRUCT104=(Token)match(input,STRUCT,FOLLOW_STRUCT_in_rangeConstructorExpr1856); if (state.failed) return retval; if ( state.backtracking==0 ) { @@ -4530,7 +4530,7 @@ public class wcpsParser extends Parser { if ( state.backtracking==0 ) { retval.value = new RangeConstructorExpr((field!=null?field.value:null), (expr!=null?expr.value:null)); } - // src/grammar/wcps.g:187:9: ( SEMICOLON field= fieldName COLON expr= coverageExpr )* + // src/grammar/wcps.g:188:9: ( SEMICOLON field= fieldName COLON expr= coverageExpr )* loop32: do { int alt32=2; @@ -4543,7 +4543,7 @@ public class wcpsParser extends Parser { switch (alt32) { case 1 : - // src/grammar/wcps.g:187:10: SEMICOLON field= fieldName COLON expr= coverageExpr + // src/grammar/wcps.g:188:10: SEMICOLON field= fieldName COLON expr= coverageExpr { SEMICOLON107=(Token)match(input,SEMICOLON,FOLLOW_SEMICOLON_in_rangeConstructorExpr1883); if (state.failed) return retval; if ( state.backtracking==0 ) { @@ -4615,7 +4615,7 @@ public class wcpsParser extends Parser { }; // $ANTLR start "crsTransformExpr" - // src/grammar/wcps.g:189:1: crsTransformExpr returns [CrsTransformExpr value] : CRSTRANSFORM LPAREN e1= coverageExpr COMMA dcl= dimensionIntervalList COMMA fil= fieldInterpolationList RPAREN ; + // src/grammar/wcps.g:190:1: crsTransformExpr returns [CrsTransformExpr value] : CRSTRANSFORM LPAREN e1= coverageExpr COMMA dcl= dimensionIntervalList COMMA fil= fieldInterpolationList RPAREN ; public final wcpsParser.crsTransformExpr_return crsTransformExpr() throws RecognitionException { wcpsParser.crsTransformExpr_return retval = new wcpsParser.crsTransformExpr_return(); retval.start = input.LT(1); @@ -4642,8 +4642,8 @@ public class wcpsParser extends Parser { try { if ( state.backtracking>0 && alreadyParsedRule(input, 34) ) { return retval; } - // src/grammar/wcps.g:190:2: ( CRSTRANSFORM LPAREN e1= coverageExpr COMMA dcl= dimensionIntervalList COMMA fil= fieldInterpolationList RPAREN ) - // src/grammar/wcps.g:190:4: CRSTRANSFORM LPAREN e1= coverageExpr COMMA dcl= dimensionIntervalList COMMA fil= fieldInterpolationList RPAREN + // src/grammar/wcps.g:191:2: ( CRSTRANSFORM LPAREN e1= coverageExpr COMMA dcl= dimensionIntervalList COMMA fil= fieldInterpolationList RPAREN ) + // src/grammar/wcps.g:191:4: CRSTRANSFORM LPAREN e1= coverageExpr COMMA dcl= dimensionIntervalList COMMA fil= fieldInterpolationList RPAREN { root_0 = (Object)adaptor.nil(); @@ -4724,7 +4724,7 @@ public class wcpsParser extends Parser { }; // $ANTLR start "fieldInterpolationList" - // src/grammar/wcps.g:193:1: fieldInterpolationList returns [FieldInterpolationList value] : LBRACE elem= fieldInterpolationElement ( COMMA elem= fieldInterpolationElement )* RBRACE ; + // src/grammar/wcps.g:194:1: fieldInterpolationList returns [FieldInterpolationList value] : LBRACE elem= fieldInterpolationElement ( COMMA elem= fieldInterpolationElement )* RBRACE ; public final wcpsParser.fieldInterpolationList_return fieldInterpolationList() throws RecognitionException { wcpsParser.fieldInterpolationList_return retval = new wcpsParser.fieldInterpolationList_return(); retval.start = input.LT(1); @@ -4743,8 +4743,8 @@ public class wcpsParser extends Parser { try { if ( state.backtracking>0 && alreadyParsedRule(input, 35) ) { return retval; } - // src/grammar/wcps.g:194:2: ( LBRACE elem= fieldInterpolationElement ( COMMA elem= fieldInterpolationElement )* RBRACE ) - // src/grammar/wcps.g:194:4: LBRACE elem= fieldInterpolationElement ( COMMA elem= fieldInterpolationElement )* RBRACE + // src/grammar/wcps.g:195:2: ( LBRACE elem= fieldInterpolationElement ( COMMA elem= fieldInterpolationElement )* RBRACE ) + // src/grammar/wcps.g:195:4: LBRACE elem= fieldInterpolationElement ( COMMA elem= fieldInterpolationElement )* RBRACE { root_0 = (Object)adaptor.nil(); @@ -4762,7 +4762,7 @@ public class wcpsParser extends Parser { if ( state.backtracking==0 ) { retval.value = new FieldInterpolationList((elem!=null?elem.value:null)); } - // src/grammar/wcps.g:195:3: ( COMMA elem= fieldInterpolationElement )* + // src/grammar/wcps.g:196:3: ( COMMA elem= fieldInterpolationElement )* loop33: do { int alt33=2; @@ -4775,7 +4775,7 @@ public class wcpsParser extends Parser { switch (alt33) { case 1 : - // src/grammar/wcps.g:195:4: COMMA elem= fieldInterpolationElement + // src/grammar/wcps.g:196:4: COMMA elem= fieldInterpolationElement { COMMA116=(Token)match(input,COMMA,FOLLOW_COMMA_in_fieldInterpolationList1963); if (state.failed) return retval; if ( state.backtracking==0 ) { @@ -4836,7 +4836,7 @@ public class wcpsParser extends Parser { }; // $ANTLR start "fieldInterpolationElement" - // src/grammar/wcps.g:197:1: fieldInterpolationElement returns [FieldInterpolationElement value] : aname= fieldName method= interpolationMethod ; + // src/grammar/wcps.g:198:1: fieldInterpolationElement returns [FieldInterpolationElement value] : aname= fieldName method= interpolationMethod ; public final wcpsParser.fieldInterpolationElement_return fieldInterpolationElement() throws RecognitionException { wcpsParser.fieldInterpolationElement_return retval = new wcpsParser.fieldInterpolationElement_return(); retval.start = input.LT(1); @@ -4851,8 +4851,8 @@ public class wcpsParser extends Parser { try { if ( state.backtracking>0 && alreadyParsedRule(input, 36) ) { return retval; } - // src/grammar/wcps.g:198:2: (aname= fieldName method= interpolationMethod ) - // src/grammar/wcps.g:198:4: aname= fieldName method= interpolationMethod + // src/grammar/wcps.g:199:2: (aname= fieldName method= interpolationMethod ) + // src/grammar/wcps.g:199:4: aname= fieldName method= interpolationMethod { root_0 = (Object)adaptor.nil(); @@ -4902,7 +4902,7 @@ public class wcpsParser extends Parser { }; // $ANTLR start "unaryInducedExpr" - // src/grammar/wcps.g:200:1: unaryInducedExpr returns [CoverageExpr value] : (e6= fieldExpr | e1= unaryArithmeticExpr | e2= exponentialExpr | e3= trigonometricExpr | e4= booleanExpr | e5= castExpr | e7= rangeConstructorExpr ); + // src/grammar/wcps.g:201:1: unaryInducedExpr returns [CoverageExpr value] : (e6= fieldExpr | e1= unaryArithmeticExpr | e2= exponentialExpr | e3= trigonometricExpr | e4= booleanExpr | e5= castExpr | e7= rangeConstructorExpr ); public final wcpsParser.unaryInducedExpr_return unaryInducedExpr() throws RecognitionException { wcpsParser.unaryInducedExpr_return retval = new wcpsParser.unaryInducedExpr_return(); retval.start = input.LT(1); @@ -4927,12 +4927,12 @@ public class wcpsParser extends Parser { try { if ( state.backtracking>0 && alreadyParsedRule(input, 37) ) { return retval; } - // src/grammar/wcps.g:201:5: (e6= fieldExpr | e1= unaryArithmeticExpr | e2= exponentialExpr | e3= trigonometricExpr | e4= booleanExpr | e5= castExpr | e7= rangeConstructorExpr ) + // src/grammar/wcps.g:202:5: (e6= fieldExpr | e1= unaryArithmeticExpr | e2= exponentialExpr | e3= trigonometricExpr | e4= booleanExpr | e5= castExpr | e7= rangeConstructorExpr ) int alt34=7; alt34 = dfa34.predict(input); switch (alt34) { case 1 : - // src/grammar/wcps.g:201:7: e6= fieldExpr + // src/grammar/wcps.g:202:7: e6= fieldExpr { root_0 = (Object)adaptor.nil(); @@ -4949,7 +4949,7 @@ public class wcpsParser extends Parser { } break; case 2 : - // src/grammar/wcps.g:202:4: e1= unaryArithmeticExpr + // src/grammar/wcps.g:203:4: e1= unaryArithmeticExpr { root_0 = (Object)adaptor.nil(); @@ -4966,7 +4966,7 @@ public class wcpsParser extends Parser { } break; case 3 : - // src/grammar/wcps.g:203:7: e2= exponentialExpr + // src/grammar/wcps.g:204:7: e2= exponentialExpr { root_0 = (Object)adaptor.nil(); @@ -4983,7 +4983,7 @@ public class wcpsParser extends Parser { } break; case 4 : - // src/grammar/wcps.g:204:7: e3= trigonometricExpr + // src/grammar/wcps.g:205:7: e3= trigonometricExpr { root_0 = (Object)adaptor.nil(); @@ -5000,7 +5000,7 @@ public class wcpsParser extends Parser { } break; case 5 : - // src/grammar/wcps.g:205:7: e4= booleanExpr + // src/grammar/wcps.g:206:7: e4= booleanExpr { root_0 = (Object)adaptor.nil(); @@ -5017,7 +5017,7 @@ public class wcpsParser extends Parser { } break; case 6 : - // src/grammar/wcps.g:206:7: e5= castExpr + // src/grammar/wcps.g:207:7: e5= castExpr { root_0 = (Object)adaptor.nil(); @@ -5034,7 +5034,7 @@ public class wcpsParser extends Parser { } break; case 7 : - // src/grammar/wcps.g:207:7: e7= rangeConstructorExpr + // src/grammar/wcps.g:208:7: e7= rangeConstructorExpr { root_0 = (Object)adaptor.nil(); @@ -5080,7 +5080,7 @@ public class wcpsParser extends Parser { }; // $ANTLR start "unaryArithmeticExpr" - // src/grammar/wcps.g:209:1: unaryArithmeticExpr returns [CoverageExpr value] : (op= ( MINUS | PLUS ) e1= coverageAtom | op= ( SQRT | ABS | RE | IM ) LPAREN e2= coverageExpr RPAREN ); + // src/grammar/wcps.g:210:1: unaryArithmeticExpr returns [CoverageExpr value] : (op= ( MINUS | PLUS ) e1= coverageAtom | op= ( SQRT | ABS | RE | IM ) LPAREN e2= coverageExpr RPAREN ); public final wcpsParser.unaryArithmeticExpr_return unaryArithmeticExpr() throws RecognitionException { wcpsParser.unaryArithmeticExpr_return retval = new wcpsParser.unaryArithmeticExpr_return(); retval.start = input.LT(1); @@ -5101,7 +5101,7 @@ public class wcpsParser extends Parser { try { if ( state.backtracking>0 && alreadyParsedRule(input, 38) ) { return retval; } - // src/grammar/wcps.g:210:5: (op= ( MINUS | PLUS ) e1= coverageAtom | op= ( SQRT | ABS | RE | IM ) LPAREN e2= coverageExpr RPAREN ) + // src/grammar/wcps.g:211:5: (op= ( MINUS | PLUS ) e1= coverageAtom | op= ( SQRT | ABS | RE | IM ) LPAREN e2= coverageExpr RPAREN ) int alt35=2; int LA35_0 = input.LA(1); @@ -5120,7 +5120,7 @@ public class wcpsParser extends Parser { } switch (alt35) { case 1 : - // src/grammar/wcps.g:210:7: op= ( MINUS | PLUS ) e1= coverageAtom + // src/grammar/wcps.g:211:7: op= ( MINUS | PLUS ) e1= coverageAtom { root_0 = (Object)adaptor.nil(); @@ -5149,7 +5149,7 @@ public class wcpsParser extends Parser { } break; case 2 : - // src/grammar/wcps.g:211:7: op= ( SQRT | ABS | RE | IM ) LPAREN e2= coverageExpr RPAREN + // src/grammar/wcps.g:212:7: op= ( SQRT | ABS | RE | IM ) LPAREN e2= coverageExpr RPAREN { root_0 = (Object)adaptor.nil(); @@ -5217,7 +5217,7 @@ public class wcpsParser extends Parser { }; // $ANTLR start "exponentialExpr" - // src/grammar/wcps.g:213:1: exponentialExpr returns [ExponentialExpr value] : op= ( EXP | LOG | LN ) LPAREN e1= coverageExpr RPAREN ; + // src/grammar/wcps.g:214:1: exponentialExpr returns [ExponentialExpr value] : op= ( EXP | LOG | LN ) LPAREN e1= coverageExpr RPAREN ; public final wcpsParser.exponentialExpr_return exponentialExpr() throws RecognitionException { wcpsParser.exponentialExpr_return retval = new wcpsParser.exponentialExpr_return(); retval.start = input.LT(1); @@ -5236,8 +5236,8 @@ public class wcpsParser extends Parser { try { if ( state.backtracking>0 && alreadyParsedRule(input, 39) ) { return retval; } - // src/grammar/wcps.g:214:5: (op= ( EXP | LOG | LN ) LPAREN e1= coverageExpr RPAREN ) - // src/grammar/wcps.g:214:7: op= ( EXP | LOG | LN ) LPAREN e1= coverageExpr RPAREN + // src/grammar/wcps.g:215:5: (op= ( EXP | LOG | LN ) LPAREN e1= coverageExpr RPAREN ) + // src/grammar/wcps.g:215:7: op= ( EXP | LOG | LN ) LPAREN e1= coverageExpr RPAREN { root_0 = (Object)adaptor.nil(); @@ -5303,7 +5303,7 @@ public class wcpsParser extends Parser { }; // $ANTLR start "trigonometricExpr" - // src/grammar/wcps.g:216:1: trigonometricExpr returns [TrigonometricExpr value] : op= ( SIN | COS | TAN | SINH | COSH | TANH | ARCSIN | ARCCOS | ARCTAN ) LPAREN e1= coverageExpr RPAREN ; + // src/grammar/wcps.g:217:1: trigonometricExpr returns [TrigonometricExpr value] : op= ( SIN | COS | TAN | SINH | COSH | TANH | ARCSIN | ARCCOS | ARCTAN ) LPAREN e1= coverageExpr RPAREN ; public final wcpsParser.trigonometricExpr_return trigonometricExpr() throws RecognitionException { wcpsParser.trigonometricExpr_return retval = new wcpsParser.trigonometricExpr_return(); retval.start = input.LT(1); @@ -5322,8 +5322,8 @@ public class wcpsParser extends Parser { try { if ( state.backtracking>0 && alreadyParsedRule(input, 40) ) { return retval; } - // src/grammar/wcps.g:217:5: (op= ( SIN | COS | TAN | SINH | COSH | TANH | ARCSIN | ARCCOS | ARCTAN ) LPAREN e1= coverageExpr RPAREN ) - // src/grammar/wcps.g:217:7: op= ( SIN | COS | TAN | SINH | COSH | TANH | ARCSIN | ARCCOS | ARCTAN ) LPAREN e1= coverageExpr RPAREN + // src/grammar/wcps.g:218:5: (op= ( SIN | COS | TAN | SINH | COSH | TANH | ARCSIN | ARCCOS | ARCTAN ) LPAREN e1= coverageExpr RPAREN ) + // src/grammar/wcps.g:218:7: op= ( SIN | COS | TAN | SINH | COSH | TANH | ARCSIN | ARCCOS | ARCTAN ) LPAREN e1= coverageExpr RPAREN { root_0 = (Object)adaptor.nil(); @@ -5389,7 +5389,7 @@ public class wcpsParser extends Parser { }; // $ANTLR start "booleanExpr" - // src/grammar/wcps.g:219:1: booleanExpr returns [BooleanExpr value] : (op= NOT e1= coverageExpr | op= BIT LPAREN e1= coverageExpr COMMA e2= indexExpr RPAREN ); + // src/grammar/wcps.g:220:1: booleanExpr returns [BooleanExpr value] : (op= NOT e1= coverageExpr | op= BIT LPAREN e1= coverageExpr COMMA e2= indexExpr RPAREN ); public final wcpsParser.booleanExpr_return booleanExpr() throws RecognitionException { wcpsParser.booleanExpr_return retval = new wcpsParser.booleanExpr_return(); retval.start = input.LT(1); @@ -5412,7 +5412,7 @@ public class wcpsParser extends Parser { try { if ( state.backtracking>0 && alreadyParsedRule(input, 41) ) { return retval; } - // src/grammar/wcps.g:220:5: (op= NOT e1= coverageExpr | op= BIT LPAREN e1= coverageExpr COMMA e2= indexExpr RPAREN ) + // src/grammar/wcps.g:221:5: (op= NOT e1= coverageExpr | op= BIT LPAREN e1= coverageExpr COMMA e2= indexExpr RPAREN ) int alt36=2; int LA36_0 = input.LA(1); @@ -5431,7 +5431,7 @@ public class wcpsParser extends Parser { } switch (alt36) { case 1 : - // src/grammar/wcps.g:220:7: op= NOT e1= coverageExpr + // src/grammar/wcps.g:221:7: op= NOT e1= coverageExpr { root_0 = (Object)adaptor.nil(); @@ -5453,7 +5453,7 @@ public class wcpsParser extends Parser { } break; case 2 : - // src/grammar/wcps.g:221:7: op= BIT LPAREN e1= coverageExpr COMMA e2= indexExpr RPAREN + // src/grammar/wcps.g:222:7: op= BIT LPAREN e1= coverageExpr COMMA e2= indexExpr RPAREN { root_0 = (Object)adaptor.nil(); @@ -5525,7 +5525,7 @@ public class wcpsParser extends Parser { }; // $ANTLR start "indexExpr" - // src/grammar/wcps.g:223:1: indexExpr returns [IndexExpr value] : e1= indexTerm (op= ( PLUS | MINUS ) e2= indexTerm )* ; + // src/grammar/wcps.g:224:1: indexExpr returns [IndexExpr value] : e1= indexTerm (op= ( PLUS | MINUS ) e2= indexTerm )* ; public final wcpsParser.indexExpr_return indexExpr() throws RecognitionException { wcpsParser.indexExpr_return retval = new wcpsParser.indexExpr_return(); retval.start = input.LT(1); @@ -5533,21 +5533,17 @@ public class wcpsParser extends Parser { Object root_0 = null; Token op=null; - Token PLUS127=null; - Token MINUS128=null; wcpsParser.indexTerm_return e1 = null; wcpsParser.indexTerm_return e2 = null; Object op_tree=null; - Object PLUS127_tree=null; - Object MINUS128_tree=null; try { if ( state.backtracking>0 && alreadyParsedRule(input, 42) ) { return retval; } - // src/grammar/wcps.g:224:5: (e1= indexTerm (op= ( PLUS | MINUS ) e2= indexTerm )* ) - // src/grammar/wcps.g:224:7: e1= indexTerm (op= ( PLUS | MINUS ) e2= indexTerm )* + // src/grammar/wcps.g:225:5: (e1= indexTerm (op= ( PLUS | MINUS ) e2= indexTerm )* ) + // src/grammar/wcps.g:225:7: e1= indexTerm (op= ( PLUS | MINUS ) e2= indexTerm )* { root_0 = (Object)adaptor.nil(); @@ -5560,65 +5556,34 @@ public class wcpsParser extends Parser { if ( state.backtracking==0 ) { retval.value = (e1!=null?e1.value:null); } - // src/grammar/wcps.g:225:3: (op= ( PLUS | MINUS ) e2= indexTerm )* - loop38: + // src/grammar/wcps.g:226:3: (op= ( PLUS | MINUS ) e2= indexTerm )* + loop37: do { - int alt38=2; - int LA38_0 = input.LA(1); + int alt37=2; + int LA37_0 = input.LA(1); - if ( ((LA38_0>=PLUS && LA38_0<=MINUS)) ) { - alt38=1; + if ( ((LA37_0>=PLUS && LA37_0<=MINUS)) ) { + alt37=1; } - switch (alt38) { + switch (alt37) { case 1 : - // src/grammar/wcps.g:225:4: op= ( PLUS | MINUS ) e2= indexTerm + // src/grammar/wcps.g:226:4: op= ( PLUS | MINUS ) e2= indexTerm { - // src/grammar/wcps.g:225:7: ( PLUS | MINUS ) - int alt37=2; - int LA37_0 = input.LA(1); - - if ( (LA37_0==PLUS) ) { - alt37=1; - } - else if ( (LA37_0==MINUS) ) { - alt37=2; + op=(Token)input.LT(1); + if ( (input.LA(1)>=PLUS && input.LA(1)<=MINUS) ) { + input.consume(); + if ( state.backtracking==0 ) adaptor.addChild(root_0, (Object)adaptor.create(op)); + state.errorRecovery=false;state.failed=false; } else { if (state.backtracking>0) {state.failed=true; return retval;} - NoViableAltException nvae = - new NoViableAltException("", 37, 0, input); - - throw nvae; - } - switch (alt37) { - case 1 : - // src/grammar/wcps.g:225:8: PLUS - { - PLUS127=(Token)match(input,PLUS,FOLLOW_PLUS_in_indexExpr2314); if (state.failed) return retval; - if ( state.backtracking==0 ) { - PLUS127_tree = (Object)adaptor.create(PLUS127); - root_0 = (Object)adaptor.becomeRoot(PLUS127_tree, root_0); - } - - } - break; - case 2 : - // src/grammar/wcps.g:225:14: MINUS - { - MINUS128=(Token)match(input,MINUS,FOLLOW_MINUS_in_indexExpr2317); if (state.failed) return retval; - if ( state.backtracking==0 ) { - MINUS128_tree = (Object)adaptor.create(MINUS128); - root_0 = (Object)adaptor.becomeRoot(MINUS128_tree, root_0); - } - - } - break; - + MismatchedSetException mse = new MismatchedSetException(null,input); + throw mse; } - pushFollow(FOLLOW_indexTerm_in_indexExpr2323); + pushFollow(FOLLOW_indexTerm_in_indexExpr2321); e2=indexTerm(); state._fsp--; @@ -5632,7 +5597,7 @@ public class wcpsParser extends Parser { break; default : - break loop38; + break loop37; } } while (true); @@ -5667,7 +5632,7 @@ public class wcpsParser extends Parser { }; // $ANTLR start "indexTerm" - // src/grammar/wcps.g:227:1: indexTerm returns [IndexExpr value] : e1= indexFactor ( (op= ( MULT | DIVIDE ) e2= indexFactor ) )* ; + // src/grammar/wcps.g:228:1: indexTerm returns [IndexExpr value] : e1= indexFactor ( (op= ( MULT | DIVIDE ) e2= indexFactor ) )* ; public final wcpsParser.indexTerm_return indexTerm() throws RecognitionException { wcpsParser.indexTerm_return retval = new wcpsParser.indexTerm_return(); retval.start = input.LT(1); @@ -5684,12 +5649,12 @@ public class wcpsParser extends Parser { try { if ( state.backtracking>0 && alreadyParsedRule(input, 43) ) { return retval; } - // src/grammar/wcps.g:228:5: (e1= indexFactor ( (op= ( MULT | DIVIDE ) e2= indexFactor ) )* ) - // src/grammar/wcps.g:228:7: e1= indexFactor ( (op= ( MULT | DIVIDE ) e2= indexFactor ) )* + // src/grammar/wcps.g:229:5: (e1= indexFactor ( (op= ( MULT | DIVIDE ) e2= indexFactor ) )* ) + // src/grammar/wcps.g:229:7: e1= indexFactor ( (op= ( MULT | DIVIDE ) e2= indexFactor ) )* { root_0 = (Object)adaptor.nil(); - pushFollow(FOLLOW_indexFactor_in_indexTerm2348); + pushFollow(FOLLOW_indexFactor_in_indexTerm2346); e1=indexFactor(); state._fsp--; @@ -5698,23 +5663,23 @@ public class wcpsParser extends Parser { if ( state.backtracking==0 ) { retval.value = (e1!=null?e1.value:null); } - // src/grammar/wcps.g:229:6: ( (op= ( MULT | DIVIDE ) e2= indexFactor ) )* - loop39: + // src/grammar/wcps.g:230:6: ( (op= ( MULT | DIVIDE ) e2= indexFactor ) )* + loop38: do { - int alt39=2; - int LA39_0 = input.LA(1); + int alt38=2; + int LA38_0 = input.LA(1); - if ( ((LA39_0>=MULT && LA39_0<=DIVIDE)) ) { - alt39=1; + if ( ((LA38_0>=MULT && LA38_0<=DIVIDE)) ) { + alt38=1; } - switch (alt39) { + switch (alt38) { case 1 : - // src/grammar/wcps.g:229:7: (op= ( MULT | DIVIDE ) e2= indexFactor ) + // src/grammar/wcps.g:230:7: (op= ( MULT | DIVIDE ) e2= indexFactor ) { - // src/grammar/wcps.g:229:7: (op= ( MULT | DIVIDE ) e2= indexFactor ) - // src/grammar/wcps.g:229:8: op= ( MULT | DIVIDE ) e2= indexFactor + // src/grammar/wcps.g:230:7: (op= ( MULT | DIVIDE ) e2= indexFactor ) + // src/grammar/wcps.g:230:8: op= ( MULT | DIVIDE ) e2= indexFactor { op=(Token)input.LT(1); if ( (input.LA(1)>=MULT && input.LA(1)<=DIVIDE) ) { @@ -5728,7 +5693,7 @@ public class wcpsParser extends Parser { throw mse; } - pushFollow(FOLLOW_indexFactor_in_indexTerm2369); + pushFollow(FOLLOW_indexFactor_in_indexTerm2367); e2=indexFactor(); state._fsp--; @@ -5745,7 +5710,7 @@ public class wcpsParser extends Parser { break; default : - break loop39; + break loop38; } } while (true); @@ -5780,7 +5745,7 @@ public class wcpsParser extends Parser { }; // $ANTLR start "indexFactor" - // src/grammar/wcps.g:231:1: indexFactor returns [IndexExpr value] : (e= INTEGERCONSTANT | op= ROUND LPAREN e1= numericScalarExpr RPAREN | ( LPAREN e2= indexExpr RPAREN ) ); + // src/grammar/wcps.g:232:1: indexFactor returns [IndexExpr value] : (e= INTEGERCONSTANT | op= ROUND LPAREN e1= numericScalarExpr RPAREN | ( LPAREN e2= indexExpr RPAREN ) ); public final wcpsParser.indexFactor_return indexFactor() throws RecognitionException { wcpsParser.indexFactor_return retval = new wcpsParser.indexFactor_return(); retval.start = input.LT(1); @@ -5789,10 +5754,10 @@ public class wcpsParser extends Parser { Token e=null; Token op=null; + Token LPAREN127=null; + Token RPAREN128=null; Token LPAREN129=null; Token RPAREN130=null; - Token LPAREN131=null; - Token RPAREN132=null; wcpsParser.numericScalarExpr_return e1 = null; wcpsParser.indexExpr_return e2 = null; @@ -5800,46 +5765,46 @@ public class wcpsParser extends Parser { Object e_tree=null; Object op_tree=null; + Object LPAREN127_tree=null; + Object RPAREN128_tree=null; Object LPAREN129_tree=null; Object RPAREN130_tree=null; - Object LPAREN131_tree=null; - Object RPAREN132_tree=null; try { if ( state.backtracking>0 && alreadyParsedRule(input, 44) ) { return retval; } - // src/grammar/wcps.g:232:5: (e= INTEGERCONSTANT | op= ROUND LPAREN e1= numericScalarExpr RPAREN | ( LPAREN e2= indexExpr RPAREN ) ) - int alt40=3; + // src/grammar/wcps.g:233:5: (e= INTEGERCONSTANT | op= ROUND LPAREN e1= numericScalarExpr RPAREN | ( LPAREN e2= indexExpr RPAREN ) ) + int alt39=3; switch ( input.LA(1) ) { case INTEGERCONSTANT: { - alt40=1; + alt39=1; } break; case ROUND: { - alt40=2; + alt39=2; } break; case LPAREN: { - alt40=3; + alt39=3; } break; default: if (state.backtracking>0) {state.failed=true; return retval;} NoViableAltException nvae = - new NoViableAltException("", 40, 0, input); + new NoViableAltException("", 39, 0, input); throw nvae; } - switch (alt40) { + switch (alt39) { case 1 : - // src/grammar/wcps.g:232:7: e= INTEGERCONSTANT + // src/grammar/wcps.g:233:7: e= INTEGERCONSTANT { root_0 = (Object)adaptor.nil(); - e=(Token)match(input,INTEGERCONSTANT,FOLLOW_INTEGERCONSTANT_in_indexFactor2396); if (state.failed) return retval; + e=(Token)match(input,INTEGERCONSTANT,FOLLOW_INTEGERCONSTANT_in_indexFactor2394); if (state.failed) return retval; if ( state.backtracking==0 ) { e_tree = (Object)adaptor.create(e); adaptor.addChild(root_0, e_tree); @@ -5851,30 +5816,30 @@ public class wcpsParser extends Parser { } break; case 2 : - // src/grammar/wcps.g:233:7: op= ROUND LPAREN e1= numericScalarExpr RPAREN + // src/grammar/wcps.g:234:7: op= ROUND LPAREN e1= numericScalarExpr RPAREN { root_0 = (Object)adaptor.nil(); - op=(Token)match(input,ROUND,FOLLOW_ROUND_in_indexFactor2409); if (state.failed) return retval; + op=(Token)match(input,ROUND,FOLLOW_ROUND_in_indexFactor2407); if (state.failed) return retval; if ( state.backtracking==0 ) { op_tree = (Object)adaptor.create(op); adaptor.addChild(root_0, op_tree); } - LPAREN129=(Token)match(input,LPAREN,FOLLOW_LPAREN_in_indexFactor2411); if (state.failed) return retval; + LPAREN127=(Token)match(input,LPAREN,FOLLOW_LPAREN_in_indexFactor2409); if (state.failed) return retval; if ( state.backtracking==0 ) { - LPAREN129_tree = (Object)adaptor.create(LPAREN129); - adaptor.addChild(root_0, LPAREN129_tree); + LPAREN127_tree = (Object)adaptor.create(LPAREN127); + adaptor.addChild(root_0, LPAREN127_tree); } - pushFollow(FOLLOW_numericScalarExpr_in_indexFactor2415); + pushFollow(FOLLOW_numericScalarExpr_in_indexFactor2413); e1=numericScalarExpr(); state._fsp--; if (state.failed) return retval; if ( state.backtracking==0 ) adaptor.addChild(root_0, e1.getTree()); - RPAREN130=(Token)match(input,RPAREN,FOLLOW_RPAREN_in_indexFactor2417); if (state.failed) return retval; + RPAREN128=(Token)match(input,RPAREN,FOLLOW_RPAREN_in_indexFactor2415); if (state.failed) return retval; if ( state.backtracking==0 ) { - RPAREN130_tree = (Object)adaptor.create(RPAREN130); - adaptor.addChild(root_0, RPAREN130_tree); + RPAREN128_tree = (Object)adaptor.create(RPAREN128); + adaptor.addChild(root_0, RPAREN128_tree); } if ( state.backtracking==0 ) { retval.value = new IndexExpr((op!=null?op.getText():null), (e1!=null?e1.value:null)); @@ -5883,28 +5848,28 @@ public class wcpsParser extends Parser { } break; case 3 : - // src/grammar/wcps.g:234:7: ( LPAREN e2= indexExpr RPAREN ) + // src/grammar/wcps.g:235:7: ( LPAREN e2= indexExpr RPAREN ) { root_0 = (Object)adaptor.nil(); - // src/grammar/wcps.g:234:7: ( LPAREN e2= indexExpr RPAREN ) - // src/grammar/wcps.g:234:8: LPAREN e2= indexExpr RPAREN + // src/grammar/wcps.g:235:7: ( LPAREN e2= indexExpr RPAREN ) + // src/grammar/wcps.g:235:8: LPAREN e2= indexExpr RPAREN { - LPAREN131=(Token)match(input,LPAREN,FOLLOW_LPAREN_in_indexFactor2429); if (state.failed) return retval; + LPAREN129=(Token)match(input,LPAREN,FOLLOW_LPAREN_in_indexFactor2427); if (state.failed) return retval; if ( state.backtracking==0 ) { - LPAREN131_tree = (Object)adaptor.create(LPAREN131); - adaptor.addChild(root_0, LPAREN131_tree); + LPAREN129_tree = (Object)adaptor.create(LPAREN129); + adaptor.addChild(root_0, LPAREN129_tree); } - pushFollow(FOLLOW_indexExpr_in_indexFactor2433); + pushFollow(FOLLOW_indexExpr_in_indexFactor2431); e2=indexExpr(); state._fsp--; if (state.failed) return retval; if ( state.backtracking==0 ) adaptor.addChild(root_0, e2.getTree()); - RPAREN132=(Token)match(input,RPAREN,FOLLOW_RPAREN_in_indexFactor2435); if (state.failed) return retval; + RPAREN130=(Token)match(input,RPAREN,FOLLOW_RPAREN_in_indexFactor2433); if (state.failed) return retval; if ( state.backtracking==0 ) { - RPAREN132_tree = (Object)adaptor.create(RPAREN132); - adaptor.addChild(root_0, RPAREN132_tree); + RPAREN130_tree = (Object)adaptor.create(RPAREN130); + adaptor.addChild(root_0, RPAREN130_tree); } if ( state.backtracking==0 ) { retval.value = (e2!=null?e2.value:null); @@ -5945,7 +5910,7 @@ public class wcpsParser extends Parser { }; // $ANTLR start "stringScalarExpr" - // src/grammar/wcps.g:236:1: stringScalarExpr returns [StringScalarExpr value] : (op= IDENTIFIER LPAREN e1= coverageExpr RPAREN | e= STRING ); + // src/grammar/wcps.g:237:1: stringScalarExpr returns [StringScalarExpr value] : (op= IDENTIFIER LPAREN e1= coverageExpr RPAREN | e= STRING ); public final wcpsParser.stringScalarExpr_return stringScalarExpr() throws RecognitionException { wcpsParser.stringScalarExpr_return retval = new wcpsParser.stringScalarExpr_return(); retval.start = input.LT(1); @@ -5954,61 +5919,61 @@ public class wcpsParser extends Parser { Token op=null; Token e=null; - Token LPAREN133=null; - Token RPAREN134=null; + Token LPAREN131=null; + Token RPAREN132=null; wcpsParser.coverageExpr_return e1 = null; Object op_tree=null; Object e_tree=null; - Object LPAREN133_tree=null; - Object RPAREN134_tree=null; + Object LPAREN131_tree=null; + Object RPAREN132_tree=null; try { if ( state.backtracking>0 && alreadyParsedRule(input, 45) ) { return retval; } - // src/grammar/wcps.g:238:5: (op= IDENTIFIER LPAREN e1= coverageExpr RPAREN | e= STRING ) - int alt41=2; - int LA41_0 = input.LA(1); + // src/grammar/wcps.g:239:5: (op= IDENTIFIER LPAREN e1= coverageExpr RPAREN | e= STRING ) + int alt40=2; + int LA40_0 = input.LA(1); - if ( (LA41_0==IDENTIFIER) ) { - alt41=1; + if ( (LA40_0==IDENTIFIER) ) { + alt40=1; } - else if ( (LA41_0==STRING) ) { - alt41=2; + else if ( (LA40_0==STRING) ) { + alt40=2; } else { if (state.backtracking>0) {state.failed=true; return retval;} NoViableAltException nvae = - new NoViableAltException("", 41, 0, input); + new NoViableAltException("", 40, 0, input); throw nvae; } - switch (alt41) { + switch (alt40) { case 1 : - // src/grammar/wcps.g:238:7: op= IDENTIFIER LPAREN e1= coverageExpr RPAREN + // src/grammar/wcps.g:239:7: op= IDENTIFIER LPAREN e1= coverageExpr RPAREN { root_0 = (Object)adaptor.nil(); - op=(Token)match(input,IDENTIFIER,FOLLOW_IDENTIFIER_in_stringScalarExpr2462); if (state.failed) return retval; + op=(Token)match(input,IDENTIFIER,FOLLOW_IDENTIFIER_in_stringScalarExpr2460); if (state.failed) return retval; if ( state.backtracking==0 ) { op_tree = (Object)adaptor.create(op); adaptor.addChild(root_0, op_tree); } - LPAREN133=(Token)match(input,LPAREN,FOLLOW_LPAREN_in_stringScalarExpr2464); if (state.failed) return retval; + LPAREN131=(Token)match(input,LPAREN,FOLLOW_LPAREN_in_stringScalarExpr2462); if (state.failed) return retval; if ( state.backtracking==0 ) { - LPAREN133_tree = (Object)adaptor.create(LPAREN133); - adaptor.addChild(root_0, LPAREN133_tree); + LPAREN131_tree = (Object)adaptor.create(LPAREN131); + adaptor.addChild(root_0, LPAREN131_tree); } - pushFollow(FOLLOW_coverageExpr_in_stringScalarExpr2468); + pushFollow(FOLLOW_coverageExpr_in_stringScalarExpr2466); e1=coverageExpr(); state._fsp--; if (state.failed) return retval; if ( state.backtracking==0 ) adaptor.addChild(root_0, e1.getTree()); - RPAREN134=(Token)match(input,RPAREN,FOLLOW_RPAREN_in_stringScalarExpr2470); if (state.failed) return retval; + RPAREN132=(Token)match(input,RPAREN,FOLLOW_RPAREN_in_stringScalarExpr2468); if (state.failed) return retval; if ( state.backtracking==0 ) { - RPAREN134_tree = (Object)adaptor.create(RPAREN134); - adaptor.addChild(root_0, RPAREN134_tree); + RPAREN132_tree = (Object)adaptor.create(RPAREN132); + adaptor.addChild(root_0, RPAREN132_tree); } if ( state.backtracking==0 ) { retval.value = new StringScalarExpr((op!=null?op.getText():null), (e1!=null?e1.value:null)); @@ -6017,11 +5982,11 @@ public class wcpsParser extends Parser { } break; case 2 : - // src/grammar/wcps.g:239:7: e= STRING + // src/grammar/wcps.g:240:7: e= STRING { root_0 = (Object)adaptor.nil(); - e=(Token)match(input,STRING,FOLLOW_STRING_in_stringScalarExpr2483); if (state.failed) return retval; + e=(Token)match(input,STRING,FOLLOW_STRING_in_stringScalarExpr2481); if (state.failed) return retval; if ( state.backtracking==0 ) { e_tree = (Object)adaptor.create(e); adaptor.addChild(root_0, e_tree); @@ -6062,18 +6027,18 @@ public class wcpsParser extends Parser { }; // $ANTLR start "scaleExpr" - // src/grammar/wcps.g:241:1: scaleExpr returns [ScaleExpr value] : SCALE LPAREN e1= coverageExpr COMMA dil= dimensionIntervalList COMMA fil= fieldInterpolationList RPAREN ; + // src/grammar/wcps.g:242:1: scaleExpr returns [ScaleExpr value] : SCALE LPAREN e1= coverageExpr COMMA dil= dimensionIntervalList COMMA fil= fieldInterpolationList RPAREN ; public final wcpsParser.scaleExpr_return scaleExpr() throws RecognitionException { wcpsParser.scaleExpr_return retval = new wcpsParser.scaleExpr_return(); retval.start = input.LT(1); int scaleExpr_StartIndex = input.index(); Object root_0 = null; - Token SCALE135=null; - Token LPAREN136=null; - Token COMMA137=null; - Token COMMA138=null; - Token RPAREN139=null; + Token SCALE133=null; + Token LPAREN134=null; + Token COMMA135=null; + Token COMMA136=null; + Token RPAREN137=null; wcpsParser.coverageExpr_return e1 = null; wcpsParser.dimensionIntervalList_return dil = null; @@ -6081,61 +6046,61 @@ public class wcpsParser extends Parser { wcpsParser.fieldInterpolationList_return fil = null; - Object SCALE135_tree=null; - Object LPAREN136_tree=null; - Object COMMA137_tree=null; - Object COMMA138_tree=null; - Object RPAREN139_tree=null; + Object SCALE133_tree=null; + Object LPAREN134_tree=null; + Object COMMA135_tree=null; + Object COMMA136_tree=null; + Object RPAREN137_tree=null; try { if ( state.backtracking>0 && alreadyParsedRule(input, 46) ) { return retval; } - // src/grammar/wcps.g:242:2: ( SCALE LPAREN e1= coverageExpr COMMA dil= dimensionIntervalList COMMA fil= fieldInterpolationList RPAREN ) - // src/grammar/wcps.g:242:4: SCALE LPAREN e1= coverageExpr COMMA dil= dimensionIntervalList COMMA fil= fieldInterpolationList RPAREN + // src/grammar/wcps.g:243:2: ( SCALE LPAREN e1= coverageExpr COMMA dil= dimensionIntervalList COMMA fil= fieldInterpolationList RPAREN ) + // src/grammar/wcps.g:243:4: SCALE LPAREN e1= coverageExpr COMMA dil= dimensionIntervalList COMMA fil= fieldInterpolationList RPAREN { root_0 = (Object)adaptor.nil(); - SCALE135=(Token)match(input,SCALE,FOLLOW_SCALE_in_scaleExpr2501); if (state.failed) return retval; + SCALE133=(Token)match(input,SCALE,FOLLOW_SCALE_in_scaleExpr2499); if (state.failed) return retval; if ( state.backtracking==0 ) { - SCALE135_tree = (Object)adaptor.create(SCALE135); - adaptor.addChild(root_0, SCALE135_tree); + SCALE133_tree = (Object)adaptor.create(SCALE133); + adaptor.addChild(root_0, SCALE133_tree); } - LPAREN136=(Token)match(input,LPAREN,FOLLOW_LPAREN_in_scaleExpr2503); if (state.failed) return retval; + LPAREN134=(Token)match(input,LPAREN,FOLLOW_LPAREN_in_scaleExpr2501); if (state.failed) return retval; if ( state.backtracking==0 ) { - LPAREN136_tree = (Object)adaptor.create(LPAREN136); - adaptor.addChild(root_0, LPAREN136_tree); + LPAREN134_tree = (Object)adaptor.create(LPAREN134); + adaptor.addChild(root_0, LPAREN134_tree); } - pushFollow(FOLLOW_coverageExpr_in_scaleExpr2507); + pushFollow(FOLLOW_coverageExpr_in_scaleExpr2505); e1=coverageExpr(); state._fsp--; if (state.failed) return retval; if ( state.backtracking==0 ) adaptor.addChild(root_0, e1.getTree()); - COMMA137=(Token)match(input,COMMA,FOLLOW_COMMA_in_scaleExpr2509); if (state.failed) return retval; + COMMA135=(Token)match(input,COMMA,FOLLOW_COMMA_in_scaleExpr2507); if (state.failed) return retval; if ( state.backtracking==0 ) { - COMMA137_tree = (Object)adaptor.create(COMMA137); - adaptor.addChild(root_0, COMMA137_tree); + COMMA135_tree = (Object)adaptor.create(COMMA135); + adaptor.addChild(root_0, COMMA135_tree); } - pushFollow(FOLLOW_dimensionIntervalList_in_scaleExpr2513); + pushFollow(FOLLOW_dimensionIntervalList_in_scaleExpr2511); dil=dimensionIntervalList(); state._fsp--; if (state.failed) return retval; if ( state.backtracking==0 ) adaptor.addChild(root_0, dil.getTree()); - COMMA138=(Token)match(input,COMMA,FOLLOW_COMMA_in_scaleExpr2515); if (state.failed) return retval; + COMMA136=(Token)match(input,COMMA,FOLLOW_COMMA_in_scaleExpr2513); if (state.failed) return retval; if ( state.backtracking==0 ) { - COMMA138_tree = (Object)adaptor.create(COMMA138); - adaptor.addChild(root_0, COMMA138_tree); + COMMA136_tree = (Object)adaptor.create(COMMA136); + adaptor.addChild(root_0, COMMA136_tree); } - pushFollow(FOLLOW_fieldInterpolationList_in_scaleExpr2519); + pushFollow(FOLLOW_fieldInterpolationList_in_scaleExpr2517); fil=fieldInterpolationList(); state._fsp--; if (state.failed) return retval; if ( state.backtracking==0 ) adaptor.addChild(root_0, fil.getTree()); - RPAREN139=(Token)match(input,RPAREN,FOLLOW_RPAREN_in_scaleExpr2521); if (state.failed) return retval; + RPAREN137=(Token)match(input,RPAREN,FOLLOW_RPAREN_in_scaleExpr2519); if (state.failed) return retval; if ( state.backtracking==0 ) { - RPAREN139_tree = (Object)adaptor.create(RPAREN139); - adaptor.addChild(root_0, RPAREN139_tree); + RPAREN137_tree = (Object)adaptor.create(RPAREN137); + adaptor.addChild(root_0, RPAREN137_tree); } if ( state.backtracking==0 ) { retval.value = new ScaleExpr((e1!=null?e1.value:null), (dil!=null?dil.value:null), (fil!=null?fil.value:null)); @@ -6171,7 +6136,7 @@ public class wcpsParser extends Parser { }; // $ANTLR start "subsetExpr" - // src/grammar/wcps.g:245:1: subsetExpr returns [SubsetExpr value] : (e1= trimExpr | e2= sliceExpr | e3= extendExpr ); + // src/grammar/wcps.g:246:1: subsetExpr returns [SubsetExpr value] : (e1= trimExpr | e2= sliceExpr | e3= extendExpr ); public final wcpsParser.subsetExpr_return subsetExpr() throws RecognitionException { wcpsParser.subsetExpr_return retval = new wcpsParser.subsetExpr_return(); retval.start = input.LT(1); @@ -6188,16 +6153,16 @@ public class wcpsParser extends Parser { try { if ( state.backtracking>0 && alreadyParsedRule(input, 47) ) { return retval; } - // src/grammar/wcps.g:246:2: (e1= trimExpr | e2= sliceExpr | e3= extendExpr ) - int alt42=3; - alt42 = dfa42.predict(input); - switch (alt42) { + // src/grammar/wcps.g:247:2: (e1= trimExpr | e2= sliceExpr | e3= extendExpr ) + int alt41=3; + alt41 = dfa41.predict(input); + switch (alt41) { case 1 : - // src/grammar/wcps.g:246:4: e1= trimExpr + // src/grammar/wcps.g:247:4: e1= trimExpr { root_0 = (Object)adaptor.nil(); - pushFollow(FOLLOW_trimExpr_in_subsetExpr2540); + pushFollow(FOLLOW_trimExpr_in_subsetExpr2538); e1=trimExpr(); state._fsp--; @@ -6210,11 +6175,11 @@ public class wcpsParser extends Parser { } break; case 2 : - // src/grammar/wcps.g:247:4: e2= sliceExpr + // src/grammar/wcps.g:248:4: e2= sliceExpr { root_0 = (Object)adaptor.nil(); - pushFollow(FOLLOW_sliceExpr_in_subsetExpr2549); + pushFollow(FOLLOW_sliceExpr_in_subsetExpr2547); e2=sliceExpr(); state._fsp--; @@ -6227,11 +6192,11 @@ public class wcpsParser extends Parser { } break; case 3 : - // src/grammar/wcps.g:248:4: e3= extendExpr + // src/grammar/wcps.g:249:4: e3= extendExpr { root_0 = (Object)adaptor.nil(); - pushFollow(FOLLOW_extendExpr_in_subsetExpr2558); + pushFollow(FOLLOW_extendExpr_in_subsetExpr2556); e3=extendExpr(); state._fsp--; @@ -6273,21 +6238,21 @@ public class wcpsParser extends Parser { }; // $ANTLR start "trimExpr" - // src/grammar/wcps.g:250:1: trimExpr returns [TrimExpr value] : (e1= coverageAtom LBRACKET dil= dimensionIntervalList RBRACKET | TRIM LPAREN e2= coverageExpr COMMA LBRACE dil= dimensionIntervalList RBRACE RPAREN ); + // src/grammar/wcps.g:251:1: trimExpr returns [TrimExpr value] : (e1= coverageAtom LBRACKET dil= dimensionIntervalList RBRACKET | TRIM LPAREN e2= coverageExpr COMMA LBRACE dil= dimensionIntervalList RBRACE RPAREN ); public final wcpsParser.trimExpr_return trimExpr() throws RecognitionException { wcpsParser.trimExpr_return retval = new wcpsParser.trimExpr_return(); retval.start = input.LT(1); int trimExpr_StartIndex = input.index(); Object root_0 = null; - Token LBRACKET140=null; - Token RBRACKET141=null; - Token TRIM142=null; - Token LPAREN143=null; - Token COMMA144=null; - Token LBRACE145=null; - Token RBRACE146=null; - Token RPAREN147=null; + Token LBRACKET138=null; + Token RBRACKET139=null; + Token TRIM140=null; + Token LPAREN141=null; + Token COMMA142=null; + Token LBRACE143=null; + Token RBRACE144=null; + Token RPAREN145=null; wcpsParser.coverageAtom_return e1 = null; wcpsParser.dimensionIntervalList_return dil = null; @@ -6295,47 +6260,47 @@ public class wcpsParser extends Parser { wcpsParser.coverageExpr_return e2 = null; - Object LBRACKET140_tree=null; - Object RBRACKET141_tree=null; - Object TRIM142_tree=null; - Object LPAREN143_tree=null; - Object COMMA144_tree=null; - Object LBRACE145_tree=null; - Object RBRACE146_tree=null; - Object RPAREN147_tree=null; + Object LBRACKET138_tree=null; + Object RBRACKET139_tree=null; + Object TRIM140_tree=null; + Object LPAREN141_tree=null; + Object COMMA142_tree=null; + Object LBRACE143_tree=null; + Object RBRACE144_tree=null; + Object RPAREN145_tree=null; try { if ( state.backtracking>0 && alreadyParsedRule(input, 48) ) { return retval; } - // src/grammar/wcps.g:251:2: (e1= coverageAtom LBRACKET dil= dimensionIntervalList RBRACKET | TRIM LPAREN e2= coverageExpr COMMA LBRACE dil= dimensionIntervalList RBRACE RPAREN ) - int alt43=2; - alt43 = dfa43.predict(input); - switch (alt43) { + // src/grammar/wcps.g:252:2: (e1= coverageAtom LBRACKET dil= dimensionIntervalList RBRACKET | TRIM LPAREN e2= coverageExpr COMMA LBRACE dil= dimensionIntervalList RBRACE RPAREN ) + int alt42=2; + alt42 = dfa42.predict(input); + switch (alt42) { case 1 : - // src/grammar/wcps.g:251:4: e1= coverageAtom LBRACKET dil= dimensionIntervalList RBRACKET + // src/grammar/wcps.g:252:4: e1= coverageAtom LBRACKET dil= dimensionIntervalList RBRACKET { root_0 = (Object)adaptor.nil(); - pushFollow(FOLLOW_coverageAtom_in_trimExpr2575); + pushFollow(FOLLOW_coverageAtom_in_trimExpr2573); e1=coverageAtom(); state._fsp--; if (state.failed) return retval; if ( state.backtracking==0 ) adaptor.addChild(root_0, e1.getTree()); - LBRACKET140=(Token)match(input,LBRACKET,FOLLOW_LBRACKET_in_trimExpr2577); if (state.failed) return retval; + LBRACKET138=(Token)match(input,LBRACKET,FOLLOW_LBRACKET_in_trimExpr2575); if (state.failed) return retval; if ( state.backtracking==0 ) { - LBRACKET140_tree = (Object)adaptor.create(LBRACKET140); - adaptor.addChild(root_0, LBRACKET140_tree); + LBRACKET138_tree = (Object)adaptor.create(LBRACKET138); + adaptor.addChild(root_0, LBRACKET138_tree); } - pushFollow(FOLLOW_dimensionIntervalList_in_trimExpr2581); + pushFollow(FOLLOW_dimensionIntervalList_in_trimExpr2579); dil=dimensionIntervalList(); state._fsp--; if (state.failed) return retval; if ( state.backtracking==0 ) adaptor.addChild(root_0, dil.getTree()); - RBRACKET141=(Token)match(input,RBRACKET,FOLLOW_RBRACKET_in_trimExpr2583); if (state.failed) return retval; + RBRACKET139=(Token)match(input,RBRACKET,FOLLOW_RBRACKET_in_trimExpr2581); if (state.failed) return retval; if ( state.backtracking==0 ) { - RBRACKET141_tree = (Object)adaptor.create(RBRACKET141); - adaptor.addChild(root_0, RBRACKET141_tree); + RBRACKET139_tree = (Object)adaptor.create(RBRACKET139); + adaptor.addChild(root_0, RBRACKET139_tree); } if ( state.backtracking==0 ) { retval.value = new TrimExpr((e1!=null?e1.value:null), (dil!=null?dil.value:null)); @@ -6344,51 +6309,51 @@ public class wcpsParser extends Parser { } break; case 2 : - // src/grammar/wcps.g:252:6: TRIM LPAREN e2= coverageExpr COMMA LBRACE dil= dimensionIntervalList RBRACE RPAREN + // src/grammar/wcps.g:253:6: TRIM LPAREN e2= coverageExpr COMMA LBRACE dil= dimensionIntervalList RBRACE RPAREN { root_0 = (Object)adaptor.nil(); - TRIM142=(Token)match(input,TRIM,FOLLOW_TRIM_in_trimExpr2592); if (state.failed) return retval; + TRIM140=(Token)match(input,TRIM,FOLLOW_TRIM_in_trimExpr2590); if (state.failed) return retval; if ( state.backtracking==0 ) { - TRIM142_tree = (Object)adaptor.create(TRIM142); - adaptor.addChild(root_0, TRIM142_tree); + TRIM140_tree = (Object)adaptor.create(TRIM140); + adaptor.addChild(root_0, TRIM140_tree); } - LPAREN143=(Token)match(input,LPAREN,FOLLOW_LPAREN_in_trimExpr2594); if (state.failed) return retval; + LPAREN141=(Token)match(input,LPAREN,FOLLOW_LPAREN_in_trimExpr2592); if (state.failed) return retval; if ( state.backtracking==0 ) { - LPAREN143_tree = (Object)adaptor.create(LPAREN143); - adaptor.addChild(root_0, LPAREN143_tree); + LPAREN141_tree = (Object)adaptor.create(LPAREN141); + adaptor.addChild(root_0, LPAREN141_tree); } - pushFollow(FOLLOW_coverageExpr_in_trimExpr2598); + pushFollow(FOLLOW_coverageExpr_in_trimExpr2596); e2=coverageExpr(); state._fsp--; if (state.failed) return retval; if ( state.backtracking==0 ) adaptor.addChild(root_0, e2.getTree()); - COMMA144=(Token)match(input,COMMA,FOLLOW_COMMA_in_trimExpr2600); if (state.failed) return retval; + COMMA142=(Token)match(input,COMMA,FOLLOW_COMMA_in_trimExpr2598); if (state.failed) return retval; if ( state.backtracking==0 ) { - COMMA144_tree = (Object)adaptor.create(COMMA144); - adaptor.addChild(root_0, COMMA144_tree); + COMMA142_tree = (Object)adaptor.create(COMMA142); + adaptor.addChild(root_0, COMMA142_tree); } - LBRACE145=(Token)match(input,LBRACE,FOLLOW_LBRACE_in_trimExpr2602); if (state.failed) return retval; + LBRACE143=(Token)match(input,LBRACE,FOLLOW_LBRACE_in_trimExpr2600); if (state.failed) return retval; if ( state.backtracking==0 ) { - LBRACE145_tree = (Object)adaptor.create(LBRACE145); - adaptor.addChild(root_0, LBRACE145_tree); + LBRACE143_tree = (Object)adaptor.create(LBRACE143); + adaptor.addChild(root_0, LBRACE143_tree); } - pushFollow(FOLLOW_dimensionIntervalList_in_trimExpr2606); + pushFollow(FOLLOW_dimensionIntervalList_in_trimExpr2604); dil=dimensionIntervalList(); state._fsp--; if (state.failed) return retval; if ( state.backtracking==0 ) adaptor.addChild(root_0, dil.getTree()); - RBRACE146=(Token)match(input,RBRACE,FOLLOW_RBRACE_in_trimExpr2608); if (state.failed) return retval; + RBRACE144=(Token)match(input,RBRACE,FOLLOW_RBRACE_in_trimExpr2606); if (state.failed) return retval; if ( state.backtracking==0 ) { - RBRACE146_tree = (Object)adaptor.create(RBRACE146); - adaptor.addChild(root_0, RBRACE146_tree); + RBRACE144_tree = (Object)adaptor.create(RBRACE144); + adaptor.addChild(root_0, RBRACE144_tree); } - RPAREN147=(Token)match(input,RPAREN,FOLLOW_RPAREN_in_trimExpr2610); if (state.failed) return retval; + RPAREN145=(Token)match(input,RPAREN,FOLLOW_RPAREN_in_trimExpr2608); if (state.failed) return retval; if ( state.backtracking==0 ) { - RPAREN147_tree = (Object)adaptor.create(RPAREN147); - adaptor.addChild(root_0, RPAREN147_tree); + RPAREN145_tree = (Object)adaptor.create(RPAREN145); + adaptor.addChild(root_0, RPAREN145_tree); } if ( state.backtracking==0 ) { retval.value = new TrimExpr((e2!=null?e2.value:null), (dil!=null?dil.value:null)); @@ -6426,21 +6391,21 @@ public class wcpsParser extends Parser { }; // $ANTLR start "sliceExpr" - // src/grammar/wcps.g:254:1: sliceExpr returns [SliceExpr value] : (e1= coverageAtom LBRACKET dpl= dimensionPointList RBRACKET | SLICE LPAREN e2= coverageExpr COMMA LBRACE dpl= dimensionPointList RBRACE RPAREN ); + // src/grammar/wcps.g:255:1: sliceExpr returns [SliceExpr value] : (e1= coverageAtom LBRACKET dpl= dimensionPointList RBRACKET | SLICE LPAREN e2= coverageExpr COMMA LBRACE dpl= dimensionPointList RBRACE RPAREN ); public final wcpsParser.sliceExpr_return sliceExpr() throws RecognitionException { wcpsParser.sliceExpr_return retval = new wcpsParser.sliceExpr_return(); retval.start = input.LT(1); int sliceExpr_StartIndex = input.index(); Object root_0 = null; - Token LBRACKET148=null; - Token RBRACKET149=null; - Token SLICE150=null; - Token LPAREN151=null; - Token COMMA152=null; - Token LBRACE153=null; - Token RBRACE154=null; - Token RPAREN155=null; + Token LBRACKET146=null; + Token RBRACKET147=null; + Token SLICE148=null; + Token LPAREN149=null; + Token COMMA150=null; + Token LBRACE151=null; + Token RBRACE152=null; + Token RPAREN153=null; wcpsParser.coverageAtom_return e1 = null; wcpsParser.dimensionPointList_return dpl = null; @@ -6448,47 +6413,47 @@ public class wcpsParser extends Parser { wcpsParser.coverageExpr_return e2 = null; - Object LBRACKET148_tree=null; - Object RBRACKET149_tree=null; - Object SLICE150_tree=null; - Object LPAREN151_tree=null; - Object COMMA152_tree=null; - Object LBRACE153_tree=null; - Object RBRACE154_tree=null; - Object RPAREN155_tree=null; + Object LBRACKET146_tree=null; + Object RBRACKET147_tree=null; + Object SLICE148_tree=null; + Object LPAREN149_tree=null; + Object COMMA150_tree=null; + Object LBRACE151_tree=null; + Object RBRACE152_tree=null; + Object RPAREN153_tree=null; try { if ( state.backtracking>0 && alreadyParsedRule(input, 49) ) { return retval; } - // src/grammar/wcps.g:255:2: (e1= coverageAtom LBRACKET dpl= dimensionPointList RBRACKET | SLICE LPAREN e2= coverageExpr COMMA LBRACE dpl= dimensionPointList RBRACE RPAREN ) - int alt44=2; - alt44 = dfa44.predict(input); - switch (alt44) { + // src/grammar/wcps.g:256:2: (e1= coverageAtom LBRACKET dpl= dimensionPointList RBRACKET | SLICE LPAREN e2= coverageExpr COMMA LBRACE dpl= dimensionPointList RBRACE RPAREN ) + int alt43=2; + alt43 = dfa43.predict(input); + switch (alt43) { case 1 : - // src/grammar/wcps.g:255:4: e1= coverageAtom LBRACKET dpl= dimensionPointList RBRACKET + // src/grammar/wcps.g:256:4: e1= coverageAtom LBRACKET dpl= dimensionPointList RBRACKET { root_0 = (Object)adaptor.nil(); - pushFollow(FOLLOW_coverageAtom_in_sliceExpr2627); + pushFollow(FOLLOW_coverageAtom_in_sliceExpr2625); e1=coverageAtom(); state._fsp--; if (state.failed) return retval; if ( state.backtracking==0 ) adaptor.addChild(root_0, e1.getTree()); - LBRACKET148=(Token)match(input,LBRACKET,FOLLOW_LBRACKET_in_sliceExpr2629); if (state.failed) return retval; + LBRACKET146=(Token)match(input,LBRACKET,FOLLOW_LBRACKET_in_sliceExpr2627); if (state.failed) return retval; if ( state.backtracking==0 ) { - LBRACKET148_tree = (Object)adaptor.create(LBRACKET148); - adaptor.addChild(root_0, LBRACKET148_tree); + LBRACKET146_tree = (Object)adaptor.create(LBRACKET146); + adaptor.addChild(root_0, LBRACKET146_tree); } - pushFollow(FOLLOW_dimensionPointList_in_sliceExpr2633); + pushFollow(FOLLOW_dimensionPointList_in_sliceExpr2631); dpl=dimensionPointList(); state._fsp--; if (state.failed) return retval; if ( state.backtracking==0 ) adaptor.addChild(root_0, dpl.getTree()); - RBRACKET149=(Token)match(input,RBRACKET,FOLLOW_RBRACKET_in_sliceExpr2635); if (state.failed) return retval; + RBRACKET147=(Token)match(input,RBRACKET,FOLLOW_RBRACKET_in_sliceExpr2633); if (state.failed) return retval; if ( state.backtracking==0 ) { - RBRACKET149_tree = (Object)adaptor.create(RBRACKET149); - adaptor.addChild(root_0, RBRACKET149_tree); + RBRACKET147_tree = (Object)adaptor.create(RBRACKET147); + adaptor.addChild(root_0, RBRACKET147_tree); } if ( state.backtracking==0 ) { retval.value = new SliceExpr((e1!=null?e1.value:null), (dpl!=null?dpl.value:null)); @@ -6497,51 +6462,51 @@ public class wcpsParser extends Parser { } break; case 2 : - // src/grammar/wcps.g:256:4: SLICE LPAREN e2= coverageExpr COMMA LBRACE dpl= dimensionPointList RBRACE RPAREN + // src/grammar/wcps.g:257:4: SLICE LPAREN e2= coverageExpr COMMA LBRACE dpl= dimensionPointList RBRACE RPAREN { root_0 = (Object)adaptor.nil(); - SLICE150=(Token)match(input,SLICE,FOLLOW_SLICE_in_sliceExpr2642); if (state.failed) return retval; + SLICE148=(Token)match(input,SLICE,FOLLOW_SLICE_in_sliceExpr2640); if (state.failed) return retval; if ( state.backtracking==0 ) { - SLICE150_tree = (Object)adaptor.create(SLICE150); - adaptor.addChild(root_0, SLICE150_tree); + SLICE148_tree = (Object)adaptor.create(SLICE148); + adaptor.addChild(root_0, SLICE148_tree); } - LPAREN151=(Token)match(input,LPAREN,FOLLOW_LPAREN_in_sliceExpr2644); if (state.failed) return retval; + LPAREN149=(Token)match(input,LPAREN,FOLLOW_LPAREN_in_sliceExpr2642); if (state.failed) return retval; if ( state.backtracking==0 ) { - LPAREN151_tree = (Object)adaptor.create(LPAREN151); - adaptor.addChild(root_0, LPAREN151_tree); + LPAREN149_tree = (Object)adaptor.create(LPAREN149); + adaptor.addChild(root_0, LPAREN149_tree); } - pushFollow(FOLLOW_coverageExpr_in_sliceExpr2648); + pushFollow(FOLLOW_coverageExpr_in_sliceExpr2646); e2=coverageExpr(); state._fsp--; if (state.failed) return retval; if ( state.backtracking==0 ) adaptor.addChild(root_0, e2.getTree()); - COMMA152=(Token)match(input,COMMA,FOLLOW_COMMA_in_sliceExpr2650); if (state.failed) return retval; + COMMA150=(Token)match(input,COMMA,FOLLOW_COMMA_in_sliceExpr2648); if (state.failed) return retval; if ( state.backtracking==0 ) { - COMMA152_tree = (Object)adaptor.create(COMMA152); - adaptor.addChild(root_0, COMMA152_tree); + COMMA150_tree = (Object)adaptor.create(COMMA150); + adaptor.addChild(root_0, COMMA150_tree); } - LBRACE153=(Token)match(input,LBRACE,FOLLOW_LBRACE_in_sliceExpr2652); if (state.failed) return retval; + LBRACE151=(Token)match(input,LBRACE,FOLLOW_LBRACE_in_sliceExpr2650); if (state.failed) return retval; if ( state.backtracking==0 ) { - LBRACE153_tree = (Object)adaptor.create(LBRACE153); - adaptor.addChild(root_0, LBRACE153_tree); + LBRACE151_tree = (Object)adaptor.create(LBRACE151); + adaptor.addChild(root_0, LBRACE151_tree); } - pushFollow(FOLLOW_dimensionPointList_in_sliceExpr2656); + pushFollow(FOLLOW_dimensionPointList_in_sliceExpr2654); dpl=dimensionPointList(); state._fsp--; if (state.failed) return retval; if ( state.backtracking==0 ) adaptor.addChild(root_0, dpl.getTree()); - RBRACE154=(Token)match(input,RBRACE,FOLLOW_RBRACE_in_sliceExpr2658); if (state.failed) return retval; + RBRACE152=(Token)match(input,RBRACE,FOLLOW_RBRACE_in_sliceExpr2656); if (state.failed) return retval; if ( state.backtracking==0 ) { - RBRACE154_tree = (Object)adaptor.create(RBRACE154); - adaptor.addChild(root_0, RBRACE154_tree); + RBRACE152_tree = (Object)adaptor.create(RBRACE152); + adaptor.addChild(root_0, RBRACE152_tree); } - RPAREN155=(Token)match(input,RPAREN,FOLLOW_RPAREN_in_sliceExpr2660); if (state.failed) return retval; + RPAREN153=(Token)match(input,RPAREN,FOLLOW_RPAREN_in_sliceExpr2658); if (state.failed) return retval; if ( state.backtracking==0 ) { - RPAREN155_tree = (Object)adaptor.create(RPAREN155); - adaptor.addChild(root_0, RPAREN155_tree); + RPAREN153_tree = (Object)adaptor.create(RPAREN153); + adaptor.addChild(root_0, RPAREN153_tree); } if ( state.backtracking==0 ) { retval.value = new SliceExpr((e2!=null?e2.value:null), (dpl!=null?dpl.value:null)); @@ -6579,65 +6544,65 @@ public class wcpsParser extends Parser { }; // $ANTLR start "extendExpr" - // src/grammar/wcps.g:258:1: extendExpr returns [ExtendExpr value] : EXTEND LPAREN e1= coverageExpr COMMA dil= dimensionIntervalList RPAREN ; + // src/grammar/wcps.g:259:1: extendExpr returns [ExtendExpr value] : EXTEND LPAREN e1= coverageExpr COMMA dil= dimensionIntervalList RPAREN ; public final wcpsParser.extendExpr_return extendExpr() throws RecognitionException { wcpsParser.extendExpr_return retval = new wcpsParser.extendExpr_return(); retval.start = input.LT(1); int extendExpr_StartIndex = input.index(); Object root_0 = null; - Token EXTEND156=null; - Token LPAREN157=null; - Token COMMA158=null; - Token RPAREN159=null; + Token EXTEND154=null; + Token LPAREN155=null; + Token COMMA156=null; + Token RPAREN157=null; wcpsParser.coverageExpr_return e1 = null; wcpsParser.dimensionIntervalList_return dil = null; - Object EXTEND156_tree=null; - Object LPAREN157_tree=null; - Object COMMA158_tree=null; - Object RPAREN159_tree=null; + Object EXTEND154_tree=null; + Object LPAREN155_tree=null; + Object COMMA156_tree=null; + Object RPAREN157_tree=null; try { if ( state.backtracking>0 && alreadyParsedRule(input, 50) ) { return retval; } - // src/grammar/wcps.g:259:2: ( EXTEND LPAREN e1= coverageExpr COMMA dil= dimensionIntervalList RPAREN ) - // src/grammar/wcps.g:259:4: EXTEND LPAREN e1= coverageExpr COMMA dil= dimensionIntervalList RPAREN + // src/grammar/wcps.g:260:2: ( EXTEND LPAREN e1= coverageExpr COMMA dil= dimensionIntervalList RPAREN ) + // src/grammar/wcps.g:260:4: EXTEND LPAREN e1= coverageExpr COMMA dil= dimensionIntervalList RPAREN { root_0 = (Object)adaptor.nil(); - EXTEND156=(Token)match(input,EXTEND,FOLLOW_EXTEND_in_extendExpr2675); if (state.failed) return retval; + EXTEND154=(Token)match(input,EXTEND,FOLLOW_EXTEND_in_extendExpr2673); if (state.failed) return retval; if ( state.backtracking==0 ) { - EXTEND156_tree = (Object)adaptor.create(EXTEND156); - adaptor.addChild(root_0, EXTEND156_tree); + EXTEND154_tree = (Object)adaptor.create(EXTEND154); + adaptor.addChild(root_0, EXTEND154_tree); } - LPAREN157=(Token)match(input,LPAREN,FOLLOW_LPAREN_in_extendExpr2677); if (state.failed) return retval; + LPAREN155=(Token)match(input,LPAREN,FOLLOW_LPAREN_in_extendExpr2675); if (state.failed) return retval; if ( state.backtracking==0 ) { - LPAREN157_tree = (Object)adaptor.create(LPAREN157); - adaptor.addChild(root_0, LPAREN157_tree); + LPAREN155_tree = (Object)adaptor.create(LPAREN155); + adaptor.addChild(root_0, LPAREN155_tree); } - pushFollow(FOLLOW_coverageExpr_in_extendExpr2681); + pushFollow(FOLLOW_coverageExpr_in_extendExpr2679); e1=coverageExpr(); state._fsp--; if (state.failed) return retval; if ( state.backtracking==0 ) adaptor.addChild(root_0, e1.getTree()); - COMMA158=(Token)match(input,COMMA,FOLLOW_COMMA_in_extendExpr2683); if (state.failed) return retval; + COMMA156=(Token)match(input,COMMA,FOLLOW_COMMA_in_extendExpr2681); if (state.failed) return retval; if ( state.backtracking==0 ) { - COMMA158_tree = (Object)adaptor.create(COMMA158); - adaptor.addChild(root_0, COMMA158_tree); + COMMA156_tree = (Object)adaptor.create(COMMA156); + adaptor.addChild(root_0, COMMA156_tree); } - pushFollow(FOLLOW_dimensionIntervalList_in_extendExpr2687); + pushFollow(FOLLOW_dimensionIntervalList_in_extendExpr2685); dil=dimensionIntervalList(); state._fsp--; if (state.failed) return retval; if ( state.backtracking==0 ) adaptor.addChild(root_0, dil.getTree()); - RPAREN159=(Token)match(input,RPAREN,FOLLOW_RPAREN_in_extendExpr2689); if (state.failed) return retval; + RPAREN157=(Token)match(input,RPAREN,FOLLOW_RPAREN_in_extendExpr2687); if (state.failed) return retval; if ( state.backtracking==0 ) { - RPAREN159_tree = (Object)adaptor.create(RPAREN159); - adaptor.addChild(root_0, RPAREN159_tree); + RPAREN157_tree = (Object)adaptor.create(RPAREN157); + adaptor.addChild(root_0, RPAREN157_tree); } if ( state.backtracking==0 ) { retval.value = new ExtendExpr((e1!=null?e1.value:null), (dil!=null?dil.value:null)); @@ -6673,47 +6638,47 @@ public class wcpsParser extends Parser { }; // $ANTLR start "castExpr" - // src/grammar/wcps.g:261:1: castExpr returns [CastExpr value] : LPAREN e1= rangeType RPAREN e2= coverageExpr ; + // src/grammar/wcps.g:262:1: castExpr returns [CastExpr value] : LPAREN e1= rangeType RPAREN e2= coverageExpr ; public final wcpsParser.castExpr_return castExpr() throws RecognitionException { wcpsParser.castExpr_return retval = new wcpsParser.castExpr_return(); retval.start = input.LT(1); int castExpr_StartIndex = input.index(); Object root_0 = null; - Token LPAREN160=null; - Token RPAREN161=null; + Token LPAREN158=null; + Token RPAREN159=null; wcpsParser.rangeType_return e1 = null; wcpsParser.coverageExpr_return e2 = null; - Object LPAREN160_tree=null; - Object RPAREN161_tree=null; + Object LPAREN158_tree=null; + Object RPAREN159_tree=null; try { if ( state.backtracking>0 && alreadyParsedRule(input, 51) ) { return retval; } - // src/grammar/wcps.g:262:5: ( LPAREN e1= rangeType RPAREN e2= coverageExpr ) - // src/grammar/wcps.g:262:7: LPAREN e1= rangeType RPAREN e2= coverageExpr + // src/grammar/wcps.g:263:5: ( LPAREN e1= rangeType RPAREN e2= coverageExpr ) + // src/grammar/wcps.g:263:7: LPAREN e1= rangeType RPAREN e2= coverageExpr { root_0 = (Object)adaptor.nil(); - LPAREN160=(Token)match(input,LPAREN,FOLLOW_LPAREN_in_castExpr2707); if (state.failed) return retval; + LPAREN158=(Token)match(input,LPAREN,FOLLOW_LPAREN_in_castExpr2705); if (state.failed) return retval; if ( state.backtracking==0 ) { - LPAREN160_tree = (Object)adaptor.create(LPAREN160); - adaptor.addChild(root_0, LPAREN160_tree); + LPAREN158_tree = (Object)adaptor.create(LPAREN158); + adaptor.addChild(root_0, LPAREN158_tree); } - pushFollow(FOLLOW_rangeType_in_castExpr2711); + pushFollow(FOLLOW_rangeType_in_castExpr2709); e1=rangeType(); state._fsp--; if (state.failed) return retval; if ( state.backtracking==0 ) adaptor.addChild(root_0, e1.getTree()); - RPAREN161=(Token)match(input,RPAREN,FOLLOW_RPAREN_in_castExpr2713); if (state.failed) return retval; + RPAREN159=(Token)match(input,RPAREN,FOLLOW_RPAREN_in_castExpr2711); if (state.failed) return retval; if ( state.backtracking==0 ) { - RPAREN161_tree = (Object)adaptor.create(RPAREN161); - adaptor.addChild(root_0, RPAREN161_tree); + RPAREN159_tree = (Object)adaptor.create(RPAREN159); + adaptor.addChild(root_0, RPAREN159_tree); } - pushFollow(FOLLOW_coverageExpr_in_castExpr2717); + pushFollow(FOLLOW_coverageExpr_in_castExpr2715); e2=coverageExpr(); state._fsp--; @@ -6753,7 +6718,7 @@ public class wcpsParser extends Parser { }; // $ANTLR start "rangeType" - // src/grammar/wcps.g:264:1: rangeType returns [String value] : (type= ( BOOLEAN | CHAR | SHORT | LONG | FLOAT | DOUBLE | COMPLEX | COMPLEX2 ) | UNSIGNED type= ( CHAR | SHORT | LONG ) ); + // src/grammar/wcps.g:265:1: rangeType returns [String value] : (type= ( BOOLEAN | CHAR | SHORT | LONG | FLOAT | DOUBLE | COMPLEX | COMPLEX2 ) | UNSIGNED type= ( CHAR | SHORT | LONG ) ); public final wcpsParser.rangeType_return rangeType() throws RecognitionException { wcpsParser.rangeType_return retval = new wcpsParser.rangeType_return(); retval.start = input.LT(1); @@ -6761,33 +6726,33 @@ public class wcpsParser extends Parser { Object root_0 = null; Token type=null; - Token UNSIGNED162=null; + Token UNSIGNED160=null; Object type_tree=null; - Object UNSIGNED162_tree=null; + Object UNSIGNED160_tree=null; try { if ( state.backtracking>0 && alreadyParsedRule(input, 52) ) { return retval; } - // src/grammar/wcps.g:265:5: (type= ( BOOLEAN | CHAR | SHORT | LONG | FLOAT | DOUBLE | COMPLEX | COMPLEX2 ) | UNSIGNED type= ( CHAR | SHORT | LONG ) ) - int alt45=2; - int LA45_0 = input.LA(1); + // src/grammar/wcps.g:266:5: (type= ( BOOLEAN | CHAR | SHORT | LONG | FLOAT | DOUBLE | COMPLEX | COMPLEX2 ) | UNSIGNED type= ( CHAR | SHORT | LONG ) ) + int alt44=2; + int LA44_0 = input.LA(1); - if ( ((LA45_0>=BOOLEAN && LA45_0<=COMPLEX2)) ) { - alt45=1; + if ( ((LA44_0>=BOOLEAN && LA44_0<=COMPLEX2)) ) { + alt44=1; } - else if ( (LA45_0==UNSIGNED) ) { - alt45=2; + else if ( (LA44_0==UNSIGNED) ) { + alt44=2; } else { if (state.backtracking>0) {state.failed=true; return retval;} NoViableAltException nvae = - new NoViableAltException("", 45, 0, input); + new NoViableAltException("", 44, 0, input); throw nvae; } - switch (alt45) { + switch (alt44) { case 1 : - // src/grammar/wcps.g:265:7: type= ( BOOLEAN | CHAR | SHORT | LONG | FLOAT | DOUBLE | COMPLEX | COMPLEX2 ) + // src/grammar/wcps.g:266:7: type= ( BOOLEAN | CHAR | SHORT | LONG | FLOAT | DOUBLE | COMPLEX | COMPLEX2 ) { root_0 = (Object)adaptor.nil(); @@ -6810,14 +6775,14 @@ public class wcpsParser extends Parser { } break; case 2 : - // src/grammar/wcps.g:266:7: UNSIGNED type= ( CHAR | SHORT | LONG ) + // src/grammar/wcps.g:267:7: UNSIGNED type= ( CHAR | SHORT | LONG ) { root_0 = (Object)adaptor.nil(); - UNSIGNED162=(Token)match(input,UNSIGNED,FOLLOW_UNSIGNED_in_rangeType2766); if (state.failed) return retval; + UNSIGNED160=(Token)match(input,UNSIGNED,FOLLOW_UNSIGNED_in_rangeType2764); if (state.failed) return retval; if ( state.backtracking==0 ) { - UNSIGNED162_tree = (Object)adaptor.create(UNSIGNED162); - adaptor.addChild(root_0, UNSIGNED162_tree); + UNSIGNED160_tree = (Object)adaptor.create(UNSIGNED160); + adaptor.addChild(root_0, UNSIGNED160_tree); } type=(Token)input.LT(1); if ( (input.LA(1)>=CHAR && input.LA(1)<=LONG) ) { @@ -6867,40 +6832,40 @@ public class wcpsParser extends Parser { }; // $ANTLR start "fieldExpr" - // src/grammar/wcps.g:268:1: fieldExpr returns [SelectExpr value] : e1= coverageAtom DOT e2= fieldName ; + // src/grammar/wcps.g:269:1: fieldExpr returns [SelectExpr value] : e1= coverageAtom DOT e2= fieldName ; public final wcpsParser.fieldExpr_return fieldExpr() throws RecognitionException { wcpsParser.fieldExpr_return retval = new wcpsParser.fieldExpr_return(); retval.start = input.LT(1); int fieldExpr_StartIndex = input.index(); Object root_0 = null; - Token DOT163=null; + Token DOT161=null; wcpsParser.coverageAtom_return e1 = null; wcpsParser.fieldName_return e2 = null; - Object DOT163_tree=null; + Object DOT161_tree=null; try { if ( state.backtracking>0 && alreadyParsedRule(input, 53) ) { return retval; } - // src/grammar/wcps.g:269:5: (e1= coverageAtom DOT e2= fieldName ) - // src/grammar/wcps.g:269:7: e1= coverageAtom DOT e2= fieldName + // src/grammar/wcps.g:270:5: (e1= coverageAtom DOT e2= fieldName ) + // src/grammar/wcps.g:270:7: e1= coverageAtom DOT e2= fieldName { root_0 = (Object)adaptor.nil(); - pushFollow(FOLLOW_coverageAtom_in_fieldExpr2799); + pushFollow(FOLLOW_coverageAtom_in_fieldExpr2797); e1=coverageAtom(); state._fsp--; if (state.failed) return retval; if ( state.backtracking==0 ) adaptor.addChild(root_0, e1.getTree()); - DOT163=(Token)match(input,DOT,FOLLOW_DOT_in_fieldExpr2801); if (state.failed) return retval; + DOT161=(Token)match(input,DOT,FOLLOW_DOT_in_fieldExpr2799); if (state.failed) return retval; if ( state.backtracking==0 ) { - DOT163_tree = (Object)adaptor.create(DOT163); - adaptor.addChild(root_0, DOT163_tree); + DOT161_tree = (Object)adaptor.create(DOT161); + adaptor.addChild(root_0, DOT161_tree); } - pushFollow(FOLLOW_fieldName_in_fieldExpr2805); + pushFollow(FOLLOW_fieldName_in_fieldExpr2803); e2=fieldName(); state._fsp--; @@ -6940,7 +6905,7 @@ public class wcpsParser extends Parser { }; // $ANTLR start "booleanScalarExpr" - // src/grammar/wcps.g:273:1: booleanScalarExpr returns [BooleanScalarExpr value] : e1= booleanScalarTerm (op= ( OR | XOR ) e2= booleanScalarTerm )* ; + // src/grammar/wcps.g:274:1: booleanScalarExpr returns [BooleanScalarExpr value] : e1= booleanScalarTerm (op= ( OR | XOR ) e2= booleanScalarTerm )* ; public final wcpsParser.booleanScalarExpr_return booleanScalarExpr() throws RecognitionException { wcpsParser.booleanScalarExpr_return retval = new wcpsParser.booleanScalarExpr_return(); retval.start = input.LT(1); @@ -6957,12 +6922,12 @@ public class wcpsParser extends Parser { try { if ( state.backtracking>0 && alreadyParsedRule(input, 54) ) { return retval; } - // src/grammar/wcps.g:274:5: (e1= booleanScalarTerm (op= ( OR | XOR ) e2= booleanScalarTerm )* ) - // src/grammar/wcps.g:274:7: e1= booleanScalarTerm (op= ( OR | XOR ) e2= booleanScalarTerm )* + // src/grammar/wcps.g:275:5: (e1= booleanScalarTerm (op= ( OR | XOR ) e2= booleanScalarTerm )* ) + // src/grammar/wcps.g:275:7: e1= booleanScalarTerm (op= ( OR | XOR ) e2= booleanScalarTerm )* { root_0 = (Object)adaptor.nil(); - pushFollow(FOLLOW_booleanScalarTerm_in_booleanScalarExpr2830); + pushFollow(FOLLOW_booleanScalarTerm_in_booleanScalarExpr2828); e1=booleanScalarTerm(); state._fsp--; @@ -6971,14 +6936,14 @@ public class wcpsParser extends Parser { if ( state.backtracking==0 ) { retval.value = (e1!=null?e1.value:null); } - // src/grammar/wcps.g:275:7: (op= ( OR | XOR ) e2= booleanScalarTerm )* - loop46: + // src/grammar/wcps.g:276:7: (op= ( OR | XOR ) e2= booleanScalarTerm )* + loop45: do { - int alt46=2; - alt46 = dfa46.predict(input); - switch (alt46) { + int alt45=2; + alt45 = dfa45.predict(input); + switch (alt45) { case 1 : - // src/grammar/wcps.g:275:8: op= ( OR | XOR ) e2= booleanScalarTerm + // src/grammar/wcps.g:276:8: op= ( OR | XOR ) e2= booleanScalarTerm { op=(Token)input.LT(1); if ( (input.LA(1)>=OR && input.LA(1)<=XOR) ) { @@ -6992,7 +6957,7 @@ public class wcpsParser extends Parser { throw mse; } - pushFollow(FOLLOW_booleanScalarTerm_in_booleanScalarExpr2851); + pushFollow(FOLLOW_booleanScalarTerm_in_booleanScalarExpr2849); e2=booleanScalarTerm(); state._fsp--; @@ -7006,7 +6971,7 @@ public class wcpsParser extends Parser { break; default : - break loop46; + break loop45; } } while (true); @@ -7041,7 +7006,7 @@ public class wcpsParser extends Parser { }; // $ANTLR start "booleanScalarTerm" - // src/grammar/wcps.g:277:1: booleanScalarTerm returns [BooleanScalarExpr value] : e1= booleanScalarNegation (op= AND e2= booleanScalarNegation )* ; + // src/grammar/wcps.g:278:1: booleanScalarTerm returns [BooleanScalarExpr value] : e1= booleanScalarNegation (op= AND e2= booleanScalarNegation )* ; public final wcpsParser.booleanScalarTerm_return booleanScalarTerm() throws RecognitionException { wcpsParser.booleanScalarTerm_return retval = new wcpsParser.booleanScalarTerm_return(); retval.start = input.LT(1); @@ -7058,12 +7023,12 @@ public class wcpsParser extends Parser { try { if ( state.backtracking>0 && alreadyParsedRule(input, 55) ) { return retval; } - // src/grammar/wcps.g:278:2: (e1= booleanScalarNegation (op= AND e2= booleanScalarNegation )* ) - // src/grammar/wcps.g:278:4: e1= booleanScalarNegation (op= AND e2= booleanScalarNegation )* + // src/grammar/wcps.g:279:2: (e1= booleanScalarNegation (op= AND e2= booleanScalarNegation )* ) + // src/grammar/wcps.g:279:4: e1= booleanScalarNegation (op= AND e2= booleanScalarNegation )* { root_0 = (Object)adaptor.nil(); - pushFollow(FOLLOW_booleanScalarNegation_in_booleanScalarTerm2873); + pushFollow(FOLLOW_booleanScalarNegation_in_booleanScalarTerm2871); e1=booleanScalarNegation(); state._fsp--; @@ -7072,21 +7037,21 @@ public class wcpsParser extends Parser { if ( state.backtracking==0 ) { retval.value = (e1!=null?e1.value:null); } - // src/grammar/wcps.g:279:4: (op= AND e2= booleanScalarNegation )* - loop47: + // src/grammar/wcps.g:280:4: (op= AND e2= booleanScalarNegation )* + loop46: do { - int alt47=2; - alt47 = dfa47.predict(input); - switch (alt47) { + int alt46=2; + alt46 = dfa46.predict(input); + switch (alt46) { case 1 : - // src/grammar/wcps.g:279:5: op= AND e2= booleanScalarNegation + // src/grammar/wcps.g:280:5: op= AND e2= booleanScalarNegation { - op=(Token)match(input,AND,FOLLOW_AND_in_booleanScalarTerm2883); if (state.failed) return retval; + op=(Token)match(input,AND,FOLLOW_AND_in_booleanScalarTerm2881); if (state.failed) return retval; if ( state.backtracking==0 ) { op_tree = (Object)adaptor.create(op); adaptor.addChild(root_0, op_tree); } - pushFollow(FOLLOW_booleanScalarNegation_in_booleanScalarTerm2887); + pushFollow(FOLLOW_booleanScalarNegation_in_booleanScalarTerm2885); e2=booleanScalarNegation(); state._fsp--; @@ -7100,7 +7065,7 @@ public class wcpsParser extends Parser { break; default : - break loop47; + break loop46; } } while (true); @@ -7135,7 +7100,7 @@ public class wcpsParser extends Parser { }; // $ANTLR start "booleanScalarNegation" - // src/grammar/wcps.g:281:1: booleanScalarNegation returns [BooleanScalarExpr value] : (e1= booleanScalarAtom | op= NOT e1= booleanScalarAtom ); + // src/grammar/wcps.g:282:1: booleanScalarNegation returns [BooleanScalarExpr value] : (e1= booleanScalarAtom | op= NOT e1= booleanScalarAtom ); public final wcpsParser.booleanScalarNegation_return booleanScalarNegation() throws RecognitionException { wcpsParser.booleanScalarNegation_return retval = new wcpsParser.booleanScalarNegation_return(); retval.start = input.LT(1); @@ -7150,16 +7115,16 @@ public class wcpsParser extends Parser { try { if ( state.backtracking>0 && alreadyParsedRule(input, 56) ) { return retval; } - // src/grammar/wcps.g:282:2: (e1= booleanScalarAtom | op= NOT e1= booleanScalarAtom ) - int alt48=2; - alt48 = dfa48.predict(input); - switch (alt48) { + // src/grammar/wcps.g:283:2: (e1= booleanScalarAtom | op= NOT e1= booleanScalarAtom ) + int alt47=2; + alt47 = dfa47.predict(input); + switch (alt47) { case 1 : - // src/grammar/wcps.g:282:4: e1= booleanScalarAtom + // src/grammar/wcps.g:283:4: e1= booleanScalarAtom { root_0 = (Object)adaptor.nil(); - pushFollow(FOLLOW_booleanScalarAtom_in_booleanScalarNegation2908); + pushFollow(FOLLOW_booleanScalarAtom_in_booleanScalarNegation2906); e1=booleanScalarAtom(); state._fsp--; @@ -7172,16 +7137,16 @@ public class wcpsParser extends Parser { } break; case 2 : - // src/grammar/wcps.g:283:4: op= NOT e1= booleanScalarAtom + // src/grammar/wcps.g:284:4: op= NOT e1= booleanScalarAtom { root_0 = (Object)adaptor.nil(); - op=(Token)match(input,NOT,FOLLOW_NOT_in_booleanScalarNegation2917); if (state.failed) return retval; + op=(Token)match(input,NOT,FOLLOW_NOT_in_booleanScalarNegation2915); if (state.failed) return retval; if ( state.backtracking==0 ) { op_tree = (Object)adaptor.create(op); adaptor.addChild(root_0, op_tree); } - pushFollow(FOLLOW_booleanScalarAtom_in_booleanScalarNegation2921); + pushFollow(FOLLOW_booleanScalarAtom_in_booleanScalarNegation2919); e1=booleanScalarAtom(); state._fsp--; @@ -7223,7 +7188,7 @@ public class wcpsParser extends Parser { }; // $ANTLR start "booleanScalarAtom" - // src/grammar/wcps.g:285:1: booleanScalarAtom returns [BooleanScalarExpr value] : ( LPAREN e1= booleanScalarExpr RPAREN | s1= stringScalarExpr cop= compOp s2= stringScalarExpr | n1= numericScalarExpr cop= compOp n2= numericScalarExpr | e= BOOLEANCONSTANT ); + // src/grammar/wcps.g:286:1: booleanScalarAtom returns [BooleanScalarExpr value] : ( LPAREN e1= booleanScalarExpr RPAREN | s1= stringScalarExpr cop= compOp s2= stringScalarExpr | n1= numericScalarExpr cop= compOp n2= numericScalarExpr | e= BOOLEANCONSTANT ); public final wcpsParser.booleanScalarAtom_return booleanScalarAtom() throws RecognitionException { wcpsParser.booleanScalarAtom_return retval = new wcpsParser.booleanScalarAtom_return(); retval.start = input.LT(1); @@ -7231,8 +7196,8 @@ public class wcpsParser extends Parser { Object root_0 = null; Token e=null; - Token LPAREN164=null; - Token RPAREN165=null; + Token LPAREN162=null; + Token RPAREN163=null; wcpsParser.booleanScalarExpr_return e1 = null; wcpsParser.stringScalarExpr_return s1 = null; @@ -7247,35 +7212,35 @@ public class wcpsParser extends Parser { Object e_tree=null; - Object LPAREN164_tree=null; - Object RPAREN165_tree=null; + Object LPAREN162_tree=null; + Object RPAREN163_tree=null; try { if ( state.backtracking>0 && alreadyParsedRule(input, 57) ) { return retval; } - // src/grammar/wcps.g:286:2: ( LPAREN e1= booleanScalarExpr RPAREN | s1= stringScalarExpr cop= compOp s2= stringScalarExpr | n1= numericScalarExpr cop= compOp n2= numericScalarExpr | e= BOOLEANCONSTANT ) - int alt49=4; - alt49 = dfa49.predict(input); - switch (alt49) { + // src/grammar/wcps.g:287:2: ( LPAREN e1= booleanScalarExpr RPAREN | s1= stringScalarExpr cop= compOp s2= stringScalarExpr | n1= numericScalarExpr cop= compOp n2= numericScalarExpr | e= BOOLEANCONSTANT ) + int alt48=4; + alt48 = dfa48.predict(input); + switch (alt48) { case 1 : - // src/grammar/wcps.g:286:4: LPAREN e1= booleanScalarExpr RPAREN + // src/grammar/wcps.g:287:4: LPAREN e1= booleanScalarExpr RPAREN { root_0 = (Object)adaptor.nil(); - LPAREN164=(Token)match(input,LPAREN,FOLLOW_LPAREN_in_booleanScalarAtom2936); if (state.failed) return retval; + LPAREN162=(Token)match(input,LPAREN,FOLLOW_LPAREN_in_booleanScalarAtom2934); if (state.failed) return retval; if ( state.backtracking==0 ) { - LPAREN164_tree = (Object)adaptor.create(LPAREN164); - adaptor.addChild(root_0, LPAREN164_tree); + LPAREN162_tree = (Object)adaptor.create(LPAREN162); + adaptor.addChild(root_0, LPAREN162_tree); } - pushFollow(FOLLOW_booleanScalarExpr_in_booleanScalarAtom2940); + pushFollow(FOLLOW_booleanScalarExpr_in_booleanScalarAtom2938); e1=booleanScalarExpr(); state._fsp--; if (state.failed) return retval; if ( state.backtracking==0 ) adaptor.addChild(root_0, e1.getTree()); - RPAREN165=(Token)match(input,RPAREN,FOLLOW_RPAREN_in_booleanScalarAtom2942); if (state.failed) return retval; + RPAREN163=(Token)match(input,RPAREN,FOLLOW_RPAREN_in_booleanScalarAtom2940); if (state.failed) return retval; if ( state.backtracking==0 ) { - RPAREN165_tree = (Object)adaptor.create(RPAREN165); - adaptor.addChild(root_0, RPAREN165_tree); + RPAREN163_tree = (Object)adaptor.create(RPAREN163); + adaptor.addChild(root_0, RPAREN163_tree); } if ( state.backtracking==0 ) { retval.value = (e1!=null?e1.value:null); @@ -7284,23 +7249,23 @@ public class wcpsParser extends Parser { } break; case 2 : - // src/grammar/wcps.g:287:4: s1= stringScalarExpr cop= compOp s2= stringScalarExpr + // src/grammar/wcps.g:288:4: s1= stringScalarExpr cop= compOp s2= stringScalarExpr { root_0 = (Object)adaptor.nil(); - pushFollow(FOLLOW_stringScalarExpr_in_booleanScalarAtom2951); + pushFollow(FOLLOW_stringScalarExpr_in_booleanScalarAtom2949); s1=stringScalarExpr(); state._fsp--; if (state.failed) return retval; if ( state.backtracking==0 ) adaptor.addChild(root_0, s1.getTree()); - pushFollow(FOLLOW_compOp_in_booleanScalarAtom2955); + pushFollow(FOLLOW_compOp_in_booleanScalarAtom2953); cop=compOp(); state._fsp--; if (state.failed) return retval; if ( state.backtracking==0 ) adaptor.addChild(root_0, cop.getTree()); - pushFollow(FOLLOW_stringScalarExpr_in_booleanScalarAtom2959); + pushFollow(FOLLOW_stringScalarExpr_in_booleanScalarAtom2957); s2=stringScalarExpr(); state._fsp--; @@ -7313,23 +7278,23 @@ public class wcpsParser extends Parser { } break; case 3 : - // src/grammar/wcps.g:288:4: n1= numericScalarExpr cop= compOp n2= numericScalarExpr + // src/grammar/wcps.g:289:4: n1= numericScalarExpr cop= compOp n2= numericScalarExpr { root_0 = (Object)adaptor.nil(); - pushFollow(FOLLOW_numericScalarExpr_in_booleanScalarAtom2969); + pushFollow(FOLLOW_numericScalarExpr_in_booleanScalarAtom2967); n1=numericScalarExpr(); state._fsp--; if (state.failed) return retval; if ( state.backtracking==0 ) adaptor.addChild(root_0, n1.getTree()); - pushFollow(FOLLOW_compOp_in_booleanScalarAtom2973); + pushFollow(FOLLOW_compOp_in_booleanScalarAtom2971); cop=compOp(); state._fsp--; if (state.failed) return retval; if ( state.backtracking==0 ) adaptor.addChild(root_0, cop.getTree()); - pushFollow(FOLLOW_numericScalarExpr_in_booleanScalarAtom2977); + pushFollow(FOLLOW_numericScalarExpr_in_booleanScalarAtom2975); n2=numericScalarExpr(); state._fsp--; @@ -7342,11 +7307,11 @@ public class wcpsParser extends Parser { } break; case 4 : - // src/grammar/wcps.g:289:4: e= BOOLEANCONSTANT + // src/grammar/wcps.g:290:4: e= BOOLEANCONSTANT { root_0 = (Object)adaptor.nil(); - e=(Token)match(input,BOOLEANCONSTANT,FOLLOW_BOOLEANCONSTANT_in_booleanScalarAtom2987); if (state.failed) return retval; + e=(Token)match(input,BOOLEANCONSTANT,FOLLOW_BOOLEANCONSTANT_in_booleanScalarAtom2985); if (state.failed) return retval; if ( state.backtracking==0 ) { e_tree = (Object)adaptor.create(e); adaptor.addChild(root_0, e_tree); @@ -7387,7 +7352,7 @@ public class wcpsParser extends Parser { }; // $ANTLR start "numericScalarExpr" - // src/grammar/wcps.g:291:1: numericScalarExpr returns [NumericScalarExpr value] : e1= numericScalarTerm (op= ( PLUS | MINUS ) e2= numericScalarTerm )* ; + // src/grammar/wcps.g:292:1: numericScalarExpr returns [NumericScalarExpr value] : e1= numericScalarTerm (op= ( PLUS | MINUS ) e2= numericScalarTerm )* ; public final wcpsParser.numericScalarExpr_return numericScalarExpr() throws RecognitionException { wcpsParser.numericScalarExpr_return retval = new wcpsParser.numericScalarExpr_return(); retval.start = input.LT(1); @@ -7404,12 +7369,12 @@ public class wcpsParser extends Parser { try { if ( state.backtracking>0 && alreadyParsedRule(input, 58) ) { return retval; } - // src/grammar/wcps.g:292:2: (e1= numericScalarTerm (op= ( PLUS | MINUS ) e2= numericScalarTerm )* ) - // src/grammar/wcps.g:292:4: e1= numericScalarTerm (op= ( PLUS | MINUS ) e2= numericScalarTerm )* + // src/grammar/wcps.g:293:2: (e1= numericScalarTerm (op= ( PLUS | MINUS ) e2= numericScalarTerm )* ) + // src/grammar/wcps.g:293:4: e1= numericScalarTerm (op= ( PLUS | MINUS ) e2= numericScalarTerm )* { root_0 = (Object)adaptor.nil(); - pushFollow(FOLLOW_numericScalarTerm_in_numericScalarExpr3004); + pushFollow(FOLLOW_numericScalarTerm_in_numericScalarExpr3002); e1=numericScalarTerm(); state._fsp--; @@ -7418,14 +7383,14 @@ public class wcpsParser extends Parser { if ( state.backtracking==0 ) { retval.value = (e1!=null?e1.value:null); } - // src/grammar/wcps.g:293:4: (op= ( PLUS | MINUS ) e2= numericScalarTerm )* - loop50: + // src/grammar/wcps.g:294:4: (op= ( PLUS | MINUS ) e2= numericScalarTerm )* + loop49: do { - int alt50=2; - alt50 = dfa50.predict(input); - switch (alt50) { + int alt49=2; + alt49 = dfa49.predict(input); + switch (alt49) { case 1 : - // src/grammar/wcps.g:293:5: op= ( PLUS | MINUS ) e2= numericScalarTerm + // src/grammar/wcps.g:294:5: op= ( PLUS | MINUS ) e2= numericScalarTerm { op=(Token)input.LT(1); if ( (input.LA(1)>=PLUS && input.LA(1)<=MINUS) ) { @@ -7439,7 +7404,7 @@ public class wcpsParser extends Parser { throw mse; } - pushFollow(FOLLOW_numericScalarTerm_in_numericScalarExpr3022); + pushFollow(FOLLOW_numericScalarTerm_in_numericScalarExpr3020); e2=numericScalarTerm(); state._fsp--; @@ -7453,7 +7418,7 @@ public class wcpsParser extends Parser { break; default : - break loop50; + break loop49; } } while (true); @@ -7488,7 +7453,7 @@ public class wcpsParser extends Parser { }; // $ANTLR start "numericScalarTerm" - // src/grammar/wcps.g:295:1: numericScalarTerm returns [NumericScalarExpr value] : e1= numericScalarFactor (op= ( MULT | DIVIDE ) e2= numericScalarFactor )* ; + // src/grammar/wcps.g:296:1: numericScalarTerm returns [NumericScalarExpr value] : e1= numericScalarFactor (op= ( MULT | DIVIDE ) e2= numericScalarFactor )* ; public final wcpsParser.numericScalarTerm_return numericScalarTerm() throws RecognitionException { wcpsParser.numericScalarTerm_return retval = new wcpsParser.numericScalarTerm_return(); retval.start = input.LT(1); @@ -7505,12 +7470,12 @@ public class wcpsParser extends Parser { try { if ( state.backtracking>0 && alreadyParsedRule(input, 59) ) { return retval; } - // src/grammar/wcps.g:296:2: (e1= numericScalarFactor (op= ( MULT | DIVIDE ) e2= numericScalarFactor )* ) - // src/grammar/wcps.g:296:4: e1= numericScalarFactor (op= ( MULT | DIVIDE ) e2= numericScalarFactor )* + // src/grammar/wcps.g:297:2: (e1= numericScalarFactor (op= ( MULT | DIVIDE ) e2= numericScalarFactor )* ) + // src/grammar/wcps.g:297:4: e1= numericScalarFactor (op= ( MULT | DIVIDE ) e2= numericScalarFactor )* { root_0 = (Object)adaptor.nil(); - pushFollow(FOLLOW_numericScalarFactor_in_numericScalarTerm3041); + pushFollow(FOLLOW_numericScalarFactor_in_numericScalarTerm3039); e1=numericScalarFactor(); state._fsp--; @@ -7519,14 +7484,14 @@ public class wcpsParser extends Parser { if ( state.backtracking==0 ) { retval.value = (e1!=null?e1.value:null); } - // src/grammar/wcps.g:297:3: (op= ( MULT | DIVIDE ) e2= numericScalarFactor )* - loop51: + // src/grammar/wcps.g:298:3: (op= ( MULT | DIVIDE ) e2= numericScalarFactor )* + loop50: do { - int alt51=2; - alt51 = dfa51.predict(input); - switch (alt51) { + int alt50=2; + alt50 = dfa50.predict(input); + switch (alt50) { case 1 : - // src/grammar/wcps.g:297:4: op= ( MULT | DIVIDE ) e2= numericScalarFactor + // src/grammar/wcps.g:298:4: op= ( MULT | DIVIDE ) e2= numericScalarFactor { op=(Token)input.LT(1); if ( (input.LA(1)>=MULT && input.LA(1)<=DIVIDE) ) { @@ -7540,7 +7505,7 @@ public class wcpsParser extends Parser { throw mse; } - pushFollow(FOLLOW_numericScalarFactor_in_numericScalarTerm3058); + pushFollow(FOLLOW_numericScalarFactor_in_numericScalarTerm3056); e2=numericScalarFactor(); state._fsp--; @@ -7554,7 +7519,7 @@ public class wcpsParser extends Parser { break; default : - break loop51; + break loop50; } } while (true); @@ -7589,7 +7554,7 @@ public class wcpsParser extends Parser { }; // $ANTLR start "numericScalarFactor" - // src/grammar/wcps.g:299:1: numericScalarFactor returns [NumericScalarExpr value] : ( LPAREN e1= numericScalarExpr RPAREN | op= MINUS e10= numericScalarFactor | op= ROUND LPAREN e1= numericScalarExpr RPAREN | e= INTEGERCONSTANT | e= FLOATCONSTANT | e2= complexConstant | e3= condenseExpr ); + // src/grammar/wcps.g:300:1: numericScalarFactor returns [NumericScalarExpr value] : ( LPAREN e1= numericScalarExpr RPAREN | op= MINUS e10= numericScalarFactor | op= ROUND LPAREN e1= numericScalarExpr RPAREN | e= INTEGERCONSTANT | e= FLOATCONSTANT | e2= complexConstant | e3= condenseExpr | e4= variableName ); public final wcpsParser.numericScalarFactor_return numericScalarFactor() throws RecognitionException { wcpsParser.numericScalarFactor_return retval = new wcpsParser.numericScalarFactor_return(); retval.start = input.LT(1); @@ -7598,10 +7563,10 @@ public class wcpsParser extends Parser { Token op=null; Token e=null; + Token LPAREN164=null; + Token RPAREN165=null; Token LPAREN166=null; Token RPAREN167=null; - Token LPAREN168=null; - Token RPAREN169=null; wcpsParser.numericScalarExpr_return e1 = null; wcpsParser.numericScalarFactor_return e10 = null; @@ -7610,40 +7575,42 @@ public class wcpsParser extends Parser { wcpsParser.condenseExpr_return e3 = null; + wcpsParser.variableName_return e4 = null; + Object op_tree=null; Object e_tree=null; + Object LPAREN164_tree=null; + Object RPAREN165_tree=null; Object LPAREN166_tree=null; Object RPAREN167_tree=null; - Object LPAREN168_tree=null; - Object RPAREN169_tree=null; try { if ( state.backtracking>0 && alreadyParsedRule(input, 60) ) { return retval; } - // src/grammar/wcps.g:300:5: ( LPAREN e1= numericScalarExpr RPAREN | op= MINUS e10= numericScalarFactor | op= ROUND LPAREN e1= numericScalarExpr RPAREN | e= INTEGERCONSTANT | e= FLOATCONSTANT | e2= complexConstant | e3= condenseExpr ) - int alt52=7; - alt52 = dfa52.predict(input); - switch (alt52) { + // src/grammar/wcps.g:301:5: ( LPAREN e1= numericScalarExpr RPAREN | op= MINUS e10= numericScalarFactor | op= ROUND LPAREN e1= numericScalarExpr RPAREN | e= INTEGERCONSTANT | e= FLOATCONSTANT | e2= complexConstant | e3= condenseExpr | e4= variableName ) + int alt51=8; + alt51 = dfa51.predict(input); + switch (alt51) { case 1 : - // src/grammar/wcps.g:300:7: LPAREN e1= numericScalarExpr RPAREN + // src/grammar/wcps.g:301:7: LPAREN e1= numericScalarExpr RPAREN { root_0 = (Object)adaptor.nil(); - LPAREN166=(Token)match(input,LPAREN,FOLLOW_LPAREN_in_numericScalarFactor3078); if (state.failed) return retval; + LPAREN164=(Token)match(input,LPAREN,FOLLOW_LPAREN_in_numericScalarFactor3076); if (state.failed) return retval; if ( state.backtracking==0 ) { - LPAREN166_tree = (Object)adaptor.create(LPAREN166); - adaptor.addChild(root_0, LPAREN166_tree); + LPAREN164_tree = (Object)adaptor.create(LPAREN164); + adaptor.addChild(root_0, LPAREN164_tree); } - pushFollow(FOLLOW_numericScalarExpr_in_numericScalarFactor3082); + pushFollow(FOLLOW_numericScalarExpr_in_numericScalarFactor3080); e1=numericScalarExpr(); state._fsp--; if (state.failed) return retval; if ( state.backtracking==0 ) adaptor.addChild(root_0, e1.getTree()); - RPAREN167=(Token)match(input,RPAREN,FOLLOW_RPAREN_in_numericScalarFactor3084); if (state.failed) return retval; + RPAREN165=(Token)match(input,RPAREN,FOLLOW_RPAREN_in_numericScalarFactor3082); if (state.failed) return retval; if ( state.backtracking==0 ) { - RPAREN167_tree = (Object)adaptor.create(RPAREN167); - adaptor.addChild(root_0, RPAREN167_tree); + RPAREN165_tree = (Object)adaptor.create(RPAREN165); + adaptor.addChild(root_0, RPAREN165_tree); } if ( state.backtracking==0 ) { retval.value = (e1!=null?e1.value:null); @@ -7652,16 +7619,16 @@ public class wcpsParser extends Parser { } break; case 2 : - // src/grammar/wcps.g:301:7: op= MINUS e10= numericScalarFactor + // src/grammar/wcps.g:302:7: op= MINUS e10= numericScalarFactor { root_0 = (Object)adaptor.nil(); - op=(Token)match(input,MINUS,FOLLOW_MINUS_in_numericScalarFactor3096); if (state.failed) return retval; + op=(Token)match(input,MINUS,FOLLOW_MINUS_in_numericScalarFactor3094); if (state.failed) return retval; if ( state.backtracking==0 ) { op_tree = (Object)adaptor.create(op); adaptor.addChild(root_0, op_tree); } - pushFollow(FOLLOW_numericScalarFactor_in_numericScalarFactor3100); + pushFollow(FOLLOW_numericScalarFactor_in_numericScalarFactor3098); e10=numericScalarFactor(); state._fsp--; @@ -7674,30 +7641,30 @@ public class wcpsParser extends Parser { } break; case 3 : - // src/grammar/wcps.g:302:7: op= ROUND LPAREN e1= numericScalarExpr RPAREN + // src/grammar/wcps.g:303:7: op= ROUND LPAREN e1= numericScalarExpr RPAREN { root_0 = (Object)adaptor.nil(); - op=(Token)match(input,ROUND,FOLLOW_ROUND_in_numericScalarFactor3112); if (state.failed) return retval; + op=(Token)match(input,ROUND,FOLLOW_ROUND_in_numericScalarFactor3110); if (state.failed) return retval; if ( state.backtracking==0 ) { op_tree = (Object)adaptor.create(op); adaptor.addChild(root_0, op_tree); } - LPAREN168=(Token)match(input,LPAREN,FOLLOW_LPAREN_in_numericScalarFactor3114); if (state.failed) return retval; + LPAREN166=(Token)match(input,LPAREN,FOLLOW_LPAREN_in_numericScalarFactor3112); if (state.failed) return retval; if ( state.backtracking==0 ) { - LPAREN168_tree = (Object)adaptor.create(LPAREN168); - adaptor.addChild(root_0, LPAREN168_tree); + LPAREN166_tree = (Object)adaptor.create(LPAREN166); + adaptor.addChild(root_0, LPAREN166_tree); } - pushFollow(FOLLOW_numericScalarExpr_in_numericScalarFactor3118); + pushFollow(FOLLOW_numericScalarExpr_in_numericScalarFactor3116); e1=numericScalarExpr(); state._fsp--; if (state.failed) return retval; if ( state.backtracking==0 ) adaptor.addChild(root_0, e1.getTree()); - RPAREN169=(Token)match(input,RPAREN,FOLLOW_RPAREN_in_numericScalarFactor3120); if (state.failed) return retval; + RPAREN167=(Token)match(input,RPAREN,FOLLOW_RPAREN_in_numericScalarFactor3118); if (state.failed) return retval; if ( state.backtracking==0 ) { - RPAREN169_tree = (Object)adaptor.create(RPAREN169); - adaptor.addChild(root_0, RPAREN169_tree); + RPAREN167_tree = (Object)adaptor.create(RPAREN167); + adaptor.addChild(root_0, RPAREN167_tree); } if ( state.backtracking==0 ) { retval.value = new NumericScalarExpr((op!=null?op.getText():null), (e1!=null?e1.value:null)); @@ -7706,11 +7673,11 @@ public class wcpsParser extends Parser { } break; case 4 : - // src/grammar/wcps.g:303:7: e= INTEGERCONSTANT + // src/grammar/wcps.g:304:7: e= INTEGERCONSTANT { root_0 = (Object)adaptor.nil(); - e=(Token)match(input,INTEGERCONSTANT,FOLLOW_INTEGERCONSTANT_in_numericScalarFactor3132); if (state.failed) return retval; + e=(Token)match(input,INTEGERCONSTANT,FOLLOW_INTEGERCONSTANT_in_numericScalarFactor3130); if (state.failed) return retval; if ( state.backtracking==0 ) { e_tree = (Object)adaptor.create(e); adaptor.addChild(root_0, e_tree); @@ -7722,11 +7689,11 @@ public class wcpsParser extends Parser { } break; case 5 : - // src/grammar/wcps.g:304:7: e= FLOATCONSTANT + // src/grammar/wcps.g:305:7: e= FLOATCONSTANT { root_0 = (Object)adaptor.nil(); - e=(Token)match(input,FLOATCONSTANT,FOLLOW_FLOATCONSTANT_in_numericScalarFactor3144); if (state.failed) return retval; + e=(Token)match(input,FLOATCONSTANT,FOLLOW_FLOATCONSTANT_in_numericScalarFactor3142); if (state.failed) return retval; if ( state.backtracking==0 ) { e_tree = (Object)adaptor.create(e); adaptor.addChild(root_0, e_tree); @@ -7738,11 +7705,11 @@ public class wcpsParser extends Parser { } break; case 6 : - // src/grammar/wcps.g:305:7: e2= complexConstant + // src/grammar/wcps.g:306:7: e2= complexConstant { root_0 = (Object)adaptor.nil(); - pushFollow(FOLLOW_complexConstant_in_numericScalarFactor3156); + pushFollow(FOLLOW_complexConstant_in_numericScalarFactor3154); e2=complexConstant(); state._fsp--; @@ -7755,11 +7722,11 @@ public class wcpsParser extends Parser { } break; case 7 : - // src/grammar/wcps.g:306:7: e3= condenseExpr + // src/grammar/wcps.g:307:7: e3= condenseExpr { root_0 = (Object)adaptor.nil(); - pushFollow(FOLLOW_condenseExpr_in_numericScalarFactor3168); + pushFollow(FOLLOW_condenseExpr_in_numericScalarFactor3166); e3=condenseExpr(); state._fsp--; @@ -7769,6 +7736,23 @@ public class wcpsParser extends Parser { retval.value = new NumericScalarExpr((e3!=null?e3.value:null)); } + } + break; + case 8 : + // src/grammar/wcps.g:308:7: e4= variableName + { + root_0 = (Object)adaptor.nil(); + + pushFollow(FOLLOW_variableName_in_numericScalarFactor3178); + e4=variableName(); + + state._fsp--; + if (state.failed) return retval; + if ( state.backtracking==0 ) adaptor.addChild(root_0, e4.getTree()); + if ( state.backtracking==0 ) { + retval.value = new NumericScalarExpr("var", (e4!=null?e4.value:null)); + } + } break; @@ -7801,80 +7785,80 @@ public class wcpsParser extends Parser { }; // $ANTLR start "compOp" - // src/grammar/wcps.g:308:1: compOp returns [String value] : ( EQUALS | NOTEQUALS | LT | GT | LTE | GTE ); + // src/grammar/wcps.g:310:1: compOp returns [String value] : ( EQUALS | NOTEQUALS | LT | GT | LTE | GTE ); public final wcpsParser.compOp_return compOp() throws RecognitionException { wcpsParser.compOp_return retval = new wcpsParser.compOp_return(); retval.start = input.LT(1); int compOp_StartIndex = input.index(); Object root_0 = null; - Token EQUALS170=null; - Token NOTEQUALS171=null; - Token LT172=null; - Token GT173=null; - Token LTE174=null; - Token GTE175=null; + Token EQUALS168=null; + Token NOTEQUALS169=null; + Token LT170=null; + Token GT171=null; + Token LTE172=null; + Token GTE173=null; - Object EQUALS170_tree=null; - Object NOTEQUALS171_tree=null; - Object LT172_tree=null; - Object GT173_tree=null; - Object LTE174_tree=null; - Object GTE175_tree=null; + Object EQUALS168_tree=null; + Object NOTEQUALS169_tree=null; + Object LT170_tree=null; + Object GT171_tree=null; + Object LTE172_tree=null; + Object GTE173_tree=null; try { if ( state.backtracking>0 && alreadyParsedRule(input, 61) ) { return retval; } - // src/grammar/wcps.g:309:2: ( EQUALS | NOTEQUALS | LT | GT | LTE | GTE ) - int alt53=6; + // src/grammar/wcps.g:311:2: ( EQUALS | NOTEQUALS | LT | GT | LTE | GTE ) + int alt52=6; switch ( input.LA(1) ) { case EQUALS: { - alt53=1; + alt52=1; } break; case NOTEQUALS: { - alt53=2; + alt52=2; } break; case LT: { - alt53=3; + alt52=3; } break; case GT: { - alt53=4; + alt52=4; } break; case LTE: { - alt53=5; + alt52=5; } break; case GTE: { - alt53=6; + alt52=6; } break; default: if (state.backtracking>0) {state.failed=true; return retval;} NoViableAltException nvae = - new NoViableAltException("", 53, 0, input); + new NoViableAltException("", 52, 0, input); throw nvae; } - switch (alt53) { + switch (alt52) { case 1 : - // src/grammar/wcps.g:309:4: EQUALS + // src/grammar/wcps.g:311:4: EQUALS { root_0 = (Object)adaptor.nil(); - EQUALS170=(Token)match(input,EQUALS,FOLLOW_EQUALS_in_compOp3186); if (state.failed) return retval; + EQUALS168=(Token)match(input,EQUALS,FOLLOW_EQUALS_in_compOp3196); if (state.failed) return retval; if ( state.backtracking==0 ) { - EQUALS170_tree = (Object)adaptor.create(EQUALS170); - adaptor.addChild(root_0, EQUALS170_tree); + EQUALS168_tree = (Object)adaptor.create(EQUALS168); + adaptor.addChild(root_0, EQUALS168_tree); } if ( state.backtracking==0 ) { retval.value = new String("equals"); @@ -7883,14 +7867,14 @@ public class wcpsParser extends Parser { } break; case 2 : - // src/grammar/wcps.g:310:4: NOTEQUALS + // src/grammar/wcps.g:312:4: NOTEQUALS { root_0 = (Object)adaptor.nil(); - NOTEQUALS171=(Token)match(input,NOTEQUALS,FOLLOW_NOTEQUALS_in_compOp3193); if (state.failed) return retval; + NOTEQUALS169=(Token)match(input,NOTEQUALS,FOLLOW_NOTEQUALS_in_compOp3203); if (state.failed) return retval; if ( state.backtracking==0 ) { - NOTEQUALS171_tree = (Object)adaptor.create(NOTEQUALS171); - adaptor.addChild(root_0, NOTEQUALS171_tree); + NOTEQUALS169_tree = (Object)adaptor.create(NOTEQUALS169); + adaptor.addChild(root_0, NOTEQUALS169_tree); } if ( state.backtracking==0 ) { retval.value = new String("notEqual"); @@ -7899,14 +7883,14 @@ public class wcpsParser extends Parser { } break; case 3 : - // src/grammar/wcps.g:311:4: LT + // src/grammar/wcps.g:313:4: LT { root_0 = (Object)adaptor.nil(); - LT172=(Token)match(input,LT,FOLLOW_LT_in_compOp3200); if (state.failed) return retval; + LT170=(Token)match(input,LT,FOLLOW_LT_in_compOp3210); if (state.failed) return retval; if ( state.backtracking==0 ) { - LT172_tree = (Object)adaptor.create(LT172); - adaptor.addChild(root_0, LT172_tree); + LT170_tree = (Object)adaptor.create(LT170); + adaptor.addChild(root_0, LT170_tree); } if ( state.backtracking==0 ) { retval.value = new String("lessThan"); @@ -7915,14 +7899,14 @@ public class wcpsParser extends Parser { } break; case 4 : - // src/grammar/wcps.g:312:4: GT + // src/grammar/wcps.g:314:4: GT { root_0 = (Object)adaptor.nil(); - GT173=(Token)match(input,GT,FOLLOW_GT_in_compOp3207); if (state.failed) return retval; + GT171=(Token)match(input,GT,FOLLOW_GT_in_compOp3217); if (state.failed) return retval; if ( state.backtracking==0 ) { - GT173_tree = (Object)adaptor.create(GT173); - adaptor.addChild(root_0, GT173_tree); + GT171_tree = (Object)adaptor.create(GT171); + adaptor.addChild(root_0, GT171_tree); } if ( state.backtracking==0 ) { retval.value = new String("greaterThan"); @@ -7931,14 +7915,14 @@ public class wcpsParser extends Parser { } break; case 5 : - // src/grammar/wcps.g:313:4: LTE + // src/grammar/wcps.g:315:4: LTE { root_0 = (Object)adaptor.nil(); - LTE174=(Token)match(input,LTE,FOLLOW_LTE_in_compOp3214); if (state.failed) return retval; + LTE172=(Token)match(input,LTE,FOLLOW_LTE_in_compOp3224); if (state.failed) return retval; if ( state.backtracking==0 ) { - LTE174_tree = (Object)adaptor.create(LTE174); - adaptor.addChild(root_0, LTE174_tree); + LTE172_tree = (Object)adaptor.create(LTE172); + adaptor.addChild(root_0, LTE172_tree); } if ( state.backtracking==0 ) { retval.value = new String("lessOrEqual"); @@ -7947,14 +7931,14 @@ public class wcpsParser extends Parser { } break; case 6 : - // src/grammar/wcps.g:314:4: GTE + // src/grammar/wcps.g:316:4: GTE { root_0 = (Object)adaptor.nil(); - GTE175=(Token)match(input,GTE,FOLLOW_GTE_in_compOp3221); if (state.failed) return retval; + GTE173=(Token)match(input,GTE,FOLLOW_GTE_in_compOp3231); if (state.failed) return retval; if ( state.backtracking==0 ) { - GTE175_tree = (Object)adaptor.create(GTE175); - adaptor.addChild(root_0, GTE175_tree); + GTE173_tree = (Object)adaptor.create(GTE173); + adaptor.addChild(root_0, GTE173_tree); } if ( state.backtracking==0 ) { retval.value = new String("greaterOrEqual"); @@ -7992,27 +7976,27 @@ public class wcpsParser extends Parser { }; // $ANTLR start "dimensionIntervalList" - // src/grammar/wcps.g:316:1: dimensionIntervalList returns [DimensionIntervalList value] : elem= dimensionIntervalElement ( COMMA elem= dimensionIntervalElement )* ; + // src/grammar/wcps.g:318:1: dimensionIntervalList returns [DimensionIntervalList value] : elem= dimensionIntervalElement ( COMMA elem= dimensionIntervalElement )* ; public final wcpsParser.dimensionIntervalList_return dimensionIntervalList() throws RecognitionException { wcpsParser.dimensionIntervalList_return retval = new wcpsParser.dimensionIntervalList_return(); retval.start = input.LT(1); int dimensionIntervalList_StartIndex = input.index(); Object root_0 = null; - Token COMMA176=null; + Token COMMA174=null; wcpsParser.dimensionIntervalElement_return elem = null; - Object COMMA176_tree=null; + Object COMMA174_tree=null; try { if ( state.backtracking>0 && alreadyParsedRule(input, 62) ) { return retval; } - // src/grammar/wcps.g:317:5: (elem= dimensionIntervalElement ( COMMA elem= dimensionIntervalElement )* ) - // src/grammar/wcps.g:317:7: elem= dimensionIntervalElement ( COMMA elem= dimensionIntervalElement )* + // src/grammar/wcps.g:319:5: (elem= dimensionIntervalElement ( COMMA elem= dimensionIntervalElement )* ) + // src/grammar/wcps.g:319:7: elem= dimensionIntervalElement ( COMMA elem= dimensionIntervalElement )* { root_0 = (Object)adaptor.nil(); - pushFollow(FOLLOW_dimensionIntervalElement_in_dimensionIntervalList3241); + pushFollow(FOLLOW_dimensionIntervalElement_in_dimensionIntervalList3251); elem=dimensionIntervalElement(); state._fsp--; @@ -8021,33 +8005,33 @@ public class wcpsParser extends Parser { if ( state.backtracking==0 ) { retval.value = new DimensionIntervalList((elem!=null?elem.value:null)); } - // src/grammar/wcps.g:318:9: ( COMMA elem= dimensionIntervalElement )* - loop54: + // src/grammar/wcps.g:320:9: ( COMMA elem= dimensionIntervalElement )* + loop53: do { - int alt54=2; - int LA54_0 = input.LA(1); + int alt53=2; + int LA53_0 = input.LA(1); - if ( (LA54_0==COMMA) ) { - int LA54_1 = input.LA(2); + if ( (LA53_0==COMMA) ) { + int LA53_1 = input.LA(2); - if ( (LA54_1==INTEGERCONSTANT||LA54_1==STRING||LA54_1==NAME) ) { - alt54=1; + if ( (LA53_1==INTEGERCONSTANT||LA53_1==STRING||LA53_1==NAME) ) { + alt53=1; } } - switch (alt54) { + switch (alt53) { case 1 : - // src/grammar/wcps.g:318:10: COMMA elem= dimensionIntervalElement + // src/grammar/wcps.g:320:10: COMMA elem= dimensionIntervalElement { - COMMA176=(Token)match(input,COMMA,FOLLOW_COMMA_in_dimensionIntervalList3254); if (state.failed) return retval; + COMMA174=(Token)match(input,COMMA,FOLLOW_COMMA_in_dimensionIntervalList3264); if (state.failed) return retval; if ( state.backtracking==0 ) { - COMMA176_tree = (Object)adaptor.create(COMMA176); - adaptor.addChild(root_0, COMMA176_tree); + COMMA174_tree = (Object)adaptor.create(COMMA174); + adaptor.addChild(root_0, COMMA174_tree); } - pushFollow(FOLLOW_dimensionIntervalElement_in_dimensionIntervalList3258); + pushFollow(FOLLOW_dimensionIntervalElement_in_dimensionIntervalList3268); elem=dimensionIntervalElement(); state._fsp--; @@ -8061,7 +8045,7 @@ public class wcpsParser extends Parser { break; default : - break loop54; + break loop53; } } while (true); @@ -8096,16 +8080,16 @@ public class wcpsParser extends Parser { }; // $ANTLR start "dimensionIntervalElement" - // src/grammar/wcps.g:320:1: dimensionIntervalElement returns [DimensionIntervalElement value] : aname= axisName ( COLON crs= crsName )? LPAREN die= dimensionIntervalExpr RPAREN ; + // src/grammar/wcps.g:322:1: dimensionIntervalElement returns [DimensionIntervalElement value] : aname= axisName ( COLON crs= crsName )? LPAREN die= dimensionIntervalExpr RPAREN ; public final wcpsParser.dimensionIntervalElement_return dimensionIntervalElement() throws RecognitionException { wcpsParser.dimensionIntervalElement_return retval = new wcpsParser.dimensionIntervalElement_return(); retval.start = input.LT(1); int dimensionIntervalElement_StartIndex = input.index(); Object root_0 = null; - Token COLON177=null; - Token LPAREN178=null; - Token RPAREN179=null; + Token COLON175=null; + Token LPAREN176=null; + Token RPAREN177=null; wcpsParser.axisName_return aname = null; wcpsParser.crsName_return crs = null; @@ -8113,18 +8097,18 @@ public class wcpsParser extends Parser { wcpsParser.dimensionIntervalExpr_return die = null; - Object COLON177_tree=null; - Object LPAREN178_tree=null; - Object RPAREN179_tree=null; + Object COLON175_tree=null; + Object LPAREN176_tree=null; + Object RPAREN177_tree=null; try { if ( state.backtracking>0 && alreadyParsedRule(input, 63) ) { return retval; } - // src/grammar/wcps.g:321:5: (aname= axisName ( COLON crs= crsName )? LPAREN die= dimensionIntervalExpr RPAREN ) - // src/grammar/wcps.g:321:7: aname= axisName ( COLON crs= crsName )? LPAREN die= dimensionIntervalExpr RPAREN + // src/grammar/wcps.g:323:5: (aname= axisName ( COLON crs= crsName )? LPAREN die= dimensionIntervalExpr RPAREN ) + // src/grammar/wcps.g:323:7: aname= axisName ( COLON crs= crsName )? LPAREN die= dimensionIntervalExpr RPAREN { root_0 = (Object)adaptor.nil(); - pushFollow(FOLLOW_axisName_in_dimensionIntervalElement3283); + pushFollow(FOLLOW_axisName_in_dimensionIntervalElement3293); aname=axisName(); state._fsp--; @@ -8133,23 +8117,23 @@ public class wcpsParser extends Parser { if ( state.backtracking==0 ) { retval.value = new DimensionIntervalElement((aname!=null?aname.value:null)); } - // src/grammar/wcps.g:321:79: ( COLON crs= crsName )? - int alt55=2; - int LA55_0 = input.LA(1); + // src/grammar/wcps.g:323:79: ( COLON crs= crsName )? + int alt54=2; + int LA54_0 = input.LA(1); - if ( (LA55_0==COLON) ) { - alt55=1; + if ( (LA54_0==COLON) ) { + alt54=1; } - switch (alt55) { + switch (alt54) { case 1 : - // src/grammar/wcps.g:321:80: COLON crs= crsName + // src/grammar/wcps.g:323:80: COLON crs= crsName { - COLON177=(Token)match(input,COLON,FOLLOW_COLON_in_dimensionIntervalElement3288); if (state.failed) return retval; + COLON175=(Token)match(input,COLON,FOLLOW_COLON_in_dimensionIntervalElement3298); if (state.failed) return retval; if ( state.backtracking==0 ) { - COLON177_tree = (Object)adaptor.create(COLON177); - adaptor.addChild(root_0, COLON177_tree); + COLON175_tree = (Object)adaptor.create(COLON175); + adaptor.addChild(root_0, COLON175_tree); } - pushFollow(FOLLOW_crsName_in_dimensionIntervalElement3292); + pushFollow(FOLLOW_crsName_in_dimensionIntervalElement3302); crs=crsName(); state._fsp--; @@ -8164,21 +8148,21 @@ public class wcpsParser extends Parser { } - LPAREN178=(Token)match(input,LPAREN,FOLLOW_LPAREN_in_dimensionIntervalElement3303); if (state.failed) return retval; + LPAREN176=(Token)match(input,LPAREN,FOLLOW_LPAREN_in_dimensionIntervalElement3313); if (state.failed) return retval; if ( state.backtracking==0 ) { - LPAREN178_tree = (Object)adaptor.create(LPAREN178); - adaptor.addChild(root_0, LPAREN178_tree); + LPAREN176_tree = (Object)adaptor.create(LPAREN176); + adaptor.addChild(root_0, LPAREN176_tree); } - pushFollow(FOLLOW_dimensionIntervalExpr_in_dimensionIntervalElement3307); + pushFollow(FOLLOW_dimensionIntervalExpr_in_dimensionIntervalElement3317); die=dimensionIntervalExpr(); state._fsp--; if (state.failed) return retval; if ( state.backtracking==0 ) adaptor.addChild(root_0, die.getTree()); - RPAREN179=(Token)match(input,RPAREN,FOLLOW_RPAREN_in_dimensionIntervalElement3309); if (state.failed) return retval; + RPAREN177=(Token)match(input,RPAREN,FOLLOW_RPAREN_in_dimensionIntervalElement3319); if (state.failed) return retval; if ( state.backtracking==0 ) { - RPAREN179_tree = (Object)adaptor.create(RPAREN179); - adaptor.addChild(root_0, RPAREN179_tree); + RPAREN177_tree = (Object)adaptor.create(RPAREN177); + adaptor.addChild(root_0, RPAREN177_tree); } if ( state.backtracking==0 ) { retval.value.setIntervalExpr((die!=null?die.value:null)); @@ -8214,19 +8198,19 @@ public class wcpsParser extends Parser { }; // $ANTLR start "dimensionIntervalExpr" - // src/grammar/wcps.g:324:1: dimensionIntervalExpr returns [DimensionIntervalExpr value] : (e1= scalarExpr COLON e2= scalarExpr | DOMAIN LPAREN e3= coverageName COLON e4= axisName COLON e5= crsName RPAREN ); + // src/grammar/wcps.g:326:1: dimensionIntervalExpr returns [DimensionIntervalExpr value] : (e1= scalarExpr COLON e2= scalarExpr | DOMAIN LPAREN e3= coverageName COLON e4= axisName COLON e5= crsName RPAREN ); public final wcpsParser.dimensionIntervalExpr_return dimensionIntervalExpr() throws RecognitionException { wcpsParser.dimensionIntervalExpr_return retval = new wcpsParser.dimensionIntervalExpr_return(); retval.start = input.LT(1); int dimensionIntervalExpr_StartIndex = input.index(); Object root_0 = null; - Token COLON180=null; - Token DOMAIN181=null; - Token LPAREN182=null; - Token COLON183=null; - Token COLON184=null; - Token RPAREN185=null; + Token COLON178=null; + Token DOMAIN179=null; + Token LPAREN180=null; + Token COLON181=null; + Token COLON182=null; + Token RPAREN183=null; wcpsParser.scalarExpr_return e1 = null; wcpsParser.scalarExpr_return e2 = null; @@ -8238,36 +8222,36 @@ public class wcpsParser extends Parser { wcpsParser.crsName_return e5 = null; - Object COLON180_tree=null; - Object DOMAIN181_tree=null; - Object LPAREN182_tree=null; - Object COLON183_tree=null; - Object COLON184_tree=null; - Object RPAREN185_tree=null; + Object COLON178_tree=null; + Object DOMAIN179_tree=null; + Object LPAREN180_tree=null; + Object COLON181_tree=null; + Object COLON182_tree=null; + Object RPAREN183_tree=null; try { if ( state.backtracking>0 && alreadyParsedRule(input, 64) ) { return retval; } - // src/grammar/wcps.g:325:5: (e1= scalarExpr COLON e2= scalarExpr | DOMAIN LPAREN e3= coverageName COLON e4= axisName COLON e5= crsName RPAREN ) - int alt56=2; - alt56 = dfa56.predict(input); - switch (alt56) { + // src/grammar/wcps.g:327:5: (e1= scalarExpr COLON e2= scalarExpr | DOMAIN LPAREN e3= coverageName COLON e4= axisName COLON e5= crsName RPAREN ) + int alt55=2; + alt55 = dfa55.predict(input); + switch (alt55) { case 1 : - // src/grammar/wcps.g:325:7: e1= scalarExpr COLON e2= scalarExpr + // src/grammar/wcps.g:327:7: e1= scalarExpr COLON e2= scalarExpr { root_0 = (Object)adaptor.nil(); - pushFollow(FOLLOW_scalarExpr_in_dimensionIntervalExpr3332); + pushFollow(FOLLOW_scalarExpr_in_dimensionIntervalExpr3342); e1=scalarExpr(); state._fsp--; if (state.failed) return retval; if ( state.backtracking==0 ) adaptor.addChild(root_0, e1.getTree()); - COLON180=(Token)match(input,COLON,FOLLOW_COLON_in_dimensionIntervalExpr3334); if (state.failed) return retval; + COLON178=(Token)match(input,COLON,FOLLOW_COLON_in_dimensionIntervalExpr3344); if (state.failed) return retval; if ( state.backtracking==0 ) { - COLON180_tree = (Object)adaptor.create(COLON180); - adaptor.addChild(root_0, COLON180_tree); + COLON178_tree = (Object)adaptor.create(COLON178); + adaptor.addChild(root_0, COLON178_tree); } - pushFollow(FOLLOW_scalarExpr_in_dimensionIntervalExpr3338); + pushFollow(FOLLOW_scalarExpr_in_dimensionIntervalExpr3348); e2=scalarExpr(); state._fsp--; @@ -8280,52 +8264,52 @@ public class wcpsParser extends Parser { } break; case 2 : - // src/grammar/wcps.g:326:7: DOMAIN LPAREN e3= coverageName COLON e4= axisName COLON e5= crsName RPAREN + // src/grammar/wcps.g:328:7: DOMAIN LPAREN e3= coverageName COLON e4= axisName COLON e5= crsName RPAREN { root_0 = (Object)adaptor.nil(); - DOMAIN181=(Token)match(input,DOMAIN,FOLLOW_DOMAIN_in_dimensionIntervalExpr3348); if (state.failed) return retval; + DOMAIN179=(Token)match(input,DOMAIN,FOLLOW_DOMAIN_in_dimensionIntervalExpr3358); if (state.failed) return retval; if ( state.backtracking==0 ) { - DOMAIN181_tree = (Object)adaptor.create(DOMAIN181); - adaptor.addChild(root_0, DOMAIN181_tree); + DOMAIN179_tree = (Object)adaptor.create(DOMAIN179); + adaptor.addChild(root_0, DOMAIN179_tree); } - LPAREN182=(Token)match(input,LPAREN,FOLLOW_LPAREN_in_dimensionIntervalExpr3350); if (state.failed) return retval; + LPAREN180=(Token)match(input,LPAREN,FOLLOW_LPAREN_in_dimensionIntervalExpr3360); if (state.failed) return retval; if ( state.backtracking==0 ) { - LPAREN182_tree = (Object)adaptor.create(LPAREN182); - adaptor.addChild(root_0, LPAREN182_tree); + LPAREN180_tree = (Object)adaptor.create(LPAREN180); + adaptor.addChild(root_0, LPAREN180_tree); } - pushFollow(FOLLOW_coverageName_in_dimensionIntervalExpr3354); + pushFollow(FOLLOW_coverageName_in_dimensionIntervalExpr3364); e3=coverageName(); state._fsp--; if (state.failed) return retval; if ( state.backtracking==0 ) adaptor.addChild(root_0, e3.getTree()); - COLON183=(Token)match(input,COLON,FOLLOW_COLON_in_dimensionIntervalExpr3356); if (state.failed) return retval; + COLON181=(Token)match(input,COLON,FOLLOW_COLON_in_dimensionIntervalExpr3366); if (state.failed) return retval; if ( state.backtracking==0 ) { - COLON183_tree = (Object)adaptor.create(COLON183); - adaptor.addChild(root_0, COLON183_tree); + COLON181_tree = (Object)adaptor.create(COLON181); + adaptor.addChild(root_0, COLON181_tree); } - pushFollow(FOLLOW_axisName_in_dimensionIntervalExpr3360); + pushFollow(FOLLOW_axisName_in_dimensionIntervalExpr3370); e4=axisName(); state._fsp--; if (state.failed) return retval; if ( state.backtracking==0 ) adaptor.addChild(root_0, e4.getTree()); - COLON184=(Token)match(input,COLON,FOLLOW_COLON_in_dimensionIntervalExpr3362); if (state.failed) return retval; + COLON182=(Token)match(input,COLON,FOLLOW_COLON_in_dimensionIntervalExpr3372); if (state.failed) return retval; if ( state.backtracking==0 ) { - COLON184_tree = (Object)adaptor.create(COLON184); - adaptor.addChild(root_0, COLON184_tree); + COLON182_tree = (Object)adaptor.create(COLON182); + adaptor.addChild(root_0, COLON182_tree); } - pushFollow(FOLLOW_crsName_in_dimensionIntervalExpr3366); + pushFollow(FOLLOW_crsName_in_dimensionIntervalExpr3376); e5=crsName(); state._fsp--; if (state.failed) return retval; if ( state.backtracking==0 ) adaptor.addChild(root_0, e5.getTree()); - RPAREN185=(Token)match(input,RPAREN,FOLLOW_RPAREN_in_dimensionIntervalExpr3368); if (state.failed) return retval; + RPAREN183=(Token)match(input,RPAREN,FOLLOW_RPAREN_in_dimensionIntervalExpr3378); if (state.failed) return retval; if ( state.backtracking==0 ) { - RPAREN185_tree = (Object)adaptor.create(RPAREN185); - adaptor.addChild(root_0, RPAREN185_tree); + RPAREN183_tree = (Object)adaptor.create(RPAREN183); + adaptor.addChild(root_0, RPAREN183_tree); } if ( state.backtracking==0 ) { retval.value = new DimensionIntervalExpr((e3!=null?e3.value:null), (e4!=null?e4.value:null), (e5!=null?e5.value:null)); @@ -8363,29 +8347,29 @@ public class wcpsParser extends Parser { }; // $ANTLR start "dimensionPointList" - // src/grammar/wcps.g:328:1: dimensionPointList returns [DimensionPointList value] : elem1= dimensionPointElement ( COMMA elem2= dimensionPointElement )* ; + // src/grammar/wcps.g:330:1: dimensionPointList returns [DimensionPointList value] : elem1= dimensionPointElement ( COMMA elem2= dimensionPointElement )* ; public final wcpsParser.dimensionPointList_return dimensionPointList() throws RecognitionException { wcpsParser.dimensionPointList_return retval = new wcpsParser.dimensionPointList_return(); retval.start = input.LT(1); int dimensionPointList_StartIndex = input.index(); Object root_0 = null; - Token COMMA186=null; + Token COMMA184=null; wcpsParser.dimensionPointElement_return elem1 = null; wcpsParser.dimensionPointElement_return elem2 = null; - Object COMMA186_tree=null; + Object COMMA184_tree=null; try { if ( state.backtracking>0 && alreadyParsedRule(input, 65) ) { return retval; } - // src/grammar/wcps.g:329:5: (elem1= dimensionPointElement ( COMMA elem2= dimensionPointElement )* ) - // src/grammar/wcps.g:329:7: elem1= dimensionPointElement ( COMMA elem2= dimensionPointElement )* + // src/grammar/wcps.g:331:5: (elem1= dimensionPointElement ( COMMA elem2= dimensionPointElement )* ) + // src/grammar/wcps.g:331:7: elem1= dimensionPointElement ( COMMA elem2= dimensionPointElement )* { root_0 = (Object)adaptor.nil(); - pushFollow(FOLLOW_dimensionPointElement_in_dimensionPointList3391); + pushFollow(FOLLOW_dimensionPointElement_in_dimensionPointList3401); elem1=dimensionPointElement(); state._fsp--; @@ -8394,27 +8378,27 @@ public class wcpsParser extends Parser { if ( state.backtracking==0 ) { retval.value = new DimensionPointList((elem1!=null?elem1.value:null)); } - // src/grammar/wcps.g:330:6: ( COMMA elem2= dimensionPointElement )* - loop57: + // src/grammar/wcps.g:332:6: ( COMMA elem2= dimensionPointElement )* + loop56: do { - int alt57=2; - int LA57_0 = input.LA(1); + int alt56=2; + int LA56_0 = input.LA(1); - if ( (LA57_0==COMMA) ) { - alt57=1; + if ( (LA56_0==COMMA) ) { + alt56=1; } - switch (alt57) { + switch (alt56) { case 1 : - // src/grammar/wcps.g:330:7: COMMA elem2= dimensionPointElement + // src/grammar/wcps.g:332:7: COMMA elem2= dimensionPointElement { - COMMA186=(Token)match(input,COMMA,FOLLOW_COMMA_in_dimensionPointList3401); if (state.failed) return retval; + COMMA184=(Token)match(input,COMMA,FOLLOW_COMMA_in_dimensionPointList3411); if (state.failed) return retval; if ( state.backtracking==0 ) { - COMMA186_tree = (Object)adaptor.create(COMMA186); - adaptor.addChild(root_0, COMMA186_tree); + COMMA184_tree = (Object)adaptor.create(COMMA184); + adaptor.addChild(root_0, COMMA184_tree); } - pushFollow(FOLLOW_dimensionPointElement_in_dimensionPointList3405); + pushFollow(FOLLOW_dimensionPointElement_in_dimensionPointList3415); elem2=dimensionPointElement(); state._fsp--; @@ -8428,7 +8412,7 @@ public class wcpsParser extends Parser { break; default : - break loop57; + break loop56; } } while (true); @@ -8463,18 +8447,18 @@ public class wcpsParser extends Parser { }; // $ANTLR start "dimensionPointElement" - // src/grammar/wcps.g:332:1: dimensionPointElement returns [DimensionPointElement value] : (aname= axisName LPAREN dpe= dimensionPoint RPAREN | aname= axisName COLON crs= crsName LPAREN dpe= dimensionPoint RPAREN ); + // src/grammar/wcps.g:334:1: dimensionPointElement returns [DimensionPointElement value] : (aname= axisName LPAREN dpe= dimensionPoint RPAREN | aname= axisName COLON crs= crsName LPAREN dpe= dimensionPoint RPAREN ); public final wcpsParser.dimensionPointElement_return dimensionPointElement() throws RecognitionException { wcpsParser.dimensionPointElement_return retval = new wcpsParser.dimensionPointElement_return(); retval.start = input.LT(1); int dimensionPointElement_StartIndex = input.index(); Object root_0 = null; - Token LPAREN187=null; - Token RPAREN188=null; - Token COLON189=null; - Token LPAREN190=null; - Token RPAREN191=null; + Token LPAREN185=null; + Token RPAREN186=null; + Token COLON187=null; + Token LPAREN188=null; + Token RPAREN189=null; wcpsParser.axisName_return aname = null; wcpsParser.dimensionPoint_return dpe = null; @@ -8482,31 +8466,31 @@ public class wcpsParser extends Parser { wcpsParser.crsName_return crs = null; - Object LPAREN187_tree=null; - Object RPAREN188_tree=null; - Object COLON189_tree=null; - Object LPAREN190_tree=null; - Object RPAREN191_tree=null; + Object LPAREN185_tree=null; + Object RPAREN186_tree=null; + Object COLON187_tree=null; + Object LPAREN188_tree=null; + Object RPAREN189_tree=null; try { if ( state.backtracking>0 && alreadyParsedRule(input, 66) ) { return retval; } - // src/grammar/wcps.g:333:5: (aname= axisName LPAREN dpe= dimensionPoint RPAREN | aname= axisName COLON crs= crsName LPAREN dpe= dimensionPoint RPAREN ) - int alt58=2; - int LA58_0 = input.LA(1); + // src/grammar/wcps.g:335:5: (aname= axisName LPAREN dpe= dimensionPoint RPAREN | aname= axisName COLON crs= crsName LPAREN dpe= dimensionPoint RPAREN ) + int alt57=2; + int LA57_0 = input.LA(1); - if ( (LA58_0==INTEGERCONSTANT||LA58_0==STRING||LA58_0==NAME) ) { - int LA58_1 = input.LA(2); + if ( (LA57_0==INTEGERCONSTANT||LA57_0==STRING||LA57_0==NAME) ) { + int LA57_1 = input.LA(2); - if ( (LA58_1==LPAREN) ) { - alt58=1; + if ( (LA57_1==COLON) ) { + alt57=2; } - else if ( (LA58_1==COLON) ) { - alt58=2; + else if ( (LA57_1==LPAREN) ) { + alt57=1; } else { if (state.backtracking>0) {state.failed=true; return retval;} NoViableAltException nvae = - new NoViableAltException("", 58, 1, input); + new NoViableAltException("", 57, 1, input); throw nvae; } @@ -8514,37 +8498,37 @@ public class wcpsParser extends Parser { else { if (state.backtracking>0) {state.failed=true; return retval;} NoViableAltException nvae = - new NoViableAltException("", 58, 0, input); + new NoViableAltException("", 57, 0, input); throw nvae; } - switch (alt58) { + switch (alt57) { case 1 : - // src/grammar/wcps.g:333:7: aname= axisName LPAREN dpe= dimensionPoint RPAREN + // src/grammar/wcps.g:335:7: aname= axisName LPAREN dpe= dimensionPoint RPAREN { root_0 = (Object)adaptor.nil(); - pushFollow(FOLLOW_axisName_in_dimensionPointElement3430); + pushFollow(FOLLOW_axisName_in_dimensionPointElement3440); aname=axisName(); state._fsp--; if (state.failed) return retval; if ( state.backtracking==0 ) adaptor.addChild(root_0, aname.getTree()); - LPAREN187=(Token)match(input,LPAREN,FOLLOW_LPAREN_in_dimensionPointElement3432); if (state.failed) return retval; + LPAREN185=(Token)match(input,LPAREN,FOLLOW_LPAREN_in_dimensionPointElement3442); if (state.failed) return retval; if ( state.backtracking==0 ) { - LPAREN187_tree = (Object)adaptor.create(LPAREN187); - adaptor.addChild(root_0, LPAREN187_tree); + LPAREN185_tree = (Object)adaptor.create(LPAREN185); + adaptor.addChild(root_0, LPAREN185_tree); } - pushFollow(FOLLOW_dimensionPoint_in_dimensionPointElement3436); + pushFollow(FOLLOW_dimensionPoint_in_dimensionPointElement3446); dpe=dimensionPoint(); state._fsp--; if (state.failed) return retval; if ( state.backtracking==0 ) adaptor.addChild(root_0, dpe.getTree()); - RPAREN188=(Token)match(input,RPAREN,FOLLOW_RPAREN_in_dimensionPointElement3438); if (state.failed) return retval; + RPAREN186=(Token)match(input,RPAREN,FOLLOW_RPAREN_in_dimensionPointElement3448); if (state.failed) return retval; if ( state.backtracking==0 ) { - RPAREN188_tree = (Object)adaptor.create(RPAREN188); - adaptor.addChild(root_0, RPAREN188_tree); + RPAREN186_tree = (Object)adaptor.create(RPAREN186); + adaptor.addChild(root_0, RPAREN186_tree); } if ( state.backtracking==0 ) { retval.value = new DimensionPointElement((aname!=null?aname.value:null), (dpe!=null?dpe.value:null)); @@ -8553,42 +8537,42 @@ public class wcpsParser extends Parser { } break; case 2 : - // src/grammar/wcps.g:334:7: aname= axisName COLON crs= crsName LPAREN dpe= dimensionPoint RPAREN + // src/grammar/wcps.g:336:7: aname= axisName COLON crs= crsName LPAREN dpe= dimensionPoint RPAREN { root_0 = (Object)adaptor.nil(); - pushFollow(FOLLOW_axisName_in_dimensionPointElement3450); + pushFollow(FOLLOW_axisName_in_dimensionPointElement3460); aname=axisName(); state._fsp--; if (state.failed) return retval; if ( state.backtracking==0 ) adaptor.addChild(root_0, aname.getTree()); - COLON189=(Token)match(input,COLON,FOLLOW_COLON_in_dimensionPointElement3452); if (state.failed) return retval; + COLON187=(Token)match(input,COLON,FOLLOW_COLON_in_dimensionPointElement3462); if (state.failed) return retval; if ( state.backtracking==0 ) { - COLON189_tree = (Object)adaptor.create(COLON189); - adaptor.addChild(root_0, COLON189_tree); + COLON187_tree = (Object)adaptor.create(COLON187); + adaptor.addChild(root_0, COLON187_tree); } - pushFollow(FOLLOW_crsName_in_dimensionPointElement3456); + pushFollow(FOLLOW_crsName_in_dimensionPointElement3466); crs=crsName(); state._fsp--; if (state.failed) return retval; if ( state.backtracking==0 ) adaptor.addChild(root_0, crs.getTree()); - LPAREN190=(Token)match(input,LPAREN,FOLLOW_LPAREN_in_dimensionPointElement3458); if (state.failed) return retval; + LPAREN188=(Token)match(input,LPAREN,FOLLOW_LPAREN_in_dimensionPointElement3468); if (state.failed) return retval; if ( state.backtracking==0 ) { - LPAREN190_tree = (Object)adaptor.create(LPAREN190); - adaptor.addChild(root_0, LPAREN190_tree); + LPAREN188_tree = (Object)adaptor.create(LPAREN188); + adaptor.addChild(root_0, LPAREN188_tree); } - pushFollow(FOLLOW_dimensionPoint_in_dimensionPointElement3462); + pushFollow(FOLLOW_dimensionPoint_in_dimensionPointElement3472); dpe=dimensionPoint(); state._fsp--; if (state.failed) return retval; if ( state.backtracking==0 ) adaptor.addChild(root_0, dpe.getTree()); - RPAREN191=(Token)match(input,RPAREN,FOLLOW_RPAREN_in_dimensionPointElement3464); if (state.failed) return retval; + RPAREN189=(Token)match(input,RPAREN,FOLLOW_RPAREN_in_dimensionPointElement3474); if (state.failed) return retval; if ( state.backtracking==0 ) { - RPAREN191_tree = (Object)adaptor.create(RPAREN191); - adaptor.addChild(root_0, RPAREN191_tree); + RPAREN189_tree = (Object)adaptor.create(RPAREN189); + adaptor.addChild(root_0, RPAREN189_tree); } if ( state.backtracking==0 ) { retval.value = new DimensionPointElement((aname!=null?aname.value:null), (crs!=null?crs.value:null), (dpe!=null?dpe.value:null)); @@ -8626,7 +8610,7 @@ public class wcpsParser extends Parser { }; // $ANTLR start "dimensionPoint" - // src/grammar/wcps.g:336:1: dimensionPoint returns [ScalarExpr value] : e1= scalarExpr ; + // src/grammar/wcps.g:338:1: dimensionPoint returns [ScalarExpr value] : e1= scalarExpr ; public final wcpsParser.dimensionPoint_return dimensionPoint() throws RecognitionException { wcpsParser.dimensionPoint_return retval = new wcpsParser.dimensionPoint_return(); retval.start = input.LT(1); @@ -8639,12 +8623,12 @@ public class wcpsParser extends Parser { try { if ( state.backtracking>0 && alreadyParsedRule(input, 67) ) { return retval; } - // src/grammar/wcps.g:337:5: (e1= scalarExpr ) - // src/grammar/wcps.g:337:7: e1= scalarExpr + // src/grammar/wcps.g:339:5: (e1= scalarExpr ) + // src/grammar/wcps.g:339:7: e1= scalarExpr { root_0 = (Object)adaptor.nil(); - pushFollow(FOLLOW_scalarExpr_in_dimensionPoint3487); + pushFollow(FOLLOW_scalarExpr_in_dimensionPoint3497); e1=scalarExpr(); state._fsp--; @@ -8684,58 +8668,58 @@ public class wcpsParser extends Parser { }; // $ANTLR start "interpolationMethod" - // src/grammar/wcps.g:339:1: interpolationMethod returns [InterpolationMethod value] : LPAREN type= interpolationType COLON res= nullResistence RPAREN ; + // src/grammar/wcps.g:341:1: interpolationMethod returns [InterpolationMethod value] : LPAREN type= interpolationType COLON res= nullResistence RPAREN ; public final wcpsParser.interpolationMethod_return interpolationMethod() throws RecognitionException { wcpsParser.interpolationMethod_return retval = new wcpsParser.interpolationMethod_return(); retval.start = input.LT(1); int interpolationMethod_StartIndex = input.index(); Object root_0 = null; - Token LPAREN192=null; - Token COLON193=null; - Token RPAREN194=null; + Token LPAREN190=null; + Token COLON191=null; + Token RPAREN192=null; wcpsParser.interpolationType_return type = null; wcpsParser.nullResistence_return res = null; - Object LPAREN192_tree=null; - Object COLON193_tree=null; - Object RPAREN194_tree=null; + Object LPAREN190_tree=null; + Object COLON191_tree=null; + Object RPAREN192_tree=null; try { if ( state.backtracking>0 && alreadyParsedRule(input, 68) ) { return retval; } - // src/grammar/wcps.g:340:2: ( LPAREN type= interpolationType COLON res= nullResistence RPAREN ) - // src/grammar/wcps.g:340:4: LPAREN type= interpolationType COLON res= nullResistence RPAREN + // src/grammar/wcps.g:342:2: ( LPAREN type= interpolationType COLON res= nullResistence RPAREN ) + // src/grammar/wcps.g:342:4: LPAREN type= interpolationType COLON res= nullResistence RPAREN { root_0 = (Object)adaptor.nil(); - LPAREN192=(Token)match(input,LPAREN,FOLLOW_LPAREN_in_interpolationMethod3505); if (state.failed) return retval; + LPAREN190=(Token)match(input,LPAREN,FOLLOW_LPAREN_in_interpolationMethod3515); if (state.failed) return retval; if ( state.backtracking==0 ) { - LPAREN192_tree = (Object)adaptor.create(LPAREN192); - adaptor.addChild(root_0, LPAREN192_tree); + LPAREN190_tree = (Object)adaptor.create(LPAREN190); + adaptor.addChild(root_0, LPAREN190_tree); } - pushFollow(FOLLOW_interpolationType_in_interpolationMethod3509); + pushFollow(FOLLOW_interpolationType_in_interpolationMethod3519); type=interpolationType(); state._fsp--; if (state.failed) return retval; if ( state.backtracking==0 ) adaptor.addChild(root_0, type.getTree()); - COLON193=(Token)match(input,COLON,FOLLOW_COLON_in_interpolationMethod3511); if (state.failed) return retval; + COLON191=(Token)match(input,COLON,FOLLOW_COLON_in_interpolationMethod3521); if (state.failed) return retval; if ( state.backtracking==0 ) { - COLON193_tree = (Object)adaptor.create(COLON193); - adaptor.addChild(root_0, COLON193_tree); + COLON191_tree = (Object)adaptor.create(COLON191); + adaptor.addChild(root_0, COLON191_tree); } - pushFollow(FOLLOW_nullResistence_in_interpolationMethod3515); + pushFollow(FOLLOW_nullResistence_in_interpolationMethod3525); res=nullResistence(); state._fsp--; if (state.failed) return retval; if ( state.backtracking==0 ) adaptor.addChild(root_0, res.getTree()); - RPAREN194=(Token)match(input,RPAREN,FOLLOW_RPAREN_in_interpolationMethod3517); if (state.failed) return retval; + RPAREN192=(Token)match(input,RPAREN,FOLLOW_RPAREN_in_interpolationMethod3527); if (state.failed) return retval; if ( state.backtracking==0 ) { - RPAREN194_tree = (Object)adaptor.create(RPAREN194); - adaptor.addChild(root_0, RPAREN194_tree); + RPAREN192_tree = (Object)adaptor.create(RPAREN192); + adaptor.addChild(root_0, RPAREN192_tree); } if ( state.backtracking==0 ) { retval.value = new InterpolationMethod((type!=null?type.value:null), (res!=null?res.value:null)); @@ -8771,7 +8755,7 @@ public class wcpsParser extends Parser { }; // $ANTLR start "interpolationType" - // src/grammar/wcps.g:342:1: interpolationType returns [String value] : type= ( NEAREST | LINEAR | QUADRATIC | CUBIC ) ; + // src/grammar/wcps.g:344:1: interpolationType returns [String value] : type= ( NEAREST | LINEAR | QUADRATIC | CUBIC ) ; public final wcpsParser.interpolationType_return interpolationType() throws RecognitionException { wcpsParser.interpolationType_return retval = new wcpsParser.interpolationType_return(); retval.start = input.LT(1); @@ -8784,8 +8768,8 @@ public class wcpsParser extends Parser { try { if ( state.backtracking>0 && alreadyParsedRule(input, 69) ) { return retval; } - // src/grammar/wcps.g:343:2: (type= ( NEAREST | LINEAR | QUADRATIC | CUBIC ) ) - // src/grammar/wcps.g:343:4: type= ( NEAREST | LINEAR | QUADRATIC | CUBIC ) + // src/grammar/wcps.g:345:2: (type= ( NEAREST | LINEAR | QUADRATIC | CUBIC ) ) + // src/grammar/wcps.g:345:4: type= ( NEAREST | LINEAR | QUADRATIC | CUBIC ) { root_0 = (Object)adaptor.nil(); @@ -8835,7 +8819,7 @@ public class wcpsParser extends Parser { }; // $ANTLR start "nullResistence" - // src/grammar/wcps.g:345:1: nullResistence returns [String value] : resistance= ( FULL | NONE | HALF | OTHER ) ; + // src/grammar/wcps.g:347:1: nullResistence returns [String value] : resistance= ( FULL | NONE | HALF | OTHER ) ; public final wcpsParser.nullResistence_return nullResistence() throws RecognitionException { wcpsParser.nullResistence_return retval = new wcpsParser.nullResistence_return(); retval.start = input.LT(1); @@ -8848,8 +8832,8 @@ public class wcpsParser extends Parser { try { if ( state.backtracking>0 && alreadyParsedRule(input, 70) ) { return retval; } - // src/grammar/wcps.g:346:2: (resistance= ( FULL | NONE | HALF | OTHER ) ) - // src/grammar/wcps.g:346:4: resistance= ( FULL | NONE | HALF | OTHER ) + // src/grammar/wcps.g:348:2: (resistance= ( FULL | NONE | HALF | OTHER ) ) + // src/grammar/wcps.g:348:4: resistance= ( FULL | NONE | HALF | OTHER ) { root_0 = (Object)adaptor.nil(); @@ -8899,7 +8883,7 @@ public class wcpsParser extends Parser { }; // $ANTLR start "condenseOpType" - // src/grammar/wcps.g:348:1: condenseOpType returns [CondenseOperation value] : op= ( PLUS | MULT | MAX | MIN | AND | OR ) ; + // src/grammar/wcps.g:350:1: condenseOpType returns [CondenseOperation value] : op= ( PLUS | MULT | MAX | MIN | AND | OR ) ; public final wcpsParser.condenseOpType_return condenseOpType() throws RecognitionException { wcpsParser.condenseOpType_return retval = new wcpsParser.condenseOpType_return(); retval.start = input.LT(1); @@ -8912,8 +8896,8 @@ public class wcpsParser extends Parser { try { if ( state.backtracking>0 && alreadyParsedRule(input, 71) ) { return retval; } - // src/grammar/wcps.g:349:2: (op= ( PLUS | MULT | MAX | MIN | AND | OR ) ) - // src/grammar/wcps.g:349:4: op= ( PLUS | MULT | MAX | MIN | AND | OR ) + // src/grammar/wcps.g:351:2: (op= ( PLUS | MULT | MAX | MIN | AND | OR ) ) + // src/grammar/wcps.g:351:4: op= ( PLUS | MULT | MAX | MIN | AND | OR ) { root_0 = (Object)adaptor.nil(); @@ -8963,32 +8947,32 @@ public class wcpsParser extends Parser { }; // $ANTLR start "fieldName" - // src/grammar/wcps.g:351:1: fieldName returns [String value] : name ; + // src/grammar/wcps.g:353:1: fieldName returns [String value] : name ; public final wcpsParser.fieldName_return fieldName() throws RecognitionException { wcpsParser.fieldName_return retval = new wcpsParser.fieldName_return(); retval.start = input.LT(1); int fieldName_StartIndex = input.index(); Object root_0 = null; - wcpsParser.name_return name195 = null; + wcpsParser.name_return name193 = null; try { if ( state.backtracking>0 && alreadyParsedRule(input, 72) ) { return retval; } - // src/grammar/wcps.g:352:2: ( name ) - // src/grammar/wcps.g:352:4: name + // src/grammar/wcps.g:354:2: ( name ) + // src/grammar/wcps.g:354:4: name { root_0 = (Object)adaptor.nil(); - pushFollow(FOLLOW_name_in_fieldName3611); - name195=name(); + pushFollow(FOLLOW_name_in_fieldName3621); + name193=name(); state._fsp--; if (state.failed) return retval; - if ( state.backtracking==0 ) adaptor.addChild(root_0, name195.getTree()); + if ( state.backtracking==0 ) adaptor.addChild(root_0, name193.getTree()); if ( state.backtracking==0 ) { - retval.value = new String((name195!=null?name195.value:null)); + retval.value = new String((name193!=null?name193.value:null)); } } @@ -9021,7 +9005,7 @@ public class wcpsParser extends Parser { }; // $ANTLR start "constant" - // src/grammar/wcps.g:354:1: constant returns [String value] : (e= ( STRING | BOOLEANCONSTANT | INTEGERCONSTANT | FLOATCONSTANT ) | e1= complexConstant ); + // src/grammar/wcps.g:356:1: constant returns [String value] : (e= ( STRING | BOOLEANCONSTANT | INTEGERCONSTANT | FLOATCONSTANT ) | e1= complexConstant ); public final wcpsParser.constant_return constant() throws RecognitionException { wcpsParser.constant_return retval = new wcpsParser.constant_return(); retval.start = input.LT(1); @@ -9036,26 +9020,26 @@ public class wcpsParser extends Parser { try { if ( state.backtracking>0 && alreadyParsedRule(input, 73) ) { return retval; } - // src/grammar/wcps.g:355:2: (e= ( STRING | BOOLEANCONSTANT | INTEGERCONSTANT | FLOATCONSTANT ) | e1= complexConstant ) - int alt59=2; - int LA59_0 = input.LA(1); + // src/grammar/wcps.g:357:2: (e= ( STRING | BOOLEANCONSTANT | INTEGERCONSTANT | FLOATCONSTANT ) | e1= complexConstant ) + int alt58=2; + int LA58_0 = input.LA(1); - if ( (LA59_0==INTEGERCONSTANT||LA59_0==STRING||(LA59_0>=BOOLEANCONSTANT && LA59_0<=FLOATCONSTANT)) ) { - alt59=1; + if ( (LA58_0==INTEGERCONSTANT||LA58_0==STRING||(LA58_0>=BOOLEANCONSTANT && LA58_0<=FLOATCONSTANT)) ) { + alt58=1; } - else if ( (LA59_0==LPAREN) ) { - alt59=2; + else if ( (LA58_0==LPAREN) ) { + alt58=2; } else { if (state.backtracking>0) {state.failed=true; return retval;} NoViableAltException nvae = - new NoViableAltException("", 59, 0, input); + new NoViableAltException("", 58, 0, input); throw nvae; } - switch (alt59) { + switch (alt58) { case 1 : - // src/grammar/wcps.g:355:4: e= ( STRING | BOOLEANCONSTANT | INTEGERCONSTANT | FLOATCONSTANT ) + // src/grammar/wcps.g:357:4: e= ( STRING | BOOLEANCONSTANT | INTEGERCONSTANT | FLOATCONSTANT ) { root_0 = (Object)adaptor.nil(); @@ -9078,11 +9062,11 @@ public class wcpsParser extends Parser { } break; case 2 : - // src/grammar/wcps.g:356:4: e1= complexConstant + // src/grammar/wcps.g:358:4: e1= complexConstant { root_0 = (Object)adaptor.nil(); - pushFollow(FOLLOW_complexConstant_in_constant3645); + pushFollow(FOLLOW_complexConstant_in_constant3655); e1=complexConstant(); state._fsp--; @@ -9124,7 +9108,7 @@ public class wcpsParser extends Parser { }; // $ANTLR start "complexConstant" - // src/grammar/wcps.g:358:1: complexConstant returns [String value] : LPAREN re1= FLOATCONSTANT COMMA im1= FLOATCONSTANT RPAREN ; + // src/grammar/wcps.g:360:1: complexConstant returns [String value] : LPAREN re1= FLOATCONSTANT COMMA im1= FLOATCONSTANT RPAREN ; public final wcpsParser.complexConstant_return complexConstant() throws RecognitionException { wcpsParser.complexConstant_return retval = new wcpsParser.complexConstant_return(); retval.start = input.LT(1); @@ -9133,47 +9117,47 @@ public class wcpsParser extends Parser { Token re1=null; Token im1=null; - Token LPAREN196=null; - Token COMMA197=null; - Token RPAREN198=null; + Token LPAREN194=null; + Token COMMA195=null; + Token RPAREN196=null; Object re1_tree=null; Object im1_tree=null; - Object LPAREN196_tree=null; - Object COMMA197_tree=null; - Object RPAREN198_tree=null; + Object LPAREN194_tree=null; + Object COMMA195_tree=null; + Object RPAREN196_tree=null; try { if ( state.backtracking>0 && alreadyParsedRule(input, 74) ) { return retval; } - // src/grammar/wcps.g:359:2: ( LPAREN re1= FLOATCONSTANT COMMA im1= FLOATCONSTANT RPAREN ) - // src/grammar/wcps.g:359:4: LPAREN re1= FLOATCONSTANT COMMA im1= FLOATCONSTANT RPAREN + // src/grammar/wcps.g:361:2: ( LPAREN re1= FLOATCONSTANT COMMA im1= FLOATCONSTANT RPAREN ) + // src/grammar/wcps.g:361:4: LPAREN re1= FLOATCONSTANT COMMA im1= FLOATCONSTANT RPAREN { root_0 = (Object)adaptor.nil(); - LPAREN196=(Token)match(input,LPAREN,FOLLOW_LPAREN_in_complexConstant3660); if (state.failed) return retval; + LPAREN194=(Token)match(input,LPAREN,FOLLOW_LPAREN_in_complexConstant3670); if (state.failed) return retval; if ( state.backtracking==0 ) { - LPAREN196_tree = (Object)adaptor.create(LPAREN196); - adaptor.addChild(root_0, LPAREN196_tree); + LPAREN194_tree = (Object)adaptor.create(LPAREN194); + adaptor.addChild(root_0, LPAREN194_tree); } - re1=(Token)match(input,FLOATCONSTANT,FOLLOW_FLOATCONSTANT_in_complexConstant3664); if (state.failed) return retval; + re1=(Token)match(input,FLOATCONSTANT,FOLLOW_FLOATCONSTANT_in_complexConstant3674); if (state.failed) return retval; if ( state.backtracking==0 ) { re1_tree = (Object)adaptor.create(re1); adaptor.addChild(root_0, re1_tree); } - COMMA197=(Token)match(input,COMMA,FOLLOW_COMMA_in_complexConstant3666); if (state.failed) return retval; + COMMA195=(Token)match(input,COMMA,FOLLOW_COMMA_in_complexConstant3676); if (state.failed) return retval; if ( state.backtracking==0 ) { - COMMA197_tree = (Object)adaptor.create(COMMA197); - adaptor.addChild(root_0, COMMA197_tree); + COMMA195_tree = (Object)adaptor.create(COMMA195); + adaptor.addChild(root_0, COMMA195_tree); } - im1=(Token)match(input,FLOATCONSTANT,FOLLOW_FLOATCONSTANT_in_complexConstant3670); if (state.failed) return retval; + im1=(Token)match(input,FLOATCONSTANT,FOLLOW_FLOATCONSTANT_in_complexConstant3680); if (state.failed) return retval; if ( state.backtracking==0 ) { im1_tree = (Object)adaptor.create(im1); adaptor.addChild(root_0, im1_tree); } - RPAREN198=(Token)match(input,RPAREN,FOLLOW_RPAREN_in_complexConstant3672); if (state.failed) return retval; + RPAREN196=(Token)match(input,RPAREN,FOLLOW_RPAREN_in_complexConstant3682); if (state.failed) return retval; if ( state.backtracking==0 ) { - RPAREN198_tree = (Object)adaptor.create(RPAREN198); - adaptor.addChild(root_0, RPAREN198_tree); + RPAREN196_tree = (Object)adaptor.create(RPAREN196); + adaptor.addChild(root_0, RPAREN196_tree); } if ( state.backtracking==0 ) { retval.value = new String((re1!=null?re1.getText():null) +"+i"+(im1!=null?im1.getText():null)); @@ -9209,7 +9193,7 @@ public class wcpsParser extends Parser { }; // $ANTLR start "stringConstant" - // src/grammar/wcps.g:361:1: stringConstant returns [String value] : s= STRING ; + // src/grammar/wcps.g:363:1: stringConstant returns [String value] : s= STRING ; public final wcpsParser.stringConstant_return stringConstant() throws RecognitionException { wcpsParser.stringConstant_return retval = new wcpsParser.stringConstant_return(); retval.start = input.LT(1); @@ -9222,12 +9206,12 @@ public class wcpsParser extends Parser { try { if ( state.backtracking>0 && alreadyParsedRule(input, 75) ) { return retval; } - // src/grammar/wcps.g:362:2: (s= STRING ) - // src/grammar/wcps.g:362:4: s= STRING + // src/grammar/wcps.g:364:2: (s= STRING ) + // src/grammar/wcps.g:364:4: s= STRING { root_0 = (Object)adaptor.nil(); - s=(Token)match(input,STRING,FOLLOW_STRING_in_stringConstant3689); if (state.failed) return retval; + s=(Token)match(input,STRING,FOLLOW_STRING_in_stringConstant3699); if (state.failed) return retval; if ( state.backtracking==0 ) { s_tree = (Object)adaptor.create(s); adaptor.addChild(root_0, s_tree); @@ -9266,7 +9250,7 @@ public class wcpsParser extends Parser { }; // $ANTLR start "name" - // src/grammar/wcps.g:364:1: name returns [String value] : var= ( NAME | STRING | INTEGERCONSTANT ) ; + // src/grammar/wcps.g:366:1: name returns [String value] : var= ( NAME | STRING | INTEGERCONSTANT ) ; public final wcpsParser.name_return name() throws RecognitionException { wcpsParser.name_return retval = new wcpsParser.name_return(); retval.start = input.LT(1); @@ -9279,8 +9263,8 @@ public class wcpsParser extends Parser { try { if ( state.backtracking>0 && alreadyParsedRule(input, 76) ) { return retval; } - // src/grammar/wcps.g:365:2: (var= ( NAME | STRING | INTEGERCONSTANT ) ) - // src/grammar/wcps.g:365:4: var= ( NAME | STRING | INTEGERCONSTANT ) + // src/grammar/wcps.g:367:2: (var= ( NAME | STRING | INTEGERCONSTANT ) ) + // src/grammar/wcps.g:367:4: var= ( NAME | STRING | INTEGERCONSTANT ) { root_0 = (Object)adaptor.nil(); @@ -9330,7 +9314,7 @@ public class wcpsParser extends Parser { }; // $ANTLR start "crsName" - // src/grammar/wcps.g:367:1: crsName returns [String value] : s= stringConstant ; + // src/grammar/wcps.g:369:1: crsName returns [String value] : s= stringConstant ; public final wcpsParser.crsName_return crsName() throws RecognitionException { wcpsParser.crsName_return retval = new wcpsParser.crsName_return(); retval.start = input.LT(1); @@ -9343,12 +9327,12 @@ public class wcpsParser extends Parser { try { if ( state.backtracking>0 && alreadyParsedRule(input, 77) ) { return retval; } - // src/grammar/wcps.g:368:2: (s= stringConstant ) - // src/grammar/wcps.g:368:4: s= stringConstant + // src/grammar/wcps.g:370:2: (s= stringConstant ) + // src/grammar/wcps.g:370:4: s= stringConstant { root_0 = (Object)adaptor.nil(); - pushFollow(FOLLOW_stringConstant_in_crsName3733); + pushFollow(FOLLOW_stringConstant_in_crsName3743); s=stringConstant(); state._fsp--; @@ -9388,7 +9372,7 @@ public class wcpsParser extends Parser { }; // $ANTLR start "axisName" - // src/grammar/wcps.g:370:1: axisName returns [String value] : type1= name ; + // src/grammar/wcps.g:372:1: axisName returns [String value] : type1= name ; public final wcpsParser.axisName_return axisName() throws RecognitionException { wcpsParser.axisName_return retval = new wcpsParser.axisName_return(); retval.start = input.LT(1); @@ -9401,12 +9385,12 @@ public class wcpsParser extends Parser { try { if ( state.backtracking>0 && alreadyParsedRule(input, 78) ) { return retval; } - // src/grammar/wcps.g:371:2: (type1= name ) - // src/grammar/wcps.g:371:4: type1= name + // src/grammar/wcps.g:373:2: (type1= name ) + // src/grammar/wcps.g:373:4: type1= name { root_0 = (Object)adaptor.nil(); - pushFollow(FOLLOW_name_in_axisName3750); + pushFollow(FOLLOW_name_in_axisName3760); type1=name(); state._fsp--; @@ -9446,7 +9430,7 @@ public class wcpsParser extends Parser { }; // $ANTLR start "variableName" - // src/grammar/wcps.g:373:1: variableName returns [String value] : var= ( VARIABLE_DOLLAR | NAME ) ; + // src/grammar/wcps.g:375:1: variableName returns [String value] : var= VARIABLE_DOLLAR ; public final wcpsParser.variableName_return variableName() throws RecognitionException { wcpsParser.variableName_return retval = new wcpsParser.variableName_return(); retval.start = input.LT(1); @@ -9459,23 +9443,73 @@ public class wcpsParser extends Parser { try { if ( state.backtracking>0 && alreadyParsedRule(input, 79) ) { return retval; } - // src/grammar/wcps.g:374:2: (var= ( VARIABLE_DOLLAR | NAME ) ) - // src/grammar/wcps.g:374:4: var= ( VARIABLE_DOLLAR | NAME ) + // src/grammar/wcps.g:376:2: (var= VARIABLE_DOLLAR ) + // src/grammar/wcps.g:376:4: var= VARIABLE_DOLLAR { root_0 = (Object)adaptor.nil(); - var=(Token)input.LT(1); - if ( (input.LA(1)>=NAME && input.LA(1)<=VARIABLE_DOLLAR) ) { - input.consume(); - if ( state.backtracking==0 ) adaptor.addChild(root_0, (Object)adaptor.create(var)); - state.errorRecovery=false;state.failed=false; + var=(Token)match(input,VARIABLE_DOLLAR,FOLLOW_VARIABLE_DOLLAR_in_variableName3777); if (state.failed) return retval; + if ( state.backtracking==0 ) { + var_tree = (Object)adaptor.create(var); + adaptor.addChild(root_0, var_tree); } - else { - if (state.backtracking>0) {state.failed=true; return retval;} - MismatchedSetException mse = new MismatchedSetException(null,input); - throw mse; + if ( state.backtracking==0 ) { + retval.value = new String((var!=null?var.getText():null)); + } + + } + + retval.stop = input.LT(-1); + + if ( state.backtracking==0 ) { + + retval.tree = (Object)adaptor.rulePostProcessing(root_0); + adaptor.setTokenBoundaries(retval.tree, retval.start, retval.stop); } + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + retval.tree = (Object)adaptor.errorNode(input, retval.start, input.LT(-1), re); + + } + finally { + if ( state.backtracking>0 ) { memoize(input, 79, variableName_StartIndex); } + } + return retval; + } + // $ANTLR end "variableName" + + public static class coverageVariable_return extends ParserRuleReturnScope { + public String value; + Object tree; + public Object getTree() { return tree; } + }; + + // $ANTLR start "coverageVariable" + // src/grammar/wcps.g:378:1: coverageVariable returns [String value] : var= NAME ; + public final wcpsParser.coverageVariable_return coverageVariable() throws RecognitionException { + wcpsParser.coverageVariable_return retval = new wcpsParser.coverageVariable_return(); + retval.start = input.LT(1); + int coverageVariable_StartIndex = input.index(); + Object root_0 = null; + + Token var=null; + Object var_tree=null; + + try { + if ( state.backtracking>0 && alreadyParsedRule(input, 80) ) { return retval; } + // src/grammar/wcps.g:379:2: (var= NAME ) + // src/grammar/wcps.g:379:4: var= NAME + { + root_0 = (Object)adaptor.nil(); + + var=(Token)match(input,NAME,FOLLOW_NAME_in_coverageVariable3794); if (state.failed) return retval; + if ( state.backtracking==0 ) { + var_tree = (Object)adaptor.create(var); + adaptor.addChild(root_0, var_tree); + } if ( state.backtracking==0 ) { retval.value = (var!=null?var.getText():null); } @@ -9497,11 +9531,11 @@ public class wcpsParser extends Parser { } finally { - if ( state.backtracking>0 ) { memoize(input, 79, variableName_StartIndex); } + if ( state.backtracking>0 ) { memoize(input, 80, coverageVariable_StartIndex); } } return retval; } - // $ANTLR end "variableName" + // $ANTLR end "coverageVariable" public static class coverageName_return extends ParserRuleReturnScope { public String value; @@ -9510,32 +9544,32 @@ public class wcpsParser extends Parser { }; // $ANTLR start "coverageName" - // src/grammar/wcps.g:376:1: coverageName returns [String value] : name ; + // src/grammar/wcps.g:381:1: coverageName returns [String value] : name ; public final wcpsParser.coverageName_return coverageName() throws RecognitionException { wcpsParser.coverageName_return retval = new wcpsParser.coverageName_return(); retval.start = input.LT(1); int coverageName_StartIndex = input.index(); Object root_0 = null; - wcpsParser.name_return name199 = null; + wcpsParser.name_return name197 = null; try { - if ( state.backtracking>0 && alreadyParsedRule(input, 80) ) { return retval; } - // src/grammar/wcps.g:377:2: ( name ) - // src/grammar/wcps.g:377:4: name + if ( state.backtracking>0 && alreadyParsedRule(input, 81) ) { return retval; } + // src/grammar/wcps.g:382:2: ( name ) + // src/grammar/wcps.g:382:4: name { root_0 = (Object)adaptor.nil(); - pushFollow(FOLLOW_name_in_coverageName3788); - name199=name(); + pushFollow(FOLLOW_name_in_coverageName3809); + name197=name(); state._fsp--; if (state.failed) return retval; - if ( state.backtracking==0 ) adaptor.addChild(root_0, name199.getTree()); + if ( state.backtracking==0 ) adaptor.addChild(root_0, name197.getTree()); if ( state.backtracking==0 ) { - retval.value = (name199!=null?name199.value:null); + retval.value = (name197!=null?name197.value:null); } } @@ -9555,7 +9589,7 @@ public class wcpsParser extends Parser { } finally { - if ( state.backtracking>0 ) { memoize(input, 80, coverageName_StartIndex); } + if ( state.backtracking>0 ) { memoize(input, 81, coverageName_StartIndex); } } return retval; } @@ -9567,8 +9601,8 @@ public class wcpsParser extends Parser { wcpsParser.coverageLogicTerm_return e2 = null; - // src/grammar/wcps.g:64:10: (op= ( OR | XOR ) e2= coverageLogicTerm ) - // src/grammar/wcps.g:64:10: op= ( OR | XOR ) e2= coverageLogicTerm + // src/grammar/wcps.g:65:10: (op= ( OR | XOR ) e2= coverageLogicTerm ) + // src/grammar/wcps.g:65:10: op= ( OR | XOR ) e2= coverageLogicTerm { op=(Token)input.LT(1); if ( (input.LA(1)>=OR && input.LA(1)<=XOR) ) { @@ -9597,8 +9631,8 @@ public class wcpsParser extends Parser { wcpsParser.coverageLogicFactor_return e2 = null; - // src/grammar/wcps.g:68:10: (op= AND e2= coverageLogicFactor ) - // src/grammar/wcps.g:68:10: op= AND e2= coverageLogicFactor + // src/grammar/wcps.g:69:10: (op= AND e2= coverageLogicFactor ) + // src/grammar/wcps.g:69:10: op= AND e2= coverageLogicFactor { op=(Token)match(input,AND,FOLLOW_AND_in_synpred9_wcps416); if (state.failed) return ; pushFollow(FOLLOW_coverageLogicFactor_in_synpred9_wcps420); @@ -9617,8 +9651,8 @@ public class wcpsParser extends Parser { wcpsParser.coverageArithmeticExpr_return e2 = null; - // src/grammar/wcps.g:72:10: (op= ( EQUALS | NOTEQUALS | LT | GT | LTE | GTE ) e2= coverageArithmeticExpr ) - // src/grammar/wcps.g:72:10: op= ( EQUALS | NOTEQUALS | LT | GT | LTE | GTE ) e2= coverageArithmeticExpr + // src/grammar/wcps.g:73:10: (op= ( EQUALS | NOTEQUALS | LT | GT | LTE | GTE ) e2= coverageArithmeticExpr ) + // src/grammar/wcps.g:73:10: op= ( EQUALS | NOTEQUALS | LT | GT | LTE | GTE ) e2= coverageArithmeticExpr { op=(Token)input.LT(1); if ( (input.LA(1)>=EQUALS && input.LA(1)<=GTE) ) { @@ -9647,8 +9681,8 @@ public class wcpsParser extends Parser { wcpsParser.coverageArithmeticTerm_return e2 = null; - // src/grammar/wcps.g:76:10: (op= ( PLUS | MINUS ) e2= coverageArithmeticTerm ) - // src/grammar/wcps.g:76:10: op= ( PLUS | MINUS ) e2= coverageArithmeticTerm + // src/grammar/wcps.g:77:10: (op= ( PLUS | MINUS ) e2= coverageArithmeticTerm ) + // src/grammar/wcps.g:77:10: op= ( PLUS | MINUS ) e2= coverageArithmeticTerm { op=(Token)input.LT(1); if ( (input.LA(1)>=PLUS && input.LA(1)<=MINUS) ) { @@ -9677,8 +9711,8 @@ public class wcpsParser extends Parser { wcpsParser.coverageArithmeticFactor_return e2 = null; - // src/grammar/wcps.g:80:10: (op= ( MULT | DIVIDE ) e2= coverageArithmeticFactor ) - // src/grammar/wcps.g:80:10: op= ( MULT | DIVIDE ) e2= coverageArithmeticFactor + // src/grammar/wcps.g:81:10: (op= ( MULT | DIVIDE ) e2= coverageArithmeticFactor ) + // src/grammar/wcps.g:81:10: op= ( MULT | DIVIDE ) e2= coverageArithmeticFactor { op=(Token)input.LT(1); if ( (input.LA(1)>=MULT && input.LA(1)<=DIVIDE) ) { @@ -9707,8 +9741,8 @@ public class wcpsParser extends Parser { wcpsParser.coverageValue_return e2 = null; - // src/grammar/wcps.g:84:10: (op= OVERLAY e2= coverageValue ) - // src/grammar/wcps.g:84:10: op= OVERLAY e2= coverageValue + // src/grammar/wcps.g:85:10: (op= OVERLAY e2= coverageValue ) + // src/grammar/wcps.g:85:10: op= OVERLAY e2= coverageValue { op=(Token)match(input,OVERLAY,FOLLOW_OVERLAY_in_synpred20_wcps625); if (state.failed) return ; pushFollow(FOLLOW_coverageValue_in_synpred20_wcps629); @@ -9726,8 +9760,8 @@ public class wcpsParser extends Parser { wcpsParser.subsetExpr_return e5 = null; - // src/grammar/wcps.g:87:7: (e5= subsetExpr ) - // src/grammar/wcps.g:87:7: e5= subsetExpr + // src/grammar/wcps.g:88:7: (e5= subsetExpr ) + // src/grammar/wcps.g:88:7: e5= subsetExpr { pushFollow(FOLLOW_subsetExpr_in_synpred21_wcps655); e5=subsetExpr(); @@ -9744,8 +9778,8 @@ public class wcpsParser extends Parser { wcpsParser.unaryInducedExpr_return e2 = null; - // src/grammar/wcps.g:88:7: (e2= unaryInducedExpr ) - // src/grammar/wcps.g:88:7: e2= unaryInducedExpr + // src/grammar/wcps.g:89:7: (e2= unaryInducedExpr ) + // src/grammar/wcps.g:89:7: e2= unaryInducedExpr { pushFollow(FOLLOW_unaryInducedExpr_in_synpred22_wcps668); e2=unaryInducedExpr(); @@ -9762,8 +9796,8 @@ public class wcpsParser extends Parser { wcpsParser.scalarExpr_return e2 = null; - // src/grammar/wcps.g:94:7: (e2= scalarExpr ) - // src/grammar/wcps.g:94:7: e2= scalarExpr + // src/grammar/wcps.g:95:7: (e2= scalarExpr ) + // src/grammar/wcps.g:95:7: e2= scalarExpr { pushFollow(FOLLOW_scalarExpr_in_synpred25_wcps727); e2=scalarExpr(); @@ -9780,8 +9814,8 @@ public class wcpsParser extends Parser { wcpsParser.coverageExpr_return e7 = null; - // src/grammar/wcps.g:96:7: ( LPAREN e7= coverageExpr RPAREN ) - // src/grammar/wcps.g:96:7: LPAREN e7= coverageExpr RPAREN + // src/grammar/wcps.g:97:7: ( LPAREN e7= coverageExpr RPAREN ) + // src/grammar/wcps.g:97:7: LPAREN e7= coverageExpr RPAREN { match(input,LPAREN,FOLLOW_LPAREN_in_synpred27_wcps749); if (state.failed) return ; pushFollow(FOLLOW_coverageExpr_in_synpred27_wcps753); @@ -9800,8 +9834,8 @@ public class wcpsParser extends Parser { wcpsParser.coverageConstantExpr_return e3 = null; - // src/grammar/wcps.g:97:7: (e3= coverageConstantExpr ) - // src/grammar/wcps.g:97:7: e3= coverageConstantExpr + // src/grammar/wcps.g:98:7: (e3= coverageConstantExpr ) + // src/grammar/wcps.g:98:7: e3= coverageConstantExpr { pushFollow(FOLLOW_coverageConstantExpr_in_synpred28_wcps768); e3=coverageConstantExpr(); @@ -9818,8 +9852,8 @@ public class wcpsParser extends Parser { wcpsParser.coverageConstructorExpr_return e4 = null; - // src/grammar/wcps.g:98:7: (e4= coverageConstructorExpr ) - // src/grammar/wcps.g:98:7: e4= coverageConstructorExpr + // src/grammar/wcps.g:99:7: (e4= coverageConstructorExpr ) + // src/grammar/wcps.g:99:7: e4= coverageConstructorExpr { pushFollow(FOLLOW_coverageConstructorExpr_in_synpred29_wcps780); e4=coverageConstructorExpr(); @@ -9836,8 +9870,8 @@ public class wcpsParser extends Parser { wcpsParser.metaDataExpr_return e1 = null; - // src/grammar/wcps.g:103:7: (e1= metaDataExpr ) - // src/grammar/wcps.g:103:7: e1= metaDataExpr + // src/grammar/wcps.g:104:7: (e1= metaDataExpr ) + // src/grammar/wcps.g:104:7: e1= metaDataExpr { pushFollow(FOLLOW_metaDataExpr_in_synpred31_wcps830); e1=metaDataExpr(); @@ -9854,8 +9888,8 @@ public class wcpsParser extends Parser { wcpsParser.condenseExpr_return e2 = null; - // src/grammar/wcps.g:104:7: (e2= condenseExpr ) - // src/grammar/wcps.g:104:7: e2= condenseExpr + // src/grammar/wcps.g:105:7: (e2= condenseExpr ) + // src/grammar/wcps.g:105:7: e2= condenseExpr { pushFollow(FOLLOW_condenseExpr_in_synpred32_wcps843); e2=condenseExpr(); @@ -9872,8 +9906,8 @@ public class wcpsParser extends Parser { wcpsParser.booleanScalarExpr_return e3 = null; - // src/grammar/wcps.g:105:7: (e3= booleanScalarExpr ) - // src/grammar/wcps.g:105:7: e3= booleanScalarExpr + // src/grammar/wcps.g:106:7: (e3= booleanScalarExpr ) + // src/grammar/wcps.g:106:7: e3= booleanScalarExpr { pushFollow(FOLLOW_booleanScalarExpr_in_synpred33_wcps856); e3=booleanScalarExpr(); @@ -9890,8 +9924,8 @@ public class wcpsParser extends Parser { wcpsParser.numericScalarExpr_return e4 = null; - // src/grammar/wcps.g:106:7: (e4= numericScalarExpr ) - // src/grammar/wcps.g:106:7: e4= numericScalarExpr + // src/grammar/wcps.g:107:7: (e4= numericScalarExpr ) + // src/grammar/wcps.g:107:7: e4= numericScalarExpr { pushFollow(FOLLOW_numericScalarExpr_in_synpred34_wcps870); e4=numericScalarExpr(); @@ -9908,8 +9942,8 @@ public class wcpsParser extends Parser { wcpsParser.stringScalarExpr_return e5 = null; - // src/grammar/wcps.g:107:7: (e5= stringScalarExpr ) - // src/grammar/wcps.g:107:7: e5= stringScalarExpr + // src/grammar/wcps.g:108:7: (e5= stringScalarExpr ) + // src/grammar/wcps.g:108:7: e5= stringScalarExpr { pushFollow(FOLLOW_stringScalarExpr_in_synpred35_wcps883); e5=stringScalarExpr(); @@ -9926,8 +9960,8 @@ public class wcpsParser extends Parser { wcpsParser.fieldExpr_return e6 = null; - // src/grammar/wcps.g:201:7: (e6= fieldExpr ) - // src/grammar/wcps.g:201:7: e6= fieldExpr + // src/grammar/wcps.g:202:7: (e6= fieldExpr ) + // src/grammar/wcps.g:202:7: e6= fieldExpr { pushFollow(FOLLOW_fieldExpr_in_synpred70_wcps2013); e6=fieldExpr(); @@ -9944,8 +9978,8 @@ public class wcpsParser extends Parser { wcpsParser.unaryArithmeticExpr_return e1 = null; - // src/grammar/wcps.g:202:4: (e1= unaryArithmeticExpr ) - // src/grammar/wcps.g:202:4: e1= unaryArithmeticExpr + // src/grammar/wcps.g:203:4: (e1= unaryArithmeticExpr ) + // src/grammar/wcps.g:203:4: e1= unaryArithmeticExpr { pushFollow(FOLLOW_unaryArithmeticExpr_in_synpred71_wcps2022); e1=unaryArithmeticExpr(); @@ -9962,8 +9996,8 @@ public class wcpsParser extends Parser { wcpsParser.booleanExpr_return e4 = null; - // src/grammar/wcps.g:205:7: (e4= booleanExpr ) - // src/grammar/wcps.g:205:7: e4= booleanExpr + // src/grammar/wcps.g:206:7: (e4= booleanExpr ) + // src/grammar/wcps.g:206:7: e4= booleanExpr { pushFollow(FOLLOW_booleanExpr_in_synpred74_wcps2058); e4=booleanExpr(); @@ -9980,10 +10014,10 @@ public class wcpsParser extends Parser { wcpsParser.trimExpr_return e1 = null; - // src/grammar/wcps.g:246:4: (e1= trimExpr ) - // src/grammar/wcps.g:246:4: e1= trimExpr + // src/grammar/wcps.g:247:4: (e1= trimExpr ) + // src/grammar/wcps.g:247:4: e1= trimExpr { - pushFollow(FOLLOW_trimExpr_in_synpred99_wcps2540); + pushFollow(FOLLOW_trimExpr_in_synpred99_wcps2538); e1=trimExpr(); state._fsp--; @@ -9998,10 +10032,10 @@ public class wcpsParser extends Parser { wcpsParser.sliceExpr_return e2 = null; - // src/grammar/wcps.g:247:4: (e2= sliceExpr ) - // src/grammar/wcps.g:247:4: e2= sliceExpr + // src/grammar/wcps.g:248:4: (e2= sliceExpr ) + // src/grammar/wcps.g:248:4: e2= sliceExpr { - pushFollow(FOLLOW_sliceExpr_in_synpred100_wcps2549); + pushFollow(FOLLOW_sliceExpr_in_synpred100_wcps2547); e2=sliceExpr(); state._fsp--; @@ -10017,8 +10051,8 @@ public class wcpsParser extends Parser { wcpsParser.booleanScalarTerm_return e2 = null; - // src/grammar/wcps.g:275:8: (op= ( OR | XOR ) e2= booleanScalarTerm ) - // src/grammar/wcps.g:275:8: op= ( OR | XOR ) e2= booleanScalarTerm + // src/grammar/wcps.g:276:8: (op= ( OR | XOR ) e2= booleanScalarTerm ) + // src/grammar/wcps.g:276:8: op= ( OR | XOR ) e2= booleanScalarTerm { op=(Token)input.LT(1); if ( (input.LA(1)>=OR && input.LA(1)<=XOR) ) { @@ -10031,7 +10065,7 @@ public class wcpsParser extends Parser { throw mse; } - pushFollow(FOLLOW_booleanScalarTerm_in_synpred114_wcps2851); + pushFollow(FOLLOW_booleanScalarTerm_in_synpred114_wcps2849); e2=booleanScalarTerm(); state._fsp--; @@ -10047,11 +10081,11 @@ public class wcpsParser extends Parser { wcpsParser.booleanScalarNegation_return e2 = null; - // src/grammar/wcps.g:279:5: (op= AND e2= booleanScalarNegation ) - // src/grammar/wcps.g:279:5: op= AND e2= booleanScalarNegation + // src/grammar/wcps.g:280:5: (op= AND e2= booleanScalarNegation ) + // src/grammar/wcps.g:280:5: op= AND e2= booleanScalarNegation { - op=(Token)match(input,AND,FOLLOW_AND_in_synpred115_wcps2883); if (state.failed) return ; - pushFollow(FOLLOW_booleanScalarNegation_in_synpred115_wcps2887); + op=(Token)match(input,AND,FOLLOW_AND_in_synpred115_wcps2881); if (state.failed) return ; + pushFollow(FOLLOW_booleanScalarNegation_in_synpred115_wcps2885); e2=booleanScalarNegation(); state._fsp--; @@ -10066,16 +10100,16 @@ public class wcpsParser extends Parser { wcpsParser.booleanScalarExpr_return e1 = null; - // src/grammar/wcps.g:286:4: ( LPAREN e1= booleanScalarExpr RPAREN ) - // src/grammar/wcps.g:286:4: LPAREN e1= booleanScalarExpr RPAREN + // src/grammar/wcps.g:287:4: ( LPAREN e1= booleanScalarExpr RPAREN ) + // src/grammar/wcps.g:287:4: LPAREN e1= booleanScalarExpr RPAREN { - match(input,LPAREN,FOLLOW_LPAREN_in_synpred117_wcps2936); if (state.failed) return ; - pushFollow(FOLLOW_booleanScalarExpr_in_synpred117_wcps2940); + match(input,LPAREN,FOLLOW_LPAREN_in_synpred117_wcps2934); if (state.failed) return ; + pushFollow(FOLLOW_booleanScalarExpr_in_synpred117_wcps2938); e1=booleanScalarExpr(); state._fsp--; if (state.failed) return ; - match(input,RPAREN,FOLLOW_RPAREN_in_synpred117_wcps2942); if (state.failed) return ; + match(input,RPAREN,FOLLOW_RPAREN_in_synpred117_wcps2940); if (state.failed) return ; } } @@ -10090,20 +10124,20 @@ public class wcpsParser extends Parser { wcpsParser.numericScalarExpr_return n2 = null; - // src/grammar/wcps.g:288:4: (n1= numericScalarExpr cop= compOp n2= numericScalarExpr ) - // src/grammar/wcps.g:288:4: n1= numericScalarExpr cop= compOp n2= numericScalarExpr + // src/grammar/wcps.g:289:4: (n1= numericScalarExpr cop= compOp n2= numericScalarExpr ) + // src/grammar/wcps.g:289:4: n1= numericScalarExpr cop= compOp n2= numericScalarExpr { - pushFollow(FOLLOW_numericScalarExpr_in_synpred119_wcps2969); + pushFollow(FOLLOW_numericScalarExpr_in_synpred119_wcps2967); n1=numericScalarExpr(); state._fsp--; if (state.failed) return ; - pushFollow(FOLLOW_compOp_in_synpred119_wcps2973); + pushFollow(FOLLOW_compOp_in_synpred119_wcps2971); cop=compOp(); state._fsp--; if (state.failed) return ; - pushFollow(FOLLOW_numericScalarExpr_in_synpred119_wcps2977); + pushFollow(FOLLOW_numericScalarExpr_in_synpred119_wcps2975); n2=numericScalarExpr(); state._fsp--; @@ -10119,8 +10153,8 @@ public class wcpsParser extends Parser { wcpsParser.numericScalarTerm_return e2 = null; - // src/grammar/wcps.g:293:5: (op= ( PLUS | MINUS ) e2= numericScalarTerm ) - // src/grammar/wcps.g:293:5: op= ( PLUS | MINUS ) e2= numericScalarTerm + // src/grammar/wcps.g:294:5: (op= ( PLUS | MINUS ) e2= numericScalarTerm ) + // src/grammar/wcps.g:294:5: op= ( PLUS | MINUS ) e2= numericScalarTerm { op=(Token)input.LT(1); if ( (input.LA(1)>=PLUS && input.LA(1)<=MINUS) ) { @@ -10133,7 +10167,7 @@ public class wcpsParser extends Parser { throw mse; } - pushFollow(FOLLOW_numericScalarTerm_in_synpred121_wcps3022); + pushFollow(FOLLOW_numericScalarTerm_in_synpred121_wcps3020); e2=numericScalarTerm(); state._fsp--; @@ -10149,8 +10183,8 @@ public class wcpsParser extends Parser { wcpsParser.numericScalarFactor_return e2 = null; - // src/grammar/wcps.g:297:4: (op= ( MULT | DIVIDE ) e2= numericScalarFactor ) - // src/grammar/wcps.g:297:4: op= ( MULT | DIVIDE ) e2= numericScalarFactor + // src/grammar/wcps.g:298:4: (op= ( MULT | DIVIDE ) e2= numericScalarFactor ) + // src/grammar/wcps.g:298:4: op= ( MULT | DIVIDE ) e2= numericScalarFactor { op=(Token)input.LT(1); if ( (input.LA(1)>=MULT && input.LA(1)<=DIVIDE) ) { @@ -10163,7 +10197,7 @@ public class wcpsParser extends Parser { throw mse; } - pushFollow(FOLLOW_numericScalarFactor_in_synpred123_wcps3058); + pushFollow(FOLLOW_numericScalarFactor_in_synpred123_wcps3056); e2=numericScalarFactor(); state._fsp--; @@ -10178,16 +10212,16 @@ public class wcpsParser extends Parser { wcpsParser.numericScalarExpr_return e1 = null; - // src/grammar/wcps.g:300:7: ( LPAREN e1= numericScalarExpr RPAREN ) - // src/grammar/wcps.g:300:7: LPAREN e1= numericScalarExpr RPAREN + // src/grammar/wcps.g:301:7: ( LPAREN e1= numericScalarExpr RPAREN ) + // src/grammar/wcps.g:301:7: LPAREN e1= numericScalarExpr RPAREN { - match(input,LPAREN,FOLLOW_LPAREN_in_synpred124_wcps3078); if (state.failed) return ; - pushFollow(FOLLOW_numericScalarExpr_in_synpred124_wcps3082); + match(input,LPAREN,FOLLOW_LPAREN_in_synpred124_wcps3076); if (state.failed) return ; + pushFollow(FOLLOW_numericScalarExpr_in_synpred124_wcps3080); e1=numericScalarExpr(); state._fsp--; if (state.failed) return ; - match(input,RPAREN,FOLLOW_RPAREN_in_synpred124_wcps3084); if (state.failed) return ; + match(input,RPAREN,FOLLOW_RPAREN_in_synpred124_wcps3082); if (state.failed) return ; } } @@ -10198,10 +10232,10 @@ public class wcpsParser extends Parser { wcpsParser.complexConstant_return e2 = null; - // src/grammar/wcps.g:305:7: (e2= complexConstant ) - // src/grammar/wcps.g:305:7: e2= complexConstant + // src/grammar/wcps.g:306:7: (e2= complexConstant ) + // src/grammar/wcps.g:306:7: e2= complexConstant { - pushFollow(FOLLOW_complexConstant_in_synpred129_wcps3156); + pushFollow(FOLLOW_complexConstant_in_synpred129_wcps3154); e2=complexConstant(); state._fsp--; @@ -10211,23 +10245,23 @@ public class wcpsParser extends Parser { } // $ANTLR end synpred129_wcps - // $ANTLR start synpred137_wcps - public final void synpred137_wcps_fragment() throws RecognitionException { + // $ANTLR start synpred138_wcps + public final void synpred138_wcps_fragment() throws RecognitionException { wcpsParser.scalarExpr_return e1 = null; wcpsParser.scalarExpr_return e2 = null; - // src/grammar/wcps.g:325:7: (e1= scalarExpr COLON e2= scalarExpr ) - // src/grammar/wcps.g:325:7: e1= scalarExpr COLON e2= scalarExpr + // src/grammar/wcps.g:327:7: (e1= scalarExpr COLON e2= scalarExpr ) + // src/grammar/wcps.g:327:7: e1= scalarExpr COLON e2= scalarExpr { - pushFollow(FOLLOW_scalarExpr_in_synpred137_wcps3332); + pushFollow(FOLLOW_scalarExpr_in_synpred138_wcps3342); e1=scalarExpr(); state._fsp--; if (state.failed) return ; - match(input,COLON,FOLLOW_COLON_in_synpred137_wcps3334); if (state.failed) return ; - pushFollow(FOLLOW_scalarExpr_in_synpred137_wcps3338); + match(input,COLON,FOLLOW_COLON_in_synpred138_wcps3344); if (state.failed) return ; + pushFollow(FOLLOW_scalarExpr_in_synpred138_wcps3348); e2=scalarExpr(); state._fsp--; @@ -10235,7 +10269,7 @@ public class wcpsParser extends Parser { } } - // $ANTLR end synpred137_wcps + // $ANTLR end synpred138_wcps // Delegated rules @@ -10463,6 +10497,20 @@ public class wcpsParser extends Parser { state.failed=false; return success; } + public final boolean synpred138_wcps() { + state.backtracking++; + int start = input.mark(); + try { + synpred138_wcps_fragment(); // can never throw exception + } catch (RecognitionException re) { + System.err.println("impossible: "+re); + } + boolean success = !state.failed; + input.rewind(start); + state.backtracking--; + state.failed=false; + return success; + } public final boolean synpred28_wcps() { state.backtracking++; int start = input.mark(); @@ -10659,20 +10707,6 @@ public class wcpsParser extends Parser { state.failed=false; return success; } - public final boolean synpred137_wcps() { - state.backtracking++; - int start = input.mark(); - try { - synpred137_wcps_fragment(); // can never throw exception - } catch (RecognitionException re) { - System.err.println("impossible: "+re); - } - boolean success = !state.failed; - input.rewind(start); - state.backtracking--; - state.failed=false; - return success; - } protected DFA4 dfa4 = new DFA4(this); @@ -10686,32 +10720,33 @@ public class wcpsParser extends Parser { protected DFA13 dfa13 = new DFA13(this); protected DFA14 dfa14 = new DFA14(this); protected DFA34 dfa34 = new DFA34(this); + protected DFA41 dfa41 = new DFA41(this); protected DFA42 dfa42 = new DFA42(this); protected DFA43 dfa43 = new DFA43(this); - protected DFA44 dfa44 = new DFA44(this); + protected DFA45 dfa45 = new DFA45(this); protected DFA46 dfa46 = new DFA46(this); protected DFA47 dfa47 = new DFA47(this); protected DFA48 dfa48 = new DFA48(this); protected DFA49 dfa49 = new DFA49(this); protected DFA50 dfa50 = new DFA50(this); protected DFA51 dfa51 = new DFA51(this); - protected DFA52 dfa52 = new DFA52(this); - protected DFA56 dfa56 = new DFA56(this); + protected DFA55 dfa55 = new DFA55(this); static final String DFA4_eotS = - "\25\uffff"; + "\26\uffff"; static final String DFA4_eofS = - "\25\uffff"; + "\26\uffff"; static final String DFA4_minS = - "\1\6\24\uffff"; + "\1\6\25\uffff"; static final String DFA4_maxS = - "\1\142\24\uffff"; + "\1\154\25\uffff"; static final String DFA4_acceptS = - "\1\uffff\1\1\1\2\1\3\21\uffff"; + "\1\uffff\1\1\1\2\1\3\22\uffff"; static final String DFA4_specialS = - "\25\uffff}>"; + "\26\uffff}>"; static final String[] DFA4_transitionS = { "\1\3\4\uffff\1\1\1\2\12\uffff\1\3\3\uffff\20\3\41\uffff\1\3"+ - "\1\uffff\3\3\20\uffff\2\3", + "\1\uffff\3\3\20\uffff\2\3\11\uffff\1\3", + "", "", "", "", @@ -10764,24 +10799,24 @@ public class wcpsParser extends Parser { this.transition = DFA4_transition; } public String getDescription() { - return "50:1: processingExpr returns [ProcessingExpr value] : (e1= encodedCoverageExpr | e2= storeExpr | e3= scalarExpr );"; + return "51:1: processingExpr returns [ProcessingExpr value] : (e1= encodedCoverageExpr | e2= storeExpr | e3= scalarExpr );"; } } static final String DFA6_eotS = - "\62\uffff"; + "\75\uffff"; static final String DFA6_eofS = - "\1\1\61\uffff"; + "\1\1\74\uffff"; static final String DFA6_minS = - "\1\7\11\uffff\1\0\47\uffff"; + "\1\7\10\uffff\1\0\63\uffff"; static final String DFA6_maxS = - "\1\71\11\uffff\1\0\47\uffff"; + "\1\140\10\uffff\1\0\63\uffff"; static final String DFA6_acceptS = - "\1\uffff\1\2\57\uffff\1\1"; + "\1\uffff\1\2\72\uffff\1\1"; static final String DFA6_specialS = - "\12\uffff\1\0\47\uffff}>"; + "\11\uffff\1\0\63\uffff}>"; static final String[] DFA6_transitionS = { - "\2\1\4\uffff\2\12\14\1\26\uffff\1\1\7\uffff\1\1", - "", + "\2\1\1\uffff\1\1\2\uffff\2\11\14\1\21\uffff\2\1\3\uffff\1\1"+ + "\7\uffff\1\1\30\uffff\1\1\15\uffff\1\1", "", "", "", @@ -10829,13 +10864,25 @@ public class wcpsParser extends Parser { "", "", "", - "" - }; - - static final short[] DFA6_eot = DFA.unpackEncodedString(DFA6_eotS); - static final short[] DFA6_eof = DFA.unpackEncodedString(DFA6_eofS); - static final char[] DFA6_min = DFA.unpackEncodedStringToUnsignedChars(DFA6_minS); - static final char[] DFA6_max = DFA.unpackEncodedStringToUnsignedChars(DFA6_maxS); + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "" + }; + + static final short[] DFA6_eot = DFA.unpackEncodedString(DFA6_eotS); + static final short[] DFA6_eof = DFA.unpackEncodedString(DFA6_eofS); + static final char[] DFA6_min = DFA.unpackEncodedStringToUnsignedChars(DFA6_minS); + static final char[] DFA6_max = DFA.unpackEncodedStringToUnsignedChars(DFA6_maxS); static final short[] DFA6_accept = DFA.unpackEncodedString(DFA6_acceptS); static final short[] DFA6_special = DFA.unpackEncodedString(DFA6_specialS); static final short[][] DFA6_transition; @@ -10862,25 +10909,25 @@ public class wcpsParser extends Parser { this.transition = DFA6_transition; } public String getDescription() { - return "()* loopback of 64:9: (op= ( OR | XOR ) e2= coverageLogicTerm )*"; + return "()* loopback of 65:9: (op= ( OR | XOR ) e2= coverageLogicTerm )*"; } public int specialStateTransition(int s, IntStream _input) throws NoViableAltException { TokenStream input = (TokenStream)_input; int _s = s; switch ( s ) { case 0 : - int LA6_10 = input.LA(1); + int LA6_9 = input.LA(1); - int index6_10 = input.index(); + int index6_9 = input.index(); input.rewind(); s = -1; - if ( (synpred8_wcps()) ) {s = 49;} + if ( (synpred8_wcps()) ) {s = 60;} else if ( (true) ) {s = 1;} - input.seek(index6_10); + input.seek(index6_9); if ( s>=0 ) return s; break; } @@ -10892,20 +10939,20 @@ public class wcpsParser extends Parser { } } static final String DFA7_eotS = - "\62\uffff"; + "\75\uffff"; static final String DFA7_eofS = - "\1\1\61\uffff"; + "\1\1\74\uffff"; static final String DFA7_minS = - "\1\7\11\uffff\1\0\47\uffff"; + "\1\7\10\uffff\1\0\63\uffff"; static final String DFA7_maxS = - "\1\71\11\uffff\1\0\47\uffff"; + "\1\140\10\uffff\1\0\63\uffff"; static final String DFA7_acceptS = - "\1\uffff\1\2\57\uffff\1\1"; + "\1\uffff\1\2\72\uffff\1\1"; static final String DFA7_specialS = - "\12\uffff\1\0\47\uffff}>"; + "\11\uffff\1\0\63\uffff}>"; static final String[] DFA7_transitionS = { - "\2\1\4\uffff\2\1\1\12\13\1\26\uffff\1\1\7\uffff\1\1", - "", + "\2\1\1\uffff\1\1\2\uffff\2\1\1\11\13\1\21\uffff\2\1\3\uffff"+ + "\1\1\7\uffff\1\1\30\uffff\1\1\15\uffff\1\1", "", "", "", @@ -10953,6 +11000,18 @@ public class wcpsParser extends Parser { "", "", "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", "" }; @@ -10986,25 +11045,25 @@ public class wcpsParser extends Parser { this.transition = DFA7_transition; } public String getDescription() { - return "()* loopback of 68:9: (op= AND e2= coverageLogicFactor )*"; + return "()* loopback of 69:9: (op= AND e2= coverageLogicFactor )*"; } public int specialStateTransition(int s, IntStream _input) throws NoViableAltException { TokenStream input = (TokenStream)_input; int _s = s; switch ( s ) { case 0 : - int LA7_10 = input.LA(1); + int LA7_9 = input.LA(1); - int index7_10 = input.index(); + int index7_9 = input.index(); input.rewind(); s = -1; - if ( (synpred9_wcps()) ) {s = 49;} + if ( (synpred9_wcps()) ) {s = 60;} else if ( (true) ) {s = 1;} - input.seek(index7_10); + input.seek(index7_9); if ( s>=0 ) return s; break; } @@ -11016,20 +11075,223 @@ public class wcpsParser extends Parser { } } static final String DFA8_eotS = - "\62\uffff"; + "\u00fb\uffff"; static final String DFA8_eofS = - "\1\2\61\uffff"; + "\1\2\u00fa\uffff"; static final String DFA8_minS = - "\1\7\1\0\60\uffff"; + "\1\7\1\0\14\uffff\5\0\u00e8\uffff"; static final String DFA8_maxS = - "\1\71\1\0\60\uffff"; + "\1\140\1\0\14\uffff\5\0\u00e8\uffff"; static final String DFA8_acceptS = - "\2\uffff\1\2\56\uffff\1\1"; + "\2\uffff\1\2\71\uffff\1\1\u00be\uffff"; static final String DFA8_specialS = - "\1\uffff\1\0\60\uffff}>"; + "\1\uffff\1\0\14\uffff\1\1\1\2\1\3\1\4\1\5\u00e8\uffff}>"; static final String[] DFA8_transitionS = { - "\2\2\4\uffff\3\2\6\1\5\2\26\uffff\1\2\7\uffff\1\2", + "\2\2\1\uffff\1\2\2\uffff\3\2\1\1\1\16\1\17\1\20\1\21\1\22\5"+ + "\2\21\uffff\2\2\3\uffff\1\2\7\uffff\1\2\30\uffff\1\2\15\uffff"+ + "\1\2", + "\1\uffff", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "\1\uffff", + "\1\uffff", "\1\uffff", + "\1\uffff", + "\1\uffff", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", "", "", "", @@ -11110,7 +11372,7 @@ public class wcpsParser extends Parser { this.transition = DFA8_transition; } public String getDescription() { - return "72:9: (op= ( EQUALS | NOTEQUALS | LT | GT | LTE | GTE ) e2= coverageArithmeticExpr )?"; + return "73:9: (op= ( EQUALS | NOTEQUALS | LT | GT | LTE | GTE ) e2= coverageArithmeticExpr )?"; } public int specialStateTransition(int s, IntStream _input) throws NoViableAltException { TokenStream input = (TokenStream)_input; @@ -11123,7 +11385,7 @@ public class wcpsParser extends Parser { int index8_1 = input.index(); input.rewind(); s = -1; - if ( (synpred15_wcps()) ) {s = 49;} + if ( (synpred15_wcps()) ) {s = 60;} else if ( (true) ) {s = 2;} @@ -11131,6 +11393,81 @@ public class wcpsParser extends Parser { input.seek(index8_1); if ( s>=0 ) return s; break; + case 1 : + int LA8_14 = input.LA(1); + + + int index8_14 = input.index(); + input.rewind(); + s = -1; + if ( (synpred15_wcps()) ) {s = 60;} + + else if ( (true) ) {s = 2;} + + + input.seek(index8_14); + if ( s>=0 ) return s; + break; + case 2 : + int LA8_15 = input.LA(1); + + + int index8_15 = input.index(); + input.rewind(); + s = -1; + if ( (synpred15_wcps()) ) {s = 60;} + + else if ( (true) ) {s = 2;} + + + input.seek(index8_15); + if ( s>=0 ) return s; + break; + case 3 : + int LA8_16 = input.LA(1); + + + int index8_16 = input.index(); + input.rewind(); + s = -1; + if ( (synpred15_wcps()) ) {s = 60;} + + else if ( (true) ) {s = 2;} + + + input.seek(index8_16); + if ( s>=0 ) return s; + break; + case 4 : + int LA8_17 = input.LA(1); + + + int index8_17 = input.index(); + input.rewind(); + s = -1; + if ( (synpred15_wcps()) ) {s = 60;} + + else if ( (true) ) {s = 2;} + + + input.seek(index8_17); + if ( s>=0 ) return s; + break; + case 5 : + int LA8_18 = input.LA(1); + + + int index8_18 = input.index(); + input.rewind(); + s = -1; + if ( (synpred15_wcps()) ) {s = 60;} + + else if ( (true) ) {s = 2;} + + + input.seek(index8_18); + if ( s>=0 ) return s; + break; } if (state.backtracking>0) {state.failed=true; return -1;} NoViableAltException nvae = @@ -11140,20 +11477,20 @@ public class wcpsParser extends Parser { } } static final String DFA9_eotS = - "\62\uffff"; + "\75\uffff"; static final String DFA9_eofS = - "\1\1\61\uffff"; + "\1\1\74\uffff"; static final String DFA9_minS = - "\1\7\11\uffff\1\0\47\uffff"; + "\1\7\10\uffff\1\0\63\uffff"; static final String DFA9_maxS = - "\1\71\11\uffff\1\0\47\uffff"; + "\1\140\10\uffff\1\0\63\uffff"; static final String DFA9_acceptS = - "\1\uffff\1\2\57\uffff\1\1"; + "\1\uffff\1\2\72\uffff\1\1"; static final String DFA9_specialS = - "\12\uffff\1\0\47\uffff}>"; + "\11\uffff\1\0\63\uffff}>"; static final String[] DFA9_transitionS = { - "\2\1\4\uffff\11\1\2\12\3\1\26\uffff\1\1\7\uffff\1\1", - "", + "\2\1\1\uffff\1\1\2\uffff\11\1\2\11\3\1\21\uffff\2\1\3\uffff"+ + "\1\1\7\uffff\1\1\30\uffff\1\1\15\uffff\1\1", "", "", "", @@ -11201,6 +11538,18 @@ public class wcpsParser extends Parser { "", "", "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", "" }; @@ -11234,25 +11583,25 @@ public class wcpsParser extends Parser { this.transition = DFA9_transition; } public String getDescription() { - return "()* loopback of 76:9: (op= ( PLUS | MINUS ) e2= coverageArithmeticTerm )*"; + return "()* loopback of 77:9: (op= ( PLUS | MINUS ) e2= coverageArithmeticTerm )*"; } public int specialStateTransition(int s, IntStream _input) throws NoViableAltException { TokenStream input = (TokenStream)_input; int _s = s; switch ( s ) { case 0 : - int LA9_10 = input.LA(1); + int LA9_9 = input.LA(1); - int index9_10 = input.index(); + int index9_9 = input.index(); input.rewind(); s = -1; - if ( (synpred17_wcps()) ) {s = 49;} + if ( (synpred17_wcps()) ) {s = 60;} else if ( (true) ) {s = 1;} - input.seek(index9_10); + input.seek(index9_9); if ( s>=0 ) return s; break; } @@ -11264,20 +11613,20 @@ public class wcpsParser extends Parser { } } static final String DFA10_eotS = - "\62\uffff"; + "\75\uffff"; static final String DFA10_eofS = - "\1\1\61\uffff"; + "\1\1\74\uffff"; static final String DFA10_minS = - "\1\7\11\uffff\1\0\47\uffff"; + "\1\7\10\uffff\1\0\63\uffff"; static final String DFA10_maxS = - "\1\71\11\uffff\1\0\47\uffff"; + "\1\140\10\uffff\1\0\63\uffff"; static final String DFA10_acceptS = - "\1\uffff\1\2\57\uffff\1\1"; + "\1\uffff\1\2\72\uffff\1\1"; static final String DFA10_specialS = - "\12\uffff\1\0\47\uffff}>"; + "\11\uffff\1\0\63\uffff}>"; static final String[] DFA10_transitionS = { - "\2\1\4\uffff\13\1\2\12\1\1\26\uffff\1\1\7\uffff\1\1", - "", + "\2\1\1\uffff\1\1\2\uffff\13\1\2\11\1\1\21\uffff\2\1\3\uffff"+ + "\1\1\7\uffff\1\1\30\uffff\1\1\15\uffff\1\1", "", "", "", @@ -11325,6 +11674,18 @@ public class wcpsParser extends Parser { "", "", "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", "" }; @@ -11358,25 +11719,25 @@ public class wcpsParser extends Parser { this.transition = DFA10_transition; } public String getDescription() { - return "()* loopback of 80:9: (op= ( MULT | DIVIDE ) e2= coverageArithmeticFactor )*"; + return "()* loopback of 81:9: (op= ( MULT | DIVIDE ) e2= coverageArithmeticFactor )*"; } public int specialStateTransition(int s, IntStream _input) throws NoViableAltException { TokenStream input = (TokenStream)_input; int _s = s; switch ( s ) { case 0 : - int LA10_10 = input.LA(1); + int LA10_9 = input.LA(1); - int index10_10 = input.index(); + int index10_9 = input.index(); input.rewind(); s = -1; - if ( (synpred19_wcps()) ) {s = 49;} + if ( (synpred19_wcps()) ) {s = 60;} else if ( (true) ) {s = 1;} - input.seek(index10_10); + input.seek(index10_9); if ( s>=0 ) return s; break; } @@ -11388,20 +11749,20 @@ public class wcpsParser extends Parser { } } static final String DFA11_eotS = - "\62\uffff"; + "\75\uffff"; static final String DFA11_eofS = - "\1\1\61\uffff"; + "\1\1\74\uffff"; static final String DFA11_minS = - "\1\7\11\uffff\1\0\47\uffff"; + "\1\7\10\uffff\1\0\63\uffff"; static final String DFA11_maxS = - "\1\71\11\uffff\1\0\47\uffff"; + "\1\140\10\uffff\1\0\63\uffff"; static final String DFA11_acceptS = - "\1\uffff\1\2\57\uffff\1\1"; + "\1\uffff\1\2\72\uffff\1\1"; static final String DFA11_specialS = - "\12\uffff\1\0\47\uffff}>"; + "\11\uffff\1\0\63\uffff}>"; static final String[] DFA11_transitionS = { - "\2\1\4\uffff\15\1\1\12\26\uffff\1\1\7\uffff\1\1", - "", + "\2\1\1\uffff\1\1\2\uffff\15\1\1\11\21\uffff\2\1\3\uffff\1\1"+ + "\7\uffff\1\1\30\uffff\1\1\15\uffff\1\1", "", "", "", @@ -11449,6 +11810,18 @@ public class wcpsParser extends Parser { "", "", "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", "" }; @@ -11482,25 +11855,25 @@ public class wcpsParser extends Parser { this.transition = DFA11_transition; } public String getDescription() { - return "()* loopback of 84:9: (op= OVERLAY e2= coverageValue )*"; + return "()* loopback of 85:9: (op= OVERLAY e2= coverageValue )*"; } public int specialStateTransition(int s, IntStream _input) throws NoViableAltException { TokenStream input = (TokenStream)_input; int _s = s; switch ( s ) { case 0 : - int LA11_10 = input.LA(1); + int LA11_9 = input.LA(1); - int index11_10 = input.index(); + int index11_9 = input.index(); input.rewind(); s = -1; - if ( (synpred20_wcps()) ) {s = 49;} + if ( (synpred20_wcps()) ) {s = 60;} else if ( (true) ) {s = 1;} - input.seek(index11_10); + input.seek(index11_9); if ( s>=0 ) return s; break; } @@ -11512,24 +11885,25 @@ public class wcpsParser extends Parser { } } static final String DFA12_eotS = - "\47\uffff"; + "\50\uffff"; static final String DFA12_eofS = - "\47\uffff"; + "\50\uffff"; static final String DFA12_minS = - "\1\6\33\0\13\uffff"; + "\1\6\34\0\13\uffff"; static final String DFA12_maxS = - "\1\154\33\0\13\uffff"; + "\1\154\34\0\13\uffff"; static final String DFA12_acceptS = - "\34\uffff\1\1\2\uffff\1\2\4\uffff\1\3\1\4\1\5"; + "\35\uffff\1\1\2\uffff\1\2\4\uffff\1\3\1\4\1\5"; static final String DFA12_specialS = "\1\uffff\1\0\1\1\1\2\1\3\1\4\1\5\1\6\1\7\1\10\1\11\1\12\1\13\1\14"+ "\1\15\1\16\1\17\1\20\1\21\1\22\1\23\1\24\1\25\1\26\1\27\1\30\1\31"+ - "\1\32\13\uffff}>"; + "\1\32\1\33\13\uffff}>"; static final String[] DFA12_transitionS = { - "\1\13\17\uffff\1\37\1\15\3\uffff\1\1\1\2\1\3\1\4\1\6\1\7\1\10"+ - "\1\5\7\11\1\12\3\uffff\1\24\4\uffff\1\25\1\26\1\27\1\30\1\31"+ - "\1\33\1\uffff\1\32\1\45\20\37\1\22\1\37\1\17\1\16\1\14\1\44"+ - "\2\uffff\3\34\12\uffff\1\21\1\20\10\uffff\2\23", + "\1\13\17\uffff\1\40\1\15\3\uffff\1\1\1\2\1\3\1\4\1\6\1\7\1\10"+ + "\1\5\7\11\1\12\3\uffff\1\25\4\uffff\1\26\1\27\1\30\1\31\1\32"+ + "\1\34\1\uffff\1\33\1\46\20\40\1\23\1\40\1\17\1\16\1\14\1\45"+ + "\2\uffff\3\35\12\uffff\1\22\1\20\10\uffff\1\24\1\21", + "\1\uffff", "\1\uffff", "\1\uffff", "\1\uffff", @@ -11600,7 +11974,7 @@ public class wcpsParser extends Parser { this.transition = DFA12_transition; } public String getDescription() { - return "86:1: coverageValue returns [CoverageExpr value] : (e5= subsetExpr | e2= unaryInducedExpr | e4= scaleExpr | e3= crsTransformExpr | e1= coverageAtom );"; + return "87:1: coverageValue returns [CoverageExpr value] : (e5= subsetExpr | e2= unaryInducedExpr | e4= scaleExpr | e3= crsTransformExpr | e1= coverageAtom );"; } public int specialStateTransition(int s, IntStream _input) throws NoViableAltException { TokenStream input = (TokenStream)_input; @@ -11613,11 +11987,11 @@ public class wcpsParser extends Parser { int index12_1 = input.index(); input.rewind(); s = -1; - if ( (synpred21_wcps()) ) {s = 28;} + if ( (synpred21_wcps()) ) {s = 29;} - else if ( (synpred22_wcps()) ) {s = 31;} + else if ( (synpred22_wcps()) ) {s = 32;} - else if ( (true) ) {s = 38;} + else if ( (true) ) {s = 39;} input.seek(index12_1); @@ -11630,11 +12004,11 @@ public class wcpsParser extends Parser { int index12_2 = input.index(); input.rewind(); s = -1; - if ( (synpred21_wcps()) ) {s = 28;} + if ( (synpred21_wcps()) ) {s = 29;} - else if ( (synpred22_wcps()) ) {s = 31;} + else if ( (synpred22_wcps()) ) {s = 32;} - else if ( (true) ) {s = 38;} + else if ( (true) ) {s = 39;} input.seek(index12_2); @@ -11647,11 +12021,11 @@ public class wcpsParser extends Parser { int index12_3 = input.index(); input.rewind(); s = -1; - if ( (synpred21_wcps()) ) {s = 28;} + if ( (synpred21_wcps()) ) {s = 29;} - else if ( (synpred22_wcps()) ) {s = 31;} + else if ( (synpred22_wcps()) ) {s = 32;} - else if ( (true) ) {s = 38;} + else if ( (true) ) {s = 39;} input.seek(index12_3); @@ -11664,11 +12038,11 @@ public class wcpsParser extends Parser { int index12_4 = input.index(); input.rewind(); s = -1; - if ( (synpred21_wcps()) ) {s = 28;} + if ( (synpred21_wcps()) ) {s = 29;} - else if ( (synpred22_wcps()) ) {s = 31;} + else if ( (synpred22_wcps()) ) {s = 32;} - else if ( (true) ) {s = 38;} + else if ( (true) ) {s = 39;} input.seek(index12_4); @@ -11681,11 +12055,11 @@ public class wcpsParser extends Parser { int index12_5 = input.index(); input.rewind(); s = -1; - if ( (synpred21_wcps()) ) {s = 28;} + if ( (synpred21_wcps()) ) {s = 29;} - else if ( (synpred22_wcps()) ) {s = 31;} + else if ( (synpred22_wcps()) ) {s = 32;} - else if ( (true) ) {s = 38;} + else if ( (true) ) {s = 39;} input.seek(index12_5); @@ -11698,11 +12072,11 @@ public class wcpsParser extends Parser { int index12_6 = input.index(); input.rewind(); s = -1; - if ( (synpred21_wcps()) ) {s = 28;} + if ( (synpred21_wcps()) ) {s = 29;} - else if ( (synpred22_wcps()) ) {s = 31;} + else if ( (synpred22_wcps()) ) {s = 32;} - else if ( (true) ) {s = 38;} + else if ( (true) ) {s = 39;} input.seek(index12_6); @@ -11715,11 +12089,11 @@ public class wcpsParser extends Parser { int index12_7 = input.index(); input.rewind(); s = -1; - if ( (synpred21_wcps()) ) {s = 28;} + if ( (synpred21_wcps()) ) {s = 29;} - else if ( (synpred22_wcps()) ) {s = 31;} + else if ( (synpred22_wcps()) ) {s = 32;} - else if ( (true) ) {s = 38;} + else if ( (true) ) {s = 39;} input.seek(index12_7); @@ -11732,11 +12106,11 @@ public class wcpsParser extends Parser { int index12_8 = input.index(); input.rewind(); s = -1; - if ( (synpred21_wcps()) ) {s = 28;} + if ( (synpred21_wcps()) ) {s = 29;} - else if ( (synpred22_wcps()) ) {s = 31;} + else if ( (synpred22_wcps()) ) {s = 32;} - else if ( (true) ) {s = 38;} + else if ( (true) ) {s = 39;} input.seek(index12_8); @@ -11749,11 +12123,11 @@ public class wcpsParser extends Parser { int index12_9 = input.index(); input.rewind(); s = -1; - if ( (synpred21_wcps()) ) {s = 28;} + if ( (synpred21_wcps()) ) {s = 29;} - else if ( (synpred22_wcps()) ) {s = 31;} + else if ( (synpred22_wcps()) ) {s = 32;} - else if ( (true) ) {s = 38;} + else if ( (true) ) {s = 39;} input.seek(index12_9); @@ -11766,11 +12140,11 @@ public class wcpsParser extends Parser { int index12_10 = input.index(); input.rewind(); s = -1; - if ( (synpred21_wcps()) ) {s = 28;} + if ( (synpred21_wcps()) ) {s = 29;} - else if ( (synpred22_wcps()) ) {s = 31;} + else if ( (synpred22_wcps()) ) {s = 32;} - else if ( (true) ) {s = 38;} + else if ( (true) ) {s = 39;} input.seek(index12_10); @@ -11783,11 +12157,11 @@ public class wcpsParser extends Parser { int index12_11 = input.index(); input.rewind(); s = -1; - if ( (synpred21_wcps()) ) {s = 28;} + if ( (synpred21_wcps()) ) {s = 29;} - else if ( (synpred22_wcps()) ) {s = 31;} + else if ( (synpred22_wcps()) ) {s = 32;} - else if ( (true) ) {s = 38;} + else if ( (true) ) {s = 39;} input.seek(index12_11); @@ -11800,11 +12174,11 @@ public class wcpsParser extends Parser { int index12_12 = input.index(); input.rewind(); s = -1; - if ( (synpred21_wcps()) ) {s = 28;} + if ( (synpred21_wcps()) ) {s = 29;} - else if ( (synpred22_wcps()) ) {s = 31;} + else if ( (synpred22_wcps()) ) {s = 32;} - else if ( (true) ) {s = 38;} + else if ( (true) ) {s = 39;} input.seek(index12_12); @@ -11817,11 +12191,11 @@ public class wcpsParser extends Parser { int index12_13 = input.index(); input.rewind(); s = -1; - if ( (synpred21_wcps()) ) {s = 28;} + if ( (synpred21_wcps()) ) {s = 29;} - else if ( (synpred22_wcps()) ) {s = 31;} + else if ( (synpred22_wcps()) ) {s = 32;} - else if ( (true) ) {s = 38;} + else if ( (true) ) {s = 39;} input.seek(index12_13); @@ -11834,11 +12208,11 @@ public class wcpsParser extends Parser { int index12_14 = input.index(); input.rewind(); s = -1; - if ( (synpred21_wcps()) ) {s = 28;} + if ( (synpred21_wcps()) ) {s = 29;} - else if ( (synpred22_wcps()) ) {s = 31;} + else if ( (synpred22_wcps()) ) {s = 32;} - else if ( (true) ) {s = 38;} + else if ( (true) ) {s = 39;} input.seek(index12_14); @@ -11851,11 +12225,11 @@ public class wcpsParser extends Parser { int index12_15 = input.index(); input.rewind(); s = -1; - if ( (synpred21_wcps()) ) {s = 28;} + if ( (synpred21_wcps()) ) {s = 29;} - else if ( (synpred22_wcps()) ) {s = 31;} + else if ( (synpred22_wcps()) ) {s = 32;} - else if ( (true) ) {s = 38;} + else if ( (true) ) {s = 39;} input.seek(index12_15); @@ -11868,11 +12242,11 @@ public class wcpsParser extends Parser { int index12_16 = input.index(); input.rewind(); s = -1; - if ( (synpred21_wcps()) ) {s = 28;} + if ( (synpred21_wcps()) ) {s = 29;} - else if ( (synpred22_wcps()) ) {s = 31;} + else if ( (synpred22_wcps()) ) {s = 32;} - else if ( (true) ) {s = 38;} + else if ( (true) ) {s = 39;} input.seek(index12_16); @@ -11885,11 +12259,11 @@ public class wcpsParser extends Parser { int index12_17 = input.index(); input.rewind(); s = -1; - if ( (synpred21_wcps()) ) {s = 28;} + if ( (synpred21_wcps()) ) {s = 29;} - else if ( (synpred22_wcps()) ) {s = 31;} + else if ( (synpred22_wcps()) ) {s = 32;} - else if ( (true) ) {s = 38;} + else if ( (true) ) {s = 39;} input.seek(index12_17); @@ -11902,11 +12276,11 @@ public class wcpsParser extends Parser { int index12_18 = input.index(); input.rewind(); s = -1; - if ( (synpred21_wcps()) ) {s = 28;} + if ( (synpred21_wcps()) ) {s = 29;} - else if ( (synpred22_wcps()) ) {s = 31;} + else if ( (synpred22_wcps()) ) {s = 32;} - else if ( (true) ) {s = 38;} + else if ( (true) ) {s = 39;} input.seek(index12_18); @@ -11919,11 +12293,11 @@ public class wcpsParser extends Parser { int index12_19 = input.index(); input.rewind(); s = -1; - if ( (synpred21_wcps()) ) {s = 28;} + if ( (synpred21_wcps()) ) {s = 29;} - else if ( (synpred22_wcps()) ) {s = 31;} + else if ( (synpred22_wcps()) ) {s = 32;} - else if ( (true) ) {s = 38;} + else if ( (true) ) {s = 39;} input.seek(index12_19); @@ -11936,11 +12310,11 @@ public class wcpsParser extends Parser { int index12_20 = input.index(); input.rewind(); s = -1; - if ( (synpred21_wcps()) ) {s = 28;} + if ( (synpred21_wcps()) ) {s = 29;} - else if ( (synpred22_wcps()) ) {s = 31;} + else if ( (synpred22_wcps()) ) {s = 32;} - else if ( (true) ) {s = 38;} + else if ( (true) ) {s = 39;} input.seek(index12_20); @@ -11953,11 +12327,11 @@ public class wcpsParser extends Parser { int index12_21 = input.index(); input.rewind(); s = -1; - if ( (synpred21_wcps()) ) {s = 28;} + if ( (synpred21_wcps()) ) {s = 29;} - else if ( (synpred22_wcps()) ) {s = 31;} + else if ( (synpred22_wcps()) ) {s = 32;} - else if ( (true) ) {s = 38;} + else if ( (true) ) {s = 39;} input.seek(index12_21); @@ -11970,11 +12344,11 @@ public class wcpsParser extends Parser { int index12_22 = input.index(); input.rewind(); s = -1; - if ( (synpred21_wcps()) ) {s = 28;} + if ( (synpred21_wcps()) ) {s = 29;} - else if ( (synpred22_wcps()) ) {s = 31;} + else if ( (synpred22_wcps()) ) {s = 32;} - else if ( (true) ) {s = 38;} + else if ( (true) ) {s = 39;} input.seek(index12_22); @@ -11987,11 +12361,11 @@ public class wcpsParser extends Parser { int index12_23 = input.index(); input.rewind(); s = -1; - if ( (synpred21_wcps()) ) {s = 28;} + if ( (synpred21_wcps()) ) {s = 29;} - else if ( (synpred22_wcps()) ) {s = 31;} + else if ( (synpred22_wcps()) ) {s = 32;} - else if ( (true) ) {s = 38;} + else if ( (true) ) {s = 39;} input.seek(index12_23); @@ -12004,11 +12378,11 @@ public class wcpsParser extends Parser { int index12_24 = input.index(); input.rewind(); s = -1; - if ( (synpred21_wcps()) ) {s = 28;} + if ( (synpred21_wcps()) ) {s = 29;} - else if ( (synpred22_wcps()) ) {s = 31;} + else if ( (synpred22_wcps()) ) {s = 32;} - else if ( (true) ) {s = 38;} + else if ( (true) ) {s = 39;} input.seek(index12_24); @@ -12021,11 +12395,11 @@ public class wcpsParser extends Parser { int index12_25 = input.index(); input.rewind(); s = -1; - if ( (synpred21_wcps()) ) {s = 28;} + if ( (synpred21_wcps()) ) {s = 29;} - else if ( (synpred22_wcps()) ) {s = 31;} + else if ( (synpred22_wcps()) ) {s = 32;} - else if ( (true) ) {s = 38;} + else if ( (true) ) {s = 39;} input.seek(index12_25); @@ -12038,11 +12412,11 @@ public class wcpsParser extends Parser { int index12_26 = input.index(); input.rewind(); s = -1; - if ( (synpred21_wcps()) ) {s = 28;} + if ( (synpred21_wcps()) ) {s = 29;} - else if ( (synpred22_wcps()) ) {s = 31;} + else if ( (synpred22_wcps()) ) {s = 32;} - else if ( (true) ) {s = 38;} + else if ( (true) ) {s = 39;} input.seek(index12_26); @@ -12055,16 +12429,33 @@ public class wcpsParser extends Parser { int index12_27 = input.index(); input.rewind(); s = -1; - if ( (synpred21_wcps()) ) {s = 28;} + if ( (synpred21_wcps()) ) {s = 29;} - else if ( (synpred22_wcps()) ) {s = 31;} + else if ( (synpred22_wcps()) ) {s = 32;} - else if ( (true) ) {s = 38;} + else if ( (true) ) {s = 39;} input.seek(index12_27); if ( s>=0 ) return s; break; + case 27 : + int LA12_28 = input.LA(1); + + + int index12_28 = input.index(); + input.rewind(); + s = -1; + if ( (synpred21_wcps()) ) {s = 29;} + + else if ( (synpred22_wcps()) ) {s = 32;} + + else if ( (true) ) {s = 39;} + + + input.seek(index12_28); + if ( s>=0 ) return s; + break; } if (state.backtracking>0) {state.failed=true; return -1;} NoViableAltException nvae = @@ -12074,24 +12465,25 @@ public class wcpsParser extends Parser { } } static final String DFA13_eotS = - "\104\uffff"; + "\106\uffff"; static final String DFA13_eofS = - "\104\uffff"; + "\106\uffff"; static final String DFA13_minS = - "\1\6\12\uffff\1\6\10\uffff\1\116\7\uffff\22\0\23\uffff\1\0\2\uffff"; + "\1\6\12\uffff\1\6\11\uffff\1\116\7\uffff\23\0\23\uffff\1\0\2\uffff"; static final String DFA13_maxS = - "\1\154\12\uffff\1\154\10\uffff\1\153\7\uffff\22\0\23\uffff\1\0\2"+ + "\1\154\12\uffff\1\154\11\uffff\1\153\7\uffff\23\0\23\uffff\1\0\2"+ "\uffff"; static final String DFA13_acceptS = - "\1\uffff\1\1\21\uffff\1\2\1\uffff\1\6\4\uffff\1\7\23\uffff\1\3\23"+ + "\1\uffff\1\1\22\uffff\1\2\1\uffff\1\6\4\uffff\1\7\24\uffff\1\3\23"+ "\uffff\1\4\1\5"; static final String DFA13_specialS = - "\34\uffff\1\0\1\1\1\2\1\3\1\4\1\5\1\6\1\7\1\10\1\11\1\12\1\13\1"+ - "\14\1\15\1\16\1\17\1\20\1\21\23\uffff\1\22\2\uffff}>"; + "\35\uffff\1\0\1\1\1\2\1\3\1\4\1\5\1\6\1\7\1\10\1\11\1\12\1\13\1"+ + "\14\1\15\1\16\1\17\1\20\1\21\1\22\23\uffff\1\23\2\uffff}>"; static final String[] DFA13_transitionS = { - "\1\13\20\uffff\1\1\3\uffff\20\1\3\uffff\1\24\4\uffff\5\25\1"+ - "\32\1\uffff\1\32\21\uffff\1\1\1\uffff\3\1\20\uffff\2\1\10\uffff"+ - "\2\23", + "\1\13\20\uffff\1\1\3\uffff\20\1\3\uffff\1\25\4\uffff\5\26\1"+ + "\33\1\uffff\1\33\21\uffff\1\1\1\uffff\3\1\20\uffff\2\1\10\uffff"+ + "\1\24\1\1", + "", "", "", "", @@ -12101,11 +12493,11 @@ public class wcpsParser extends Parser { "", "", "", + "\1\36\17\uffff\1\60\1\37\3\uffff\1\45\1\46\1\47\1\50\1\52\1"+ + "\53\1\54\1\51\7\42\1\43\3\uffff\1\60\4\uffff\6\60\1\uffff\22"+ + "\60\1\57\1\60\1\41\1\40\1\55\1\60\2\uffff\3\60\12\uffff\1\56"+ + "\1\35\10\uffff\1\60\1\44", "", - "\1\47\17\uffff\1\56\1\51\3\uffff\1\35\1\36\1\37\1\40\1\42\1"+ - "\43\1\44\1\41\7\45\1\46\3\uffff\1\56\4\uffff\6\56\1\uffff\22"+ - "\56\1\55\1\56\1\53\1\52\1\50\1\56\2\uffff\3\56\12\uffff\1\54"+ - "\1\34\10\uffff\2\56", "", "", "", @@ -12114,7 +12506,7 @@ public class wcpsParser extends Parser { "", "", "", - "\1\101\1\uffff\1\101\32\uffff\1\101", + "\1\103\1\uffff\1\103\32\uffff\1\103", "", "", "", @@ -12140,6 +12532,7 @@ public class wcpsParser extends Parser { "\1\uffff", "\1\uffff", "\1\uffff", + "\1\uffff", "", "", "", @@ -12194,28 +12587,13 @@ public class wcpsParser extends Parser { this.transition = DFA13_transition; } public String getDescription() { - return "93:1: coverageAtom returns [CoverageExpr value] : (e2= scalarExpr | e1= variableName | LPAREN e7= coverageExpr RPAREN | e3= coverageConstantExpr | e4= coverageConstructorExpr | e5= setMetaDataExpr | e6= rangeConstructorExpr );"; + return "94:1: coverageAtom returns [CoverageExpr value] : (e2= scalarExpr | e1= coverageVariable | LPAREN e7= coverageExpr RPAREN | e3= coverageConstantExpr | e4= coverageConstructorExpr | e5= setMetaDataExpr | e6= rangeConstructorExpr );"; } public int specialStateTransition(int s, IntStream _input) throws NoViableAltException { TokenStream input = (TokenStream)_input; int _s = s; switch ( s ) { case 0 : - int LA13_28 = input.LA(1); - - - int index13_28 = input.index(); - input.rewind(); - s = -1; - if ( (synpred25_wcps()) ) {s = 1;} - - else if ( (synpred27_wcps()) ) {s = 46;} - - - input.seek(index13_28); - if ( s>=0 ) return s; - break; - case 1 : int LA13_29 = input.LA(1); @@ -12224,13 +12602,13 @@ public class wcpsParser extends Parser { s = -1; if ( (synpred25_wcps()) ) {s = 1;} - else if ( (synpred27_wcps()) ) {s = 46;} + else if ( (synpred27_wcps()) ) {s = 48;} input.seek(index13_29); if ( s>=0 ) return s; break; - case 2 : + case 1 : int LA13_30 = input.LA(1); @@ -12239,13 +12617,13 @@ public class wcpsParser extends Parser { s = -1; if ( (synpred25_wcps()) ) {s = 1;} - else if ( (synpred27_wcps()) ) {s = 46;} + else if ( (synpred27_wcps()) ) {s = 48;} input.seek(index13_30); if ( s>=0 ) return s; break; - case 3 : + case 2 : int LA13_31 = input.LA(1); @@ -12254,13 +12632,13 @@ public class wcpsParser extends Parser { s = -1; if ( (synpred25_wcps()) ) {s = 1;} - else if ( (synpred27_wcps()) ) {s = 46;} + else if ( (synpred27_wcps()) ) {s = 48;} input.seek(index13_31); if ( s>=0 ) return s; break; - case 4 : + case 3 : int LA13_32 = input.LA(1); @@ -12269,13 +12647,13 @@ public class wcpsParser extends Parser { s = -1; if ( (synpred25_wcps()) ) {s = 1;} - else if ( (synpred27_wcps()) ) {s = 46;} + else if ( (synpred27_wcps()) ) {s = 48;} input.seek(index13_32); if ( s>=0 ) return s; break; - case 5 : + case 4 : int LA13_33 = input.LA(1); @@ -12284,13 +12662,13 @@ public class wcpsParser extends Parser { s = -1; if ( (synpred25_wcps()) ) {s = 1;} - else if ( (synpred27_wcps()) ) {s = 46;} + else if ( (synpred27_wcps()) ) {s = 48;} input.seek(index13_33); if ( s>=0 ) return s; break; - case 6 : + case 5 : int LA13_34 = input.LA(1); @@ -12299,13 +12677,13 @@ public class wcpsParser extends Parser { s = -1; if ( (synpred25_wcps()) ) {s = 1;} - else if ( (synpred27_wcps()) ) {s = 46;} + else if ( (synpred27_wcps()) ) {s = 48;} input.seek(index13_34); if ( s>=0 ) return s; break; - case 7 : + case 6 : int LA13_35 = input.LA(1); @@ -12314,13 +12692,13 @@ public class wcpsParser extends Parser { s = -1; if ( (synpred25_wcps()) ) {s = 1;} - else if ( (synpred27_wcps()) ) {s = 46;} + else if ( (synpred27_wcps()) ) {s = 48;} input.seek(index13_35); if ( s>=0 ) return s; break; - case 8 : + case 7 : int LA13_36 = input.LA(1); @@ -12329,13 +12707,13 @@ public class wcpsParser extends Parser { s = -1; if ( (synpred25_wcps()) ) {s = 1;} - else if ( (synpred27_wcps()) ) {s = 46;} + else if ( (synpred27_wcps()) ) {s = 48;} input.seek(index13_36); if ( s>=0 ) return s; break; - case 9 : + case 8 : int LA13_37 = input.LA(1); @@ -12344,13 +12722,13 @@ public class wcpsParser extends Parser { s = -1; if ( (synpred25_wcps()) ) {s = 1;} - else if ( (synpred27_wcps()) ) {s = 46;} + else if ( (synpred27_wcps()) ) {s = 48;} input.seek(index13_37); if ( s>=0 ) return s; break; - case 10 : + case 9 : int LA13_38 = input.LA(1); @@ -12359,13 +12737,13 @@ public class wcpsParser extends Parser { s = -1; if ( (synpred25_wcps()) ) {s = 1;} - else if ( (synpred27_wcps()) ) {s = 46;} + else if ( (synpred27_wcps()) ) {s = 48;} input.seek(index13_38); if ( s>=0 ) return s; break; - case 11 : + case 10 : int LA13_39 = input.LA(1); @@ -12374,13 +12752,13 @@ public class wcpsParser extends Parser { s = -1; if ( (synpred25_wcps()) ) {s = 1;} - else if ( (synpred27_wcps()) ) {s = 46;} + else if ( (synpred27_wcps()) ) {s = 48;} input.seek(index13_39); if ( s>=0 ) return s; break; - case 12 : + case 11 : int LA13_40 = input.LA(1); @@ -12389,13 +12767,13 @@ public class wcpsParser extends Parser { s = -1; if ( (synpred25_wcps()) ) {s = 1;} - else if ( (synpred27_wcps()) ) {s = 46;} + else if ( (synpred27_wcps()) ) {s = 48;} input.seek(index13_40); if ( s>=0 ) return s; break; - case 13 : + case 12 : int LA13_41 = input.LA(1); @@ -12404,13 +12782,13 @@ public class wcpsParser extends Parser { s = -1; if ( (synpred25_wcps()) ) {s = 1;} - else if ( (synpred27_wcps()) ) {s = 46;} + else if ( (synpred27_wcps()) ) {s = 48;} input.seek(index13_41); if ( s>=0 ) return s; break; - case 14 : + case 13 : int LA13_42 = input.LA(1); @@ -12419,13 +12797,13 @@ public class wcpsParser extends Parser { s = -1; if ( (synpred25_wcps()) ) {s = 1;} - else if ( (synpred27_wcps()) ) {s = 46;} + else if ( (synpred27_wcps()) ) {s = 48;} input.seek(index13_42); if ( s>=0 ) return s; break; - case 15 : + case 14 : int LA13_43 = input.LA(1); @@ -12434,13 +12812,13 @@ public class wcpsParser extends Parser { s = -1; if ( (synpred25_wcps()) ) {s = 1;} - else if ( (synpred27_wcps()) ) {s = 46;} + else if ( (synpred27_wcps()) ) {s = 48;} input.seek(index13_43); if ( s>=0 ) return s; break; - case 16 : + case 15 : int LA13_44 = input.LA(1); @@ -12449,13 +12827,13 @@ public class wcpsParser extends Parser { s = -1; if ( (synpred25_wcps()) ) {s = 1;} - else if ( (synpred27_wcps()) ) {s = 46;} + else if ( (synpred27_wcps()) ) {s = 48;} input.seek(index13_44); if ( s>=0 ) return s; break; - case 17 : + case 16 : int LA13_45 = input.LA(1); @@ -12464,25 +12842,55 @@ public class wcpsParser extends Parser { s = -1; if ( (synpred25_wcps()) ) {s = 1;} - else if ( (synpred27_wcps()) ) {s = 46;} + else if ( (synpred27_wcps()) ) {s = 48;} input.seek(index13_45); if ( s>=0 ) return s; break; + case 17 : + int LA13_46 = input.LA(1); + + + int index13_46 = input.index(); + input.rewind(); + s = -1; + if ( (synpred25_wcps()) ) {s = 1;} + + else if ( (synpred27_wcps()) ) {s = 48;} + + + input.seek(index13_46); + if ( s>=0 ) return s; + break; case 18 : - int LA13_65 = input.LA(1); + int LA13_47 = input.LA(1); + + + int index13_47 = input.index(); + input.rewind(); + s = -1; + if ( (synpred25_wcps()) ) {s = 1;} + + else if ( (synpred27_wcps()) ) {s = 48;} + + + input.seek(index13_47); + if ( s>=0 ) return s; + break; + case 19 : + int LA13_67 = input.LA(1); - int index13_65 = input.index(); + int index13_67 = input.index(); input.rewind(); s = -1; - if ( (synpred28_wcps()) ) {s = 66;} + if ( (synpred28_wcps()) ) {s = 68;} - else if ( (synpred29_wcps()) ) {s = 67;} + else if ( (synpred29_wcps()) ) {s = 69;} - input.seek(index13_65); + input.seek(index13_67); if ( s>=0 ) return s; break; } @@ -12494,26 +12902,27 @@ public class wcpsParser extends Parser { } } static final String DFA14_eotS = - "\161\uffff"; + "\u0089\uffff"; static final String DFA14_eofS = - "\14\uffff\1\50\144\uffff"; + "\14\uffff\1\52\174\uffff"; static final String DFA14_minS = - "\2\6\7\uffff\1\6\1\15\1\6\1\7\2\6\2\0\2\uffff\16\0\13\uffff\1\0"+ - "\10\uffff\5\0\3\uffff\10\0\54\uffff"; + "\2\6\7\uffff\1\6\1\15\1\6\1\7\2\6\3\0\2\uffff\17\0\13\uffff\1\0"+ + "\4\uffff\5\0\7\uffff\11\0\101\uffff"; static final String DFA14_maxS = - "\1\142\1\6\7\uffff\1\6\1\51\1\142\1\140\1\142\1\6\2\0\2\uffff\16"+ - "\0\13\uffff\1\0\10\uffff\5\0\3\uffff\10\0\54\uffff"; + "\1\154\1\6\7\uffff\1\6\1\51\1\154\1\140\1\154\1\6\3\0\2\uffff\17"+ + "\0\13\uffff\1\0\4\uffff\5\0\7\uffff\11\0\101\uffff"; static final String DFA14_acceptS = - "\2\uffff\1\1\16\uffff\1\3\17\uffff\1\6\6\uffff\1\5\61\uffff\1\4"+ - "\25\uffff\1\2"; + "\2\uffff\1\1\17\uffff\1\3\20\uffff\1\6\6\uffff\1\5\62\uffff\1\4"+ + "\52\uffff\1\2"; static final String DFA14_specialS = - "\17\uffff\1\0\1\1\2\uffff\1\2\1\3\1\4\1\5\1\6\1\7\1\10\1\11\1\12"+ - "\1\13\1\14\1\15\1\16\1\17\13\uffff\1\20\10\uffff\1\21\1\22\1\23"+ - "\1\24\1\25\3\uffff\1\26\1\27\1\30\1\31\1\32\1\33\1\34\1\35\54\uffff}>"; + "\17\uffff\1\0\1\1\1\2\2\uffff\1\3\1\4\1\5\1\6\1\7\1\10\1\11\1\12"+ + "\1\13\1\14\1\15\1\16\1\17\1\20\1\21\13\uffff\1\22\4\uffff\1\23\1"+ + "\24\1\25\1\26\1\27\7\uffff\1\30\1\31\1\32\1\33\1\34\1\35\1\36\1"+ + "\37\1\40\101\uffff}>"; static final String[] DFA14_transitionS = { - "\1\13\20\uffff\1\15\3\uffff\1\1\7\2\7\11\1\12\41\uffff\1\21"+ - "\1\uffff\1\17\1\16\1\14\20\uffff\1\21\1\20", - "\1\23", + "\1\13\20\uffff\1\15\3\uffff\1\1\7\2\7\11\1\12\41\uffff\1\22"+ + "\1\uffff\1\17\1\16\1\14\20\uffff\1\22\1\20\11\uffff\1\21", + "\1\24", "", "", "", @@ -12521,16 +12930,17 @@ public class wcpsParser extends Parser { "", "", "", - "\1\24", - "\1\25\1\uffff\1\25\6\uffff\1\25\1\uffff\1\25\17\uffff\2\25", - "\1\27\20\uffff\1\30\3\uffff\1\35\7\41\7\33\1\34\41\uffff\1"+ - "\40\1\uffff\1\32\1\31\1\36\20\uffff\1\37\1\26", - "\2\50\1\uffff\1\50\2\uffff\3\50\1\54\1\65\1\66\1\67\1\70\1"+ - "\71\5\50\21\uffff\2\50\3\uffff\1\50\7\uffff\1\50\30\uffff\1"+ - "\50\15\uffff\1\50", - "\1\75\20\uffff\1\76\13\uffff\7\102\1\103\43\uffff\1\100\1\77"+ - "\22\uffff\1\101", - "\1\104", + "\1\25", + "\1\26\1\uffff\1\26\6\uffff\1\26\1\uffff\1\26\17\uffff\2\26", + "\1\30\20\uffff\1\31\3\uffff\1\37\7\43\7\34\1\35\41\uffff\1"+ + "\42\1\uffff\1\33\1\32\1\40\20\uffff\1\41\1\27\11\uffff\1\36", + "\2\52\1\uffff\1\52\2\uffff\3\52\1\56\1\63\1\64\1\65\1\66\1"+ + "\67\5\52\21\uffff\2\52\3\uffff\1\52\7\uffff\1\52\30\uffff\1"+ + "\52\15\uffff\1\52", + "\1\77\20\uffff\1\100\13\uffff\7\104\1\105\43\uffff\1\102\1"+ + "\101\22\uffff\1\103\11\uffff\1\106", + "\1\107", + "\1\uffff", "\1\uffff", "\1\uffff", "", @@ -12549,6 +12959,7 @@ public class wcpsParser extends Parser { "\1\uffff", "\1\uffff", "\1\uffff", + "\1\uffff", "", "", "", @@ -12565,10 +12976,6 @@ public class wcpsParser extends Parser { "", "", "", - "", - "", - "", - "", "\1\uffff", "\1\uffff", "\1\uffff", @@ -12577,6 +12984,11 @@ public class wcpsParser extends Parser { "", "", "", + "", + "", + "", + "", + "\1\uffff", "\1\uffff", "\1\uffff", "\1\uffff", @@ -12628,6 +13040,27 @@ public class wcpsParser extends Parser { "", "", "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", "" }; @@ -12661,7 +13094,7 @@ public class wcpsParser extends Parser { this.transition = DFA14_transition; } public String getDescription() { - return "102:1: scalarExpr returns [ScalarExpr value] : (e1= metaDataExpr | e2= condenseExpr | e3= booleanScalarExpr | e4= numericScalarExpr | e5= stringScalarExpr | LPAREN e6= scalarExpr RPAREN );"; + return "103:1: scalarExpr returns [ScalarExpr value] : (e1= metaDataExpr | e2= condenseExpr | e3= booleanScalarExpr | e4= numericScalarExpr | e5= stringScalarExpr | LPAREN e6= scalarExpr RPAREN );"; } public int specialStateTransition(int s, IntStream _input) throws NoViableAltException { TokenStream input = (TokenStream)_input; @@ -12674,9 +13107,9 @@ public class wcpsParser extends Parser { int index14_15 = input.index(); input.rewind(); s = -1; - if ( (synpred33_wcps()) ) {s = 17;} + if ( (synpred33_wcps()) ) {s = 18;} - else if ( (synpred34_wcps()) ) {s = 90;} + else if ( (synpred34_wcps()) ) {s = 93;} input.seek(index14_15); @@ -12689,29 +13122,27 @@ public class wcpsParser extends Parser { int index14_16 = input.index(); input.rewind(); s = -1; - if ( (synpred33_wcps()) ) {s = 17;} + if ( (synpred33_wcps()) ) {s = 18;} - else if ( (synpred34_wcps()) ) {s = 90;} + else if ( (synpred34_wcps()) ) {s = 93;} input.seek(index14_16); if ( s>=0 ) return s; break; case 2 : - int LA14_19 = input.LA(1); + int LA14_17 = input.LA(1); - int index14_19 = input.index(); + int index14_17 = input.index(); input.rewind(); s = -1; - if ( (synpred31_wcps()) ) {s = 2;} - - else if ( (synpred33_wcps()) ) {s = 17;} + if ( (synpred33_wcps()) ) {s = 18;} - else if ( (synpred35_wcps()) ) {s = 40;} + else if ( (synpred34_wcps()) ) {s = 93;} - input.seek(index14_19); + input.seek(index14_17); if ( s>=0 ) return s; break; case 3 : @@ -12721,11 +13152,11 @@ public class wcpsParser extends Parser { int index14_20 = input.index(); input.rewind(); s = -1; - if ( (synpred32_wcps()) ) {s = 112;} + if ( (synpred31_wcps()) ) {s = 2;} - else if ( (synpred33_wcps()) ) {s = 17;} + else if ( (synpred33_wcps()) ) {s = 18;} - else if ( (synpred34_wcps()) ) {s = 90;} + else if ( (synpred35_wcps()) ) {s = 42;} input.seek(index14_20); @@ -12738,11 +13169,11 @@ public class wcpsParser extends Parser { int index14_21 = input.index(); input.rewind(); s = -1; - if ( (synpred32_wcps()) ) {s = 112;} + if ( (synpred32_wcps()) ) {s = 136;} - else if ( (synpred33_wcps()) ) {s = 17;} + else if ( (synpred33_wcps()) ) {s = 18;} - else if ( (synpred34_wcps()) ) {s = 90;} + else if ( (synpred34_wcps()) ) {s = 93;} input.seek(index14_21); @@ -12755,11 +13186,11 @@ public class wcpsParser extends Parser { int index14_22 = input.index(); input.rewind(); s = -1; - if ( (synpred33_wcps()) ) {s = 17;} + if ( (synpred32_wcps()) ) {s = 136;} - else if ( (synpred34_wcps()) ) {s = 90;} + else if ( (synpred33_wcps()) ) {s = 18;} - else if ( (true) ) {s = 33;} + else if ( (synpred34_wcps()) ) {s = 93;} input.seek(index14_22); @@ -12772,11 +13203,11 @@ public class wcpsParser extends Parser { int index14_23 = input.index(); input.rewind(); s = -1; - if ( (synpred33_wcps()) ) {s = 17;} + if ( (synpred33_wcps()) ) {s = 18;} - else if ( (synpred34_wcps()) ) {s = 90;} + else if ( (synpred34_wcps()) ) {s = 93;} - else if ( (true) ) {s = 33;} + else if ( (true) ) {s = 35;} input.seek(index14_23); @@ -12789,11 +13220,11 @@ public class wcpsParser extends Parser { int index14_24 = input.index(); input.rewind(); s = -1; - if ( (synpred33_wcps()) ) {s = 17;} + if ( (synpred33_wcps()) ) {s = 18;} - else if ( (synpred34_wcps()) ) {s = 90;} + else if ( (synpred34_wcps()) ) {s = 93;} - else if ( (true) ) {s = 33;} + else if ( (true) ) {s = 35;} input.seek(index14_24); @@ -12806,11 +13237,11 @@ public class wcpsParser extends Parser { int index14_25 = input.index(); input.rewind(); s = -1; - if ( (synpred33_wcps()) ) {s = 17;} + if ( (synpred33_wcps()) ) {s = 18;} - else if ( (synpred34_wcps()) ) {s = 90;} + else if ( (synpred34_wcps()) ) {s = 93;} - else if ( (true) ) {s = 33;} + else if ( (true) ) {s = 35;} input.seek(index14_25); @@ -12823,11 +13254,11 @@ public class wcpsParser extends Parser { int index14_26 = input.index(); input.rewind(); s = -1; - if ( (synpred33_wcps()) ) {s = 17;} + if ( (synpred33_wcps()) ) {s = 18;} - else if ( (synpred34_wcps()) ) {s = 90;} + else if ( (synpred34_wcps()) ) {s = 93;} - else if ( (true) ) {s = 33;} + else if ( (true) ) {s = 35;} input.seek(index14_26); @@ -12840,11 +13271,11 @@ public class wcpsParser extends Parser { int index14_27 = input.index(); input.rewind(); s = -1; - if ( (synpred33_wcps()) ) {s = 17;} + if ( (synpred33_wcps()) ) {s = 18;} - else if ( (synpred34_wcps()) ) {s = 90;} + else if ( (synpred34_wcps()) ) {s = 93;} - else if ( (true) ) {s = 33;} + else if ( (true) ) {s = 35;} input.seek(index14_27); @@ -12857,11 +13288,11 @@ public class wcpsParser extends Parser { int index14_28 = input.index(); input.rewind(); s = -1; - if ( (synpred33_wcps()) ) {s = 17;} + if ( (synpred33_wcps()) ) {s = 18;} - else if ( (synpred34_wcps()) ) {s = 90;} + else if ( (synpred34_wcps()) ) {s = 93;} - else if ( (true) ) {s = 33;} + else if ( (true) ) {s = 35;} input.seek(index14_28); @@ -12874,9 +13305,11 @@ public class wcpsParser extends Parser { int index14_29 = input.index(); input.rewind(); s = -1; - if ( (synpred33_wcps()) ) {s = 17;} + if ( (synpred33_wcps()) ) {s = 18;} + + else if ( (synpred34_wcps()) ) {s = 93;} - else if ( (true) ) {s = 33;} + else if ( (true) ) {s = 35;} input.seek(index14_29); @@ -12889,9 +13322,11 @@ public class wcpsParser extends Parser { int index14_30 = input.index(); input.rewind(); s = -1; - if ( (synpred33_wcps()) ) {s = 17;} + if ( (synpred33_wcps()) ) {s = 18;} - else if ( (true) ) {s = 33;} + else if ( (synpred34_wcps()) ) {s = 93;} + + else if ( (true) ) {s = 35;} input.seek(index14_30); @@ -12904,9 +13339,9 @@ public class wcpsParser extends Parser { int index14_31 = input.index(); input.rewind(); s = -1; - if ( (synpred33_wcps()) ) {s = 17;} + if ( (synpred33_wcps()) ) {s = 18;} - else if ( (true) ) {s = 33;} + else if ( (true) ) {s = 35;} input.seek(index14_31); @@ -12919,132 +13354,132 @@ public class wcpsParser extends Parser { int index14_32 = input.index(); input.rewind(); s = -1; - if ( (synpred33_wcps()) ) {s = 17;} + if ( (synpred33_wcps()) ) {s = 18;} - else if ( (true) ) {s = 33;} + else if ( (true) ) {s = 35;} input.seek(index14_32); if ( s>=0 ) return s; break; case 16 : - int LA14_44 = input.LA(1); + int LA14_33 = input.LA(1); - int index14_44 = input.index(); + int index14_33 = input.index(); input.rewind(); s = -1; - if ( (synpred33_wcps()) ) {s = 17;} + if ( (synpred33_wcps()) ) {s = 18;} - else if ( (synpred35_wcps()) ) {s = 40;} + else if ( (true) ) {s = 35;} - input.seek(index14_44); + input.seek(index14_33); if ( s>=0 ) return s; break; case 17 : - int LA14_53 = input.LA(1); + int LA14_34 = input.LA(1); - int index14_53 = input.index(); + int index14_34 = input.index(); input.rewind(); s = -1; - if ( (synpred33_wcps()) ) {s = 17;} + if ( (synpred33_wcps()) ) {s = 18;} - else if ( (synpred35_wcps()) ) {s = 40;} + else if ( (true) ) {s = 35;} - input.seek(index14_53); + input.seek(index14_34); if ( s>=0 ) return s; break; case 18 : - int LA14_54 = input.LA(1); + int LA14_46 = input.LA(1); - int index14_54 = input.index(); + int index14_46 = input.index(); input.rewind(); s = -1; - if ( (synpred33_wcps()) ) {s = 17;} + if ( (synpred33_wcps()) ) {s = 18;} - else if ( (synpred35_wcps()) ) {s = 40;} + else if ( (synpred35_wcps()) ) {s = 42;} - input.seek(index14_54); + input.seek(index14_46); if ( s>=0 ) return s; break; case 19 : - int LA14_55 = input.LA(1); + int LA14_51 = input.LA(1); - int index14_55 = input.index(); + int index14_51 = input.index(); input.rewind(); s = -1; - if ( (synpred33_wcps()) ) {s = 17;} + if ( (synpred33_wcps()) ) {s = 18;} - else if ( (synpred35_wcps()) ) {s = 40;} + else if ( (synpred35_wcps()) ) {s = 42;} - input.seek(index14_55); + input.seek(index14_51); if ( s>=0 ) return s; break; case 20 : - int LA14_56 = input.LA(1); + int LA14_52 = input.LA(1); - int index14_56 = input.index(); + int index14_52 = input.index(); input.rewind(); s = -1; - if ( (synpred33_wcps()) ) {s = 17;} + if ( (synpred33_wcps()) ) {s = 18;} - else if ( (synpred35_wcps()) ) {s = 40;} + else if ( (synpred35_wcps()) ) {s = 42;} - input.seek(index14_56); + input.seek(index14_52); if ( s>=0 ) return s; break; case 21 : - int LA14_57 = input.LA(1); + int LA14_53 = input.LA(1); - int index14_57 = input.index(); + int index14_53 = input.index(); input.rewind(); s = -1; - if ( (synpred33_wcps()) ) {s = 17;} + if ( (synpred33_wcps()) ) {s = 18;} - else if ( (synpred35_wcps()) ) {s = 40;} + else if ( (synpred35_wcps()) ) {s = 42;} - input.seek(index14_57); + input.seek(index14_53); if ( s>=0 ) return s; break; case 22 : - int LA14_61 = input.LA(1); + int LA14_54 = input.LA(1); - int index14_61 = input.index(); + int index14_54 = input.index(); input.rewind(); s = -1; - if ( (synpred33_wcps()) ) {s = 17;} + if ( (synpred33_wcps()) ) {s = 18;} - else if ( (synpred34_wcps()) ) {s = 90;} + else if ( (synpred35_wcps()) ) {s = 42;} - input.seek(index14_61); + input.seek(index14_54); if ( s>=0 ) return s; break; case 23 : - int LA14_62 = input.LA(1); + int LA14_55 = input.LA(1); - int index14_62 = input.index(); + int index14_55 = input.index(); input.rewind(); s = -1; - if ( (synpred33_wcps()) ) {s = 17;} + if ( (synpred33_wcps()) ) {s = 18;} - else if ( (synpred34_wcps()) ) {s = 90;} + else if ( (synpred35_wcps()) ) {s = 42;} - input.seek(index14_62); + input.seek(index14_55); if ( s>=0 ) return s; break; case 24 : @@ -13054,9 +13489,9 @@ public class wcpsParser extends Parser { int index14_63 = input.index(); input.rewind(); s = -1; - if ( (synpred33_wcps()) ) {s = 17;} + if ( (synpred33_wcps()) ) {s = 18;} - else if ( (synpred34_wcps()) ) {s = 90;} + else if ( (synpred34_wcps()) ) {s = 93;} input.seek(index14_63); @@ -13069,9 +13504,9 @@ public class wcpsParser extends Parser { int index14_64 = input.index(); input.rewind(); s = -1; - if ( (synpred33_wcps()) ) {s = 17;} + if ( (synpred33_wcps()) ) {s = 18;} - else if ( (synpred34_wcps()) ) {s = 90;} + else if ( (synpred34_wcps()) ) {s = 93;} input.seek(index14_64); @@ -13084,9 +13519,9 @@ public class wcpsParser extends Parser { int index14_65 = input.index(); input.rewind(); s = -1; - if ( (synpred33_wcps()) ) {s = 17;} + if ( (synpred33_wcps()) ) {s = 18;} - else if ( (synpred34_wcps()) ) {s = 90;} + else if ( (synpred34_wcps()) ) {s = 93;} input.seek(index14_65); @@ -13096,45 +13531,90 @@ public class wcpsParser extends Parser { int LA14_66 = input.LA(1); - int index14_66 = input.index(); + int index14_66 = input.index(); + input.rewind(); + s = -1; + if ( (synpred33_wcps()) ) {s = 18;} + + else if ( (synpred34_wcps()) ) {s = 93;} + + + input.seek(index14_66); + if ( s>=0 ) return s; + break; + case 28 : + int LA14_67 = input.LA(1); + + + int index14_67 = input.index(); + input.rewind(); + s = -1; + if ( (synpred33_wcps()) ) {s = 18;} + + else if ( (synpred34_wcps()) ) {s = 93;} + + + input.seek(index14_67); + if ( s>=0 ) return s; + break; + case 29 : + int LA14_68 = input.LA(1); + + + int index14_68 = input.index(); + input.rewind(); + s = -1; + if ( (synpred33_wcps()) ) {s = 18;} + + else if ( (synpred34_wcps()) ) {s = 93;} + + + input.seek(index14_68); + if ( s>=0 ) return s; + break; + case 30 : + int LA14_69 = input.LA(1); + + + int index14_69 = input.index(); input.rewind(); s = -1; - if ( (synpred33_wcps()) ) {s = 17;} + if ( (synpred33_wcps()) ) {s = 18;} - else if ( (synpred34_wcps()) ) {s = 90;} + else if ( (synpred34_wcps()) ) {s = 93;} - input.seek(index14_66); + input.seek(index14_69); if ( s>=0 ) return s; break; - case 28 : - int LA14_67 = input.LA(1); + case 31 : + int LA14_70 = input.LA(1); - int index14_67 = input.index(); + int index14_70 = input.index(); input.rewind(); s = -1; - if ( (synpred33_wcps()) ) {s = 17;} + if ( (synpred33_wcps()) ) {s = 18;} - else if ( (synpred34_wcps()) ) {s = 90;} + else if ( (synpred34_wcps()) ) {s = 93;} - input.seek(index14_67); + input.seek(index14_70); if ( s>=0 ) return s; break; - case 29 : - int LA14_68 = input.LA(1); + case 32 : + int LA14_71 = input.LA(1); - int index14_68 = input.index(); + int index14_71 = input.index(); input.rewind(); s = -1; - if ( (synpred33_wcps()) ) {s = 17;} + if ( (synpred33_wcps()) ) {s = 18;} - else if ( (synpred34_wcps()) ) {s = 90;} + else if ( (synpred34_wcps()) ) {s = 93;} - input.seek(index14_68); + input.seek(index14_71); if ( s>=0 ) return s; break; } @@ -13146,27 +13626,27 @@ public class wcpsParser extends Parser { } } static final String DFA34_eotS = - "\u008b\uffff"; + "\u008f\uffff"; static final String DFA34_eofS = - "\u008b\uffff"; + "\u008f\uffff"; static final String DFA34_minS = - "\1\6\12\uffff\1\6\1\uffff\1\6\4\uffff\1\6\7\uffff\1\70\1\116\64"+ - "\uffff\3\0\1\uffff\4\0\13\uffff\1\0\7\uffff\11\0\24\uffff\2\0\1"+ + "\1\6\12\uffff\1\6\1\uffff\1\6\5\uffff\1\6\7\uffff\1\70\1\116\65"+ + "\uffff\3\0\1\uffff\5\0\13\uffff\1\0\7\uffff\12\0\24\uffff\2\0\1"+ "\uffff"; static final String DFA34_maxS = - "\1\154\12\uffff\1\154\1\uffff\1\154\4\uffff\1\154\7\uffff\1\70\1"+ - "\153\64\uffff\3\0\1\uffff\4\0\13\uffff\1\0\7\uffff\11\0\24\uffff"+ + "\1\154\12\uffff\1\154\1\uffff\1\154\5\uffff\1\154\7\uffff\1\70\1"+ + "\153\65\uffff\3\0\1\uffff\5\0\13\uffff\1\0\7\uffff\12\0\24\uffff"+ "\2\0\1\uffff"; static final String DFA34_acceptS = - "\1\uffff\1\1\32\uffff\1\2\1\uffff\1\3\1\4\1\5\45\uffff\1\6\103\uffff"+ + "\1\uffff\1\1\33\uffff\1\2\1\uffff\1\3\1\4\1\5\1\uffff\1\6\152\uffff"+ "\1\7"; static final String DFA34_specialS = - "\120\uffff\1\0\1\1\1\2\1\uffff\1\3\1\4\1\5\1\6\13\uffff\1\7\7\uffff"+ - "\1\10\1\11\1\12\1\13\1\14\1\15\1\16\1\17\1\20\24\uffff\1\21\1\22"+ - "\1\uffff}>"; + "\122\uffff\1\0\1\1\1\2\1\uffff\1\3\1\4\1\5\1\6\1\7\13\uffff\1\10"+ + "\7\uffff\1\11\1\12\1\13\1\14\1\15\1\16\1\17\1\20\1\21\1\22\24\uffff"+ + "\1\23\1\24\1\uffff}>"; static final String[] DFA34_transitionS = { - "\1\13\17\uffff\1\34\1\15\3\uffff\20\1\3\uffff\1\1\4\uffff\5"+ - "\1\1\33\1\uffff\1\32\1\uffff\4\34\3\36\11\37\1\22\1\40\3\1\20"+ + "\1\13\17\uffff\1\35\1\15\3\uffff\20\1\3\uffff\1\1\4\uffff\5"+ + "\1\1\34\1\uffff\1\33\1\uffff\4\35\3\37\11\40\1\23\1\41\3\1\20"+ "\uffff\2\1\10\uffff\2\1", "", "", @@ -13179,27 +13659,29 @@ public class wcpsParser extends Parser { "", "", "\1\1\17\uffff\2\1\3\uffff\20\1\3\uffff\1\1\4\uffff\6\1\1\uffff"+ - "\30\1\2\uffff\3\1\11\106\1\uffff\2\1\10\uffff\2\1", + "\30\1\2\uffff\3\1\11\43\1\uffff\2\1\10\uffff\2\1", "", - "\1\122\20\uffff\1\124\3\uffff\10\34\7\120\1\121\3\uffff\1\34"+ - "\4\uffff\6\34\1\uffff\1\34\21\uffff\1\34\1\uffff\1\126\1\125"+ - "\1\34\20\uffff\1\34\1\127\10\uffff\2\34", + "\1\124\20\uffff\1\126\3\uffff\10\35\7\122\1\123\3\uffff\1\35"+ + "\4\uffff\6\35\1\uffff\1\35\21\uffff\1\35\1\uffff\1\130\1\127"+ + "\1\35\20\uffff\1\35\1\131\10\uffff\1\35\1\132", "", "", "", "", - "\1\155\17\uffff\1\40\1\157\3\uffff\1\143\7\40\7\153\1\154\3"+ - "\uffff\1\40\4\uffff\6\40\1\uffff\24\40\1\161\1\160\1\156\1\40"+ - "\2\uffff\3\40\12\uffff\1\163\1\162\10\uffff\2\40", "", + "\1\160\17\uffff\1\41\1\162\3\uffff\1\146\7\41\7\156\1\157\3"+ + "\uffff\1\41\4\uffff\6\41\1\uffff\24\41\1\164\1\163\1\161\1\41"+ + "\2\uffff\3\41\12\uffff\1\167\1\165\10\uffff\1\41\1\166", "", "", "", "", "", "", - "\1\u0088", - "\1\u0089\1\uffff\1\u0089\32\uffff\1\u0089", + "", + "\1\u008c", + "\1\u008d\1\uffff\1\u008d\32\uffff\1\u008d", + "", "", "", "", @@ -13260,6 +13742,7 @@ public class wcpsParser extends Parser { "\1\uffff", "\1\uffff", "\1\uffff", + "\1\uffff", "", "", "", @@ -13288,6 +13771,7 @@ public class wcpsParser extends Parser { "\1\uffff", "\1\uffff", "\1\uffff", + "\1\uffff", "", "", "", @@ -13343,295 +13827,325 @@ public class wcpsParser extends Parser { this.transition = DFA34_transition; } public String getDescription() { - return "200:1: unaryInducedExpr returns [CoverageExpr value] : (e6= fieldExpr | e1= unaryArithmeticExpr | e2= exponentialExpr | e3= trigonometricExpr | e4= booleanExpr | e5= castExpr | e7= rangeConstructorExpr );"; + return "201:1: unaryInducedExpr returns [CoverageExpr value] : (e6= fieldExpr | e1= unaryArithmeticExpr | e2= exponentialExpr | e3= trigonometricExpr | e4= booleanExpr | e5= castExpr | e7= rangeConstructorExpr );"; } public int specialStateTransition(int s, IntStream _input) throws NoViableAltException { TokenStream input = (TokenStream)_input; int _s = s; switch ( s ) { case 0 : - int LA34_80 = input.LA(1); + int LA34_82 = input.LA(1); - int index34_80 = input.index(); + int index34_82 = input.index(); input.rewind(); s = -1; if ( (synpred70_wcps()) ) {s = 1;} - else if ( (synpred71_wcps()) ) {s = 28;} + else if ( (synpred71_wcps()) ) {s = 29;} - input.seek(index34_80); + input.seek(index34_82); if ( s>=0 ) return s; break; case 1 : - int LA34_81 = input.LA(1); + int LA34_83 = input.LA(1); - int index34_81 = input.index(); + int index34_83 = input.index(); input.rewind(); s = -1; if ( (synpred70_wcps()) ) {s = 1;} - else if ( (synpred71_wcps()) ) {s = 28;} + else if ( (synpred71_wcps()) ) {s = 29;} - input.seek(index34_81); + input.seek(index34_83); if ( s>=0 ) return s; break; case 2 : - int LA34_82 = input.LA(1); + int LA34_84 = input.LA(1); - int index34_82 = input.index(); + int index34_84 = input.index(); input.rewind(); s = -1; if ( (synpred70_wcps()) ) {s = 1;} - else if ( (synpred71_wcps()) ) {s = 28;} + else if ( (synpred71_wcps()) ) {s = 29;} - input.seek(index34_82); + input.seek(index34_84); if ( s>=0 ) return s; break; case 3 : - int LA34_84 = input.LA(1); + int LA34_86 = input.LA(1); - int index34_84 = input.index(); + int index34_86 = input.index(); input.rewind(); s = -1; if ( (synpred70_wcps()) ) {s = 1;} - else if ( (synpred71_wcps()) ) {s = 28;} + else if ( (synpred71_wcps()) ) {s = 29;} - input.seek(index34_84); + input.seek(index34_86); if ( s>=0 ) return s; break; case 4 : - int LA34_85 = input.LA(1); + int LA34_87 = input.LA(1); - int index34_85 = input.index(); + int index34_87 = input.index(); input.rewind(); s = -1; if ( (synpred70_wcps()) ) {s = 1;} - else if ( (synpred71_wcps()) ) {s = 28;} + else if ( (synpred71_wcps()) ) {s = 29;} - input.seek(index34_85); + input.seek(index34_87); if ( s>=0 ) return s; break; case 5 : - int LA34_86 = input.LA(1); + int LA34_88 = input.LA(1); - int index34_86 = input.index(); + int index34_88 = input.index(); input.rewind(); s = -1; if ( (synpred70_wcps()) ) {s = 1;} - else if ( (synpred71_wcps()) ) {s = 28;} + else if ( (synpred71_wcps()) ) {s = 29;} - input.seek(index34_86); + input.seek(index34_88); if ( s>=0 ) return s; break; case 6 : - int LA34_87 = input.LA(1); + int LA34_89 = input.LA(1); - int index34_87 = input.index(); + int index34_89 = input.index(); input.rewind(); s = -1; if ( (synpred70_wcps()) ) {s = 1;} - else if ( (synpred71_wcps()) ) {s = 28;} + else if ( (synpred71_wcps()) ) {s = 29;} - input.seek(index34_87); + input.seek(index34_89); if ( s>=0 ) return s; break; case 7 : - int LA34_99 = input.LA(1); + int LA34_90 = input.LA(1); - int index34_99 = input.index(); + int index34_90 = input.index(); input.rewind(); s = -1; if ( (synpred70_wcps()) ) {s = 1;} - else if ( (synpred74_wcps()) ) {s = 32;} + else if ( (synpred71_wcps()) ) {s = 29;} - input.seek(index34_99); + input.seek(index34_90); if ( s>=0 ) return s; break; case 8 : - int LA34_107 = input.LA(1); + int LA34_102 = input.LA(1); - int index34_107 = input.index(); + int index34_102 = input.index(); input.rewind(); s = -1; if ( (synpred70_wcps()) ) {s = 1;} - else if ( (synpred74_wcps()) ) {s = 32;} + else if ( (synpred74_wcps()) ) {s = 33;} - input.seek(index34_107); + input.seek(index34_102); if ( s>=0 ) return s; break; case 9 : - int LA34_108 = input.LA(1); + int LA34_110 = input.LA(1); - int index34_108 = input.index(); + int index34_110 = input.index(); input.rewind(); s = -1; if ( (synpred70_wcps()) ) {s = 1;} - else if ( (synpred74_wcps()) ) {s = 32;} + else if ( (synpred74_wcps()) ) {s = 33;} - input.seek(index34_108); + input.seek(index34_110); if ( s>=0 ) return s; break; case 10 : - int LA34_109 = input.LA(1); + int LA34_111 = input.LA(1); - int index34_109 = input.index(); + int index34_111 = input.index(); input.rewind(); s = -1; if ( (synpred70_wcps()) ) {s = 1;} - else if ( (synpred74_wcps()) ) {s = 32;} + else if ( (synpred74_wcps()) ) {s = 33;} - input.seek(index34_109); + input.seek(index34_111); if ( s>=0 ) return s; break; case 11 : - int LA34_110 = input.LA(1); + int LA34_112 = input.LA(1); - int index34_110 = input.index(); + int index34_112 = input.index(); input.rewind(); s = -1; if ( (synpred70_wcps()) ) {s = 1;} - else if ( (synpred74_wcps()) ) {s = 32;} + else if ( (synpred74_wcps()) ) {s = 33;} - input.seek(index34_110); + input.seek(index34_112); if ( s>=0 ) return s; break; case 12 : - int LA34_111 = input.LA(1); + int LA34_113 = input.LA(1); - int index34_111 = input.index(); + int index34_113 = input.index(); input.rewind(); s = -1; if ( (synpred70_wcps()) ) {s = 1;} - else if ( (synpred74_wcps()) ) {s = 32;} + else if ( (synpred74_wcps()) ) {s = 33;} - input.seek(index34_111); + input.seek(index34_113); if ( s>=0 ) return s; break; case 13 : - int LA34_112 = input.LA(1); + int LA34_114 = input.LA(1); - int index34_112 = input.index(); + int index34_114 = input.index(); input.rewind(); s = -1; if ( (synpred70_wcps()) ) {s = 1;} - else if ( (synpred74_wcps()) ) {s = 32;} + else if ( (synpred74_wcps()) ) {s = 33;} - input.seek(index34_112); + input.seek(index34_114); if ( s>=0 ) return s; break; case 14 : - int LA34_113 = input.LA(1); + int LA34_115 = input.LA(1); - int index34_113 = input.index(); + int index34_115 = input.index(); input.rewind(); s = -1; if ( (synpred70_wcps()) ) {s = 1;} - else if ( (synpred74_wcps()) ) {s = 32;} + else if ( (synpred74_wcps()) ) {s = 33;} - input.seek(index34_113); + input.seek(index34_115); if ( s>=0 ) return s; break; case 15 : - int LA34_114 = input.LA(1); + int LA34_116 = input.LA(1); - int index34_114 = input.index(); + int index34_116 = input.index(); input.rewind(); s = -1; if ( (synpred70_wcps()) ) {s = 1;} - else if ( (synpred74_wcps()) ) {s = 32;} + else if ( (synpred74_wcps()) ) {s = 33;} - input.seek(index34_114); + input.seek(index34_116); if ( s>=0 ) return s; break; case 16 : - int LA34_115 = input.LA(1); + int LA34_117 = input.LA(1); - int index34_115 = input.index(); + int index34_117 = input.index(); input.rewind(); s = -1; if ( (synpred70_wcps()) ) {s = 1;} - else if ( (synpred74_wcps()) ) {s = 32;} + else if ( (synpred74_wcps()) ) {s = 33;} - input.seek(index34_115); + input.seek(index34_117); if ( s>=0 ) return s; break; case 17 : - int LA34_136 = input.LA(1); + int LA34_118 = input.LA(1); - int index34_136 = input.index(); + int index34_118 = input.index(); input.rewind(); s = -1; if ( (synpred70_wcps()) ) {s = 1;} - else if ( (true) ) {s = 138;} + else if ( (synpred74_wcps()) ) {s = 33;} - input.seek(index34_136); + input.seek(index34_118); if ( s>=0 ) return s; break; case 18 : - int LA34_137 = input.LA(1); + int LA34_119 = input.LA(1); + + + int index34_119 = input.index(); + input.rewind(); + s = -1; + if ( (synpred70_wcps()) ) {s = 1;} + + else if ( (synpred74_wcps()) ) {s = 33;} + + + input.seek(index34_119); + if ( s>=0 ) return s; + break; + case 19 : + int LA34_140 = input.LA(1); + + + int index34_140 = input.index(); + input.rewind(); + s = -1; + if ( (synpred70_wcps()) ) {s = 1;} + + else if ( (true) ) {s = 142;} + + + input.seek(index34_140); + if ( s>=0 ) return s; + break; + case 20 : + int LA34_141 = input.LA(1); - int index34_137 = input.index(); + int index34_141 = input.index(); input.rewind(); s = -1; if ( (synpred70_wcps()) ) {s = 1;} - else if ( (true) ) {s = 138;} + else if ( (true) ) {s = 142;} - input.seek(index34_137); + input.seek(index34_141); if ( s>=0 ) return s; break; } @@ -13642,20 +14156,20 @@ public class wcpsParser extends Parser { throw nvae; } } - static final String DFA42_eotS = - "\u0085\uffff"; - static final String DFA42_eofS = - "\u0085\uffff"; - static final String DFA42_minS = - "\12\6\1\15\1\6\1\20\2\6\2\20\1\15\1\6\1\122\1\116\5\6\1\70\1\116"+ - "\3\uffff\146\0"; - static final String DFA42_maxS = - "\1\154\11\6\1\51\1\154\1\122\1\142\1\6\3\122\1\142\1\122\1\153\5"+ - "\6\1\70\1\153\3\uffff\146\0"; - static final String DFA42_acceptS = - "\34\uffff\1\1\1\2\1\3\146\uffff"; - static final String DFA42_specialS = - "\37\uffff\1\0\1\1\1\2\1\3\1\4\1\5\1\6\1\7\1\10\1\11\1\12\1\13\1"+ + static final String DFA41_eotS = + "\u0092\uffff"; + static final String DFA41_eofS = + "\u0092\uffff"; + static final String DFA41_minS = + "\12\6\1\15\1\6\1\20\2\6\3\20\1\15\1\6\1\122\1\116\5\6\1\70\1\116"+ + "\3\uffff\162\0"; + static final String DFA41_maxS = + "\1\154\11\6\1\51\1\154\1\122\1\154\1\6\4\122\1\154\1\122\1\153\5"+ + "\6\1\70\1\153\3\uffff\162\0"; + static final String DFA41_acceptS = + "\35\uffff\1\1\1\2\1\3\162\uffff"; + static final String DFA41_specialS = + "\40\uffff\1\0\1\1\1\2\1\3\1\4\1\5\1\6\1\7\1\10\1\11\1\12\1\13\1"+ "\14\1\15\1\16\1\17\1\20\1\21\1\22\1\23\1\24\1\25\1\26\1\27\1\30"+ "\1\31\1\32\1\33\1\34\1\35\1\36\1\37\1\40\1\41\1\42\1\43\1\44\1\45"+ "\1\46\1\47\1\50\1\51\1\52\1\53\1\54\1\55\1\56\1\57\1\60\1\61\1\62"+ @@ -13663,13 +14177,13 @@ public class wcpsParser extends Parser { "\1\100\1\101\1\102\1\103\1\104\1\105\1\106\1\107\1\110\1\111\1\112"+ "\1\113\1\114\1\115\1\116\1\117\1\120\1\121\1\122\1\123\1\124\1\125"+ "\1\126\1\127\1\130\1\131\1\132\1\133\1\134\1\135\1\136\1\137\1\140"+ - "\1\141\1\142\1\143\1\144\1\145}>"; - static final String[] DFA42_transitionS = { + "\1\141\1\142\1\143\1\144\1\145\1\146\1\147\1\150\1\151\1\152\1\153"+ + "\1\154\1\155\1\156\1\157\1\160\1\161}>"; + static final String[] DFA41_transitionS = { "\1\13\20\uffff\1\15\3\uffff\1\1\1\2\1\3\1\4\1\6\1\7\1\10\1\5"+ - "\7\11\1\12\3\uffff\1\24\4\uffff\1\25\1\26\1\27\1\30\1\31\1\33"+ - "\1\uffff\1\32\21\uffff\1\22\1\uffff\1\17\1\16\1\14\3\uffff\1"+ - "\34\1\35\1\36\12\uffff\1\21\1\20\10\uffff\2\23", - "\1\37", + "\7\11\1\12\3\uffff\1\25\4\uffff\1\26\1\27\1\30\1\31\1\32\1\34"+ + "\1\uffff\1\33\21\uffff\1\23\1\uffff\1\17\1\16\1\14\3\uffff\1"+ + "\35\1\36\1\37\12\uffff\1\22\1\20\10\uffff\1\24\1\21", "\1\40", "\1\41", "\1\42", @@ -13678,32 +14192,36 @@ public class wcpsParser extends Parser { "\1\45", "\1\46", "\1\47", - "\1\50\1\uffff\1\50\6\uffff\1\50\1\uffff\1\50\17\uffff\2\50", - "\1\52\17\uffff\1\107\1\53\3\uffff\1\60\1\64\1\65\1\66\1\70"+ - "\1\71\1\72\1\67\7\56\1\57\3\uffff\1\74\4\uffff\1\75\1\76\1\77"+ - "\1\100\1\101\1\103\1\uffff\1\102\1\115\4\110\3\111\11\112\1"+ - "\63\1\113\1\55\1\54\1\61\1\114\2\uffff\1\104\1\105\1\106\12"+ - "\uffff\1\62\1\51\10\uffff\2\73", - "\1\117\1\120\1\121\1\122\1\123\1\124\74\uffff\1\116", - "\1\125\20\uffff\1\126\13\uffff\7\132\1\133\43\uffff\1\130\1"+ - "\127\22\uffff\1\131", - "\1\134", - "\1\140\1\141\1\142\1\143\1\144\1\145\2\136\2\135\70\uffff\1"+ - "\137", - "\1\150\1\151\1\152\1\153\1\154\1\155\2\147\2\146\70\uffff\1"+ - "\156", - "\2\160\1\157\102\uffff\1\161", - "\1\162\20\uffff\1\165\3\uffff\1\163\7\uffff\7\171\1\172\43"+ - "\uffff\1\167\1\166\1\164\20\uffff\1\173\1\170", - "\1\174", - "\1\175\1\uffff\1\175\32\uffff\1\175", - "\1\176", - "\1\177", - "\1\u0080", - "\1\u0081", - "\1\u0082", - "\1\u0083", - "\1\u0084\1\uffff\1\u0084\32\uffff\1\u0084", + "\1\50", + "\1\51\1\uffff\1\51\6\uffff\1\51\1\uffff\1\51\17\uffff\2\51", + "\1\65\17\uffff\1\111\1\67\3\uffff\1\53\1\54\1\55\1\56\1\60"+ + "\1\61\1\62\1\57\7\63\1\64\3\uffff\1\76\4\uffff\1\77\1\100\1"+ + "\101\1\102\1\103\1\105\1\uffff\1\104\1\117\4\112\3\113\11\114"+ + "\1\74\1\115\1\71\1\70\1\66\1\116\2\uffff\1\106\1\107\1\110\12"+ + "\uffff\1\73\1\52\10\uffff\1\75\1\72", + "\1\121\1\122\1\123\1\124\1\125\1\126\74\uffff\1\120", + "\1\127\20\uffff\1\130\13\uffff\7\134\1\135\43\uffff\1\132\1"+ + "\131\22\uffff\1\133\11\uffff\1\136", + "\1\137", + "\1\142\1\143\1\144\1\145\1\146\1\147\2\141\2\140\70\uffff\1"+ + "\150", + "\1\153\1\154\1\155\1\156\1\157\1\160\2\152\2\151\70\uffff\1"+ + "\161", + "\1\164\1\165\1\166\1\167\1\170\1\171\2\163\2\162\70\uffff\1"+ + "\172", + "\2\174\1\173\102\uffff\1\175", + "\1\176\20\uffff\1\u0081\3\uffff\1\177\7\uffff\7\u0085\1\u0086"+ + "\43\uffff\1\u0083\1\u0082\1\u0080\20\uffff\1\u0088\1\u0084\11"+ + "\uffff\1\u0087", + "\1\u0089", + "\1\u008a\1\uffff\1\u008a\32\uffff\1\u008a", + "\1\u008b", + "\1\u008c", + "\1\u008d", + "\1\u008e", + "\1\u008f", + "\1\u0090", + "\1\u0091\1\uffff\1\u0091\32\uffff\1\u0091", "", "", "", @@ -13808,1598 +14326,1790 @@ public class wcpsParser extends Parser { "\1\uffff", "\1\uffff", "\1\uffff", + "\1\uffff", + "\1\uffff", + "\1\uffff", + "\1\uffff", + "\1\uffff", + "\1\uffff", + "\1\uffff", + "\1\uffff", + "\1\uffff", + "\1\uffff", + "\1\uffff", + "\1\uffff", "\1\uffff" }; - static final short[] DFA42_eot = DFA.unpackEncodedString(DFA42_eotS); - static final short[] DFA42_eof = DFA.unpackEncodedString(DFA42_eofS); - static final char[] DFA42_min = DFA.unpackEncodedStringToUnsignedChars(DFA42_minS); - static final char[] DFA42_max = DFA.unpackEncodedStringToUnsignedChars(DFA42_maxS); - static final short[] DFA42_accept = DFA.unpackEncodedString(DFA42_acceptS); - static final short[] DFA42_special = DFA.unpackEncodedString(DFA42_specialS); - static final short[][] DFA42_transition; + static final short[] DFA41_eot = DFA.unpackEncodedString(DFA41_eotS); + static final short[] DFA41_eof = DFA.unpackEncodedString(DFA41_eofS); + static final char[] DFA41_min = DFA.unpackEncodedStringToUnsignedChars(DFA41_minS); + static final char[] DFA41_max = DFA.unpackEncodedStringToUnsignedChars(DFA41_maxS); + static final short[] DFA41_accept = DFA.unpackEncodedString(DFA41_acceptS); + static final short[] DFA41_special = DFA.unpackEncodedString(DFA41_specialS); + static final short[][] DFA41_transition; static { - int numStates = DFA42_transitionS.length; - DFA42_transition = new short[numStates][]; + int numStates = DFA41_transitionS.length; + DFA41_transition = new short[numStates][]; for (int i=0; i=0 ) return s; break; case 1 : - int LA42_32 = input.LA(1); + int LA41_33 = input.LA(1); - int index42_32 = input.index(); + int index41_33 = input.index(); input.rewind(); s = -1; - if ( (synpred99_wcps()) ) {s = 28;} + if ( (synpred99_wcps()) ) {s = 29;} - else if ( (synpred100_wcps()) ) {s = 29;} + else if ( (synpred100_wcps()) ) {s = 30;} - input.seek(index42_32); + input.seek(index41_33); if ( s>=0 ) return s; break; case 2 : - int LA42_33 = input.LA(1); + int LA41_34 = input.LA(1); - int index42_33 = input.index(); + int index41_34 = input.index(); input.rewind(); s = -1; - if ( (synpred99_wcps()) ) {s = 28;} + if ( (synpred99_wcps()) ) {s = 29;} - else if ( (synpred100_wcps()) ) {s = 29;} + else if ( (synpred100_wcps()) ) {s = 30;} - input.seek(index42_33); + input.seek(index41_34); if ( s>=0 ) return s; break; case 3 : - int LA42_34 = input.LA(1); + int LA41_35 = input.LA(1); - int index42_34 = input.index(); + int index41_35 = input.index(); input.rewind(); s = -1; - if ( (synpred99_wcps()) ) {s = 28;} + if ( (synpred99_wcps()) ) {s = 29;} - else if ( (synpred100_wcps()) ) {s = 29;} + else if ( (synpred100_wcps()) ) {s = 30;} - input.seek(index42_34); + input.seek(index41_35); if ( s>=0 ) return s; break; case 4 : - int LA42_35 = input.LA(1); + int LA41_36 = input.LA(1); - int index42_35 = input.index(); + int index41_36 = input.index(); input.rewind(); s = -1; - if ( (synpred99_wcps()) ) {s = 28;} + if ( (synpred99_wcps()) ) {s = 29;} - else if ( (synpred100_wcps()) ) {s = 29;} + else if ( (synpred100_wcps()) ) {s = 30;} - input.seek(index42_35); + input.seek(index41_36); if ( s>=0 ) return s; break; case 5 : - int LA42_36 = input.LA(1); + int LA41_37 = input.LA(1); - int index42_36 = input.index(); + int index41_37 = input.index(); input.rewind(); s = -1; - if ( (synpred99_wcps()) ) {s = 28;} + if ( (synpred99_wcps()) ) {s = 29;} - else if ( (synpred100_wcps()) ) {s = 29;} + else if ( (synpred100_wcps()) ) {s = 30;} - input.seek(index42_36); + input.seek(index41_37); if ( s>=0 ) return s; break; case 6 : - int LA42_37 = input.LA(1); + int LA41_38 = input.LA(1); - int index42_37 = input.index(); + int index41_38 = input.index(); input.rewind(); s = -1; - if ( (synpred99_wcps()) ) {s = 28;} + if ( (synpred99_wcps()) ) {s = 29;} - else if ( (synpred100_wcps()) ) {s = 29;} + else if ( (synpred100_wcps()) ) {s = 30;} - input.seek(index42_37); + input.seek(index41_38); if ( s>=0 ) return s; break; case 7 : - int LA42_38 = input.LA(1); + int LA41_39 = input.LA(1); - int index42_38 = input.index(); + int index41_39 = input.index(); input.rewind(); s = -1; - if ( (synpred99_wcps()) ) {s = 28;} + if ( (synpred99_wcps()) ) {s = 29;} - else if ( (synpred100_wcps()) ) {s = 29;} + else if ( (synpred100_wcps()) ) {s = 30;} - input.seek(index42_38); + input.seek(index41_39); if ( s>=0 ) return s; break; case 8 : - int LA42_39 = input.LA(1); + int LA41_40 = input.LA(1); - int index42_39 = input.index(); + int index41_40 = input.index(); input.rewind(); s = -1; - if ( (synpred99_wcps()) ) {s = 28;} + if ( (synpred99_wcps()) ) {s = 29;} - else if ( (synpred100_wcps()) ) {s = 29;} + else if ( (synpred100_wcps()) ) {s = 30;} - input.seek(index42_39); + input.seek(index41_40); if ( s>=0 ) return s; break; case 9 : - int LA42_40 = input.LA(1); + int LA41_41 = input.LA(1); - int index42_40 = input.index(); + int index41_41 = input.index(); input.rewind(); s = -1; - if ( (synpred99_wcps()) ) {s = 28;} + if ( (synpred99_wcps()) ) {s = 29;} - else if ( (synpred100_wcps()) ) {s = 29;} + else if ( (synpred100_wcps()) ) {s = 30;} - input.seek(index42_40); + input.seek(index41_41); if ( s>=0 ) return s; break; case 10 : - int LA42_41 = input.LA(1); + int LA41_42 = input.LA(1); - int index42_41 = input.index(); + int index41_42 = input.index(); input.rewind(); s = -1; - if ( (synpred99_wcps()) ) {s = 28;} + if ( (synpred99_wcps()) ) {s = 29;} - else if ( (synpred100_wcps()) ) {s = 29;} + else if ( (synpred100_wcps()) ) {s = 30;} - input.seek(index42_41); + input.seek(index41_42); if ( s>=0 ) return s; break; case 11 : - int LA42_42 = input.LA(1); + int LA41_43 = input.LA(1); - int index42_42 = input.index(); + int index41_43 = input.index(); input.rewind(); s = -1; - if ( (synpred99_wcps()) ) {s = 28;} + if ( (synpred99_wcps()) ) {s = 29;} - else if ( (synpred100_wcps()) ) {s = 29;} + else if ( (synpred100_wcps()) ) {s = 30;} - input.seek(index42_42); + input.seek(index41_43); if ( s>=0 ) return s; break; case 12 : - int LA42_43 = input.LA(1); + int LA41_44 = input.LA(1); - int index42_43 = input.index(); + int index41_44 = input.index(); input.rewind(); s = -1; - if ( (synpred99_wcps()) ) {s = 28;} + if ( (synpred99_wcps()) ) {s = 29;} - else if ( (synpred100_wcps()) ) {s = 29;} + else if ( (synpred100_wcps()) ) {s = 30;} - input.seek(index42_43); + input.seek(index41_44); if ( s>=0 ) return s; break; case 13 : - int LA42_44 = input.LA(1); + int LA41_45 = input.LA(1); - int index42_44 = input.index(); + int index41_45 = input.index(); input.rewind(); s = -1; - if ( (synpred99_wcps()) ) {s = 28;} + if ( (synpred99_wcps()) ) {s = 29;} - else if ( (synpred100_wcps()) ) {s = 29;} + else if ( (synpred100_wcps()) ) {s = 30;} - input.seek(index42_44); + input.seek(index41_45); if ( s>=0 ) return s; break; case 14 : - int LA42_45 = input.LA(1); + int LA41_46 = input.LA(1); - int index42_45 = input.index(); + int index41_46 = input.index(); input.rewind(); s = -1; - if ( (synpred99_wcps()) ) {s = 28;} + if ( (synpred99_wcps()) ) {s = 29;} - else if ( (synpred100_wcps()) ) {s = 29;} + else if ( (synpred100_wcps()) ) {s = 30;} - input.seek(index42_45); + input.seek(index41_46); if ( s>=0 ) return s; break; case 15 : - int LA42_46 = input.LA(1); + int LA41_47 = input.LA(1); - int index42_46 = input.index(); + int index41_47 = input.index(); input.rewind(); s = -1; - if ( (synpred99_wcps()) ) {s = 28;} + if ( (synpred99_wcps()) ) {s = 29;} - else if ( (synpred100_wcps()) ) {s = 29;} + else if ( (synpred100_wcps()) ) {s = 30;} - input.seek(index42_46); + input.seek(index41_47); if ( s>=0 ) return s; break; case 16 : - int LA42_47 = input.LA(1); + int LA41_48 = input.LA(1); - int index42_47 = input.index(); + int index41_48 = input.index(); input.rewind(); s = -1; - if ( (synpred99_wcps()) ) {s = 28;} + if ( (synpred99_wcps()) ) {s = 29;} - else if ( (synpred100_wcps()) ) {s = 29;} + else if ( (synpred100_wcps()) ) {s = 30;} - input.seek(index42_47); + input.seek(index41_48); if ( s>=0 ) return s; break; case 17 : - int LA42_48 = input.LA(1); + int LA41_49 = input.LA(1); - int index42_48 = input.index(); + int index41_49 = input.index(); input.rewind(); s = -1; - if ( (synpred99_wcps()) ) {s = 28;} + if ( (synpred99_wcps()) ) {s = 29;} - else if ( (synpred100_wcps()) ) {s = 29;} + else if ( (synpred100_wcps()) ) {s = 30;} - input.seek(index42_48); + input.seek(index41_49); if ( s>=0 ) return s; break; case 18 : - int LA42_49 = input.LA(1); + int LA41_50 = input.LA(1); - int index42_49 = input.index(); + int index41_50 = input.index(); input.rewind(); s = -1; - if ( (synpred99_wcps()) ) {s = 28;} + if ( (synpred99_wcps()) ) {s = 29;} - else if ( (synpred100_wcps()) ) {s = 29;} + else if ( (synpred100_wcps()) ) {s = 30;} - input.seek(index42_49); + input.seek(index41_50); if ( s>=0 ) return s; break; case 19 : - int LA42_50 = input.LA(1); + int LA41_51 = input.LA(1); - int index42_50 = input.index(); + int index41_51 = input.index(); input.rewind(); s = -1; - if ( (synpred99_wcps()) ) {s = 28;} + if ( (synpred99_wcps()) ) {s = 29;} - else if ( (synpred100_wcps()) ) {s = 29;} + else if ( (synpred100_wcps()) ) {s = 30;} - input.seek(index42_50); + input.seek(index41_51); if ( s>=0 ) return s; break; case 20 : - int LA42_51 = input.LA(1); + int LA41_52 = input.LA(1); - int index42_51 = input.index(); + int index41_52 = input.index(); input.rewind(); s = -1; - if ( (synpred99_wcps()) ) {s = 28;} + if ( (synpred99_wcps()) ) {s = 29;} - else if ( (synpred100_wcps()) ) {s = 29;} + else if ( (synpred100_wcps()) ) {s = 30;} - input.seek(index42_51); + input.seek(index41_52); if ( s>=0 ) return s; break; case 21 : - int LA42_52 = input.LA(1); + int LA41_53 = input.LA(1); - int index42_52 = input.index(); + int index41_53 = input.index(); input.rewind(); s = -1; - if ( (synpred99_wcps()) ) {s = 28;} + if ( (synpred99_wcps()) ) {s = 29;} - else if ( (synpred100_wcps()) ) {s = 29;} + else if ( (synpred100_wcps()) ) {s = 30;} - input.seek(index42_52); + input.seek(index41_53); if ( s>=0 ) return s; break; case 22 : - int LA42_53 = input.LA(1); + int LA41_54 = input.LA(1); - int index42_53 = input.index(); + int index41_54 = input.index(); input.rewind(); s = -1; - if ( (synpred99_wcps()) ) {s = 28;} + if ( (synpred99_wcps()) ) {s = 29;} - else if ( (synpred100_wcps()) ) {s = 29;} + else if ( (synpred100_wcps()) ) {s = 30;} - input.seek(index42_53); + input.seek(index41_54); if ( s>=0 ) return s; break; case 23 : - int LA42_54 = input.LA(1); + int LA41_55 = input.LA(1); - int index42_54 = input.index(); + int index41_55 = input.index(); input.rewind(); s = -1; - if ( (synpred99_wcps()) ) {s = 28;} + if ( (synpred99_wcps()) ) {s = 29;} - else if ( (synpred100_wcps()) ) {s = 29;} + else if ( (synpred100_wcps()) ) {s = 30;} - input.seek(index42_54); + input.seek(index41_55); if ( s>=0 ) return s; break; case 24 : - int LA42_55 = input.LA(1); + int LA41_56 = input.LA(1); - int index42_55 = input.index(); + int index41_56 = input.index(); input.rewind(); s = -1; - if ( (synpred99_wcps()) ) {s = 28;} + if ( (synpred99_wcps()) ) {s = 29;} - else if ( (synpred100_wcps()) ) {s = 29;} + else if ( (synpred100_wcps()) ) {s = 30;} - input.seek(index42_55); + input.seek(index41_56); if ( s>=0 ) return s; break; case 25 : - int LA42_56 = input.LA(1); + int LA41_57 = input.LA(1); - int index42_56 = input.index(); + int index41_57 = input.index(); input.rewind(); s = -1; - if ( (synpred99_wcps()) ) {s = 28;} + if ( (synpred99_wcps()) ) {s = 29;} - else if ( (synpred100_wcps()) ) {s = 29;} + else if ( (synpred100_wcps()) ) {s = 30;} - input.seek(index42_56); + input.seek(index41_57); if ( s>=0 ) return s; break; case 26 : - int LA42_57 = input.LA(1); + int LA41_58 = input.LA(1); - int index42_57 = input.index(); + int index41_58 = input.index(); input.rewind(); s = -1; - if ( (synpred99_wcps()) ) {s = 28;} + if ( (synpred99_wcps()) ) {s = 29;} - else if ( (synpred100_wcps()) ) {s = 29;} + else if ( (synpred100_wcps()) ) {s = 30;} - input.seek(index42_57); + input.seek(index41_58); if ( s>=0 ) return s; break; case 27 : - int LA42_58 = input.LA(1); + int LA41_59 = input.LA(1); - int index42_58 = input.index(); + int index41_59 = input.index(); input.rewind(); s = -1; - if ( (synpred99_wcps()) ) {s = 28;} + if ( (synpred99_wcps()) ) {s = 29;} - else if ( (synpred100_wcps()) ) {s = 29;} + else if ( (synpred100_wcps()) ) {s = 30;} - input.seek(index42_58); + input.seek(index41_59); if ( s>=0 ) return s; break; case 28 : - int LA42_59 = input.LA(1); + int LA41_60 = input.LA(1); - int index42_59 = input.index(); + int index41_60 = input.index(); input.rewind(); s = -1; - if ( (synpred99_wcps()) ) {s = 28;} + if ( (synpred99_wcps()) ) {s = 29;} - else if ( (synpred100_wcps()) ) {s = 29;} + else if ( (synpred100_wcps()) ) {s = 30;} - input.seek(index42_59); + input.seek(index41_60); if ( s>=0 ) return s; break; case 29 : - int LA42_60 = input.LA(1); + int LA41_61 = input.LA(1); - int index42_60 = input.index(); + int index41_61 = input.index(); input.rewind(); s = -1; - if ( (synpred99_wcps()) ) {s = 28;} + if ( (synpred99_wcps()) ) {s = 29;} - else if ( (synpred100_wcps()) ) {s = 29;} + else if ( (synpred100_wcps()) ) {s = 30;} - input.seek(index42_60); + input.seek(index41_61); if ( s>=0 ) return s; break; case 30 : - int LA42_61 = input.LA(1); + int LA41_62 = input.LA(1); - int index42_61 = input.index(); + int index41_62 = input.index(); input.rewind(); s = -1; - if ( (synpred99_wcps()) ) {s = 28;} + if ( (synpred99_wcps()) ) {s = 29;} - else if ( (synpred100_wcps()) ) {s = 29;} + else if ( (synpred100_wcps()) ) {s = 30;} - input.seek(index42_61); + input.seek(index41_62); if ( s>=0 ) return s; break; case 31 : - int LA42_62 = input.LA(1); + int LA41_63 = input.LA(1); - int index42_62 = input.index(); + int index41_63 = input.index(); input.rewind(); s = -1; - if ( (synpred99_wcps()) ) {s = 28;} + if ( (synpred99_wcps()) ) {s = 29;} - else if ( (synpred100_wcps()) ) {s = 29;} + else if ( (synpred100_wcps()) ) {s = 30;} - input.seek(index42_62); + input.seek(index41_63); if ( s>=0 ) return s; break; case 32 : - int LA42_63 = input.LA(1); + int LA41_64 = input.LA(1); - int index42_63 = input.index(); + int index41_64 = input.index(); input.rewind(); s = -1; - if ( (synpred99_wcps()) ) {s = 28;} + if ( (synpred99_wcps()) ) {s = 29;} - else if ( (synpred100_wcps()) ) {s = 29;} + else if ( (synpred100_wcps()) ) {s = 30;} - input.seek(index42_63); + input.seek(index41_64); if ( s>=0 ) return s; break; case 33 : - int LA42_64 = input.LA(1); + int LA41_65 = input.LA(1); - int index42_64 = input.index(); + int index41_65 = input.index(); input.rewind(); s = -1; - if ( (synpred99_wcps()) ) {s = 28;} + if ( (synpred99_wcps()) ) {s = 29;} - else if ( (synpred100_wcps()) ) {s = 29;} + else if ( (synpred100_wcps()) ) {s = 30;} - input.seek(index42_64); + input.seek(index41_65); if ( s>=0 ) return s; break; case 34 : - int LA42_65 = input.LA(1); + int LA41_66 = input.LA(1); - int index42_65 = input.index(); + int index41_66 = input.index(); input.rewind(); s = -1; - if ( (synpred99_wcps()) ) {s = 28;} + if ( (synpred99_wcps()) ) {s = 29;} - else if ( (synpred100_wcps()) ) {s = 29;} + else if ( (synpred100_wcps()) ) {s = 30;} - input.seek(index42_65); + input.seek(index41_66); if ( s>=0 ) return s; break; case 35 : - int LA42_66 = input.LA(1); + int LA41_67 = input.LA(1); - int index42_66 = input.index(); + int index41_67 = input.index(); input.rewind(); s = -1; - if ( (synpred99_wcps()) ) {s = 28;} + if ( (synpred99_wcps()) ) {s = 29;} - else if ( (synpred100_wcps()) ) {s = 29;} + else if ( (synpred100_wcps()) ) {s = 30;} - input.seek(index42_66); + input.seek(index41_67); if ( s>=0 ) return s; break; case 36 : - int LA42_67 = input.LA(1); + int LA41_68 = input.LA(1); - int index42_67 = input.index(); + int index41_68 = input.index(); input.rewind(); s = -1; - if ( (synpred99_wcps()) ) {s = 28;} + if ( (synpred99_wcps()) ) {s = 29;} - else if ( (synpred100_wcps()) ) {s = 29;} + else if ( (synpred100_wcps()) ) {s = 30;} - input.seek(index42_67); + input.seek(index41_68); if ( s>=0 ) return s; break; case 37 : - int LA42_68 = input.LA(1); + int LA41_69 = input.LA(1); - int index42_68 = input.index(); + int index41_69 = input.index(); input.rewind(); s = -1; - if ( (synpred99_wcps()) ) {s = 28;} + if ( (synpred99_wcps()) ) {s = 29;} - else if ( (synpred100_wcps()) ) {s = 29;} + else if ( (synpred100_wcps()) ) {s = 30;} - input.seek(index42_68); + input.seek(index41_69); if ( s>=0 ) return s; break; case 38 : - int LA42_69 = input.LA(1); + int LA41_70 = input.LA(1); - int index42_69 = input.index(); + int index41_70 = input.index(); input.rewind(); s = -1; - if ( (synpred99_wcps()) ) {s = 28;} + if ( (synpred99_wcps()) ) {s = 29;} - else if ( (synpred100_wcps()) ) {s = 29;} + else if ( (synpred100_wcps()) ) {s = 30;} - input.seek(index42_69); + input.seek(index41_70); if ( s>=0 ) return s; break; case 39 : - int LA42_70 = input.LA(1); + int LA41_71 = input.LA(1); - int index42_70 = input.index(); + int index41_71 = input.index(); input.rewind(); s = -1; - if ( (synpred99_wcps()) ) {s = 28;} + if ( (synpred99_wcps()) ) {s = 29;} - else if ( (synpred100_wcps()) ) {s = 29;} + else if ( (synpred100_wcps()) ) {s = 30;} - input.seek(index42_70); + input.seek(index41_71); if ( s>=0 ) return s; break; case 40 : - int LA42_71 = input.LA(1); + int LA41_72 = input.LA(1); - int index42_71 = input.index(); + int index41_72 = input.index(); input.rewind(); s = -1; - if ( (synpred99_wcps()) ) {s = 28;} + if ( (synpred99_wcps()) ) {s = 29;} - else if ( (synpred100_wcps()) ) {s = 29;} + else if ( (synpred100_wcps()) ) {s = 30;} - input.seek(index42_71); + input.seek(index41_72); if ( s>=0 ) return s; break; case 41 : - int LA42_72 = input.LA(1); + int LA41_73 = input.LA(1); - int index42_72 = input.index(); + int index41_73 = input.index(); input.rewind(); s = -1; - if ( (synpred99_wcps()) ) {s = 28;} + if ( (synpred99_wcps()) ) {s = 29;} - else if ( (synpred100_wcps()) ) {s = 29;} + else if ( (synpred100_wcps()) ) {s = 30;} - input.seek(index42_72); + input.seek(index41_73); if ( s>=0 ) return s; break; case 42 : - int LA42_73 = input.LA(1); + int LA41_74 = input.LA(1); - int index42_73 = input.index(); + int index41_74 = input.index(); input.rewind(); s = -1; - if ( (synpred99_wcps()) ) {s = 28;} + if ( (synpred99_wcps()) ) {s = 29;} - else if ( (synpred100_wcps()) ) {s = 29;} + else if ( (synpred100_wcps()) ) {s = 30;} - input.seek(index42_73); + input.seek(index41_74); if ( s>=0 ) return s; break; case 43 : - int LA42_74 = input.LA(1); + int LA41_75 = input.LA(1); - int index42_74 = input.index(); + int index41_75 = input.index(); input.rewind(); s = -1; - if ( (synpred99_wcps()) ) {s = 28;} + if ( (synpred99_wcps()) ) {s = 29;} - else if ( (synpred100_wcps()) ) {s = 29;} + else if ( (synpred100_wcps()) ) {s = 30;} - input.seek(index42_74); + input.seek(index41_75); if ( s>=0 ) return s; break; case 44 : - int LA42_75 = input.LA(1); + int LA41_76 = input.LA(1); - int index42_75 = input.index(); + int index41_76 = input.index(); input.rewind(); s = -1; - if ( (synpred99_wcps()) ) {s = 28;} + if ( (synpred99_wcps()) ) {s = 29;} - else if ( (synpred100_wcps()) ) {s = 29;} + else if ( (synpred100_wcps()) ) {s = 30;} - input.seek(index42_75); + input.seek(index41_76); if ( s>=0 ) return s; break; case 45 : - int LA42_76 = input.LA(1); + int LA41_77 = input.LA(1); - int index42_76 = input.index(); + int index41_77 = input.index(); input.rewind(); s = -1; - if ( (synpred99_wcps()) ) {s = 28;} + if ( (synpred99_wcps()) ) {s = 29;} - else if ( (synpred100_wcps()) ) {s = 29;} + else if ( (synpred100_wcps()) ) {s = 30;} - input.seek(index42_76); + input.seek(index41_77); if ( s>=0 ) return s; break; case 46 : - int LA42_77 = input.LA(1); + int LA41_78 = input.LA(1); - int index42_77 = input.index(); + int index41_78 = input.index(); input.rewind(); s = -1; - if ( (synpred99_wcps()) ) {s = 28;} + if ( (synpred99_wcps()) ) {s = 29;} - else if ( (synpred100_wcps()) ) {s = 29;} + else if ( (synpred100_wcps()) ) {s = 30;} - input.seek(index42_77); + input.seek(index41_78); if ( s>=0 ) return s; break; case 47 : - int LA42_78 = input.LA(1); + int LA41_79 = input.LA(1); - int index42_78 = input.index(); + int index41_79 = input.index(); input.rewind(); s = -1; - if ( (synpred99_wcps()) ) {s = 28;} + if ( (synpred99_wcps()) ) {s = 29;} - else if ( (synpred100_wcps()) ) {s = 29;} + else if ( (synpred100_wcps()) ) {s = 30;} - input.seek(index42_78); + input.seek(index41_79); if ( s>=0 ) return s; break; case 48 : - int LA42_79 = input.LA(1); + int LA41_80 = input.LA(1); - int index42_79 = input.index(); + int index41_80 = input.index(); input.rewind(); s = -1; - if ( (synpred99_wcps()) ) {s = 28;} + if ( (synpred99_wcps()) ) {s = 29;} - else if ( (synpred100_wcps()) ) {s = 29;} + else if ( (synpred100_wcps()) ) {s = 30;} - input.seek(index42_79); + input.seek(index41_80); if ( s>=0 ) return s; break; case 49 : - int LA42_80 = input.LA(1); + int LA41_81 = input.LA(1); - int index42_80 = input.index(); + int index41_81 = input.index(); input.rewind(); s = -1; - if ( (synpred99_wcps()) ) {s = 28;} + if ( (synpred99_wcps()) ) {s = 29;} - else if ( (synpred100_wcps()) ) {s = 29;} + else if ( (synpred100_wcps()) ) {s = 30;} - input.seek(index42_80); + input.seek(index41_81); if ( s>=0 ) return s; break; case 50 : - int LA42_81 = input.LA(1); + int LA41_82 = input.LA(1); - int index42_81 = input.index(); + int index41_82 = input.index(); input.rewind(); s = -1; - if ( (synpred99_wcps()) ) {s = 28;} + if ( (synpred99_wcps()) ) {s = 29;} - else if ( (synpred100_wcps()) ) {s = 29;} + else if ( (synpred100_wcps()) ) {s = 30;} - input.seek(index42_81); + input.seek(index41_82); if ( s>=0 ) return s; break; case 51 : - int LA42_82 = input.LA(1); + int LA41_83 = input.LA(1); - int index42_82 = input.index(); + int index41_83 = input.index(); input.rewind(); s = -1; - if ( (synpred99_wcps()) ) {s = 28;} + if ( (synpred99_wcps()) ) {s = 29;} - else if ( (synpred100_wcps()) ) {s = 29;} + else if ( (synpred100_wcps()) ) {s = 30;} - input.seek(index42_82); + input.seek(index41_83); if ( s>=0 ) return s; break; case 52 : - int LA42_83 = input.LA(1); + int LA41_84 = input.LA(1); - int index42_83 = input.index(); + int index41_84 = input.index(); input.rewind(); s = -1; - if ( (synpred99_wcps()) ) {s = 28;} + if ( (synpred99_wcps()) ) {s = 29;} - else if ( (synpred100_wcps()) ) {s = 29;} + else if ( (synpred100_wcps()) ) {s = 30;} - input.seek(index42_83); + input.seek(index41_84); if ( s>=0 ) return s; break; case 53 : - int LA42_84 = input.LA(1); + int LA41_85 = input.LA(1); - int index42_84 = input.index(); + int index41_85 = input.index(); input.rewind(); s = -1; - if ( (synpred99_wcps()) ) {s = 28;} + if ( (synpred99_wcps()) ) {s = 29;} - else if ( (synpred100_wcps()) ) {s = 29;} + else if ( (synpred100_wcps()) ) {s = 30;} - input.seek(index42_84); + input.seek(index41_85); if ( s>=0 ) return s; break; case 54 : - int LA42_85 = input.LA(1); + int LA41_86 = input.LA(1); - int index42_85 = input.index(); + int index41_86 = input.index(); input.rewind(); s = -1; - if ( (synpred99_wcps()) ) {s = 28;} + if ( (synpred99_wcps()) ) {s = 29;} - else if ( (synpred100_wcps()) ) {s = 29;} + else if ( (synpred100_wcps()) ) {s = 30;} - input.seek(index42_85); + input.seek(index41_86); if ( s>=0 ) return s; break; case 55 : - int LA42_86 = input.LA(1); + int LA41_87 = input.LA(1); - int index42_86 = input.index(); + int index41_87 = input.index(); input.rewind(); s = -1; - if ( (synpred99_wcps()) ) {s = 28;} + if ( (synpred99_wcps()) ) {s = 29;} - else if ( (synpred100_wcps()) ) {s = 29;} + else if ( (synpred100_wcps()) ) {s = 30;} - input.seek(index42_86); + input.seek(index41_87); if ( s>=0 ) return s; break; case 56 : - int LA42_87 = input.LA(1); + int LA41_88 = input.LA(1); - int index42_87 = input.index(); + int index41_88 = input.index(); input.rewind(); s = -1; - if ( (synpred99_wcps()) ) {s = 28;} + if ( (synpred99_wcps()) ) {s = 29;} - else if ( (synpred100_wcps()) ) {s = 29;} + else if ( (synpred100_wcps()) ) {s = 30;} - input.seek(index42_87); + input.seek(index41_88); if ( s>=0 ) return s; break; case 57 : - int LA42_88 = input.LA(1); + int LA41_89 = input.LA(1); - int index42_88 = input.index(); + int index41_89 = input.index(); input.rewind(); s = -1; - if ( (synpred99_wcps()) ) {s = 28;} + if ( (synpred99_wcps()) ) {s = 29;} - else if ( (synpred100_wcps()) ) {s = 29;} + else if ( (synpred100_wcps()) ) {s = 30;} - input.seek(index42_88); + input.seek(index41_89); if ( s>=0 ) return s; break; case 58 : - int LA42_89 = input.LA(1); + int LA41_90 = input.LA(1); - int index42_89 = input.index(); + int index41_90 = input.index(); input.rewind(); s = -1; - if ( (synpred99_wcps()) ) {s = 28;} + if ( (synpred99_wcps()) ) {s = 29;} - else if ( (synpred100_wcps()) ) {s = 29;} + else if ( (synpred100_wcps()) ) {s = 30;} - input.seek(index42_89); + input.seek(index41_90); if ( s>=0 ) return s; break; case 59 : - int LA42_90 = input.LA(1); + int LA41_91 = input.LA(1); - int index42_90 = input.index(); + int index41_91 = input.index(); input.rewind(); s = -1; - if ( (synpred99_wcps()) ) {s = 28;} + if ( (synpred99_wcps()) ) {s = 29;} - else if ( (synpred100_wcps()) ) {s = 29;} + else if ( (synpred100_wcps()) ) {s = 30;} - input.seek(index42_90); + input.seek(index41_91); if ( s>=0 ) return s; break; case 60 : - int LA42_91 = input.LA(1); + int LA41_92 = input.LA(1); - int index42_91 = input.index(); + int index41_92 = input.index(); input.rewind(); s = -1; - if ( (synpred99_wcps()) ) {s = 28;} + if ( (synpred99_wcps()) ) {s = 29;} - else if ( (synpred100_wcps()) ) {s = 29;} + else if ( (synpred100_wcps()) ) {s = 30;} - input.seek(index42_91); + input.seek(index41_92); if ( s>=0 ) return s; break; case 61 : - int LA42_92 = input.LA(1); + int LA41_93 = input.LA(1); - int index42_92 = input.index(); + int index41_93 = input.index(); input.rewind(); s = -1; - if ( (synpred99_wcps()) ) {s = 28;} + if ( (synpred99_wcps()) ) {s = 29;} - else if ( (synpred100_wcps()) ) {s = 29;} + else if ( (synpred100_wcps()) ) {s = 30;} - input.seek(index42_92); + input.seek(index41_93); if ( s>=0 ) return s; break; case 62 : - int LA42_93 = input.LA(1); + int LA41_94 = input.LA(1); - int index42_93 = input.index(); + int index41_94 = input.index(); input.rewind(); s = -1; - if ( (synpred99_wcps()) ) {s = 28;} + if ( (synpred99_wcps()) ) {s = 29;} - else if ( (synpred100_wcps()) ) {s = 29;} + else if ( (synpred100_wcps()) ) {s = 30;} - input.seek(index42_93); + input.seek(index41_94); if ( s>=0 ) return s; break; case 63 : - int LA42_94 = input.LA(1); + int LA41_95 = input.LA(1); - int index42_94 = input.index(); + int index41_95 = input.index(); input.rewind(); s = -1; - if ( (synpred99_wcps()) ) {s = 28;} + if ( (synpred99_wcps()) ) {s = 29;} - else if ( (synpred100_wcps()) ) {s = 29;} + else if ( (synpred100_wcps()) ) {s = 30;} - input.seek(index42_94); + input.seek(index41_95); if ( s>=0 ) return s; break; case 64 : - int LA42_95 = input.LA(1); + int LA41_96 = input.LA(1); - int index42_95 = input.index(); + int index41_96 = input.index(); input.rewind(); s = -1; - if ( (synpred99_wcps()) ) {s = 28;} + if ( (synpred99_wcps()) ) {s = 29;} - else if ( (synpred100_wcps()) ) {s = 29;} + else if ( (synpred100_wcps()) ) {s = 30;} - input.seek(index42_95); + input.seek(index41_96); if ( s>=0 ) return s; break; case 65 : - int LA42_96 = input.LA(1); + int LA41_97 = input.LA(1); - int index42_96 = input.index(); + int index41_97 = input.index(); input.rewind(); s = -1; - if ( (synpred99_wcps()) ) {s = 28;} + if ( (synpred99_wcps()) ) {s = 29;} - else if ( (synpred100_wcps()) ) {s = 29;} + else if ( (synpred100_wcps()) ) {s = 30;} - input.seek(index42_96); + input.seek(index41_97); if ( s>=0 ) return s; break; case 66 : - int LA42_97 = input.LA(1); + int LA41_98 = input.LA(1); - int index42_97 = input.index(); + int index41_98 = input.index(); input.rewind(); s = -1; - if ( (synpred99_wcps()) ) {s = 28;} + if ( (synpred99_wcps()) ) {s = 29;} - else if ( (synpred100_wcps()) ) {s = 29;} + else if ( (synpred100_wcps()) ) {s = 30;} - input.seek(index42_97); + input.seek(index41_98); if ( s>=0 ) return s; break; case 67 : - int LA42_98 = input.LA(1); + int LA41_99 = input.LA(1); - int index42_98 = input.index(); + int index41_99 = input.index(); input.rewind(); s = -1; - if ( (synpred99_wcps()) ) {s = 28;} + if ( (synpred99_wcps()) ) {s = 29;} - else if ( (synpred100_wcps()) ) {s = 29;} + else if ( (synpred100_wcps()) ) {s = 30;} - input.seek(index42_98); + input.seek(index41_99); if ( s>=0 ) return s; break; case 68 : - int LA42_99 = input.LA(1); + int LA41_100 = input.LA(1); - int index42_99 = input.index(); + int index41_100 = input.index(); input.rewind(); s = -1; - if ( (synpred99_wcps()) ) {s = 28;} + if ( (synpred99_wcps()) ) {s = 29;} - else if ( (synpred100_wcps()) ) {s = 29;} + else if ( (synpred100_wcps()) ) {s = 30;} - input.seek(index42_99); + input.seek(index41_100); if ( s>=0 ) return s; break; case 69 : - int LA42_100 = input.LA(1); + int LA41_101 = input.LA(1); - int index42_100 = input.index(); + int index41_101 = input.index(); input.rewind(); s = -1; - if ( (synpred99_wcps()) ) {s = 28;} + if ( (synpred99_wcps()) ) {s = 29;} - else if ( (synpred100_wcps()) ) {s = 29;} + else if ( (synpred100_wcps()) ) {s = 30;} - input.seek(index42_100); + input.seek(index41_101); if ( s>=0 ) return s; break; case 70 : - int LA42_101 = input.LA(1); + int LA41_102 = input.LA(1); - int index42_101 = input.index(); + int index41_102 = input.index(); input.rewind(); s = -1; - if ( (synpred99_wcps()) ) {s = 28;} + if ( (synpred99_wcps()) ) {s = 29;} - else if ( (synpred100_wcps()) ) {s = 29;} + else if ( (synpred100_wcps()) ) {s = 30;} - input.seek(index42_101); + input.seek(index41_102); if ( s>=0 ) return s; break; case 71 : - int LA42_102 = input.LA(1); + int LA41_103 = input.LA(1); - int index42_102 = input.index(); + int index41_103 = input.index(); input.rewind(); s = -1; - if ( (synpred99_wcps()) ) {s = 28;} + if ( (synpred99_wcps()) ) {s = 29;} - else if ( (synpred100_wcps()) ) {s = 29;} + else if ( (synpred100_wcps()) ) {s = 30;} - input.seek(index42_102); + input.seek(index41_103); if ( s>=0 ) return s; break; case 72 : - int LA42_103 = input.LA(1); + int LA41_104 = input.LA(1); - int index42_103 = input.index(); + int index41_104 = input.index(); input.rewind(); s = -1; - if ( (synpred99_wcps()) ) {s = 28;} + if ( (synpred99_wcps()) ) {s = 29;} - else if ( (synpred100_wcps()) ) {s = 29;} + else if ( (synpred100_wcps()) ) {s = 30;} - input.seek(index42_103); + input.seek(index41_104); if ( s>=0 ) return s; break; case 73 : - int LA42_104 = input.LA(1); + int LA41_105 = input.LA(1); - int index42_104 = input.index(); + int index41_105 = input.index(); input.rewind(); s = -1; - if ( (synpred99_wcps()) ) {s = 28;} + if ( (synpred99_wcps()) ) {s = 29;} - else if ( (synpred100_wcps()) ) {s = 29;} + else if ( (synpred100_wcps()) ) {s = 30;} - input.seek(index42_104); + input.seek(index41_105); if ( s>=0 ) return s; break; case 74 : - int LA42_105 = input.LA(1); + int LA41_106 = input.LA(1); + + + int index41_106 = input.index(); + input.rewind(); + s = -1; + if ( (synpred99_wcps()) ) {s = 29;} + + else if ( (synpred100_wcps()) ) {s = 30;} + + + input.seek(index41_106); + if ( s>=0 ) return s; + break; + case 75 : + int LA41_107 = input.LA(1); + + + int index41_107 = input.index(); + input.rewind(); + s = -1; + if ( (synpred99_wcps()) ) {s = 29;} + + else if ( (synpred100_wcps()) ) {s = 30;} + + + input.seek(index41_107); + if ( s>=0 ) return s; + break; + case 76 : + int LA41_108 = input.LA(1); + + + int index41_108 = input.index(); + input.rewind(); + s = -1; + if ( (synpred99_wcps()) ) {s = 29;} + + else if ( (synpred100_wcps()) ) {s = 30;} + + + input.seek(index41_108); + if ( s>=0 ) return s; + break; + case 77 : + int LA41_109 = input.LA(1); + + + int index41_109 = input.index(); + input.rewind(); + s = -1; + if ( (synpred99_wcps()) ) {s = 29;} + + else if ( (synpred100_wcps()) ) {s = 30;} + + + input.seek(index41_109); + if ( s>=0 ) return s; + break; + case 78 : + int LA41_110 = input.LA(1); + + + int index41_110 = input.index(); + input.rewind(); + s = -1; + if ( (synpred99_wcps()) ) {s = 29;} + + else if ( (synpred100_wcps()) ) {s = 30;} + + + input.seek(index41_110); + if ( s>=0 ) return s; + break; + case 79 : + int LA41_111 = input.LA(1); + + + int index41_111 = input.index(); + input.rewind(); + s = -1; + if ( (synpred99_wcps()) ) {s = 29;} + + else if ( (synpred100_wcps()) ) {s = 30;} + + + input.seek(index41_111); + if ( s>=0 ) return s; + break; + case 80 : + int LA41_112 = input.LA(1); + + + int index41_112 = input.index(); + input.rewind(); + s = -1; + if ( (synpred99_wcps()) ) {s = 29;} + + else if ( (synpred100_wcps()) ) {s = 30;} + + + input.seek(index41_112); + if ( s>=0 ) return s; + break; + case 81 : + int LA41_113 = input.LA(1); + + + int index41_113 = input.index(); + input.rewind(); + s = -1; + if ( (synpred99_wcps()) ) {s = 29;} + + else if ( (synpred100_wcps()) ) {s = 30;} + + + input.seek(index41_113); + if ( s>=0 ) return s; + break; + case 82 : + int LA41_114 = input.LA(1); + + + int index41_114 = input.index(); + input.rewind(); + s = -1; + if ( (synpred99_wcps()) ) {s = 29;} + + else if ( (synpred100_wcps()) ) {s = 30;} + + + input.seek(index41_114); + if ( s>=0 ) return s; + break; + case 83 : + int LA41_115 = input.LA(1); + + + int index41_115 = input.index(); + input.rewind(); + s = -1; + if ( (synpred99_wcps()) ) {s = 29;} + + else if ( (synpred100_wcps()) ) {s = 30;} + + + input.seek(index41_115); + if ( s>=0 ) return s; + break; + case 84 : + int LA41_116 = input.LA(1); + + + int index41_116 = input.index(); + input.rewind(); + s = -1; + if ( (synpred99_wcps()) ) {s = 29;} + + else if ( (synpred100_wcps()) ) {s = 30;} + + + input.seek(index41_116); + if ( s>=0 ) return s; + break; + case 85 : + int LA41_117 = input.LA(1); + + + int index41_117 = input.index(); + input.rewind(); + s = -1; + if ( (synpred99_wcps()) ) {s = 29;} + + else if ( (synpred100_wcps()) ) {s = 30;} + + + input.seek(index41_117); + if ( s>=0 ) return s; + break; + case 86 : + int LA41_118 = input.LA(1); - int index42_105 = input.index(); + int index41_118 = input.index(); input.rewind(); s = -1; - if ( (synpred99_wcps()) ) {s = 28;} + if ( (synpred99_wcps()) ) {s = 29;} - else if ( (synpred100_wcps()) ) {s = 29;} + else if ( (synpred100_wcps()) ) {s = 30;} - input.seek(index42_105); + input.seek(index41_118); if ( s>=0 ) return s; break; - case 75 : - int LA42_106 = input.LA(1); + case 87 : + int LA41_119 = input.LA(1); - int index42_106 = input.index(); + int index41_119 = input.index(); input.rewind(); s = -1; - if ( (synpred99_wcps()) ) {s = 28;} + if ( (synpred99_wcps()) ) {s = 29;} - else if ( (synpred100_wcps()) ) {s = 29;} + else if ( (synpred100_wcps()) ) {s = 30;} - input.seek(index42_106); + input.seek(index41_119); if ( s>=0 ) return s; break; - case 76 : - int LA42_107 = input.LA(1); + case 88 : + int LA41_120 = input.LA(1); - int index42_107 = input.index(); + int index41_120 = input.index(); input.rewind(); s = -1; - if ( (synpred99_wcps()) ) {s = 28;} + if ( (synpred99_wcps()) ) {s = 29;} - else if ( (synpred100_wcps()) ) {s = 29;} + else if ( (synpred100_wcps()) ) {s = 30;} - input.seek(index42_107); + input.seek(index41_120); if ( s>=0 ) return s; break; - case 77 : - int LA42_108 = input.LA(1); + case 89 : + int LA41_121 = input.LA(1); - int index42_108 = input.index(); + int index41_121 = input.index(); input.rewind(); s = -1; - if ( (synpred99_wcps()) ) {s = 28;} + if ( (synpred99_wcps()) ) {s = 29;} - else if ( (synpred100_wcps()) ) {s = 29;} + else if ( (synpred100_wcps()) ) {s = 30;} - input.seek(index42_108); + input.seek(index41_121); if ( s>=0 ) return s; break; - case 78 : - int LA42_109 = input.LA(1); + case 90 : + int LA41_122 = input.LA(1); - int index42_109 = input.index(); + int index41_122 = input.index(); input.rewind(); s = -1; - if ( (synpred99_wcps()) ) {s = 28;} + if ( (synpred99_wcps()) ) {s = 29;} - else if ( (synpred100_wcps()) ) {s = 29;} + else if ( (synpred100_wcps()) ) {s = 30;} - input.seek(index42_109); + input.seek(index41_122); if ( s>=0 ) return s; break; - case 79 : - int LA42_110 = input.LA(1); + case 91 : + int LA41_123 = input.LA(1); - int index42_110 = input.index(); + int index41_123 = input.index(); input.rewind(); s = -1; - if ( (synpred99_wcps()) ) {s = 28;} + if ( (synpred99_wcps()) ) {s = 29;} - else if ( (synpred100_wcps()) ) {s = 29;} + else if ( (synpred100_wcps()) ) {s = 30;} - input.seek(index42_110); + input.seek(index41_123); if ( s>=0 ) return s; break; - case 80 : - int LA42_111 = input.LA(1); + case 92 : + int LA41_124 = input.LA(1); - int index42_111 = input.index(); + int index41_124 = input.index(); input.rewind(); s = -1; - if ( (synpred99_wcps()) ) {s = 28;} + if ( (synpred99_wcps()) ) {s = 29;} - else if ( (synpred100_wcps()) ) {s = 29;} + else if ( (synpred100_wcps()) ) {s = 30;} - input.seek(index42_111); + input.seek(index41_124); if ( s>=0 ) return s; break; - case 81 : - int LA42_112 = input.LA(1); + case 93 : + int LA41_125 = input.LA(1); - int index42_112 = input.index(); + int index41_125 = input.index(); input.rewind(); s = -1; - if ( (synpred99_wcps()) ) {s = 28;} + if ( (synpred99_wcps()) ) {s = 29;} - else if ( (synpred100_wcps()) ) {s = 29;} + else if ( (synpred100_wcps()) ) {s = 30;} - input.seek(index42_112); + input.seek(index41_125); if ( s>=0 ) return s; break; - case 82 : - int LA42_113 = input.LA(1); + case 94 : + int LA41_126 = input.LA(1); - int index42_113 = input.index(); + int index41_126 = input.index(); input.rewind(); s = -1; - if ( (synpred99_wcps()) ) {s = 28;} + if ( (synpred99_wcps()) ) {s = 29;} - else if ( (synpred100_wcps()) ) {s = 29;} + else if ( (synpred100_wcps()) ) {s = 30;} - input.seek(index42_113); + input.seek(index41_126); if ( s>=0 ) return s; break; - case 83 : - int LA42_114 = input.LA(1); + case 95 : + int LA41_127 = input.LA(1); - int index42_114 = input.index(); + int index41_127 = input.index(); input.rewind(); s = -1; - if ( (synpred99_wcps()) ) {s = 28;} + if ( (synpred99_wcps()) ) {s = 29;} - else if ( (synpred100_wcps()) ) {s = 29;} + else if ( (synpred100_wcps()) ) {s = 30;} - input.seek(index42_114); + input.seek(index41_127); if ( s>=0 ) return s; break; - case 84 : - int LA42_115 = input.LA(1); + case 96 : + int LA41_128 = input.LA(1); - int index42_115 = input.index(); + int index41_128 = input.index(); input.rewind(); s = -1; - if ( (synpred99_wcps()) ) {s = 28;} + if ( (synpred99_wcps()) ) {s = 29;} - else if ( (synpred100_wcps()) ) {s = 29;} + else if ( (synpred100_wcps()) ) {s = 30;} - input.seek(index42_115); + input.seek(index41_128); if ( s>=0 ) return s; break; - case 85 : - int LA42_116 = input.LA(1); + case 97 : + int LA41_129 = input.LA(1); - int index42_116 = input.index(); + int index41_129 = input.index(); input.rewind(); s = -1; - if ( (synpred99_wcps()) ) {s = 28;} + if ( (synpred99_wcps()) ) {s = 29;} - else if ( (synpred100_wcps()) ) {s = 29;} + else if ( (synpred100_wcps()) ) {s = 30;} - input.seek(index42_116); + input.seek(index41_129); if ( s>=0 ) return s; break; - case 86 : - int LA42_117 = input.LA(1); + case 98 : + int LA41_130 = input.LA(1); - int index42_117 = input.index(); + int index41_130 = input.index(); input.rewind(); s = -1; - if ( (synpred99_wcps()) ) {s = 28;} + if ( (synpred99_wcps()) ) {s = 29;} - else if ( (synpred100_wcps()) ) {s = 29;} + else if ( (synpred100_wcps()) ) {s = 30;} - input.seek(index42_117); + input.seek(index41_130); if ( s>=0 ) return s; break; - case 87 : - int LA42_118 = input.LA(1); + case 99 : + int LA41_131 = input.LA(1); - int index42_118 = input.index(); + int index41_131 = input.index(); input.rewind(); s = -1; - if ( (synpred99_wcps()) ) {s = 28;} + if ( (synpred99_wcps()) ) {s = 29;} - else if ( (synpred100_wcps()) ) {s = 29;} + else if ( (synpred100_wcps()) ) {s = 30;} - input.seek(index42_118); + input.seek(index41_131); if ( s>=0 ) return s; break; - case 88 : - int LA42_119 = input.LA(1); + case 100 : + int LA41_132 = input.LA(1); - int index42_119 = input.index(); + int index41_132 = input.index(); input.rewind(); s = -1; - if ( (synpred99_wcps()) ) {s = 28;} + if ( (synpred99_wcps()) ) {s = 29;} - else if ( (synpred100_wcps()) ) {s = 29;} + else if ( (synpred100_wcps()) ) {s = 30;} - input.seek(index42_119); + input.seek(index41_132); if ( s>=0 ) return s; break; - case 89 : - int LA42_120 = input.LA(1); + case 101 : + int LA41_133 = input.LA(1); - int index42_120 = input.index(); + int index41_133 = input.index(); input.rewind(); s = -1; - if ( (synpred99_wcps()) ) {s = 28;} + if ( (synpred99_wcps()) ) {s = 29;} - else if ( (synpred100_wcps()) ) {s = 29;} + else if ( (synpred100_wcps()) ) {s = 30;} - input.seek(index42_120); + input.seek(index41_133); if ( s>=0 ) return s; break; - case 90 : - int LA42_121 = input.LA(1); + case 102 : + int LA41_134 = input.LA(1); - int index42_121 = input.index(); + int index41_134 = input.index(); input.rewind(); s = -1; - if ( (synpred99_wcps()) ) {s = 28;} + if ( (synpred99_wcps()) ) {s = 29;} - else if ( (synpred100_wcps()) ) {s = 29;} + else if ( (synpred100_wcps()) ) {s = 30;} - input.seek(index42_121); + input.seek(index41_134); if ( s>=0 ) return s; break; - case 91 : - int LA42_122 = input.LA(1); + case 103 : + int LA41_135 = input.LA(1); - int index42_122 = input.index(); + int index41_135 = input.index(); input.rewind(); s = -1; - if ( (synpred99_wcps()) ) {s = 28;} + if ( (synpred99_wcps()) ) {s = 29;} - else if ( (synpred100_wcps()) ) {s = 29;} + else if ( (synpred100_wcps()) ) {s = 30;} - input.seek(index42_122); + input.seek(index41_135); if ( s>=0 ) return s; break; - case 92 : - int LA42_123 = input.LA(1); + case 104 : + int LA41_136 = input.LA(1); - int index42_123 = input.index(); + int index41_136 = input.index(); input.rewind(); s = -1; - if ( (synpred99_wcps()) ) {s = 28;} + if ( (synpred99_wcps()) ) {s = 29;} - else if ( (synpred100_wcps()) ) {s = 29;} + else if ( (synpred100_wcps()) ) {s = 30;} - input.seek(index42_123); + input.seek(index41_136); if ( s>=0 ) return s; break; - case 93 : - int LA42_124 = input.LA(1); + case 105 : + int LA41_137 = input.LA(1); - int index42_124 = input.index(); + int index41_137 = input.index(); input.rewind(); s = -1; - if ( (synpred99_wcps()) ) {s = 28;} + if ( (synpred99_wcps()) ) {s = 29;} - else if ( (synpred100_wcps()) ) {s = 29;} + else if ( (synpred100_wcps()) ) {s = 30;} - input.seek(index42_124); + input.seek(index41_137); if ( s>=0 ) return s; break; - case 94 : - int LA42_125 = input.LA(1); + case 106 : + int LA41_138 = input.LA(1); - int index42_125 = input.index(); + int index41_138 = input.index(); input.rewind(); s = -1; - if ( (synpred99_wcps()) ) {s = 28;} + if ( (synpred99_wcps()) ) {s = 29;} - else if ( (synpred100_wcps()) ) {s = 29;} + else if ( (synpred100_wcps()) ) {s = 30;} - input.seek(index42_125); + input.seek(index41_138); if ( s>=0 ) return s; break; - case 95 : - int LA42_126 = input.LA(1); + case 107 : + int LA41_139 = input.LA(1); - int index42_126 = input.index(); + int index41_139 = input.index(); input.rewind(); s = -1; - if ( (synpred99_wcps()) ) {s = 28;} + if ( (synpred99_wcps()) ) {s = 29;} - else if ( (synpred100_wcps()) ) {s = 29;} + else if ( (synpred100_wcps()) ) {s = 30;} - input.seek(index42_126); + input.seek(index41_139); if ( s>=0 ) return s; break; - case 96 : - int LA42_127 = input.LA(1); + case 108 : + int LA41_140 = input.LA(1); - int index42_127 = input.index(); + int index41_140 = input.index(); input.rewind(); s = -1; - if ( (synpred99_wcps()) ) {s = 28;} + if ( (synpred99_wcps()) ) {s = 29;} - else if ( (synpred100_wcps()) ) {s = 29;} + else if ( (synpred100_wcps()) ) {s = 30;} - input.seek(index42_127); + input.seek(index41_140); if ( s>=0 ) return s; break; - case 97 : - int LA42_128 = input.LA(1); + case 109 : + int LA41_141 = input.LA(1); - int index42_128 = input.index(); + int index41_141 = input.index(); input.rewind(); s = -1; - if ( (synpred99_wcps()) ) {s = 28;} + if ( (synpred99_wcps()) ) {s = 29;} - else if ( (synpred100_wcps()) ) {s = 29;} + else if ( (synpred100_wcps()) ) {s = 30;} - input.seek(index42_128); + input.seek(index41_141); if ( s>=0 ) return s; break; - case 98 : - int LA42_129 = input.LA(1); + case 110 : + int LA41_142 = input.LA(1); - int index42_129 = input.index(); + int index41_142 = input.index(); input.rewind(); s = -1; - if ( (synpred99_wcps()) ) {s = 28;} + if ( (synpred99_wcps()) ) {s = 29;} - else if ( (synpred100_wcps()) ) {s = 29;} + else if ( (synpred100_wcps()) ) {s = 30;} - input.seek(index42_129); + input.seek(index41_142); if ( s>=0 ) return s; break; - case 99 : - int LA42_130 = input.LA(1); + case 111 : + int LA41_143 = input.LA(1); - int index42_130 = input.index(); + int index41_143 = input.index(); input.rewind(); s = -1; - if ( (synpred99_wcps()) ) {s = 28;} + if ( (synpred99_wcps()) ) {s = 29;} - else if ( (synpred100_wcps()) ) {s = 29;} + else if ( (synpred100_wcps()) ) {s = 30;} - input.seek(index42_130); + input.seek(index41_143); if ( s>=0 ) return s; break; - case 100 : - int LA42_131 = input.LA(1); + case 112 : + int LA41_144 = input.LA(1); - int index42_131 = input.index(); + int index41_144 = input.index(); input.rewind(); s = -1; - if ( (synpred99_wcps()) ) {s = 28;} + if ( (synpred99_wcps()) ) {s = 29;} - else if ( (synpred100_wcps()) ) {s = 29;} + else if ( (synpred100_wcps()) ) {s = 30;} - input.seek(index42_131); + input.seek(index41_144); if ( s>=0 ) return s; break; - case 101 : - int LA42_132 = input.LA(1); + case 113 : + int LA41_145 = input.LA(1); - int index42_132 = input.index(); + int index41_145 = input.index(); input.rewind(); s = -1; - if ( (synpred99_wcps()) ) {s = 28;} + if ( (synpred99_wcps()) ) {s = 29;} - else if ( (synpred100_wcps()) ) {s = 29;} + else if ( (synpred100_wcps()) ) {s = 30;} - input.seek(index42_132); + input.seek(index41_145); if ( s>=0 ) return s; break; } if (state.backtracking>0) {state.failed=true; return -1;} NoViableAltException nvae = - new NoViableAltException(getDescription(), 42, _s, input); + new NoViableAltException(getDescription(), 41, _s, input); error(nvae); throw nvae; } } - static final String DFA43_eotS = - "\35\uffff"; - static final String DFA43_eofS = - "\35\uffff"; - static final String DFA43_minS = - "\1\6\34\uffff"; - static final String DFA43_maxS = - "\1\154\34\uffff"; - static final String DFA43_acceptS = - "\1\uffff\1\1\32\uffff\1\2"; - static final String DFA43_specialS = - "\35\uffff}>"; - static final String[] DFA43_transitionS = { + static final String DFA42_eotS = + "\36\uffff"; + static final String DFA42_eofS = + "\36\uffff"; + static final String DFA42_minS = + "\1\6\35\uffff"; + static final String DFA42_maxS = + "\1\154\35\uffff"; + static final String DFA42_acceptS = + "\1\uffff\1\1\33\uffff\1\2"; + static final String DFA42_specialS = + "\36\uffff}>"; + static final String[] DFA42_transitionS = { "\1\1\20\uffff\1\1\3\uffff\20\1\3\uffff\1\1\4\uffff\6\1\1\uffff"+ - "\1\1\21\uffff\1\1\1\uffff\3\1\3\uffff\1\34\14\uffff\2\1\10\uffff"+ + "\1\1\21\uffff\1\1\1\uffff\3\1\3\uffff\1\35\14\uffff\2\1\10\uffff"+ "\2\1", "", "", @@ -15428,57 +16138,58 @@ public class wcpsParser extends Parser { "", "", "", + "", "" }; - static final short[] DFA43_eot = DFA.unpackEncodedString(DFA43_eotS); - static final short[] DFA43_eof = DFA.unpackEncodedString(DFA43_eofS); - static final char[] DFA43_min = DFA.unpackEncodedStringToUnsignedChars(DFA43_minS); - static final char[] DFA43_max = DFA.unpackEncodedStringToUnsignedChars(DFA43_maxS); - static final short[] DFA43_accept = DFA.unpackEncodedString(DFA43_acceptS); - static final short[] DFA43_special = DFA.unpackEncodedString(DFA43_specialS); - static final short[][] DFA43_transition; + static final short[] DFA42_eot = DFA.unpackEncodedString(DFA42_eotS); + static final short[] DFA42_eof = DFA.unpackEncodedString(DFA42_eofS); + static final char[] DFA42_min = DFA.unpackEncodedStringToUnsignedChars(DFA42_minS); + static final char[] DFA42_max = DFA.unpackEncodedStringToUnsignedChars(DFA42_maxS); + static final short[] DFA42_accept = DFA.unpackEncodedString(DFA42_acceptS); + static final short[] DFA42_special = DFA.unpackEncodedString(DFA42_specialS); + static final short[][] DFA42_transition; static { - int numStates = DFA43_transitionS.length; - DFA43_transition = new short[numStates][]; + int numStates = DFA42_transitionS.length; + DFA42_transition = new short[numStates][]; for (int i=0; i"; - static final String[] DFA44_transitionS = { + static final String DFA43_eotS = + "\36\uffff"; + static final String DFA43_eofS = + "\36\uffff"; + static final String DFA43_minS = + "\1\6\35\uffff"; + static final String DFA43_maxS = + "\1\154\35\uffff"; + static final String DFA43_acceptS = + "\1\uffff\1\1\33\uffff\1\2"; + static final String DFA43_specialS = + "\36\uffff}>"; + static final String[] DFA43_transitionS = { "\1\1\20\uffff\1\1\3\uffff\20\1\3\uffff\1\1\4\uffff\6\1\1\uffff"+ - "\1\1\21\uffff\1\1\1\uffff\3\1\4\uffff\1\34\13\uffff\2\1\10\uffff"+ + "\1\1\21\uffff\1\1\1\uffff\3\1\4\uffff\1\35\13\uffff\2\1\10\uffff"+ "\2\1", "", "", @@ -15507,55 +16218,56 @@ public class wcpsParser extends Parser { "", "", "", + "", "" }; - static final short[] DFA44_eot = DFA.unpackEncodedString(DFA44_eotS); - static final short[] DFA44_eof = DFA.unpackEncodedString(DFA44_eofS); - static final char[] DFA44_min = DFA.unpackEncodedStringToUnsignedChars(DFA44_minS); - static final char[] DFA44_max = DFA.unpackEncodedStringToUnsignedChars(DFA44_maxS); - static final short[] DFA44_accept = DFA.unpackEncodedString(DFA44_acceptS); - static final short[] DFA44_special = DFA.unpackEncodedString(DFA44_specialS); - static final short[][] DFA44_transition; + static final short[] DFA43_eot = DFA.unpackEncodedString(DFA43_eotS); + static final short[] DFA43_eof = DFA.unpackEncodedString(DFA43_eofS); + static final char[] DFA43_min = DFA.unpackEncodedStringToUnsignedChars(DFA43_minS); + static final char[] DFA43_max = DFA.unpackEncodedStringToUnsignedChars(DFA43_maxS); + static final short[] DFA43_accept = DFA.unpackEncodedString(DFA43_acceptS); + static final short[] DFA43_special = DFA.unpackEncodedString(DFA43_specialS); + static final short[][] DFA43_transition; static { - int numStates = DFA44_transitionS.length; - DFA44_transition = new short[numStates][]; + int numStates = DFA43_transitionS.length; + DFA43_transition = new short[numStates][]; for (int i=0; i"; - static final String[] DFA46_transitionS = { + static final String DFA45_eotS = + "\75\uffff"; + static final String DFA45_eofS = + "\1\1\74\uffff"; + static final String DFA45_minS = + "\1\7\7\uffff\1\0\64\uffff"; + static final String DFA45_maxS = + "\1\140\7\uffff\1\0\64\uffff"; + static final String DFA45_acceptS = + "\1\uffff\1\2\72\uffff\1\1"; + static final String DFA45_specialS = + "\10\uffff\1\0\64\uffff}>"; + static final String[] DFA45_transitionS = { "\2\1\1\uffff\1\1\2\uffff\2\10\14\1\21\uffff\2\1\3\uffff\1\1"+ "\7\uffff\1\1\30\uffff\1\1\15\uffff\1\1", "", @@ -15616,81 +16328,82 @@ public class wcpsParser extends Parser { "", "", "", + "", "" }; - static final short[] DFA46_eot = DFA.unpackEncodedString(DFA46_eotS); - static final short[] DFA46_eof = DFA.unpackEncodedString(DFA46_eofS); - static final char[] DFA46_min = DFA.unpackEncodedStringToUnsignedChars(DFA46_minS); - static final char[] DFA46_max = DFA.unpackEncodedStringToUnsignedChars(DFA46_maxS); - static final short[] DFA46_accept = DFA.unpackEncodedString(DFA46_acceptS); - static final short[] DFA46_special = DFA.unpackEncodedString(DFA46_specialS); - static final short[][] DFA46_transition; + static final short[] DFA45_eot = DFA.unpackEncodedString(DFA45_eotS); + static final short[] DFA45_eof = DFA.unpackEncodedString(DFA45_eofS); + static final char[] DFA45_min = DFA.unpackEncodedStringToUnsignedChars(DFA45_minS); + static final char[] DFA45_max = DFA.unpackEncodedStringToUnsignedChars(DFA45_maxS); + static final short[] DFA45_accept = DFA.unpackEncodedString(DFA45_acceptS); + static final short[] DFA45_special = DFA.unpackEncodedString(DFA45_specialS); + static final short[][] DFA45_transition; static { - int numStates = DFA46_transitionS.length; - DFA46_transition = new short[numStates][]; + int numStates = DFA45_transitionS.length; + DFA45_transition = new short[numStates][]; for (int i=0; i=0 ) return s; break; } if (state.backtracking>0) {state.failed=true; return -1;} NoViableAltException nvae = - new NoViableAltException(getDescription(), 46, _s, input); + new NoViableAltException(getDescription(), 45, _s, input); error(nvae); throw nvae; } } - static final String DFA47_eotS = - "\74\uffff"; - static final String DFA47_eofS = - "\1\1\73\uffff"; - static final String DFA47_minS = - "\1\7\7\uffff\1\0\63\uffff"; - static final String DFA47_maxS = - "\1\140\7\uffff\1\0\63\uffff"; - static final String DFA47_acceptS = - "\1\uffff\1\2\71\uffff\1\1"; - static final String DFA47_specialS = - "\10\uffff\1\0\63\uffff}>"; - static final String[] DFA47_transitionS = { + static final String DFA46_eotS = + "\75\uffff"; + static final String DFA46_eofS = + "\1\1\74\uffff"; + static final String DFA46_minS = + "\1\7\7\uffff\1\0\64\uffff"; + static final String DFA46_maxS = + "\1\140\7\uffff\1\0\64\uffff"; + static final String DFA46_acceptS = + "\1\uffff\1\2\72\uffff\1\1"; + static final String DFA46_specialS = + "\10\uffff\1\0\64\uffff}>"; + static final String[] DFA46_transitionS = { "\2\1\1\uffff\1\1\2\uffff\2\1\1\10\13\1\21\uffff\2\1\3\uffff"+ "\1\1\7\uffff\1\1\30\uffff\1\1\15\uffff\1\1", "", @@ -15751,83 +16464,149 @@ public class wcpsParser extends Parser { "", "", "", + "", "" }; - static final short[] DFA47_eot = DFA.unpackEncodedString(DFA47_eotS); - static final short[] DFA47_eof = DFA.unpackEncodedString(DFA47_eofS); - static final char[] DFA47_min = DFA.unpackEncodedStringToUnsignedChars(DFA47_minS); - static final char[] DFA47_max = DFA.unpackEncodedStringToUnsignedChars(DFA47_maxS); - static final short[] DFA47_accept = DFA.unpackEncodedString(DFA47_acceptS); - static final short[] DFA47_special = DFA.unpackEncodedString(DFA47_specialS); - static final short[][] DFA47_transition; + static final short[] DFA46_eot = DFA.unpackEncodedString(DFA46_eotS); + static final short[] DFA46_eof = DFA.unpackEncodedString(DFA46_eofS); + static final char[] DFA46_min = DFA.unpackEncodedStringToUnsignedChars(DFA46_minS); + static final char[] DFA46_max = DFA.unpackEncodedStringToUnsignedChars(DFA46_maxS); + static final short[] DFA46_accept = DFA.unpackEncodedString(DFA46_acceptS); + static final short[] DFA46_special = DFA.unpackEncodedString(DFA46_specialS); + static final short[][] DFA46_transition; static { - int numStates = DFA47_transitionS.length; - DFA47_transition = new short[numStates][]; + int numStates = DFA46_transitionS.length; + DFA46_transition = new short[numStates][]; for (int i=0; i=0 ) return s; break; } if (state.backtracking>0) {state.failed=true; return -1;} NoViableAltException nvae = - new NoViableAltException(getDescription(), 47, _s, input); + new NoViableAltException(getDescription(), 46, _s, input); error(nvae); throw nvae; } } + static final String DFA47_eotS = + "\15\uffff"; + static final String DFA47_eofS = + "\15\uffff"; + static final String DFA47_minS = + "\1\6\14\uffff"; + static final String DFA47_maxS = + "\1\154\14\uffff"; + static final String DFA47_acceptS = + "\1\uffff\1\1\12\uffff\1\2"; + static final String DFA47_specialS = + "\15\uffff}>"; + static final String[] DFA47_transitionS = { + "\1\1\20\uffff\1\1\3\uffff\1\1\7\uffff\10\1\41\uffff\1\14\1\uffff"+ + "\3\1\20\uffff\2\1\11\uffff\1\1", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "" + }; + + static final short[] DFA47_eot = DFA.unpackEncodedString(DFA47_eotS); + static final short[] DFA47_eof = DFA.unpackEncodedString(DFA47_eofS); + static final char[] DFA47_min = DFA.unpackEncodedStringToUnsignedChars(DFA47_minS); + static final char[] DFA47_max = DFA.unpackEncodedStringToUnsignedChars(DFA47_maxS); + static final short[] DFA47_accept = DFA.unpackEncodedString(DFA47_acceptS); + static final short[] DFA47_special = DFA.unpackEncodedString(DFA47_specialS); + static final short[][] DFA47_transition; + + static { + int numStates = DFA47_transitionS.length; + DFA47_transition = new short[numStates][]; + for (int i=0; i"; + "\14\uffff\1\0\1\1\2\uffff\1\2\1\3\1\4\1\5\1\6\1\7\2\uffff}>"; static final String[] DFA48_transitionS = { - "\1\1\20\uffff\1\1\3\uffff\1\1\7\uffff\10\1\41\uffff\1\13\1\uffff"+ - "\3\1\20\uffff\2\1", + "\1\1\20\uffff\1\4\3\uffff\1\2\7\uffff\10\4\43\uffff\2\4\1\2"+ + "\20\uffff\1\13\1\4\11\uffff\1\4", + "\1\15\20\uffff\1\20\3\uffff\1\16\7\uffff\7\23\1\24\41\uffff"+ + "\1\16\1\uffff\1\22\1\21\1\16\20\uffff\1\16\1\14\11\uffff\1\25", + "", "", "", "", @@ -15837,6 +16616,16 @@ public class wcpsParser extends Parser { "", "", "", + "\1\uffff", + "\1\uffff", + "", + "", + "\1\uffff", + "\1\uffff", + "\1\uffff", + "\1\uffff", + "\1\uffff", + "\1\uffff", "", "" }; @@ -15871,210 +16660,153 @@ public class wcpsParser extends Parser { this.transition = DFA48_transition; } public String getDescription() { - return "281:1: booleanScalarNegation returns [BooleanScalarExpr value] : (e1= booleanScalarAtom | op= NOT e1= booleanScalarAtom );"; - } - } - static final String DFA49_eotS = - "\26\uffff"; - static final String DFA49_eofS = - "\26\uffff"; - static final String DFA49_minS = - "\2\6\11\uffff\2\0\2\uffff\5\0\2\uffff"; - static final String DFA49_maxS = - "\2\142\11\uffff\2\0\2\uffff\5\0\2\uffff"; - static final String DFA49_acceptS = - "\2\uffff\1\2\1\uffff\1\3\5\uffff\1\4\2\uffff\1\1\10\uffff"; - static final String DFA49_specialS = - "\13\uffff\1\0\1\1\2\uffff\1\2\1\3\1\4\1\5\1\6\2\uffff}>"; - static final String[] DFA49_transitionS = { - "\1\1\20\uffff\1\4\3\uffff\1\2\7\uffff\10\4\43\uffff\2\4\1\2"+ - "\20\uffff\1\12\1\4", - "\1\14\20\uffff\1\17\3\uffff\1\15\7\uffff\7\22\1\23\41\uffff"+ - "\1\15\1\uffff\1\21\1\20\1\15\20\uffff\1\15\1\13", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "\1\uffff", - "\1\uffff", - "", - "", - "\1\uffff", - "\1\uffff", - "\1\uffff", - "\1\uffff", - "\1\uffff", - "", - "" - }; - - static final short[] DFA49_eot = DFA.unpackEncodedString(DFA49_eotS); - static final short[] DFA49_eof = DFA.unpackEncodedString(DFA49_eofS); - static final char[] DFA49_min = DFA.unpackEncodedStringToUnsignedChars(DFA49_minS); - static final char[] DFA49_max = DFA.unpackEncodedStringToUnsignedChars(DFA49_maxS); - static final short[] DFA49_accept = DFA.unpackEncodedString(DFA49_acceptS); - static final short[] DFA49_special = DFA.unpackEncodedString(DFA49_specialS); - static final short[][] DFA49_transition; - - static { - int numStates = DFA49_transitionS.length; - DFA49_transition = new short[numStates][]; - for (int i=0; i=0 ) return s; break; case 1 : - int LA49_12 = input.LA(1); + int LA48_13 = input.LA(1); - int index49_12 = input.index(); + int index48_13 = input.index(); input.rewind(); s = -1; - if ( (synpred117_wcps()) ) {s = 13;} + if ( (synpred117_wcps()) ) {s = 14;} else if ( (synpred119_wcps()) ) {s = 4;} - input.seek(index49_12); + input.seek(index48_13); if ( s>=0 ) return s; break; case 2 : - int LA49_15 = input.LA(1); + int LA48_16 = input.LA(1); - int index49_15 = input.index(); + int index48_16 = input.index(); input.rewind(); s = -1; - if ( (synpred117_wcps()) ) {s = 13;} + if ( (synpred117_wcps()) ) {s = 14;} else if ( (synpred119_wcps()) ) {s = 4;} - input.seek(index49_15); + input.seek(index48_16); if ( s>=0 ) return s; break; case 3 : - int LA49_16 = input.LA(1); + int LA48_17 = input.LA(1); - int index49_16 = input.index(); + int index48_17 = input.index(); input.rewind(); s = -1; - if ( (synpred117_wcps()) ) {s = 13;} + if ( (synpred117_wcps()) ) {s = 14;} else if ( (synpred119_wcps()) ) {s = 4;} - input.seek(index49_16); + input.seek(index48_17); if ( s>=0 ) return s; break; case 4 : - int LA49_17 = input.LA(1); + int LA48_18 = input.LA(1); - int index49_17 = input.index(); + int index48_18 = input.index(); input.rewind(); s = -1; - if ( (synpred117_wcps()) ) {s = 13;} + if ( (synpred117_wcps()) ) {s = 14;} else if ( (synpred119_wcps()) ) {s = 4;} - input.seek(index49_17); + input.seek(index48_18); if ( s>=0 ) return s; break; case 5 : - int LA49_18 = input.LA(1); + int LA48_19 = input.LA(1); - int index49_18 = input.index(); + int index48_19 = input.index(); input.rewind(); s = -1; - if ( (synpred117_wcps()) ) {s = 13;} + if ( (synpred117_wcps()) ) {s = 14;} else if ( (synpred119_wcps()) ) {s = 4;} - input.seek(index49_18); + input.seek(index48_19); if ( s>=0 ) return s; break; case 6 : - int LA49_19 = input.LA(1); + int LA48_20 = input.LA(1); + + + int index48_20 = input.index(); + input.rewind(); + s = -1; + if ( (synpred117_wcps()) ) {s = 14;} + + else if ( (synpred119_wcps()) ) {s = 4;} - int index49_19 = input.index(); + input.seek(index48_20); + if ( s>=0 ) return s; + break; + case 7 : + int LA48_21 = input.LA(1); + + + int index48_21 = input.index(); input.rewind(); s = -1; - if ( (synpred117_wcps()) ) {s = 13;} + if ( (synpred117_wcps()) ) {s = 14;} else if ( (synpred119_wcps()) ) {s = 4;} - input.seek(index49_19); + input.seek(index48_21); if ( s>=0 ) return s; break; } if (state.backtracking>0) {state.failed=true; return -1;} NoViableAltException nvae = - new NoViableAltException(getDescription(), 49, _s, input); + new NoViableAltException(getDescription(), 48, _s, input); error(nvae); throw nvae; } } - static final String DFA50_eotS = - "\74\uffff"; - static final String DFA50_eofS = - "\1\1\73\uffff"; - static final String DFA50_minS = - "\1\7\3\uffff\1\0\67\uffff"; - static final String DFA50_maxS = - "\1\140\3\uffff\1\0\67\uffff"; - static final String DFA50_acceptS = - "\1\uffff\1\2\71\uffff\1\1"; - static final String DFA50_specialS = - "\4\uffff\1\0\67\uffff}>"; - static final String[] DFA50_transitionS = { + static final String DFA49_eotS = + "\75\uffff"; + static final String DFA49_eofS = + "\1\1\74\uffff"; + static final String DFA49_minS = + "\1\7\3\uffff\1\0\70\uffff"; + static final String DFA49_maxS = + "\1\140\3\uffff\1\0\70\uffff"; + static final String DFA49_acceptS = + "\1\uffff\1\2\72\uffff\1\1"; + static final String DFA49_specialS = + "\4\uffff\1\0\70\uffff}>"; + static final String[] DFA49_transitionS = { "\2\1\1\uffff\1\1\2\uffff\11\1\2\4\3\1\21\uffff\2\1\3\uffff\1"+ "\1\7\uffff\1\1\30\uffff\1\1\15\uffff\1\1", "", @@ -16135,81 +16867,82 @@ public class wcpsParser extends Parser { "", "", "", + "", "" }; - static final short[] DFA50_eot = DFA.unpackEncodedString(DFA50_eotS); - static final short[] DFA50_eof = DFA.unpackEncodedString(DFA50_eofS); - static final char[] DFA50_min = DFA.unpackEncodedStringToUnsignedChars(DFA50_minS); - static final char[] DFA50_max = DFA.unpackEncodedStringToUnsignedChars(DFA50_maxS); - static final short[] DFA50_accept = DFA.unpackEncodedString(DFA50_acceptS); - static final short[] DFA50_special = DFA.unpackEncodedString(DFA50_specialS); - static final short[][] DFA50_transition; + static final short[] DFA49_eot = DFA.unpackEncodedString(DFA49_eotS); + static final short[] DFA49_eof = DFA.unpackEncodedString(DFA49_eofS); + static final char[] DFA49_min = DFA.unpackEncodedStringToUnsignedChars(DFA49_minS); + static final char[] DFA49_max = DFA.unpackEncodedStringToUnsignedChars(DFA49_maxS); + static final short[] DFA49_accept = DFA.unpackEncodedString(DFA49_acceptS); + static final short[] DFA49_special = DFA.unpackEncodedString(DFA49_specialS); + static final short[][] DFA49_transition; static { - int numStates = DFA50_transitionS.length; - DFA50_transition = new short[numStates][]; + int numStates = DFA49_transitionS.length; + DFA49_transition = new short[numStates][]; for (int i=0; i=0 ) return s; break; } if (state.backtracking>0) {state.failed=true; return -1;} NoViableAltException nvae = - new NoViableAltException(getDescription(), 50, _s, input); + new NoViableAltException(getDescription(), 49, _s, input); error(nvae); throw nvae; } } - static final String DFA51_eotS = - "\74\uffff"; - static final String DFA51_eofS = - "\1\1\73\uffff"; - static final String DFA51_minS = - "\1\7\3\uffff\1\0\67\uffff"; - static final String DFA51_maxS = - "\1\140\3\uffff\1\0\67\uffff"; - static final String DFA51_acceptS = - "\1\uffff\1\2\71\uffff\1\1"; - static final String DFA51_specialS = - "\4\uffff\1\0\67\uffff}>"; - static final String[] DFA51_transitionS = { + static final String DFA50_eotS = + "\75\uffff"; + static final String DFA50_eofS = + "\1\1\74\uffff"; + static final String DFA50_minS = + "\1\7\3\uffff\1\0\70\uffff"; + static final String DFA50_maxS = + "\1\140\3\uffff\1\0\70\uffff"; + static final String DFA50_acceptS = + "\1\uffff\1\2\72\uffff\1\1"; + static final String DFA50_specialS = + "\4\uffff\1\0\70\uffff}>"; + static final String[] DFA50_transitionS = { "\2\1\1\uffff\1\1\2\uffff\13\1\2\4\1\1\21\uffff\2\1\3\uffff\1"+ "\1\7\uffff\1\1\30\uffff\1\1\15\uffff\1\1", "", @@ -16270,85 +17003,88 @@ public class wcpsParser extends Parser { "", "", "", + "", "" }; - static final short[] DFA51_eot = DFA.unpackEncodedString(DFA51_eotS); - static final short[] DFA51_eof = DFA.unpackEncodedString(DFA51_eofS); - static final char[] DFA51_min = DFA.unpackEncodedStringToUnsignedChars(DFA51_minS); - static final char[] DFA51_max = DFA.unpackEncodedStringToUnsignedChars(DFA51_maxS); - static final short[] DFA51_accept = DFA.unpackEncodedString(DFA51_acceptS); - static final short[] DFA51_special = DFA.unpackEncodedString(DFA51_specialS); - static final short[][] DFA51_transition; + static final short[] DFA50_eot = DFA.unpackEncodedString(DFA50_eotS); + static final short[] DFA50_eof = DFA.unpackEncodedString(DFA50_eofS); + static final char[] DFA50_min = DFA.unpackEncodedStringToUnsignedChars(DFA50_minS); + static final char[] DFA50_max = DFA.unpackEncodedStringToUnsignedChars(DFA50_maxS); + static final short[] DFA50_accept = DFA.unpackEncodedString(DFA50_acceptS); + static final short[] DFA50_special = DFA.unpackEncodedString(DFA50_specialS); + static final short[][] DFA50_transition; static { - int numStates = DFA51_transitionS.length; - DFA51_transition = new short[numStates][]; + int numStates = DFA50_transitionS.length; + DFA50_transition = new short[numStates][]; for (int i=0; i=0 ) return s; break; } if (state.backtracking>0) {state.failed=true; return -1;} NoViableAltException nvae = - new NoViableAltException(getDescription(), 51, _s, input); + new NoViableAltException(getDescription(), 50, _s, input); error(nvae); throw nvae; } } - static final String DFA52_eotS = - "\20\uffff"; - static final String DFA52_eofS = - "\20\uffff"; - static final String DFA52_minS = - "\2\6\6\uffff\1\0\7\uffff"; - static final String DFA52_maxS = - "\2\142\6\uffff\1\0\7\uffff"; - static final String DFA52_acceptS = - "\2\uffff\1\2\1\3\1\4\1\5\1\7\2\uffff\1\1\5\uffff\1\6"; - static final String DFA52_specialS = - "\10\uffff\1\0\7\uffff}>"; - static final String[] DFA52_transitionS = { + static final String DFA51_eotS = + "\22\uffff"; + static final String DFA51_eofS = + "\22\uffff"; + static final String DFA51_minS = + "\2\6\7\uffff\1\0\10\uffff"; + static final String DFA51_maxS = + "\2\154\7\uffff\1\0\10\uffff"; + static final String DFA51_acceptS = + "\2\uffff\1\2\1\3\1\4\1\5\1\7\1\uffff\1\10\1\uffff\1\1\6\uffff\1"+ + "\6"; + static final String DFA51_specialS = + "\11\uffff\1\0\10\uffff}>"; + static final String[] DFA51_transitionS = { "\1\1\20\uffff\1\2\13\uffff\10\6\43\uffff\1\4\1\3\22\uffff\1"+ - "\5", - "\1\11\20\uffff\1\11\13\uffff\10\11\43\uffff\2\11\22\uffff\1"+ - "\10", + "\5\11\uffff\1\10", + "\1\12\20\uffff\1\12\13\uffff\10\12\43\uffff\2\12\22\uffff\1"+ + "\11\11\uffff\1\12", + "", "", "", "", @@ -16362,88 +17098,90 @@ public class wcpsParser extends Parser { "", "", "", + "", "" }; - static final short[] DFA52_eot = DFA.unpackEncodedString(DFA52_eotS); - static final short[] DFA52_eof = DFA.unpackEncodedString(DFA52_eofS); - static final char[] DFA52_min = DFA.unpackEncodedStringToUnsignedChars(DFA52_minS); - static final char[] DFA52_max = DFA.unpackEncodedStringToUnsignedChars(DFA52_maxS); - static final short[] DFA52_accept = DFA.unpackEncodedString(DFA52_acceptS); - static final short[] DFA52_special = DFA.unpackEncodedString(DFA52_specialS); - static final short[][] DFA52_transition; + static final short[] DFA51_eot = DFA.unpackEncodedString(DFA51_eotS); + static final short[] DFA51_eof = DFA.unpackEncodedString(DFA51_eofS); + static final char[] DFA51_min = DFA.unpackEncodedStringToUnsignedChars(DFA51_minS); + static final char[] DFA51_max = DFA.unpackEncodedStringToUnsignedChars(DFA51_maxS); + static final short[] DFA51_accept = DFA.unpackEncodedString(DFA51_acceptS); + static final short[] DFA51_special = DFA.unpackEncodedString(DFA51_specialS); + static final short[][] DFA51_transition; static { - int numStates = DFA52_transitionS.length; - DFA52_transition = new short[numStates][]; + int numStates = DFA51_transitionS.length; + DFA51_transition = new short[numStates][]; for (int i=0; i=0 ) return s; break; } if (state.backtracking>0) {state.failed=true; return -1;} NoViableAltException nvae = - new NoViableAltException(getDescription(), 52, _s, input); + new NoViableAltException(getDescription(), 51, _s, input); error(nvae); throw nvae; } } - static final String DFA56_eotS = - "\25\uffff"; - static final String DFA56_eofS = - "\25\uffff"; - static final String DFA56_minS = - "\1\6\4\uffff\1\6\15\uffff\1\0\1\uffff"; - static final String DFA56_maxS = - "\1\142\4\uffff\1\6\15\uffff\1\0\1\uffff"; - static final String DFA56_acceptS = - "\1\uffff\1\1\22\uffff\1\2"; - static final String DFA56_specialS = - "\23\uffff\1\0\1\uffff}>"; - static final String[] DFA56_transitionS = { + static final String DFA55_eotS = + "\26\uffff"; + static final String DFA55_eofS = + "\26\uffff"; + static final String DFA55_minS = + "\1\6\4\uffff\1\6\16\uffff\1\0\1\uffff"; + static final String DFA55_maxS = + "\1\154\4\uffff\1\6\16\uffff\1\0\1\uffff"; + static final String DFA55_acceptS = + "\1\uffff\1\1\23\uffff\1\2"; + static final String DFA55_specialS = + "\24\uffff\1\0\1\uffff}>"; + static final String[] DFA55_transitionS = { "\1\1\20\uffff\1\1\3\uffff\7\1\1\5\10\1\41\uffff\1\1\1\uffff"+ - "\3\1\20\uffff\2\1", + "\3\1\20\uffff\2\1\11\uffff\1\1", "", "", "", "", - "\1\23", + "\1\24", + "", "", "", "", @@ -16461,61 +17199,61 @@ public class wcpsParser extends Parser { "" }; - static final short[] DFA56_eot = DFA.unpackEncodedString(DFA56_eotS); - static final short[] DFA56_eof = DFA.unpackEncodedString(DFA56_eofS); - static final char[] DFA56_min = DFA.unpackEncodedStringToUnsignedChars(DFA56_minS); - static final char[] DFA56_max = DFA.unpackEncodedStringToUnsignedChars(DFA56_maxS); - static final short[] DFA56_accept = DFA.unpackEncodedString(DFA56_acceptS); - static final short[] DFA56_special = DFA.unpackEncodedString(DFA56_specialS); - static final short[][] DFA56_transition; + static final short[] DFA55_eot = DFA.unpackEncodedString(DFA55_eotS); + static final short[] DFA55_eof = DFA.unpackEncodedString(DFA55_eofS); + static final char[] DFA55_min = DFA.unpackEncodedStringToUnsignedChars(DFA55_minS); + static final char[] DFA55_max = DFA.unpackEncodedStringToUnsignedChars(DFA55_maxS); + static final short[] DFA55_accept = DFA.unpackEncodedString(DFA55_acceptS); + static final short[] DFA55_special = DFA.unpackEncodedString(DFA55_specialS); + static final short[][] DFA55_transition; static { - int numStates = DFA56_transitionS.length; - DFA56_transition = new short[numStates][]; + int numStates = DFA55_transitionS.length; + DFA55_transition = new short[numStates][]; for (int i=0; i=0 ) return s; break; } if (state.backtracking>0) {state.failed=true; return -1;} NoViableAltException nvae = - new NoViableAltException(getDescription(), 56, _s, input); + new NoViableAltException(getDescription(), 55, _s, input); error(nvae); throw nvae; } @@ -16525,21 +17263,21 @@ public class wcpsParser extends Parser { public static final BitSet FOLLOW_forClause_in_wcpsRequest63 = new BitSet(new long[]{0x0000000000000600L}); public static final BitSet FOLLOW_whereClause_in_wcpsRequest72 = new BitSet(new long[]{0x0000000000000600L}); public static final BitSet FOLLOW_returnClause_in_wcpsRequest83 = new BitSet(new long[]{0x0000000000000002L}); - public static final BitSet FOLLOW_FOR_in_forClause98 = new BitSet(new long[]{0x0000000000000000L,0x0000180000000000L}); - public static final BitSet FOLLOW_variableName_in_forClause102 = new BitSet(new long[]{0x0000000000000020L}); + public static final BitSet FOLLOW_FOR_in_forClause98 = new BitSet(new long[]{0x0000000000000000L,0x0000080000000000L}); + public static final BitSet FOLLOW_coverageVariable_in_forClause102 = new BitSet(new long[]{0x0000000000000020L}); public static final BitSet FOLLOW_IN_in_forClause104 = new BitSet(new long[]{0x0000000000000040L}); public static final BitSet FOLLOW_LPAREN_in_forClause106 = new BitSet(new long[]{0x0000000000000000L,0x0000080000014000L}); public static final BitSet FOLLOW_coverageList_in_forClause110 = new BitSet(new long[]{0x0000000000000080L}); public static final BitSet FOLLOW_RPAREN_in_forClause112 = new BitSet(new long[]{0x0000000000000102L}); - public static final BitSet FOLLOW_COMMA_in_forClause122 = new BitSet(new long[]{0x0000000000000000L,0x0000180000000000L}); - public static final BitSet FOLLOW_variableName_in_forClause126 = new BitSet(new long[]{0x0000000000000020L}); + public static final BitSet FOLLOW_COMMA_in_forClause122 = new BitSet(new long[]{0x0000000000000000L,0x0000080000000000L}); + public static final BitSet FOLLOW_coverageVariable_in_forClause126 = new BitSet(new long[]{0x0000000000000020L}); public static final BitSet FOLLOW_IN_in_forClause128 = new BitSet(new long[]{0x0000000000000040L}); public static final BitSet FOLLOW_LPAREN_in_forClause130 = new BitSet(new long[]{0x0000000000000000L,0x0000080000014000L}); public static final BitSet FOLLOW_coverageList_in_forClause134 = new BitSet(new long[]{0x0000000000000080L}); public static final BitSet FOLLOW_RPAREN_in_forClause136 = new BitSet(new long[]{0x0000000000000102L}); - public static final BitSet FOLLOW_WHERE_in_whereClause157 = new BitSet(new long[]{0x000007F808800040L,0x000000060001D000L}); + public static final BitSet FOLLOW_WHERE_in_whereClause157 = new BitSet(new long[]{0x000007F808800040L,0x000010060001D000L}); public static final BitSet FOLLOW_booleanScalarExpr_in_whereClause161 = new BitSet(new long[]{0x0000000000000002L}); - public static final BitSet FOLLOW_RETURN_in_returnClause176 = new BitSet(new long[]{0x000007FFF8801840L,0x000000060001D000L}); + public static final BitSet FOLLOW_RETURN_in_returnClause176 = new BitSet(new long[]{0x000007FFF8801840L,0x000010060001D000L}); public static final BitSet FOLLOW_processingExpr_in_returnClause180 = new BitSet(new long[]{0x0000000000000002L}); public static final BitSet FOLLOW_coverageName_in_coverageList197 = new BitSet(new long[]{0x0000000000000102L}); public static final BitSet FOLLOW_COMMA_in_coverageList204 = new BitSet(new long[]{0x0000000000000000L,0x0000080000014000L}); @@ -16583,7 +17321,7 @@ public class wcpsParser extends Parser { public static final BitSet FOLLOW_crsTransformExpr_in_coverageValue692 = new BitSet(new long[]{0x0000000000000002L}); public static final BitSet FOLLOW_coverageAtom_in_coverageValue704 = new BitSet(new long[]{0x0000000000000002L}); public static final BitSet FOLLOW_scalarExpr_in_coverageAtom727 = new BitSet(new long[]{0x0000000000000002L}); - public static final BitSet FOLLOW_variableName_in_coverageAtom739 = new BitSet(new long[]{0x0000000000000002L}); + public static final BitSet FOLLOW_coverageVariable_in_coverageAtom739 = new BitSet(new long[]{0x0000000000000002L}); public static final BitSet FOLLOW_LPAREN_in_coverageAtom749 = new BitSet(new long[]{0xFDF847FFF8C01840L,0x000018060073FFFFL}); public static final BitSet FOLLOW_coverageExpr_in_coverageAtom753 = new BitSet(new long[]{0x0000000000000080L}); public static final BitSet FOLLOW_RPAREN_in_coverageAtom755 = new BitSet(new long[]{0x0000000000000002L}); @@ -16596,7 +17334,7 @@ public class wcpsParser extends Parser { public static final BitSet FOLLOW_booleanScalarExpr_in_scalarExpr856 = new BitSet(new long[]{0x0000000000000002L}); public static final BitSet FOLLOW_numericScalarExpr_in_scalarExpr870 = new BitSet(new long[]{0x0000000000000002L}); public static final BitSet FOLLOW_stringScalarExpr_in_scalarExpr883 = new BitSet(new long[]{0x0000000000000002L}); - public static final BitSet FOLLOW_LPAREN_in_scalarExpr894 = new BitSet(new long[]{0x000007FFF8801840L,0x000000060001D000L}); + public static final BitSet FOLLOW_LPAREN_in_scalarExpr894 = new BitSet(new long[]{0x000007FFF8801840L,0x000010060001D000L}); public static final BitSet FOLLOW_scalarExpr_in_scalarExpr898 = new BitSet(new long[]{0x0000000000000080L}); public static final BitSet FOLLOW_RPAREN_in_scalarExpr900 = new BitSet(new long[]{0x0000000000000002L}); public static final BitSet FOLLOW_IDENTIFIER_in_metaDataExpr924 = new BitSet(new long[]{0x0000000000000040L}); @@ -16635,8 +17373,8 @@ public class wcpsParser extends Parser { public static final BitSet FOLLOW_fieldName_in_metaDataExpr1083 = new BitSet(new long[]{0x0000000000000080L}); public static final BitSet FOLLOW_RPAREN_in_metaDataExpr1085 = new BitSet(new long[]{0x0000000000000002L}); public static final BitSet FOLLOW_DOMAIN_in_domainExpr1104 = new BitSet(new long[]{0x0000000000000040L}); - public static final BitSet FOLLOW_LPAREN_in_domainExpr1106 = new BitSet(new long[]{0x0000000000000000L,0x0000180000000000L}); - public static final BitSet FOLLOW_variableName_in_domainExpr1110 = new BitSet(new long[]{0x0000000000000100L}); + public static final BitSet FOLLOW_LPAREN_in_domainExpr1106 = new BitSet(new long[]{0x0000000000000000L,0x0000080000000000L}); + public static final BitSet FOLLOW_coverageVariable_in_domainExpr1110 = new BitSet(new long[]{0x0000000000000100L}); public static final BitSet FOLLOW_COMMA_in_domainExpr1112 = new BitSet(new long[]{0x0000000000000000L,0x0000080000014000L}); public static final BitSet FOLLOW_axisName_in_domainExpr1116 = new BitSet(new long[]{0x0000000000000100L}); public static final BitSet FOLLOW_COMMA_in_domainExpr1118 = new BitSet(new long[]{0x0000000000000000L,0x0000000000010000L}); @@ -16650,18 +17388,18 @@ public class wcpsParser extends Parser { public static final BitSet FOLLOW_RPAREN_in_reduceExpr1189 = new BitSet(new long[]{0x0000000000000002L}); public static final BitSet FOLLOW_CONDENSE_in_generalCondenseExpr1204 = new BitSet(new long[]{0x000003000140A000L}); public static final BitSet FOLLOW_condenseOpType_in_generalCondenseExpr1208 = new BitSet(new long[]{0x0000080000000000L}); - public static final BitSet FOLLOW_OVER_in_generalCondenseExpr1210 = new BitSet(new long[]{0x0000000000000000L,0x0000180000000000L}); + public static final BitSet FOLLOW_OVER_in_generalCondenseExpr1210 = new BitSet(new long[]{0x000007F800800040L,0x000010040000C000L}); public static final BitSet FOLLOW_axisIteratorList_in_generalCondenseExpr1214 = new BitSet(new long[]{0x0000100000000200L}); - public static final BitSet FOLLOW_WHERE_in_generalCondenseExpr1221 = new BitSet(new long[]{0x000007F808800040L,0x000000060001D000L}); + public static final BitSet FOLLOW_WHERE_in_generalCondenseExpr1221 = new BitSet(new long[]{0x000007F808800040L,0x000010060001D000L}); public static final BitSet FOLLOW_booleanScalarExpr_in_generalCondenseExpr1225 = new BitSet(new long[]{0x0000100000000000L}); - public static final BitSet FOLLOW_USING_in_generalCondenseExpr1233 = new BitSet(new long[]{0x000007FFF8801840L,0x000000060001D000L}); - public static final BitSet FOLLOW_scalarExpr_in_generalCondenseExpr1237 = new BitSet(new long[]{0x0000000000000002L}); + public static final BitSet FOLLOW_USING_in_generalCondenseExpr1233 = new BitSet(new long[]{0xFDF847FFF8C01840L,0x000018060073FFFFL}); + public static final BitSet FOLLOW_coverageExpr_in_generalCondenseExpr1237 = new BitSet(new long[]{0x0000000000000002L}); public static final BitSet FOLLOW_variableName_in_axisIteratorList1254 = new BitSet(new long[]{0x0000000000000000L,0x0000080000014000L}); public static final BitSet FOLLOW_axisName_in_axisIteratorList1258 = new BitSet(new long[]{0x0000000000000040L}); public static final BitSet FOLLOW_LPAREN_in_axisIteratorList1260 = new BitSet(new long[]{0x0000000020000040L,0x000000000000C000L}); public static final BitSet FOLLOW_intervalExpr_in_axisIteratorList1264 = new BitSet(new long[]{0x0000000000000080L}); public static final BitSet FOLLOW_RPAREN_in_axisIteratorList1266 = new BitSet(new long[]{0x0000000000000102L}); - public static final BitSet FOLLOW_COMMA_in_axisIteratorList1274 = new BitSet(new long[]{0x0000000000000000L,0x0000180000000000L}); + public static final BitSet FOLLOW_COMMA_in_axisIteratorList1274 = new BitSet(new long[]{0x000007F800800040L,0x000010040000C000L}); public static final BitSet FOLLOW_variableName_in_axisIteratorList1278 = new BitSet(new long[]{0x0000000000000000L,0x0000080000014000L}); public static final BitSet FOLLOW_axisName_in_axisIteratorList1282 = new BitSet(new long[]{0x0000000000000040L}); public static final BitSet FOLLOW_LPAREN_in_axisIteratorList1284 = new BitSet(new long[]{0x0000000020000040L,0x000000000000C000L}); @@ -16678,7 +17416,7 @@ public class wcpsParser extends Parser { public static final BitSet FOLLOW_RPAREN_in_intervalExpr1349 = new BitSet(new long[]{0x0000000000000002L}); public static final BitSet FOLLOW_COVERAGE_in_coverageConstantExpr1375 = new BitSet(new long[]{0x0000000000000000L,0x0000080000014000L}); public static final BitSet FOLLOW_coverageName_in_coverageConstantExpr1379 = new BitSet(new long[]{0x0000080000000000L}); - public static final BitSet FOLLOW_OVER_in_coverageConstantExpr1381 = new BitSet(new long[]{0x0000000000000000L,0x0000180000000000L}); + public static final BitSet FOLLOW_OVER_in_coverageConstantExpr1381 = new BitSet(new long[]{0x000007F800800040L,0x000010040000C000L}); public static final BitSet FOLLOW_axisIteratorList_in_coverageConstantExpr1385 = new BitSet(new long[]{0x0000800000000000L}); public static final BitSet FOLLOW_VALUE_in_coverageConstantExpr1387 = new BitSet(new long[]{0x0001000000000000L}); public static final BitSet FOLLOW_LIST_in_coverageConstantExpr1389 = new BitSet(new long[]{0x0000000000040000L}); @@ -16690,9 +17428,9 @@ public class wcpsParser extends Parser { public static final BitSet FOLLOW_constant_in_constantList1437 = new BitSet(new long[]{0x0002000000000002L}); public static final BitSet FOLLOW_COVERAGE_in_coverageConstructorExpr1457 = new BitSet(new long[]{0x0000000000000000L,0x0000080000014000L}); public static final BitSet FOLLOW_coverageName_in_coverageConstructorExpr1461 = new BitSet(new long[]{0x0000080000000000L}); - public static final BitSet FOLLOW_OVER_in_coverageConstructorExpr1463 = new BitSet(new long[]{0x0000000000000000L,0x0000180000000000L}); + public static final BitSet FOLLOW_OVER_in_coverageConstructorExpr1463 = new BitSet(new long[]{0x000007F800800040L,0x000010040000C000L}); public static final BitSet FOLLOW_axisIteratorList_in_coverageConstructorExpr1467 = new BitSet(new long[]{0x0004000000000000L}); - public static final BitSet FOLLOW_VALUES_in_coverageConstructorExpr1469 = new BitSet(new long[]{0x000007FFF8801840L,0x000000060001D000L}); + public static final BitSet FOLLOW_VALUES_in_coverageConstructorExpr1469 = new BitSet(new long[]{0x000007FFF8801840L,0x000010060001D000L}); public static final BitSet FOLLOW_scalarExpr_in_coverageConstructorExpr1473 = new BitSet(new long[]{0x0000000000000002L}); public static final BitSet FOLLOW_SETIDENTIFIER_in_setMetaDataExpr1495 = new BitSet(new long[]{0x0000000000000040L}); public static final BitSet FOLLOW_LPAREN_in_setMetaDataExpr1497 = new BitSet(new long[]{0x0000000000000000L,0x0000000000010000L}); @@ -16746,11 +17484,11 @@ public class wcpsParser extends Parser { public static final BitSet FOLLOW_STRUCT_in_rangeExpr1795 = new BitSet(new long[]{0x0100000000000000L}); public static final BitSet FOLLOW_LBRACE_in_rangeExpr1797 = new BitSet(new long[]{0x0200000000000000L,0x0000080000014000L}); public static final BitSet FOLLOW_fieldName_in_rangeExpr1805 = new BitSet(new long[]{0x0000200000000000L}); - public static final BitSet FOLLOW_COLON_in_rangeExpr1807 = new BitSet(new long[]{0x000007FFF8801840L,0x000000060001D000L}); + public static final BitSet FOLLOW_COLON_in_rangeExpr1807 = new BitSet(new long[]{0x000007FFF8801840L,0x000010060001D000L}); public static final BitSet FOLLOW_scalarExpr_in_rangeExpr1811 = new BitSet(new long[]{0x0200200000000000L}); public static final BitSet FOLLOW_COLON_in_rangeExpr1818 = new BitSet(new long[]{0x0000000000000000L,0x0000080000014000L}); public static final BitSet FOLLOW_fieldName_in_rangeExpr1822 = new BitSet(new long[]{0x0000200000000000L}); - public static final BitSet FOLLOW_COLON_in_rangeExpr1824 = new BitSet(new long[]{0x000007FFF8801840L,0x000000060001D000L}); + public static final BitSet FOLLOW_COLON_in_rangeExpr1824 = new BitSet(new long[]{0x000007FFF8801840L,0x000010060001D000L}); public static final BitSet FOLLOW_scalarExpr_in_rangeExpr1828 = new BitSet(new long[]{0x0200200000000000L}); public static final BitSet FOLLOW_RBRACE_in_rangeExpr1839 = new BitSet(new long[]{0x0000000000000002L}); public static final BitSet FOLLOW_STRUCT_in_rangeConstructorExpr1856 = new BitSet(new long[]{0x0100000000000000L}); @@ -16808,176 +17546,177 @@ public class wcpsParser extends Parser { public static final BitSet FOLLOW_indexExpr_in_booleanExpr2278 = new BitSet(new long[]{0x0000000000000080L}); public static final BitSet FOLLOW_RPAREN_in_booleanExpr2280 = new BitSet(new long[]{0x0000000000000002L}); public static final BitSet FOLLOW_indexTerm_in_indexExpr2303 = new BitSet(new long[]{0x0000000000C00002L}); - public static final BitSet FOLLOW_PLUS_in_indexExpr2314 = new BitSet(new long[]{0x0000000000000040L,0x000000000000C000L}); - public static final BitSet FOLLOW_MINUS_in_indexExpr2317 = new BitSet(new long[]{0x0000000000000040L,0x000000000000C000L}); - public static final BitSet FOLLOW_indexTerm_in_indexExpr2323 = new BitSet(new long[]{0x0000000000C00002L}); - public static final BitSet FOLLOW_indexFactor_in_indexTerm2348 = new BitSet(new long[]{0x0000000003000002L}); - public static final BitSet FOLLOW_set_in_indexTerm2361 = new BitSet(new long[]{0x0000000000000040L,0x000000000000C000L}); - public static final BitSet FOLLOW_indexFactor_in_indexTerm2369 = new BitSet(new long[]{0x0000000003000002L}); - public static final BitSet FOLLOW_INTEGERCONSTANT_in_indexFactor2396 = new BitSet(new long[]{0x0000000000000002L}); - public static final BitSet FOLLOW_ROUND_in_indexFactor2409 = new BitSet(new long[]{0x0000000000000040L}); - public static final BitSet FOLLOW_LPAREN_in_indexFactor2411 = new BitSet(new long[]{0x000007F800800040L,0x000000040000C000L}); - public static final BitSet FOLLOW_numericScalarExpr_in_indexFactor2415 = new BitSet(new long[]{0x0000000000000080L}); - public static final BitSet FOLLOW_RPAREN_in_indexFactor2417 = new BitSet(new long[]{0x0000000000000002L}); - public static final BitSet FOLLOW_LPAREN_in_indexFactor2429 = new BitSet(new long[]{0x0000000000000040L,0x000000000000C000L}); - public static final BitSet FOLLOW_indexExpr_in_indexFactor2433 = new BitSet(new long[]{0x0000000000000080L}); - public static final BitSet FOLLOW_RPAREN_in_indexFactor2435 = new BitSet(new long[]{0x0000000000000002L}); - public static final BitSet FOLLOW_IDENTIFIER_in_stringScalarExpr2462 = new BitSet(new long[]{0x0000000000000040L}); - public static final BitSet FOLLOW_LPAREN_in_stringScalarExpr2464 = new BitSet(new long[]{0xFDF847FFF8C01840L,0x000018060073FFFFL}); - public static final BitSet FOLLOW_coverageExpr_in_stringScalarExpr2468 = new BitSet(new long[]{0x0000000000000080L}); - public static final BitSet FOLLOW_RPAREN_in_stringScalarExpr2470 = new BitSet(new long[]{0x0000000000000002L}); - public static final BitSet FOLLOW_STRING_in_stringScalarExpr2483 = new BitSet(new long[]{0x0000000000000002L}); - public static final BitSet FOLLOW_SCALE_in_scaleExpr2501 = new BitSet(new long[]{0x0000000000000040L}); - public static final BitSet FOLLOW_LPAREN_in_scaleExpr2503 = new BitSet(new long[]{0xFDF847FFF8C01840L,0x000018060073FFFFL}); - public static final BitSet FOLLOW_coverageExpr_in_scaleExpr2507 = new BitSet(new long[]{0x0000000000000100L}); - public static final BitSet FOLLOW_COMMA_in_scaleExpr2509 = new BitSet(new long[]{0x0000000000000000L,0x0000080000014000L}); - public static final BitSet FOLLOW_dimensionIntervalList_in_scaleExpr2513 = new BitSet(new long[]{0x0000000000000100L}); - public static final BitSet FOLLOW_COMMA_in_scaleExpr2515 = new BitSet(new long[]{0x0100000000000000L}); - public static final BitSet FOLLOW_fieldInterpolationList_in_scaleExpr2519 = new BitSet(new long[]{0x0000000000000080L}); - public static final BitSet FOLLOW_RPAREN_in_scaleExpr2521 = new BitSet(new long[]{0x0000000000000002L}); - public static final BitSet FOLLOW_trimExpr_in_subsetExpr2540 = new BitSet(new long[]{0x0000000000000002L}); - public static final BitSet FOLLOW_sliceExpr_in_subsetExpr2549 = new BitSet(new long[]{0x0000000000000002L}); - public static final BitSet FOLLOW_extendExpr_in_subsetExpr2558 = new BitSet(new long[]{0x0000000000000002L}); - public static final BitSet FOLLOW_coverageAtom_in_trimExpr2575 = new BitSet(new long[]{0x0000000000000000L,0x0000000000040000L}); - public static final BitSet FOLLOW_LBRACKET_in_trimExpr2577 = new BitSet(new long[]{0x0000000000000000L,0x0000080000014000L}); - public static final BitSet FOLLOW_dimensionIntervalList_in_trimExpr2581 = new BitSet(new long[]{0x0000000000000000L,0x0000000000080000L}); - public static final BitSet FOLLOW_RBRACKET_in_trimExpr2583 = new BitSet(new long[]{0x0000000000000002L}); - public static final BitSet FOLLOW_TRIM_in_trimExpr2592 = new BitSet(new long[]{0x0000000000000040L}); - public static final BitSet FOLLOW_LPAREN_in_trimExpr2594 = new BitSet(new long[]{0xFDF847FFF8C01840L,0x000018060073FFFFL}); - public static final BitSet FOLLOW_coverageExpr_in_trimExpr2598 = new BitSet(new long[]{0x0000000000000100L}); - public static final BitSet FOLLOW_COMMA_in_trimExpr2600 = new BitSet(new long[]{0x0100000000000000L}); - public static final BitSet FOLLOW_LBRACE_in_trimExpr2602 = new BitSet(new long[]{0x0000000000000000L,0x0000080000014000L}); - public static final BitSet FOLLOW_dimensionIntervalList_in_trimExpr2606 = new BitSet(new long[]{0x0200000000000000L}); - public static final BitSet FOLLOW_RBRACE_in_trimExpr2608 = new BitSet(new long[]{0x0000000000000080L}); - public static final BitSet FOLLOW_RPAREN_in_trimExpr2610 = new BitSet(new long[]{0x0000000000000002L}); - public static final BitSet FOLLOW_coverageAtom_in_sliceExpr2627 = new BitSet(new long[]{0x0000000000000000L,0x0000000000040000L}); - public static final BitSet FOLLOW_LBRACKET_in_sliceExpr2629 = new BitSet(new long[]{0x0000000000000000L,0x0000080000014000L}); - public static final BitSet FOLLOW_dimensionPointList_in_sliceExpr2633 = new BitSet(new long[]{0x0000000000000000L,0x0000000000080000L}); - public static final BitSet FOLLOW_RBRACKET_in_sliceExpr2635 = new BitSet(new long[]{0x0000000000000002L}); - public static final BitSet FOLLOW_SLICE_in_sliceExpr2642 = new BitSet(new long[]{0x0000000000000040L}); - public static final BitSet FOLLOW_LPAREN_in_sliceExpr2644 = new BitSet(new long[]{0xFDF847FFF8C01840L,0x000018060073FFFFL}); - public static final BitSet FOLLOW_coverageExpr_in_sliceExpr2648 = new BitSet(new long[]{0x0000000000000100L}); - public static final BitSet FOLLOW_COMMA_in_sliceExpr2650 = new BitSet(new long[]{0x0100000000000000L}); - public static final BitSet FOLLOW_LBRACE_in_sliceExpr2652 = new BitSet(new long[]{0x0000000000000000L,0x0000080000014000L}); - public static final BitSet FOLLOW_dimensionPointList_in_sliceExpr2656 = new BitSet(new long[]{0x0200000000000000L}); - public static final BitSet FOLLOW_RBRACE_in_sliceExpr2658 = new BitSet(new long[]{0x0000000000000080L}); - public static final BitSet FOLLOW_RPAREN_in_sliceExpr2660 = new BitSet(new long[]{0x0000000000000002L}); - public static final BitSet FOLLOW_EXTEND_in_extendExpr2675 = new BitSet(new long[]{0x0000000000000040L}); - public static final BitSet FOLLOW_LPAREN_in_extendExpr2677 = new BitSet(new long[]{0xFDF847FFF8C01840L,0x000018060073FFFFL}); - public static final BitSet FOLLOW_coverageExpr_in_extendExpr2681 = new BitSet(new long[]{0x0000000000000100L}); - public static final BitSet FOLLOW_COMMA_in_extendExpr2683 = new BitSet(new long[]{0x0000000000000000L,0x0000080000014000L}); - public static final BitSet FOLLOW_dimensionIntervalList_in_extendExpr2687 = new BitSet(new long[]{0x0000000000000080L}); - public static final BitSet FOLLOW_RPAREN_in_extendExpr2689 = new BitSet(new long[]{0x0000000000000002L}); - public static final BitSet FOLLOW_LPAREN_in_castExpr2707 = new BitSet(new long[]{0x0000000000000000L,0x00000000FF800000L}); - public static final BitSet FOLLOW_rangeType_in_castExpr2711 = new BitSet(new long[]{0x0000000000000080L}); - public static final BitSet FOLLOW_RPAREN_in_castExpr2713 = new BitSet(new long[]{0xFDF847FFF8C01840L,0x000018060073FFFFL}); - public static final BitSet FOLLOW_coverageExpr_in_castExpr2717 = new BitSet(new long[]{0x0000000000000002L}); - public static final BitSet FOLLOW_set_in_rangeType2740 = new BitSet(new long[]{0x0000000000000002L}); - public static final BitSet FOLLOW_UNSIGNED_in_rangeType2766 = new BitSet(new long[]{0x0000000000000000L,0x0000000007000000L}); - public static final BitSet FOLLOW_set_in_rangeType2770 = new BitSet(new long[]{0x0000000000000002L}); - public static final BitSet FOLLOW_coverageAtom_in_fieldExpr2799 = new BitSet(new long[]{0x0000000000000000L,0x0000000100000000L}); - public static final BitSet FOLLOW_DOT_in_fieldExpr2801 = new BitSet(new long[]{0x0000000000000000L,0x0000080000014000L}); - public static final BitSet FOLLOW_fieldName_in_fieldExpr2805 = new BitSet(new long[]{0x0000000000000002L}); - public static final BitSet FOLLOW_booleanScalarTerm_in_booleanScalarExpr2830 = new BitSet(new long[]{0x0000000000006002L}); - public static final BitSet FOLLOW_set_in_booleanScalarExpr2843 = new BitSet(new long[]{0x000007F808800040L,0x000000060001D000L}); - public static final BitSet FOLLOW_booleanScalarTerm_in_booleanScalarExpr2851 = new BitSet(new long[]{0x0000000000006002L}); - public static final BitSet FOLLOW_booleanScalarNegation_in_booleanScalarTerm2873 = new BitSet(new long[]{0x0000000000008002L}); - public static final BitSet FOLLOW_AND_in_booleanScalarTerm2883 = new BitSet(new long[]{0x000007F808800040L,0x000000060001D000L}); - public static final BitSet FOLLOW_booleanScalarNegation_in_booleanScalarTerm2887 = new BitSet(new long[]{0x0000000000008002L}); - public static final BitSet FOLLOW_booleanScalarAtom_in_booleanScalarNegation2908 = new BitSet(new long[]{0x0000000000000002L}); - public static final BitSet FOLLOW_NOT_in_booleanScalarNegation2917 = new BitSet(new long[]{0x000007F808800040L,0x000000060001C000L}); - public static final BitSet FOLLOW_booleanScalarAtom_in_booleanScalarNegation2921 = new BitSet(new long[]{0x0000000000000002L}); - public static final BitSet FOLLOW_LPAREN_in_booleanScalarAtom2936 = new BitSet(new long[]{0x000007F808800040L,0x000000060001D000L}); - public static final BitSet FOLLOW_booleanScalarExpr_in_booleanScalarAtom2940 = new BitSet(new long[]{0x0000000000000080L}); - public static final BitSet FOLLOW_RPAREN_in_booleanScalarAtom2942 = new BitSet(new long[]{0x0000000000000002L}); - public static final BitSet FOLLOW_stringScalarExpr_in_booleanScalarAtom2951 = new BitSet(new long[]{0x00000000003F0000L}); - public static final BitSet FOLLOW_compOp_in_booleanScalarAtom2955 = new BitSet(new long[]{0x0000000008000000L,0x0000000000010000L}); - public static final BitSet FOLLOW_stringScalarExpr_in_booleanScalarAtom2959 = new BitSet(new long[]{0x0000000000000002L}); - public static final BitSet FOLLOW_numericScalarExpr_in_booleanScalarAtom2969 = new BitSet(new long[]{0x00000000003F0000L}); - public static final BitSet FOLLOW_compOp_in_booleanScalarAtom2973 = new BitSet(new long[]{0x000007F800800040L,0x000000040000C000L}); - public static final BitSet FOLLOW_numericScalarExpr_in_booleanScalarAtom2977 = new BitSet(new long[]{0x0000000000000002L}); - public static final BitSet FOLLOW_BOOLEANCONSTANT_in_booleanScalarAtom2987 = new BitSet(new long[]{0x0000000000000002L}); - public static final BitSet FOLLOW_numericScalarTerm_in_numericScalarExpr3004 = new BitSet(new long[]{0x0000000000C00002L}); - public static final BitSet FOLLOW_set_in_numericScalarExpr3014 = new BitSet(new long[]{0x000007F800800040L,0x000000040000C000L}); - public static final BitSet FOLLOW_numericScalarTerm_in_numericScalarExpr3022 = new BitSet(new long[]{0x0000000000C00002L}); - public static final BitSet FOLLOW_numericScalarFactor_in_numericScalarTerm3041 = new BitSet(new long[]{0x0000000003000002L}); - public static final BitSet FOLLOW_set_in_numericScalarTerm3050 = new BitSet(new long[]{0x000007F800800040L,0x000000040000C000L}); - public static final BitSet FOLLOW_numericScalarFactor_in_numericScalarTerm3058 = new BitSet(new long[]{0x0000000003000002L}); - public static final BitSet FOLLOW_LPAREN_in_numericScalarFactor3078 = new BitSet(new long[]{0x000007F800800040L,0x000000040000C000L}); - public static final BitSet FOLLOW_numericScalarExpr_in_numericScalarFactor3082 = new BitSet(new long[]{0x0000000000000080L}); - public static final BitSet FOLLOW_RPAREN_in_numericScalarFactor3084 = new BitSet(new long[]{0x0000000000000002L}); - public static final BitSet FOLLOW_MINUS_in_numericScalarFactor3096 = new BitSet(new long[]{0x000007F800800040L,0x000000040000C000L}); - public static final BitSet FOLLOW_numericScalarFactor_in_numericScalarFactor3100 = new BitSet(new long[]{0x0000000000000002L}); - public static final BitSet FOLLOW_ROUND_in_numericScalarFactor3112 = new BitSet(new long[]{0x0000000000000040L}); - public static final BitSet FOLLOW_LPAREN_in_numericScalarFactor3114 = new BitSet(new long[]{0x000007F800800040L,0x000000040000C000L}); - public static final BitSet FOLLOW_numericScalarExpr_in_numericScalarFactor3118 = new BitSet(new long[]{0x0000000000000080L}); - public static final BitSet FOLLOW_RPAREN_in_numericScalarFactor3120 = new BitSet(new long[]{0x0000000000000002L}); - public static final BitSet FOLLOW_INTEGERCONSTANT_in_numericScalarFactor3132 = new BitSet(new long[]{0x0000000000000002L}); - public static final BitSet FOLLOW_FLOATCONSTANT_in_numericScalarFactor3144 = new BitSet(new long[]{0x0000000000000002L}); - public static final BitSet FOLLOW_complexConstant_in_numericScalarFactor3156 = new BitSet(new long[]{0x0000000000000002L}); - public static final BitSet FOLLOW_condenseExpr_in_numericScalarFactor3168 = new BitSet(new long[]{0x0000000000000002L}); - public static final BitSet FOLLOW_EQUALS_in_compOp3186 = new BitSet(new long[]{0x0000000000000002L}); - public static final BitSet FOLLOW_NOTEQUALS_in_compOp3193 = new BitSet(new long[]{0x0000000000000002L}); - public static final BitSet FOLLOW_LT_in_compOp3200 = new BitSet(new long[]{0x0000000000000002L}); - public static final BitSet FOLLOW_GT_in_compOp3207 = new BitSet(new long[]{0x0000000000000002L}); - public static final BitSet FOLLOW_LTE_in_compOp3214 = new BitSet(new long[]{0x0000000000000002L}); - public static final BitSet FOLLOW_GTE_in_compOp3221 = new BitSet(new long[]{0x0000000000000002L}); - public static final BitSet FOLLOW_dimensionIntervalElement_in_dimensionIntervalList3241 = new BitSet(new long[]{0x0000000000000102L}); - public static final BitSet FOLLOW_COMMA_in_dimensionIntervalList3254 = new BitSet(new long[]{0x0000000000000000L,0x0000080000014000L}); - public static final BitSet FOLLOW_dimensionIntervalElement_in_dimensionIntervalList3258 = new BitSet(new long[]{0x0000000000000102L}); - public static final BitSet FOLLOW_axisName_in_dimensionIntervalElement3283 = new BitSet(new long[]{0x0000200000000040L}); - public static final BitSet FOLLOW_COLON_in_dimensionIntervalElement3288 = new BitSet(new long[]{0x0000000000000000L,0x0000000000010000L}); - public static final BitSet FOLLOW_crsName_in_dimensionIntervalElement3292 = new BitSet(new long[]{0x0000000000000040L}); - public static final BitSet FOLLOW_LPAREN_in_dimensionIntervalElement3303 = new BitSet(new long[]{0x000007FFF8801840L,0x000000060001D000L}); - public static final BitSet FOLLOW_dimensionIntervalExpr_in_dimensionIntervalElement3307 = new BitSet(new long[]{0x0000000000000080L}); - public static final BitSet FOLLOW_RPAREN_in_dimensionIntervalElement3309 = new BitSet(new long[]{0x0000000000000002L}); - public static final BitSet FOLLOW_scalarExpr_in_dimensionIntervalExpr3332 = new BitSet(new long[]{0x0000200000000000L}); - public static final BitSet FOLLOW_COLON_in_dimensionIntervalExpr3334 = new BitSet(new long[]{0x000007FFF8801840L,0x000000060001D000L}); - public static final BitSet FOLLOW_scalarExpr_in_dimensionIntervalExpr3338 = new BitSet(new long[]{0x0000000000000002L}); - public static final BitSet FOLLOW_DOMAIN_in_dimensionIntervalExpr3348 = new BitSet(new long[]{0x0000000000000040L}); - public static final BitSet FOLLOW_LPAREN_in_dimensionIntervalExpr3350 = new BitSet(new long[]{0x0000000000000000L,0x0000080000014000L}); - public static final BitSet FOLLOW_coverageName_in_dimensionIntervalExpr3354 = new BitSet(new long[]{0x0000200000000000L}); - public static final BitSet FOLLOW_COLON_in_dimensionIntervalExpr3356 = new BitSet(new long[]{0x0000000000000000L,0x0000080000014000L}); - public static final BitSet FOLLOW_axisName_in_dimensionIntervalExpr3360 = new BitSet(new long[]{0x0000200000000000L}); - public static final BitSet FOLLOW_COLON_in_dimensionIntervalExpr3362 = new BitSet(new long[]{0x0000000000000000L,0x0000000000010000L}); - public static final BitSet FOLLOW_crsName_in_dimensionIntervalExpr3366 = new BitSet(new long[]{0x0000000000000080L}); - public static final BitSet FOLLOW_RPAREN_in_dimensionIntervalExpr3368 = new BitSet(new long[]{0x0000000000000002L}); - public static final BitSet FOLLOW_dimensionPointElement_in_dimensionPointList3391 = new BitSet(new long[]{0x0000000000000102L}); - public static final BitSet FOLLOW_COMMA_in_dimensionPointList3401 = new BitSet(new long[]{0x0000000000000000L,0x0000080000014000L}); - public static final BitSet FOLLOW_dimensionPointElement_in_dimensionPointList3405 = new BitSet(new long[]{0x0000000000000102L}); - public static final BitSet FOLLOW_axisName_in_dimensionPointElement3430 = new BitSet(new long[]{0x0000000000000040L}); - public static final BitSet FOLLOW_LPAREN_in_dimensionPointElement3432 = new BitSet(new long[]{0x000007FFF8801840L,0x000000060001D000L}); - public static final BitSet FOLLOW_dimensionPoint_in_dimensionPointElement3436 = new BitSet(new long[]{0x0000000000000080L}); - public static final BitSet FOLLOW_RPAREN_in_dimensionPointElement3438 = new BitSet(new long[]{0x0000000000000002L}); - public static final BitSet FOLLOW_axisName_in_dimensionPointElement3450 = new BitSet(new long[]{0x0000200000000000L}); - public static final BitSet FOLLOW_COLON_in_dimensionPointElement3452 = new BitSet(new long[]{0x0000000000000000L,0x0000000000010000L}); - public static final BitSet FOLLOW_crsName_in_dimensionPointElement3456 = new BitSet(new long[]{0x0000000000000040L}); - public static final BitSet FOLLOW_LPAREN_in_dimensionPointElement3458 = new BitSet(new long[]{0x000007FFF8801840L,0x000000060001D000L}); - public static final BitSet FOLLOW_dimensionPoint_in_dimensionPointElement3462 = new BitSet(new long[]{0x0000000000000080L}); - public static final BitSet FOLLOW_RPAREN_in_dimensionPointElement3464 = new BitSet(new long[]{0x0000000000000002L}); - public static final BitSet FOLLOW_scalarExpr_in_dimensionPoint3487 = new BitSet(new long[]{0x0000000000000002L}); - public static final BitSet FOLLOW_LPAREN_in_interpolationMethod3505 = new BitSet(new long[]{0x0000000000000000L,0x0000007800000000L}); - public static final BitSet FOLLOW_interpolationType_in_interpolationMethod3509 = new BitSet(new long[]{0x0000200000000000L}); - public static final BitSet FOLLOW_COLON_in_interpolationMethod3511 = new BitSet(new long[]{0x0000000000000000L,0x0000078000000000L}); - public static final BitSet FOLLOW_nullResistence_in_interpolationMethod3515 = new BitSet(new long[]{0x0000000000000080L}); - public static final BitSet FOLLOW_RPAREN_in_interpolationMethod3517 = new BitSet(new long[]{0x0000000000000002L}); - public static final BitSet FOLLOW_set_in_interpolationType3534 = new BitSet(new long[]{0x0000000000000002L}); - public static final BitSet FOLLOW_set_in_nullResistence3559 = new BitSet(new long[]{0x0000000000000002L}); - public static final BitSet FOLLOW_set_in_condenseOpType3584 = new BitSet(new long[]{0x0000000000000002L}); - public static final BitSet FOLLOW_name_in_fieldName3611 = new BitSet(new long[]{0x0000000000000002L}); - public static final BitSet FOLLOW_set_in_constant3628 = new BitSet(new long[]{0x0000000000000002L}); - public static final BitSet FOLLOW_complexConstant_in_constant3645 = new BitSet(new long[]{0x0000000000000002L}); - public static final BitSet FOLLOW_LPAREN_in_complexConstant3660 = new BitSet(new long[]{0x0000000000000000L,0x0000000400000000L}); - public static final BitSet FOLLOW_FLOATCONSTANT_in_complexConstant3664 = new BitSet(new long[]{0x0000000000000100L}); - public static final BitSet FOLLOW_COMMA_in_complexConstant3666 = new BitSet(new long[]{0x0000000000000000L,0x0000000400000000L}); - public static final BitSet FOLLOW_FLOATCONSTANT_in_complexConstant3670 = new BitSet(new long[]{0x0000000000000080L}); - public static final BitSet FOLLOW_RPAREN_in_complexConstant3672 = new BitSet(new long[]{0x0000000000000002L}); - public static final BitSet FOLLOW_STRING_in_stringConstant3689 = new BitSet(new long[]{0x0000000000000002L}); - public static final BitSet FOLLOW_set_in_name3706 = new BitSet(new long[]{0x0000000000000002L}); - public static final BitSet FOLLOW_stringConstant_in_crsName3733 = new BitSet(new long[]{0x0000000000000002L}); - public static final BitSet FOLLOW_name_in_axisName3750 = new BitSet(new long[]{0x0000000000000002L}); - public static final BitSet FOLLOW_set_in_variableName3767 = new BitSet(new long[]{0x0000000000000002L}); - public static final BitSet FOLLOW_name_in_coverageName3788 = new BitSet(new long[]{0x0000000000000002L}); + public static final BitSet FOLLOW_set_in_indexExpr2313 = new BitSet(new long[]{0x0000000000000040L,0x000000000000C000L}); + public static final BitSet FOLLOW_indexTerm_in_indexExpr2321 = new BitSet(new long[]{0x0000000000C00002L}); + public static final BitSet FOLLOW_indexFactor_in_indexTerm2346 = new BitSet(new long[]{0x0000000003000002L}); + public static final BitSet FOLLOW_set_in_indexTerm2359 = new BitSet(new long[]{0x0000000000000040L,0x000000000000C000L}); + public static final BitSet FOLLOW_indexFactor_in_indexTerm2367 = new BitSet(new long[]{0x0000000003000002L}); + public static final BitSet FOLLOW_INTEGERCONSTANT_in_indexFactor2394 = new BitSet(new long[]{0x0000000000000002L}); + public static final BitSet FOLLOW_ROUND_in_indexFactor2407 = new BitSet(new long[]{0x0000000000000040L}); + public static final BitSet FOLLOW_LPAREN_in_indexFactor2409 = new BitSet(new long[]{0x000007F800800040L,0x000010040000C000L}); + public static final BitSet FOLLOW_numericScalarExpr_in_indexFactor2413 = new BitSet(new long[]{0x0000000000000080L}); + public static final BitSet FOLLOW_RPAREN_in_indexFactor2415 = new BitSet(new long[]{0x0000000000000002L}); + public static final BitSet FOLLOW_LPAREN_in_indexFactor2427 = new BitSet(new long[]{0x0000000000000040L,0x000000000000C000L}); + public static final BitSet FOLLOW_indexExpr_in_indexFactor2431 = new BitSet(new long[]{0x0000000000000080L}); + public static final BitSet FOLLOW_RPAREN_in_indexFactor2433 = new BitSet(new long[]{0x0000000000000002L}); + public static final BitSet FOLLOW_IDENTIFIER_in_stringScalarExpr2460 = new BitSet(new long[]{0x0000000000000040L}); + public static final BitSet FOLLOW_LPAREN_in_stringScalarExpr2462 = new BitSet(new long[]{0xFDF847FFF8C01840L,0x000018060073FFFFL}); + public static final BitSet FOLLOW_coverageExpr_in_stringScalarExpr2466 = new BitSet(new long[]{0x0000000000000080L}); + public static final BitSet FOLLOW_RPAREN_in_stringScalarExpr2468 = new BitSet(new long[]{0x0000000000000002L}); + public static final BitSet FOLLOW_STRING_in_stringScalarExpr2481 = new BitSet(new long[]{0x0000000000000002L}); + public static final BitSet FOLLOW_SCALE_in_scaleExpr2499 = new BitSet(new long[]{0x0000000000000040L}); + public static final BitSet FOLLOW_LPAREN_in_scaleExpr2501 = new BitSet(new long[]{0xFDF847FFF8C01840L,0x000018060073FFFFL}); + public static final BitSet FOLLOW_coverageExpr_in_scaleExpr2505 = new BitSet(new long[]{0x0000000000000100L}); + public static final BitSet FOLLOW_COMMA_in_scaleExpr2507 = new BitSet(new long[]{0x0000000000000000L,0x0000080000014000L}); + public static final BitSet FOLLOW_dimensionIntervalList_in_scaleExpr2511 = new BitSet(new long[]{0x0000000000000100L}); + public static final BitSet FOLLOW_COMMA_in_scaleExpr2513 = new BitSet(new long[]{0x0100000000000000L}); + public static final BitSet FOLLOW_fieldInterpolationList_in_scaleExpr2517 = new BitSet(new long[]{0x0000000000000080L}); + public static final BitSet FOLLOW_RPAREN_in_scaleExpr2519 = new BitSet(new long[]{0x0000000000000002L}); + public static final BitSet FOLLOW_trimExpr_in_subsetExpr2538 = new BitSet(new long[]{0x0000000000000002L}); + public static final BitSet FOLLOW_sliceExpr_in_subsetExpr2547 = new BitSet(new long[]{0x0000000000000002L}); + public static final BitSet FOLLOW_extendExpr_in_subsetExpr2556 = new BitSet(new long[]{0x0000000000000002L}); + public static final BitSet FOLLOW_coverageAtom_in_trimExpr2573 = new BitSet(new long[]{0x0000000000000000L,0x0000000000040000L}); + public static final BitSet FOLLOW_LBRACKET_in_trimExpr2575 = new BitSet(new long[]{0x0000000000000000L,0x0000080000014000L}); + public static final BitSet FOLLOW_dimensionIntervalList_in_trimExpr2579 = new BitSet(new long[]{0x0000000000000000L,0x0000000000080000L}); + public static final BitSet FOLLOW_RBRACKET_in_trimExpr2581 = new BitSet(new long[]{0x0000000000000002L}); + public static final BitSet FOLLOW_TRIM_in_trimExpr2590 = new BitSet(new long[]{0x0000000000000040L}); + public static final BitSet FOLLOW_LPAREN_in_trimExpr2592 = new BitSet(new long[]{0xFDF847FFF8C01840L,0x000018060073FFFFL}); + public static final BitSet FOLLOW_coverageExpr_in_trimExpr2596 = new BitSet(new long[]{0x0000000000000100L}); + public static final BitSet FOLLOW_COMMA_in_trimExpr2598 = new BitSet(new long[]{0x0100000000000000L}); + public static final BitSet FOLLOW_LBRACE_in_trimExpr2600 = new BitSet(new long[]{0x0000000000000000L,0x0000080000014000L}); + public static final BitSet FOLLOW_dimensionIntervalList_in_trimExpr2604 = new BitSet(new long[]{0x0200000000000000L}); + public static final BitSet FOLLOW_RBRACE_in_trimExpr2606 = new BitSet(new long[]{0x0000000000000080L}); + public static final BitSet FOLLOW_RPAREN_in_trimExpr2608 = new BitSet(new long[]{0x0000000000000002L}); + public static final BitSet FOLLOW_coverageAtom_in_sliceExpr2625 = new BitSet(new long[]{0x0000000000000000L,0x0000000000040000L}); + public static final BitSet FOLLOW_LBRACKET_in_sliceExpr2627 = new BitSet(new long[]{0x0000000000000000L,0x0000080000014000L}); + public static final BitSet FOLLOW_dimensionPointList_in_sliceExpr2631 = new BitSet(new long[]{0x0000000000000000L,0x0000000000080000L}); + public static final BitSet FOLLOW_RBRACKET_in_sliceExpr2633 = new BitSet(new long[]{0x0000000000000002L}); + public static final BitSet FOLLOW_SLICE_in_sliceExpr2640 = new BitSet(new long[]{0x0000000000000040L}); + public static final BitSet FOLLOW_LPAREN_in_sliceExpr2642 = new BitSet(new long[]{0xFDF847FFF8C01840L,0x000018060073FFFFL}); + public static final BitSet FOLLOW_coverageExpr_in_sliceExpr2646 = new BitSet(new long[]{0x0000000000000100L}); + public static final BitSet FOLLOW_COMMA_in_sliceExpr2648 = new BitSet(new long[]{0x0100000000000000L}); + public static final BitSet FOLLOW_LBRACE_in_sliceExpr2650 = new BitSet(new long[]{0x0000000000000000L,0x0000080000014000L}); + public static final BitSet FOLLOW_dimensionPointList_in_sliceExpr2654 = new BitSet(new long[]{0x0200000000000000L}); + public static final BitSet FOLLOW_RBRACE_in_sliceExpr2656 = new BitSet(new long[]{0x0000000000000080L}); + public static final BitSet FOLLOW_RPAREN_in_sliceExpr2658 = new BitSet(new long[]{0x0000000000000002L}); + public static final BitSet FOLLOW_EXTEND_in_extendExpr2673 = new BitSet(new long[]{0x0000000000000040L}); + public static final BitSet FOLLOW_LPAREN_in_extendExpr2675 = new BitSet(new long[]{0xFDF847FFF8C01840L,0x000018060073FFFFL}); + public static final BitSet FOLLOW_coverageExpr_in_extendExpr2679 = new BitSet(new long[]{0x0000000000000100L}); + public static final BitSet FOLLOW_COMMA_in_extendExpr2681 = new BitSet(new long[]{0x0000000000000000L,0x0000080000014000L}); + public static final BitSet FOLLOW_dimensionIntervalList_in_extendExpr2685 = new BitSet(new long[]{0x0000000000000080L}); + public static final BitSet FOLLOW_RPAREN_in_extendExpr2687 = new BitSet(new long[]{0x0000000000000002L}); + public static final BitSet FOLLOW_LPAREN_in_castExpr2705 = new BitSet(new long[]{0x0000000000000000L,0x00000000FF800000L}); + public static final BitSet FOLLOW_rangeType_in_castExpr2709 = new BitSet(new long[]{0x0000000000000080L}); + public static final BitSet FOLLOW_RPAREN_in_castExpr2711 = new BitSet(new long[]{0xFDF847FFF8C01840L,0x000018060073FFFFL}); + public static final BitSet FOLLOW_coverageExpr_in_castExpr2715 = new BitSet(new long[]{0x0000000000000002L}); + public static final BitSet FOLLOW_set_in_rangeType2738 = new BitSet(new long[]{0x0000000000000002L}); + public static final BitSet FOLLOW_UNSIGNED_in_rangeType2764 = new BitSet(new long[]{0x0000000000000000L,0x0000000007000000L}); + public static final BitSet FOLLOW_set_in_rangeType2768 = new BitSet(new long[]{0x0000000000000002L}); + public static final BitSet FOLLOW_coverageAtom_in_fieldExpr2797 = new BitSet(new long[]{0x0000000000000000L,0x0000000100000000L}); + public static final BitSet FOLLOW_DOT_in_fieldExpr2799 = new BitSet(new long[]{0x0000000000000000L,0x0000080000014000L}); + public static final BitSet FOLLOW_fieldName_in_fieldExpr2803 = new BitSet(new long[]{0x0000000000000002L}); + public static final BitSet FOLLOW_booleanScalarTerm_in_booleanScalarExpr2828 = new BitSet(new long[]{0x0000000000006002L}); + public static final BitSet FOLLOW_set_in_booleanScalarExpr2841 = new BitSet(new long[]{0x000007F808800040L,0x000010060001D000L}); + public static final BitSet FOLLOW_booleanScalarTerm_in_booleanScalarExpr2849 = new BitSet(new long[]{0x0000000000006002L}); + public static final BitSet FOLLOW_booleanScalarNegation_in_booleanScalarTerm2871 = new BitSet(new long[]{0x0000000000008002L}); + public static final BitSet FOLLOW_AND_in_booleanScalarTerm2881 = new BitSet(new long[]{0x000007F808800040L,0x000010060001D000L}); + public static final BitSet FOLLOW_booleanScalarNegation_in_booleanScalarTerm2885 = new BitSet(new long[]{0x0000000000008002L}); + public static final BitSet FOLLOW_booleanScalarAtom_in_booleanScalarNegation2906 = new BitSet(new long[]{0x0000000000000002L}); + public static final BitSet FOLLOW_NOT_in_booleanScalarNegation2915 = new BitSet(new long[]{0x000007F808800040L,0x000010060001C000L}); + public static final BitSet FOLLOW_booleanScalarAtom_in_booleanScalarNegation2919 = new BitSet(new long[]{0x0000000000000002L}); + public static final BitSet FOLLOW_LPAREN_in_booleanScalarAtom2934 = new BitSet(new long[]{0x000007F808800040L,0x000010060001D000L}); + public static final BitSet FOLLOW_booleanScalarExpr_in_booleanScalarAtom2938 = new BitSet(new long[]{0x0000000000000080L}); + public static final BitSet FOLLOW_RPAREN_in_booleanScalarAtom2940 = new BitSet(new long[]{0x0000000000000002L}); + public static final BitSet FOLLOW_stringScalarExpr_in_booleanScalarAtom2949 = new BitSet(new long[]{0x00000000003F0000L}); + public static final BitSet FOLLOW_compOp_in_booleanScalarAtom2953 = new BitSet(new long[]{0x0000000008000000L,0x0000000000010000L}); + public static final BitSet FOLLOW_stringScalarExpr_in_booleanScalarAtom2957 = new BitSet(new long[]{0x0000000000000002L}); + public static final BitSet FOLLOW_numericScalarExpr_in_booleanScalarAtom2967 = new BitSet(new long[]{0x00000000003F0000L}); + public static final BitSet FOLLOW_compOp_in_booleanScalarAtom2971 = new BitSet(new long[]{0x000007F800800040L,0x000010040000C000L}); + public static final BitSet FOLLOW_numericScalarExpr_in_booleanScalarAtom2975 = new BitSet(new long[]{0x0000000000000002L}); + public static final BitSet FOLLOW_BOOLEANCONSTANT_in_booleanScalarAtom2985 = new BitSet(new long[]{0x0000000000000002L}); + public static final BitSet FOLLOW_numericScalarTerm_in_numericScalarExpr3002 = new BitSet(new long[]{0x0000000000C00002L}); + public static final BitSet FOLLOW_set_in_numericScalarExpr3012 = new BitSet(new long[]{0x000007F800800040L,0x000010040000C000L}); + public static final BitSet FOLLOW_numericScalarTerm_in_numericScalarExpr3020 = new BitSet(new long[]{0x0000000000C00002L}); + public static final BitSet FOLLOW_numericScalarFactor_in_numericScalarTerm3039 = new BitSet(new long[]{0x0000000003000002L}); + public static final BitSet FOLLOW_set_in_numericScalarTerm3048 = new BitSet(new long[]{0x000007F800800040L,0x000010040000C000L}); + public static final BitSet FOLLOW_numericScalarFactor_in_numericScalarTerm3056 = new BitSet(new long[]{0x0000000003000002L}); + public static final BitSet FOLLOW_LPAREN_in_numericScalarFactor3076 = new BitSet(new long[]{0x000007F800800040L,0x000010040000C000L}); + public static final BitSet FOLLOW_numericScalarExpr_in_numericScalarFactor3080 = new BitSet(new long[]{0x0000000000000080L}); + public static final BitSet FOLLOW_RPAREN_in_numericScalarFactor3082 = new BitSet(new long[]{0x0000000000000002L}); + public static final BitSet FOLLOW_MINUS_in_numericScalarFactor3094 = new BitSet(new long[]{0x000007F800800040L,0x000010040000C000L}); + public static final BitSet FOLLOW_numericScalarFactor_in_numericScalarFactor3098 = new BitSet(new long[]{0x0000000000000002L}); + public static final BitSet FOLLOW_ROUND_in_numericScalarFactor3110 = new BitSet(new long[]{0x0000000000000040L}); + public static final BitSet FOLLOW_LPAREN_in_numericScalarFactor3112 = new BitSet(new long[]{0x000007F800800040L,0x000010040000C000L}); + public static final BitSet FOLLOW_numericScalarExpr_in_numericScalarFactor3116 = new BitSet(new long[]{0x0000000000000080L}); + public static final BitSet FOLLOW_RPAREN_in_numericScalarFactor3118 = new BitSet(new long[]{0x0000000000000002L}); + public static final BitSet FOLLOW_INTEGERCONSTANT_in_numericScalarFactor3130 = new BitSet(new long[]{0x0000000000000002L}); + public static final BitSet FOLLOW_FLOATCONSTANT_in_numericScalarFactor3142 = new BitSet(new long[]{0x0000000000000002L}); + public static final BitSet FOLLOW_complexConstant_in_numericScalarFactor3154 = new BitSet(new long[]{0x0000000000000002L}); + public static final BitSet FOLLOW_condenseExpr_in_numericScalarFactor3166 = new BitSet(new long[]{0x0000000000000002L}); + public static final BitSet FOLLOW_variableName_in_numericScalarFactor3178 = new BitSet(new long[]{0x0000000000000002L}); + public static final BitSet FOLLOW_EQUALS_in_compOp3196 = new BitSet(new long[]{0x0000000000000002L}); + public static final BitSet FOLLOW_NOTEQUALS_in_compOp3203 = new BitSet(new long[]{0x0000000000000002L}); + public static final BitSet FOLLOW_LT_in_compOp3210 = new BitSet(new long[]{0x0000000000000002L}); + public static final BitSet FOLLOW_GT_in_compOp3217 = new BitSet(new long[]{0x0000000000000002L}); + public static final BitSet FOLLOW_LTE_in_compOp3224 = new BitSet(new long[]{0x0000000000000002L}); + public static final BitSet FOLLOW_GTE_in_compOp3231 = new BitSet(new long[]{0x0000000000000002L}); + public static final BitSet FOLLOW_dimensionIntervalElement_in_dimensionIntervalList3251 = new BitSet(new long[]{0x0000000000000102L}); + public static final BitSet FOLLOW_COMMA_in_dimensionIntervalList3264 = new BitSet(new long[]{0x0000000000000000L,0x0000080000014000L}); + public static final BitSet FOLLOW_dimensionIntervalElement_in_dimensionIntervalList3268 = new BitSet(new long[]{0x0000000000000102L}); + public static final BitSet FOLLOW_axisName_in_dimensionIntervalElement3293 = new BitSet(new long[]{0x0000200000000040L}); + public static final BitSet FOLLOW_COLON_in_dimensionIntervalElement3298 = new BitSet(new long[]{0x0000000000000000L,0x0000000000010000L}); + public static final BitSet FOLLOW_crsName_in_dimensionIntervalElement3302 = new BitSet(new long[]{0x0000000000000040L}); + public static final BitSet FOLLOW_LPAREN_in_dimensionIntervalElement3313 = new BitSet(new long[]{0x000007FFF8801840L,0x000010060001D000L}); + public static final BitSet FOLLOW_dimensionIntervalExpr_in_dimensionIntervalElement3317 = new BitSet(new long[]{0x0000000000000080L}); + public static final BitSet FOLLOW_RPAREN_in_dimensionIntervalElement3319 = new BitSet(new long[]{0x0000000000000002L}); + public static final BitSet FOLLOW_scalarExpr_in_dimensionIntervalExpr3342 = new BitSet(new long[]{0x0000200000000000L}); + public static final BitSet FOLLOW_COLON_in_dimensionIntervalExpr3344 = new BitSet(new long[]{0x000007FFF8801840L,0x000010060001D000L}); + public static final BitSet FOLLOW_scalarExpr_in_dimensionIntervalExpr3348 = new BitSet(new long[]{0x0000000000000002L}); + public static final BitSet FOLLOW_DOMAIN_in_dimensionIntervalExpr3358 = new BitSet(new long[]{0x0000000000000040L}); + public static final BitSet FOLLOW_LPAREN_in_dimensionIntervalExpr3360 = new BitSet(new long[]{0x0000000000000000L,0x0000080000014000L}); + public static final BitSet FOLLOW_coverageName_in_dimensionIntervalExpr3364 = new BitSet(new long[]{0x0000200000000000L}); + public static final BitSet FOLLOW_COLON_in_dimensionIntervalExpr3366 = new BitSet(new long[]{0x0000000000000000L,0x0000080000014000L}); + public static final BitSet FOLLOW_axisName_in_dimensionIntervalExpr3370 = new BitSet(new long[]{0x0000200000000000L}); + public static final BitSet FOLLOW_COLON_in_dimensionIntervalExpr3372 = new BitSet(new long[]{0x0000000000000000L,0x0000000000010000L}); + public static final BitSet FOLLOW_crsName_in_dimensionIntervalExpr3376 = new BitSet(new long[]{0x0000000000000080L}); + public static final BitSet FOLLOW_RPAREN_in_dimensionIntervalExpr3378 = new BitSet(new long[]{0x0000000000000002L}); + public static final BitSet FOLLOW_dimensionPointElement_in_dimensionPointList3401 = new BitSet(new long[]{0x0000000000000102L}); + public static final BitSet FOLLOW_COMMA_in_dimensionPointList3411 = new BitSet(new long[]{0x0000000000000000L,0x0000080000014000L}); + public static final BitSet FOLLOW_dimensionPointElement_in_dimensionPointList3415 = new BitSet(new long[]{0x0000000000000102L}); + public static final BitSet FOLLOW_axisName_in_dimensionPointElement3440 = new BitSet(new long[]{0x0000000000000040L}); + public static final BitSet FOLLOW_LPAREN_in_dimensionPointElement3442 = new BitSet(new long[]{0x000007FFF8801840L,0x000010060001D000L}); + public static final BitSet FOLLOW_dimensionPoint_in_dimensionPointElement3446 = new BitSet(new long[]{0x0000000000000080L}); + public static final BitSet FOLLOW_RPAREN_in_dimensionPointElement3448 = new BitSet(new long[]{0x0000000000000002L}); + public static final BitSet FOLLOW_axisName_in_dimensionPointElement3460 = new BitSet(new long[]{0x0000200000000000L}); + public static final BitSet FOLLOW_COLON_in_dimensionPointElement3462 = new BitSet(new long[]{0x0000000000000000L,0x0000000000010000L}); + public static final BitSet FOLLOW_crsName_in_dimensionPointElement3466 = new BitSet(new long[]{0x0000000000000040L}); + public static final BitSet FOLLOW_LPAREN_in_dimensionPointElement3468 = new BitSet(new long[]{0x000007FFF8801840L,0x000010060001D000L}); + public static final BitSet FOLLOW_dimensionPoint_in_dimensionPointElement3472 = new BitSet(new long[]{0x0000000000000080L}); + public static final BitSet FOLLOW_RPAREN_in_dimensionPointElement3474 = new BitSet(new long[]{0x0000000000000002L}); + public static final BitSet FOLLOW_scalarExpr_in_dimensionPoint3497 = new BitSet(new long[]{0x0000000000000002L}); + public static final BitSet FOLLOW_LPAREN_in_interpolationMethod3515 = new BitSet(new long[]{0x0000000000000000L,0x0000007800000000L}); + public static final BitSet FOLLOW_interpolationType_in_interpolationMethod3519 = new BitSet(new long[]{0x0000200000000000L}); + public static final BitSet FOLLOW_COLON_in_interpolationMethod3521 = new BitSet(new long[]{0x0000000000000000L,0x0000078000000000L}); + public static final BitSet FOLLOW_nullResistence_in_interpolationMethod3525 = new BitSet(new long[]{0x0000000000000080L}); + public static final BitSet FOLLOW_RPAREN_in_interpolationMethod3527 = new BitSet(new long[]{0x0000000000000002L}); + public static final BitSet FOLLOW_set_in_interpolationType3544 = new BitSet(new long[]{0x0000000000000002L}); + public static final BitSet FOLLOW_set_in_nullResistence3569 = new BitSet(new long[]{0x0000000000000002L}); + public static final BitSet FOLLOW_set_in_condenseOpType3594 = new BitSet(new long[]{0x0000000000000002L}); + public static final BitSet FOLLOW_name_in_fieldName3621 = new BitSet(new long[]{0x0000000000000002L}); + public static final BitSet FOLLOW_set_in_constant3638 = new BitSet(new long[]{0x0000000000000002L}); + public static final BitSet FOLLOW_complexConstant_in_constant3655 = new BitSet(new long[]{0x0000000000000002L}); + public static final BitSet FOLLOW_LPAREN_in_complexConstant3670 = new BitSet(new long[]{0x0000000000000000L,0x0000000400000000L}); + public static final BitSet FOLLOW_FLOATCONSTANT_in_complexConstant3674 = new BitSet(new long[]{0x0000000000000100L}); + public static final BitSet FOLLOW_COMMA_in_complexConstant3676 = new BitSet(new long[]{0x0000000000000000L,0x0000000400000000L}); + public static final BitSet FOLLOW_FLOATCONSTANT_in_complexConstant3680 = new BitSet(new long[]{0x0000000000000080L}); + public static final BitSet FOLLOW_RPAREN_in_complexConstant3682 = new BitSet(new long[]{0x0000000000000002L}); + public static final BitSet FOLLOW_STRING_in_stringConstant3699 = new BitSet(new long[]{0x0000000000000002L}); + public static final BitSet FOLLOW_set_in_name3716 = new BitSet(new long[]{0x0000000000000002L}); + public static final BitSet FOLLOW_stringConstant_in_crsName3743 = new BitSet(new long[]{0x0000000000000002L}); + public static final BitSet FOLLOW_name_in_axisName3760 = new BitSet(new long[]{0x0000000000000002L}); + public static final BitSet FOLLOW_VARIABLE_DOLLAR_in_variableName3777 = new BitSet(new long[]{0x0000000000000002L}); + public static final BitSet FOLLOW_NAME_in_coverageVariable3794 = new BitSet(new long[]{0x0000000000000002L}); + public static final BitSet FOLLOW_name_in_coverageName3809 = new BitSet(new long[]{0x0000000000000002L}); public static final BitSet FOLLOW_set_in_synpred8_wcps366 = new BitSet(new long[]{0xFDF847FFF8C01840L,0x000018060073FFFFL}); public static final BitSet FOLLOW_coverageLogicTerm_in_synpred8_wcps374 = new BitSet(new long[]{0x0000000000000002L}); public static final BitSet FOLLOW_AND_in_synpred9_wcps416 = new BitSet(new long[]{0xFDF847FFF8C01840L,0x000018060073FFFFL}); @@ -17006,28 +17745,28 @@ public class wcpsParser extends Parser { public static final BitSet FOLLOW_fieldExpr_in_synpred70_wcps2013 = new BitSet(new long[]{0x0000000000000002L}); public static final BitSet FOLLOW_unaryArithmeticExpr_in_synpred71_wcps2022 = new BitSet(new long[]{0x0000000000000002L}); public static final BitSet FOLLOW_booleanExpr_in_synpred74_wcps2058 = new BitSet(new long[]{0x0000000000000002L}); - public static final BitSet FOLLOW_trimExpr_in_synpred99_wcps2540 = new BitSet(new long[]{0x0000000000000002L}); - public static final BitSet FOLLOW_sliceExpr_in_synpred100_wcps2549 = new BitSet(new long[]{0x0000000000000002L}); - public static final BitSet FOLLOW_set_in_synpred114_wcps2843 = new BitSet(new long[]{0x000007F808800040L,0x000000060001D000L}); - public static final BitSet FOLLOW_booleanScalarTerm_in_synpred114_wcps2851 = new BitSet(new long[]{0x0000000000000002L}); - public static final BitSet FOLLOW_AND_in_synpred115_wcps2883 = new BitSet(new long[]{0x000007F808800040L,0x000000060001D000L}); - public static final BitSet FOLLOW_booleanScalarNegation_in_synpred115_wcps2887 = new BitSet(new long[]{0x0000000000000002L}); - public static final BitSet FOLLOW_LPAREN_in_synpred117_wcps2936 = new BitSet(new long[]{0x000007F808800040L,0x000000060001D000L}); - public static final BitSet FOLLOW_booleanScalarExpr_in_synpred117_wcps2940 = new BitSet(new long[]{0x0000000000000080L}); - public static final BitSet FOLLOW_RPAREN_in_synpred117_wcps2942 = new BitSet(new long[]{0x0000000000000002L}); - public static final BitSet FOLLOW_numericScalarExpr_in_synpred119_wcps2969 = new BitSet(new long[]{0x00000000003F0000L}); - public static final BitSet FOLLOW_compOp_in_synpred119_wcps2973 = new BitSet(new long[]{0x000007F800800040L,0x000000040000C000L}); - public static final BitSet FOLLOW_numericScalarExpr_in_synpred119_wcps2977 = new BitSet(new long[]{0x0000000000000002L}); - public static final BitSet FOLLOW_set_in_synpred121_wcps3014 = new BitSet(new long[]{0x000007F800800040L,0x000000040000C000L}); - public static final BitSet FOLLOW_numericScalarTerm_in_synpred121_wcps3022 = new BitSet(new long[]{0x0000000000000002L}); - public static final BitSet FOLLOW_set_in_synpred123_wcps3050 = new BitSet(new long[]{0x000007F800800040L,0x000000040000C000L}); - public static final BitSet FOLLOW_numericScalarFactor_in_synpred123_wcps3058 = new BitSet(new long[]{0x0000000000000002L}); - public static final BitSet FOLLOW_LPAREN_in_synpred124_wcps3078 = new BitSet(new long[]{0x000007F800800040L,0x000000040000C000L}); - public static final BitSet FOLLOW_numericScalarExpr_in_synpred124_wcps3082 = new BitSet(new long[]{0x0000000000000080L}); - public static final BitSet FOLLOW_RPAREN_in_synpred124_wcps3084 = new BitSet(new long[]{0x0000000000000002L}); - public static final BitSet FOLLOW_complexConstant_in_synpred129_wcps3156 = new BitSet(new long[]{0x0000000000000002L}); - public static final BitSet FOLLOW_scalarExpr_in_synpred137_wcps3332 = new BitSet(new long[]{0x0000200000000000L}); - public static final BitSet FOLLOW_COLON_in_synpred137_wcps3334 = new BitSet(new long[]{0x000007FFF8801840L,0x000000060001D000L}); - public static final BitSet FOLLOW_scalarExpr_in_synpred137_wcps3338 = new BitSet(new long[]{0x0000000000000002L}); + public static final BitSet FOLLOW_trimExpr_in_synpred99_wcps2538 = new BitSet(new long[]{0x0000000000000002L}); + public static final BitSet FOLLOW_sliceExpr_in_synpred100_wcps2547 = new BitSet(new long[]{0x0000000000000002L}); + public static final BitSet FOLLOW_set_in_synpred114_wcps2841 = new BitSet(new long[]{0x000007F808800040L,0x000010060001D000L}); + public static final BitSet FOLLOW_booleanScalarTerm_in_synpred114_wcps2849 = new BitSet(new long[]{0x0000000000000002L}); + public static final BitSet FOLLOW_AND_in_synpred115_wcps2881 = new BitSet(new long[]{0x000007F808800040L,0x000010060001D000L}); + public static final BitSet FOLLOW_booleanScalarNegation_in_synpred115_wcps2885 = new BitSet(new long[]{0x0000000000000002L}); + public static final BitSet FOLLOW_LPAREN_in_synpred117_wcps2934 = new BitSet(new long[]{0x000007F808800040L,0x000010060001D000L}); + public static final BitSet FOLLOW_booleanScalarExpr_in_synpred117_wcps2938 = new BitSet(new long[]{0x0000000000000080L}); + public static final BitSet FOLLOW_RPAREN_in_synpred117_wcps2940 = new BitSet(new long[]{0x0000000000000002L}); + public static final BitSet FOLLOW_numericScalarExpr_in_synpred119_wcps2967 = new BitSet(new long[]{0x00000000003F0000L}); + public static final BitSet FOLLOW_compOp_in_synpred119_wcps2971 = new BitSet(new long[]{0x000007F800800040L,0x000010040000C000L}); + public static final BitSet FOLLOW_numericScalarExpr_in_synpred119_wcps2975 = new BitSet(new long[]{0x0000000000000002L}); + public static final BitSet FOLLOW_set_in_synpred121_wcps3012 = new BitSet(new long[]{0x000007F800800040L,0x000010040000C000L}); + public static final BitSet FOLLOW_numericScalarTerm_in_synpred121_wcps3020 = new BitSet(new long[]{0x0000000000000002L}); + public static final BitSet FOLLOW_set_in_synpred123_wcps3048 = new BitSet(new long[]{0x000007F800800040L,0x000010040000C000L}); + public static final BitSet FOLLOW_numericScalarFactor_in_synpred123_wcps3056 = new BitSet(new long[]{0x0000000000000002L}); + public static final BitSet FOLLOW_LPAREN_in_synpred124_wcps3076 = new BitSet(new long[]{0x000007F800800040L,0x000010040000C000L}); + public static final BitSet FOLLOW_numericScalarExpr_in_synpred124_wcps3080 = new BitSet(new long[]{0x0000000000000080L}); + public static final BitSet FOLLOW_RPAREN_in_synpred124_wcps3082 = new BitSet(new long[]{0x0000000000000002L}); + public static final BitSet FOLLOW_complexConstant_in_synpred129_wcps3154 = new BitSet(new long[]{0x0000000000000002L}); + public static final BitSet FOLLOW_scalarExpr_in_synpred138_wcps3342 = new BitSet(new long[]{0x0000200000000000L}); + public static final BitSet FOLLOW_COLON_in_synpred138_wcps3344 = new BitSet(new long[]{0x000007FFF8801840L,0x000010060001D000L}); + public static final BitSet FOLLOW_scalarExpr_in_synpred138_wcps3348 = new BitSet(new long[]{0x0000000000000002L}); } \ No newline at end of file diff --git a/src/grammar/wcps_no_actions.g b/src/grammar/wcps_no_actions.g index 807b7e5..214467e 100644 --- a/src/grammar/wcps_no_actions.g +++ b/src/grammar/wcps_no_actions.g @@ -1,14 +1,16 @@ /* -Author: *, Sorin Stancu-Mara, Andrei Aiordachioaie -Date (last update): 21 April 2009 +Author: Sorin Stancu-Mara, Andrei Aiordachioaie History: -07 02 2007 smsorin Updated to WCPS 1.0.0 -27 01 2009 smsorin Moved to ANTLR -11 02 2009 andreia Updated to new grammar (spec 08-068r2) -13 02 2009 andreia Fixed small bugs in grammar. Now it can fully compile. +07 02 2007 smsorin Updated to WCPS 1.0.0 +27 01 2009 smsorin Moved to ANTLR +11 02 2009 andreia Updated to new grammar (spec 08-068r2) +13 02 2009 andreia Fixed small bugs in grammar. Now it can fully compile. 21 04 2009 andreia Removed comments. 04 05 2009 andreia Fixed bugs in integer declaration. -19 05 2009 andreia Fixed some other weird bugs. Grammar passes all tests now. +19 05 2009 andreia Fixed some other weird bugs. Grammar passes all tests now. +28 05 2009 andreia Updated class actions names. +02 06 2009 andreia Removed brackets around "and" binary operator in CoverageExpr +03 06 2009 andreia Complex expressions introduced in the "using" clause of general condense operations */ grammar wcps_no_actions; options{ @@ -21,80 +23,80 @@ output=AST; /* Parser Rules */ -wcpsRequest +wcpsRequest : e1=forClause (e2=whereClause )? e3=returnClause ; -forClause - : FOR v=variableName IN LPAREN list=coverageList RPAREN +forClause + : FOR v=coverageVariable IN LPAREN list=coverageList RPAREN - (COMMA v=variableName IN LPAREN list=coverageList RPAREN + (COMMA v=coverageVariable IN LPAREN list=coverageList RPAREN )* ; -whereClause +whereClause : WHERE e1=booleanScalarExpr ; -returnClause +returnClause : RETURN e1=processingExpr ; -coverageList +coverageList : cname=coverageName (COMMA next=coverageName )* ; -processingExpr +processingExpr : e1=encodedCoverageExpr | e2=storeExpr | e3=scalarExpr ; -encodedCoverageExpr +encodedCoverageExpr : ENCODE LPAREN cov=coverageExpr COMMA format=stringConstant (COMMA params=stringConstant )? RPAREN ; -storeExpr +storeExpr : STORE LPAREN e1=encodedCoverageExpr RPAREN ; -coverageExpr +coverageExpr : e1=coverageLogicTerm (op=(OR|XOR) e2=coverageLogicTerm )* ; -coverageLogicTerm +coverageLogicTerm : e1=coverageLogicFactor - (op=(AND) e2=coverageLogicFactor )* + (op=AND e2=coverageLogicFactor )* ; -coverageLogicFactor +coverageLogicFactor : e1=coverageArithmeticExpr (op=(EQUALS|NOTEQUALS|LT|GT|LTE|GTE) e2=coverageArithmeticExpr )? ; -coverageArithmeticExpr +coverageArithmeticExpr : e1=coverageArithmeticTerm (op=(PLUS|MINUS) e2=coverageArithmeticTerm )* ; -coverageArithmeticTerm +coverageArithmeticTerm : e1=coverageArithmeticFactor (op=(MULT|DIVIDE) e2=coverageArithmeticFactor )* ; -coverageArithmeticFactor +coverageArithmeticFactor : e1=coverageValue - (op=(OVERLAY) e2=coverageValue )* + (op=OVERLAY e2=coverageValue )* ; -coverageValue +coverageValue : e5=subsetExpr | e2=unaryInducedExpr | e4=scaleExpr | e3=crsTransformExpr | e1=coverageAtom ; -coverageAtom +coverageAtom : e2=scalarExpr - | e1=variableName + | e1=coverageVariable | LPAREN e7=coverageExpr RPAREN | e3=coverageConstantExpr | e4=coverageConstructorExpr | e5=setMetaDataExpr | e6=rangeConstructorExpr ; -scalarExpr +scalarExpr : e1=metaDataExpr | e2=condenseExpr | e3=booleanScalarExpr @@ -102,7 +104,7 @@ scalarExpr | e5=stringScalarExpr | LPAREN e6=scalarExpr RPAREN ; -metaDataExpr +metaDataExpr : op=IDENTIFIER LPAREN e1=coverageExpr RPAREN | op=IMAGECRS LPAREN e1=coverageExpr RPAREN | op=IMAGECRSDOMAIN LPAREN e1=coverageExpr (COMMA e2=axisName)? RPAREN @@ -112,45 +114,45 @@ metaDataExpr | op=INTERPOLATIONDEFAULT LPAREN e1=coverageExpr COMMA f1=fieldName RPAREN | op=INTERPOLATIONSET LPAREN e1=coverageExpr COMMA f1=fieldName RPAREN ; -domainExpr - : DOMAIN LPAREN var=variableName COMMA axis=axisName COMMA crs=crsName RPAREN +domainExpr + : DOMAIN LPAREN var=coverageVariable COMMA axis=axisName COMMA crs=crsName RPAREN ; -condenseExpr +condenseExpr : e1=reduceExpr | e2=generalCondenseExpr ; -reduceExpr +reduceExpr : op=(ALL|SOME|COUNT|ADD|AVG|MIN|MAX) LPAREN e1=coverageExpr RPAREN ; -generalCondenseExpr +generalCondenseExpr : CONDENSE op=condenseOpType OVER ail=axisIteratorList (WHERE cond=booleanScalarExpr )? - USING se=scalarExpr + (USING ce=coverageExpr) ; -axisIteratorList +axisIteratorList : vn=variableName an=axisName LPAREN ie=intervalExpr RPAREN (COMMA vn2=variableName an2=axisName LPAREN ie2=intervalExpr RPAREN )* ; -intervalExpr +intervalExpr : lo=indexExpr COLON hi=indexExpr | IMAGECRSDOMAIN LPAREN e1=coverageName COMMA e2=axisName RPAREN ; -coverageConstantExpr +coverageConstantExpr : COVERAGE aname=coverageName OVER iter=axisIteratorList VALUE LIST LT values=constantList GT ; -constantList +constantList : c=constant (SEMICOLON c=constant )* ; -coverageConstructorExpr +coverageConstructorExpr : COVERAGE coverage=coverageName OVER ail=axisIteratorList VALUES se=scalarExpr ; -setMetaDataExpr +setMetaDataExpr : op=SETIDENTIFIER LPAREN s=stringConstant COMMA e1=coverageExpr RPAREN | op=SETCRSSET LPAREN e1=coverageExpr COMMA crs=crsList RPAREN @@ -162,37 +164,37 @@ setMetaDataExpr | op=SETINTERPOLATIONSET LPAREN e1=coverageExpr COMMA fn=fieldName COMMA iml=interpolationMethodList RPAREN ; -crsList +crsList : LBRACE (crs=crsName (COMMA crs=crsName )* )? RBRACE ; -rangeExprList +rangeExprList : LBRACE (re1=rangeExpr (COMMA re2=rangeExpr )* )? RBRACE ; -interpolationMethodList +interpolationMethodList : LBRACE (e=interpolationMethod (COMMA e=interpolationMethod )*)? RBRACE ; -rangeExpr +rangeExpr : STRUCT LBRACE (field=fieldName COLON expr=scalarExpr (COLON field=fieldName COLON expr=scalarExpr )* )? RBRACE ; -rangeConstructorExpr +rangeConstructorExpr : (STRUCT)? LBRACE field=fieldName COLON expr=coverageExpr (SEMICOLON field=fieldName COLON expr=coverageExpr )* RBRACE ; -crsTransformExpr +crsTransformExpr : CRSTRANSFORM LPAREN e1=coverageExpr COMMA dcl=dimensionIntervalList COMMA fil=fieldInterpolationList RPAREN ; -fieldInterpolationList +fieldInterpolationList : LBRACE elem=fieldInterpolationElement (COMMA elem=fieldInterpolationElement ) * RBRACE ; -fieldInterpolationElement +fieldInterpolationElement : aname=fieldName method=interpolationMethod ; -unaryInducedExpr +unaryInducedExpr : e6=fieldExpr | e1=unaryArithmeticExpr | e2=exponentialExpr @@ -201,98 +203,97 @@ unaryInducedExpr | e5=castExpr | e7=rangeConstructorExpr ; -unaryArithmeticExpr +unaryArithmeticExpr : op=(MINUS|PLUS) e1=coverageAtom | op=(SQRT|ABS|RE|IM) LPAREN e2=coverageExpr RPAREN ; -exponentialExpr +exponentialExpr : op=(EXP|LOG|LN) LPAREN e1=coverageExpr RPAREN ; -trigonometricExpr +trigonometricExpr : op=(SIN|COS|TAN|SINH|COSH|TANH|ARCSIN|ARCCOS|ARCTAN) LPAREN e1=coverageExpr RPAREN ; -booleanExpr +booleanExpr : op=NOT e1=coverageExpr | op=BIT LPAREN e1=coverageExpr COMMA e2=indexExpr RPAREN ; -indexExpr +indexExpr : e1=indexTerm - (op=(PLUS^|MINUS^) e2=indexTerm )* + (op=(PLUS|MINUS) e2=indexTerm )* ; -indexTerm +indexTerm : e1=indexFactor - ((op=(MULT|DIVIDE) e2=indexFactor))* + ((op=(MULT|DIVIDE) e2=indexFactor ))* ; -indexFactor +indexFactor : e=INTEGERCONSTANT | op=ROUND LPAREN e1=numericScalarExpr RPAREN - | (LPAREN e2=indexExpr RPAREN) -// => (LPAREN e2=indexExpr RPAREN ) + | (LPAREN e2=indexExpr RPAREN ) ; -stringScalarExpr +stringScalarExpr // The first rule should be "metaDataExpr", but currently only a variable "identifier" is allowed. : op=IDENTIFIER LPAREN e1=coverageExpr RPAREN | e=STRING ; -scaleExpr +scaleExpr : SCALE LPAREN e1=coverageExpr COMMA dil=dimensionIntervalList COMMA fil=fieldInterpolationList RPAREN ; -subsetExpr +subsetExpr : e1=trimExpr | e2=sliceExpr | e3=extendExpr ; -trimExpr +trimExpr : e1=coverageAtom LBRACKET dil=dimensionIntervalList RBRACKET | TRIM LPAREN e2=coverageExpr COMMA LBRACE dil=dimensionIntervalList RBRACE RPAREN ; -sliceExpr +sliceExpr : e1=coverageAtom LBRACKET dpl=dimensionPointList RBRACKET | SLICE LPAREN e2=coverageExpr COMMA LBRACE dpl=dimensionPointList RBRACE RPAREN ; -extendExpr +extendExpr : EXTEND LPAREN e1=coverageExpr COMMA dil=dimensionIntervalList RPAREN ; -castExpr +castExpr : LPAREN e1=rangeType RPAREN e2=coverageExpr ; -rangeType +rangeType : type=(BOOLEAN|CHAR|SHORT|LONG|FLOAT|DOUBLE|COMPLEX|COMPLEX2) | UNSIGNED type=(CHAR|SHORT|LONG) ; -fieldExpr +fieldExpr : e1=coverageAtom DOT e2=fieldName ; // NOTE: The following boolean rules are equivalent to the grammar rules in document 08-068r2 // They have been rewritten in order to prioritize the boolean operators -booleanScalarExpr +booleanScalarExpr : e1=booleanScalarTerm - (op=(OR^|XOR^) e2=booleanScalarTerm )* + (op=(OR|XOR) e2=booleanScalarTerm )* ; -booleanScalarTerm +booleanScalarTerm : e1=booleanScalarNegation (op=AND e2=booleanScalarNegation )* ; -booleanScalarNegation +booleanScalarNegation : e1=booleanScalarAtom | op=NOT e1=booleanScalarAtom ; -booleanScalarAtom +booleanScalarAtom : LPAREN e1=booleanScalarExpr RPAREN | s1=stringScalarExpr cop=compOp s2=stringScalarExpr | n1=numericScalarExpr cop=compOp n2=numericScalarExpr | e=BOOLEANCONSTANT ; -numericScalarExpr +numericScalarExpr : e1=numericScalarTerm (op=(PLUS|MINUS) e2=numericScalarTerm )* ; -numericScalarTerm +numericScalarTerm : e1=numericScalarFactor (op=(MULT|DIVIDE) e2=numericScalarFactor )* ; -numericScalarFactor +numericScalarFactor : LPAREN e1=numericScalarExpr RPAREN | op=MINUS e10=numericScalarFactor | op=ROUND LPAREN e1=numericScalarExpr RPAREN @@ -300,8 +301,9 @@ numericScalarFactor | e=FLOATCONSTANT | e2=complexConstant | e3=condenseExpr + | e4=variableName ; -compOp +compOp : EQUALS | NOTEQUALS | LT @@ -309,77 +311,73 @@ compOp | LTE | GTE ; -dimensionIntervalList +dimensionIntervalList : elem=dimensionIntervalElement (COMMA elem=dimensionIntervalElement )* ; -dimensionIntervalElement +dimensionIntervalElement : aname=axisName (COLON crs=crsName )? LPAREN die=dimensionIntervalExpr RPAREN ; -dimensionIntervalExpr +dimensionIntervalExpr : e1=scalarExpr COLON e2=scalarExpr | DOMAIN LPAREN e3=coverageName COLON e4=axisName COLON e5=crsName RPAREN ; -dimensionPointList +dimensionPointList : elem1=dimensionPointElement (COMMA elem2=dimensionPointElement )* ; -dimensionPointElement +dimensionPointElement : aname=axisName LPAREN dpe=dimensionPoint RPAREN | aname=axisName COLON crs=crsName LPAREN dpe=dimensionPoint RPAREN ; -dimensionPoint +dimensionPoint : e1=scalarExpr ; -interpolationMethod +interpolationMethod : LPAREN type=interpolationType COLON res=nullResistence RPAREN ; -interpolationType +interpolationType : type=(NEAREST|LINEAR|QUADRATIC|CUBIC) ; -nullResistence +nullResistence : resistance=(FULL|NONE|HALF|OTHER) ; -condenseOpType +condenseOpType : op=(PLUS|MULT|MAX|MIN|AND|OR) ; -fieldName +fieldName : name ; -constant +constant : e=(STRING|BOOLEANCONSTANT|INTEGERCONSTANT|FLOATCONSTANT) | e1=complexConstant ; -complexConstant +complexConstant : LPAREN re1=FLOATCONSTANT COMMA im1=FLOATCONSTANT RPAREN ; -stringConstant +stringConstant : s=STRING ; -name +name : var=(NAME | STRING | INTEGERCONSTANT) ; -crsName +crsName : s=stringConstant ; -axisName +axisName : type1=name ; -variableName - : var=(VARIABLE_DOLLAR | NAME) +variableName + : var=VARIABLE_DOLLAR ; -coverageName +coverageVariable + : var=NAME + ; +coverageName : name ; - - /* -anything: - name | INTEGERCONSTANT; -dot : - DOT; - */ /* Lexer rules */ PLUS: '+'; @@ -491,10 +489,10 @@ fragment OCTALCONSTANT: '0' ('1'..'7') (('0'..'7')*); fragment HEXACONSTANT: ('0x'|'0X') ('1'..'9'|'a'..'f'|'A'..'F') (('0'..'9'|'a'..'f'|'A'..'F')*); -INTEGERCONSTANT: DECIMALCONSTANT | OCTALCONSTANT | HEXACONSTANT; +INTEGERCONSTANT: (PLUS|MINUS)? DECIMALCONSTANT | OCTALCONSTANT | HEXACONSTANT; FLOATCONSTANT: DECIMALCONSTANT ('.')('0'..'9'+)(('e'|'E')(('-'|'+')?)('0'..'9'+))?; STRING: '"' ( options {greedy=false;} : . )* '"' {setText(getText().substring(1, getText().length()-1));}; NAME: ('a'..'z'|'A'..'Z'|'_')(('a'..'z'|'A'..'Z'|'0'..'9'|'_')*); -VARIABLE_DOLLAR: '$'(('a'..'z'|'A'..'Z'|'0'..'9'|'_')*); +VARIABLE_DOLLAR: '$'(('a'..'z'|'A'..'Z'|'0'..'9'|'_')*) {setText(getText().substring(1, getText().length())); } ; WHITESPACE: (' ' | '\t' | '\r' | '\n' | '\u000C')+ { skip(); } ; diff --git a/src/wcps/server/cli/f_grammar.java b/src/wcps/server/cli/f_grammar.java new file mode 100644 index 0000000..6468767 --- /dev/null +++ b/src/wcps/server/cli/f_grammar.java @@ -0,0 +1,66 @@ +package wcps.server.cli; + +import grammar.*; +import grammar.wcpsParser.*; +import java.io.ByteArrayInputStream; +import java.io.File; +import java.io.IOException; +import java.io.InputStream; +import org.antlr.runtime.ANTLRInputStream; +import org.antlr.runtime.CommonTokenStream; +import org.antlr.runtime.RecognitionException; +import org.apache.commons.io.FileUtils; + +/** Test the WCPS grammar parser (generated by ANTLR). + * Input the path that contains an Abstract Syntax query. + * Outputs the corresponding XML tree. + * + * @author Andrei Aiordachioaie + */ +public class f_grammar { + + private static String query; + private static String path; + + public static void main(String[] args) throws RecognitionException, IOException + { + if (args.length != 1) + { + System.err.println("AbstractGrammarGen: no parameter to specify input file !"); + path = "test/test-tmp/29.test"; + query = FileUtils.readFileToString(new File(path)); + } + else + { + path = args[0]; + query = FileUtils.readFileToString(new File(path)); + } + + System.out.println("Running with the following query: " + query); + + String xmlString = runQuery(query); + System.out.println("Output XML: \n****************\n" + xmlString); + + System.exit(0); + + } + + public static String runQuery(String query) throws IOException, RecognitionException + { + InputStream stream = new ByteArrayInputStream(query.getBytes()); // defaults to ISO-1 + ANTLRInputStream inputStream = new ANTLRInputStream(stream); +// wcpsLexer lexer = new wcpsLexer( inputStream ); + wcpsLexer lexer = new wcpsLexer( inputStream ); + + CommonTokenStream tokenStream = new CommonTokenStream(lexer); +// wcpsParser parser = new wcpsParser(tokenStream); + wcpsParser parser = new wcpsParser(tokenStream); + + wcpsRequest_return rrequest = parser.wcpsRequest(); + WCPSRequest request = rrequest.value; + + String result = request.toXML(); + return result; + } + +} diff --git a/src/wcps/server/cli/grammar.java b/src/wcps/server/cli/grammar.java index eabee72..29961a2 100644 --- a/src/wcps/server/cli/grammar.java +++ b/src/wcps/server/cli/grammar.java @@ -24,22 +24,30 @@ public class grammar { if (args.length != 1) { System.err.println("AbstractGrammarGen: no query as parameter !"); - query = "for r in (rgb) return encode( r * ((r.green > 130) and " + - "(r.red < 110)), \"jpeg\")"; + query = "for a in (rgb) return " + + "condense + over $x x(1:10), $y y(25:75) " + + "using $x * (a[x($x), y($y)]).red"; } else query = args[0]; System.out.println("Running with the following query: " + query); - String xmlString = runQuery(query); + String xmlString = convertAbstractQueryToXml(query); System.out.println("Output XML: \n****************\n" + xmlString); System.exit(0); } - public static String runQuery(String query) throws IOException, RecognitionException + /** Converts a WCPS abstract syntax query to an XML query + * + * @param query Abstract Syntax query + * @return String XML query + * @throws java.io.IOException + * @throws org.antlr.runtime.RecognitionException + */ + public static String convertAbstractQueryToXml(String query) throws IOException, RecognitionException { InputStream stream = new ByteArrayInputStream(query.getBytes()); // defaults to ISO-1 ANTLRInputStream inputStream = new ANTLRInputStream(stream); diff --git a/src/wcps/server/cli/xml.java b/src/wcps/server/cli/xml.java index 10c201c..b4f5639 100644 --- a/src/wcps/server/cli/xml.java +++ b/src/wcps/server/cli/xml.java @@ -23,6 +23,7 @@ package wcps.server.cli; +import java.io.IOException; import wcps.server.core.CachedMetadataSource; import wcps.server.core.DbMetadataSource; import wcps.server.core.ProcessCoveragesRequest; @@ -31,7 +32,9 @@ import wcps.server.core.WCPS; import java.io.File; import java.io.FileInputStream; +import java.io.StringReader; import java.util.Properties; +import org.xml.sax.InputSource; /** * This is a small application around the WCPS core. It takes XML requests as files and runs them @@ -43,27 +46,13 @@ import java.util.Properties; public class xml { private static WCPS wcps; + private static DbMetadataSource metadataSource; - public static void main(String[] args) - { - if (args.length < 1) - { - System.err.println("WCPS CLI: no input files"); - - System.err.println("\nWCPS CLI Usage: java wcps.server.cli.xml input.xml"); - System.err.println("Where input.xml contains a ProcessCoverages Request "); - System.exit(1); - - args = new String[1]; - args[0] = "old_testing/testcases/1.test.xml"; - } - if (args.length > 1) - { - System.err.println("WCPS: no input files"); - System.exit(1); - } - - String pcSchemaFileName = + private static void initMetadata() + { + File cwd = new File("."); + System.out.println("Working in " + cwd.getAbsolutePath()); + String pcSchemaFileName = "src/conf/" + "xml" + File.separator + "ogc" + File.separator + "wcps" + File.separator + "1.0.0" + File.separator + "wcpsProcessCoverages.xsd"; File pcSchemaFile = new File(pcSchemaFileName); @@ -75,7 +64,7 @@ public class xml System.exit(1); } - DbMetadataSource metadataSource = null; + metadataSource = null; try { @@ -95,14 +84,38 @@ public class xml e.printStackTrace(System.err); System.exit(1); } + } + + public static void main(String[] args) + { + if (args.length < 1) + { + System.err.println("WCPS CLI: no input files"); + + System.err.println("\nWCPS CLI Usage: java wcps.server.cli.xml input.xml"); + System.err.println("Where input.xml contains a ProcessCoverages Request "); +// System.exit(1); + + args = new String[1]; + args[0] = "test/testcases-wcps_dollar/25.test.xml"; + } + if (args.length > 1) + { + System.err.println("WCPS: no input files"); + System.exit(1); + } + + initMetadata(); for (int i = 0; i < args.length; i++) { File fileIn = null; + InputSource is = null; try { fileIn = new File(args[i]); + is = new InputSource(new FileInputStream(fileIn)); } catch (Exception fnfe) { @@ -111,9 +124,11 @@ public class xml System.exit(1); } - boolean ok = processCoverage(fileIn, i); - - if (!ok) + + String result = processCoverage(is, i); + if (result != null) + System.out.println(result); + else { System.err.println("WCPS: " + args[i] + " failed"); System.exit(1); @@ -125,30 +140,18 @@ public class xml } - private static boolean processCoverage(File in, int i) + private static String processCoverage(InputSource is, int i) { + String result = null; + try { - - ProcessCoveragesRequest r = - wcps.pcPrepare("http://kahlua.eecs.jacobs-university.de:7001", - "RASSERVICE", in); - + ProcessCoveragesRequest r = wcps.pcPrepare("http://kahlua.eecs.jacobs-university.de:9001", + "RASSERVICE", is); System.err.println("Request " + i); - - System.out.println(r.getRasqlQuery()); - - -/* Iterator results = r.execute().iterator(); - - int j = 0; - while( results.hasNext() ) { - String outFileName = "WCPS-" + i + "-" + j++; - FileOutputStream out = new FileOutputStream( outFileName ); - out.write( results.next() ); - out.close(); - System.out.println( "WCPS: " + outFileName + " written" ); - }*/ + String rasql = r.getRasqlQuery(); + String mime = r.getMime(); + result = "[" + mime + "] " + rasql; } catch (Exception e) { @@ -157,7 +160,17 @@ public class xml e.printStackTrace(System.err); } - return true; - + return result; } + + /** Converts a WCPS XML query into a RasQL query string **/ + public static String convertXmlToRasql(String query) + { + String rasql = null; + if (metadataSource == null) + initMetadata(); + InputSource is = new InputSource(new StringReader(query)); + rasql = processCoverage(is, 1); + return rasql; + } } diff --git a/src/wcps/server/core/AxisIterator.java b/src/wcps/server/core/AxisIterator.java index 6cca180..2b66f4d 100644 --- a/src/wcps/server/core/AxisIterator.java +++ b/src/wcps/server/core/AxisIterator.java @@ -28,13 +28,12 @@ import org.w3c.dom.*; public class AxisIterator implements IRasNode { - private String var; + private String var, varTranslation; private AxisName axis; private NumericScalarExpr hi,lo; - public AxisIterator(Node node, XmlQuery xq) throws WCPSException + public AxisIterator(Node node, XmlQuery xq, String newIteratorName) throws WCPSException { - while ((node != null) && node.getNodeName().equals("#text")) { node = node.getNextSibling(); @@ -48,6 +47,9 @@ public class AxisIterator implements IRasNode if (nodeName.equals("iteratorVar")) { var = node.getTextContent(); + // This variable will be referenced later on. Translate it. + xq.addReferenceVariable(var, newIteratorName); + varTranslation = xq.getReferenceVariableName(var); } else if (nodeName.equals("axis")) { @@ -75,10 +77,16 @@ public class AxisIterator implements IRasNode public String toRasQL() { - String result = var + " in [" + lo.toRasQL() + ":" + hi.toRasQL() + "]"; + String result = varTranslation + " in [" + lo.toRasQL() + ":" + hi.toRasQL() + "]"; return result; } + /** Sets a new name for the iterator variable, to be used in the rasql query**/ + public void setVariableTranslation(String newName) + { + varTranslation = newName; + } + /** Return the Higher bound for the axis iterator. * This only works for constant expressions. * TODO: implement arbitrary expressions. @@ -99,6 +107,7 @@ public class AxisIterator implements IRasNode return SDU.str2integer(lo.toRasQL()).get(0); } + /* Return the variable name used in this axis */ public String getVar() { return var; @@ -108,4 +117,10 @@ public class AxisIterator implements IRasNode { return axis.toRasQL(); } + + /* Returns the m-interval that this axis iterates over in a string form */ + public String getInterval() + { + return lo.toRasQL() + ":" + hi.toRasQL(); + } } diff --git a/src/wcps/server/core/BooleanScalarExpr.java b/src/wcps/server/core/BooleanScalarExpr.java index ac21b5f..747577f 100644 --- a/src/wcps/server/core/BooleanScalarExpr.java +++ b/src/wcps/server/core/BooleanScalarExpr.java @@ -41,7 +41,7 @@ public class BooleanScalarExpr implements IRasNode simple = false; - System.out.println("Parsing boolean scalar operation ..."); + System.err.println("Parsing boolean scalar operation ..."); if (nodeName.equals("booleanConstant")) { diff --git a/src/wcps/server/core/ComplexConstant.java b/src/wcps/server/core/ComplexConstant.java index 39afd64..d396aec 100644 --- a/src/wcps/server/core/ComplexConstant.java +++ b/src/wcps/server/core/ComplexConstant.java @@ -29,6 +29,63 @@ public class ComplexConstant implements IRasNode { private String re, im; + public ComplexConstant(String str) throws WCPSException + { + boolean ok = true; + // We only accept the following String representation of a complex number: {re,im} + if (str.startsWith("{") && str.endsWith("}")) + { + str = str.substring(1,str.length()-2); + if (str.indexOf(",") != -1 && str.lastIndexOf(",") != str.indexOf(",")) + { + int comma = str.indexOf(","); + re = str.substring(0, comma-1); + im = str.substring(comma+1, str.length()-comma-1); + } + else + ok = false; + } + else + ok = false; + if (ok == false) + throw new WCPSException("Could not parse Complex Constant !"); + + // parse the real part + try + { + Integer real = Integer.parseInt(re); + } + catch (NumberFormatException e) + { + try + { + Float real = Float.parseFloat(re); + } + catch (NumberFormatException e2) + { + throw new WCPSException("Could not parse float or integer " + + "number for real part of complex number:" + re); + } + } + // parse the imaginary part + try + { + Integer imag = Integer.parseInt(im); + } + catch (NumberFormatException e) + { + try + { + Float imag = Float.parseFloat(im); + } + catch (NumberFormatException e2) + { + throw new WCPSException("Could not parse float or integer " + + "number for imaginary part of complex number" + im); + } + } + } + public ComplexConstant(Node node, XmlQuery xq) throws WCPSException { System.err.println("Parsing complex constant: " + node.getNodeName()); diff --git a/src/wcps/server/core/CondenseOperation.java b/src/wcps/server/core/CondenseOperation.java new file mode 100644 index 0000000..07bc921 --- /dev/null +++ b/src/wcps/server/core/CondenseOperation.java @@ -0,0 +1,71 @@ +/* + * This file is part of PetaScope. + * + * PetaScope is free software: you can redistribute it and/or modify + * it under the terms of the GNU Lesser General Public License as + * published by the Free Software Foundation, either version 3 of + * the License, or (at your option) any later version. + * + * PetaScope is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU Lesser General Public License for more details. + * + * You should have received a copy of the GNU Lesser General Public + * License along with PetaScope. If not, see . + * + * For more information please see + * or contact Peter Baumann via . + * + * Copyright 2009 Jacobs University Bremen, Peter Baumann. + */ + + +package wcps.server.core; + +import org.w3c.dom.*; + +public class CondenseOperation implements IRasNode +{ + private String name; + + public CondenseOperation(Node node, XmlQuery xq) throws WCPSException + { + while ((node != null) && node.getNodeName().equals("#text")) + { + node = node.getNextSibling(); + } + + System.err.println("Parsing condense Operation: " + node.getNodeName()); + + String text = node.getNodeName(); + this.name = formatOperation(text); + + if (name == null) + throw new WCPSException("Unknown condense operation: " + text); + } + + private String formatOperation(String name) + { + String shortOp = null; + if (name.equals("opPlus")) + shortOp = "+"; + if (name.equals("opMult")) + shortOp = "*"; + if (name.equals("opMin")) + shortOp = "min"; + if (name.equals("opMax")) + shortOp = "max"; + if (name.equals("opAnd")) + shortOp = "and"; + if (name.equals("opOr")) + shortOp = "or"; + + return shortOp; + } + + public String toRasQL() + { + return name; + } +} diff --git a/src/wcps/server/core/CondenseScalarExpr.java b/src/wcps/server/core/CondenseScalarExpr.java index 86d14a7..5418260 100644 --- a/src/wcps/server/core/CondenseScalarExpr.java +++ b/src/wcps/server/core/CondenseScalarExpr.java @@ -23,18 +23,103 @@ package wcps.server.core; +import java.util.Vector; import org.w3c.dom.*; -// TODO: implement CondenseScalarExprType public class CondenseScalarExpr implements IRasNode { + private CondenseOperation op; + private Vector iterators; + private IRasNode using; + private IRasNode where; + private String axisIteratorString; + private String newIteratorName; + public CondenseScalarExpr(Node node, XmlQuery xq) throws WCPSException { - throw new WCPSException("Method not implemented"); + if (node.getNodeName().equals("condense")) + node = node.getFirstChild(); + while ((node != null) && node.getNodeName().equals("#text")) + { + node = node.getNextSibling(); + } + + iterators = new Vector(); + newIteratorName = xq.registerNewExpressionWithVariables(); + System.err.println("Parsing Condense Scalar Expression: " + node.getNodeName()); + + while (node != null) + { + String name = node.getNodeName(); + if (op == null) + { + op = new CondenseOperation(node, xq); + } + else + if (name.equals("iterator")) + { + AxisIterator it = new AxisIterator(node.getFirstChild(), xq, newIteratorName); + iterators.add(it); + } + else + if (name.equals("where")) + { + where = new BooleanScalarExpr(node.getFirstChild(), xq); + } + else + { + // TODO (HACK) Settle on either CoverageExpr or ScalarExpr + /* Discussion: + * CoverageExpr allows expressions like c[$x,15]. + * ScalarExpr allows constants. + * They do not like each other + * Handle this in the grammar in a more explicit way. + */ + try + { + using = new CoverageExpr(node, xq); + } + catch (WCPSException e) + { + using = new ScalarExpr(node, xq); + } + } + + node = node.getNextSibling(); + while ((node != null) && node.getNodeName().equals("#text")) + { + node = node.getNextSibling(); + } + } + + buildAxisIteratorDomain(); } public String toRasQL() { - return ""; + String result = "condense " + op.toRasQL() + " over "; + result += axisIteratorString; + if (where != null) + result += where.toRasQL(); + result += " using " + using.toRasQL(); + return result; } + + /* Concatenates all the AxisIterators into one large multi-dimensional object, + * that will be used to build to RasQL query */ + private void buildAxisIteratorDomain() + { + axisIteratorString = ""; + axisIteratorString += newIteratorName + " in ["; + + for (int i = 0; i < iterators.size(); i++) + { + if (i > 0) + axisIteratorString += ", "; + AxisIterator ai = iterators.elementAt(i); + axisIteratorString += ai.getInterval(); + } + + axisIteratorString += "]"; + } } diff --git a/src/wcps/server/core/ConstantCoverageExpr.java b/src/wcps/server/core/ConstantCoverageExpr.java index 17634bf..fca04c2 100644 --- a/src/wcps/server/core/ConstantCoverageExpr.java +++ b/src/wcps/server/core/ConstantCoverageExpr.java @@ -23,24 +23,156 @@ package wcps.server.core; +import java.util.HashSet; +import java.util.Iterator; +import java.util.LinkedList; +import java.util.List; +import java.util.Vector; import org.w3c.dom.*; -// TODO: implement class ConstantCoverageExprType public class ConstantCoverageExpr implements IRasNode, ICoverageInfo { + private String covName; + private Vector iterators; + private ConstantList valueList; + private CoverageInfo info; + private String axisIteratorString; + private int requiredListSize = 1; + public ConstantCoverageExpr(Node node, XmlQuery xq) throws WCPSException - { - throw new WCPSException("Method not implemented"); + { + while ((node != null) && node.getNodeName().equals("#text")) + { + node = node.getNextSibling(); + } + + iterators = new Vector(); + System.err.println("Parsing Constant Coverage Expr: " + node.getNodeName()); + + while (node != null) + { + String name = node.getNodeName(); + if (name.equals("name")) + covName = node.getTextContent(); + else + if (name.equals("axisIterator")) + { + AxisIterator it = new AxisIterator(node.getFirstChild(), xq, "temp"); + iterators.add(it); + } + else + { + valueList = new ConstantList(node, xq); + node = valueList.getLastNode(); + } + + node = node.getNextSibling(); + while ((node != null) && node.getNodeName().equals("#text")) + { + node = node.getNextSibling(); + } + } + + buildMetadata(xq); + buildAxisIteratorDomain(); + + // Sanity check: dimensions should match number of constants in the list + if (valueList.getSize() != requiredListSize) + throw new WCPSException("The number of constants in the list do " + + "not match the dimensions specified !"); + // Sanity check: metadata should have already been build + if (info == null) + throw new WCPSException("Could not build constant coverage metadata !!!"); } + public String toRasQL() { - return ""; + String result = "< "; + result += axisIteratorString + " "; + result += valueList.toRasQL(); + result += ">"; + + return result; } public CoverageInfo getCoverageInfo() { - return null; + return info; } + + /* Concatenates all the AxisIterators into one large multi-dimensional object, + * that will be used to build to RasQL query. Also counts how many elements + * fit in the specified dimensions. */ + private void buildAxisIteratorDomain() + { + requiredListSize = 1; + axisIteratorString = ""; + axisIteratorString += "["; + + for (int i = 0; i < iterators.size(); i++) + { + if (i > 0) + axisIteratorString += ", "; + AxisIterator ai = iterators.elementAt(i); + axisIteratorString += ai.getInterval(); + requiredListSize *= (ai.getHigh().intValue() - ai.getLow().intValue() + 1); + } + + axisIteratorString += "]"; + + System.err.println("Axes for ConstantCoverage tell us that the constant" + + "list should have exactly " + requiredListSize + " elements !"); + } + + /** Builds full metadata for the newly constructed coverage **/ + private void buildMetadata(XmlQuery xq) throws WCPSException + { + List cellDomainList = new LinkedList(); + List rangeList = new LinkedList(); + HashSet nullSet = new HashSet(); + String nullDefault = "0"; + nullSet.add(nullDefault); + HashSet interpolationSet = new HashSet(); + InterpolationMethod interpolationDefault = new InterpolationMethod("none", "none"); + interpolationSet.add(interpolationDefault); + String coverageName = covName; + List domainList = new LinkedList(); + + Iterator i = iterators.iterator(); + while (i.hasNext()) + { + // Build domain metadata + AxisIterator ai = i.next(); + cellDomainList.add(new CellDomainElement( ai.getLow(), ai.getHigh())); + String axisName = ai.getVar(); + String axisType = ai.getAxisType(); + String crs = DomainElement.IMAGE_CRS; + HashSet crsset = new HashSet(); + crsset.add(crs); + DomainElement domain = new DomainElement(axisName, axisType, + ai.getLow().doubleValue(), ai.getHigh().doubleValue(), + null, null, crsset); + domainList.add(domain); + } + // TODO: check element datatypes and their consistency + // "unsigned int" is default datatype + rangeList.add(new RangeElement("dynamic_type", "unsigned int")); + + try + { + Metadata metadata = new Metadata(cellDomainList, rangeList, nullSet, + nullDefault, interpolationSet, interpolationDefault, + coverageName, domainList); + // Let the top-level query know the full metadata about us + xq.getMetadataSource().addDynamicMetadata(covName, metadata); + info = new CoverageInfo(metadata); + } + catch (InvalidMetadataException e) + { + throw new WCPSException("Could not build coverage '" + covName + + "' metadata !", e); + } + } } diff --git a/src/wcps/server/core/ConstantList.java b/src/wcps/server/core/ConstantList.java new file mode 100644 index 0000000..a14e10b --- /dev/null +++ b/src/wcps/server/core/ConstantList.java @@ -0,0 +1,115 @@ +/* + * This file is part of PetaScope. + * + * PetaScope is free software: you can redistribute it and/or modify + * it under the terms of the GNU Lesser General Public License as + * published by the Free Software Foundation, either version 3 of + * the License, or (at your option) any later version. + * + * PetaScope is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU Lesser General Public License for more details. + * + * You should have received a copy of the GNU Lesser General Public + * License along with PetaScope. If not, see . + * + * For more information please see + * or contact Peter Baumann via . + * + * Copyright 2009 Jacobs University Bremen, Peter Baumann. + */ + + +package wcps.server.core; + +import java.math.BigInteger; +import java.util.ArrayList; +import org.w3c.dom.*; + +public class ConstantList implements IRasNode +{ + private ArrayList list; + private String val; + private Node lastNode; + + public ConstantList(Node node, XmlQuery xq) throws WCPSException + { + list = new ArrayList(); + + while ((node != null) && node.getNodeName().equals("#text")) + { + node = node.getNextSibling(); + } + System.err.println("Trying to parse ConstantList "); + + while (node != null) + { + String nodeName = node.getNodeName(); + + if (nodeName.equals("value")) + { + val = node.getTextContent(); + checkConstant(val); + list.add(val); + lastNode = node; + } + else + throw new WCPSException("Unknown node in ConstantList: " + nodeName); + + node = node.getNextSibling(); + while ((node != null) && node.getNodeName().equals("#text")) + { + node = node.getNextSibling(); + } + } + + System.err.println("Parsed constant list with " + list.size() + " elements !"); + } + + private void checkConstant(String val) throws WCPSException + { + boolean ok = false; + try + { + Integer.parseInt(val); + ok = true; + } + catch (NumberFormatException e1){} + try + { + Float.parseFloat(val); + ok = true; + } + catch (NumberFormatException e2){} + try + { + new ComplexConstant(val); + ok = true; + } + catch (WCPSException e1){} + + if (ok == false) + throw new WCPSException("'" + val + "' is not an integer, float, or complex constant !"); + } + + public String toRasQL() + { + String result = list.get(0); + for (int i = 1; i < list.size(); i++) + result += ", " + list.get(i); + return result; + } + + /** Size of all elements in the constant list **/ + public int getSize() + { + return list.size(); + } + + /** Return the last node of the constant list. **/ + public Node getLastNode() + { + return lastNode; + } +} diff --git a/src/wcps/server/core/ConstructCoverageExpr.java b/src/wcps/server/core/ConstructCoverageExpr.java index 377066f..b93b5de 100644 --- a/src/wcps/server/core/ConstructCoverageExpr.java +++ b/src/wcps/server/core/ConstructCoverageExpr.java @@ -37,6 +37,8 @@ public class ConstructCoverageExpr implements IRasNode, ICoverageInfo private Vector iterators; private IRasNode values; private CoverageInfo info; + private String axisIteratorString; + private String newIteratorName; public ConstructCoverageExpr(Node node, XmlQuery xq) @@ -49,6 +51,7 @@ public class ConstructCoverageExpr implements IRasNode, ICoverageInfo iterators = new Vector(); System.err.println("Parsing Construct Coverage Expr: " + node.getNodeName()); + newIteratorName = xq.registerNewExpressionWithVariables(); while (node != null) { @@ -58,11 +61,11 @@ public class ConstructCoverageExpr implements IRasNode, ICoverageInfo else if (name.equals("axisIterator")) { - AxisIterator it = new AxisIterator(node.getFirstChild(), xq); + AxisIterator it = new AxisIterator(node.getFirstChild(), xq, newIteratorName); iterators.add(it); // Top level structures need to know about these iterators CoverageIterator dyn = new CoverageIterator(it.getVar(), covName); - xq.addDynamicIterator(dyn); + xq.addDynamicCoverageIterator(dyn); } else { @@ -83,6 +86,8 @@ public class ConstructCoverageExpr implements IRasNode, ICoverageInfo } } + buildAxisIteratorDomain(); + // Sanity check: metadata should have already been build if (info == null) throw new WCPSException("Could not build coverage metadata !!!"); @@ -91,11 +96,7 @@ public class ConstructCoverageExpr implements IRasNode, ICoverageInfo public String toRasQL() { String result = "marray "; - result += iterators.elementAt(0).toRasQL(); - for (int i = 1; i < iterators.size(); i++) - { - result += ", " + iterators.elementAt(i).toRasQL(); - } + result += axisIteratorString; result += " values " + values.toRasQL(); return result; @@ -106,6 +107,24 @@ public class ConstructCoverageExpr implements IRasNode, ICoverageInfo return info; } + /* Concatenates all the AxisIterators into one large multi-dimensional object, + * that will be used to build to RasQL query */ + private void buildAxisIteratorDomain() + { + axisIteratorString = ""; + axisIteratorString += newIteratorName + " in ["; + + for (int i = 0; i < iterators.size(); i++) + { + if (i > 0) + axisIteratorString += ", "; + AxisIterator ai = iterators.elementAt(i); + axisIteratorString += ai.getInterval(); + } + + axisIteratorString += "]"; + } + /** Builds full metadata for the newly constructed coverage **/ private void buildMetadata(XmlQuery xq) throws WCPSException { diff --git a/src/wcps/server/core/CoverageExpr.java b/src/wcps/server/core/CoverageExpr.java index bb6f5c1..236c188 100644 --- a/src/wcps/server/core/CoverageExpr.java +++ b/src/wcps/server/core/CoverageExpr.java @@ -34,6 +34,7 @@ public class CoverageExpr implements IRasNode, ICoverageInfo private IRasNode child; private String childInfo; private CoverageInfo info; +// private String var; private boolean simpleCoverage; // True is the coverage is just a string public CoverageExpr(Node node, XmlQuery xq) throws WCPSException @@ -102,6 +103,10 @@ public class CoverageExpr implements IRasNode, ICoverageInfo // TODO: implement class ConstantCoverageExprType child = new ConstantCoverageExpr(node.getFirstChild(), xq); } +// else if (nodeName.equals("variableRef")) +// { +// child = new VariableReference(node, xq); +// } else { // Try one of the groups child = null; diff --git a/src/wcps/server/core/NumericScalarExpr.java b/src/wcps/server/core/NumericScalarExpr.java index c241ac6..6a7abff 100644 --- a/src/wcps/server/core/NumericScalarExpr.java +++ b/src/wcps/server/core/NumericScalarExpr.java @@ -38,7 +38,7 @@ public class NumericScalarExpr implements IRasNode op = ""; - System.out.println("Trying to parse numeric scalar expression ..."); + System.err.println("Trying to parse numeric scalar expression ..."); if (nodeName.equals("numericConstant")) { @@ -91,7 +91,21 @@ public class NumericScalarExpr implements IRasNode System.err.println("Failed to parse a numeric expression pair !"); } } - + else if (nodeName.equals("variableRef")) + { + try + { + op = code(nodeName); + twoChildren = false; + first = new VariableReference(node, xq); + System.err.println("Matched variable reference: " + first.toRasQL()); + } + catch (WCPSException e) + { + System.err.println("Failed to match variable reference: " + + e.toString()); + } + } else { throw new WCPSException("Unexpected Numeric Scalar Expression node : " @@ -102,7 +116,9 @@ public class NumericScalarExpr implements IRasNode public String toRasQL() { String result = ""; - if (op.equals("value")) + if (op.equals("variable")) + result = first.toRasQL(); + else if (op.equals("value")) result = value; else if ((twoChildren==false) && (op.equals("-"))) result = "-" + first.toRasQL(); @@ -133,6 +149,8 @@ public class NumericScalarExpr implements IRasNode if (name.equals("condense") || name.equals("reduce") || name.equals("complexConstant")) op = "child"; + if (name.equals("variableRef")) + op = "variable"; return op; } diff --git a/src/wcps/server/core/ScalarExpr.java b/src/wcps/server/core/ScalarExpr.java index 6247db7..a5338f1 100644 --- a/src/wcps/server/core/ScalarExpr.java +++ b/src/wcps/server/core/ScalarExpr.java @@ -27,11 +27,7 @@ import org.w3c.dom.*; public class ScalarExpr implements IRasNode { -// private IRasNode first, second; private IRasNode child; -// private String op; -// private String type; // can be simple (just a value), unary, binary, function or defered -// private String value; public ScalarExpr(Node node, XmlQuery xq) throws WCPSException { diff --git a/src/wcps/server/core/SliceCoverageExpr.java b/src/wcps/server/core/SliceCoverageExpr.java index ef20c86..a2c4f79 100644 --- a/src/wcps/server/core/SliceCoverageExpr.java +++ b/src/wcps/server/core/SliceCoverageExpr.java @@ -97,19 +97,30 @@ public class SliceCoverageExpr implements IRasNode, ICoverageInfo Iterator i = axisList.iterator(); DimensionPointElement axis; int axisId; - int slicingPos; + int slicingPosInt; + String slicingPosStr; while (i.hasNext()) { axis = i.next(); axisId = coverageInfo.getDomainIndexByName(axis.getAxisName()); - slicingPos = Integer.parseInt(axis.getSlicingPosition()); - dim[axisId] = "" + slicingPos; - coverageInfo.setCellDimension( - axisId, - new CellDomainElement( - BigInteger.valueOf(slicingPos), BigInteger.valueOf(slicingPos))); - } + slicingPosStr = axis.getSlicingPosition(); + dim[axisId] = slicingPosStr; + // Slicing position can be a constant number or a variable reference + try + { + slicingPosInt = Integer.parseInt(slicingPosStr); + } + catch (NumberFormatException e) + { + slicingPosInt = 1; + } + coverageInfo.setCellDimension( + axisId, + new CellDomainElement( + BigInteger.valueOf(slicingPosInt), BigInteger.valueOf(slicingPosInt))); + + } } diff --git a/src/wcps/server/core/VariableReference.java b/src/wcps/server/core/VariableReference.java new file mode 100644 index 0000000..09a1a3e --- /dev/null +++ b/src/wcps/server/core/VariableReference.java @@ -0,0 +1,62 @@ +/* + * This file is part of PetaScope. + * + * PetaScope is free software: you can redistribute it and/or modify + * it under the terms of the GNU Lesser General Public License as + * published by the Free Software Foundation, either version 3 of + * the License, or (at your option) any later version. + * + * PetaScope is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU Lesser General Public License for more details. + * + * You should have received a copy of the GNU Lesser General Public + * License along with PetaScope. If not, see . + * + * For more information please see + * or contact Peter Baumann via . + * + * Copyright 2009 Jacobs University Bremen, Peter Baumann. + */ + + +package wcps.server.core; + +import org.w3c.dom.*; + +public class VariableReference implements IRasNode +{ + private String name; + private String translatedName; + + public VariableReference(Node node, XmlQuery xq) throws WCPSException + { + System.err.println("Parsing variable reference: " + node.getNodeName()); + + while ((node != null) && node.getNodeName().equals("#text")) + { + node = node.getNextSibling(); + } + + if (node != null && node.getNodeName().equals("variableRef")) + { + name = node.getTextContent(); + translatedName = xq.getReferenceVariableName(name); + System.err.println("Variable " + name + " has been renamed into " + + translatedName); + } + else + throw new WCPSException("Could not find any variable reference !"); + } + + public String getName() + { + return name; + } + + public String toRasQL() + { + return translatedName; + } +} diff --git a/src/wcps/server/core/WCPS.java b/src/wcps/server/core/WCPS.java index 5677d18..ce6cf5e 100644 --- a/src/wcps/server/core/WCPS.java +++ b/src/wcps/server/core/WCPS.java @@ -62,18 +62,20 @@ public class WCPS { try { + System.out.println("WCPS: Loading and parsing XML Schema ..."); DocumentBuilderFactory dbconfig = DocumentBuilderFactory.newInstance(); dbconfig.setValidating(false); // use XML schema not DTD dbconfig.setIgnoringComments(true); // comments are not relevant dbconfig.setIgnoringElementContentWhitespace(true); // remve the ignorable whitespace - Schema wcpsProcessCoverageSchema = - SchemaFactory.newInstance( - XMLConstants.W3C_XML_SCHEMA_NS_URI).newSchema(pcSchema); +// Schema wcpsProcessCoverageSchema = +// SchemaFactory.newInstance( +// XMLConstants.W3C_XML_SCHEMA_NS_URI).newSchema(pcSchema); - dbconfig.setSchema(wcpsProcessCoverageSchema); +// dbconfig.setSchema(wcpsProcessCoverageSchema); wcpsDocumentBuilder = dbconfig.newDocumentBuilder(); + System.out.println("WCPS: Finished loading the schema !"); } catch (Exception e) { diff --git a/src/wcps/server/core/XmlQuery.java b/src/wcps/server/core/XmlQuery.java index 603f4b1..d6355da 100644 --- a/src/wcps/server/core/XmlQuery.java +++ b/src/wcps/server/core/XmlQuery.java @@ -26,13 +26,14 @@ package wcps.server.core; import org.w3c.dom.*; import java.util.ArrayList; +import java.util.HashMap; import java.util.Iterator; /** * * @author Andrei Aiordachioaie */ -class XmlQuery implements IRasNode +public class XmlQuery implements IRasNode { private String mime; private ArrayList iterators; @@ -40,6 +41,25 @@ class XmlQuery implements IRasNode private IRasNode coverageExpr; private IDynamicMetadataSource meta; private ArrayList dynamicIterators; + /* Variables used in the XML query are renamed. The renaming is explained below. + * + * Variables declared in the same expression (construct, const, condense) + will be collapsed into one multidimensional variable name. For + "construct img over $px x(1:10), $py y(1:10) values ... ", the variables could + be translated as: $px -> "iteratorA[0]", $py -> "iteratorA[1]". + * Variables declared in different expression will have different prefixes, + built from "varPrefix" + "varStart". + * + + * Used in condenser, construct and constant coverage expressions. */ + + // VariableIndexCount stores the dimensionality of each renamed variable + private HashMap varDimension; + // VariableNewName is used to translate the old var name into the multi-dim var name + private HashMap variableTranslator; + + private String varPrefix = "i"; + private char varSuffix = 'i'; public String getMimeType() { @@ -50,6 +70,19 @@ class XmlQuery implements IRasNode { super(); this.meta = source; + iterators = new ArrayList(); + dynamicIterators = new ArrayList(); + variableTranslator = new HashMap(); + varDimension = new HashMap(); + } + + public XmlQuery(Node node) throws WCPSException + { + iterators = new ArrayList(); + dynamicIterators = new ArrayList(); + variableTranslator = new HashMap(); + varDimension = new HashMap(); + this.startParsing(node); } public void startParsing(Node node) throws WCPSException @@ -57,8 +90,7 @@ class XmlQuery implements IRasNode System.err.println("Processing XML Request: " + node.getNodeName()); Node x = node.getFirstChild(); - iterators = new ArrayList(); - dynamicIterators = new ArrayList(); + while (x != null) { @@ -97,11 +129,6 @@ class XmlQuery implements IRasNode } } - public XmlQuery(Node node) throws WCPSException - { - this.startParsing(node); - } - public Boolean isIteratorDefined(String iteratorName) { Iterator it = iterators.iterator(); @@ -123,10 +150,10 @@ class XmlQuery implements IRasNode return false; } - /* Stores information about dynamically created iterators. + /* Stores information about dynamically created iterators, as metadata. * For example, from a Construct Coverage expression. */ - public void addDynamicIterator(CoverageIterator i) + public void addDynamicCoverageIterator(CoverageIterator i) { dynamicIterators.add(i); } @@ -168,6 +195,45 @@ class XmlQuery implements IRasNode return false; } + /** Creates a new (translated) variable name for an expression that + * has referenceable variables. + * @return String a new variable name assigned + */ + public String registerNewExpressionWithVariables() + { + String name = varPrefix + varSuffix; + varDimension.put(name, 0); + varSuffix++; + return name; + } + + /** Remember a variable that can be referenced in the future. This function + * assigns it a index code, that should then be used to reference that variable + * in the RasQL query. + * + * If the variable is already referenced, then this function does nothing. + * @param name Variable name + */ + public boolean addReferenceVariable(String name, String translatedName) + { + if (varDimension.containsKey(translatedName) == false) + return false; + + Integer index = varDimension.get(translatedName); + Integer newIndex = index + 1; + varDimension.put(translatedName, newIndex); + variableTranslator.put(name, translatedName + "[" + index + "]"); + + return true; + } + + /** Retrieve the translated name assigned to a specific reference (scalar) variable */ + public String getReferenceVariableName(String name) throws WCPSException + { + String newName = variableTranslator.get(name); + return newName; + } + public String toRasQL() { String result = "select " + coverageExpr.toRasQL() + " from "; diff --git a/src/wcps/server/test/FullTestsOnline.java b/src/wcps/server/test/FullTestsOnline.java new file mode 100644 index 0000000..1255789 --- /dev/null +++ b/src/wcps/server/test/FullTestsOnline.java @@ -0,0 +1,323 @@ +/* + * This file is part of PetaScope. + * + * PetaScope is free software: you can redistribute it and/or modify + * it under the terms of the GNU Lesser General Public License as + * published by the Free Software Foundation, either version 3 of + * the License, or (at your option) any later version. + * + * PetaScope is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU Lesser General Public License for more details. + * + * You should have received a copy of the GNU Lesser General Public + * License along with PetaScope. If not, see . + * + * For more information please see + * or contact Peter Baumann via . + * + * Copyright 2009 Jacobs University Bremen, Peter Baumann. + */ + + +package wcps.server.test; + +//~--- non-JDK imports -------------------------------------------------------- + +import org.apache.commons.io.FileUtils; + +//~--- JDK imports ------------------------------------------------------------ + +import java.io.BufferedReader; +import java.io.DataOutputStream; +import java.io.File; +import java.io.FilenameFilter; +import java.io.IOException; +import java.io.InputStreamReader; + +import java.net.HttpURLConnection; +import java.net.MalformedURLException; +import java.net.URL; +import java.net.URLEncoder; +import java.util.HashMap; +import wcps.server.cli.grammar; +import wcps.server.cli.xml; + +/** + * Runs all available tests against a deployed version of Petascope, + * available at some URL. In particular, here are the steps for each test: + * 1) Convert abstract syntax query to XML query + * 2) Convert XML query to a RasQL query + * 3) Send abstract syntax query to PetaScope WCPS + * 4) Send XML query to PetaScope WCPS + * + * Assumes that a tests succeeds if the server does not throw or display + * an error. Saves the intermediate results in a specified path. + * + * @author Andrei Aiordachioaie + */ +public class FullTestsOnline +{ + public final String PetascopeURL = "http://localhost:8080/PetaScope/WCPService"; +// public final String PetascopeURL = "http://localhost:8080/petascope/wcps/"; +// public final String PetascopeURL = "http://kahlua.eecs.jacobs-university.de:8080/petascope/wcps/"; + + // Tests are read from this folder + String folder = "test/testcases-wcps/"; + // How many tests we have to run + int numTests = 0; + // Files are written in this folder + String outputFolder = "test/test-tmp/"; + // How many successes? + int passCount = 0; + // message for tests + String[][] errors; + // success code + boolean[] ok; + // partial success codes + boolean[][] partialOk; + // queries + String[] queries; + // tests + File[] tests; + + public FullTestsOnline() + { + // Find out how many grammar tests we have to run + File dir = new File(folder); + System.out.println("Looking for tests in " + dir.getAbsolutePath() + "\n"); + TestFileFilter filter = new TestFileFilter(); + tests = dir.listFiles(filter); + numTests = tests.length; + + ok = new boolean[numTests]; + partialOk = new boolean[5][numTests]; + errors = new String[5][numTests]; + queries = new String[numTests]; + } + + public void printResults() + { + HashMap strMap = new HashMap(); + strMap.put(true, "ok"); + strMap.put(false, "failed"); + + System.out.println("\n \nRESULTS \n"); + + for (int i = 0; i < numTests; i++) + { + String tname = tests[i].getName(); + tname = tname.substring(0, tname.length() - 5); + + if ( ok[i] == true ) + { + System.out.println("*** Test '" + tname + "' ok"); +// System.out.println("\t" + queries[i]); + } + else + { + System.out.println("*** Test '" + tname + "' FAILED"); + System.out.println("\t * Abstract Syntax -> Xml: " + strMap.get(partialOk[1][i])); + if (partialOk[1][i] == false) + System.out.println("\t\t" + errors[1][i]); +// System.out.println("\t * Xml -> RasQL: " + strMap.get(partialOk[2][i])); +// if (partialOk[2][i] == false) +// System.out.println("\t\t" + errors[2][i]); + System.out.println("\t * Running Abstract Syntax query: " + strMap.get(partialOk[3][i])); + if (partialOk[3][i] == false) + System.out.println("\t\t" + errors[3][i]); + System.out.println("\t * Running XML query: " + strMap.get(partialOk[4][i])); + if (partialOk[4][i] == false) + System.out.println("\t\t" + errors[4][i]); + } + } + System.out.println("\n\nRESULTS\n"); + System.out.println("Tested PetaScope implementation from: " + PetascopeURL); + System.out.println("Tests succeeded: " + String.valueOf(passCount)); + System.out.println("Tests failed: " + String.valueOf(numTests - passCount)); + } + + public void runAllTests() + { + String abstractQuery = ""; + String xmlQuery = ""; + String rasqlQuery = ""; + String tname = ""; + + for (int i = 0; i < numTests; i++) + { + ok[i] = false; + partialOk[1][i] = false; + partialOk[2][i] = true; + partialOk[3][i] = false; + partialOk[4][i] = false; + errors[1][i] = ""; + errors[2][i] = ""; + errors[3][i] = ""; + errors[4][i] = ""; + + tname = tests[i].getName(); + tname = tname.substring(0, tname.length() - 5); + System.out.println("Running test '" + tname + "'..."); + // First of all: read file contents + try + { + abstractQuery = FileUtils.readFileToString(tests[i]); + queries[i] = abstractQuery; + } + catch (IOException e) + { + errors[1][i] = "Could not read file " + tests[i].getName(); + continue; + } + // Step 1: Convert abstract syntax query to XML query, and save files + try + { + xmlQuery = grammar.convertAbstractQueryToXml(abstractQuery); + // Copy abstract syntax query to output folder + File abstractFile = new File(outputFolder + tname + ".test"); + FileUtils.writeStringToFile(abstractFile, abstractQuery); + // Save XML query to a file in output folder + File xmlFile = new File(outputFolder + tname + ".xml"); + FileUtils.writeStringToFile(xmlFile, xmlQuery); + + partialOk[1][i] = true; + } + catch (Exception e) + { + errors[1][i] = e.getMessage(); + } + // Step 2: Convert XML query to RasQL query, and save files +// try +// { +// rasqlQuery = xml.convertXmlToRasql(xmlQuery); +// // Save XML query to a file in output folder +// File rasqlFile = new File(outputFolder + tname + ".rasql"); +// FileUtils.writeStringToFile(rasqlFile, rasqlQuery); +// +// partialOk[2][i] = true; +// } +// catch (Exception e) +// { +// errors[2][i] = e.getMessage(); +// } + // Step 3: Send abstract syntax query to PetaScope WCPS + try + { + String err = runOneTest("query", abstractQuery); + + if ( err == null ) + partialOk[3][i] = true; + else + errors[3][i] = err; + } + catch (Exception e) + { + e.printStackTrace(); + } + // Step 4: Send XML query to PetaScope WCPS + try + { + String err = runOneTest("xml", xmlQuery); + + if ( err == null ) + partialOk[4][i] = true; + else + errors[4][i] = err; + } + catch (Exception e) + { + e.printStackTrace(); + } + + // Wrap up + ok[i] = partialOk[1][i] && partialOk[2][i] && partialOk[3][i] && partialOk[4][i]; + if ( ok[i] == true ) + passCount++; + } + } + + /** + * Send an request to the WCPS server. + * Returns a message on error and null otherwise. + */ + public String runOneTest(String param, String query) throws MalformedURLException, IOException + { +// System.out.println("--------------------"); +// System.out.println(query); +// System.out.println("\t--------------------"); + + // connect to the servlet + URL servlet = new URL(PetascopeURL); + HttpURLConnection conn = (HttpURLConnection) servlet.openConnection(); + + // inform the connection that we will send output and accept input + conn.setDoInput(true); + conn.setDoOutput(true); + + // Don't use a cached version of URL connection. + conn.setUseCaches(false); + conn.setDefaultUseCaches(false); + + // Send POST request + conn.setRequestMethod("POST"); + + // Specify the content type that we will send binary data + conn.setRequestProperty("Content-Type", "application/x-www-form-urlencoded"); + + String data = param + "=" + URLEncoder.encode(query); + DataOutputStream out = new DataOutputStream(conn.getOutputStream()); + + out.writeBytes(data); + out.flush(); + out.close(); + + BufferedReader cgiOutput = new BufferedReader(new InputStreamReader(conn.getInputStream())); + String line1 = cgiOutput.readLine(); + String line2 = cgiOutput.readLine(); + String line3 = cgiOutput.readLine(); + + System.out.println("\t" + line1); + System.out.println("\t" + line2); + System.out.println("\t" + line3); + + if ( (line1 != null) && (line2 != null) && (line3 != null) && line2.equals("

An error has occured

") ) + { + while (cgiOutput.ready()) + System.out.println("\t" + cgiOutput.readLine()); +// System.out.println("Error executing query: "); + String error = line3.substring(10, line3.length() - 4); + +// System.out.println("\t" + error); + return error; + } + else + return null; + + } + + public static void main(String args[]) + { + FullTestsOnline tester = new FullTestsOnline(); + + tester.runAllTests(); + tester.printResults(); + } + + /* Accept all files with extension TEST. */ + private class TestFileFilter implements FilenameFilter + { + @Override + public boolean accept(File dir, String name) + { + if ( name.endsWith("test") ) + { + return true; + } + + return false; + } + } + +} diff --git a/src/wcps/server/test/GrammarTest.java b/src/wcps/server/test/GrammarTest.java index 5ee33eb..d213777 100644 --- a/src/wcps/server/test/GrammarTest.java +++ b/src/wcps/server/test/GrammarTest.java @@ -37,7 +37,7 @@ import wcps.server.cli.grammar; public class GrammarTest { // Put new test cases in this folder following the current naming scheme - String folder = "test/testcases-wcps/"; + String folder = "test/testcases-wcps_dollar/"; // How many tests we have to run int numTests = 0; // tests @@ -119,7 +119,7 @@ public class GrammarTest } try { - grammar.runQuery(query); + grammar.convertAbstractQueryToXml(query); ok[i] = true; } catch (Exception e) diff --git a/src/wcps/server/test/GrammarTestOnline.java b/src/wcps/server/test/GrammarTestOnline.java index fb7388e..8cdc73f 100644 --- a/src/wcps/server/test/GrammarTestOnline.java +++ b/src/wcps/server/test/GrammarTestOnline.java @@ -47,7 +47,7 @@ public class GrammarTestOnline { // Put new test cases in this folder // public final String PetascopeURL = "http://localhost:8080/PetaScope/WCPService"; // public final String PetascopeURL = "http://localhost:8080/petascope/wcps/"; - public final String PetascopeURL = "http://kahlua.eecs.jacobs-university.de:8080/petascope/wcps/"; + public final String PetascopeURL = "http://kahlua.eecs.jacobs-university.de:8080/petascope-new/wcps/"; String folder = "test/testcases-wcps/"; // How many tests we have to run @@ -81,6 +81,7 @@ public class GrammarTestOnline { } } System.out.println("\n\nRESULTS\n"); + System.out.println("Tested PetaScope implementation from: " + PetascopeURL); System.out.println("Tests succeeded: " + String.valueOf(passCount)); System.out.println("Tests failed: " + String.valueOf(numTests - passCount)); } @@ -89,7 +90,7 @@ public class GrammarTestOnline { // Find out how many tests we have to run File dir = new File(folder); System.out.println("Looking for tests in " + dir.getAbsolutePath() + "\n"); - XmlFileFilter filter = new XmlFileFilter(); + TestFileFilter filter = new TestFileFilter(); tests = dir.listFiles(filter); numTests = tests.length; // numTests = 3; @@ -99,7 +100,7 @@ public class GrammarTestOnline { } /* Accept all files with extension TEST. */ - private class XmlFileFilter implements FilenameFilter { + private class TestFileFilter implements FilenameFilter { @Override public boolean accept(File dir, String name) { diff --git a/src/wcps/server/test/XmlTestOnline.java b/src/wcps/server/test/XmlTestOnline.java index 5727df8..752c3c2 100644 --- a/src/wcps/server/test/XmlTestOnline.java +++ b/src/wcps/server/test/XmlTestOnline.java @@ -46,7 +46,7 @@ public class XmlTestOnline { // Put new test cases in this folder // public final String PetascopeURL = "http://localhost:8080/PetaScope/WCPService"; // public final String PetascopeURL = "http://localhost:8080/petascope/wcps/"; - public final String PetascopeURL = "http://kahlua.eecs.jacobs-university.de:8080/petascope/wcps/"; + public final String PetascopeURL = "http://kahlua.eecs.jacobs-university.de:8080/petascope-new/wcps/"; String folder = "test/testcases-wcps/"; // How many tests we have to run @@ -68,7 +68,7 @@ public class XmlTestOnline { for (int i = 0; i < numTests; i++) { String tname = tests[i].getName(); - tname = tname.substring(0, tname.length() - 9); + tname = tname.substring(0, tname.length() - 4); if (ok[i] == true) { System.out.println("*** Test '" + tname + "' ok"); @@ -80,6 +80,7 @@ public class XmlTestOnline { } } System.out.println("\n\nRESULTS\n"); + System.out.println("Tested PetaScope implementation from: " + PetascopeURL); System.out.println("Tests succeeded: " + String.valueOf(passCount)); System.out.println("Tests failed: " + String.valueOf(numTests - passCount)); } @@ -116,7 +117,7 @@ public class XmlTestOnline { { ok[i] = false; tname = tests[i].getName(); - tname = tname.substring(0, tname.length() - 9); + tname = tname.substring(0, tname.length() - 4); System.out.println("Running test '" + tname + "'..."); try { query = FileUtils.readFileToString(tests[i]); -- cgit