|
@@ -25,7 +25,7 @@ class PainlessParser extends Parser {
|
|
|
BWOR=44, BOOLAND=45, BOOLOR=46, COND=47, COLON=48, INCR=49, DECR=50, ASSIGN=51,
|
|
|
AADD=52, ASUB=53, AMUL=54, ADIV=55, AREM=56, AAND=57, AXOR=58, AOR=59,
|
|
|
ALSH=60, ARSH=61, AUSH=62, OCTAL=63, HEX=64, INTEGER=65, DECIMAL=66, STRING=67,
|
|
|
- CHAR=68, TRUE=69, FALSE=70, NULL=71, ID=72, EXTINTEGER=73, EXTID=74;
|
|
|
+ TRUE=68, FALSE=69, NULL=70, ID=71, EXTINTEGER=72, EXTID=73;
|
|
|
public static final int
|
|
|
RULE_source = 0, RULE_statement = 1, RULE_block = 2, RULE_empty = 3, RULE_emptyscope = 4,
|
|
|
RULE_initializer = 5, RULE_afterthought = 6, RULE_declaration = 7, RULE_decltype = 8,
|
|
@@ -50,7 +50,7 @@ class PainlessParser extends Parser {
|
|
|
"'>='", "'=='", "'==='", "'!='", "'!=='", "'&'", "'^'", "'|'", "'&&'",
|
|
|
"'||'", "'?'", "':'", "'++'", "'--'", "'='", "'+='", "'-='", "'*='", "'/='",
|
|
|
"'%='", "'&='", "'^='", "'|='", "'<<='", "'>>='", "'>>>='", null, null,
|
|
|
- null, null, null, null, "'true'", "'false'", "'null'"
|
|
|
+ null, null, null, "'true'", "'false'", "'null'"
|
|
|
};
|
|
|
private static final String[] _SYMBOLIC_NAMES = {
|
|
|
null, "WS", "COMMENT", "LBRACK", "RBRACK", "LBRACE", "RBRACE", "LP", "RP",
|
|
@@ -60,8 +60,8 @@ class PainlessParser extends Parser {
|
|
|
"GTE", "EQ", "EQR", "NE", "NER", "BWAND", "BWXOR", "BWOR", "BOOLAND",
|
|
|
"BOOLOR", "COND", "COLON", "INCR", "DECR", "ASSIGN", "AADD", "ASUB", "AMUL",
|
|
|
"ADIV", "AREM", "AAND", "AXOR", "AOR", "ALSH", "ARSH", "AUSH", "OCTAL",
|
|
|
- "HEX", "INTEGER", "DECIMAL", "STRING", "CHAR", "TRUE", "FALSE", "NULL",
|
|
|
- "ID", "EXTINTEGER", "EXTID"
|
|
|
+ "HEX", "INTEGER", "DECIMAL", "STRING", "TRUE", "FALSE", "NULL", "ID",
|
|
|
+ "EXTINTEGER", "EXTID"
|
|
|
};
|
|
|
public static final Vocabulary VOCABULARY = new VocabularyImpl(_LITERAL_NAMES, _SYMBOLIC_NAMES);
|
|
|
|
|
@@ -151,7 +151,7 @@ class PainlessParser extends Parser {
|
|
|
setState(55);
|
|
|
_errHandler.sync(this);
|
|
|
_la = _input.LA(1);
|
|
|
- } while ( (((_la) & ~0x3f) == 0 && ((1L << _la) & ((1L << LP) | (1L << IF) | (1L << WHILE) | (1L << DO) | (1L << FOR) | (1L << CONTINUE) | (1L << BREAK) | (1L << RETURN) | (1L << NEW) | (1L << TRY) | (1L << THROW) | (1L << BOOLNOT) | (1L << BWNOT) | (1L << ADD) | (1L << SUB) | (1L << INCR) | (1L << DECR) | (1L << OCTAL))) != 0) || ((((_la - 64)) & ~0x3f) == 0 && ((1L << (_la - 64)) & ((1L << (HEX - 64)) | (1L << (INTEGER - 64)) | (1L << (DECIMAL - 64)) | (1L << (STRING - 64)) | (1L << (CHAR - 64)) | (1L << (TRUE - 64)) | (1L << (FALSE - 64)) | (1L << (NULL - 64)) | (1L << (ID - 64)))) != 0) );
|
|
|
+ } while ( (((_la) & ~0x3f) == 0 && ((1L << _la) & ((1L << LP) | (1L << IF) | (1L << WHILE) | (1L << DO) | (1L << FOR) | (1L << CONTINUE) | (1L << BREAK) | (1L << RETURN) | (1L << NEW) | (1L << TRY) | (1L << THROW) | (1L << BOOLNOT) | (1L << BWNOT) | (1L << ADD) | (1L << SUB) | (1L << INCR) | (1L << DECR) | (1L << OCTAL))) != 0) || ((((_la - 64)) & ~0x3f) == 0 && ((1L << (_la - 64)) & ((1L << (HEX - 64)) | (1L << (INTEGER - 64)) | (1L << (DECIMAL - 64)) | (1L << (STRING - 64)) | (1L << (TRUE - 64)) | (1L << (FALSE - 64)) | (1L << (NULL - 64)) | (1L << (ID - 64)))) != 0) );
|
|
|
setState(57);
|
|
|
match(EOF);
|
|
|
}
|
|
@@ -458,7 +458,7 @@ class PainlessParser extends Parser {
|
|
|
match(LP);
|
|
|
setState(88);
|
|
|
_la = _input.LA(1);
|
|
|
- if ((((_la) & ~0x3f) == 0 && ((1L << _la) & ((1L << LP) | (1L << NEW) | (1L << BOOLNOT) | (1L << BWNOT) | (1L << ADD) | (1L << SUB) | (1L << INCR) | (1L << DECR) | (1L << OCTAL))) != 0) || ((((_la - 64)) & ~0x3f) == 0 && ((1L << (_la - 64)) & ((1L << (HEX - 64)) | (1L << (INTEGER - 64)) | (1L << (DECIMAL - 64)) | (1L << (STRING - 64)) | (1L << (CHAR - 64)) | (1L << (TRUE - 64)) | (1L << (FALSE - 64)) | (1L << (NULL - 64)) | (1L << (ID - 64)))) != 0)) {
|
|
|
+ if ((((_la) & ~0x3f) == 0 && ((1L << _la) & ((1L << LP) | (1L << NEW) | (1L << BOOLNOT) | (1L << BWNOT) | (1L << ADD) | (1L << SUB) | (1L << INCR) | (1L << DECR) | (1L << OCTAL))) != 0) || ((((_la - 64)) & ~0x3f) == 0 && ((1L << (_la - 64)) & ((1L << (HEX - 64)) | (1L << (INTEGER - 64)) | (1L << (DECIMAL - 64)) | (1L << (STRING - 64)) | (1L << (TRUE - 64)) | (1L << (FALSE - 64)) | (1L << (NULL - 64)) | (1L << (ID - 64)))) != 0)) {
|
|
|
{
|
|
|
setState(87);
|
|
|
initializer();
|
|
@@ -469,7 +469,7 @@ class PainlessParser extends Parser {
|
|
|
match(SEMICOLON);
|
|
|
setState(92);
|
|
|
_la = _input.LA(1);
|
|
|
- if ((((_la) & ~0x3f) == 0 && ((1L << _la) & ((1L << LP) | (1L << NEW) | (1L << BOOLNOT) | (1L << BWNOT) | (1L << ADD) | (1L << SUB) | (1L << INCR) | (1L << DECR) | (1L << OCTAL))) != 0) || ((((_la - 64)) & ~0x3f) == 0 && ((1L << (_la - 64)) & ((1L << (HEX - 64)) | (1L << (INTEGER - 64)) | (1L << (DECIMAL - 64)) | (1L << (STRING - 64)) | (1L << (CHAR - 64)) | (1L << (TRUE - 64)) | (1L << (FALSE - 64)) | (1L << (NULL - 64)) | (1L << (ID - 64)))) != 0)) {
|
|
|
+ if ((((_la) & ~0x3f) == 0 && ((1L << _la) & ((1L << LP) | (1L << NEW) | (1L << BOOLNOT) | (1L << BWNOT) | (1L << ADD) | (1L << SUB) | (1L << INCR) | (1L << DECR) | (1L << OCTAL))) != 0) || ((((_la - 64)) & ~0x3f) == 0 && ((1L << (_la - 64)) & ((1L << (HEX - 64)) | (1L << (INTEGER - 64)) | (1L << (DECIMAL - 64)) | (1L << (STRING - 64)) | (1L << (TRUE - 64)) | (1L << (FALSE - 64)) | (1L << (NULL - 64)) | (1L << (ID - 64)))) != 0)) {
|
|
|
{
|
|
|
setState(91);
|
|
|
expression(0);
|
|
@@ -480,7 +480,7 @@ class PainlessParser extends Parser {
|
|
|
match(SEMICOLON);
|
|
|
setState(96);
|
|
|
_la = _input.LA(1);
|
|
|
- if ((((_la) & ~0x3f) == 0 && ((1L << _la) & ((1L << LP) | (1L << NEW) | (1L << BOOLNOT) | (1L << BWNOT) | (1L << ADD) | (1L << SUB) | (1L << INCR) | (1L << DECR) | (1L << OCTAL))) != 0) || ((((_la - 64)) & ~0x3f) == 0 && ((1L << (_la - 64)) & ((1L << (HEX - 64)) | (1L << (INTEGER - 64)) | (1L << (DECIMAL - 64)) | (1L << (STRING - 64)) | (1L << (CHAR - 64)) | (1L << (TRUE - 64)) | (1L << (FALSE - 64)) | (1L << (NULL - 64)) | (1L << (ID - 64)))) != 0)) {
|
|
|
+ if ((((_la) & ~0x3f) == 0 && ((1L << _la) & ((1L << LP) | (1L << NEW) | (1L << BOOLNOT) | (1L << BWNOT) | (1L << ADD) | (1L << SUB) | (1L << INCR) | (1L << DECR) | (1L << OCTAL))) != 0) || ((((_la - 64)) & ~0x3f) == 0 && ((1L << (_la - 64)) & ((1L << (HEX - 64)) | (1L << (INTEGER - 64)) | (1L << (DECIMAL - 64)) | (1L << (STRING - 64)) | (1L << (TRUE - 64)) | (1L << (FALSE - 64)) | (1L << (NULL - 64)) | (1L << (ID - 64)))) != 0)) {
|
|
|
{
|
|
|
setState(95);
|
|
|
afterthought();
|
|
@@ -720,7 +720,7 @@ class PainlessParser extends Parser {
|
|
|
setState(142);
|
|
|
_errHandler.sync(this);
|
|
|
_la = _input.LA(1);
|
|
|
- } while ( (((_la) & ~0x3f) == 0 && ((1L << _la) & ((1L << LP) | (1L << IF) | (1L << WHILE) | (1L << DO) | (1L << FOR) | (1L << CONTINUE) | (1L << BREAK) | (1L << RETURN) | (1L << NEW) | (1L << TRY) | (1L << THROW) | (1L << BOOLNOT) | (1L << BWNOT) | (1L << ADD) | (1L << SUB) | (1L << INCR) | (1L << DECR) | (1L << OCTAL))) != 0) || ((((_la - 64)) & ~0x3f) == 0 && ((1L << (_la - 64)) & ((1L << (HEX - 64)) | (1L << (INTEGER - 64)) | (1L << (DECIMAL - 64)) | (1L << (STRING - 64)) | (1L << (CHAR - 64)) | (1L << (TRUE - 64)) | (1L << (FALSE - 64)) | (1L << (NULL - 64)) | (1L << (ID - 64)))) != 0) );
|
|
|
+ } while ( (((_la) & ~0x3f) == 0 && ((1L << _la) & ((1L << LP) | (1L << IF) | (1L << WHILE) | (1L << DO) | (1L << FOR) | (1L << CONTINUE) | (1L << BREAK) | (1L << RETURN) | (1L << NEW) | (1L << TRY) | (1L << THROW) | (1L << BOOLNOT) | (1L << BWNOT) | (1L << ADD) | (1L << SUB) | (1L << INCR) | (1L << DECR) | (1L << OCTAL))) != 0) || ((((_la - 64)) & ~0x3f) == 0 && ((1L << (_la - 64)) & ((1L << (HEX - 64)) | (1L << (INTEGER - 64)) | (1L << (DECIMAL - 64)) | (1L << (STRING - 64)) | (1L << (TRUE - 64)) | (1L << (FALSE - 64)) | (1L << (NULL - 64)) | (1L << (ID - 64)))) != 0) );
|
|
|
setState(144);
|
|
|
match(RBRACK);
|
|
|
}
|
|
@@ -747,7 +747,6 @@ class PainlessParser extends Parser {
|
|
|
case INTEGER:
|
|
|
case DECIMAL:
|
|
|
case STRING:
|
|
|
- case CHAR:
|
|
|
case TRUE:
|
|
|
case FALSE:
|
|
|
case NULL:
|
|
@@ -1541,15 +1540,6 @@ class PainlessParser extends Parser {
|
|
|
else return visitor.visitChildren(this);
|
|
|
}
|
|
|
}
|
|
|
- public static class CharContext extends ExpressionContext {
|
|
|
- public TerminalNode CHAR() { return getToken(PainlessParser.CHAR, 0); }
|
|
|
- public CharContext(ExpressionContext ctx) { copyFrom(ctx); }
|
|
|
- @Override
|
|
|
- public <T> T accept(ParseTreeVisitor<? extends T> visitor) {
|
|
|
- if ( visitor instanceof PainlessParserVisitor ) return ((PainlessParserVisitor<? extends T>)visitor).visitChar(this);
|
|
|
- else return visitor.visitChildren(this);
|
|
|
- }
|
|
|
- }
|
|
|
public static class TrueContext extends ExpressionContext {
|
|
|
public TerminalNode TRUE() { return getToken(PainlessParser.TRUE, 0); }
|
|
|
public TrueContext(ExpressionContext ctx) { copyFrom(ctx); }
|
|
@@ -1576,7 +1566,7 @@ class PainlessParser extends Parser {
|
|
|
int _alt;
|
|
|
enterOuterAlt(_localctx, 1);
|
|
|
{
|
|
|
- setState(237);
|
|
|
+ setState(236);
|
|
|
switch ( getInterpreter().adaptivePredict(_input,26,_ctx) ) {
|
|
|
case 1:
|
|
|
{
|
|
@@ -1656,75 +1646,66 @@ class PainlessParser extends Parser {
|
|
|
}
|
|
|
break;
|
|
|
case 6:
|
|
|
- {
|
|
|
- _localctx = new CharContext(_localctx);
|
|
|
- _ctx = _localctx;
|
|
|
- _prevctx = _localctx;
|
|
|
- setState(226);
|
|
|
- match(CHAR);
|
|
|
- }
|
|
|
- break;
|
|
|
- case 7:
|
|
|
{
|
|
|
_localctx = new TrueContext(_localctx);
|
|
|
_ctx = _localctx;
|
|
|
_prevctx = _localctx;
|
|
|
- setState(227);
|
|
|
+ setState(226);
|
|
|
match(TRUE);
|
|
|
}
|
|
|
break;
|
|
|
- case 8:
|
|
|
+ case 7:
|
|
|
{
|
|
|
_localctx = new FalseContext(_localctx);
|
|
|
_ctx = _localctx;
|
|
|
_prevctx = _localctx;
|
|
|
- setState(228);
|
|
|
+ setState(227);
|
|
|
match(FALSE);
|
|
|
}
|
|
|
break;
|
|
|
- case 9:
|
|
|
+ case 8:
|
|
|
{
|
|
|
_localctx = new NullContext(_localctx);
|
|
|
_ctx = _localctx;
|
|
|
_prevctx = _localctx;
|
|
|
- setState(229);
|
|
|
+ setState(228);
|
|
|
match(NULL);
|
|
|
}
|
|
|
break;
|
|
|
- case 10:
|
|
|
+ case 9:
|
|
|
{
|
|
|
_localctx = new PostincContext(_localctx);
|
|
|
_ctx = _localctx;
|
|
|
_prevctx = _localctx;
|
|
|
- setState(230);
|
|
|
+ setState(229);
|
|
|
extstart();
|
|
|
- setState(231);
|
|
|
+ setState(230);
|
|
|
increment();
|
|
|
}
|
|
|
break;
|
|
|
- case 11:
|
|
|
+ case 10:
|
|
|
{
|
|
|
_localctx = new PreincContext(_localctx);
|
|
|
_ctx = _localctx;
|
|
|
_prevctx = _localctx;
|
|
|
- setState(233);
|
|
|
+ setState(232);
|
|
|
increment();
|
|
|
- setState(234);
|
|
|
+ setState(233);
|
|
|
extstart();
|
|
|
}
|
|
|
break;
|
|
|
- case 12:
|
|
|
+ case 11:
|
|
|
{
|
|
|
_localctx = new ExternalContext(_localctx);
|
|
|
_ctx = _localctx;
|
|
|
_prevctx = _localctx;
|
|
|
- setState(236);
|
|
|
+ setState(235);
|
|
|
extstart();
|
|
|
}
|
|
|
break;
|
|
|
}
|
|
|
_ctx.stop = _input.LT(-1);
|
|
|
- setState(277);
|
|
|
+ setState(276);
|
|
|
_errHandler.sync(this);
|
|
|
_alt = getInterpreter().adaptivePredict(_input,28,_ctx);
|
|
|
while ( _alt!=2 && _alt!=org.antlr.v4.runtime.atn.ATN.INVALID_ALT_NUMBER ) {
|
|
@@ -1732,22 +1713,22 @@ class PainlessParser extends Parser {
|
|
|
if ( _parseListeners!=null ) triggerExitRuleEvent();
|
|
|
_prevctx = _localctx;
|
|
|
{
|
|
|
- setState(275);
|
|
|
+ setState(274);
|
|
|
switch ( getInterpreter().adaptivePredict(_input,27,_ctx) ) {
|
|
|
case 1:
|
|
|
{
|
|
|
_localctx = new BinaryContext(new ExpressionContext(_parentctx, _parentState));
|
|
|
pushNewRecursionContext(_localctx, _startState, RULE_expression);
|
|
|
- setState(239);
|
|
|
+ setState(238);
|
|
|
if (!(precpred(_ctx, 12))) throw new FailedPredicateException(this, "precpred(_ctx, 12)");
|
|
|
- setState(240);
|
|
|
+ setState(239);
|
|
|
_la = _input.LA(1);
|
|
|
if ( !((((_la) & ~0x3f) == 0 && ((1L << _la) & ((1L << MUL) | (1L << DIV) | (1L << REM))) != 0)) ) {
|
|
|
_errHandler.recoverInline(this);
|
|
|
} else {
|
|
|
consume();
|
|
|
}
|
|
|
- setState(241);
|
|
|
+ setState(240);
|
|
|
expression(13);
|
|
|
}
|
|
|
break;
|
|
@@ -1755,16 +1736,16 @@ class PainlessParser extends Parser {
|
|
|
{
|
|
|
_localctx = new BinaryContext(new ExpressionContext(_parentctx, _parentState));
|
|
|
pushNewRecursionContext(_localctx, _startState, RULE_expression);
|
|
|
- setState(242);
|
|
|
+ setState(241);
|
|
|
if (!(precpred(_ctx, 11))) throw new FailedPredicateException(this, "precpred(_ctx, 11)");
|
|
|
- setState(243);
|
|
|
+ setState(242);
|
|
|
_la = _input.LA(1);
|
|
|
if ( !(_la==ADD || _la==SUB) ) {
|
|
|
_errHandler.recoverInline(this);
|
|
|
} else {
|
|
|
consume();
|
|
|
}
|
|
|
- setState(244);
|
|
|
+ setState(243);
|
|
|
expression(12);
|
|
|
}
|
|
|
break;
|
|
@@ -1772,16 +1753,16 @@ class PainlessParser extends Parser {
|
|
|
{
|
|
|
_localctx = new BinaryContext(new ExpressionContext(_parentctx, _parentState));
|
|
|
pushNewRecursionContext(_localctx, _startState, RULE_expression);
|
|
|
- setState(245);
|
|
|
+ setState(244);
|
|
|
if (!(precpred(_ctx, 10))) throw new FailedPredicateException(this, "precpred(_ctx, 10)");
|
|
|
- setState(246);
|
|
|
+ setState(245);
|
|
|
_la = _input.LA(1);
|
|
|
if ( !((((_la) & ~0x3f) == 0 && ((1L << _la) & ((1L << LSH) | (1L << RSH) | (1L << USH))) != 0)) ) {
|
|
|
_errHandler.recoverInline(this);
|
|
|
} else {
|
|
|
consume();
|
|
|
}
|
|
|
- setState(247);
|
|
|
+ setState(246);
|
|
|
expression(11);
|
|
|
}
|
|
|
break;
|
|
@@ -1789,16 +1770,16 @@ class PainlessParser extends Parser {
|
|
|
{
|
|
|
_localctx = new CompContext(new ExpressionContext(_parentctx, _parentState));
|
|
|
pushNewRecursionContext(_localctx, _startState, RULE_expression);
|
|
|
- setState(248);
|
|
|
+ setState(247);
|
|
|
if (!(precpred(_ctx, 9))) throw new FailedPredicateException(this, "precpred(_ctx, 9)");
|
|
|
- setState(249);
|
|
|
+ setState(248);
|
|
|
_la = _input.LA(1);
|
|
|
if ( !((((_la) & ~0x3f) == 0 && ((1L << _la) & ((1L << LT) | (1L << LTE) | (1L << GT) | (1L << GTE))) != 0)) ) {
|
|
|
_errHandler.recoverInline(this);
|
|
|
} else {
|
|
|
consume();
|
|
|
}
|
|
|
- setState(250);
|
|
|
+ setState(249);
|
|
|
expression(10);
|
|
|
}
|
|
|
break;
|
|
@@ -1806,16 +1787,16 @@ class PainlessParser extends Parser {
|
|
|
{
|
|
|
_localctx = new CompContext(new ExpressionContext(_parentctx, _parentState));
|
|
|
pushNewRecursionContext(_localctx, _startState, RULE_expression);
|
|
|
- setState(251);
|
|
|
+ setState(250);
|
|
|
if (!(precpred(_ctx, 8))) throw new FailedPredicateException(this, "precpred(_ctx, 8)");
|
|
|
- setState(252);
|
|
|
+ setState(251);
|
|
|
_la = _input.LA(1);
|
|
|
if ( !((((_la) & ~0x3f) == 0 && ((1L << _la) & ((1L << EQ) | (1L << EQR) | (1L << NE) | (1L << NER))) != 0)) ) {
|
|
|
_errHandler.recoverInline(this);
|
|
|
} else {
|
|
|
consume();
|
|
|
}
|
|
|
- setState(253);
|
|
|
+ setState(252);
|
|
|
expression(9);
|
|
|
}
|
|
|
break;
|
|
@@ -1823,11 +1804,11 @@ class PainlessParser extends Parser {
|
|
|
{
|
|
|
_localctx = new BinaryContext(new ExpressionContext(_parentctx, _parentState));
|
|
|
pushNewRecursionContext(_localctx, _startState, RULE_expression);
|
|
|
- setState(254);
|
|
|
+ setState(253);
|
|
|
if (!(precpred(_ctx, 7))) throw new FailedPredicateException(this, "precpred(_ctx, 7)");
|
|
|
- setState(255);
|
|
|
+ setState(254);
|
|
|
match(BWAND);
|
|
|
- setState(256);
|
|
|
+ setState(255);
|
|
|
expression(8);
|
|
|
}
|
|
|
break;
|
|
@@ -1835,11 +1816,11 @@ class PainlessParser extends Parser {
|
|
|
{
|
|
|
_localctx = new BinaryContext(new ExpressionContext(_parentctx, _parentState));
|
|
|
pushNewRecursionContext(_localctx, _startState, RULE_expression);
|
|
|
- setState(257);
|
|
|
+ setState(256);
|
|
|
if (!(precpred(_ctx, 6))) throw new FailedPredicateException(this, "precpred(_ctx, 6)");
|
|
|
- setState(258);
|
|
|
+ setState(257);
|
|
|
match(BWXOR);
|
|
|
- setState(259);
|
|
|
+ setState(258);
|
|
|
expression(7);
|
|
|
}
|
|
|
break;
|
|
@@ -1847,11 +1828,11 @@ class PainlessParser extends Parser {
|
|
|
{
|
|
|
_localctx = new BinaryContext(new ExpressionContext(_parentctx, _parentState));
|
|
|
pushNewRecursionContext(_localctx, _startState, RULE_expression);
|
|
|
- setState(260);
|
|
|
+ setState(259);
|
|
|
if (!(precpred(_ctx, 5))) throw new FailedPredicateException(this, "precpred(_ctx, 5)");
|
|
|
- setState(261);
|
|
|
+ setState(260);
|
|
|
match(BWOR);
|
|
|
- setState(262);
|
|
|
+ setState(261);
|
|
|
expression(6);
|
|
|
}
|
|
|
break;
|
|
@@ -1859,11 +1840,11 @@ class PainlessParser extends Parser {
|
|
|
{
|
|
|
_localctx = new BoolContext(new ExpressionContext(_parentctx, _parentState));
|
|
|
pushNewRecursionContext(_localctx, _startState, RULE_expression);
|
|
|
- setState(263);
|
|
|
+ setState(262);
|
|
|
if (!(precpred(_ctx, 4))) throw new FailedPredicateException(this, "precpred(_ctx, 4)");
|
|
|
- setState(264);
|
|
|
+ setState(263);
|
|
|
match(BOOLAND);
|
|
|
- setState(265);
|
|
|
+ setState(264);
|
|
|
expression(5);
|
|
|
}
|
|
|
break;
|
|
@@ -1871,11 +1852,11 @@ class PainlessParser extends Parser {
|
|
|
{
|
|
|
_localctx = new BoolContext(new ExpressionContext(_parentctx, _parentState));
|
|
|
pushNewRecursionContext(_localctx, _startState, RULE_expression);
|
|
|
- setState(266);
|
|
|
+ setState(265);
|
|
|
if (!(precpred(_ctx, 3))) throw new FailedPredicateException(this, "precpred(_ctx, 3)");
|
|
|
- setState(267);
|
|
|
+ setState(266);
|
|
|
match(BOOLOR);
|
|
|
- setState(268);
|
|
|
+ setState(267);
|
|
|
expression(4);
|
|
|
}
|
|
|
break;
|
|
@@ -1883,22 +1864,22 @@ class PainlessParser extends Parser {
|
|
|
{
|
|
|
_localctx = new ConditionalContext(new ExpressionContext(_parentctx, _parentState));
|
|
|
pushNewRecursionContext(_localctx, _startState, RULE_expression);
|
|
|
- setState(269);
|
|
|
+ setState(268);
|
|
|
if (!(precpred(_ctx, 2))) throw new FailedPredicateException(this, "precpred(_ctx, 2)");
|
|
|
- setState(270);
|
|
|
+ setState(269);
|
|
|
match(COND);
|
|
|
- setState(271);
|
|
|
+ setState(270);
|
|
|
expression(0);
|
|
|
- setState(272);
|
|
|
+ setState(271);
|
|
|
match(COLON);
|
|
|
- setState(273);
|
|
|
+ setState(272);
|
|
|
expression(2);
|
|
|
}
|
|
|
break;
|
|
|
}
|
|
|
}
|
|
|
}
|
|
|
- setState(279);
|
|
|
+ setState(278);
|
|
|
_errHandler.sync(this);
|
|
|
_alt = getInterpreter().adaptivePredict(_input,28,_ctx);
|
|
|
}
|
|
@@ -1946,40 +1927,40 @@ class PainlessParser extends Parser {
|
|
|
ExtstartContext _localctx = new ExtstartContext(_ctx, getState());
|
|
|
enterRule(_localctx, 28, RULE_extstart);
|
|
|
try {
|
|
|
- setState(285);
|
|
|
+ setState(284);
|
|
|
switch ( getInterpreter().adaptivePredict(_input,29,_ctx) ) {
|
|
|
case 1:
|
|
|
enterOuterAlt(_localctx, 1);
|
|
|
{
|
|
|
- setState(280);
|
|
|
+ setState(279);
|
|
|
extprec();
|
|
|
}
|
|
|
break;
|
|
|
case 2:
|
|
|
enterOuterAlt(_localctx, 2);
|
|
|
{
|
|
|
- setState(281);
|
|
|
+ setState(280);
|
|
|
extcast();
|
|
|
}
|
|
|
break;
|
|
|
case 3:
|
|
|
enterOuterAlt(_localctx, 3);
|
|
|
{
|
|
|
- setState(282);
|
|
|
+ setState(281);
|
|
|
extvar();
|
|
|
}
|
|
|
break;
|
|
|
case 4:
|
|
|
enterOuterAlt(_localctx, 4);
|
|
|
{
|
|
|
- setState(283);
|
|
|
+ setState(282);
|
|
|
extnew();
|
|
|
}
|
|
|
break;
|
|
|
case 5:
|
|
|
enterOuterAlt(_localctx, 5);
|
|
|
{
|
|
|
- setState(284);
|
|
|
+ setState(283);
|
|
|
extstring();
|
|
|
}
|
|
|
break;
|
|
@@ -2037,54 +2018,54 @@ class PainlessParser extends Parser {
|
|
|
try {
|
|
|
enterOuterAlt(_localctx, 1);
|
|
|
{
|
|
|
- setState(287);
|
|
|
+ setState(286);
|
|
|
match(LP);
|
|
|
- setState(293);
|
|
|
+ setState(292);
|
|
|
switch ( getInterpreter().adaptivePredict(_input,30,_ctx) ) {
|
|
|
case 1:
|
|
|
{
|
|
|
- setState(288);
|
|
|
+ setState(287);
|
|
|
extprec();
|
|
|
}
|
|
|
break;
|
|
|
case 2:
|
|
|
{
|
|
|
- setState(289);
|
|
|
+ setState(288);
|
|
|
extcast();
|
|
|
}
|
|
|
break;
|
|
|
case 3:
|
|
|
{
|
|
|
- setState(290);
|
|
|
+ setState(289);
|
|
|
extvar();
|
|
|
}
|
|
|
break;
|
|
|
case 4:
|
|
|
{
|
|
|
- setState(291);
|
|
|
+ setState(290);
|
|
|
extnew();
|
|
|
}
|
|
|
break;
|
|
|
case 5:
|
|
|
{
|
|
|
- setState(292);
|
|
|
+ setState(291);
|
|
|
extstring();
|
|
|
}
|
|
|
break;
|
|
|
}
|
|
|
- setState(295);
|
|
|
+ setState(294);
|
|
|
match(RP);
|
|
|
- setState(298);
|
|
|
+ setState(297);
|
|
|
switch ( getInterpreter().adaptivePredict(_input,31,_ctx) ) {
|
|
|
case 1:
|
|
|
{
|
|
|
- setState(296);
|
|
|
+ setState(295);
|
|
|
extdot();
|
|
|
}
|
|
|
break;
|
|
|
case 2:
|
|
|
{
|
|
|
- setState(297);
|
|
|
+ setState(296);
|
|
|
extbrace();
|
|
|
}
|
|
|
break;
|
|
@@ -2140,41 +2121,41 @@ class PainlessParser extends Parser {
|
|
|
try {
|
|
|
enterOuterAlt(_localctx, 1);
|
|
|
{
|
|
|
- setState(300);
|
|
|
+ setState(299);
|
|
|
match(LP);
|
|
|
- setState(301);
|
|
|
+ setState(300);
|
|
|
decltype();
|
|
|
- setState(302);
|
|
|
+ setState(301);
|
|
|
match(RP);
|
|
|
- setState(308);
|
|
|
+ setState(307);
|
|
|
switch ( getInterpreter().adaptivePredict(_input,32,_ctx) ) {
|
|
|
case 1:
|
|
|
{
|
|
|
- setState(303);
|
|
|
+ setState(302);
|
|
|
extprec();
|
|
|
}
|
|
|
break;
|
|
|
case 2:
|
|
|
{
|
|
|
- setState(304);
|
|
|
+ setState(303);
|
|
|
extcast();
|
|
|
}
|
|
|
break;
|
|
|
case 3:
|
|
|
{
|
|
|
- setState(305);
|
|
|
+ setState(304);
|
|
|
extvar();
|
|
|
}
|
|
|
break;
|
|
|
case 4:
|
|
|
{
|
|
|
- setState(306);
|
|
|
+ setState(305);
|
|
|
extnew();
|
|
|
}
|
|
|
break;
|
|
|
case 5:
|
|
|
{
|
|
|
- setState(307);
|
|
|
+ setState(306);
|
|
|
extstring();
|
|
|
}
|
|
|
break;
|
|
@@ -2221,23 +2202,23 @@ class PainlessParser extends Parser {
|
|
|
try {
|
|
|
enterOuterAlt(_localctx, 1);
|
|
|
{
|
|
|
- setState(310);
|
|
|
+ setState(309);
|
|
|
match(LBRACE);
|
|
|
- setState(311);
|
|
|
+ setState(310);
|
|
|
expression(0);
|
|
|
- setState(312);
|
|
|
+ setState(311);
|
|
|
match(RBRACE);
|
|
|
- setState(315);
|
|
|
+ setState(314);
|
|
|
switch ( getInterpreter().adaptivePredict(_input,33,_ctx) ) {
|
|
|
case 1:
|
|
|
{
|
|
|
- setState(313);
|
|
|
+ setState(312);
|
|
|
extdot();
|
|
|
}
|
|
|
break;
|
|
|
case 2:
|
|
|
{
|
|
|
- setState(314);
|
|
|
+ setState(313);
|
|
|
extbrace();
|
|
|
}
|
|
|
break;
|
|
@@ -2280,19 +2261,19 @@ class PainlessParser extends Parser {
|
|
|
try {
|
|
|
enterOuterAlt(_localctx, 1);
|
|
|
{
|
|
|
- setState(317);
|
|
|
+ setState(316);
|
|
|
match(DOT);
|
|
|
- setState(320);
|
|
|
+ setState(319);
|
|
|
switch ( getInterpreter().adaptivePredict(_input,34,_ctx) ) {
|
|
|
case 1:
|
|
|
{
|
|
|
- setState(318);
|
|
|
+ setState(317);
|
|
|
extcall();
|
|
|
}
|
|
|
break;
|
|
|
case 2:
|
|
|
{
|
|
|
- setState(319);
|
|
|
+ setState(318);
|
|
|
extfield();
|
|
|
}
|
|
|
break;
|
|
@@ -2338,21 +2319,21 @@ class PainlessParser extends Parser {
|
|
|
try {
|
|
|
enterOuterAlt(_localctx, 1);
|
|
|
{
|
|
|
- setState(322);
|
|
|
+ setState(321);
|
|
|
match(EXTID);
|
|
|
- setState(323);
|
|
|
+ setState(322);
|
|
|
arguments();
|
|
|
- setState(326);
|
|
|
+ setState(325);
|
|
|
switch ( getInterpreter().adaptivePredict(_input,35,_ctx) ) {
|
|
|
case 1:
|
|
|
{
|
|
|
- setState(324);
|
|
|
+ setState(323);
|
|
|
extdot();
|
|
|
}
|
|
|
break;
|
|
|
case 2:
|
|
|
{
|
|
|
- setState(325);
|
|
|
+ setState(324);
|
|
|
extbrace();
|
|
|
}
|
|
|
break;
|
|
@@ -2397,19 +2378,19 @@ class PainlessParser extends Parser {
|
|
|
try {
|
|
|
enterOuterAlt(_localctx, 1);
|
|
|
{
|
|
|
- setState(328);
|
|
|
+ setState(327);
|
|
|
identifier();
|
|
|
- setState(331);
|
|
|
+ setState(330);
|
|
|
switch ( getInterpreter().adaptivePredict(_input,36,_ctx) ) {
|
|
|
case 1:
|
|
|
{
|
|
|
- setState(329);
|
|
|
+ setState(328);
|
|
|
extdot();
|
|
|
}
|
|
|
break;
|
|
|
case 2:
|
|
|
{
|
|
|
- setState(330);
|
|
|
+ setState(329);
|
|
|
extbrace();
|
|
|
}
|
|
|
break;
|
|
@@ -2454,24 +2435,24 @@ class PainlessParser extends Parser {
|
|
|
try {
|
|
|
enterOuterAlt(_localctx, 1);
|
|
|
{
|
|
|
- setState(333);
|
|
|
+ setState(332);
|
|
|
_la = _input.LA(1);
|
|
|
if ( !(_la==EXTINTEGER || _la==EXTID) ) {
|
|
|
_errHandler.recoverInline(this);
|
|
|
} else {
|
|
|
consume();
|
|
|
}
|
|
|
- setState(336);
|
|
|
+ setState(335);
|
|
|
switch ( getInterpreter().adaptivePredict(_input,37,_ctx) ) {
|
|
|
case 1:
|
|
|
{
|
|
|
- setState(334);
|
|
|
+ setState(333);
|
|
|
extdot();
|
|
|
}
|
|
|
break;
|
|
|
case 2:
|
|
|
{
|
|
|
- setState(335);
|
|
|
+ setState(334);
|
|
|
extbrace();
|
|
|
}
|
|
|
break;
|
|
@@ -2532,22 +2513,22 @@ class PainlessParser extends Parser {
|
|
|
int _alt;
|
|
|
enterOuterAlt(_localctx, 1);
|
|
|
{
|
|
|
- setState(338);
|
|
|
+ setState(337);
|
|
|
match(NEW);
|
|
|
- setState(339);
|
|
|
+ setState(338);
|
|
|
identifier();
|
|
|
- setState(355);
|
|
|
+ setState(354);
|
|
|
switch (_input.LA(1)) {
|
|
|
case LP:
|
|
|
{
|
|
|
{
|
|
|
- setState(340);
|
|
|
+ setState(339);
|
|
|
arguments();
|
|
|
- setState(342);
|
|
|
+ setState(341);
|
|
|
switch ( getInterpreter().adaptivePredict(_input,38,_ctx) ) {
|
|
|
case 1:
|
|
|
{
|
|
|
- setState(341);
|
|
|
+ setState(340);
|
|
|
extdot();
|
|
|
}
|
|
|
break;
|
|
@@ -2558,7 +2539,7 @@ class PainlessParser extends Parser {
|
|
|
case LBRACE:
|
|
|
{
|
|
|
{
|
|
|
- setState(348);
|
|
|
+ setState(347);
|
|
|
_errHandler.sync(this);
|
|
|
_alt = 1;
|
|
|
do {
|
|
@@ -2566,11 +2547,11 @@ class PainlessParser extends Parser {
|
|
|
case 1:
|
|
|
{
|
|
|
{
|
|
|
- setState(344);
|
|
|
+ setState(343);
|
|
|
match(LBRACE);
|
|
|
- setState(345);
|
|
|
+ setState(344);
|
|
|
expression(0);
|
|
|
- setState(346);
|
|
|
+ setState(345);
|
|
|
match(RBRACE);
|
|
|
}
|
|
|
}
|
|
@@ -2578,15 +2559,15 @@ class PainlessParser extends Parser {
|
|
|
default:
|
|
|
throw new NoViableAltException(this);
|
|
|
}
|
|
|
- setState(350);
|
|
|
+ setState(349);
|
|
|
_errHandler.sync(this);
|
|
|
_alt = getInterpreter().adaptivePredict(_input,39,_ctx);
|
|
|
} while ( _alt!=2 && _alt!=org.antlr.v4.runtime.atn.ATN.INVALID_ALT_NUMBER );
|
|
|
- setState(353);
|
|
|
+ setState(352);
|
|
|
switch ( getInterpreter().adaptivePredict(_input,40,_ctx) ) {
|
|
|
case 1:
|
|
|
{
|
|
|
- setState(352);
|
|
|
+ setState(351);
|
|
|
extdot();
|
|
|
}
|
|
|
break;
|
|
@@ -2635,19 +2616,19 @@ class PainlessParser extends Parser {
|
|
|
try {
|
|
|
enterOuterAlt(_localctx, 1);
|
|
|
{
|
|
|
- setState(357);
|
|
|
+ setState(356);
|
|
|
match(STRING);
|
|
|
- setState(360);
|
|
|
+ setState(359);
|
|
|
switch ( getInterpreter().adaptivePredict(_input,42,_ctx) ) {
|
|
|
case 1:
|
|
|
{
|
|
|
- setState(358);
|
|
|
+ setState(357);
|
|
|
extdot();
|
|
|
}
|
|
|
break;
|
|
|
case 2:
|
|
|
{
|
|
|
- setState(359);
|
|
|
+ setState(358);
|
|
|
extbrace();
|
|
|
}
|
|
|
break;
|
|
@@ -2697,34 +2678,34 @@ class PainlessParser extends Parser {
|
|
|
enterOuterAlt(_localctx, 1);
|
|
|
{
|
|
|
{
|
|
|
- setState(362);
|
|
|
+ setState(361);
|
|
|
match(LP);
|
|
|
- setState(371);
|
|
|
+ setState(370);
|
|
|
_la = _input.LA(1);
|
|
|
- if ((((_la) & ~0x3f) == 0 && ((1L << _la) & ((1L << LP) | (1L << NEW) | (1L << BOOLNOT) | (1L << BWNOT) | (1L << ADD) | (1L << SUB) | (1L << INCR) | (1L << DECR) | (1L << OCTAL))) != 0) || ((((_la - 64)) & ~0x3f) == 0 && ((1L << (_la - 64)) & ((1L << (HEX - 64)) | (1L << (INTEGER - 64)) | (1L << (DECIMAL - 64)) | (1L << (STRING - 64)) | (1L << (CHAR - 64)) | (1L << (TRUE - 64)) | (1L << (FALSE - 64)) | (1L << (NULL - 64)) | (1L << (ID - 64)))) != 0)) {
|
|
|
+ if ((((_la) & ~0x3f) == 0 && ((1L << _la) & ((1L << LP) | (1L << NEW) | (1L << BOOLNOT) | (1L << BWNOT) | (1L << ADD) | (1L << SUB) | (1L << INCR) | (1L << DECR) | (1L << OCTAL))) != 0) || ((((_la - 64)) & ~0x3f) == 0 && ((1L << (_la - 64)) & ((1L << (HEX - 64)) | (1L << (INTEGER - 64)) | (1L << (DECIMAL - 64)) | (1L << (STRING - 64)) | (1L << (TRUE - 64)) | (1L << (FALSE - 64)) | (1L << (NULL - 64)) | (1L << (ID - 64)))) != 0)) {
|
|
|
{
|
|
|
- setState(363);
|
|
|
+ setState(362);
|
|
|
expression(0);
|
|
|
- setState(368);
|
|
|
+ setState(367);
|
|
|
_errHandler.sync(this);
|
|
|
_la = _input.LA(1);
|
|
|
while (_la==COMMA) {
|
|
|
{
|
|
|
{
|
|
|
- setState(364);
|
|
|
+ setState(363);
|
|
|
match(COMMA);
|
|
|
- setState(365);
|
|
|
+ setState(364);
|
|
|
expression(0);
|
|
|
}
|
|
|
}
|
|
|
- setState(370);
|
|
|
+ setState(369);
|
|
|
_errHandler.sync(this);
|
|
|
_la = _input.LA(1);
|
|
|
}
|
|
|
}
|
|
|
}
|
|
|
|
|
|
- setState(373);
|
|
|
+ setState(372);
|
|
|
match(RP);
|
|
|
}
|
|
|
}
|
|
@@ -2761,7 +2742,7 @@ class PainlessParser extends Parser {
|
|
|
try {
|
|
|
enterOuterAlt(_localctx, 1);
|
|
|
{
|
|
|
- setState(375);
|
|
|
+ setState(374);
|
|
|
_la = _input.LA(1);
|
|
|
if ( !(_la==INCR || _la==DECR) ) {
|
|
|
_errHandler.recoverInline(this);
|
|
@@ -2817,7 +2798,7 @@ class PainlessParser extends Parser {
|
|
|
}
|
|
|
|
|
|
public static final String _serializedATN =
|
|
|
- "\3\u0430\ud6d1\u8206\uad2d\u4417\uaef1\u8d80\uaadd\3L\u017c\4\2\t\2\4"+
|
|
|
+ "\3\u0430\ud6d1\u8206\uad2d\u4417\uaef1\u8d80\uaadd\3K\u017b\4\2\t\2\4"+
|
|
|
"\3\t\3\4\4\t\4\4\5\t\5\4\6\t\6\4\7\t\7\4\b\t\b\4\t\t\t\4\n\t\n\4\13\t"+
|
|
|
"\13\4\f\t\f\4\r\t\r\4\16\t\16\4\17\t\17\4\20\t\20\4\21\t\21\4\22\t\22"+
|
|
|
"\4\23\t\23\4\24\t\24\4\25\t\25\4\26\t\26\4\27\t\27\4\30\t\30\4\31\t\31"+
|
|
@@ -2834,40 +2815,40 @@ class PainlessParser extends Parser {
|
|
|
"\f\3\r\3\r\5\r\u00c7\n\r\3\16\3\16\3\16\3\16\7\16\u00cd\n\16\f\16\16\16"+
|
|
|
"\u00d0\13\16\3\16\3\16\3\17\3\17\3\17\3\17\3\17\3\17\3\17\3\17\3\17\3"+
|
|
|
"\17\3\17\3\17\3\17\3\17\3\17\3\17\3\17\3\17\3\17\3\17\3\17\3\17\3\17\3"+
|
|
|
- "\17\3\17\3\17\3\17\3\17\5\17\u00f0\n\17\3\17\3\17\3\17\3\17\3\17\3\17"+
|
|
|
+ "\17\3\17\3\17\3\17\5\17\u00ef\n\17\3\17\3\17\3\17\3\17\3\17\3\17\3\17"+
|
|
|
"\3\17\3\17\3\17\3\17\3\17\3\17\3\17\3\17\3\17\3\17\3\17\3\17\3\17\3\17"+
|
|
|
"\3\17\3\17\3\17\3\17\3\17\3\17\3\17\3\17\3\17\3\17\3\17\3\17\3\17\3\17"+
|
|
|
- "\3\17\3\17\7\17\u0116\n\17\f\17\16\17\u0119\13\17\3\20\3\20\3\20\3\20"+
|
|
|
- "\3\20\5\20\u0120\n\20\3\21\3\21\3\21\3\21\3\21\3\21\5\21\u0128\n\21\3"+
|
|
|
- "\21\3\21\3\21\5\21\u012d\n\21\3\22\3\22\3\22\3\22\3\22\3\22\3\22\3\22"+
|
|
|
- "\5\22\u0137\n\22\3\23\3\23\3\23\3\23\3\23\5\23\u013e\n\23\3\24\3\24\3"+
|
|
|
- "\24\5\24\u0143\n\24\3\25\3\25\3\25\3\25\5\25\u0149\n\25\3\26\3\26\3\26"+
|
|
|
- "\5\26\u014e\n\26\3\27\3\27\3\27\5\27\u0153\n\27\3\30\3\30\3\30\3\30\5"+
|
|
|
- "\30\u0159\n\30\3\30\3\30\3\30\3\30\6\30\u015f\n\30\r\30\16\30\u0160\3"+
|
|
|
- "\30\5\30\u0164\n\30\5\30\u0166\n\30\3\31\3\31\3\31\5\31\u016b\n\31\3\32"+
|
|
|
- "\3\32\3\32\3\32\7\32\u0171\n\32\f\32\16\32\u0174\13\32\5\32\u0176\n\32"+
|
|
|
- "\3\32\3\32\3\33\3\33\3\33\2\3\34\34\2\4\6\b\n\f\16\20\22\24\26\30\32\34"+
|
|
|
- "\36 \"$&(*,.\60\62\64\2\f\4\2\32\33\37 \3\2\65@\3\2AD\3\2\34\36\3\2\37"+
|
|
|
- " \3\2!#\3\2$\'\3\2(+\3\2KL\3\2\63\64\u01b9\2\67\3\2\2\2\4\u008a\3\2\2"+
|
|
|
- "\2\6\u0095\3\2\2\2\b\u0099\3\2\2\2\n\u009b\3\2\2\2\f\u00a0\3\2\2\2\16"+
|
|
|
- "\u00a2\3\2\2\2\20\u00a4\3\2\2\2\22\u00ad\3\2\2\2\24\u00b5\3\2\2\2\26\u00ba"+
|
|
|
- "\3\2\2\2\30\u00c4\3\2\2\2\32\u00c8\3\2\2\2\34\u00ef\3\2\2\2\36\u011f\3"+
|
|
|
- "\2\2\2 \u0121\3\2\2\2\"\u012e\3\2\2\2$\u0138\3\2\2\2&\u013f\3\2\2\2(\u0144"+
|
|
|
- "\3\2\2\2*\u014a\3\2\2\2,\u014f\3\2\2\2.\u0154\3\2\2\2\60\u0167\3\2\2\2"+
|
|
|
- "\62\u016c\3\2\2\2\64\u0179\3\2\2\2\668\5\4\3\2\67\66\3\2\2\289\3\2\2\2"+
|
|
|
- "9\67\3\2\2\29:\3\2\2\2:;\3\2\2\2;<\7\2\2\3<\3\3\2\2\2=>\7\16\2\2>?\7\t"+
|
|
|
- "\2\2?@\5\34\17\2@A\7\n\2\2AD\5\6\4\2BC\7\17\2\2CE\5\6\4\2DB\3\2\2\2DE"+
|
|
|
- "\3\2\2\2E\u008b\3\2\2\2FG\7\20\2\2GH\7\t\2\2HI\5\34\17\2IL\7\n\2\2JM\5"+
|
|
|
- "\6\4\2KM\5\b\5\2LJ\3\2\2\2LK\3\2\2\2M\u008b\3\2\2\2NO\7\21\2\2OP\5\6\4"+
|
|
|
- "\2PQ\7\20\2\2QR\7\t\2\2RS\5\34\17\2SU\7\n\2\2TV\7\r\2\2UT\3\2\2\2UV\3"+
|
|
|
- "\2\2\2V\u008b\3\2\2\2WX\7\22\2\2XZ\7\t\2\2Y[\5\f\7\2ZY\3\2\2\2Z[\3\2\2"+
|
|
|
- "\2[\\\3\2\2\2\\^\7\r\2\2]_\5\34\17\2^]\3\2\2\2^_\3\2\2\2_`\3\2\2\2`b\7"+
|
|
|
- "\r\2\2ac\5\16\b\2ba\3\2\2\2bc\3\2\2\2cd\3\2\2\2dg\7\n\2\2eh\5\6\4\2fh"+
|
|
|
- "\5\b\5\2ge\3\2\2\2gf\3\2\2\2h\u008b\3\2\2\2ik\5\20\t\2jl\7\r\2\2kj\3\2"+
|
|
|
- "\2\2kl\3\2\2\2l\u008b\3\2\2\2mo\7\23\2\2np\7\r\2\2on\3\2\2\2op\3\2\2\2"+
|
|
|
- "p\u008b\3\2\2\2qs\7\24\2\2rt\7\r\2\2sr\3\2\2\2st\3\2\2\2t\u008b\3\2\2"+
|
|
|
- "\2uv\7\25\2\2vx\5\34\17\2wy\7\r\2\2xw\3\2\2\2xy\3\2\2\2y\u008b\3\2\2\2"+
|
|
|
- "z{\7\27\2\2{}\5\6\4\2|~\5\26\f\2}|\3\2\2\2~\177\3\2\2\2\177}\3\2\2\2\177"+
|
|
|
+ "\3\17\7\17\u0115\n\17\f\17\16\17\u0118\13\17\3\20\3\20\3\20\3\20\3\20"+
|
|
|
+ "\5\20\u011f\n\20\3\21\3\21\3\21\3\21\3\21\3\21\5\21\u0127\n\21\3\21\3"+
|
|
|
+ "\21\3\21\5\21\u012c\n\21\3\22\3\22\3\22\3\22\3\22\3\22\3\22\3\22\5\22"+
|
|
|
+ "\u0136\n\22\3\23\3\23\3\23\3\23\3\23\5\23\u013d\n\23\3\24\3\24\3\24\5"+
|
|
|
+ "\24\u0142\n\24\3\25\3\25\3\25\3\25\5\25\u0148\n\25\3\26\3\26\3\26\5\26"+
|
|
|
+ "\u014d\n\26\3\27\3\27\3\27\5\27\u0152\n\27\3\30\3\30\3\30\3\30\5\30\u0158"+
|
|
|
+ "\n\30\3\30\3\30\3\30\3\30\6\30\u015e\n\30\r\30\16\30\u015f\3\30\5\30\u0163"+
|
|
|
+ "\n\30\5\30\u0165\n\30\3\31\3\31\3\31\5\31\u016a\n\31\3\32\3\32\3\32\3"+
|
|
|
+ "\32\7\32\u0170\n\32\f\32\16\32\u0173\13\32\5\32\u0175\n\32\3\32\3\32\3"+
|
|
|
+ "\33\3\33\3\33\2\3\34\34\2\4\6\b\n\f\16\20\22\24\26\30\32\34\36 \"$&(*"+
|
|
|
+ ",.\60\62\64\2\f\4\2\32\33\37 \3\2\65@\3\2AD\3\2\34\36\3\2\37 \3\2!#\3"+
|
|
|
+ "\2$\'\3\2(+\3\2JK\3\2\63\64\u01b7\2\67\3\2\2\2\4\u008a\3\2\2\2\6\u0095"+
|
|
|
+ "\3\2\2\2\b\u0099\3\2\2\2\n\u009b\3\2\2\2\f\u00a0\3\2\2\2\16\u00a2\3\2"+
|
|
|
+ "\2\2\20\u00a4\3\2\2\2\22\u00ad\3\2\2\2\24\u00b5\3\2\2\2\26\u00ba\3\2\2"+
|
|
|
+ "\2\30\u00c4\3\2\2\2\32\u00c8\3\2\2\2\34\u00ee\3\2\2\2\36\u011e\3\2\2\2"+
|
|
|
+ " \u0120\3\2\2\2\"\u012d\3\2\2\2$\u0137\3\2\2\2&\u013e\3\2\2\2(\u0143\3"+
|
|
|
+ "\2\2\2*\u0149\3\2\2\2,\u014e\3\2\2\2.\u0153\3\2\2\2\60\u0166\3\2\2\2\62"+
|
|
|
+ "\u016b\3\2\2\2\64\u0178\3\2\2\2\668\5\4\3\2\67\66\3\2\2\289\3\2\2\29\67"+
|
|
|
+ "\3\2\2\29:\3\2\2\2:;\3\2\2\2;<\7\2\2\3<\3\3\2\2\2=>\7\16\2\2>?\7\t\2\2"+
|
|
|
+ "?@\5\34\17\2@A\7\n\2\2AD\5\6\4\2BC\7\17\2\2CE\5\6\4\2DB\3\2\2\2DE\3\2"+
|
|
|
+ "\2\2E\u008b\3\2\2\2FG\7\20\2\2GH\7\t\2\2HI\5\34\17\2IL\7\n\2\2JM\5\6\4"+
|
|
|
+ "\2KM\5\b\5\2LJ\3\2\2\2LK\3\2\2\2M\u008b\3\2\2\2NO\7\21\2\2OP\5\6\4\2P"+
|
|
|
+ "Q\7\20\2\2QR\7\t\2\2RS\5\34\17\2SU\7\n\2\2TV\7\r\2\2UT\3\2\2\2UV\3\2\2"+
|
|
|
+ "\2V\u008b\3\2\2\2WX\7\22\2\2XZ\7\t\2\2Y[\5\f\7\2ZY\3\2\2\2Z[\3\2\2\2["+
|
|
|
+ "\\\3\2\2\2\\^\7\r\2\2]_\5\34\17\2^]\3\2\2\2^_\3\2\2\2_`\3\2\2\2`b\7\r"+
|
|
|
+ "\2\2ac\5\16\b\2ba\3\2\2\2bc\3\2\2\2cd\3\2\2\2dg\7\n\2\2eh\5\6\4\2fh\5"+
|
|
|
+ "\b\5\2ge\3\2\2\2gf\3\2\2\2h\u008b\3\2\2\2ik\5\20\t\2jl\7\r\2\2kj\3\2\2"+
|
|
|
+ "\2kl\3\2\2\2l\u008b\3\2\2\2mo\7\23\2\2np\7\r\2\2on\3\2\2\2op\3\2\2\2p"+
|
|
|
+ "\u008b\3\2\2\2qs\7\24\2\2rt\7\r\2\2sr\3\2\2\2st\3\2\2\2t\u008b\3\2\2\2"+
|
|
|
+ "uv\7\25\2\2vx\5\34\17\2wy\7\r\2\2xw\3\2\2\2xy\3\2\2\2y\u008b\3\2\2\2z"+
|
|
|
+ "{\7\27\2\2{}\5\6\4\2|~\5\26\f\2}|\3\2\2\2~\177\3\2\2\2\177}\3\2\2\2\177"+
|
|
|
"\u0080\3\2\2\2\u0080\u008b\3\2\2\2\u0081\u0082\7\31\2\2\u0082\u0084\5"+
|
|
|
"\34\17\2\u0083\u0085\7\r\2\2\u0084\u0083\3\2\2\2\u0084\u0085\3\2\2\2\u0085"+
|
|
|
"\u008b\3\2\2\2\u0086\u0088\5\34\17\2\u0087\u0089\7\r\2\2\u0088\u0087\3"+
|
|
@@ -2892,77 +2873,77 @@ class PainlessParser extends Parser {
|
|
|
"\2\u00b9\25\3\2\2\2\u00ba\u00bb\7\30\2\2\u00bb\u00bc\7\t\2\2\u00bc\u00bd"+
|
|
|
"\5\30\r\2\u00bd\u00be\5\30\r\2\u00be\u00bf\3\2\2\2\u00bf\u00c2\7\n\2\2"+
|
|
|
"\u00c0\u00c3\5\6\4\2\u00c1\u00c3\5\n\6\2\u00c2\u00c0\3\2\2\2\u00c2\u00c1"+
|
|
|
- "\3\2\2\2\u00c3\27\3\2\2\2\u00c4\u00c6\7J\2\2\u00c5\u00c7\5\32\16\2\u00c6"+
|
|
|
+ "\3\2\2\2\u00c3\27\3\2\2\2\u00c4\u00c6\7I\2\2\u00c5\u00c7\5\32\16\2\u00c6"+
|
|
|
"\u00c5\3\2\2\2\u00c6\u00c7\3\2\2\2\u00c7\31\3\2\2\2\u00c8\u00c9\7$\2\2"+
|
|
|
"\u00c9\u00ce\5\30\r\2\u00ca\u00cb\7\f\2\2\u00cb\u00cd\5\30\r\2\u00cc\u00ca"+
|
|
|
"\3\2\2\2\u00cd\u00d0\3\2\2\2\u00ce\u00cc\3\2\2\2\u00ce\u00cf\3\2\2\2\u00cf"+
|
|
|
"\u00d1\3\2\2\2\u00d0\u00ce\3\2\2\2\u00d1\u00d2\7&\2\2\u00d2\33\3\2\2\2"+
|
|
|
- "\u00d3\u00d4\b\17\1\2\u00d4\u00d5\t\2\2\2\u00d5\u00f0\5\34\17\20\u00d6"+
|
|
|
+ "\u00d3\u00d4\b\17\1\2\u00d4\u00d5\t\2\2\2\u00d5\u00ef\5\34\17\20\u00d6"+
|
|
|
"\u00d7\7\t\2\2\u00d7\u00d8\5\22\n\2\u00d8\u00d9\7\n\2\2\u00d9\u00da\5"+
|
|
|
- "\34\17\17\u00da\u00f0\3\2\2\2\u00db\u00dc\5\36\20\2\u00dc\u00dd\t\3\2"+
|
|
|
- "\2\u00dd\u00de\5\34\17\3\u00de\u00f0\3\2\2\2\u00df\u00e0\7\t\2\2\u00e0"+
|
|
|
- "\u00e1\5\34\17\2\u00e1\u00e2\7\n\2\2\u00e2\u00f0\3\2\2\2\u00e3\u00f0\t"+
|
|
|
- "\4\2\2\u00e4\u00f0\7F\2\2\u00e5\u00f0\7G\2\2\u00e6\u00f0\7H\2\2\u00e7"+
|
|
|
- "\u00f0\7I\2\2\u00e8\u00e9\5\36\20\2\u00e9\u00ea\5\64\33\2\u00ea\u00f0"+
|
|
|
- "\3\2\2\2\u00eb\u00ec\5\64\33\2\u00ec\u00ed\5\36\20\2\u00ed\u00f0\3\2\2"+
|
|
|
- "\2\u00ee\u00f0\5\36\20\2\u00ef\u00d3\3\2\2\2\u00ef\u00d6\3\2\2\2\u00ef"+
|
|
|
- "\u00db\3\2\2\2\u00ef\u00df\3\2\2\2\u00ef\u00e3\3\2\2\2\u00ef\u00e4\3\2"+
|
|
|
- "\2\2\u00ef\u00e5\3\2\2\2\u00ef\u00e6\3\2\2\2\u00ef\u00e7\3\2\2\2\u00ef"+
|
|
|
- "\u00e8\3\2\2\2\u00ef\u00eb\3\2\2\2\u00ef\u00ee\3\2\2\2\u00f0\u0117\3\2"+
|
|
|
- "\2\2\u00f1\u00f2\f\16\2\2\u00f2\u00f3\t\5\2\2\u00f3\u0116\5\34\17\17\u00f4"+
|
|
|
- "\u00f5\f\r\2\2\u00f5\u00f6\t\6\2\2\u00f6\u0116\5\34\17\16\u00f7\u00f8"+
|
|
|
- "\f\f\2\2\u00f8\u00f9\t\7\2\2\u00f9\u0116\5\34\17\r\u00fa\u00fb\f\13\2"+
|
|
|
- "\2\u00fb\u00fc\t\b\2\2\u00fc\u0116\5\34\17\f\u00fd\u00fe\f\n\2\2\u00fe"+
|
|
|
- "\u00ff\t\t\2\2\u00ff\u0116\5\34\17\13\u0100\u0101\f\t\2\2\u0101\u0102"+
|
|
|
- "\7,\2\2\u0102\u0116\5\34\17\n\u0103\u0104\f\b\2\2\u0104\u0105\7-\2\2\u0105"+
|
|
|
- "\u0116\5\34\17\t\u0106\u0107\f\7\2\2\u0107\u0108\7.\2\2\u0108\u0116\5"+
|
|
|
- "\34\17\b\u0109\u010a\f\6\2\2\u010a\u010b\7/\2\2\u010b\u0116\5\34\17\7"+
|
|
|
- "\u010c\u010d\f\5\2\2\u010d\u010e\7\60\2\2\u010e\u0116\5\34\17\6\u010f"+
|
|
|
- "\u0110\f\4\2\2\u0110\u0111\7\61\2\2\u0111\u0112\5\34\17\2\u0112\u0113"+
|
|
|
- "\7\62\2\2\u0113\u0114\5\34\17\4\u0114\u0116\3\2\2\2\u0115\u00f1\3\2\2"+
|
|
|
- "\2\u0115\u00f4\3\2\2\2\u0115\u00f7\3\2\2\2\u0115\u00fa\3\2\2\2\u0115\u00fd"+
|
|
|
- "\3\2\2\2\u0115\u0100\3\2\2\2\u0115\u0103\3\2\2\2\u0115\u0106\3\2\2\2\u0115"+
|
|
|
- "\u0109\3\2\2\2\u0115\u010c\3\2\2\2\u0115\u010f\3\2\2\2\u0116\u0119\3\2"+
|
|
|
- "\2\2\u0117\u0115\3\2\2\2\u0117\u0118\3\2\2\2\u0118\35\3\2\2\2\u0119\u0117"+
|
|
|
- "\3\2\2\2\u011a\u0120\5 \21\2\u011b\u0120\5\"\22\2\u011c\u0120\5*\26\2"+
|
|
|
- "\u011d\u0120\5.\30\2\u011e\u0120\5\60\31\2\u011f\u011a\3\2\2\2\u011f\u011b"+
|
|
|
- "\3\2\2\2\u011f\u011c\3\2\2\2\u011f\u011d\3\2\2\2\u011f\u011e\3\2\2\2\u0120"+
|
|
|
- "\37\3\2\2\2\u0121\u0127\7\t\2\2\u0122\u0128\5 \21\2\u0123\u0128\5\"\22"+
|
|
|
- "\2\u0124\u0128\5*\26\2\u0125\u0128\5.\30\2\u0126\u0128\5\60\31\2\u0127"+
|
|
|
- "\u0122\3\2\2\2\u0127\u0123\3\2\2\2\u0127\u0124\3\2\2\2\u0127\u0125\3\2"+
|
|
|
- "\2\2\u0127\u0126\3\2\2\2\u0128\u0129\3\2\2\2\u0129\u012c\7\n\2\2\u012a"+
|
|
|
- "\u012d\5&\24\2\u012b\u012d\5$\23\2\u012c\u012a\3\2\2\2\u012c\u012b\3\2"+
|
|
|
- "\2\2\u012c\u012d\3\2\2\2\u012d!\3\2\2\2\u012e\u012f\7\t\2\2\u012f\u0130"+
|
|
|
- "\5\22\n\2\u0130\u0136\7\n\2\2\u0131\u0137\5 \21\2\u0132\u0137\5\"\22\2"+
|
|
|
- "\u0133\u0137\5*\26\2\u0134\u0137\5.\30\2\u0135\u0137\5\60\31\2\u0136\u0131"+
|
|
|
- "\3\2\2\2\u0136\u0132\3\2\2\2\u0136\u0133\3\2\2\2\u0136\u0134\3\2\2\2\u0136"+
|
|
|
- "\u0135\3\2\2\2\u0137#\3\2\2\2\u0138\u0139\7\7\2\2\u0139\u013a\5\34\17"+
|
|
|
- "\2\u013a\u013d\7\b\2\2\u013b\u013e\5&\24\2\u013c\u013e\5$\23\2\u013d\u013b"+
|
|
|
- "\3\2\2\2\u013d\u013c\3\2\2\2\u013d\u013e\3\2\2\2\u013e%\3\2\2\2\u013f"+
|
|
|
- "\u0142\7\13\2\2\u0140\u0143\5(\25\2\u0141\u0143\5,\27\2\u0142\u0140\3"+
|
|
|
- "\2\2\2\u0142\u0141\3\2\2\2\u0143\'\3\2\2\2\u0144\u0145\7L\2\2\u0145\u0148"+
|
|
|
- "\5\62\32\2\u0146\u0149\5&\24\2\u0147\u0149\5$\23\2\u0148\u0146\3\2\2\2"+
|
|
|
- "\u0148\u0147\3\2\2\2\u0148\u0149\3\2\2\2\u0149)\3\2\2\2\u014a\u014d\5"+
|
|
|
- "\30\r\2\u014b\u014e\5&\24\2\u014c\u014e\5$\23\2\u014d\u014b\3\2\2\2\u014d"+
|
|
|
- "\u014c\3\2\2\2\u014d\u014e\3\2\2\2\u014e+\3\2\2\2\u014f\u0152\t\n\2\2"+
|
|
|
- "\u0150\u0153\5&\24\2\u0151\u0153\5$\23\2\u0152\u0150\3\2\2\2\u0152\u0151"+
|
|
|
- "\3\2\2\2\u0152\u0153\3\2\2\2\u0153-\3\2\2\2\u0154\u0155\7\26\2\2\u0155"+
|
|
|
- "\u0165\5\30\r\2\u0156\u0158\5\62\32\2\u0157\u0159\5&\24\2\u0158\u0157"+
|
|
|
- "\3\2\2\2\u0158\u0159\3\2\2\2\u0159\u0166\3\2\2\2\u015a\u015b\7\7\2\2\u015b"+
|
|
|
- "\u015c\5\34\17\2\u015c\u015d\7\b\2\2\u015d\u015f\3\2\2\2\u015e\u015a\3"+
|
|
|
- "\2\2\2\u015f\u0160\3\2\2\2\u0160\u015e\3\2\2\2\u0160\u0161\3\2\2\2\u0161"+
|
|
|
- "\u0163\3\2\2\2\u0162\u0164\5&\24\2\u0163\u0162\3\2\2\2\u0163\u0164\3\2"+
|
|
|
- "\2\2\u0164\u0166\3\2\2\2\u0165\u0156\3\2\2\2\u0165\u015e\3\2\2\2\u0166"+
|
|
|
- "/\3\2\2\2\u0167\u016a\7E\2\2\u0168\u016b\5&\24\2\u0169\u016b\5$\23\2\u016a"+
|
|
|
- "\u0168\3\2\2\2\u016a\u0169\3\2\2\2\u016a\u016b\3\2\2\2\u016b\61\3\2\2"+
|
|
|
- "\2\u016c\u0175\7\t\2\2\u016d\u0172\5\34\17\2\u016e\u016f\7\f\2\2\u016f"+
|
|
|
- "\u0171\5\34\17\2\u0170\u016e\3\2\2\2\u0171\u0174\3\2\2\2\u0172\u0170\3"+
|
|
|
- "\2\2\2\u0172\u0173\3\2\2\2\u0173\u0176\3\2\2\2\u0174\u0172\3\2\2\2\u0175"+
|
|
|
- "\u016d\3\2\2\2\u0175\u0176\3\2\2\2\u0176\u0177\3\2\2\2\u0177\u0178\7\n"+
|
|
|
- "\2\2\u0178\63\3\2\2\2\u0179\u017a\t\13\2\2\u017a\65\3\2\2\2/9DLUZ^bgk"+
|
|
|
- "osx\177\u0084\u0088\u008a\u0090\u0095\u0099\u00a0\u00aa\u00b2\u00b8\u00c2"+
|
|
|
- "\u00c6\u00ce\u00ef\u0115\u0117\u011f\u0127\u012c\u0136\u013d\u0142\u0148"+
|
|
|
- "\u014d\u0152\u0158\u0160\u0163\u0165\u016a\u0172\u0175";
|
|
|
+ "\34\17\17\u00da\u00ef\3\2\2\2\u00db\u00dc\5\36\20\2\u00dc\u00dd\t\3\2"+
|
|
|
+ "\2\u00dd\u00de\5\34\17\3\u00de\u00ef\3\2\2\2\u00df\u00e0\7\t\2\2\u00e0"+
|
|
|
+ "\u00e1\5\34\17\2\u00e1\u00e2\7\n\2\2\u00e2\u00ef\3\2\2\2\u00e3\u00ef\t"+
|
|
|
+ "\4\2\2\u00e4\u00ef\7F\2\2\u00e5\u00ef\7G\2\2\u00e6\u00ef\7H\2\2\u00e7"+
|
|
|
+ "\u00e8\5\36\20\2\u00e8\u00e9\5\64\33\2\u00e9\u00ef\3\2\2\2\u00ea\u00eb"+
|
|
|
+ "\5\64\33\2\u00eb\u00ec\5\36\20\2\u00ec\u00ef\3\2\2\2\u00ed\u00ef\5\36"+
|
|
|
+ "\20\2\u00ee\u00d3\3\2\2\2\u00ee\u00d6\3\2\2\2\u00ee\u00db\3\2\2\2\u00ee"+
|
|
|
+ "\u00df\3\2\2\2\u00ee\u00e3\3\2\2\2\u00ee\u00e4\3\2\2\2\u00ee\u00e5\3\2"+
|
|
|
+ "\2\2\u00ee\u00e6\3\2\2\2\u00ee\u00e7\3\2\2\2\u00ee\u00ea\3\2\2\2\u00ee"+
|
|
|
+ "\u00ed\3\2\2\2\u00ef\u0116\3\2\2\2\u00f0\u00f1\f\16\2\2\u00f1\u00f2\t"+
|
|
|
+ "\5\2\2\u00f2\u0115\5\34\17\17\u00f3\u00f4\f\r\2\2\u00f4\u00f5\t\6\2\2"+
|
|
|
+ "\u00f5\u0115\5\34\17\16\u00f6\u00f7\f\f\2\2\u00f7\u00f8\t\7\2\2\u00f8"+
|
|
|
+ "\u0115\5\34\17\r\u00f9\u00fa\f\13\2\2\u00fa\u00fb\t\b\2\2\u00fb\u0115"+
|
|
|
+ "\5\34\17\f\u00fc\u00fd\f\n\2\2\u00fd\u00fe\t\t\2\2\u00fe\u0115\5\34\17"+
|
|
|
+ "\13\u00ff\u0100\f\t\2\2\u0100\u0101\7,\2\2\u0101\u0115\5\34\17\n\u0102"+
|
|
|
+ "\u0103\f\b\2\2\u0103\u0104\7-\2\2\u0104\u0115\5\34\17\t\u0105\u0106\f"+
|
|
|
+ "\7\2\2\u0106\u0107\7.\2\2\u0107\u0115\5\34\17\b\u0108\u0109\f\6\2\2\u0109"+
|
|
|
+ "\u010a\7/\2\2\u010a\u0115\5\34\17\7\u010b\u010c\f\5\2\2\u010c\u010d\7"+
|
|
|
+ "\60\2\2\u010d\u0115\5\34\17\6\u010e\u010f\f\4\2\2\u010f\u0110\7\61\2\2"+
|
|
|
+ "\u0110\u0111\5\34\17\2\u0111\u0112\7\62\2\2\u0112\u0113\5\34\17\4\u0113"+
|
|
|
+ "\u0115\3\2\2\2\u0114\u00f0\3\2\2\2\u0114\u00f3\3\2\2\2\u0114\u00f6\3\2"+
|
|
|
+ "\2\2\u0114\u00f9\3\2\2\2\u0114\u00fc\3\2\2\2\u0114\u00ff\3\2\2\2\u0114"+
|
|
|
+ "\u0102\3\2\2\2\u0114\u0105\3\2\2\2\u0114\u0108\3\2\2\2\u0114\u010b\3\2"+
|
|
|
+ "\2\2\u0114\u010e\3\2\2\2\u0115\u0118\3\2\2\2\u0116\u0114\3\2\2\2\u0116"+
|
|
|
+ "\u0117\3\2\2\2\u0117\35\3\2\2\2\u0118\u0116\3\2\2\2\u0119\u011f\5 \21"+
|
|
|
+ "\2\u011a\u011f\5\"\22\2\u011b\u011f\5*\26\2\u011c\u011f\5.\30\2\u011d"+
|
|
|
+ "\u011f\5\60\31\2\u011e\u0119\3\2\2\2\u011e\u011a\3\2\2\2\u011e\u011b\3"+
|
|
|
+ "\2\2\2\u011e\u011c\3\2\2\2\u011e\u011d\3\2\2\2\u011f\37\3\2\2\2\u0120"+
|
|
|
+ "\u0126\7\t\2\2\u0121\u0127\5 \21\2\u0122\u0127\5\"\22\2\u0123\u0127\5"+
|
|
|
+ "*\26\2\u0124\u0127\5.\30\2\u0125\u0127\5\60\31\2\u0126\u0121\3\2\2\2\u0126"+
|
|
|
+ "\u0122\3\2\2\2\u0126\u0123\3\2\2\2\u0126\u0124\3\2\2\2\u0126\u0125\3\2"+
|
|
|
+ "\2\2\u0127\u0128\3\2\2\2\u0128\u012b\7\n\2\2\u0129\u012c\5&\24\2\u012a"+
|
|
|
+ "\u012c\5$\23\2\u012b\u0129\3\2\2\2\u012b\u012a\3\2\2\2\u012b\u012c\3\2"+
|
|
|
+ "\2\2\u012c!\3\2\2\2\u012d\u012e\7\t\2\2\u012e\u012f\5\22\n\2\u012f\u0135"+
|
|
|
+ "\7\n\2\2\u0130\u0136\5 \21\2\u0131\u0136\5\"\22\2\u0132\u0136\5*\26\2"+
|
|
|
+ "\u0133\u0136\5.\30\2\u0134\u0136\5\60\31\2\u0135\u0130\3\2\2\2\u0135\u0131"+
|
|
|
+ "\3\2\2\2\u0135\u0132\3\2\2\2\u0135\u0133\3\2\2\2\u0135\u0134\3\2\2\2\u0136"+
|
|
|
+ "#\3\2\2\2\u0137\u0138\7\7\2\2\u0138\u0139\5\34\17\2\u0139\u013c\7\b\2"+
|
|
|
+ "\2\u013a\u013d\5&\24\2\u013b\u013d\5$\23\2\u013c\u013a\3\2\2\2\u013c\u013b"+
|
|
|
+ "\3\2\2\2\u013c\u013d\3\2\2\2\u013d%\3\2\2\2\u013e\u0141\7\13\2\2\u013f"+
|
|
|
+ "\u0142\5(\25\2\u0140\u0142\5,\27\2\u0141\u013f\3\2\2\2\u0141\u0140\3\2"+
|
|
|
+ "\2\2\u0142\'\3\2\2\2\u0143\u0144\7K\2\2\u0144\u0147\5\62\32\2\u0145\u0148"+
|
|
|
+ "\5&\24\2\u0146\u0148\5$\23\2\u0147\u0145\3\2\2\2\u0147\u0146\3\2\2\2\u0147"+
|
|
|
+ "\u0148\3\2\2\2\u0148)\3\2\2\2\u0149\u014c\5\30\r\2\u014a\u014d\5&\24\2"+
|
|
|
+ "\u014b\u014d\5$\23\2\u014c\u014a\3\2\2\2\u014c\u014b\3\2\2\2\u014c\u014d"+
|
|
|
+ "\3\2\2\2\u014d+\3\2\2\2\u014e\u0151\t\n\2\2\u014f\u0152\5&\24\2\u0150"+
|
|
|
+ "\u0152\5$\23\2\u0151\u014f\3\2\2\2\u0151\u0150\3\2\2\2\u0151\u0152\3\2"+
|
|
|
+ "\2\2\u0152-\3\2\2\2\u0153\u0154\7\26\2\2\u0154\u0164\5\30\r\2\u0155\u0157"+
|
|
|
+ "\5\62\32\2\u0156\u0158\5&\24\2\u0157\u0156\3\2\2\2\u0157\u0158\3\2\2\2"+
|
|
|
+ "\u0158\u0165\3\2\2\2\u0159\u015a\7\7\2\2\u015a\u015b\5\34\17\2\u015b\u015c"+
|
|
|
+ "\7\b\2\2\u015c\u015e\3\2\2\2\u015d\u0159\3\2\2\2\u015e\u015f\3\2\2\2\u015f"+
|
|
|
+ "\u015d\3\2\2\2\u015f\u0160\3\2\2\2\u0160\u0162\3\2\2\2\u0161\u0163\5&"+
|
|
|
+ "\24\2\u0162\u0161\3\2\2\2\u0162\u0163\3\2\2\2\u0163\u0165\3\2\2\2\u0164"+
|
|
|
+ "\u0155\3\2\2\2\u0164\u015d\3\2\2\2\u0165/\3\2\2\2\u0166\u0169\7E\2\2\u0167"+
|
|
|
+ "\u016a\5&\24\2\u0168\u016a\5$\23\2\u0169\u0167\3\2\2\2\u0169\u0168\3\2"+
|
|
|
+ "\2\2\u0169\u016a\3\2\2\2\u016a\61\3\2\2\2\u016b\u0174\7\t\2\2\u016c\u0171"+
|
|
|
+ "\5\34\17\2\u016d\u016e\7\f\2\2\u016e\u0170\5\34\17\2\u016f\u016d\3\2\2"+
|
|
|
+ "\2\u0170\u0173\3\2\2\2\u0171\u016f\3\2\2\2\u0171\u0172\3\2\2\2\u0172\u0175"+
|
|
|
+ "\3\2\2\2\u0173\u0171\3\2\2\2\u0174\u016c\3\2\2\2\u0174\u0175\3\2\2\2\u0175"+
|
|
|
+ "\u0176\3\2\2\2\u0176\u0177\7\n\2\2\u0177\63\3\2\2\2\u0178\u0179\t\13\2"+
|
|
|
+ "\2\u0179\65\3\2\2\2/9DLUZ^bgkosx\177\u0084\u0088\u008a\u0090\u0095\u0099"+
|
|
|
+ "\u00a0\u00aa\u00b2\u00b8\u00c2\u00c6\u00ce\u00ee\u0114\u0116\u011e\u0126"+
|
|
|
+ "\u012b\u0135\u013c\u0141\u0147\u014c\u0151\u0157\u015f\u0162\u0164\u0169"+
|
|
|
+ "\u0171\u0174";
|
|
|
public static final ATN _ATN =
|
|
|
new ATNDeserializer().deserialize(_serializedATN.toCharArray());
|
|
|
static {
|