![JAR search and dependency download from the Maven repository](/logo.png)
io.legaldocml.xpath.XPath2Parser Maven / Gradle / Ivy
// Generated from io\legaldocml\xpath\XPath2Parser.g4 by ANTLR 4.7
package io.legaldocml.xpath;
import org.antlr.v4.runtime.atn.*;
import org.antlr.v4.runtime.dfa.DFA;
import org.antlr.v4.runtime.*;
import org.antlr.v4.runtime.misc.*;
import org.antlr.v4.runtime.tree.*;
import java.util.List;
import java.util.Iterator;
import java.util.ArrayList;
@SuppressWarnings({"all", "warnings", "unchecked", "unused", "cast"})
public class XPath2Parser extends Parser {
static { RuntimeMetaData.checkVersion("4.7", RuntimeMetaData.VERSION); }
protected static final DFA[] _decisionToDFA;
protected static final PredictionContextCache _sharedContextCache =
new PredictionContextCache();
public static final int
DIGITS=1, DECIMAL_LITERAL=2, DOUBLE_LITERAL=3, STRING_LITERAL=4, LBRACKET=5,
RBRACKET=6, LPAR=7, RPAR=8, PLUS=9, MINUS=10, STAR=11, PIPE=12, EQUALS=13,
NOTEQUALS=14, LESSTHAN=15, LESSEQUAL=16, GREATER=17, GREATEREQUAL=18,
LESS_LESS=19, GREATER_GREATER=20, FORWARD_SLASH=21, FORWARD_SLASHSLASH=22,
COLONCOLON=23, AT_SYM=24, DOTDOT=25, COLON=26, COMMA=27, DOLLAR=28, DOT=29,
QUESTIONMARK=30, CHILD=31, DESCENDANT=32, ATTRIBUTE=33, SELF=34, DESCENDANT_OR_SELF=35,
FOLLOWING_SIBLING=36, FOLLOWING=37, NAMESPACE=38, PARENT=39, ANCESTOR=40,
PRECEDING_SIBLING=41, PRECEDING=42, ANCESTOR_OR_SELF=43, EQ=44, NE=45,
LT=46, LE=47, GT=48, GE=49, IDIV=50, DIV=51, MOD=52, UNION=53, INTERSECT=54,
EXCEPT=55, INSTANCE=56, TREAT=57, CASTABLE=58, CAST=59, AS=60, OF=61,
IS=62, FOR=63, IN=64, RETURN=65, SATISFIES=66, TO=67, SOME=68, EVERY=69,
IF=70, THEN=71, ELSE=72, AND=73, OR=74, EMPTY_SEQUENCE=75, ITEM=76, NODE=77,
DOCUMENT_NODE=78, TEXT=79, COMMENT=80, PROCESSING_INSTRUCTION=81, SCHEMA_ATTRIBUTE=82,
ELEMENT=83, SCHEMA_ELEMENT=84, TYPESWITCH=85, STRING=86, INTEGER=87, DOUBLE=88,
DECIMAL=89, NCNAME=90;
public static final int
RULE_xPath = 0, RULE_expr = 1, RULE_exprSingle = 2, RULE_forExpr = 3,
RULE_simpleForClause = 4, RULE_quantifiedExpr = 5, RULE_quantifiedExprMiddle = 6,
RULE_ifExpr = 7, RULE_orExpr = 8, RULE_andExpr = 9, RULE_comparisonExpr = 10,
RULE_rangeExpr = 11, RULE_additiveExpr = 12, RULE_multiplicativeExpr = 13,
RULE_unionExpr = 14, RULE_intersectExceptExpr = 15, RULE_instanceOfExpr = 16,
RULE_treatExpr = 17, RULE_castableExpr = 18, RULE_castExpr = 19, RULE_unaryExpr = 20,
RULE_valueExpr = 21, RULE_generalComp = 22, RULE_valueComp = 23, RULE_nodeComp = 24,
RULE_pathExpr = 25, RULE_relativePathExpr = 26, RULE_stepExpr = 27, RULE_axisStep = 28,
RULE_forwardStep = 29, RULE_forwardAxis = 30, RULE_abbrevForwardStep = 31,
RULE_reverseStep = 32, RULE_reverseAxis = 33, RULE_abbrevReverseStep = 34,
RULE_nodeTest = 35, RULE_nameTest = 36, RULE_wildcard = 37, RULE_filterExpr = 38,
RULE_predicateList = 39, RULE_predicate = 40, RULE_primaryExpr = 41, RULE_literal = 42,
RULE_numericLiteral = 43, RULE_varRef = 44, RULE_varName = 45, RULE_parenthesizedExpr = 46,
RULE_contextItemExpr = 47, RULE_functionCall = 48, RULE_functionCallMiddle = 49,
RULE_singleType = 50, RULE_sequenceType = 51, RULE_occurrenceIndicator = 52,
RULE_itemType = 53, RULE_atomicType = 54, RULE_kindTest = 55, RULE_anyKindTest = 56,
RULE_documentTest = 57, RULE_textTest = 58, RULE_commentTest = 59, RULE_pITest = 60,
RULE_attributeTest = 61, RULE_attribNameOrWildcard = 62, RULE_schemaAttributeTest = 63,
RULE_attributeDeclaration = 64, RULE_elementTest = 65, RULE_elementNameOrWildcard = 66,
RULE_schemaElementTest = 67, RULE_elementDeclaration = 68, RULE_attributeName = 69,
RULE_elementName = 70, RULE_typeName = 71, RULE_integerLiteral = 72, RULE_decimalLiteral = 73,
RULE_doubleLiteral = 74, RULE_stringLiteral = 75, RULE_qName = 76, RULE_nCName = 77,
RULE_reservedFunctionNames = 78, RULE_reservedFunctionNCNames = 79;
public static final String[] ruleNames = {
"xPath", "expr", "exprSingle", "forExpr", "simpleForClause", "quantifiedExpr",
"quantifiedExprMiddle", "ifExpr", "orExpr", "andExpr", "comparisonExpr",
"rangeExpr", "additiveExpr", "multiplicativeExpr", "unionExpr", "intersectExceptExpr",
"instanceOfExpr", "treatExpr", "castableExpr", "castExpr", "unaryExpr",
"valueExpr", "generalComp", "valueComp", "nodeComp", "pathExpr", "relativePathExpr",
"stepExpr", "axisStep", "forwardStep", "forwardAxis", "abbrevForwardStep",
"reverseStep", "reverseAxis", "abbrevReverseStep", "nodeTest", "nameTest",
"wildcard", "filterExpr", "predicateList", "predicate", "primaryExpr",
"literal", "numericLiteral", "varRef", "varName", "parenthesizedExpr",
"contextItemExpr", "functionCall", "functionCallMiddle", "singleType",
"sequenceType", "occurrenceIndicator", "itemType", "atomicType", "kindTest",
"anyKindTest", "documentTest", "textTest", "commentTest", "pITest", "attributeTest",
"attribNameOrWildcard", "schemaAttributeTest", "attributeDeclaration",
"elementTest", "elementNameOrWildcard", "schemaElementTest", "elementDeclaration",
"attributeName", "elementName", "typeName", "integerLiteral", "decimalLiteral",
"doubleLiteral", "stringLiteral", "qName", "nCName", "reservedFunctionNames",
"reservedFunctionNCNames"
};
private static final String[] _LITERAL_NAMES = {
null, null, null, null, null, "'['", "']'", "'('", "')'", "'+'", "'-'",
"'*'", "'|'", "'='", "'!='", "'<'", "'<='", "'>'", "'>='", "'<<'", "'>>'",
"'/'", "'//'", "'::'", "'@'", "'..'", "':'", "','", "'$'", "'.'", "'?'",
"'child'", "'descendant'", "'attribute'", "'self'", "'descendant-or-self'",
"'following-sibling'", "'following'", "'namespace'", "'parent'", "'ancestor'",
"'preceding-sibling'", "'preceding'", "'ancestor-or-self'", "'eq'", "'ne'",
"'lt'", "'le'", "'gt'", "'ge'", "'idiv'", "'div'", "'mod'", "'union'",
"'intersect'", "'except'", "'instance'", "'treat'", "'castable'", "'cast'",
"'as'", "'of'", "'is'", "'for'", "'in'", "'return'", "'satisfies'", "'to'",
"'some'", "'every'", "'if'", "'then'", "'else'", "'and'", "'or'", "'empty-sequence'",
"'item'", "'node'", "'document-node'", "'text'", "'comment'", "'processing-instruction'",
"'schema-attribute'", "'element'", "'schema-element'", "'typeswitch'"
};
private static final String[] _SYMBOLIC_NAMES = {
null, "DIGITS", "DECIMAL_LITERAL", "DOUBLE_LITERAL", "STRING_LITERAL",
"LBRACKET", "RBRACKET", "LPAR", "RPAR", "PLUS", "MINUS", "STAR", "PIPE",
"EQUALS", "NOTEQUALS", "LESSTHAN", "LESSEQUAL", "GREATER", "GREATEREQUAL",
"LESS_LESS", "GREATER_GREATER", "FORWARD_SLASH", "FORWARD_SLASHSLASH",
"COLONCOLON", "AT_SYM", "DOTDOT", "COLON", "COMMA", "DOLLAR", "DOT", "QUESTIONMARK",
"CHILD", "DESCENDANT", "ATTRIBUTE", "SELF", "DESCENDANT_OR_SELF", "FOLLOWING_SIBLING",
"FOLLOWING", "NAMESPACE", "PARENT", "ANCESTOR", "PRECEDING_SIBLING", "PRECEDING",
"ANCESTOR_OR_SELF", "EQ", "NE", "LT", "LE", "GT", "GE", "IDIV", "DIV",
"MOD", "UNION", "INTERSECT", "EXCEPT", "INSTANCE", "TREAT", "CASTABLE",
"CAST", "AS", "OF", "IS", "FOR", "IN", "RETURN", "SATISFIES", "TO", "SOME",
"EVERY", "IF", "THEN", "ELSE", "AND", "OR", "EMPTY_SEQUENCE", "ITEM",
"NODE", "DOCUMENT_NODE", "TEXT", "COMMENT", "PROCESSING_INSTRUCTION",
"SCHEMA_ATTRIBUTE", "ELEMENT", "SCHEMA_ELEMENT", "TYPESWITCH", "STRING",
"INTEGER", "DOUBLE", "DECIMAL", "NCNAME"
};
public static final Vocabulary VOCABULARY = new VocabularyImpl(_LITERAL_NAMES, _SYMBOLIC_NAMES);
/**
* @deprecated Use {@link #VOCABULARY} instead.
*/
@Deprecated
public static final String[] tokenNames;
static {
tokenNames = new String[_SYMBOLIC_NAMES.length];
for (int i = 0; i < tokenNames.length; i++) {
tokenNames[i] = VOCABULARY.getLiteralName(i);
if (tokenNames[i] == null) {
tokenNames[i] = VOCABULARY.getSymbolicName(i);
}
if (tokenNames[i] == null) {
tokenNames[i] = "";
}
}
}
@Override
@Deprecated
public String[] getTokenNames() {
return tokenNames;
}
@Override
public Vocabulary getVocabulary() {
return VOCABULARY;
}
@Override
public String getGrammarFileName() { return "XPath2Parser.g4"; }
@Override
public String[] getRuleNames() { return ruleNames; }
@Override
public String getSerializedATN() { return _serializedATN; }
@Override
public ATN getATN() { return _ATN; }
public XPath2Parser(TokenStream input) {
super(input);
_interp = new ParserATNSimulator(this,_ATN,_decisionToDFA,_sharedContextCache);
}
public static class XPathContext extends ParserRuleContext {
public ExprContext expr() {
return getRuleContext(ExprContext.class,0);
}
public TerminalNode EOF() { return getToken(XPath2Parser.EOF, 0); }
public XPathContext(ParserRuleContext parent, int invokingState) {
super(parent, invokingState);
}
@Override public int getRuleIndex() { return RULE_xPath; }
@Override
public void enterRule(ParseTreeListener listener) {
if ( listener instanceof XPath2ParserListener ) ((XPath2ParserListener)listener).enterXPath(this);
}
@Override
public void exitRule(ParseTreeListener listener) {
if ( listener instanceof XPath2ParserListener ) ((XPath2ParserListener)listener).exitXPath(this);
}
}
public final XPathContext xPath() throws RecognitionException {
XPathContext _localctx = new XPathContext(_ctx, getState());
enterRule(_localctx, 0, RULE_xPath);
try {
enterOuterAlt(_localctx, 1);
{
setState(160);
expr();
setState(161);
match(EOF);
}
}
catch (RecognitionException re) {
_localctx.exception = re;
_errHandler.reportError(this, re);
_errHandler.recover(this, re);
}
finally {
exitRule();
}
return _localctx;
}
public static class ExprContext extends ParserRuleContext {
public List exprSingle() {
return getRuleContexts(ExprSingleContext.class);
}
public ExprSingleContext exprSingle(int i) {
return getRuleContext(ExprSingleContext.class,i);
}
public List COMMA() { return getTokens(XPath2Parser.COMMA); }
public TerminalNode COMMA(int i) {
return getToken(XPath2Parser.COMMA, i);
}
public ExprContext(ParserRuleContext parent, int invokingState) {
super(parent, invokingState);
}
@Override public int getRuleIndex() { return RULE_expr; }
@Override
public void enterRule(ParseTreeListener listener) {
if ( listener instanceof XPath2ParserListener ) ((XPath2ParserListener)listener).enterExpr(this);
}
@Override
public void exitRule(ParseTreeListener listener) {
if ( listener instanceof XPath2ParserListener ) ((XPath2ParserListener)listener).exitExpr(this);
}
}
public final ExprContext expr() throws RecognitionException {
ExprContext _localctx = new ExprContext(_ctx, getState());
enterRule(_localctx, 2, RULE_expr);
int _la;
try {
enterOuterAlt(_localctx, 1);
{
setState(163);
exprSingle();
setState(168);
_errHandler.sync(this);
_la = _input.LA(1);
while (_la==COMMA) {
{
{
setState(164);
match(COMMA);
setState(165);
exprSingle();
}
}
setState(170);
_errHandler.sync(this);
_la = _input.LA(1);
}
}
}
catch (RecognitionException re) {
_localctx.exception = re;
_errHandler.reportError(this, re);
_errHandler.recover(this, re);
}
finally {
exitRule();
}
return _localctx;
}
public static class ExprSingleContext extends ParserRuleContext {
public ForExprContext forExpr() {
return getRuleContext(ForExprContext.class,0);
}
public QuantifiedExprContext quantifiedExpr() {
return getRuleContext(QuantifiedExprContext.class,0);
}
public IfExprContext ifExpr() {
return getRuleContext(IfExprContext.class,0);
}
public OrExprContext orExpr() {
return getRuleContext(OrExprContext.class,0);
}
public ExprSingleContext(ParserRuleContext parent, int invokingState) {
super(parent, invokingState);
}
@Override public int getRuleIndex() { return RULE_exprSingle; }
@Override
public void enterRule(ParseTreeListener listener) {
if ( listener instanceof XPath2ParserListener ) ((XPath2ParserListener)listener).enterExprSingle(this);
}
@Override
public void exitRule(ParseTreeListener listener) {
if ( listener instanceof XPath2ParserListener ) ((XPath2ParserListener)listener).exitExprSingle(this);
}
}
public final ExprSingleContext exprSingle() throws RecognitionException {
ExprSingleContext _localctx = new ExprSingleContext(_ctx, getState());
enterRule(_localctx, 4, RULE_exprSingle);
try {
setState(175);
_errHandler.sync(this);
switch ( getInterpreter().adaptivePredict(_input,1,_ctx) ) {
case 1:
enterOuterAlt(_localctx, 1);
{
setState(171);
forExpr();
}
break;
case 2:
enterOuterAlt(_localctx, 2);
{
setState(172);
quantifiedExpr();
}
break;
case 3:
enterOuterAlt(_localctx, 3);
{
setState(173);
ifExpr();
}
break;
case 4:
enterOuterAlt(_localctx, 4);
{
setState(174);
orExpr(0);
}
break;
}
}
catch (RecognitionException re) {
_localctx.exception = re;
_errHandler.reportError(this, re);
_errHandler.recover(this, re);
}
finally {
exitRule();
}
return _localctx;
}
public static class ForExprContext extends ParserRuleContext {
public SimpleForClauseContext simpleForClause() {
return getRuleContext(SimpleForClauseContext.class,0);
}
public TerminalNode RETURN() { return getToken(XPath2Parser.RETURN, 0); }
public ExprSingleContext exprSingle() {
return getRuleContext(ExprSingleContext.class,0);
}
public ForExprContext(ParserRuleContext parent, int invokingState) {
super(parent, invokingState);
}
@Override public int getRuleIndex() { return RULE_forExpr; }
@Override
public void enterRule(ParseTreeListener listener) {
if ( listener instanceof XPath2ParserListener ) ((XPath2ParserListener)listener).enterForExpr(this);
}
@Override
public void exitRule(ParseTreeListener listener) {
if ( listener instanceof XPath2ParserListener ) ((XPath2ParserListener)listener).exitForExpr(this);
}
}
public final ForExprContext forExpr() throws RecognitionException {
ForExprContext _localctx = new ForExprContext(_ctx, getState());
enterRule(_localctx, 6, RULE_forExpr);
try {
enterOuterAlt(_localctx, 1);
{
setState(177);
simpleForClause(0);
setState(178);
match(RETURN);
setState(179);
exprSingle();
}
}
catch (RecognitionException re) {
_localctx.exception = re;
_errHandler.reportError(this, re);
_errHandler.recover(this, re);
}
finally {
exitRule();
}
return _localctx;
}
public static class SimpleForClauseContext extends ParserRuleContext {
public TerminalNode FOR() { return getToken(XPath2Parser.FOR, 0); }
public TerminalNode DOLLAR() { return getToken(XPath2Parser.DOLLAR, 0); }
public VarNameContext varName() {
return getRuleContext(VarNameContext.class,0);
}
public TerminalNode IN() { return getToken(XPath2Parser.IN, 0); }
public ExprSingleContext exprSingle() {
return getRuleContext(ExprSingleContext.class,0);
}
public SimpleForClauseContext simpleForClause() {
return getRuleContext(SimpleForClauseContext.class,0);
}
public TerminalNode COMMA() { return getToken(XPath2Parser.COMMA, 0); }
public SimpleForClauseContext(ParserRuleContext parent, int invokingState) {
super(parent, invokingState);
}
@Override public int getRuleIndex() { return RULE_simpleForClause; }
@Override
public void enterRule(ParseTreeListener listener) {
if ( listener instanceof XPath2ParserListener ) ((XPath2ParserListener)listener).enterSimpleForClause(this);
}
@Override
public void exitRule(ParseTreeListener listener) {
if ( listener instanceof XPath2ParserListener ) ((XPath2ParserListener)listener).exitSimpleForClause(this);
}
}
public final SimpleForClauseContext simpleForClause() throws RecognitionException {
return simpleForClause(0);
}
private SimpleForClauseContext simpleForClause(int _p) throws RecognitionException {
ParserRuleContext _parentctx = _ctx;
int _parentState = getState();
SimpleForClauseContext _localctx = new SimpleForClauseContext(_ctx, _parentState);
SimpleForClauseContext _prevctx = _localctx;
int _startState = 8;
enterRecursionRule(_localctx, 8, RULE_simpleForClause, _p);
try {
int _alt;
enterOuterAlt(_localctx, 1);
{
{
setState(182);
match(FOR);
setState(183);
match(DOLLAR);
setState(184);
varName();
setState(185);
match(IN);
setState(186);
exprSingle();
}
_ctx.stop = _input.LT(-1);
setState(197);
_errHandler.sync(this);
_alt = getInterpreter().adaptivePredict(_input,2,_ctx);
while ( _alt!=2 && _alt!=org.antlr.v4.runtime.atn.ATN.INVALID_ALT_NUMBER ) {
if ( _alt==1 ) {
if ( _parseListeners!=null ) triggerExitRuleEvent();
_prevctx = _localctx;
{
{
_localctx = new SimpleForClauseContext(_parentctx, _parentState);
pushNewRecursionContext(_localctx, _startState, RULE_simpleForClause);
setState(188);
if (!(precpred(_ctx, 1))) throw new FailedPredicateException(this, "precpred(_ctx, 1)");
setState(189);
match(COMMA);
setState(190);
match(DOLLAR);
setState(191);
varName();
setState(192);
match(IN);
setState(193);
exprSingle();
}
}
}
setState(199);
_errHandler.sync(this);
_alt = getInterpreter().adaptivePredict(_input,2,_ctx);
}
}
}
catch (RecognitionException re) {
_localctx.exception = re;
_errHandler.reportError(this, re);
_errHandler.recover(this, re);
}
finally {
unrollRecursionContexts(_parentctx);
}
return _localctx;
}
public static class QuantifiedExprContext extends ParserRuleContext {
public TerminalNode SOME() { return getToken(XPath2Parser.SOME, 0); }
public TerminalNode DOLLAR() { return getToken(XPath2Parser.DOLLAR, 0); }
public QuantifiedExprMiddleContext quantifiedExprMiddle() {
return getRuleContext(QuantifiedExprMiddleContext.class,0);
}
public TerminalNode SATISFIES() { return getToken(XPath2Parser.SATISFIES, 0); }
public ExprSingleContext exprSingle() {
return getRuleContext(ExprSingleContext.class,0);
}
public TerminalNode EVERY() { return getToken(XPath2Parser.EVERY, 0); }
public QuantifiedExprContext(ParserRuleContext parent, int invokingState) {
super(parent, invokingState);
}
@Override public int getRuleIndex() { return RULE_quantifiedExpr; }
@Override
public void enterRule(ParseTreeListener listener) {
if ( listener instanceof XPath2ParserListener ) ((XPath2ParserListener)listener).enterQuantifiedExpr(this);
}
@Override
public void exitRule(ParseTreeListener listener) {
if ( listener instanceof XPath2ParserListener ) ((XPath2ParserListener)listener).exitQuantifiedExpr(this);
}
}
public final QuantifiedExprContext quantifiedExpr() throws RecognitionException {
QuantifiedExprContext _localctx = new QuantifiedExprContext(_ctx, getState());
enterRule(_localctx, 10, RULE_quantifiedExpr);
try {
setState(212);
_errHandler.sync(this);
switch (_input.LA(1)) {
case SOME:
enterOuterAlt(_localctx, 1);
{
setState(200);
match(SOME);
setState(201);
match(DOLLAR);
setState(202);
quantifiedExprMiddle(0);
setState(203);
match(SATISFIES);
setState(204);
exprSingle();
}
break;
case EVERY:
enterOuterAlt(_localctx, 2);
{
setState(206);
match(EVERY);
setState(207);
match(DOLLAR);
setState(208);
quantifiedExprMiddle(0);
setState(209);
match(SATISFIES);
setState(210);
exprSingle();
}
break;
default:
throw new NoViableAltException(this);
}
}
catch (RecognitionException re) {
_localctx.exception = re;
_errHandler.reportError(this, re);
_errHandler.recover(this, re);
}
finally {
exitRule();
}
return _localctx;
}
public static class QuantifiedExprMiddleContext extends ParserRuleContext {
public VarNameContext varName() {
return getRuleContext(VarNameContext.class,0);
}
public TerminalNode IN() { return getToken(XPath2Parser.IN, 0); }
public ExprSingleContext exprSingle() {
return getRuleContext(ExprSingleContext.class,0);
}
public QuantifiedExprMiddleContext quantifiedExprMiddle() {
return getRuleContext(QuantifiedExprMiddleContext.class,0);
}
public TerminalNode COMMA() { return getToken(XPath2Parser.COMMA, 0); }
public TerminalNode DOLLAR() { return getToken(XPath2Parser.DOLLAR, 0); }
public QuantifiedExprMiddleContext(ParserRuleContext parent, int invokingState) {
super(parent, invokingState);
}
@Override public int getRuleIndex() { return RULE_quantifiedExprMiddle; }
@Override
public void enterRule(ParseTreeListener listener) {
if ( listener instanceof XPath2ParserListener ) ((XPath2ParserListener)listener).enterQuantifiedExprMiddle(this);
}
@Override
public void exitRule(ParseTreeListener listener) {
if ( listener instanceof XPath2ParserListener ) ((XPath2ParserListener)listener).exitQuantifiedExprMiddle(this);
}
}
public final QuantifiedExprMiddleContext quantifiedExprMiddle() throws RecognitionException {
return quantifiedExprMiddle(0);
}
private QuantifiedExprMiddleContext quantifiedExprMiddle(int _p) throws RecognitionException {
ParserRuleContext _parentctx = _ctx;
int _parentState = getState();
QuantifiedExprMiddleContext _localctx = new QuantifiedExprMiddleContext(_ctx, _parentState);
QuantifiedExprMiddleContext _prevctx = _localctx;
int _startState = 12;
enterRecursionRule(_localctx, 12, RULE_quantifiedExprMiddle, _p);
try {
int _alt;
enterOuterAlt(_localctx, 1);
{
{
setState(215);
varName();
setState(216);
match(IN);
setState(217);
exprSingle();
}
_ctx.stop = _input.LT(-1);
setState(228);
_errHandler.sync(this);
_alt = getInterpreter().adaptivePredict(_input,4,_ctx);
while ( _alt!=2 && _alt!=org.antlr.v4.runtime.atn.ATN.INVALID_ALT_NUMBER ) {
if ( _alt==1 ) {
if ( _parseListeners!=null ) triggerExitRuleEvent();
_prevctx = _localctx;
{
{
_localctx = new QuantifiedExprMiddleContext(_parentctx, _parentState);
pushNewRecursionContext(_localctx, _startState, RULE_quantifiedExprMiddle);
setState(219);
if (!(precpred(_ctx, 1))) throw new FailedPredicateException(this, "precpred(_ctx, 1)");
setState(220);
match(COMMA);
setState(221);
match(DOLLAR);
setState(222);
varName();
setState(223);
match(IN);
setState(224);
exprSingle();
}
}
}
setState(230);
_errHandler.sync(this);
_alt = getInterpreter().adaptivePredict(_input,4,_ctx);
}
}
}
catch (RecognitionException re) {
_localctx.exception = re;
_errHandler.reportError(this, re);
_errHandler.recover(this, re);
}
finally {
unrollRecursionContexts(_parentctx);
}
return _localctx;
}
public static class IfExprContext extends ParserRuleContext {
public TerminalNode IF() { return getToken(XPath2Parser.IF, 0); }
public TerminalNode LPAR() { return getToken(XPath2Parser.LPAR, 0); }
public ExprContext expr() {
return getRuleContext(ExprContext.class,0);
}
public TerminalNode RPAR() { return getToken(XPath2Parser.RPAR, 0); }
public TerminalNode THEN() { return getToken(XPath2Parser.THEN, 0); }
public List exprSingle() {
return getRuleContexts(ExprSingleContext.class);
}
public ExprSingleContext exprSingle(int i) {
return getRuleContext(ExprSingleContext.class,i);
}
public TerminalNode ELSE() { return getToken(XPath2Parser.ELSE, 0); }
public IfExprContext(ParserRuleContext parent, int invokingState) {
super(parent, invokingState);
}
@Override public int getRuleIndex() { return RULE_ifExpr; }
@Override
public void enterRule(ParseTreeListener listener) {
if ( listener instanceof XPath2ParserListener ) ((XPath2ParserListener)listener).enterIfExpr(this);
}
@Override
public void exitRule(ParseTreeListener listener) {
if ( listener instanceof XPath2ParserListener ) ((XPath2ParserListener)listener).exitIfExpr(this);
}
}
public final IfExprContext ifExpr() throws RecognitionException {
IfExprContext _localctx = new IfExprContext(_ctx, getState());
enterRule(_localctx, 14, RULE_ifExpr);
try {
enterOuterAlt(_localctx, 1);
{
setState(231);
match(IF);
setState(232);
match(LPAR);
setState(233);
expr();
setState(234);
match(RPAR);
setState(235);
match(THEN);
setState(236);
exprSingle();
setState(237);
match(ELSE);
setState(238);
exprSingle();
}
}
catch (RecognitionException re) {
_localctx.exception = re;
_errHandler.reportError(this, re);
_errHandler.recover(this, re);
}
finally {
exitRule();
}
return _localctx;
}
public static class OrExprContext extends ParserRuleContext {
public AndExprContext andExpr() {
return getRuleContext(AndExprContext.class,0);
}
public OrExprContext orExpr() {
return getRuleContext(OrExprContext.class,0);
}
public TerminalNode OR() { return getToken(XPath2Parser.OR, 0); }
public OrExprContext(ParserRuleContext parent, int invokingState) {
super(parent, invokingState);
}
@Override public int getRuleIndex() { return RULE_orExpr; }
@Override
public void enterRule(ParseTreeListener listener) {
if ( listener instanceof XPath2ParserListener ) ((XPath2ParserListener)listener).enterOrExpr(this);
}
@Override
public void exitRule(ParseTreeListener listener) {
if ( listener instanceof XPath2ParserListener ) ((XPath2ParserListener)listener).exitOrExpr(this);
}
}
public final OrExprContext orExpr() throws RecognitionException {
return orExpr(0);
}
private OrExprContext orExpr(int _p) throws RecognitionException {
ParserRuleContext _parentctx = _ctx;
int _parentState = getState();
OrExprContext _localctx = new OrExprContext(_ctx, _parentState);
OrExprContext _prevctx = _localctx;
int _startState = 16;
enterRecursionRule(_localctx, 16, RULE_orExpr, _p);
try {
int _alt;
enterOuterAlt(_localctx, 1);
{
{
setState(241);
andExpr(0);
}
_ctx.stop = _input.LT(-1);
setState(248);
_errHandler.sync(this);
_alt = getInterpreter().adaptivePredict(_input,5,_ctx);
while ( _alt!=2 && _alt!=org.antlr.v4.runtime.atn.ATN.INVALID_ALT_NUMBER ) {
if ( _alt==1 ) {
if ( _parseListeners!=null ) triggerExitRuleEvent();
_prevctx = _localctx;
{
{
_localctx = new OrExprContext(_parentctx, _parentState);
pushNewRecursionContext(_localctx, _startState, RULE_orExpr);
setState(243);
if (!(precpred(_ctx, 1))) throw new FailedPredicateException(this, "precpred(_ctx, 1)");
setState(244);
match(OR);
setState(245);
andExpr(0);
}
}
}
setState(250);
_errHandler.sync(this);
_alt = getInterpreter().adaptivePredict(_input,5,_ctx);
}
}
}
catch (RecognitionException re) {
_localctx.exception = re;
_errHandler.reportError(this, re);
_errHandler.recover(this, re);
}
finally {
unrollRecursionContexts(_parentctx);
}
return _localctx;
}
public static class AndExprContext extends ParserRuleContext {
public ComparisonExprContext comparisonExpr() {
return getRuleContext(ComparisonExprContext.class,0);
}
public AndExprContext andExpr() {
return getRuleContext(AndExprContext.class,0);
}
public TerminalNode AND() { return getToken(XPath2Parser.AND, 0); }
public AndExprContext(ParserRuleContext parent, int invokingState) {
super(parent, invokingState);
}
@Override public int getRuleIndex() { return RULE_andExpr; }
@Override
public void enterRule(ParseTreeListener listener) {
if ( listener instanceof XPath2ParserListener ) ((XPath2ParserListener)listener).enterAndExpr(this);
}
@Override
public void exitRule(ParseTreeListener listener) {
if ( listener instanceof XPath2ParserListener ) ((XPath2ParserListener)listener).exitAndExpr(this);
}
}
public final AndExprContext andExpr() throws RecognitionException {
return andExpr(0);
}
private AndExprContext andExpr(int _p) throws RecognitionException {
ParserRuleContext _parentctx = _ctx;
int _parentState = getState();
AndExprContext _localctx = new AndExprContext(_ctx, _parentState);
AndExprContext _prevctx = _localctx;
int _startState = 18;
enterRecursionRule(_localctx, 18, RULE_andExpr, _p);
try {
int _alt;
enterOuterAlt(_localctx, 1);
{
{
setState(252);
comparisonExpr();
}
_ctx.stop = _input.LT(-1);
setState(259);
_errHandler.sync(this);
_alt = getInterpreter().adaptivePredict(_input,6,_ctx);
while ( _alt!=2 && _alt!=org.antlr.v4.runtime.atn.ATN.INVALID_ALT_NUMBER ) {
if ( _alt==1 ) {
if ( _parseListeners!=null ) triggerExitRuleEvent();
_prevctx = _localctx;
{
{
_localctx = new AndExprContext(_parentctx, _parentState);
pushNewRecursionContext(_localctx, _startState, RULE_andExpr);
setState(254);
if (!(precpred(_ctx, 1))) throw new FailedPredicateException(this, "precpred(_ctx, 1)");
setState(255);
match(AND);
setState(256);
comparisonExpr();
}
}
}
setState(261);
_errHandler.sync(this);
_alt = getInterpreter().adaptivePredict(_input,6,_ctx);
}
}
}
catch (RecognitionException re) {
_localctx.exception = re;
_errHandler.reportError(this, re);
_errHandler.recover(this, re);
}
finally {
unrollRecursionContexts(_parentctx);
}
return _localctx;
}
public static class ComparisonExprContext extends ParserRuleContext {
public List rangeExpr() {
return getRuleContexts(RangeExprContext.class);
}
public RangeExprContext rangeExpr(int i) {
return getRuleContext(RangeExprContext.class,i);
}
public ValueCompContext valueComp() {
return getRuleContext(ValueCompContext.class,0);
}
public GeneralCompContext generalComp() {
return getRuleContext(GeneralCompContext.class,0);
}
public NodeCompContext nodeComp() {
return getRuleContext(NodeCompContext.class,0);
}
public ComparisonExprContext(ParserRuleContext parent, int invokingState) {
super(parent, invokingState);
}
@Override public int getRuleIndex() { return RULE_comparisonExpr; }
@Override
public void enterRule(ParseTreeListener listener) {
if ( listener instanceof XPath2ParserListener ) ((XPath2ParserListener)listener).enterComparisonExpr(this);
}
@Override
public void exitRule(ParseTreeListener listener) {
if ( listener instanceof XPath2ParserListener ) ((XPath2ParserListener)listener).exitComparisonExpr(this);
}
}
public final ComparisonExprContext comparisonExpr() throws RecognitionException {
ComparisonExprContext _localctx = new ComparisonExprContext(_ctx, getState());
enterRule(_localctx, 20, RULE_comparisonExpr);
try {
setState(275);
_errHandler.sync(this);
switch ( getInterpreter().adaptivePredict(_input,7,_ctx) ) {
case 1:
enterOuterAlt(_localctx, 1);
{
setState(262);
rangeExpr();
}
break;
case 2:
enterOuterAlt(_localctx, 2);
{
setState(263);
rangeExpr();
setState(264);
valueComp();
setState(265);
rangeExpr();
}
break;
case 3:
enterOuterAlt(_localctx, 3);
{
setState(267);
rangeExpr();
setState(268);
generalComp();
setState(269);
rangeExpr();
}
break;
case 4:
enterOuterAlt(_localctx, 4);
{
setState(271);
rangeExpr();
setState(272);
nodeComp();
setState(273);
rangeExpr();
}
break;
}
}
catch (RecognitionException re) {
_localctx.exception = re;
_errHandler.reportError(this, re);
_errHandler.recover(this, re);
}
finally {
exitRule();
}
return _localctx;
}
public static class RangeExprContext extends ParserRuleContext {
public List additiveExpr() {
return getRuleContexts(AdditiveExprContext.class);
}
public AdditiveExprContext additiveExpr(int i) {
return getRuleContext(AdditiveExprContext.class,i);
}
public TerminalNode TO() { return getToken(XPath2Parser.TO, 0); }
public RangeExprContext(ParserRuleContext parent, int invokingState) {
super(parent, invokingState);
}
@Override public int getRuleIndex() { return RULE_rangeExpr; }
@Override
public void enterRule(ParseTreeListener listener) {
if ( listener instanceof XPath2ParserListener ) ((XPath2ParserListener)listener).enterRangeExpr(this);
}
@Override
public void exitRule(ParseTreeListener listener) {
if ( listener instanceof XPath2ParserListener ) ((XPath2ParserListener)listener).exitRangeExpr(this);
}
}
public final RangeExprContext rangeExpr() throws RecognitionException {
RangeExprContext _localctx = new RangeExprContext(_ctx, getState());
enterRule(_localctx, 22, RULE_rangeExpr);
try {
setState(282);
_errHandler.sync(this);
switch ( getInterpreter().adaptivePredict(_input,8,_ctx) ) {
case 1:
enterOuterAlt(_localctx, 1);
{
setState(277);
additiveExpr(0);
}
break;
case 2:
enterOuterAlt(_localctx, 2);
{
setState(278);
additiveExpr(0);
setState(279);
match(TO);
setState(280);
additiveExpr(0);
}
break;
}
}
catch (RecognitionException re) {
_localctx.exception = re;
_errHandler.reportError(this, re);
_errHandler.recover(this, re);
}
finally {
exitRule();
}
return _localctx;
}
public static class AdditiveExprContext extends ParserRuleContext {
public MultiplicativeExprContext multiplicativeExpr() {
return getRuleContext(MultiplicativeExprContext.class,0);
}
public AdditiveExprContext additiveExpr() {
return getRuleContext(AdditiveExprContext.class,0);
}
public TerminalNode PLUS() { return getToken(XPath2Parser.PLUS, 0); }
public TerminalNode MINUS() { return getToken(XPath2Parser.MINUS, 0); }
public AdditiveExprContext(ParserRuleContext parent, int invokingState) {
super(parent, invokingState);
}
@Override public int getRuleIndex() { return RULE_additiveExpr; }
@Override
public void enterRule(ParseTreeListener listener) {
if ( listener instanceof XPath2ParserListener ) ((XPath2ParserListener)listener).enterAdditiveExpr(this);
}
@Override
public void exitRule(ParseTreeListener listener) {
if ( listener instanceof XPath2ParserListener ) ((XPath2ParserListener)listener).exitAdditiveExpr(this);
}
}
public final AdditiveExprContext additiveExpr() throws RecognitionException {
return additiveExpr(0);
}
private AdditiveExprContext additiveExpr(int _p) throws RecognitionException {
ParserRuleContext _parentctx = _ctx;
int _parentState = getState();
AdditiveExprContext _localctx = new AdditiveExprContext(_ctx, _parentState);
AdditiveExprContext _prevctx = _localctx;
int _startState = 24;
enterRecursionRule(_localctx, 24, RULE_additiveExpr, _p);
try {
int _alt;
enterOuterAlt(_localctx, 1);
{
{
setState(285);
multiplicativeExpr(0);
}
_ctx.stop = _input.LT(-1);
setState(295);
_errHandler.sync(this);
_alt = getInterpreter().adaptivePredict(_input,10,_ctx);
while ( _alt!=2 && _alt!=org.antlr.v4.runtime.atn.ATN.INVALID_ALT_NUMBER ) {
if ( _alt==1 ) {
if ( _parseListeners!=null ) triggerExitRuleEvent();
_prevctx = _localctx;
{
setState(293);
_errHandler.sync(this);
switch ( getInterpreter().adaptivePredict(_input,9,_ctx) ) {
case 1:
{
_localctx = new AdditiveExprContext(_parentctx, _parentState);
pushNewRecursionContext(_localctx, _startState, RULE_additiveExpr);
setState(287);
if (!(precpred(_ctx, 2))) throw new FailedPredicateException(this, "precpred(_ctx, 2)");
setState(288);
match(PLUS);
setState(289);
multiplicativeExpr(0);
}
break;
case 2:
{
_localctx = new AdditiveExprContext(_parentctx, _parentState);
pushNewRecursionContext(_localctx, _startState, RULE_additiveExpr);
setState(290);
if (!(precpred(_ctx, 1))) throw new FailedPredicateException(this, "precpred(_ctx, 1)");
setState(291);
match(MINUS);
setState(292);
multiplicativeExpr(0);
}
break;
}
}
}
setState(297);
_errHandler.sync(this);
_alt = getInterpreter().adaptivePredict(_input,10,_ctx);
}
}
}
catch (RecognitionException re) {
_localctx.exception = re;
_errHandler.reportError(this, re);
_errHandler.recover(this, re);
}
finally {
unrollRecursionContexts(_parentctx);
}
return _localctx;
}
public static class MultiplicativeExprContext extends ParserRuleContext {
public UnionExprContext unionExpr() {
return getRuleContext(UnionExprContext.class,0);
}
public MultiplicativeExprContext multiplicativeExpr() {
return getRuleContext(MultiplicativeExprContext.class,0);
}
public TerminalNode STAR() { return getToken(XPath2Parser.STAR, 0); }
public TerminalNode DIV() { return getToken(XPath2Parser.DIV, 0); }
public TerminalNode IDIV() { return getToken(XPath2Parser.IDIV, 0); }
public TerminalNode MOD() { return getToken(XPath2Parser.MOD, 0); }
public MultiplicativeExprContext(ParserRuleContext parent, int invokingState) {
super(parent, invokingState);
}
@Override public int getRuleIndex() { return RULE_multiplicativeExpr; }
@Override
public void enterRule(ParseTreeListener listener) {
if ( listener instanceof XPath2ParserListener ) ((XPath2ParserListener)listener).enterMultiplicativeExpr(this);
}
@Override
public void exitRule(ParseTreeListener listener) {
if ( listener instanceof XPath2ParserListener ) ((XPath2ParserListener)listener).exitMultiplicativeExpr(this);
}
}
public final MultiplicativeExprContext multiplicativeExpr() throws RecognitionException {
return multiplicativeExpr(0);
}
private MultiplicativeExprContext multiplicativeExpr(int _p) throws RecognitionException {
ParserRuleContext _parentctx = _ctx;
int _parentState = getState();
MultiplicativeExprContext _localctx = new MultiplicativeExprContext(_ctx, _parentState);
MultiplicativeExprContext _prevctx = _localctx;
int _startState = 26;
enterRecursionRule(_localctx, 26, RULE_multiplicativeExpr, _p);
try {
int _alt;
enterOuterAlt(_localctx, 1);
{
{
setState(299);
unionExpr(0);
}
_ctx.stop = _input.LT(-1);
setState(315);
_errHandler.sync(this);
_alt = getInterpreter().adaptivePredict(_input,12,_ctx);
while ( _alt!=2 && _alt!=org.antlr.v4.runtime.atn.ATN.INVALID_ALT_NUMBER ) {
if ( _alt==1 ) {
if ( _parseListeners!=null ) triggerExitRuleEvent();
_prevctx = _localctx;
{
setState(313);
_errHandler.sync(this);
switch ( getInterpreter().adaptivePredict(_input,11,_ctx) ) {
case 1:
{
_localctx = new MultiplicativeExprContext(_parentctx, _parentState);
pushNewRecursionContext(_localctx, _startState, RULE_multiplicativeExpr);
setState(301);
if (!(precpred(_ctx, 4))) throw new FailedPredicateException(this, "precpred(_ctx, 4)");
setState(302);
match(STAR);
setState(303);
unionExpr(0);
}
break;
case 2:
{
_localctx = new MultiplicativeExprContext(_parentctx, _parentState);
pushNewRecursionContext(_localctx, _startState, RULE_multiplicativeExpr);
setState(304);
if (!(precpred(_ctx, 3))) throw new FailedPredicateException(this, "precpred(_ctx, 3)");
setState(305);
match(DIV);
setState(306);
unionExpr(0);
}
break;
case 3:
{
_localctx = new MultiplicativeExprContext(_parentctx, _parentState);
pushNewRecursionContext(_localctx, _startState, RULE_multiplicativeExpr);
setState(307);
if (!(precpred(_ctx, 2))) throw new FailedPredicateException(this, "precpred(_ctx, 2)");
setState(308);
match(IDIV);
setState(309);
unionExpr(0);
}
break;
case 4:
{
_localctx = new MultiplicativeExprContext(_parentctx, _parentState);
pushNewRecursionContext(_localctx, _startState, RULE_multiplicativeExpr);
setState(310);
if (!(precpred(_ctx, 1))) throw new FailedPredicateException(this, "precpred(_ctx, 1)");
setState(311);
match(MOD);
setState(312);
unionExpr(0);
}
break;
}
}
}
setState(317);
_errHandler.sync(this);
_alt = getInterpreter().adaptivePredict(_input,12,_ctx);
}
}
}
catch (RecognitionException re) {
_localctx.exception = re;
_errHandler.reportError(this, re);
_errHandler.recover(this, re);
}
finally {
unrollRecursionContexts(_parentctx);
}
return _localctx;
}
public static class UnionExprContext extends ParserRuleContext {
public IntersectExceptExprContext intersectExceptExpr() {
return getRuleContext(IntersectExceptExprContext.class,0);
}
public UnionExprContext unionExpr() {
return getRuleContext(UnionExprContext.class,0);
}
public TerminalNode UNION() { return getToken(XPath2Parser.UNION, 0); }
public TerminalNode PIPE() { return getToken(XPath2Parser.PIPE, 0); }
public UnionExprContext(ParserRuleContext parent, int invokingState) {
super(parent, invokingState);
}
@Override public int getRuleIndex() { return RULE_unionExpr; }
@Override
public void enterRule(ParseTreeListener listener) {
if ( listener instanceof XPath2ParserListener ) ((XPath2ParserListener)listener).enterUnionExpr(this);
}
@Override
public void exitRule(ParseTreeListener listener) {
if ( listener instanceof XPath2ParserListener ) ((XPath2ParserListener)listener).exitUnionExpr(this);
}
}
public final UnionExprContext unionExpr() throws RecognitionException {
return unionExpr(0);
}
private UnionExprContext unionExpr(int _p) throws RecognitionException {
ParserRuleContext _parentctx = _ctx;
int _parentState = getState();
UnionExprContext _localctx = new UnionExprContext(_ctx, _parentState);
UnionExprContext _prevctx = _localctx;
int _startState = 28;
enterRecursionRule(_localctx, 28, RULE_unionExpr, _p);
try {
int _alt;
enterOuterAlt(_localctx, 1);
{
{
setState(319);
intersectExceptExpr(0);
}
_ctx.stop = _input.LT(-1);
setState(329);
_errHandler.sync(this);
_alt = getInterpreter().adaptivePredict(_input,14,_ctx);
while ( _alt!=2 && _alt!=org.antlr.v4.runtime.atn.ATN.INVALID_ALT_NUMBER ) {
if ( _alt==1 ) {
if ( _parseListeners!=null ) triggerExitRuleEvent();
_prevctx = _localctx;
{
setState(327);
_errHandler.sync(this);
switch ( getInterpreter().adaptivePredict(_input,13,_ctx) ) {
case 1:
{
_localctx = new UnionExprContext(_parentctx, _parentState);
pushNewRecursionContext(_localctx, _startState, RULE_unionExpr);
setState(321);
if (!(precpred(_ctx, 2))) throw new FailedPredicateException(this, "precpred(_ctx, 2)");
setState(322);
match(UNION);
setState(323);
intersectExceptExpr(0);
}
break;
case 2:
{
_localctx = new UnionExprContext(_parentctx, _parentState);
pushNewRecursionContext(_localctx, _startState, RULE_unionExpr);
setState(324);
if (!(precpred(_ctx, 1))) throw new FailedPredicateException(this, "precpred(_ctx, 1)");
setState(325);
match(PIPE);
setState(326);
intersectExceptExpr(0);
}
break;
}
}
}
setState(331);
_errHandler.sync(this);
_alt = getInterpreter().adaptivePredict(_input,14,_ctx);
}
}
}
catch (RecognitionException re) {
_localctx.exception = re;
_errHandler.reportError(this, re);
_errHandler.recover(this, re);
}
finally {
unrollRecursionContexts(_parentctx);
}
return _localctx;
}
public static class IntersectExceptExprContext extends ParserRuleContext {
public InstanceOfExprContext instanceOfExpr() {
return getRuleContext(InstanceOfExprContext.class,0);
}
public IntersectExceptExprContext intersectExceptExpr() {
return getRuleContext(IntersectExceptExprContext.class,0);
}
public TerminalNode INTERSECT() { return getToken(XPath2Parser.INTERSECT, 0); }
public TerminalNode EXCEPT() { return getToken(XPath2Parser.EXCEPT, 0); }
public IntersectExceptExprContext(ParserRuleContext parent, int invokingState) {
super(parent, invokingState);
}
@Override public int getRuleIndex() { return RULE_intersectExceptExpr; }
@Override
public void enterRule(ParseTreeListener listener) {
if ( listener instanceof XPath2ParserListener ) ((XPath2ParserListener)listener).enterIntersectExceptExpr(this);
}
@Override
public void exitRule(ParseTreeListener listener) {
if ( listener instanceof XPath2ParserListener ) ((XPath2ParserListener)listener).exitIntersectExceptExpr(this);
}
}
public final IntersectExceptExprContext intersectExceptExpr() throws RecognitionException {
return intersectExceptExpr(0);
}
private IntersectExceptExprContext intersectExceptExpr(int _p) throws RecognitionException {
ParserRuleContext _parentctx = _ctx;
int _parentState = getState();
IntersectExceptExprContext _localctx = new IntersectExceptExprContext(_ctx, _parentState);
IntersectExceptExprContext _prevctx = _localctx;
int _startState = 30;
enterRecursionRule(_localctx, 30, RULE_intersectExceptExpr, _p);
try {
int _alt;
enterOuterAlt(_localctx, 1);
{
{
setState(333);
instanceOfExpr();
}
_ctx.stop = _input.LT(-1);
setState(343);
_errHandler.sync(this);
_alt = getInterpreter().adaptivePredict(_input,16,_ctx);
while ( _alt!=2 && _alt!=org.antlr.v4.runtime.atn.ATN.INVALID_ALT_NUMBER ) {
if ( _alt==1 ) {
if ( _parseListeners!=null ) triggerExitRuleEvent();
_prevctx = _localctx;
{
setState(341);
_errHandler.sync(this);
switch ( getInterpreter().adaptivePredict(_input,15,_ctx) ) {
case 1:
{
_localctx = new IntersectExceptExprContext(_parentctx, _parentState);
pushNewRecursionContext(_localctx, _startState, RULE_intersectExceptExpr);
setState(335);
if (!(precpred(_ctx, 2))) throw new FailedPredicateException(this, "precpred(_ctx, 2)");
setState(336);
match(INTERSECT);
setState(337);
instanceOfExpr();
}
break;
case 2:
{
_localctx = new IntersectExceptExprContext(_parentctx, _parentState);
pushNewRecursionContext(_localctx, _startState, RULE_intersectExceptExpr);
setState(338);
if (!(precpred(_ctx, 1))) throw new FailedPredicateException(this, "precpred(_ctx, 1)");
setState(339);
match(EXCEPT);
setState(340);
instanceOfExpr();
}
break;
}
}
}
setState(345);
_errHandler.sync(this);
_alt = getInterpreter().adaptivePredict(_input,16,_ctx);
}
}
}
catch (RecognitionException re) {
_localctx.exception = re;
_errHandler.reportError(this, re);
_errHandler.recover(this, re);
}
finally {
unrollRecursionContexts(_parentctx);
}
return _localctx;
}
public static class InstanceOfExprContext extends ParserRuleContext {
public TreatExprContext treatExpr() {
return getRuleContext(TreatExprContext.class,0);
}
public TerminalNode INSTANCE() { return getToken(XPath2Parser.INSTANCE, 0); }
public TerminalNode OF() { return getToken(XPath2Parser.OF, 0); }
public SequenceTypeContext sequenceType() {
return getRuleContext(SequenceTypeContext.class,0);
}
public InstanceOfExprContext(ParserRuleContext parent, int invokingState) {
super(parent, invokingState);
}
@Override public int getRuleIndex() { return RULE_instanceOfExpr; }
@Override
public void enterRule(ParseTreeListener listener) {
if ( listener instanceof XPath2ParserListener ) ((XPath2ParserListener)listener).enterInstanceOfExpr(this);
}
@Override
public void exitRule(ParseTreeListener listener) {
if ( listener instanceof XPath2ParserListener ) ((XPath2ParserListener)listener).exitInstanceOfExpr(this);
}
}
public final InstanceOfExprContext instanceOfExpr() throws RecognitionException {
InstanceOfExprContext _localctx = new InstanceOfExprContext(_ctx, getState());
enterRule(_localctx, 32, RULE_instanceOfExpr);
try {
setState(352);
_errHandler.sync(this);
switch ( getInterpreter().adaptivePredict(_input,17,_ctx) ) {
case 1:
enterOuterAlt(_localctx, 1);
{
setState(346);
treatExpr();
}
break;
case 2:
enterOuterAlt(_localctx, 2);
{
setState(347);
treatExpr();
setState(348);
match(INSTANCE);
setState(349);
match(OF);
setState(350);
sequenceType();
}
break;
}
}
catch (RecognitionException re) {
_localctx.exception = re;
_errHandler.reportError(this, re);
_errHandler.recover(this, re);
}
finally {
exitRule();
}
return _localctx;
}
public static class TreatExprContext extends ParserRuleContext {
public CastableExprContext castableExpr() {
return getRuleContext(CastableExprContext.class,0);
}
public TerminalNode TREAT() { return getToken(XPath2Parser.TREAT, 0); }
public TerminalNode AS() { return getToken(XPath2Parser.AS, 0); }
public SequenceTypeContext sequenceType() {
return getRuleContext(SequenceTypeContext.class,0);
}
public TreatExprContext(ParserRuleContext parent, int invokingState) {
super(parent, invokingState);
}
@Override public int getRuleIndex() { return RULE_treatExpr; }
@Override
public void enterRule(ParseTreeListener listener) {
if ( listener instanceof XPath2ParserListener ) ((XPath2ParserListener)listener).enterTreatExpr(this);
}
@Override
public void exitRule(ParseTreeListener listener) {
if ( listener instanceof XPath2ParserListener ) ((XPath2ParserListener)listener).exitTreatExpr(this);
}
}
public final TreatExprContext treatExpr() throws RecognitionException {
TreatExprContext _localctx = new TreatExprContext(_ctx, getState());
enterRule(_localctx, 34, RULE_treatExpr);
try {
setState(360);
_errHandler.sync(this);
switch ( getInterpreter().adaptivePredict(_input,18,_ctx) ) {
case 1:
enterOuterAlt(_localctx, 1);
{
setState(354);
castableExpr();
}
break;
case 2:
enterOuterAlt(_localctx, 2);
{
setState(355);
castableExpr();
setState(356);
match(TREAT);
setState(357);
match(AS);
setState(358);
sequenceType();
}
break;
}
}
catch (RecognitionException re) {
_localctx.exception = re;
_errHandler.reportError(this, re);
_errHandler.recover(this, re);
}
finally {
exitRule();
}
return _localctx;
}
public static class CastableExprContext extends ParserRuleContext {
public CastExprContext castExpr() {
return getRuleContext(CastExprContext.class,0);
}
public TerminalNode CASTABLE() { return getToken(XPath2Parser.CASTABLE, 0); }
public TerminalNode AS() { return getToken(XPath2Parser.AS, 0); }
public SingleTypeContext singleType() {
return getRuleContext(SingleTypeContext.class,0);
}
public CastableExprContext(ParserRuleContext parent, int invokingState) {
super(parent, invokingState);
}
@Override public int getRuleIndex() { return RULE_castableExpr; }
@Override
public void enterRule(ParseTreeListener listener) {
if ( listener instanceof XPath2ParserListener ) ((XPath2ParserListener)listener).enterCastableExpr(this);
}
@Override
public void exitRule(ParseTreeListener listener) {
if ( listener instanceof XPath2ParserListener ) ((XPath2ParserListener)listener).exitCastableExpr(this);
}
}
public final CastableExprContext castableExpr() throws RecognitionException {
CastableExprContext _localctx = new CastableExprContext(_ctx, getState());
enterRule(_localctx, 36, RULE_castableExpr);
try {
setState(368);
_errHandler.sync(this);
switch ( getInterpreter().adaptivePredict(_input,19,_ctx) ) {
case 1:
enterOuterAlt(_localctx, 1);
{
setState(362);
castExpr();
}
break;
case 2:
enterOuterAlt(_localctx, 2);
{
setState(363);
castExpr();
setState(364);
match(CASTABLE);
setState(365);
match(AS);
setState(366);
singleType();
}
break;
}
}
catch (RecognitionException re) {
_localctx.exception = re;
_errHandler.reportError(this, re);
_errHandler.recover(this, re);
}
finally {
exitRule();
}
return _localctx;
}
public static class CastExprContext extends ParserRuleContext {
public UnaryExprContext unaryExpr() {
return getRuleContext(UnaryExprContext.class,0);
}
public TerminalNode CAST() { return getToken(XPath2Parser.CAST, 0); }
public TerminalNode AS() { return getToken(XPath2Parser.AS, 0); }
public SingleTypeContext singleType() {
return getRuleContext(SingleTypeContext.class,0);
}
public CastExprContext(ParserRuleContext parent, int invokingState) {
super(parent, invokingState);
}
@Override public int getRuleIndex() { return RULE_castExpr; }
@Override
public void enterRule(ParseTreeListener listener) {
if ( listener instanceof XPath2ParserListener ) ((XPath2ParserListener)listener).enterCastExpr(this);
}
@Override
public void exitRule(ParseTreeListener listener) {
if ( listener instanceof XPath2ParserListener ) ((XPath2ParserListener)listener).exitCastExpr(this);
}
}
public final CastExprContext castExpr() throws RecognitionException {
CastExprContext _localctx = new CastExprContext(_ctx, getState());
enterRule(_localctx, 38, RULE_castExpr);
try {
setState(376);
_errHandler.sync(this);
switch ( getInterpreter().adaptivePredict(_input,20,_ctx) ) {
case 1:
enterOuterAlt(_localctx, 1);
{
setState(370);
unaryExpr();
}
break;
case 2:
enterOuterAlt(_localctx, 2);
{
setState(371);
unaryExpr();
setState(372);
match(CAST);
setState(373);
match(AS);
setState(374);
singleType();
}
break;
}
}
catch (RecognitionException re) {
_localctx.exception = re;
_errHandler.reportError(this, re);
_errHandler.recover(this, re);
}
finally {
exitRule();
}
return _localctx;
}
public static class UnaryExprContext extends ParserRuleContext {
public ValueExprContext valueExpr() {
return getRuleContext(ValueExprContext.class,0);
}
public TerminalNode MINUS() { return getToken(XPath2Parser.MINUS, 0); }
public UnaryExprContext unaryExpr() {
return getRuleContext(UnaryExprContext.class,0);
}
public TerminalNode PLUS() { return getToken(XPath2Parser.PLUS, 0); }
public UnaryExprContext(ParserRuleContext parent, int invokingState) {
super(parent, invokingState);
}
@Override public int getRuleIndex() { return RULE_unaryExpr; }
@Override
public void enterRule(ParseTreeListener listener) {
if ( listener instanceof XPath2ParserListener ) ((XPath2ParserListener)listener).enterUnaryExpr(this);
}
@Override
public void exitRule(ParseTreeListener listener) {
if ( listener instanceof XPath2ParserListener ) ((XPath2ParserListener)listener).exitUnaryExpr(this);
}
}
public final UnaryExprContext unaryExpr() throws RecognitionException {
UnaryExprContext _localctx = new UnaryExprContext(_ctx, getState());
enterRule(_localctx, 40, RULE_unaryExpr);
try {
setState(383);
_errHandler.sync(this);
switch (_input.LA(1)) {
case DIGITS:
case DECIMAL_LITERAL:
case DOUBLE_LITERAL:
case STRING_LITERAL:
case LPAR:
case STAR:
case FORWARD_SLASH:
case FORWARD_SLASHSLASH:
case AT_SYM:
case DOTDOT:
case DOLLAR:
case DOT:
case CHILD:
case DESCENDANT:
case ATTRIBUTE:
case SELF:
case DESCENDANT_OR_SELF:
case FOLLOWING_SIBLING:
case FOLLOWING:
case NAMESPACE:
case PARENT:
case ANCESTOR:
case PRECEDING_SIBLING:
case PRECEDING:
case ANCESTOR_OR_SELF:
case EQ:
case NE:
case LT:
case LE:
case GT:
case GE:
case IDIV:
case DIV:
case MOD:
case UNION:
case INTERSECT:
case EXCEPT:
case INSTANCE:
case TREAT:
case CASTABLE:
case CAST:
case AS:
case OF:
case IS:
case FOR:
case IN:
case RETURN:
case SATISFIES:
case TO:
case SOME:
case EVERY:
case IF:
case THEN:
case ELSE:
case AND:
case OR:
case EMPTY_SEQUENCE:
case ITEM:
case NODE:
case DOCUMENT_NODE:
case TEXT:
case COMMENT:
case PROCESSING_INSTRUCTION:
case SCHEMA_ATTRIBUTE:
case ELEMENT:
case SCHEMA_ELEMENT:
case TYPESWITCH:
case NCNAME:
enterOuterAlt(_localctx, 1);
{
setState(378);
valueExpr();
}
break;
case MINUS:
enterOuterAlt(_localctx, 2);
{
setState(379);
match(MINUS);
setState(380);
unaryExpr();
}
break;
case PLUS:
enterOuterAlt(_localctx, 3);
{
setState(381);
match(PLUS);
setState(382);
unaryExpr();
}
break;
default:
throw new NoViableAltException(this);
}
}
catch (RecognitionException re) {
_localctx.exception = re;
_errHandler.reportError(this, re);
_errHandler.recover(this, re);
}
finally {
exitRule();
}
return _localctx;
}
public static class ValueExprContext extends ParserRuleContext {
public PathExprContext pathExpr() {
return getRuleContext(PathExprContext.class,0);
}
public ValueExprContext(ParserRuleContext parent, int invokingState) {
super(parent, invokingState);
}
@Override public int getRuleIndex() { return RULE_valueExpr; }
@Override
public void enterRule(ParseTreeListener listener) {
if ( listener instanceof XPath2ParserListener ) ((XPath2ParserListener)listener).enterValueExpr(this);
}
@Override
public void exitRule(ParseTreeListener listener) {
if ( listener instanceof XPath2ParserListener ) ((XPath2ParserListener)listener).exitValueExpr(this);
}
}
public final ValueExprContext valueExpr() throws RecognitionException {
ValueExprContext _localctx = new ValueExprContext(_ctx, getState());
enterRule(_localctx, 42, RULE_valueExpr);
try {
enterOuterAlt(_localctx, 1);
{
setState(385);
pathExpr();
}
}
catch (RecognitionException re) {
_localctx.exception = re;
_errHandler.reportError(this, re);
_errHandler.recover(this, re);
}
finally {
exitRule();
}
return _localctx;
}
public static class GeneralCompContext extends ParserRuleContext {
public TerminalNode EQUALS() { return getToken(XPath2Parser.EQUALS, 0); }
public TerminalNode NOTEQUALS() { return getToken(XPath2Parser.NOTEQUALS, 0); }
public TerminalNode LESSTHAN() { return getToken(XPath2Parser.LESSTHAN, 0); }
public TerminalNode LESSEQUAL() { return getToken(XPath2Parser.LESSEQUAL, 0); }
public TerminalNode GREATER() { return getToken(XPath2Parser.GREATER, 0); }
public TerminalNode GREATEREQUAL() { return getToken(XPath2Parser.GREATEREQUAL, 0); }
public GeneralCompContext(ParserRuleContext parent, int invokingState) {
super(parent, invokingState);
}
@Override public int getRuleIndex() { return RULE_generalComp; }
@Override
public void enterRule(ParseTreeListener listener) {
if ( listener instanceof XPath2ParserListener ) ((XPath2ParserListener)listener).enterGeneralComp(this);
}
@Override
public void exitRule(ParseTreeListener listener) {
if ( listener instanceof XPath2ParserListener ) ((XPath2ParserListener)listener).exitGeneralComp(this);
}
}
public final GeneralCompContext generalComp() throws RecognitionException {
GeneralCompContext _localctx = new GeneralCompContext(_ctx, getState());
enterRule(_localctx, 44, RULE_generalComp);
int _la;
try {
enterOuterAlt(_localctx, 1);
{
setState(387);
_la = _input.LA(1);
if ( !((((_la) & ~0x3f) == 0 && ((1L << _la) & ((1L << EQUALS) | (1L << NOTEQUALS) | (1L << LESSTHAN) | (1L << LESSEQUAL) | (1L << GREATER) | (1L << GREATEREQUAL))) != 0)) ) {
_errHandler.recoverInline(this);
}
else {
if ( _input.LA(1)==Token.EOF ) matchedEOF = true;
_errHandler.reportMatch(this);
consume();
}
}
}
catch (RecognitionException re) {
_localctx.exception = re;
_errHandler.reportError(this, re);
_errHandler.recover(this, re);
}
finally {
exitRule();
}
return _localctx;
}
public static class ValueCompContext extends ParserRuleContext {
public TerminalNode EQ() { return getToken(XPath2Parser.EQ, 0); }
public TerminalNode NE() { return getToken(XPath2Parser.NE, 0); }
public TerminalNode LT() { return getToken(XPath2Parser.LT, 0); }
public TerminalNode LE() { return getToken(XPath2Parser.LE, 0); }
public TerminalNode GT() { return getToken(XPath2Parser.GT, 0); }
public TerminalNode GE() { return getToken(XPath2Parser.GE, 0); }
public ValueCompContext(ParserRuleContext parent, int invokingState) {
super(parent, invokingState);
}
@Override public int getRuleIndex() { return RULE_valueComp; }
@Override
public void enterRule(ParseTreeListener listener) {
if ( listener instanceof XPath2ParserListener ) ((XPath2ParserListener)listener).enterValueComp(this);
}
@Override
public void exitRule(ParseTreeListener listener) {
if ( listener instanceof XPath2ParserListener ) ((XPath2ParserListener)listener).exitValueComp(this);
}
}
public final ValueCompContext valueComp() throws RecognitionException {
ValueCompContext _localctx = new ValueCompContext(_ctx, getState());
enterRule(_localctx, 46, RULE_valueComp);
int _la;
try {
enterOuterAlt(_localctx, 1);
{
setState(389);
_la = _input.LA(1);
if ( !((((_la) & ~0x3f) == 0 && ((1L << _la) & ((1L << EQ) | (1L << NE) | (1L << LT) | (1L << LE) | (1L << GT) | (1L << GE))) != 0)) ) {
_errHandler.recoverInline(this);
}
else {
if ( _input.LA(1)==Token.EOF ) matchedEOF = true;
_errHandler.reportMatch(this);
consume();
}
}
}
catch (RecognitionException re) {
_localctx.exception = re;
_errHandler.reportError(this, re);
_errHandler.recover(this, re);
}
finally {
exitRule();
}
return _localctx;
}
public static class NodeCompContext extends ParserRuleContext {
public TerminalNode IS() { return getToken(XPath2Parser.IS, 0); }
public TerminalNode LESS_LESS() { return getToken(XPath2Parser.LESS_LESS, 0); }
public TerminalNode GREATER_GREATER() { return getToken(XPath2Parser.GREATER_GREATER, 0); }
public NodeCompContext(ParserRuleContext parent, int invokingState) {
super(parent, invokingState);
}
@Override public int getRuleIndex() { return RULE_nodeComp; }
@Override
public void enterRule(ParseTreeListener listener) {
if ( listener instanceof XPath2ParserListener ) ((XPath2ParserListener)listener).enterNodeComp(this);
}
@Override
public void exitRule(ParseTreeListener listener) {
if ( listener instanceof XPath2ParserListener ) ((XPath2ParserListener)listener).exitNodeComp(this);
}
}
public final NodeCompContext nodeComp() throws RecognitionException {
NodeCompContext _localctx = new NodeCompContext(_ctx, getState());
enterRule(_localctx, 48, RULE_nodeComp);
int _la;
try {
enterOuterAlt(_localctx, 1);
{
setState(391);
_la = _input.LA(1);
if ( !((((_la) & ~0x3f) == 0 && ((1L << _la) & ((1L << LESS_LESS) | (1L << GREATER_GREATER) | (1L << IS))) != 0)) ) {
_errHandler.recoverInline(this);
}
else {
if ( _input.LA(1)==Token.EOF ) matchedEOF = true;
_errHandler.reportMatch(this);
consume();
}
}
}
catch (RecognitionException re) {
_localctx.exception = re;
_errHandler.reportError(this, re);
_errHandler.recover(this, re);
}
finally {
exitRule();
}
return _localctx;
}
public static class PathExprContext extends ParserRuleContext {
public TerminalNode FORWARD_SLASH() { return getToken(XPath2Parser.FORWARD_SLASH, 0); }
public RelativePathExprContext relativePathExpr() {
return getRuleContext(RelativePathExprContext.class,0);
}
public TerminalNode FORWARD_SLASHSLASH() { return getToken(XPath2Parser.FORWARD_SLASHSLASH, 0); }
public PathExprContext(ParserRuleContext parent, int invokingState) {
super(parent, invokingState);
}
@Override public int getRuleIndex() { return RULE_pathExpr; }
@Override
public void enterRule(ParseTreeListener listener) {
if ( listener instanceof XPath2ParserListener ) ((XPath2ParserListener)listener).enterPathExpr(this);
}
@Override
public void exitRule(ParseTreeListener listener) {
if ( listener instanceof XPath2ParserListener ) ((XPath2ParserListener)listener).exitPathExpr(this);
}
}
public final PathExprContext pathExpr() throws RecognitionException {
PathExprContext _localctx = new PathExprContext(_ctx, getState());
enterRule(_localctx, 50, RULE_pathExpr);
try {
setState(399);
_errHandler.sync(this);
switch ( getInterpreter().adaptivePredict(_input,22,_ctx) ) {
case 1:
enterOuterAlt(_localctx, 1);
{
setState(393);
match(FORWARD_SLASH);
}
break;
case 2:
enterOuterAlt(_localctx, 2);
{
setState(394);
match(FORWARD_SLASH);
setState(395);
relativePathExpr(0);
}
break;
case 3:
enterOuterAlt(_localctx, 3);
{
setState(396);
match(FORWARD_SLASHSLASH);
setState(397);
relativePathExpr(0);
}
break;
case 4:
enterOuterAlt(_localctx, 4);
{
setState(398);
relativePathExpr(0);
}
break;
}
}
catch (RecognitionException re) {
_localctx.exception = re;
_errHandler.reportError(this, re);
_errHandler.recover(this, re);
}
finally {
exitRule();
}
return _localctx;
}
public static class RelativePathExprContext extends ParserRuleContext {
public StepExprContext stepExpr() {
return getRuleContext(StepExprContext.class,0);
}
public RelativePathExprContext relativePathExpr() {
return getRuleContext(RelativePathExprContext.class,0);
}
public TerminalNode FORWARD_SLASH() { return getToken(XPath2Parser.FORWARD_SLASH, 0); }
public TerminalNode FORWARD_SLASHSLASH() { return getToken(XPath2Parser.FORWARD_SLASHSLASH, 0); }
public RelativePathExprContext(ParserRuleContext parent, int invokingState) {
super(parent, invokingState);
}
@Override public int getRuleIndex() { return RULE_relativePathExpr; }
@Override
public void enterRule(ParseTreeListener listener) {
if ( listener instanceof XPath2ParserListener ) ((XPath2ParserListener)listener).enterRelativePathExpr(this);
}
@Override
public void exitRule(ParseTreeListener listener) {
if ( listener instanceof XPath2ParserListener ) ((XPath2ParserListener)listener).exitRelativePathExpr(this);
}
}
public final RelativePathExprContext relativePathExpr() throws RecognitionException {
return relativePathExpr(0);
}
private RelativePathExprContext relativePathExpr(int _p) throws RecognitionException {
ParserRuleContext _parentctx = _ctx;
int _parentState = getState();
RelativePathExprContext _localctx = new RelativePathExprContext(_ctx, _parentState);
RelativePathExprContext _prevctx = _localctx;
int _startState = 52;
enterRecursionRule(_localctx, 52, RULE_relativePathExpr, _p);
try {
int _alt;
enterOuterAlt(_localctx, 1);
{
{
setState(402);
stepExpr();
}
_ctx.stop = _input.LT(-1);
setState(412);
_errHandler.sync(this);
_alt = getInterpreter().adaptivePredict(_input,24,_ctx);
while ( _alt!=2 && _alt!=org.antlr.v4.runtime.atn.ATN.INVALID_ALT_NUMBER ) {
if ( _alt==1 ) {
if ( _parseListeners!=null ) triggerExitRuleEvent();
_prevctx = _localctx;
{
setState(410);
_errHandler.sync(this);
switch ( getInterpreter().adaptivePredict(_input,23,_ctx) ) {
case 1:
{
_localctx = new RelativePathExprContext(_parentctx, _parentState);
pushNewRecursionContext(_localctx, _startState, RULE_relativePathExpr);
setState(404);
if (!(precpred(_ctx, 2))) throw new FailedPredicateException(this, "precpred(_ctx, 2)");
setState(405);
match(FORWARD_SLASH);
setState(406);
stepExpr();
}
break;
case 2:
{
_localctx = new RelativePathExprContext(_parentctx, _parentState);
pushNewRecursionContext(_localctx, _startState, RULE_relativePathExpr);
setState(407);
if (!(precpred(_ctx, 1))) throw new FailedPredicateException(this, "precpred(_ctx, 1)");
setState(408);
match(FORWARD_SLASHSLASH);
setState(409);
stepExpr();
}
break;
}
}
}
setState(414);
_errHandler.sync(this);
_alt = getInterpreter().adaptivePredict(_input,24,_ctx);
}
}
}
catch (RecognitionException re) {
_localctx.exception = re;
_errHandler.reportError(this, re);
_errHandler.recover(this, re);
}
finally {
unrollRecursionContexts(_parentctx);
}
return _localctx;
}
public static class StepExprContext extends ParserRuleContext {
public AxisStepContext axisStep() {
return getRuleContext(AxisStepContext.class,0);
}
public FilterExprContext filterExpr() {
return getRuleContext(FilterExprContext.class,0);
}
public StepExprContext(ParserRuleContext parent, int invokingState) {
super(parent, invokingState);
}
@Override public int getRuleIndex() { return RULE_stepExpr; }
@Override
public void enterRule(ParseTreeListener listener) {
if ( listener instanceof XPath2ParserListener ) ((XPath2ParserListener)listener).enterStepExpr(this);
}
@Override
public void exitRule(ParseTreeListener listener) {
if ( listener instanceof XPath2ParserListener ) ((XPath2ParserListener)listener).exitStepExpr(this);
}
}
public final StepExprContext stepExpr() throws RecognitionException {
StepExprContext _localctx = new StepExprContext(_ctx, getState());
enterRule(_localctx, 54, RULE_stepExpr);
try {
setState(417);
_errHandler.sync(this);
switch ( getInterpreter().adaptivePredict(_input,25,_ctx) ) {
case 1:
enterOuterAlt(_localctx, 1);
{
setState(415);
axisStep();
}
break;
case 2:
enterOuterAlt(_localctx, 2);
{
setState(416);
filterExpr();
}
break;
}
}
catch (RecognitionException re) {
_localctx.exception = re;
_errHandler.reportError(this, re);
_errHandler.recover(this, re);
}
finally {
exitRule();
}
return _localctx;
}
public static class AxisStepContext extends ParserRuleContext {
public ForwardStepContext forwardStep() {
return getRuleContext(ForwardStepContext.class,0);
}
public PredicateListContext predicateList() {
return getRuleContext(PredicateListContext.class,0);
}
public ReverseStepContext reverseStep() {
return getRuleContext(ReverseStepContext.class,0);
}
public AxisStepContext(ParserRuleContext parent, int invokingState) {
super(parent, invokingState);
}
@Override public int getRuleIndex() { return RULE_axisStep; }
@Override
public void enterRule(ParseTreeListener listener) {
if ( listener instanceof XPath2ParserListener ) ((XPath2ParserListener)listener).enterAxisStep(this);
}
@Override
public void exitRule(ParseTreeListener listener) {
if ( listener instanceof XPath2ParserListener ) ((XPath2ParserListener)listener).exitAxisStep(this);
}
}
public final AxisStepContext axisStep() throws RecognitionException {
AxisStepContext _localctx = new AxisStepContext(_ctx, getState());
enterRule(_localctx, 56, RULE_axisStep);
try {
setState(425);
_errHandler.sync(this);
switch ( getInterpreter().adaptivePredict(_input,26,_ctx) ) {
case 1:
enterOuterAlt(_localctx, 1);
{
setState(419);
forwardStep();
setState(420);
predicateList();
}
break;
case 2:
enterOuterAlt(_localctx, 2);
{
setState(422);
reverseStep();
setState(423);
predicateList();
}
break;
}
}
catch (RecognitionException re) {
_localctx.exception = re;
_errHandler.reportError(this, re);
_errHandler.recover(this, re);
}
finally {
exitRule();
}
return _localctx;
}
public static class ForwardStepContext extends ParserRuleContext {
public ForwardAxisContext forwardAxis() {
return getRuleContext(ForwardAxisContext.class,0);
}
public NodeTestContext nodeTest() {
return getRuleContext(NodeTestContext.class,0);
}
public AbbrevForwardStepContext abbrevForwardStep() {
return getRuleContext(AbbrevForwardStepContext.class,0);
}
public ForwardStepContext(ParserRuleContext parent, int invokingState) {
super(parent, invokingState);
}
@Override public int getRuleIndex() { return RULE_forwardStep; }
@Override
public void enterRule(ParseTreeListener listener) {
if ( listener instanceof XPath2ParserListener ) ((XPath2ParserListener)listener).enterForwardStep(this);
}
@Override
public void exitRule(ParseTreeListener listener) {
if ( listener instanceof XPath2ParserListener ) ((XPath2ParserListener)listener).exitForwardStep(this);
}
}
public final ForwardStepContext forwardStep() throws RecognitionException {
ForwardStepContext _localctx = new ForwardStepContext(_ctx, getState());
enterRule(_localctx, 58, RULE_forwardStep);
try {
setState(431);
_errHandler.sync(this);
switch ( getInterpreter().adaptivePredict(_input,27,_ctx) ) {
case 1:
enterOuterAlt(_localctx, 1);
{
setState(427);
forwardAxis();
setState(428);
nodeTest();
}
break;
case 2:
enterOuterAlt(_localctx, 2);
{
setState(430);
abbrevForwardStep();
}
break;
}
}
catch (RecognitionException re) {
_localctx.exception = re;
_errHandler.reportError(this, re);
_errHandler.recover(this, re);
}
finally {
exitRule();
}
return _localctx;
}
public static class ForwardAxisContext extends ParserRuleContext {
public TerminalNode CHILD() { return getToken(XPath2Parser.CHILD, 0); }
public TerminalNode COLONCOLON() { return getToken(XPath2Parser.COLONCOLON, 0); }
public TerminalNode DESCENDANT() { return getToken(XPath2Parser.DESCENDANT, 0); }
public TerminalNode ATTRIBUTE() { return getToken(XPath2Parser.ATTRIBUTE, 0); }
public TerminalNode SELF() { return getToken(XPath2Parser.SELF, 0); }
public TerminalNode DESCENDANT_OR_SELF() { return getToken(XPath2Parser.DESCENDANT_OR_SELF, 0); }
public TerminalNode FOLLOWING_SIBLING() { return getToken(XPath2Parser.FOLLOWING_SIBLING, 0); }
public TerminalNode FOLLOWING() { return getToken(XPath2Parser.FOLLOWING, 0); }
public TerminalNode NAMESPACE() { return getToken(XPath2Parser.NAMESPACE, 0); }
public ForwardAxisContext(ParserRuleContext parent, int invokingState) {
super(parent, invokingState);
}
@Override public int getRuleIndex() { return RULE_forwardAxis; }
@Override
public void enterRule(ParseTreeListener listener) {
if ( listener instanceof XPath2ParserListener ) ((XPath2ParserListener)listener).enterForwardAxis(this);
}
@Override
public void exitRule(ParseTreeListener listener) {
if ( listener instanceof XPath2ParserListener ) ((XPath2ParserListener)listener).exitForwardAxis(this);
}
}
public final ForwardAxisContext forwardAxis() throws RecognitionException {
ForwardAxisContext _localctx = new ForwardAxisContext(_ctx, getState());
enterRule(_localctx, 60, RULE_forwardAxis);
try {
setState(449);
_errHandler.sync(this);
switch (_input.LA(1)) {
case CHILD:
enterOuterAlt(_localctx, 1);
{
setState(433);
match(CHILD);
setState(434);
match(COLONCOLON);
}
break;
case DESCENDANT:
enterOuterAlt(_localctx, 2);
{
setState(435);
match(DESCENDANT);
setState(436);
match(COLONCOLON);
}
break;
case ATTRIBUTE:
enterOuterAlt(_localctx, 3);
{
setState(437);
match(ATTRIBUTE);
setState(438);
match(COLONCOLON);
}
break;
case SELF:
enterOuterAlt(_localctx, 4);
{
setState(439);
match(SELF);
setState(440);
match(COLONCOLON);
}
break;
case DESCENDANT_OR_SELF:
enterOuterAlt(_localctx, 5);
{
setState(441);
match(DESCENDANT_OR_SELF);
setState(442);
match(COLONCOLON);
}
break;
case FOLLOWING_SIBLING:
enterOuterAlt(_localctx, 6);
{
setState(443);
match(FOLLOWING_SIBLING);
setState(444);
match(COLONCOLON);
}
break;
case FOLLOWING:
enterOuterAlt(_localctx, 7);
{
setState(445);
match(FOLLOWING);
setState(446);
match(COLONCOLON);
}
break;
case NAMESPACE:
enterOuterAlt(_localctx, 8);
{
setState(447);
match(NAMESPACE);
setState(448);
match(COLONCOLON);
}
break;
default:
throw new NoViableAltException(this);
}
}
catch (RecognitionException re) {
_localctx.exception = re;
_errHandler.reportError(this, re);
_errHandler.recover(this, re);
}
finally {
exitRule();
}
return _localctx;
}
public static class AbbrevForwardStepContext extends ParserRuleContext {
public TerminalNode AT_SYM() { return getToken(XPath2Parser.AT_SYM, 0); }
public NodeTestContext nodeTest() {
return getRuleContext(NodeTestContext.class,0);
}
public AbbrevForwardStepContext(ParserRuleContext parent, int invokingState) {
super(parent, invokingState);
}
@Override public int getRuleIndex() { return RULE_abbrevForwardStep; }
@Override
public void enterRule(ParseTreeListener listener) {
if ( listener instanceof XPath2ParserListener ) ((XPath2ParserListener)listener).enterAbbrevForwardStep(this);
}
@Override
public void exitRule(ParseTreeListener listener) {
if ( listener instanceof XPath2ParserListener ) ((XPath2ParserListener)listener).exitAbbrevForwardStep(this);
}
}
public final AbbrevForwardStepContext abbrevForwardStep() throws RecognitionException {
AbbrevForwardStepContext _localctx = new AbbrevForwardStepContext(_ctx, getState());
enterRule(_localctx, 62, RULE_abbrevForwardStep);
try {
setState(454);
_errHandler.sync(this);
switch (_input.LA(1)) {
case AT_SYM:
enterOuterAlt(_localctx, 1);
{
setState(451);
match(AT_SYM);
setState(452);
nodeTest();
}
break;
case STAR:
case CHILD:
case DESCENDANT:
case ATTRIBUTE:
case SELF:
case DESCENDANT_OR_SELF:
case FOLLOWING_SIBLING:
case FOLLOWING:
case NAMESPACE:
case PARENT:
case ANCESTOR:
case PRECEDING_SIBLING:
case PRECEDING:
case ANCESTOR_OR_SELF:
case EQ:
case NE:
case LT:
case LE:
case GT:
case GE:
case IDIV:
case DIV:
case MOD:
case UNION:
case INTERSECT:
case EXCEPT:
case INSTANCE:
case TREAT:
case CASTABLE:
case CAST:
case AS:
case OF:
case IS:
case FOR:
case IN:
case RETURN:
case SATISFIES:
case TO:
case SOME:
case EVERY:
case IF:
case THEN:
case ELSE:
case AND:
case OR:
case EMPTY_SEQUENCE:
case ITEM:
case NODE:
case DOCUMENT_NODE:
case TEXT:
case COMMENT:
case PROCESSING_INSTRUCTION:
case SCHEMA_ATTRIBUTE:
case ELEMENT:
case SCHEMA_ELEMENT:
case TYPESWITCH:
case NCNAME:
enterOuterAlt(_localctx, 2);
{
setState(453);
nodeTest();
}
break;
default:
throw new NoViableAltException(this);
}
}
catch (RecognitionException re) {
_localctx.exception = re;
_errHandler.reportError(this, re);
_errHandler.recover(this, re);
}
finally {
exitRule();
}
return _localctx;
}
public static class ReverseStepContext extends ParserRuleContext {
public ReverseAxisContext reverseAxis() {
return getRuleContext(ReverseAxisContext.class,0);
}
public NodeTestContext nodeTest() {
return getRuleContext(NodeTestContext.class,0);
}
public AbbrevReverseStepContext abbrevReverseStep() {
return getRuleContext(AbbrevReverseStepContext.class,0);
}
public ReverseStepContext(ParserRuleContext parent, int invokingState) {
super(parent, invokingState);
}
@Override public int getRuleIndex() { return RULE_reverseStep; }
@Override
public void enterRule(ParseTreeListener listener) {
if ( listener instanceof XPath2ParserListener ) ((XPath2ParserListener)listener).enterReverseStep(this);
}
@Override
public void exitRule(ParseTreeListener listener) {
if ( listener instanceof XPath2ParserListener ) ((XPath2ParserListener)listener).exitReverseStep(this);
}
}
public final ReverseStepContext reverseStep() throws RecognitionException {
ReverseStepContext _localctx = new ReverseStepContext(_ctx, getState());
enterRule(_localctx, 64, RULE_reverseStep);
try {
setState(460);
_errHandler.sync(this);
switch (_input.LA(1)) {
case PARENT:
case ANCESTOR:
case PRECEDING_SIBLING:
case PRECEDING:
case ANCESTOR_OR_SELF:
enterOuterAlt(_localctx, 1);
{
setState(456);
reverseAxis();
setState(457);
nodeTest();
}
break;
case DOTDOT:
enterOuterAlt(_localctx, 2);
{
setState(459);
abbrevReverseStep();
}
break;
default:
throw new NoViableAltException(this);
}
}
catch (RecognitionException re) {
_localctx.exception = re;
_errHandler.reportError(this, re);
_errHandler.recover(this, re);
}
finally {
exitRule();
}
return _localctx;
}
public static class ReverseAxisContext extends ParserRuleContext {
public TerminalNode PARENT() { return getToken(XPath2Parser.PARENT, 0); }
public TerminalNode COLONCOLON() { return getToken(XPath2Parser.COLONCOLON, 0); }
public TerminalNode ANCESTOR() { return getToken(XPath2Parser.ANCESTOR, 0); }
public TerminalNode PRECEDING_SIBLING() { return getToken(XPath2Parser.PRECEDING_SIBLING, 0); }
public TerminalNode PRECEDING() { return getToken(XPath2Parser.PRECEDING, 0); }
public TerminalNode ANCESTOR_OR_SELF() { return getToken(XPath2Parser.ANCESTOR_OR_SELF, 0); }
public ReverseAxisContext(ParserRuleContext parent, int invokingState) {
super(parent, invokingState);
}
@Override public int getRuleIndex() { return RULE_reverseAxis; }
@Override
public void enterRule(ParseTreeListener listener) {
if ( listener instanceof XPath2ParserListener ) ((XPath2ParserListener)listener).enterReverseAxis(this);
}
@Override
public void exitRule(ParseTreeListener listener) {
if ( listener instanceof XPath2ParserListener ) ((XPath2ParserListener)listener).exitReverseAxis(this);
}
}
public final ReverseAxisContext reverseAxis() throws RecognitionException {
ReverseAxisContext _localctx = new ReverseAxisContext(_ctx, getState());
enterRule(_localctx, 66, RULE_reverseAxis);
try {
setState(472);
_errHandler.sync(this);
switch (_input.LA(1)) {
case PARENT:
enterOuterAlt(_localctx, 1);
{
setState(462);
match(PARENT);
setState(463);
match(COLONCOLON);
}
break;
case ANCESTOR:
enterOuterAlt(_localctx, 2);
{
setState(464);
match(ANCESTOR);
setState(465);
match(COLONCOLON);
}
break;
case PRECEDING_SIBLING:
enterOuterAlt(_localctx, 3);
{
setState(466);
match(PRECEDING_SIBLING);
setState(467);
match(COLONCOLON);
}
break;
case PRECEDING:
enterOuterAlt(_localctx, 4);
{
setState(468);
match(PRECEDING);
setState(469);
match(COLONCOLON);
}
break;
case ANCESTOR_OR_SELF:
enterOuterAlt(_localctx, 5);
{
setState(470);
match(ANCESTOR_OR_SELF);
setState(471);
match(COLONCOLON);
}
break;
default:
throw new NoViableAltException(this);
}
}
catch (RecognitionException re) {
_localctx.exception = re;
_errHandler.reportError(this, re);
_errHandler.recover(this, re);
}
finally {
exitRule();
}
return _localctx;
}
public static class AbbrevReverseStepContext extends ParserRuleContext {
public TerminalNode DOTDOT() { return getToken(XPath2Parser.DOTDOT, 0); }
public AbbrevReverseStepContext(ParserRuleContext parent, int invokingState) {
super(parent, invokingState);
}
@Override public int getRuleIndex() { return RULE_abbrevReverseStep; }
@Override
public void enterRule(ParseTreeListener listener) {
if ( listener instanceof XPath2ParserListener ) ((XPath2ParserListener)listener).enterAbbrevReverseStep(this);
}
@Override
public void exitRule(ParseTreeListener listener) {
if ( listener instanceof XPath2ParserListener ) ((XPath2ParserListener)listener).exitAbbrevReverseStep(this);
}
}
public final AbbrevReverseStepContext abbrevReverseStep() throws RecognitionException {
AbbrevReverseStepContext _localctx = new AbbrevReverseStepContext(_ctx, getState());
enterRule(_localctx, 68, RULE_abbrevReverseStep);
try {
enterOuterAlt(_localctx, 1);
{
setState(474);
match(DOTDOT);
}
}
catch (RecognitionException re) {
_localctx.exception = re;
_errHandler.reportError(this, re);
_errHandler.recover(this, re);
}
finally {
exitRule();
}
return _localctx;
}
public static class NodeTestContext extends ParserRuleContext {
public KindTestContext kindTest() {
return getRuleContext(KindTestContext.class,0);
}
public NameTestContext nameTest() {
return getRuleContext(NameTestContext.class,0);
}
public NodeTestContext(ParserRuleContext parent, int invokingState) {
super(parent, invokingState);
}
@Override public int getRuleIndex() { return RULE_nodeTest; }
@Override
public void enterRule(ParseTreeListener listener) {
if ( listener instanceof XPath2ParserListener ) ((XPath2ParserListener)listener).enterNodeTest(this);
}
@Override
public void exitRule(ParseTreeListener listener) {
if ( listener instanceof XPath2ParserListener ) ((XPath2ParserListener)listener).exitNodeTest(this);
}
}
public final NodeTestContext nodeTest() throws RecognitionException {
NodeTestContext _localctx = new NodeTestContext(_ctx, getState());
enterRule(_localctx, 70, RULE_nodeTest);
try {
setState(478);
_errHandler.sync(this);
switch ( getInterpreter().adaptivePredict(_input,32,_ctx) ) {
case 1:
enterOuterAlt(_localctx, 1);
{
setState(476);
kindTest();
}
break;
case 2:
enterOuterAlt(_localctx, 2);
{
setState(477);
nameTest();
}
break;
}
}
catch (RecognitionException re) {
_localctx.exception = re;
_errHandler.reportError(this, re);
_errHandler.recover(this, re);
}
finally {
exitRule();
}
return _localctx;
}
public static class NameTestContext extends ParserRuleContext {
public QNameContext qName() {
return getRuleContext(QNameContext.class,0);
}
public WildcardContext wildcard() {
return getRuleContext(WildcardContext.class,0);
}
public NameTestContext(ParserRuleContext parent, int invokingState) {
super(parent, invokingState);
}
@Override public int getRuleIndex() { return RULE_nameTest; }
@Override
public void enterRule(ParseTreeListener listener) {
if ( listener instanceof XPath2ParserListener ) ((XPath2ParserListener)listener).enterNameTest(this);
}
@Override
public void exitRule(ParseTreeListener listener) {
if ( listener instanceof XPath2ParserListener ) ((XPath2ParserListener)listener).exitNameTest(this);
}
}
public final NameTestContext nameTest() throws RecognitionException {
NameTestContext _localctx = new NameTestContext(_ctx, getState());
enterRule(_localctx, 72, RULE_nameTest);
try {
setState(482);
_errHandler.sync(this);
switch ( getInterpreter().adaptivePredict(_input,33,_ctx) ) {
case 1:
enterOuterAlt(_localctx, 1);
{
setState(480);
qName();
}
break;
case 2:
enterOuterAlt(_localctx, 2);
{
setState(481);
wildcard();
}
break;
}
}
catch (RecognitionException re) {
_localctx.exception = re;
_errHandler.reportError(this, re);
_errHandler.recover(this, re);
}
finally {
exitRule();
}
return _localctx;
}
public static class WildcardContext extends ParserRuleContext {
public TerminalNode STAR() { return getToken(XPath2Parser.STAR, 0); }
public NCNameContext nCName() {
return getRuleContext(NCNameContext.class,0);
}
public TerminalNode COLON() { return getToken(XPath2Parser.COLON, 0); }
public WildcardContext(ParserRuleContext parent, int invokingState) {
super(parent, invokingState);
}
@Override public int getRuleIndex() { return RULE_wildcard; }
@Override
public void enterRule(ParseTreeListener listener) {
if ( listener instanceof XPath2ParserListener ) ((XPath2ParserListener)listener).enterWildcard(this);
}
@Override
public void exitRule(ParseTreeListener listener) {
if ( listener instanceof XPath2ParserListener ) ((XPath2ParserListener)listener).exitWildcard(this);
}
}
public final WildcardContext wildcard() throws RecognitionException {
WildcardContext _localctx = new WildcardContext(_ctx, getState());
enterRule(_localctx, 74, RULE_wildcard);
try {
setState(492);
_errHandler.sync(this);
switch ( getInterpreter().adaptivePredict(_input,34,_ctx) ) {
case 1:
enterOuterAlt(_localctx, 1);
{
setState(484);
match(STAR);
}
break;
case 2:
enterOuterAlt(_localctx, 2);
{
setState(485);
nCName();
setState(486);
match(COLON);
setState(487);
match(STAR);
}
break;
case 3:
enterOuterAlt(_localctx, 3);
{
setState(489);
match(STAR);
setState(490);
match(COLON);
setState(491);
nCName();
}
break;
}
}
catch (RecognitionException re) {
_localctx.exception = re;
_errHandler.reportError(this, re);
_errHandler.recover(this, re);
}
finally {
exitRule();
}
return _localctx;
}
public static class FilterExprContext extends ParserRuleContext {
public PrimaryExprContext primaryExpr() {
return getRuleContext(PrimaryExprContext.class,0);
}
public PredicateListContext predicateList() {
return getRuleContext(PredicateListContext.class,0);
}
public FilterExprContext(ParserRuleContext parent, int invokingState) {
super(parent, invokingState);
}
@Override public int getRuleIndex() { return RULE_filterExpr; }
@Override
public void enterRule(ParseTreeListener listener) {
if ( listener instanceof XPath2ParserListener ) ((XPath2ParserListener)listener).enterFilterExpr(this);
}
@Override
public void exitRule(ParseTreeListener listener) {
if ( listener instanceof XPath2ParserListener ) ((XPath2ParserListener)listener).exitFilterExpr(this);
}
}
public final FilterExprContext filterExpr() throws RecognitionException {
FilterExprContext _localctx = new FilterExprContext(_ctx, getState());
enterRule(_localctx, 76, RULE_filterExpr);
try {
enterOuterAlt(_localctx, 1);
{
setState(494);
primaryExpr();
setState(495);
predicateList();
}
}
catch (RecognitionException re) {
_localctx.exception = re;
_errHandler.reportError(this, re);
_errHandler.recover(this, re);
}
finally {
exitRule();
}
return _localctx;
}
public static class PredicateListContext extends ParserRuleContext {
public List predicate() {
return getRuleContexts(PredicateContext.class);
}
public PredicateContext predicate(int i) {
return getRuleContext(PredicateContext.class,i);
}
public PredicateListContext(ParserRuleContext parent, int invokingState) {
super(parent, invokingState);
}
@Override public int getRuleIndex() { return RULE_predicateList; }
@Override
public void enterRule(ParseTreeListener listener) {
if ( listener instanceof XPath2ParserListener ) ((XPath2ParserListener)listener).enterPredicateList(this);
}
@Override
public void exitRule(ParseTreeListener listener) {
if ( listener instanceof XPath2ParserListener ) ((XPath2ParserListener)listener).exitPredicateList(this);
}
}
public final PredicateListContext predicateList() throws RecognitionException {
PredicateListContext _localctx = new PredicateListContext(_ctx, getState());
enterRule(_localctx, 78, RULE_predicateList);
try {
int _alt;
enterOuterAlt(_localctx, 1);
{
setState(500);
_errHandler.sync(this);
_alt = getInterpreter().adaptivePredict(_input,35,_ctx);
while ( _alt!=2 && _alt!=org.antlr.v4.runtime.atn.ATN.INVALID_ALT_NUMBER ) {
if ( _alt==1 ) {
{
{
setState(497);
predicate();
}
}
}
setState(502);
_errHandler.sync(this);
_alt = getInterpreter().adaptivePredict(_input,35,_ctx);
}
}
}
catch (RecognitionException re) {
_localctx.exception = re;
_errHandler.reportError(this, re);
_errHandler.recover(this, re);
}
finally {
exitRule();
}
return _localctx;
}
public static class PredicateContext extends ParserRuleContext {
public TerminalNode LBRACKET() { return getToken(XPath2Parser.LBRACKET, 0); }
public ExprContext expr() {
return getRuleContext(ExprContext.class,0);
}
public TerminalNode RBRACKET() { return getToken(XPath2Parser.RBRACKET, 0); }
public PredicateContext(ParserRuleContext parent, int invokingState) {
super(parent, invokingState);
}
@Override public int getRuleIndex() { return RULE_predicate; }
@Override
public void enterRule(ParseTreeListener listener) {
if ( listener instanceof XPath2ParserListener ) ((XPath2ParserListener)listener).enterPredicate(this);
}
@Override
public void exitRule(ParseTreeListener listener) {
if ( listener instanceof XPath2ParserListener ) ((XPath2ParserListener)listener).exitPredicate(this);
}
}
public final PredicateContext predicate() throws RecognitionException {
PredicateContext _localctx = new PredicateContext(_ctx, getState());
enterRule(_localctx, 80, RULE_predicate);
try {
enterOuterAlt(_localctx, 1);
{
setState(503);
match(LBRACKET);
setState(504);
expr();
setState(505);
match(RBRACKET);
}
}
catch (RecognitionException re) {
_localctx.exception = re;
_errHandler.reportError(this, re);
_errHandler.recover(this, re);
}
finally {
exitRule();
}
return _localctx;
}
public static class PrimaryExprContext extends ParserRuleContext {
public LiteralContext literal() {
return getRuleContext(LiteralContext.class,0);
}
public VarRefContext varRef() {
return getRuleContext(VarRefContext.class,0);
}
public ParenthesizedExprContext parenthesizedExpr() {
return getRuleContext(ParenthesizedExprContext.class,0);
}
public ContextItemExprContext contextItemExpr() {
return getRuleContext(ContextItemExprContext.class,0);
}
public FunctionCallContext functionCall() {
return getRuleContext(FunctionCallContext.class,0);
}
public PrimaryExprContext(ParserRuleContext parent, int invokingState) {
super(parent, invokingState);
}
@Override public int getRuleIndex() { return RULE_primaryExpr; }
@Override
public void enterRule(ParseTreeListener listener) {
if ( listener instanceof XPath2ParserListener ) ((XPath2ParserListener)listener).enterPrimaryExpr(this);
}
@Override
public void exitRule(ParseTreeListener listener) {
if ( listener instanceof XPath2ParserListener ) ((XPath2ParserListener)listener).exitPrimaryExpr(this);
}
}
public final PrimaryExprContext primaryExpr() throws RecognitionException {
PrimaryExprContext _localctx = new PrimaryExprContext(_ctx, getState());
enterRule(_localctx, 82, RULE_primaryExpr);
try {
setState(512);
_errHandler.sync(this);
switch (_input.LA(1)) {
case DIGITS:
case DECIMAL_LITERAL:
case DOUBLE_LITERAL:
case STRING_LITERAL:
enterOuterAlt(_localctx, 1);
{
setState(507);
literal();
}
break;
case DOLLAR:
enterOuterAlt(_localctx, 2);
{
setState(508);
varRef();
}
break;
case LPAR:
enterOuterAlt(_localctx, 3);
{
setState(509);
parenthesizedExpr();
}
break;
case DOT:
enterOuterAlt(_localctx, 4);
{
setState(510);
contextItemExpr();
}
break;
case CHILD:
case DESCENDANT:
case ATTRIBUTE:
case SELF:
case DESCENDANT_OR_SELF:
case FOLLOWING_SIBLING:
case FOLLOWING:
case NAMESPACE:
case PARENT:
case ANCESTOR:
case PRECEDING_SIBLING:
case PRECEDING:
case ANCESTOR_OR_SELF:
case EQ:
case NE:
case LT:
case LE:
case GT:
case GE:
case IDIV:
case DIV:
case MOD:
case UNION:
case INTERSECT:
case EXCEPT:
case INSTANCE:
case TREAT:
case CASTABLE:
case CAST:
case AS:
case OF:
case IS:
case FOR:
case IN:
case RETURN:
case SATISFIES:
case TO:
case SOME:
case EVERY:
case IF:
case THEN:
case ELSE:
case AND:
case OR:
case EMPTY_SEQUENCE:
case ITEM:
case NODE:
case DOCUMENT_NODE:
case TEXT:
case COMMENT:
case PROCESSING_INSTRUCTION:
case SCHEMA_ATTRIBUTE:
case ELEMENT:
case SCHEMA_ELEMENT:
case TYPESWITCH:
case NCNAME:
enterOuterAlt(_localctx, 5);
{
setState(511);
functionCall();
}
break;
default:
throw new NoViableAltException(this);
}
}
catch (RecognitionException re) {
_localctx.exception = re;
_errHandler.reportError(this, re);
_errHandler.recover(this, re);
}
finally {
exitRule();
}
return _localctx;
}
public static class LiteralContext extends ParserRuleContext {
public NumericLiteralContext numericLiteral() {
return getRuleContext(NumericLiteralContext.class,0);
}
public StringLiteralContext stringLiteral() {
return getRuleContext(StringLiteralContext.class,0);
}
public LiteralContext(ParserRuleContext parent, int invokingState) {
super(parent, invokingState);
}
@Override public int getRuleIndex() { return RULE_literal; }
@Override
public void enterRule(ParseTreeListener listener) {
if ( listener instanceof XPath2ParserListener ) ((XPath2ParserListener)listener).enterLiteral(this);
}
@Override
public void exitRule(ParseTreeListener listener) {
if ( listener instanceof XPath2ParserListener ) ((XPath2ParserListener)listener).exitLiteral(this);
}
}
public final LiteralContext literal() throws RecognitionException {
LiteralContext _localctx = new LiteralContext(_ctx, getState());
enterRule(_localctx, 84, RULE_literal);
try {
setState(516);
_errHandler.sync(this);
switch (_input.LA(1)) {
case DIGITS:
case DECIMAL_LITERAL:
case DOUBLE_LITERAL:
enterOuterAlt(_localctx, 1);
{
setState(514);
numericLiteral();
}
break;
case STRING_LITERAL:
enterOuterAlt(_localctx, 2);
{
setState(515);
stringLiteral();
}
break;
default:
throw new NoViableAltException(this);
}
}
catch (RecognitionException re) {
_localctx.exception = re;
_errHandler.reportError(this, re);
_errHandler.recover(this, re);
}
finally {
exitRule();
}
return _localctx;
}
public static class NumericLiteralContext extends ParserRuleContext {
public IntegerLiteralContext integerLiteral() {
return getRuleContext(IntegerLiteralContext.class,0);
}
public DecimalLiteralContext decimalLiteral() {
return getRuleContext(DecimalLiteralContext.class,0);
}
public DoubleLiteralContext doubleLiteral() {
return getRuleContext(DoubleLiteralContext.class,0);
}
public NumericLiteralContext(ParserRuleContext parent, int invokingState) {
super(parent, invokingState);
}
@Override public int getRuleIndex() { return RULE_numericLiteral; }
@Override
public void enterRule(ParseTreeListener listener) {
if ( listener instanceof XPath2ParserListener ) ((XPath2ParserListener)listener).enterNumericLiteral(this);
}
@Override
public void exitRule(ParseTreeListener listener) {
if ( listener instanceof XPath2ParserListener ) ((XPath2ParserListener)listener).exitNumericLiteral(this);
}
}
public final NumericLiteralContext numericLiteral() throws RecognitionException {
NumericLiteralContext _localctx = new NumericLiteralContext(_ctx, getState());
enterRule(_localctx, 86, RULE_numericLiteral);
try {
setState(521);
_errHandler.sync(this);
switch (_input.LA(1)) {
case DIGITS:
enterOuterAlt(_localctx, 1);
{
setState(518);
integerLiteral();
}
break;
case DECIMAL_LITERAL:
enterOuterAlt(_localctx, 2);
{
setState(519);
decimalLiteral();
}
break;
case DOUBLE_LITERAL:
enterOuterAlt(_localctx, 3);
{
setState(520);
doubleLiteral();
}
break;
default:
throw new NoViableAltException(this);
}
}
catch (RecognitionException re) {
_localctx.exception = re;
_errHandler.reportError(this, re);
_errHandler.recover(this, re);
}
finally {
exitRule();
}
return _localctx;
}
public static class VarRefContext extends ParserRuleContext {
public TerminalNode DOLLAR() { return getToken(XPath2Parser.DOLLAR, 0); }
public VarNameContext varName() {
return getRuleContext(VarNameContext.class,0);
}
public VarRefContext(ParserRuleContext parent, int invokingState) {
super(parent, invokingState);
}
@Override public int getRuleIndex() { return RULE_varRef; }
@Override
public void enterRule(ParseTreeListener listener) {
if ( listener instanceof XPath2ParserListener ) ((XPath2ParserListener)listener).enterVarRef(this);
}
@Override
public void exitRule(ParseTreeListener listener) {
if ( listener instanceof XPath2ParserListener ) ((XPath2ParserListener)listener).exitVarRef(this);
}
}
public final VarRefContext varRef() throws RecognitionException {
VarRefContext _localctx = new VarRefContext(_ctx, getState());
enterRule(_localctx, 88, RULE_varRef);
try {
enterOuterAlt(_localctx, 1);
{
setState(523);
match(DOLLAR);
setState(524);
varName();
}
}
catch (RecognitionException re) {
_localctx.exception = re;
_errHandler.reportError(this, re);
_errHandler.recover(this, re);
}
finally {
exitRule();
}
return _localctx;
}
public static class VarNameContext extends ParserRuleContext {
public QNameContext qName() {
return getRuleContext(QNameContext.class,0);
}
public VarNameContext(ParserRuleContext parent, int invokingState) {
super(parent, invokingState);
}
@Override public int getRuleIndex() { return RULE_varName; }
@Override
public void enterRule(ParseTreeListener listener) {
if ( listener instanceof XPath2ParserListener ) ((XPath2ParserListener)listener).enterVarName(this);
}
@Override
public void exitRule(ParseTreeListener listener) {
if ( listener instanceof XPath2ParserListener ) ((XPath2ParserListener)listener).exitVarName(this);
}
}
public final VarNameContext varName() throws RecognitionException {
VarNameContext _localctx = new VarNameContext(_ctx, getState());
enterRule(_localctx, 90, RULE_varName);
try {
enterOuterAlt(_localctx, 1);
{
setState(526);
qName();
}
}
catch (RecognitionException re) {
_localctx.exception = re;
_errHandler.reportError(this, re);
_errHandler.recover(this, re);
}
finally {
exitRule();
}
return _localctx;
}
public static class ParenthesizedExprContext extends ParserRuleContext {
public TerminalNode LPAR() { return getToken(XPath2Parser.LPAR, 0); }
public TerminalNode RPAR() { return getToken(XPath2Parser.RPAR, 0); }
public ExprContext expr() {
return getRuleContext(ExprContext.class,0);
}
public ParenthesizedExprContext(ParserRuleContext parent, int invokingState) {
super(parent, invokingState);
}
@Override public int getRuleIndex() { return RULE_parenthesizedExpr; }
@Override
public void enterRule(ParseTreeListener listener) {
if ( listener instanceof XPath2ParserListener ) ((XPath2ParserListener)listener).enterParenthesizedExpr(this);
}
@Override
public void exitRule(ParseTreeListener listener) {
if ( listener instanceof XPath2ParserListener ) ((XPath2ParserListener)listener).exitParenthesizedExpr(this);
}
}
public final ParenthesizedExprContext parenthesizedExpr() throws RecognitionException {
ParenthesizedExprContext _localctx = new ParenthesizedExprContext(_ctx, getState());
enterRule(_localctx, 92, RULE_parenthesizedExpr);
try {
setState(534);
_errHandler.sync(this);
switch ( getInterpreter().adaptivePredict(_input,39,_ctx) ) {
case 1:
enterOuterAlt(_localctx, 1);
{
setState(528);
match(LPAR);
setState(529);
match(RPAR);
}
break;
case 2:
enterOuterAlt(_localctx, 2);
{
setState(530);
match(LPAR);
setState(531);
expr();
setState(532);
match(RPAR);
}
break;
}
}
catch (RecognitionException re) {
_localctx.exception = re;
_errHandler.reportError(this, re);
_errHandler.recover(this, re);
}
finally {
exitRule();
}
return _localctx;
}
public static class ContextItemExprContext extends ParserRuleContext {
public TerminalNode DOT() { return getToken(XPath2Parser.DOT, 0); }
public ContextItemExprContext(ParserRuleContext parent, int invokingState) {
super(parent, invokingState);
}
@Override public int getRuleIndex() { return RULE_contextItemExpr; }
@Override
public void enterRule(ParseTreeListener listener) {
if ( listener instanceof XPath2ParserListener ) ((XPath2ParserListener)listener).enterContextItemExpr(this);
}
@Override
public void exitRule(ParseTreeListener listener) {
if ( listener instanceof XPath2ParserListener ) ((XPath2ParserListener)listener).exitContextItemExpr(this);
}
}
public final ContextItemExprContext contextItemExpr() throws RecognitionException {
ContextItemExprContext _localctx = new ContextItemExprContext(_ctx, getState());
enterRule(_localctx, 94, RULE_contextItemExpr);
try {
enterOuterAlt(_localctx, 1);
{
setState(536);
match(DOT);
}
}
catch (RecognitionException re) {
_localctx.exception = re;
_errHandler.reportError(this, re);
_errHandler.recover(this, re);
}
finally {
exitRule();
}
return _localctx;
}
public static class FunctionCallContext extends ParserRuleContext {
public ReservedFunctionNamesContext reservedFunctionNames() {
return getRuleContext(ReservedFunctionNamesContext.class,0);
}
public TerminalNode LPAR() { return getToken(XPath2Parser.LPAR, 0); }
public TerminalNode RPAR() { return getToken(XPath2Parser.RPAR, 0); }
public FunctionCallMiddleContext functionCallMiddle() {
return getRuleContext(FunctionCallMiddleContext.class,0);
}
public FunctionCallContext(ParserRuleContext parent, int invokingState) {
super(parent, invokingState);
}
@Override public int getRuleIndex() { return RULE_functionCall; }
@Override
public void enterRule(ParseTreeListener listener) {
if ( listener instanceof XPath2ParserListener ) ((XPath2ParserListener)listener).enterFunctionCall(this);
}
@Override
public void exitRule(ParseTreeListener listener) {
if ( listener instanceof XPath2ParserListener ) ((XPath2ParserListener)listener).exitFunctionCall(this);
}
}
public final FunctionCallContext functionCall() throws RecognitionException {
FunctionCallContext _localctx = new FunctionCallContext(_ctx, getState());
enterRule(_localctx, 96, RULE_functionCall);
try {
setState(547);
_errHandler.sync(this);
switch ( getInterpreter().adaptivePredict(_input,40,_ctx) ) {
case 1:
enterOuterAlt(_localctx, 1);
{
setState(538);
reservedFunctionNames();
setState(539);
match(LPAR);
setState(540);
match(RPAR);
}
break;
case 2:
enterOuterAlt(_localctx, 2);
{
setState(542);
reservedFunctionNames();
setState(543);
match(LPAR);
setState(544);
functionCallMiddle(0);
setState(545);
match(RPAR);
}
break;
}
}
catch (RecognitionException re) {
_localctx.exception = re;
_errHandler.reportError(this, re);
_errHandler.recover(this, re);
}
finally {
exitRule();
}
return _localctx;
}
public static class FunctionCallMiddleContext extends ParserRuleContext {
public ExprSingleContext exprSingle() {
return getRuleContext(ExprSingleContext.class,0);
}
public FunctionCallMiddleContext functionCallMiddle() {
return getRuleContext(FunctionCallMiddleContext.class,0);
}
public TerminalNode COMMA() { return getToken(XPath2Parser.COMMA, 0); }
public FunctionCallMiddleContext(ParserRuleContext parent, int invokingState) {
super(parent, invokingState);
}
@Override public int getRuleIndex() { return RULE_functionCallMiddle; }
@Override
public void enterRule(ParseTreeListener listener) {
if ( listener instanceof XPath2ParserListener ) ((XPath2ParserListener)listener).enterFunctionCallMiddle(this);
}
@Override
public void exitRule(ParseTreeListener listener) {
if ( listener instanceof XPath2ParserListener ) ((XPath2ParserListener)listener).exitFunctionCallMiddle(this);
}
}
public final FunctionCallMiddleContext functionCallMiddle() throws RecognitionException {
return functionCallMiddle(0);
}
private FunctionCallMiddleContext functionCallMiddle(int _p) throws RecognitionException {
ParserRuleContext _parentctx = _ctx;
int _parentState = getState();
FunctionCallMiddleContext _localctx = new FunctionCallMiddleContext(_ctx, _parentState);
FunctionCallMiddleContext _prevctx = _localctx;
int _startState = 98;
enterRecursionRule(_localctx, 98, RULE_functionCallMiddle, _p);
try {
int _alt;
enterOuterAlt(_localctx, 1);
{
{
setState(550);
exprSingle();
}
_ctx.stop = _input.LT(-1);
setState(557);
_errHandler.sync(this);
_alt = getInterpreter().adaptivePredict(_input,41,_ctx);
while ( _alt!=2 && _alt!=org.antlr.v4.runtime.atn.ATN.INVALID_ALT_NUMBER ) {
if ( _alt==1 ) {
if ( _parseListeners!=null ) triggerExitRuleEvent();
_prevctx = _localctx;
{
{
_localctx = new FunctionCallMiddleContext(_parentctx, _parentState);
pushNewRecursionContext(_localctx, _startState, RULE_functionCallMiddle);
setState(552);
if (!(precpred(_ctx, 1))) throw new FailedPredicateException(this, "precpred(_ctx, 1)");
setState(553);
match(COMMA);
setState(554);
exprSingle();
}
}
}
setState(559);
_errHandler.sync(this);
_alt = getInterpreter().adaptivePredict(_input,41,_ctx);
}
}
}
catch (RecognitionException re) {
_localctx.exception = re;
_errHandler.reportError(this, re);
_errHandler.recover(this, re);
}
finally {
unrollRecursionContexts(_parentctx);
}
return _localctx;
}
public static class SingleTypeContext extends ParserRuleContext {
public AtomicTypeContext atomicType() {
return getRuleContext(AtomicTypeContext.class,0);
}
public TerminalNode QUESTIONMARK() { return getToken(XPath2Parser.QUESTIONMARK, 0); }
public SingleTypeContext(ParserRuleContext parent, int invokingState) {
super(parent, invokingState);
}
@Override public int getRuleIndex() { return RULE_singleType; }
@Override
public void enterRule(ParseTreeListener listener) {
if ( listener instanceof XPath2ParserListener ) ((XPath2ParserListener)listener).enterSingleType(this);
}
@Override
public void exitRule(ParseTreeListener listener) {
if ( listener instanceof XPath2ParserListener ) ((XPath2ParserListener)listener).exitSingleType(this);
}
}
public final SingleTypeContext singleType() throws RecognitionException {
SingleTypeContext _localctx = new SingleTypeContext(_ctx, getState());
enterRule(_localctx, 100, RULE_singleType);
try {
setState(564);
_errHandler.sync(this);
switch ( getInterpreter().adaptivePredict(_input,42,_ctx) ) {
case 1:
enterOuterAlt(_localctx, 1);
{
setState(560);
atomicType();
}
break;
case 2:
enterOuterAlt(_localctx, 2);
{
setState(561);
atomicType();
setState(562);
match(QUESTIONMARK);
}
break;
}
}
catch (RecognitionException re) {
_localctx.exception = re;
_errHandler.reportError(this, re);
_errHandler.recover(this, re);
}
finally {
exitRule();
}
return _localctx;
}
public static class SequenceTypeContext extends ParserRuleContext {
public ItemTypeContext itemType() {
return getRuleContext(ItemTypeContext.class,0);
}
public OccurrenceIndicatorContext occurrenceIndicator() {
return getRuleContext(OccurrenceIndicatorContext.class,0);
}
public TerminalNode EMPTY_SEQUENCE() { return getToken(XPath2Parser.EMPTY_SEQUENCE, 0); }
public TerminalNode LPAR() { return getToken(XPath2Parser.LPAR, 0); }
public TerminalNode RPAR() { return getToken(XPath2Parser.RPAR, 0); }
public SequenceTypeContext(ParserRuleContext parent, int invokingState) {
super(parent, invokingState);
}
@Override public int getRuleIndex() { return RULE_sequenceType; }
@Override
public void enterRule(ParseTreeListener listener) {
if ( listener instanceof XPath2ParserListener ) ((XPath2ParserListener)listener).enterSequenceType(this);
}
@Override
public void exitRule(ParseTreeListener listener) {
if ( listener instanceof XPath2ParserListener ) ((XPath2ParserListener)listener).exitSequenceType(this);
}
}
public final SequenceTypeContext sequenceType() throws RecognitionException {
SequenceTypeContext _localctx = new SequenceTypeContext(_ctx, getState());
enterRule(_localctx, 102, RULE_sequenceType);
try {
setState(573);
_errHandler.sync(this);
switch ( getInterpreter().adaptivePredict(_input,43,_ctx) ) {
case 1:
enterOuterAlt(_localctx, 1);
{
setState(566);
itemType();
}
break;
case 2:
enterOuterAlt(_localctx, 2);
{
setState(567);
itemType();
setState(568);
occurrenceIndicator();
}
break;
case 3:
enterOuterAlt(_localctx, 3);
{
setState(570);
match(EMPTY_SEQUENCE);
setState(571);
match(LPAR);
setState(572);
match(RPAR);
}
break;
}
}
catch (RecognitionException re) {
_localctx.exception = re;
_errHandler.reportError(this, re);
_errHandler.recover(this, re);
}
finally {
exitRule();
}
return _localctx;
}
public static class OccurrenceIndicatorContext extends ParserRuleContext {
public TerminalNode QUESTIONMARK() { return getToken(XPath2Parser.QUESTIONMARK, 0); }
public TerminalNode STAR() { return getToken(XPath2Parser.STAR, 0); }
public TerminalNode PLUS() { return getToken(XPath2Parser.PLUS, 0); }
public OccurrenceIndicatorContext(ParserRuleContext parent, int invokingState) {
super(parent, invokingState);
}
@Override public int getRuleIndex() { return RULE_occurrenceIndicator; }
@Override
public void enterRule(ParseTreeListener listener) {
if ( listener instanceof XPath2ParserListener ) ((XPath2ParserListener)listener).enterOccurrenceIndicator(this);
}
@Override
public void exitRule(ParseTreeListener listener) {
if ( listener instanceof XPath2ParserListener ) ((XPath2ParserListener)listener).exitOccurrenceIndicator(this);
}
}
public final OccurrenceIndicatorContext occurrenceIndicator() throws RecognitionException {
OccurrenceIndicatorContext _localctx = new OccurrenceIndicatorContext(_ctx, getState());
enterRule(_localctx, 104, RULE_occurrenceIndicator);
int _la;
try {
enterOuterAlt(_localctx, 1);
{
setState(575);
_la = _input.LA(1);
if ( !((((_la) & ~0x3f) == 0 && ((1L << _la) & ((1L << PLUS) | (1L << STAR) | (1L << QUESTIONMARK))) != 0)) ) {
_errHandler.recoverInline(this);
}
else {
if ( _input.LA(1)==Token.EOF ) matchedEOF = true;
_errHandler.reportMatch(this);
consume();
}
}
}
catch (RecognitionException re) {
_localctx.exception = re;
_errHandler.reportError(this, re);
_errHandler.recover(this, re);
}
finally {
exitRule();
}
return _localctx;
}
public static class ItemTypeContext extends ParserRuleContext {
public AtomicTypeContext atomicType() {
return getRuleContext(AtomicTypeContext.class,0);
}
public KindTestContext kindTest() {
return getRuleContext(KindTestContext.class,0);
}
public TerminalNode ITEM() { return getToken(XPath2Parser.ITEM, 0); }
public TerminalNode LPAR() { return getToken(XPath2Parser.LPAR, 0); }
public TerminalNode RPAR() { return getToken(XPath2Parser.RPAR, 0); }
public ItemTypeContext(ParserRuleContext parent, int invokingState) {
super(parent, invokingState);
}
@Override public int getRuleIndex() { return RULE_itemType; }
@Override
public void enterRule(ParseTreeListener listener) {
if ( listener instanceof XPath2ParserListener ) ((XPath2ParserListener)listener).enterItemType(this);
}
@Override
public void exitRule(ParseTreeListener listener) {
if ( listener instanceof XPath2ParserListener ) ((XPath2ParserListener)listener).exitItemType(this);
}
}
public final ItemTypeContext itemType() throws RecognitionException {
ItemTypeContext _localctx = new ItemTypeContext(_ctx, getState());
enterRule(_localctx, 106, RULE_itemType);
try {
setState(582);
_errHandler.sync(this);
switch ( getInterpreter().adaptivePredict(_input,44,_ctx) ) {
case 1:
enterOuterAlt(_localctx, 1);
{
setState(577);
atomicType();
}
break;
case 2:
enterOuterAlt(_localctx, 2);
{
setState(578);
kindTest();
}
break;
case 3:
enterOuterAlt(_localctx, 3);
{
setState(579);
match(ITEM);
setState(580);
match(LPAR);
setState(581);
match(RPAR);
}
break;
}
}
catch (RecognitionException re) {
_localctx.exception = re;
_errHandler.reportError(this, re);
_errHandler.recover(this, re);
}
finally {
exitRule();
}
return _localctx;
}
public static class AtomicTypeContext extends ParserRuleContext {
public QNameContext qName() {
return getRuleContext(QNameContext.class,0);
}
public AtomicTypeContext(ParserRuleContext parent, int invokingState) {
super(parent, invokingState);
}
@Override public int getRuleIndex() { return RULE_atomicType; }
@Override
public void enterRule(ParseTreeListener listener) {
if ( listener instanceof XPath2ParserListener ) ((XPath2ParserListener)listener).enterAtomicType(this);
}
@Override
public void exitRule(ParseTreeListener listener) {
if ( listener instanceof XPath2ParserListener ) ((XPath2ParserListener)listener).exitAtomicType(this);
}
}
public final AtomicTypeContext atomicType() throws RecognitionException {
AtomicTypeContext _localctx = new AtomicTypeContext(_ctx, getState());
enterRule(_localctx, 108, RULE_atomicType);
try {
enterOuterAlt(_localctx, 1);
{
setState(584);
qName();
}
}
catch (RecognitionException re) {
_localctx.exception = re;
_errHandler.reportError(this, re);
_errHandler.recover(this, re);
}
finally {
exitRule();
}
return _localctx;
}
public static class KindTestContext extends ParserRuleContext {
public DocumentTestContext documentTest() {
return getRuleContext(DocumentTestContext.class,0);
}
public ElementTestContext elementTest() {
return getRuleContext(ElementTestContext.class,0);
}
public AttributeTestContext attributeTest() {
return getRuleContext(AttributeTestContext.class,0);
}
public SchemaElementTestContext schemaElementTest() {
return getRuleContext(SchemaElementTestContext.class,0);
}
public SchemaAttributeTestContext schemaAttributeTest() {
return getRuleContext(SchemaAttributeTestContext.class,0);
}
public PITestContext pITest() {
return getRuleContext(PITestContext.class,0);
}
public CommentTestContext commentTest() {
return getRuleContext(CommentTestContext.class,0);
}
public TextTestContext textTest() {
return getRuleContext(TextTestContext.class,0);
}
public AnyKindTestContext anyKindTest() {
return getRuleContext(AnyKindTestContext.class,0);
}
public KindTestContext(ParserRuleContext parent, int invokingState) {
super(parent, invokingState);
}
@Override public int getRuleIndex() { return RULE_kindTest; }
@Override
public void enterRule(ParseTreeListener listener) {
if ( listener instanceof XPath2ParserListener ) ((XPath2ParserListener)listener).enterKindTest(this);
}
@Override
public void exitRule(ParseTreeListener listener) {
if ( listener instanceof XPath2ParserListener ) ((XPath2ParserListener)listener).exitKindTest(this);
}
}
public final KindTestContext kindTest() throws RecognitionException {
KindTestContext _localctx = new KindTestContext(_ctx, getState());
enterRule(_localctx, 110, RULE_kindTest);
try {
setState(595);
_errHandler.sync(this);
switch (_input.LA(1)) {
case DOCUMENT_NODE:
enterOuterAlt(_localctx, 1);
{
setState(586);
documentTest();
}
break;
case ELEMENT:
enterOuterAlt(_localctx, 2);
{
setState(587);
elementTest();
}
break;
case ATTRIBUTE:
enterOuterAlt(_localctx, 3);
{
setState(588);
attributeTest();
}
break;
case SCHEMA_ELEMENT:
enterOuterAlt(_localctx, 4);
{
setState(589);
schemaElementTest();
}
break;
case SCHEMA_ATTRIBUTE:
enterOuterAlt(_localctx, 5);
{
setState(590);
schemaAttributeTest();
}
break;
case PROCESSING_INSTRUCTION:
enterOuterAlt(_localctx, 6);
{
setState(591);
pITest();
}
break;
case COMMENT:
enterOuterAlt(_localctx, 7);
{
setState(592);
commentTest();
}
break;
case TEXT:
enterOuterAlt(_localctx, 8);
{
setState(593);
textTest();
}
break;
case NODE:
enterOuterAlt(_localctx, 9);
{
setState(594);
anyKindTest();
}
break;
default:
throw new NoViableAltException(this);
}
}
catch (RecognitionException re) {
_localctx.exception = re;
_errHandler.reportError(this, re);
_errHandler.recover(this, re);
}
finally {
exitRule();
}
return _localctx;
}
public static class AnyKindTestContext extends ParserRuleContext {
public TerminalNode NODE() { return getToken(XPath2Parser.NODE, 0); }
public TerminalNode LPAR() { return getToken(XPath2Parser.LPAR, 0); }
public TerminalNode RPAR() { return getToken(XPath2Parser.RPAR, 0); }
public AnyKindTestContext(ParserRuleContext parent, int invokingState) {
super(parent, invokingState);
}
@Override public int getRuleIndex() { return RULE_anyKindTest; }
@Override
public void enterRule(ParseTreeListener listener) {
if ( listener instanceof XPath2ParserListener ) ((XPath2ParserListener)listener).enterAnyKindTest(this);
}
@Override
public void exitRule(ParseTreeListener listener) {
if ( listener instanceof XPath2ParserListener ) ((XPath2ParserListener)listener).exitAnyKindTest(this);
}
}
public final AnyKindTestContext anyKindTest() throws RecognitionException {
AnyKindTestContext _localctx = new AnyKindTestContext(_ctx, getState());
enterRule(_localctx, 112, RULE_anyKindTest);
try {
enterOuterAlt(_localctx, 1);
{
setState(597);
match(NODE);
setState(598);
match(LPAR);
setState(599);
match(RPAR);
}
}
catch (RecognitionException re) {
_localctx.exception = re;
_errHandler.reportError(this, re);
_errHandler.recover(this, re);
}
finally {
exitRule();
}
return _localctx;
}
public static class DocumentTestContext extends ParserRuleContext {
public TerminalNode DOCUMENT_NODE() { return getToken(XPath2Parser.DOCUMENT_NODE, 0); }
public TerminalNode LPAR() { return getToken(XPath2Parser.LPAR, 0); }
public TerminalNode RPAR() { return getToken(XPath2Parser.RPAR, 0); }
public ElementTestContext elementTest() {
return getRuleContext(ElementTestContext.class,0);
}
public SchemaElementTestContext schemaElementTest() {
return getRuleContext(SchemaElementTestContext.class,0);
}
public DocumentTestContext(ParserRuleContext parent, int invokingState) {
super(parent, invokingState);
}
@Override public int getRuleIndex() { return RULE_documentTest; }
@Override
public void enterRule(ParseTreeListener listener) {
if ( listener instanceof XPath2ParserListener ) ((XPath2ParserListener)listener).enterDocumentTest(this);
}
@Override
public void exitRule(ParseTreeListener listener) {
if ( listener instanceof XPath2ParserListener ) ((XPath2ParserListener)listener).exitDocumentTest(this);
}
}
public final DocumentTestContext documentTest() throws RecognitionException {
DocumentTestContext _localctx = new DocumentTestContext(_ctx, getState());
enterRule(_localctx, 114, RULE_documentTest);
try {
setState(614);
_errHandler.sync(this);
switch ( getInterpreter().adaptivePredict(_input,46,_ctx) ) {
case 1:
enterOuterAlt(_localctx, 1);
{
setState(601);
match(DOCUMENT_NODE);
setState(602);
match(LPAR);
setState(603);
match(RPAR);
}
break;
case 2:
enterOuterAlt(_localctx, 2);
{
setState(604);
match(DOCUMENT_NODE);
setState(605);
match(LPAR);
setState(606);
elementTest();
setState(607);
match(RPAR);
}
break;
case 3:
enterOuterAlt(_localctx, 3);
{
setState(609);
match(DOCUMENT_NODE);
setState(610);
match(LPAR);
setState(611);
schemaElementTest();
setState(612);
match(RPAR);
}
break;
}
}
catch (RecognitionException re) {
_localctx.exception = re;
_errHandler.reportError(this, re);
_errHandler.recover(this, re);
}
finally {
exitRule();
}
return _localctx;
}
public static class TextTestContext extends ParserRuleContext {
public TerminalNode TEXT() { return getToken(XPath2Parser.TEXT, 0); }
public TerminalNode LPAR() { return getToken(XPath2Parser.LPAR, 0); }
public TerminalNode RPAR() { return getToken(XPath2Parser.RPAR, 0); }
public TextTestContext(ParserRuleContext parent, int invokingState) {
super(parent, invokingState);
}
@Override public int getRuleIndex() { return RULE_textTest; }
@Override
public void enterRule(ParseTreeListener listener) {
if ( listener instanceof XPath2ParserListener ) ((XPath2ParserListener)listener).enterTextTest(this);
}
@Override
public void exitRule(ParseTreeListener listener) {
if ( listener instanceof XPath2ParserListener ) ((XPath2ParserListener)listener).exitTextTest(this);
}
}
public final TextTestContext textTest() throws RecognitionException {
TextTestContext _localctx = new TextTestContext(_ctx, getState());
enterRule(_localctx, 116, RULE_textTest);
try {
enterOuterAlt(_localctx, 1);
{
setState(616);
match(TEXT);
setState(617);
match(LPAR);
setState(618);
match(RPAR);
}
}
catch (RecognitionException re) {
_localctx.exception = re;
_errHandler.reportError(this, re);
_errHandler.recover(this, re);
}
finally {
exitRule();
}
return _localctx;
}
public static class CommentTestContext extends ParserRuleContext {
public TerminalNode COMMENT() { return getToken(XPath2Parser.COMMENT, 0); }
public TerminalNode LPAR() { return getToken(XPath2Parser.LPAR, 0); }
public TerminalNode RPAR() { return getToken(XPath2Parser.RPAR, 0); }
public CommentTestContext(ParserRuleContext parent, int invokingState) {
super(parent, invokingState);
}
@Override public int getRuleIndex() { return RULE_commentTest; }
@Override
public void enterRule(ParseTreeListener listener) {
if ( listener instanceof XPath2ParserListener ) ((XPath2ParserListener)listener).enterCommentTest(this);
}
@Override
public void exitRule(ParseTreeListener listener) {
if ( listener instanceof XPath2ParserListener ) ((XPath2ParserListener)listener).exitCommentTest(this);
}
}
public final CommentTestContext commentTest() throws RecognitionException {
CommentTestContext _localctx = new CommentTestContext(_ctx, getState());
enterRule(_localctx, 118, RULE_commentTest);
try {
enterOuterAlt(_localctx, 1);
{
setState(620);
match(COMMENT);
setState(621);
match(LPAR);
setState(622);
match(RPAR);
}
}
catch (RecognitionException re) {
_localctx.exception = re;
_errHandler.reportError(this, re);
_errHandler.recover(this, re);
}
finally {
exitRule();
}
return _localctx;
}
public static class PITestContext extends ParserRuleContext {
public TerminalNode PROCESSING_INSTRUCTION() { return getToken(XPath2Parser.PROCESSING_INSTRUCTION, 0); }
public TerminalNode LPAR() { return getToken(XPath2Parser.LPAR, 0); }
public TerminalNode RPAR() { return getToken(XPath2Parser.RPAR, 0); }
public NCNameContext nCName() {
return getRuleContext(NCNameContext.class,0);
}
public StringLiteralContext stringLiteral() {
return getRuleContext(StringLiteralContext.class,0);
}
public PITestContext(ParserRuleContext parent, int invokingState) {
super(parent, invokingState);
}
@Override public int getRuleIndex() { return RULE_pITest; }
@Override
public void enterRule(ParseTreeListener listener) {
if ( listener instanceof XPath2ParserListener ) ((XPath2ParserListener)listener).enterPITest(this);
}
@Override
public void exitRule(ParseTreeListener listener) {
if ( listener instanceof XPath2ParserListener ) ((XPath2ParserListener)listener).exitPITest(this);
}
}
public final PITestContext pITest() throws RecognitionException {
PITestContext _localctx = new PITestContext(_ctx, getState());
enterRule(_localctx, 120, RULE_pITest);
try {
setState(637);
_errHandler.sync(this);
switch ( getInterpreter().adaptivePredict(_input,47,_ctx) ) {
case 1:
enterOuterAlt(_localctx, 1);
{
setState(624);
match(PROCESSING_INSTRUCTION);
setState(625);
match(LPAR);
setState(626);
match(RPAR);
}
break;
case 2:
enterOuterAlt(_localctx, 2);
{
setState(627);
match(PROCESSING_INSTRUCTION);
setState(628);
match(LPAR);
setState(629);
nCName();
setState(630);
match(RPAR);
}
break;
case 3:
enterOuterAlt(_localctx, 3);
{
setState(632);
match(PROCESSING_INSTRUCTION);
setState(633);
match(LPAR);
setState(634);
stringLiteral();
setState(635);
match(RPAR);
}
break;
}
}
catch (RecognitionException re) {
_localctx.exception = re;
_errHandler.reportError(this, re);
_errHandler.recover(this, re);
}
finally {
exitRule();
}
return _localctx;
}
public static class AttributeTestContext extends ParserRuleContext {
public TerminalNode ATTRIBUTE() { return getToken(XPath2Parser.ATTRIBUTE, 0); }
public TerminalNode LPAR() { return getToken(XPath2Parser.LPAR, 0); }
public TerminalNode RPAR() { return getToken(XPath2Parser.RPAR, 0); }
public AttribNameOrWildcardContext attribNameOrWildcard() {
return getRuleContext(AttribNameOrWildcardContext.class,0);
}
public TerminalNode COMMA() { return getToken(XPath2Parser.COMMA, 0); }
public TypeNameContext typeName() {
return getRuleContext(TypeNameContext.class,0);
}
public AttributeTestContext(ParserRuleContext parent, int invokingState) {
super(parent, invokingState);
}
@Override public int getRuleIndex() { return RULE_attributeTest; }
@Override
public void enterRule(ParseTreeListener listener) {
if ( listener instanceof XPath2ParserListener ) ((XPath2ParserListener)listener).enterAttributeTest(this);
}
@Override
public void exitRule(ParseTreeListener listener) {
if ( listener instanceof XPath2ParserListener ) ((XPath2ParserListener)listener).exitAttributeTest(this);
}
}
public final AttributeTestContext attributeTest() throws RecognitionException {
AttributeTestContext _localctx = new AttributeTestContext(_ctx, getState());
enterRule(_localctx, 122, RULE_attributeTest);
try {
setState(654);
_errHandler.sync(this);
switch ( getInterpreter().adaptivePredict(_input,48,_ctx) ) {
case 1:
enterOuterAlt(_localctx, 1);
{
setState(639);
match(ATTRIBUTE);
setState(640);
match(LPAR);
setState(641);
match(RPAR);
}
break;
case 2:
enterOuterAlt(_localctx, 2);
{
setState(642);
match(ATTRIBUTE);
setState(643);
match(LPAR);
setState(644);
attribNameOrWildcard();
setState(645);
match(RPAR);
}
break;
case 3:
enterOuterAlt(_localctx, 3);
{
setState(647);
match(ATTRIBUTE);
setState(648);
match(LPAR);
setState(649);
attribNameOrWildcard();
setState(650);
match(COMMA);
setState(651);
typeName();
setState(652);
match(RPAR);
}
break;
}
}
catch (RecognitionException re) {
_localctx.exception = re;
_errHandler.reportError(this, re);
_errHandler.recover(this, re);
}
finally {
exitRule();
}
return _localctx;
}
public static class AttribNameOrWildcardContext extends ParserRuleContext {
public AttributeNameContext attributeName() {
return getRuleContext(AttributeNameContext.class,0);
}
public TerminalNode STAR() { return getToken(XPath2Parser.STAR, 0); }
public AttribNameOrWildcardContext(ParserRuleContext parent, int invokingState) {
super(parent, invokingState);
}
@Override public int getRuleIndex() { return RULE_attribNameOrWildcard; }
@Override
public void enterRule(ParseTreeListener listener) {
if ( listener instanceof XPath2ParserListener ) ((XPath2ParserListener)listener).enterAttribNameOrWildcard(this);
}
@Override
public void exitRule(ParseTreeListener listener) {
if ( listener instanceof XPath2ParserListener ) ((XPath2ParserListener)listener).exitAttribNameOrWildcard(this);
}
}
public final AttribNameOrWildcardContext attribNameOrWildcard() throws RecognitionException {
AttribNameOrWildcardContext _localctx = new AttribNameOrWildcardContext(_ctx, getState());
enterRule(_localctx, 124, RULE_attribNameOrWildcard);
try {
setState(658);
_errHandler.sync(this);
switch (_input.LA(1)) {
case CHILD:
case DESCENDANT:
case ATTRIBUTE:
case SELF:
case DESCENDANT_OR_SELF:
case FOLLOWING_SIBLING:
case FOLLOWING:
case NAMESPACE:
case PARENT:
case ANCESTOR:
case PRECEDING_SIBLING:
case PRECEDING:
case ANCESTOR_OR_SELF:
case EQ:
case NE:
case LT:
case LE:
case GT:
case GE:
case IDIV:
case DIV:
case MOD:
case UNION:
case INTERSECT:
case EXCEPT:
case INSTANCE:
case TREAT:
case CASTABLE:
case CAST:
case AS:
case OF:
case IS:
case FOR:
case IN:
case RETURN:
case SATISFIES:
case TO:
case SOME:
case EVERY:
case IF:
case THEN:
case ELSE:
case AND:
case OR:
case EMPTY_SEQUENCE:
case ITEM:
case NODE:
case DOCUMENT_NODE:
case TEXT:
case COMMENT:
case PROCESSING_INSTRUCTION:
case SCHEMA_ATTRIBUTE:
case ELEMENT:
case SCHEMA_ELEMENT:
case TYPESWITCH:
case NCNAME:
enterOuterAlt(_localctx, 1);
{
setState(656);
attributeName();
}
break;
case STAR:
enterOuterAlt(_localctx, 2);
{
setState(657);
match(STAR);
}
break;
default:
throw new NoViableAltException(this);
}
}
catch (RecognitionException re) {
_localctx.exception = re;
_errHandler.reportError(this, re);
_errHandler.recover(this, re);
}
finally {
exitRule();
}
return _localctx;
}
public static class SchemaAttributeTestContext extends ParserRuleContext {
public TerminalNode SCHEMA_ATTRIBUTE() { return getToken(XPath2Parser.SCHEMA_ATTRIBUTE, 0); }
public TerminalNode LPAR() { return getToken(XPath2Parser.LPAR, 0); }
public AttributeDeclarationContext attributeDeclaration() {
return getRuleContext(AttributeDeclarationContext.class,0);
}
public TerminalNode RPAR() { return getToken(XPath2Parser.RPAR, 0); }
public SchemaAttributeTestContext(ParserRuleContext parent, int invokingState) {
super(parent, invokingState);
}
@Override public int getRuleIndex() { return RULE_schemaAttributeTest; }
@Override
public void enterRule(ParseTreeListener listener) {
if ( listener instanceof XPath2ParserListener ) ((XPath2ParserListener)listener).enterSchemaAttributeTest(this);
}
@Override
public void exitRule(ParseTreeListener listener) {
if ( listener instanceof XPath2ParserListener ) ((XPath2ParserListener)listener).exitSchemaAttributeTest(this);
}
}
public final SchemaAttributeTestContext schemaAttributeTest() throws RecognitionException {
SchemaAttributeTestContext _localctx = new SchemaAttributeTestContext(_ctx, getState());
enterRule(_localctx, 126, RULE_schemaAttributeTest);
try {
enterOuterAlt(_localctx, 1);
{
setState(660);
match(SCHEMA_ATTRIBUTE);
setState(661);
match(LPAR);
setState(662);
attributeDeclaration();
setState(663);
match(RPAR);
}
}
catch (RecognitionException re) {
_localctx.exception = re;
_errHandler.reportError(this, re);
_errHandler.recover(this, re);
}
finally {
exitRule();
}
return _localctx;
}
public static class AttributeDeclarationContext extends ParserRuleContext {
public AttributeNameContext attributeName() {
return getRuleContext(AttributeNameContext.class,0);
}
public AttributeDeclarationContext(ParserRuleContext parent, int invokingState) {
super(parent, invokingState);
}
@Override public int getRuleIndex() { return RULE_attributeDeclaration; }
@Override
public void enterRule(ParseTreeListener listener) {
if ( listener instanceof XPath2ParserListener ) ((XPath2ParserListener)listener).enterAttributeDeclaration(this);
}
@Override
public void exitRule(ParseTreeListener listener) {
if ( listener instanceof XPath2ParserListener ) ((XPath2ParserListener)listener).exitAttributeDeclaration(this);
}
}
public final AttributeDeclarationContext attributeDeclaration() throws RecognitionException {
AttributeDeclarationContext _localctx = new AttributeDeclarationContext(_ctx, getState());
enterRule(_localctx, 128, RULE_attributeDeclaration);
try {
enterOuterAlt(_localctx, 1);
{
setState(665);
attributeName();
}
}
catch (RecognitionException re) {
_localctx.exception = re;
_errHandler.reportError(this, re);
_errHandler.recover(this, re);
}
finally {
exitRule();
}
return _localctx;
}
public static class ElementTestContext extends ParserRuleContext {
public TerminalNode ELEMENT() { return getToken(XPath2Parser.ELEMENT, 0); }
public TerminalNode LPAR() { return getToken(XPath2Parser.LPAR, 0); }
public TerminalNode RPAR() { return getToken(XPath2Parser.RPAR, 0); }
public ElementNameOrWildcardContext elementNameOrWildcard() {
return getRuleContext(ElementNameOrWildcardContext.class,0);
}
public TerminalNode COMMA() { return getToken(XPath2Parser.COMMA, 0); }
public TypeNameContext typeName() {
return getRuleContext(TypeNameContext.class,0);
}
public TerminalNode QUESTIONMARK() { return getToken(XPath2Parser.QUESTIONMARK, 0); }
public ElementTestContext(ParserRuleContext parent, int invokingState) {
super(parent, invokingState);
}
@Override public int getRuleIndex() { return RULE_elementTest; }
@Override
public void enterRule(ParseTreeListener listener) {
if ( listener instanceof XPath2ParserListener ) ((XPath2ParserListener)listener).enterElementTest(this);
}
@Override
public void exitRule(ParseTreeListener listener) {
if ( listener instanceof XPath2ParserListener ) ((XPath2ParserListener)listener).exitElementTest(this);
}
}
public final ElementTestContext elementTest() throws RecognitionException {
ElementTestContext _localctx = new ElementTestContext(_ctx, getState());
enterRule(_localctx, 130, RULE_elementTest);
try {
setState(690);
_errHandler.sync(this);
switch ( getInterpreter().adaptivePredict(_input,50,_ctx) ) {
case 1:
enterOuterAlt(_localctx, 1);
{
setState(667);
match(ELEMENT);
setState(668);
match(LPAR);
setState(669);
match(RPAR);
}
break;
case 2:
enterOuterAlt(_localctx, 2);
{
setState(670);
match(ELEMENT);
setState(671);
match(LPAR);
setState(672);
elementNameOrWildcard();
setState(673);
match(RPAR);
}
break;
case 3:
enterOuterAlt(_localctx, 3);
{
setState(675);
match(ELEMENT);
setState(676);
match(LPAR);
setState(677);
elementNameOrWildcard();
setState(678);
match(COMMA);
setState(679);
typeName();
setState(680);
match(RPAR);
}
break;
case 4:
enterOuterAlt(_localctx, 4);
{
setState(682);
match(ELEMENT);
setState(683);
match(LPAR);
setState(684);
elementNameOrWildcard();
setState(685);
match(COMMA);
setState(686);
typeName();
setState(687);
match(QUESTIONMARK);
setState(688);
match(RPAR);
}
break;
}
}
catch (RecognitionException re) {
_localctx.exception = re;
_errHandler.reportError(this, re);
_errHandler.recover(this, re);
}
finally {
exitRule();
}
return _localctx;
}
public static class ElementNameOrWildcardContext extends ParserRuleContext {
public ElementNameContext elementName() {
return getRuleContext(ElementNameContext.class,0);
}
public TerminalNode STAR() { return getToken(XPath2Parser.STAR, 0); }
public ElementNameOrWildcardContext(ParserRuleContext parent, int invokingState) {
super(parent, invokingState);
}
@Override public int getRuleIndex() { return RULE_elementNameOrWildcard; }
@Override
public void enterRule(ParseTreeListener listener) {
if ( listener instanceof XPath2ParserListener ) ((XPath2ParserListener)listener).enterElementNameOrWildcard(this);
}
@Override
public void exitRule(ParseTreeListener listener) {
if ( listener instanceof XPath2ParserListener ) ((XPath2ParserListener)listener).exitElementNameOrWildcard(this);
}
}
public final ElementNameOrWildcardContext elementNameOrWildcard() throws RecognitionException {
ElementNameOrWildcardContext _localctx = new ElementNameOrWildcardContext(_ctx, getState());
enterRule(_localctx, 132, RULE_elementNameOrWildcard);
try {
setState(694);
_errHandler.sync(this);
switch (_input.LA(1)) {
case CHILD:
case DESCENDANT:
case ATTRIBUTE:
case SELF:
case DESCENDANT_OR_SELF:
case FOLLOWING_SIBLING:
case FOLLOWING:
case NAMESPACE:
case PARENT:
case ANCESTOR:
case PRECEDING_SIBLING:
case PRECEDING:
case ANCESTOR_OR_SELF:
case EQ:
case NE:
case LT:
case LE:
case GT:
case GE:
case IDIV:
case DIV:
case MOD:
case UNION:
case INTERSECT:
case EXCEPT:
case INSTANCE:
case TREAT:
case CASTABLE:
case CAST:
case AS:
case OF:
case IS:
case FOR:
case IN:
case RETURN:
case SATISFIES:
case TO:
case SOME:
case EVERY:
case IF:
case THEN:
case ELSE:
case AND:
case OR:
case EMPTY_SEQUENCE:
case ITEM:
case NODE:
case DOCUMENT_NODE:
case TEXT:
case COMMENT:
case PROCESSING_INSTRUCTION:
case SCHEMA_ATTRIBUTE:
case ELEMENT:
case SCHEMA_ELEMENT:
case TYPESWITCH:
case NCNAME:
enterOuterAlt(_localctx, 1);
{
setState(692);
elementName();
}
break;
case STAR:
enterOuterAlt(_localctx, 2);
{
setState(693);
match(STAR);
}
break;
default:
throw new NoViableAltException(this);
}
}
catch (RecognitionException re) {
_localctx.exception = re;
_errHandler.reportError(this, re);
_errHandler.recover(this, re);
}
finally {
exitRule();
}
return _localctx;
}
public static class SchemaElementTestContext extends ParserRuleContext {
public TerminalNode SCHEMA_ELEMENT() { return getToken(XPath2Parser.SCHEMA_ELEMENT, 0); }
public TerminalNode LPAR() { return getToken(XPath2Parser.LPAR, 0); }
public ElementDeclarationContext elementDeclaration() {
return getRuleContext(ElementDeclarationContext.class,0);
}
public TerminalNode RPAR() { return getToken(XPath2Parser.RPAR, 0); }
public SchemaElementTestContext(ParserRuleContext parent, int invokingState) {
super(parent, invokingState);
}
@Override public int getRuleIndex() { return RULE_schemaElementTest; }
@Override
public void enterRule(ParseTreeListener listener) {
if ( listener instanceof XPath2ParserListener ) ((XPath2ParserListener)listener).enterSchemaElementTest(this);
}
@Override
public void exitRule(ParseTreeListener listener) {
if ( listener instanceof XPath2ParserListener ) ((XPath2ParserListener)listener).exitSchemaElementTest(this);
}
}
public final SchemaElementTestContext schemaElementTest() throws RecognitionException {
SchemaElementTestContext _localctx = new SchemaElementTestContext(_ctx, getState());
enterRule(_localctx, 134, RULE_schemaElementTest);
try {
enterOuterAlt(_localctx, 1);
{
setState(696);
match(SCHEMA_ELEMENT);
setState(697);
match(LPAR);
setState(698);
elementDeclaration();
setState(699);
match(RPAR);
}
}
catch (RecognitionException re) {
_localctx.exception = re;
_errHandler.reportError(this, re);
_errHandler.recover(this, re);
}
finally {
exitRule();
}
return _localctx;
}
public static class ElementDeclarationContext extends ParserRuleContext {
public ElementNameContext elementName() {
return getRuleContext(ElementNameContext.class,0);
}
public ElementDeclarationContext(ParserRuleContext parent, int invokingState) {
super(parent, invokingState);
}
@Override public int getRuleIndex() { return RULE_elementDeclaration; }
@Override
public void enterRule(ParseTreeListener listener) {
if ( listener instanceof XPath2ParserListener ) ((XPath2ParserListener)listener).enterElementDeclaration(this);
}
@Override
public void exitRule(ParseTreeListener listener) {
if ( listener instanceof XPath2ParserListener ) ((XPath2ParserListener)listener).exitElementDeclaration(this);
}
}
public final ElementDeclarationContext elementDeclaration() throws RecognitionException {
ElementDeclarationContext _localctx = new ElementDeclarationContext(_ctx, getState());
enterRule(_localctx, 136, RULE_elementDeclaration);
try {
enterOuterAlt(_localctx, 1);
{
setState(701);
elementName();
}
}
catch (RecognitionException re) {
_localctx.exception = re;
_errHandler.reportError(this, re);
_errHandler.recover(this, re);
}
finally {
exitRule();
}
return _localctx;
}
public static class AttributeNameContext extends ParserRuleContext {
public QNameContext qName() {
return getRuleContext(QNameContext.class,0);
}
public AttributeNameContext(ParserRuleContext parent, int invokingState) {
super(parent, invokingState);
}
@Override public int getRuleIndex() { return RULE_attributeName; }
@Override
public void enterRule(ParseTreeListener listener) {
if ( listener instanceof XPath2ParserListener ) ((XPath2ParserListener)listener).enterAttributeName(this);
}
@Override
public void exitRule(ParseTreeListener listener) {
if ( listener instanceof XPath2ParserListener ) ((XPath2ParserListener)listener).exitAttributeName(this);
}
}
public final AttributeNameContext attributeName() throws RecognitionException {
AttributeNameContext _localctx = new AttributeNameContext(_ctx, getState());
enterRule(_localctx, 138, RULE_attributeName);
try {
enterOuterAlt(_localctx, 1);
{
setState(703);
qName();
}
}
catch (RecognitionException re) {
_localctx.exception = re;
_errHandler.reportError(this, re);
_errHandler.recover(this, re);
}
finally {
exitRule();
}
return _localctx;
}
public static class ElementNameContext extends ParserRuleContext {
public QNameContext qName() {
return getRuleContext(QNameContext.class,0);
}
public ElementNameContext(ParserRuleContext parent, int invokingState) {
super(parent, invokingState);
}
@Override public int getRuleIndex() { return RULE_elementName; }
@Override
public void enterRule(ParseTreeListener listener) {
if ( listener instanceof XPath2ParserListener ) ((XPath2ParserListener)listener).enterElementName(this);
}
@Override
public void exitRule(ParseTreeListener listener) {
if ( listener instanceof XPath2ParserListener ) ((XPath2ParserListener)listener).exitElementName(this);
}
}
public final ElementNameContext elementName() throws RecognitionException {
ElementNameContext _localctx = new ElementNameContext(_ctx, getState());
enterRule(_localctx, 140, RULE_elementName);
try {
enterOuterAlt(_localctx, 1);
{
setState(705);
qName();
}
}
catch (RecognitionException re) {
_localctx.exception = re;
_errHandler.reportError(this, re);
_errHandler.recover(this, re);
}
finally {
exitRule();
}
return _localctx;
}
public static class TypeNameContext extends ParserRuleContext {
public QNameContext qName() {
return getRuleContext(QNameContext.class,0);
}
public TypeNameContext(ParserRuleContext parent, int invokingState) {
super(parent, invokingState);
}
@Override public int getRuleIndex() { return RULE_typeName; }
@Override
public void enterRule(ParseTreeListener listener) {
if ( listener instanceof XPath2ParserListener ) ((XPath2ParserListener)listener).enterTypeName(this);
}
@Override
public void exitRule(ParseTreeListener listener) {
if ( listener instanceof XPath2ParserListener ) ((XPath2ParserListener)listener).exitTypeName(this);
}
}
public final TypeNameContext typeName() throws RecognitionException {
TypeNameContext _localctx = new TypeNameContext(_ctx, getState());
enterRule(_localctx, 142, RULE_typeName);
try {
enterOuterAlt(_localctx, 1);
{
setState(707);
qName();
}
}
catch (RecognitionException re) {
_localctx.exception = re;
_errHandler.reportError(this, re);
_errHandler.recover(this, re);
}
finally {
exitRule();
}
return _localctx;
}
public static class IntegerLiteralContext extends ParserRuleContext {
public TerminalNode DIGITS() { return getToken(XPath2Parser.DIGITS, 0); }
public IntegerLiteralContext(ParserRuleContext parent, int invokingState) {
super(parent, invokingState);
}
@Override public int getRuleIndex() { return RULE_integerLiteral; }
@Override
public void enterRule(ParseTreeListener listener) {
if ( listener instanceof XPath2ParserListener ) ((XPath2ParserListener)listener).enterIntegerLiteral(this);
}
@Override
public void exitRule(ParseTreeListener listener) {
if ( listener instanceof XPath2ParserListener ) ((XPath2ParserListener)listener).exitIntegerLiteral(this);
}
}
public final IntegerLiteralContext integerLiteral() throws RecognitionException {
IntegerLiteralContext _localctx = new IntegerLiteralContext(_ctx, getState());
enterRule(_localctx, 144, RULE_integerLiteral);
try {
enterOuterAlt(_localctx, 1);
{
setState(709);
match(DIGITS);
}
}
catch (RecognitionException re) {
_localctx.exception = re;
_errHandler.reportError(this, re);
_errHandler.recover(this, re);
}
finally {
exitRule();
}
return _localctx;
}
public static class DecimalLiteralContext extends ParserRuleContext {
public TerminalNode DECIMAL_LITERAL() { return getToken(XPath2Parser.DECIMAL_LITERAL, 0); }
public DecimalLiteralContext(ParserRuleContext parent, int invokingState) {
super(parent, invokingState);
}
@Override public int getRuleIndex() { return RULE_decimalLiteral; }
@Override
public void enterRule(ParseTreeListener listener) {
if ( listener instanceof XPath2ParserListener ) ((XPath2ParserListener)listener).enterDecimalLiteral(this);
}
@Override
public void exitRule(ParseTreeListener listener) {
if ( listener instanceof XPath2ParserListener ) ((XPath2ParserListener)listener).exitDecimalLiteral(this);
}
}
public final DecimalLiteralContext decimalLiteral() throws RecognitionException {
DecimalLiteralContext _localctx = new DecimalLiteralContext(_ctx, getState());
enterRule(_localctx, 146, RULE_decimalLiteral);
try {
enterOuterAlt(_localctx, 1);
{
setState(711);
match(DECIMAL_LITERAL);
}
}
catch (RecognitionException re) {
_localctx.exception = re;
_errHandler.reportError(this, re);
_errHandler.recover(this, re);
}
finally {
exitRule();
}
return _localctx;
}
public static class DoubleLiteralContext extends ParserRuleContext {
public TerminalNode DOUBLE_LITERAL() { return getToken(XPath2Parser.DOUBLE_LITERAL, 0); }
public DoubleLiteralContext(ParserRuleContext parent, int invokingState) {
super(parent, invokingState);
}
@Override public int getRuleIndex() { return RULE_doubleLiteral; }
@Override
public void enterRule(ParseTreeListener listener) {
if ( listener instanceof XPath2ParserListener ) ((XPath2ParserListener)listener).enterDoubleLiteral(this);
}
@Override
public void exitRule(ParseTreeListener listener) {
if ( listener instanceof XPath2ParserListener ) ((XPath2ParserListener)listener).exitDoubleLiteral(this);
}
}
public final DoubleLiteralContext doubleLiteral() throws RecognitionException {
DoubleLiteralContext _localctx = new DoubleLiteralContext(_ctx, getState());
enterRule(_localctx, 148, RULE_doubleLiteral);
try {
enterOuterAlt(_localctx, 1);
{
setState(713);
match(DOUBLE_LITERAL);
}
}
catch (RecognitionException re) {
_localctx.exception = re;
_errHandler.reportError(this, re);
_errHandler.recover(this, re);
}
finally {
exitRule();
}
return _localctx;
}
public static class StringLiteralContext extends ParserRuleContext {
public TerminalNode STRING_LITERAL() { return getToken(XPath2Parser.STRING_LITERAL, 0); }
public StringLiteralContext(ParserRuleContext parent, int invokingState) {
super(parent, invokingState);
}
@Override public int getRuleIndex() { return RULE_stringLiteral; }
@Override
public void enterRule(ParseTreeListener listener) {
if ( listener instanceof XPath2ParserListener ) ((XPath2ParserListener)listener).enterStringLiteral(this);
}
@Override
public void exitRule(ParseTreeListener listener) {
if ( listener instanceof XPath2ParserListener ) ((XPath2ParserListener)listener).exitStringLiteral(this);
}
}
public final StringLiteralContext stringLiteral() throws RecognitionException {
StringLiteralContext _localctx = new StringLiteralContext(_ctx, getState());
enterRule(_localctx, 150, RULE_stringLiteral);
try {
enterOuterAlt(_localctx, 1);
{
setState(715);
match(STRING_LITERAL);
}
}
catch (RecognitionException re) {
_localctx.exception = re;
_errHandler.reportError(this, re);
_errHandler.recover(this, re);
}
finally {
exitRule();
}
return _localctx;
}
public static class QNameContext extends ParserRuleContext {
public List nCName() {
return getRuleContexts(NCNameContext.class);
}
public NCNameContext nCName(int i) {
return getRuleContext(NCNameContext.class,i);
}
public TerminalNode COLON() { return getToken(XPath2Parser.COLON, 0); }
public QNameContext(ParserRuleContext parent, int invokingState) {
super(parent, invokingState);
}
@Override public int getRuleIndex() { return RULE_qName; }
@Override
public void enterRule(ParseTreeListener listener) {
if ( listener instanceof XPath2ParserListener ) ((XPath2ParserListener)listener).enterQName(this);
}
@Override
public void exitRule(ParseTreeListener listener) {
if ( listener instanceof XPath2ParserListener ) ((XPath2ParserListener)listener).exitQName(this);
}
}
public final QNameContext qName() throws RecognitionException {
QNameContext _localctx = new QNameContext(_ctx, getState());
enterRule(_localctx, 152, RULE_qName);
try {
setState(722);
_errHandler.sync(this);
switch ( getInterpreter().adaptivePredict(_input,52,_ctx) ) {
case 1:
enterOuterAlt(_localctx, 1);
{
setState(717);
nCName();
}
break;
case 2:
enterOuterAlt(_localctx, 2);
{
setState(718);
nCName();
setState(719);
match(COLON);
setState(720);
nCName();
}
break;
}
}
catch (RecognitionException re) {
_localctx.exception = re;
_errHandler.reportError(this, re);
_errHandler.recover(this, re);
}
finally {
exitRule();
}
return _localctx;
}
public static class NCNameContext extends ParserRuleContext {
public TerminalNode NCNAME() { return getToken(XPath2Parser.NCNAME, 0); }
public TerminalNode TO() { return getToken(XPath2Parser.TO, 0); }
public TerminalNode CHILD() { return getToken(XPath2Parser.CHILD, 0); }
public TerminalNode DESCENDANT() { return getToken(XPath2Parser.DESCENDANT, 0); }
public TerminalNode ATTRIBUTE() { return getToken(XPath2Parser.ATTRIBUTE, 0); }
public TerminalNode SELF() { return getToken(XPath2Parser.SELF, 0); }
public TerminalNode DESCENDANT_OR_SELF() { return getToken(XPath2Parser.DESCENDANT_OR_SELF, 0); }
public TerminalNode FOLLOWING_SIBLING() { return getToken(XPath2Parser.FOLLOWING_SIBLING, 0); }
public TerminalNode FOLLOWING() { return getToken(XPath2Parser.FOLLOWING, 0); }
public TerminalNode NAMESPACE() { return getToken(XPath2Parser.NAMESPACE, 0); }
public TerminalNode PARENT() { return getToken(XPath2Parser.PARENT, 0); }
public TerminalNode ANCESTOR() { return getToken(XPath2Parser.ANCESTOR, 0); }
public TerminalNode PRECEDING_SIBLING() { return getToken(XPath2Parser.PRECEDING_SIBLING, 0); }
public TerminalNode PRECEDING() { return getToken(XPath2Parser.PRECEDING, 0); }
public TerminalNode ANCESTOR_OR_SELF() { return getToken(XPath2Parser.ANCESTOR_OR_SELF, 0); }
public TerminalNode UNION() { return getToken(XPath2Parser.UNION, 0); }
public TerminalNode INTERSECT() { return getToken(XPath2Parser.INTERSECT, 0); }
public TerminalNode EXCEPT() { return getToken(XPath2Parser.EXCEPT, 0); }
public TerminalNode INSTANCE() { return getToken(XPath2Parser.INSTANCE, 0); }
public TerminalNode OF() { return getToken(XPath2Parser.OF, 0); }
public TerminalNode AS() { return getToken(XPath2Parser.AS, 0); }
public TerminalNode TREAT() { return getToken(XPath2Parser.TREAT, 0); }
public TerminalNode CASTABLE() { return getToken(XPath2Parser.CASTABLE, 0); }
public TerminalNode CAST() { return getToken(XPath2Parser.CAST, 0); }
public TerminalNode IS() { return getToken(XPath2Parser.IS, 0); }
public TerminalNode FOR() { return getToken(XPath2Parser.FOR, 0); }
public TerminalNode IN() { return getToken(XPath2Parser.IN, 0); }
public TerminalNode RETURN() { return getToken(XPath2Parser.RETURN, 0); }
public TerminalNode SATISFIES() { return getToken(XPath2Parser.SATISFIES, 0); }
public TerminalNode SOME() { return getToken(XPath2Parser.SOME, 0); }
public TerminalNode EVERY() { return getToken(XPath2Parser.EVERY, 0); }
public TerminalNode IF() { return getToken(XPath2Parser.IF, 0); }
public TerminalNode THEN() { return getToken(XPath2Parser.THEN, 0); }
public TerminalNode ELSE() { return getToken(XPath2Parser.ELSE, 0); }
public TerminalNode AND() { return getToken(XPath2Parser.AND, 0); }
public TerminalNode OR() { return getToken(XPath2Parser.OR, 0); }
public TerminalNode DIV() { return getToken(XPath2Parser.DIV, 0); }
public TerminalNode IDIV() { return getToken(XPath2Parser.IDIV, 0); }
public TerminalNode COMMENT() { return getToken(XPath2Parser.COMMENT, 0); }
public TerminalNode DOCUMENT_NODE() { return getToken(XPath2Parser.DOCUMENT_NODE, 0); }
public TerminalNode ELEMENT() { return getToken(XPath2Parser.ELEMENT, 0); }
public TerminalNode EMPTY_SEQUENCE() { return getToken(XPath2Parser.EMPTY_SEQUENCE, 0); }
public TerminalNode ITEM() { return getToken(XPath2Parser.ITEM, 0); }
public TerminalNode NODE() { return getToken(XPath2Parser.NODE, 0); }
public TerminalNode PROCESSING_INSTRUCTION() { return getToken(XPath2Parser.PROCESSING_INSTRUCTION, 0); }
public TerminalNode SCHEMA_ATTRIBUTE() { return getToken(XPath2Parser.SCHEMA_ATTRIBUTE, 0); }
public TerminalNode SCHEMA_ELEMENT() { return getToken(XPath2Parser.SCHEMA_ELEMENT, 0); }
public TerminalNode TEXT() { return getToken(XPath2Parser.TEXT, 0); }
public TerminalNode TYPESWITCH() { return getToken(XPath2Parser.TYPESWITCH, 0); }
public TerminalNode MOD() { return getToken(XPath2Parser.MOD, 0); }
public TerminalNode EQ() { return getToken(XPath2Parser.EQ, 0); }
public TerminalNode NE() { return getToken(XPath2Parser.NE, 0); }
public TerminalNode LT() { return getToken(XPath2Parser.LT, 0); }
public TerminalNode LE() { return getToken(XPath2Parser.LE, 0); }
public TerminalNode GT() { return getToken(XPath2Parser.GT, 0); }
public TerminalNode GE() { return getToken(XPath2Parser.GE, 0); }
public NCNameContext(ParserRuleContext parent, int invokingState) {
super(parent, invokingState);
}
@Override public int getRuleIndex() { return RULE_nCName; }
@Override
public void enterRule(ParseTreeListener listener) {
if ( listener instanceof XPath2ParserListener ) ((XPath2ParserListener)listener).enterNCName(this);
}
@Override
public void exitRule(ParseTreeListener listener) {
if ( listener instanceof XPath2ParserListener ) ((XPath2ParserListener)listener).exitNCName(this);
}
}
public final NCNameContext nCName() throws RecognitionException {
NCNameContext _localctx = new NCNameContext(_ctx, getState());
enterRule(_localctx, 154, RULE_nCName);
int _la;
try {
enterOuterAlt(_localctx, 1);
{
setState(724);
_la = _input.LA(1);
if ( !(((((_la - 31)) & ~0x3f) == 0 && ((1L << (_la - 31)) & ((1L << (CHILD - 31)) | (1L << (DESCENDANT - 31)) | (1L << (ATTRIBUTE - 31)) | (1L << (SELF - 31)) | (1L << (DESCENDANT_OR_SELF - 31)) | (1L << (FOLLOWING_SIBLING - 31)) | (1L << (FOLLOWING - 31)) | (1L << (NAMESPACE - 31)) | (1L << (PARENT - 31)) | (1L << (ANCESTOR - 31)) | (1L << (PRECEDING_SIBLING - 31)) | (1L << (PRECEDING - 31)) | (1L << (ANCESTOR_OR_SELF - 31)) | (1L << (EQ - 31)) | (1L << (NE - 31)) | (1L << (LT - 31)) | (1L << (LE - 31)) | (1L << (GT - 31)) | (1L << (GE - 31)) | (1L << (IDIV - 31)) | (1L << (DIV - 31)) | (1L << (MOD - 31)) | (1L << (UNION - 31)) | (1L << (INTERSECT - 31)) | (1L << (EXCEPT - 31)) | (1L << (INSTANCE - 31)) | (1L << (TREAT - 31)) | (1L << (CASTABLE - 31)) | (1L << (CAST - 31)) | (1L << (AS - 31)) | (1L << (OF - 31)) | (1L << (IS - 31)) | (1L << (FOR - 31)) | (1L << (IN - 31)) | (1L << (RETURN - 31)) | (1L << (SATISFIES - 31)) | (1L << (TO - 31)) | (1L << (SOME - 31)) | (1L << (EVERY - 31)) | (1L << (IF - 31)) | (1L << (THEN - 31)) | (1L << (ELSE - 31)) | (1L << (AND - 31)) | (1L << (OR - 31)) | (1L << (EMPTY_SEQUENCE - 31)) | (1L << (ITEM - 31)) | (1L << (NODE - 31)) | (1L << (DOCUMENT_NODE - 31)) | (1L << (TEXT - 31)) | (1L << (COMMENT - 31)) | (1L << (PROCESSING_INSTRUCTION - 31)) | (1L << (SCHEMA_ATTRIBUTE - 31)) | (1L << (ELEMENT - 31)) | (1L << (SCHEMA_ELEMENT - 31)) | (1L << (TYPESWITCH - 31)) | (1L << (NCNAME - 31)))) != 0)) ) {
_errHandler.recoverInline(this);
}
else {
if ( _input.LA(1)==Token.EOF ) matchedEOF = true;
_errHandler.reportMatch(this);
consume();
}
}
}
catch (RecognitionException re) {
_localctx.exception = re;
_errHandler.reportError(this, re);
_errHandler.recover(this, re);
}
finally {
exitRule();
}
return _localctx;
}
public static class ReservedFunctionNamesContext extends ParserRuleContext {
public ReservedFunctionNCNamesContext reservedFunctionNCNames() {
return getRuleContext(ReservedFunctionNCNamesContext.class,0);
}
public List nCName() {
return getRuleContexts(NCNameContext.class);
}
public NCNameContext nCName(int i) {
return getRuleContext(NCNameContext.class,i);
}
public TerminalNode COLON() { return getToken(XPath2Parser.COLON, 0); }
public ReservedFunctionNamesContext(ParserRuleContext parent, int invokingState) {
super(parent, invokingState);
}
@Override public int getRuleIndex() { return RULE_reservedFunctionNames; }
@Override
public void enterRule(ParseTreeListener listener) {
if ( listener instanceof XPath2ParserListener ) ((XPath2ParserListener)listener).enterReservedFunctionNames(this);
}
@Override
public void exitRule(ParseTreeListener listener) {
if ( listener instanceof XPath2ParserListener ) ((XPath2ParserListener)listener).exitReservedFunctionNames(this);
}
}
public final ReservedFunctionNamesContext reservedFunctionNames() throws RecognitionException {
ReservedFunctionNamesContext _localctx = new ReservedFunctionNamesContext(_ctx, getState());
enterRule(_localctx, 156, RULE_reservedFunctionNames);
try {
setState(731);
_errHandler.sync(this);
switch ( getInterpreter().adaptivePredict(_input,53,_ctx) ) {
case 1:
enterOuterAlt(_localctx, 1);
{
setState(726);
reservedFunctionNCNames();
}
break;
case 2:
enterOuterAlt(_localctx, 2);
{
setState(727);
nCName();
setState(728);
match(COLON);
setState(729);
nCName();
}
break;
}
}
catch (RecognitionException re) {
_localctx.exception = re;
_errHandler.reportError(this, re);
_errHandler.recover(this, re);
}
finally {
exitRule();
}
return _localctx;
}
public static class ReservedFunctionNCNamesContext extends ParserRuleContext {
public TerminalNode NCNAME() { return getToken(XPath2Parser.NCNAME, 0); }
public TerminalNode TO() { return getToken(XPath2Parser.TO, 0); }
public TerminalNode CHILD() { return getToken(XPath2Parser.CHILD, 0); }
public TerminalNode DESCENDANT() { return getToken(XPath2Parser.DESCENDANT, 0); }
public TerminalNode SELF() { return getToken(XPath2Parser.SELF, 0); }
public TerminalNode DESCENDANT_OR_SELF() { return getToken(XPath2Parser.DESCENDANT_OR_SELF, 0); }
public TerminalNode FOLLOWING_SIBLING() { return getToken(XPath2Parser.FOLLOWING_SIBLING, 0); }
public TerminalNode FOLLOWING() { return getToken(XPath2Parser.FOLLOWING, 0); }
public TerminalNode NAMESPACE() { return getToken(XPath2Parser.NAMESPACE, 0); }
public TerminalNode PARENT() { return getToken(XPath2Parser.PARENT, 0); }
public TerminalNode ANCESTOR() { return getToken(XPath2Parser.ANCESTOR, 0); }
public TerminalNode PRECEDING_SIBLING() { return getToken(XPath2Parser.PRECEDING_SIBLING, 0); }
public TerminalNode PRECEDING() { return getToken(XPath2Parser.PRECEDING, 0); }
public TerminalNode ANCESTOR_OR_SELF() { return getToken(XPath2Parser.ANCESTOR_OR_SELF, 0); }
public TerminalNode UNION() { return getToken(XPath2Parser.UNION, 0); }
public TerminalNode INTERSECT() { return getToken(XPath2Parser.INTERSECT, 0); }
public TerminalNode EXCEPT() { return getToken(XPath2Parser.EXCEPT, 0); }
public TerminalNode INSTANCE() { return getToken(XPath2Parser.INSTANCE, 0); }
public TerminalNode OF() { return getToken(XPath2Parser.OF, 0); }
public TerminalNode AS() { return getToken(XPath2Parser.AS, 0); }
public TerminalNode TREAT() { return getToken(XPath2Parser.TREAT, 0); }
public TerminalNode CASTABLE() { return getToken(XPath2Parser.CASTABLE, 0); }
public TerminalNode CAST() { return getToken(XPath2Parser.CAST, 0); }
public TerminalNode IS() { return getToken(XPath2Parser.IS, 0); }
public TerminalNode FOR() { return getToken(XPath2Parser.FOR, 0); }
public TerminalNode IN() { return getToken(XPath2Parser.IN, 0); }
public TerminalNode RETURN() { return getToken(XPath2Parser.RETURN, 0); }
public TerminalNode SATISFIES() { return getToken(XPath2Parser.SATISFIES, 0); }
public TerminalNode SOME() { return getToken(XPath2Parser.SOME, 0); }
public TerminalNode EVERY() { return getToken(XPath2Parser.EVERY, 0); }
public TerminalNode THEN() { return getToken(XPath2Parser.THEN, 0); }
public TerminalNode ELSE() { return getToken(XPath2Parser.ELSE, 0); }
public TerminalNode AND() { return getToken(XPath2Parser.AND, 0); }
public TerminalNode OR() { return getToken(XPath2Parser.OR, 0); }
public TerminalNode DIV() { return getToken(XPath2Parser.DIV, 0); }
public TerminalNode IDIV() { return getToken(XPath2Parser.IDIV, 0); }
public TerminalNode MOD() { return getToken(XPath2Parser.MOD, 0); }
public TerminalNode EQ() { return getToken(XPath2Parser.EQ, 0); }
public TerminalNode NE() { return getToken(XPath2Parser.NE, 0); }
public TerminalNode LT() { return getToken(XPath2Parser.LT, 0); }
public TerminalNode LE() { return getToken(XPath2Parser.LE, 0); }
public TerminalNode GT() { return getToken(XPath2Parser.GT, 0); }
public TerminalNode GE() { return getToken(XPath2Parser.GE, 0); }
public ReservedFunctionNCNamesContext(ParserRuleContext parent, int invokingState) {
super(parent, invokingState);
}
@Override public int getRuleIndex() { return RULE_reservedFunctionNCNames; }
@Override
public void enterRule(ParseTreeListener listener) {
if ( listener instanceof XPath2ParserListener ) ((XPath2ParserListener)listener).enterReservedFunctionNCNames(this);
}
@Override
public void exitRule(ParseTreeListener listener) {
if ( listener instanceof XPath2ParserListener ) ((XPath2ParserListener)listener).exitReservedFunctionNCNames(this);
}
}
public final ReservedFunctionNCNamesContext reservedFunctionNCNames() throws RecognitionException {
ReservedFunctionNCNamesContext _localctx = new ReservedFunctionNCNamesContext(_ctx, getState());
enterRule(_localctx, 158, RULE_reservedFunctionNCNames);
int _la;
try {
enterOuterAlt(_localctx, 1);
{
setState(733);
_la = _input.LA(1);
if ( !(((((_la - 31)) & ~0x3f) == 0 && ((1L << (_la - 31)) & ((1L << (CHILD - 31)) | (1L << (DESCENDANT - 31)) | (1L << (SELF - 31)) | (1L << (DESCENDANT_OR_SELF - 31)) | (1L << (FOLLOWING_SIBLING - 31)) | (1L << (FOLLOWING - 31)) | (1L << (NAMESPACE - 31)) | (1L << (PARENT - 31)) | (1L << (ANCESTOR - 31)) | (1L << (PRECEDING_SIBLING - 31)) | (1L << (PRECEDING - 31)) | (1L << (ANCESTOR_OR_SELF - 31)) | (1L << (EQ - 31)) | (1L << (NE - 31)) | (1L << (LT - 31)) | (1L << (LE - 31)) | (1L << (GT - 31)) | (1L << (GE - 31)) | (1L << (IDIV - 31)) | (1L << (DIV - 31)) | (1L << (MOD - 31)) | (1L << (UNION - 31)) | (1L << (INTERSECT - 31)) | (1L << (EXCEPT - 31)) | (1L << (INSTANCE - 31)) | (1L << (TREAT - 31)) | (1L << (CASTABLE - 31)) | (1L << (CAST - 31)) | (1L << (AS - 31)) | (1L << (OF - 31)) | (1L << (IS - 31)) | (1L << (FOR - 31)) | (1L << (IN - 31)) | (1L << (RETURN - 31)) | (1L << (SATISFIES - 31)) | (1L << (TO - 31)) | (1L << (SOME - 31)) | (1L << (EVERY - 31)) | (1L << (THEN - 31)) | (1L << (ELSE - 31)) | (1L << (AND - 31)) | (1L << (OR - 31)) | (1L << (NCNAME - 31)))) != 0)) ) {
_errHandler.recoverInline(this);
}
else {
if ( _input.LA(1)==Token.EOF ) matchedEOF = true;
_errHandler.reportMatch(this);
consume();
}
}
}
catch (RecognitionException re) {
_localctx.exception = re;
_errHandler.reportError(this, re);
_errHandler.recover(this, re);
}
finally {
exitRule();
}
return _localctx;
}
public boolean sempred(RuleContext _localctx, int ruleIndex, int predIndex) {
switch (ruleIndex) {
case 4:
return simpleForClause_sempred((SimpleForClauseContext)_localctx, predIndex);
case 6:
return quantifiedExprMiddle_sempred((QuantifiedExprMiddleContext)_localctx, predIndex);
case 8:
return orExpr_sempred((OrExprContext)_localctx, predIndex);
case 9:
return andExpr_sempred((AndExprContext)_localctx, predIndex);
case 12:
return additiveExpr_sempred((AdditiveExprContext)_localctx, predIndex);
case 13:
return multiplicativeExpr_sempred((MultiplicativeExprContext)_localctx, predIndex);
case 14:
return unionExpr_sempred((UnionExprContext)_localctx, predIndex);
case 15:
return intersectExceptExpr_sempred((IntersectExceptExprContext)_localctx, predIndex);
case 26:
return relativePathExpr_sempred((RelativePathExprContext)_localctx, predIndex);
case 49:
return functionCallMiddle_sempred((FunctionCallMiddleContext)_localctx, predIndex);
}
return true;
}
private boolean simpleForClause_sempred(SimpleForClauseContext _localctx, int predIndex) {
switch (predIndex) {
case 0:
return precpred(_ctx, 1);
}
return true;
}
private boolean quantifiedExprMiddle_sempred(QuantifiedExprMiddleContext _localctx, int predIndex) {
switch (predIndex) {
case 1:
return precpred(_ctx, 1);
}
return true;
}
private boolean orExpr_sempred(OrExprContext _localctx, int predIndex) {
switch (predIndex) {
case 2:
return precpred(_ctx, 1);
}
return true;
}
private boolean andExpr_sempred(AndExprContext _localctx, int predIndex) {
switch (predIndex) {
case 3:
return precpred(_ctx, 1);
}
return true;
}
private boolean additiveExpr_sempred(AdditiveExprContext _localctx, int predIndex) {
switch (predIndex) {
case 4:
return precpred(_ctx, 2);
case 5:
return precpred(_ctx, 1);
}
return true;
}
private boolean multiplicativeExpr_sempred(MultiplicativeExprContext _localctx, int predIndex) {
switch (predIndex) {
case 6:
return precpred(_ctx, 4);
case 7:
return precpred(_ctx, 3);
case 8:
return precpred(_ctx, 2);
case 9:
return precpred(_ctx, 1);
}
return true;
}
private boolean unionExpr_sempred(UnionExprContext _localctx, int predIndex) {
switch (predIndex) {
case 10:
return precpred(_ctx, 2);
case 11:
return precpred(_ctx, 1);
}
return true;
}
private boolean intersectExceptExpr_sempred(IntersectExceptExprContext _localctx, int predIndex) {
switch (predIndex) {
case 12:
return precpred(_ctx, 2);
case 13:
return precpred(_ctx, 1);
}
return true;
}
private boolean relativePathExpr_sempred(RelativePathExprContext _localctx, int predIndex) {
switch (predIndex) {
case 14:
return precpred(_ctx, 2);
case 15:
return precpred(_ctx, 1);
}
return true;
}
private boolean functionCallMiddle_sempred(FunctionCallMiddleContext _localctx, int predIndex) {
switch (predIndex) {
case 16:
return precpred(_ctx, 1);
}
return true;
}
public static final String _serializedATN =
"\3\u608b\ua72a\u8133\ub9ed\u417c\u3be7\u7786\u5964\3\\\u02e2\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"+
"\4\32\t\32\4\33\t\33\4\34\t\34\4\35\t\35\4\36\t\36\4\37\t\37\4 \t \4!"+
"\t!\4\"\t\"\4#\t#\4$\t$\4%\t%\4&\t&\4\'\t\'\4(\t(\4)\t)\4*\t*\4+\t+\4"+
",\t,\4-\t-\4.\t.\4/\t/\4\60\t\60\4\61\t\61\4\62\t\62\4\63\t\63\4\64\t"+
"\64\4\65\t\65\4\66\t\66\4\67\t\67\48\t8\49\t9\4:\t:\4;\t;\4<\t<\4=\t="+
"\4>\t>\4?\t?\4@\t@\4A\tA\4B\tB\4C\tC\4D\tD\4E\tE\4F\tF\4G\tG\4H\tH\4I"+
"\tI\4J\tJ\4K\tK\4L\tL\4M\tM\4N\tN\4O\tO\4P\tP\4Q\tQ\3\2\3\2\3\2\3\3\3"+
"\3\3\3\7\3\u00a9\n\3\f\3\16\3\u00ac\13\3\3\4\3\4\3\4\3\4\5\4\u00b2\n\4"+
"\3\5\3\5\3\5\3\5\3\6\3\6\3\6\3\6\3\6\3\6\3\6\3\6\3\6\3\6\3\6\3\6\3\6\3"+
"\6\7\6\u00c6\n\6\f\6\16\6\u00c9\13\6\3\7\3\7\3\7\3\7\3\7\3\7\3\7\3\7\3"+
"\7\3\7\3\7\3\7\5\7\u00d7\n\7\3\b\3\b\3\b\3\b\3\b\3\b\3\b\3\b\3\b\3\b\3"+
"\b\3\b\7\b\u00e5\n\b\f\b\16\b\u00e8\13\b\3\t\3\t\3\t\3\t\3\t\3\t\3\t\3"+
"\t\3\t\3\n\3\n\3\n\3\n\3\n\3\n\7\n\u00f9\n\n\f\n\16\n\u00fc\13\n\3\13"+
"\3\13\3\13\3\13\3\13\3\13\7\13\u0104\n\13\f\13\16\13\u0107\13\13\3\f\3"+
"\f\3\f\3\f\3\f\3\f\3\f\3\f\3\f\3\f\3\f\3\f\3\f\5\f\u0116\n\f\3\r\3\r\3"+
"\r\3\r\3\r\5\r\u011d\n\r\3\16\3\16\3\16\3\16\3\16\3\16\3\16\3\16\3\16"+
"\7\16\u0128\n\16\f\16\16\16\u012b\13\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\7\17\u013c\n\17\f\17\16"+
"\17\u013f\13\17\3\20\3\20\3\20\3\20\3\20\3\20\3\20\3\20\3\20\7\20\u014a"+
"\n\20\f\20\16\20\u014d\13\20\3\21\3\21\3\21\3\21\3\21\3\21\3\21\3\21\3"+
"\21\7\21\u0158\n\21\f\21\16\21\u015b\13\21\3\22\3\22\3\22\3\22\3\22\3"+
"\22\5\22\u0163\n\22\3\23\3\23\3\23\3\23\3\23\3\23\5\23\u016b\n\23\3\24"+
"\3\24\3\24\3\24\3\24\3\24\5\24\u0173\n\24\3\25\3\25\3\25\3\25\3\25\3\25"+
"\5\25\u017b\n\25\3\26\3\26\3\26\3\26\3\26\5\26\u0182\n\26\3\27\3\27\3"+
"\30\3\30\3\31\3\31\3\32\3\32\3\33\3\33\3\33\3\33\3\33\3\33\5\33\u0192"+
"\n\33\3\34\3\34\3\34\3\34\3\34\3\34\3\34\3\34\3\34\7\34\u019d\n\34\f\34"+
"\16\34\u01a0\13\34\3\35\3\35\5\35\u01a4\n\35\3\36\3\36\3\36\3\36\3\36"+
"\3\36\5\36\u01ac\n\36\3\37\3\37\3\37\3\37\5\37\u01b2\n\37\3 \3 \3 \3 "+
"\3 \3 \3 \3 \3 \3 \3 \3 \3 \3 \3 \3 \5 \u01c4\n \3!\3!\3!\5!\u01c9\n!"+
"\3\"\3\"\3\"\3\"\5\"\u01cf\n\"\3#\3#\3#\3#\3#\3#\3#\3#\3#\3#\5#\u01db"+
"\n#\3$\3$\3%\3%\5%\u01e1\n%\3&\3&\5&\u01e5\n&\3\'\3\'\3\'\3\'\3\'\3\'"+
"\3\'\3\'\5\'\u01ef\n\'\3(\3(\3(\3)\7)\u01f5\n)\f)\16)\u01f8\13)\3*\3*"+
"\3*\3*\3+\3+\3+\3+\3+\5+\u0203\n+\3,\3,\5,\u0207\n,\3-\3-\3-\5-\u020c"+
"\n-\3.\3.\3.\3/\3/\3\60\3\60\3\60\3\60\3\60\3\60\5\60\u0219\n\60\3\61"+
"\3\61\3\62\3\62\3\62\3\62\3\62\3\62\3\62\3\62\3\62\5\62\u0226\n\62\3\63"+
"\3\63\3\63\3\63\3\63\3\63\7\63\u022e\n\63\f\63\16\63\u0231\13\63\3\64"+
"\3\64\3\64\3\64\5\64\u0237\n\64\3\65\3\65\3\65\3\65\3\65\3\65\3\65\5\65"+
"\u0240\n\65\3\66\3\66\3\67\3\67\3\67\3\67\3\67\5\67\u0249\n\67\38\38\3"+
"9\39\39\39\39\39\39\39\39\59\u0256\n9\3:\3:\3:\3:\3;\3;\3;\3;\3;\3;\3"+
";\3;\3;\3;\3;\3;\3;\5;\u0269\n;\3<\3<\3<\3<\3=\3=\3=\3=\3>\3>\3>\3>\3"+
">\3>\3>\3>\3>\3>\3>\3>\3>\5>\u0280\n>\3?\3?\3?\3?\3?\3?\3?\3?\3?\3?\3"+
"?\3?\3?\3?\3?\5?\u0291\n?\3@\3@\5@\u0295\n@\3A\3A\3A\3A\3A\3B\3B\3C\3"+
"C\3C\3C\3C\3C\3C\3C\3C\3C\3C\3C\3C\3C\3C\3C\3C\3C\3C\3C\3C\3C\3C\5C\u02b5"+
"\nC\3D\3D\5D\u02b9\nD\3E\3E\3E\3E\3E\3F\3F\3G\3G\3H\3H\3I\3I\3J\3J\3K"+
"\3K\3L\3L\3M\3M\3N\3N\3N\3N\3N\5N\u02d5\nN\3O\3O\3P\3P\3P\3P\3P\5P\u02de"+
"\nP\3Q\3Q\3Q\2\f\n\16\22\24\32\34\36 \66dR\2\4\6\b\n\f\16\20\22\24\26"+
"\30\32\34\36 \"$&(*,.\60\62\64\668:<>@BDFHJLNPRTVXZ\\^`bdfhjlnprtvxz|"+
"~\u0080\u0082\u0084\u0086\u0088\u008a\u008c\u008e\u0090\u0092\u0094\u0096"+
"\u0098\u009a\u009c\u009e\u00a0\2\b\3\2\17\24\3\2.\63\4\2\25\26@@\5\2\13"+
"\13\r\r \4\2!W\\\\\6\2!\"$GIL\\\\\2\u02ec\2\u00a2\3\2\2\2\4\u00a5\3\2"+
"\2\2\6\u00b1\3\2\2\2\b\u00b3\3\2\2\2\n\u00b7\3\2\2\2\f\u00d6\3\2\2\2\16"+
"\u00d8\3\2\2\2\20\u00e9\3\2\2\2\22\u00f2\3\2\2\2\24\u00fd\3\2\2\2\26\u0115"+
"\3\2\2\2\30\u011c\3\2\2\2\32\u011e\3\2\2\2\34\u012c\3\2\2\2\36\u0140\3"+
"\2\2\2 \u014e\3\2\2\2\"\u0162\3\2\2\2$\u016a\3\2\2\2&\u0172\3\2\2\2(\u017a"+
"\3\2\2\2*\u0181\3\2\2\2,\u0183\3\2\2\2.\u0185\3\2\2\2\60\u0187\3\2\2\2"+
"\62\u0189\3\2\2\2\64\u0191\3\2\2\2\66\u0193\3\2\2\28\u01a3\3\2\2\2:\u01ab"+
"\3\2\2\2<\u01b1\3\2\2\2>\u01c3\3\2\2\2@\u01c8\3\2\2\2B\u01ce\3\2\2\2D"+
"\u01da\3\2\2\2F\u01dc\3\2\2\2H\u01e0\3\2\2\2J\u01e4\3\2\2\2L\u01ee\3\2"+
"\2\2N\u01f0\3\2\2\2P\u01f6\3\2\2\2R\u01f9\3\2\2\2T\u0202\3\2\2\2V\u0206"+
"\3\2\2\2X\u020b\3\2\2\2Z\u020d\3\2\2\2\\\u0210\3\2\2\2^\u0218\3\2\2\2"+
"`\u021a\3\2\2\2b\u0225\3\2\2\2d\u0227\3\2\2\2f\u0236\3\2\2\2h\u023f\3"+
"\2\2\2j\u0241\3\2\2\2l\u0248\3\2\2\2n\u024a\3\2\2\2p\u0255\3\2\2\2r\u0257"+
"\3\2\2\2t\u0268\3\2\2\2v\u026a\3\2\2\2x\u026e\3\2\2\2z\u027f\3\2\2\2|"+
"\u0290\3\2\2\2~\u0294\3\2\2\2\u0080\u0296\3\2\2\2\u0082\u029b\3\2\2\2"+
"\u0084\u02b4\3\2\2\2\u0086\u02b8\3\2\2\2\u0088\u02ba\3\2\2\2\u008a\u02bf"+
"\3\2\2\2\u008c\u02c1\3\2\2\2\u008e\u02c3\3\2\2\2\u0090\u02c5\3\2\2\2\u0092"+
"\u02c7\3\2\2\2\u0094\u02c9\3\2\2\2\u0096\u02cb\3\2\2\2\u0098\u02cd\3\2"+
"\2\2\u009a\u02d4\3\2\2\2\u009c\u02d6\3\2\2\2\u009e\u02dd\3\2\2\2\u00a0"+
"\u02df\3\2\2\2\u00a2\u00a3\5\4\3\2\u00a3\u00a4\7\2\2\3\u00a4\3\3\2\2\2"+
"\u00a5\u00aa\5\6\4\2\u00a6\u00a7\7\35\2\2\u00a7\u00a9\5\6\4\2\u00a8\u00a6"+
"\3\2\2\2\u00a9\u00ac\3\2\2\2\u00aa\u00a8\3\2\2\2\u00aa\u00ab\3\2\2\2\u00ab"+
"\5\3\2\2\2\u00ac\u00aa\3\2\2\2\u00ad\u00b2\5\b\5\2\u00ae\u00b2\5\f\7\2"+
"\u00af\u00b2\5\20\t\2\u00b0\u00b2\5\22\n\2\u00b1\u00ad\3\2\2\2\u00b1\u00ae"+
"\3\2\2\2\u00b1\u00af\3\2\2\2\u00b1\u00b0\3\2\2\2\u00b2\7\3\2\2\2\u00b3"+
"\u00b4\5\n\6\2\u00b4\u00b5\7C\2\2\u00b5\u00b6\5\6\4\2\u00b6\t\3\2\2\2"+
"\u00b7\u00b8\b\6\1\2\u00b8\u00b9\7A\2\2\u00b9\u00ba\7\36\2\2\u00ba\u00bb"+
"\5\\/\2\u00bb\u00bc\7B\2\2\u00bc\u00bd\5\6\4\2\u00bd\u00c7\3\2\2\2\u00be"+
"\u00bf\f\3\2\2\u00bf\u00c0\7\35\2\2\u00c0\u00c1\7\36\2\2\u00c1\u00c2\5"+
"\\/\2\u00c2\u00c3\7B\2\2\u00c3\u00c4\5\6\4\2\u00c4\u00c6\3\2\2\2\u00c5"+
"\u00be\3\2\2\2\u00c6\u00c9\3\2\2\2\u00c7\u00c5\3\2\2\2\u00c7\u00c8\3\2"+
"\2\2\u00c8\13\3\2\2\2\u00c9\u00c7\3\2\2\2\u00ca\u00cb\7F\2\2\u00cb\u00cc"+
"\7\36\2\2\u00cc\u00cd\5\16\b\2\u00cd\u00ce\7D\2\2\u00ce\u00cf\5\6\4\2"+
"\u00cf\u00d7\3\2\2\2\u00d0\u00d1\7G\2\2\u00d1\u00d2\7\36\2\2\u00d2\u00d3"+
"\5\16\b\2\u00d3\u00d4\7D\2\2\u00d4\u00d5\5\6\4\2\u00d5\u00d7\3\2\2\2\u00d6"+
"\u00ca\3\2\2\2\u00d6\u00d0\3\2\2\2\u00d7\r\3\2\2\2\u00d8\u00d9\b\b\1\2"+
"\u00d9\u00da\5\\/\2\u00da\u00db\7B\2\2\u00db\u00dc\5\6\4\2\u00dc\u00e6"+
"\3\2\2\2\u00dd\u00de\f\3\2\2\u00de\u00df\7\35\2\2\u00df\u00e0\7\36\2\2"+
"\u00e0\u00e1\5\\/\2\u00e1\u00e2\7B\2\2\u00e2\u00e3\5\6\4\2\u00e3\u00e5"+
"\3\2\2\2\u00e4\u00dd\3\2\2\2\u00e5\u00e8\3\2\2\2\u00e6\u00e4\3\2\2\2\u00e6"+
"\u00e7\3\2\2\2\u00e7\17\3\2\2\2\u00e8\u00e6\3\2\2\2\u00e9\u00ea\7H\2\2"+
"\u00ea\u00eb\7\t\2\2\u00eb\u00ec\5\4\3\2\u00ec\u00ed\7\n\2\2\u00ed\u00ee"+
"\7I\2\2\u00ee\u00ef\5\6\4\2\u00ef\u00f0\7J\2\2\u00f0\u00f1\5\6\4\2\u00f1"+
"\21\3\2\2\2\u00f2\u00f3\b\n\1\2\u00f3\u00f4\5\24\13\2\u00f4\u00fa\3\2"+
"\2\2\u00f5\u00f6\f\3\2\2\u00f6\u00f7\7L\2\2\u00f7\u00f9\5\24\13\2\u00f8"+
"\u00f5\3\2\2\2\u00f9\u00fc\3\2\2\2\u00fa\u00f8\3\2\2\2\u00fa\u00fb\3\2"+
"\2\2\u00fb\23\3\2\2\2\u00fc\u00fa\3\2\2\2\u00fd\u00fe\b\13\1\2\u00fe\u00ff"+
"\5\26\f\2\u00ff\u0105\3\2\2\2\u0100\u0101\f\3\2\2\u0101\u0102\7K\2\2\u0102"+
"\u0104\5\26\f\2\u0103\u0100\3\2\2\2\u0104\u0107\3\2\2\2\u0105\u0103\3"+
"\2\2\2\u0105\u0106\3\2\2\2\u0106\25\3\2\2\2\u0107\u0105\3\2\2\2\u0108"+
"\u0116\5\30\r\2\u0109\u010a\5\30\r\2\u010a\u010b\5\60\31\2\u010b\u010c"+
"\5\30\r\2\u010c\u0116\3\2\2\2\u010d\u010e\5\30\r\2\u010e\u010f\5.\30\2"+
"\u010f\u0110\5\30\r\2\u0110\u0116\3\2\2\2\u0111\u0112\5\30\r\2\u0112\u0113"+
"\5\62\32\2\u0113\u0114\5\30\r\2\u0114\u0116\3\2\2\2\u0115\u0108\3\2\2"+
"\2\u0115\u0109\3\2\2\2\u0115\u010d\3\2\2\2\u0115\u0111\3\2\2\2\u0116\27"+
"\3\2\2\2\u0117\u011d\5\32\16\2\u0118\u0119\5\32\16\2\u0119\u011a\7E\2"+
"\2\u011a\u011b\5\32\16\2\u011b\u011d\3\2\2\2\u011c\u0117\3\2\2\2\u011c"+
"\u0118\3\2\2\2\u011d\31\3\2\2\2\u011e\u011f\b\16\1\2\u011f\u0120\5\34"+
"\17\2\u0120\u0129\3\2\2\2\u0121\u0122\f\4\2\2\u0122\u0123\7\13\2\2\u0123"+
"\u0128\5\34\17\2\u0124\u0125\f\3\2\2\u0125\u0126\7\f\2\2\u0126\u0128\5"+
"\34\17\2\u0127\u0121\3\2\2\2\u0127\u0124\3\2\2\2\u0128\u012b\3\2\2\2\u0129"+
"\u0127\3\2\2\2\u0129\u012a\3\2\2\2\u012a\33\3\2\2\2\u012b\u0129\3\2\2"+
"\2\u012c\u012d\b\17\1\2\u012d\u012e\5\36\20\2\u012e\u013d\3\2\2\2\u012f"+
"\u0130\f\6\2\2\u0130\u0131\7\r\2\2\u0131\u013c\5\36\20\2\u0132\u0133\f"+
"\5\2\2\u0133\u0134\7\65\2\2\u0134\u013c\5\36\20\2\u0135\u0136\f\4\2\2"+
"\u0136\u0137\7\64\2\2\u0137\u013c\5\36\20\2\u0138\u0139\f\3\2\2\u0139"+
"\u013a\7\66\2\2\u013a\u013c\5\36\20\2\u013b\u012f\3\2\2\2\u013b\u0132"+
"\3\2\2\2\u013b\u0135\3\2\2\2\u013b\u0138\3\2\2\2\u013c\u013f\3\2\2\2\u013d"+
"\u013b\3\2\2\2\u013d\u013e\3\2\2\2\u013e\35\3\2\2\2\u013f\u013d\3\2\2"+
"\2\u0140\u0141\b\20\1\2\u0141\u0142\5 \21\2\u0142\u014b\3\2\2\2\u0143"+
"\u0144\f\4\2\2\u0144\u0145\7\67\2\2\u0145\u014a\5 \21\2\u0146\u0147\f"+
"\3\2\2\u0147\u0148\7\16\2\2\u0148\u014a\5 \21\2\u0149\u0143\3\2\2\2\u0149"+
"\u0146\3\2\2\2\u014a\u014d\3\2\2\2\u014b\u0149\3\2\2\2\u014b\u014c\3\2"+
"\2\2\u014c\37\3\2\2\2\u014d\u014b\3\2\2\2\u014e\u014f\b\21\1\2\u014f\u0150"+
"\5\"\22\2\u0150\u0159\3\2\2\2\u0151\u0152\f\4\2\2\u0152\u0153\78\2\2\u0153"+
"\u0158\5\"\22\2\u0154\u0155\f\3\2\2\u0155\u0156\79\2\2\u0156\u0158\5\""+
"\22\2\u0157\u0151\3\2\2\2\u0157\u0154\3\2\2\2\u0158\u015b\3\2\2\2\u0159"+
"\u0157\3\2\2\2\u0159\u015a\3\2\2\2\u015a!\3\2\2\2\u015b\u0159\3\2\2\2"+
"\u015c\u0163\5$\23\2\u015d\u015e\5$\23\2\u015e\u015f\7:\2\2\u015f\u0160"+
"\7?\2\2\u0160\u0161\5h\65\2\u0161\u0163\3\2\2\2\u0162\u015c\3\2\2\2\u0162"+
"\u015d\3\2\2\2\u0163#\3\2\2\2\u0164\u016b\5&\24\2\u0165\u0166\5&\24\2"+
"\u0166\u0167\7;\2\2\u0167\u0168\7>\2\2\u0168\u0169\5h\65\2\u0169\u016b"+
"\3\2\2\2\u016a\u0164\3\2\2\2\u016a\u0165\3\2\2\2\u016b%\3\2\2\2\u016c"+
"\u0173\5(\25\2\u016d\u016e\5(\25\2\u016e\u016f\7<\2\2\u016f\u0170\7>\2"+
"\2\u0170\u0171\5f\64\2\u0171\u0173\3\2\2\2\u0172\u016c\3\2\2\2\u0172\u016d"+
"\3\2\2\2\u0173\'\3\2\2\2\u0174\u017b\5*\26\2\u0175\u0176\5*\26\2\u0176"+
"\u0177\7=\2\2\u0177\u0178\7>\2\2\u0178\u0179\5f\64\2\u0179\u017b\3\2\2"+
"\2\u017a\u0174\3\2\2\2\u017a\u0175\3\2\2\2\u017b)\3\2\2\2\u017c\u0182"+
"\5,\27\2\u017d\u017e\7\f\2\2\u017e\u0182\5*\26\2\u017f\u0180\7\13\2\2"+
"\u0180\u0182\5*\26\2\u0181\u017c\3\2\2\2\u0181\u017d\3\2\2\2\u0181\u017f"+
"\3\2\2\2\u0182+\3\2\2\2\u0183\u0184\5\64\33\2\u0184-\3\2\2\2\u0185\u0186"+
"\t\2\2\2\u0186/\3\2\2\2\u0187\u0188\t\3\2\2\u0188\61\3\2\2\2\u0189\u018a"+
"\t\4\2\2\u018a\63\3\2\2\2\u018b\u0192\7\27\2\2\u018c\u018d\7\27\2\2\u018d"+
"\u0192\5\66\34\2\u018e\u018f\7\30\2\2\u018f\u0192\5\66\34\2\u0190\u0192"+
"\5\66\34\2\u0191\u018b\3\2\2\2\u0191\u018c\3\2\2\2\u0191\u018e\3\2\2\2"+
"\u0191\u0190\3\2\2\2\u0192\65\3\2\2\2\u0193\u0194\b\34\1\2\u0194\u0195"+
"\58\35\2\u0195\u019e\3\2\2\2\u0196\u0197\f\4\2\2\u0197\u0198\7\27\2\2"+
"\u0198\u019d\58\35\2\u0199\u019a\f\3\2\2\u019a\u019b\7\30\2\2\u019b\u019d"+
"\58\35\2\u019c\u0196\3\2\2\2\u019c\u0199\3\2\2\2\u019d\u01a0\3\2\2\2\u019e"+
"\u019c\3\2\2\2\u019e\u019f\3\2\2\2\u019f\67\3\2\2\2\u01a0\u019e\3\2\2"+
"\2\u01a1\u01a4\5:\36\2\u01a2\u01a4\5N(\2\u01a3\u01a1\3\2\2\2\u01a3\u01a2"+
"\3\2\2\2\u01a49\3\2\2\2\u01a5\u01a6\5<\37\2\u01a6\u01a7\5P)\2\u01a7\u01ac"+
"\3\2\2\2\u01a8\u01a9\5B\"\2\u01a9\u01aa\5P)\2\u01aa\u01ac\3\2\2\2\u01ab"+
"\u01a5\3\2\2\2\u01ab\u01a8\3\2\2\2\u01ac;\3\2\2\2\u01ad\u01ae\5> \2\u01ae"+
"\u01af\5H%\2\u01af\u01b2\3\2\2\2\u01b0\u01b2\5@!\2\u01b1\u01ad\3\2\2\2"+
"\u01b1\u01b0\3\2\2\2\u01b2=\3\2\2\2\u01b3\u01b4\7!\2\2\u01b4\u01c4\7\31"+
"\2\2\u01b5\u01b6\7\"\2\2\u01b6\u01c4\7\31\2\2\u01b7\u01b8\7#\2\2\u01b8"+
"\u01c4\7\31\2\2\u01b9\u01ba\7$\2\2\u01ba\u01c4\7\31\2\2\u01bb\u01bc\7"+
"%\2\2\u01bc\u01c4\7\31\2\2\u01bd\u01be\7&\2\2\u01be\u01c4\7\31\2\2\u01bf"+
"\u01c0\7\'\2\2\u01c0\u01c4\7\31\2\2\u01c1\u01c2\7(\2\2\u01c2\u01c4\7\31"+
"\2\2\u01c3\u01b3\3\2\2\2\u01c3\u01b5\3\2\2\2\u01c3\u01b7\3\2\2\2\u01c3"+
"\u01b9\3\2\2\2\u01c3\u01bb\3\2\2\2\u01c3\u01bd\3\2\2\2\u01c3\u01bf\3\2"+
"\2\2\u01c3\u01c1\3\2\2\2\u01c4?\3\2\2\2\u01c5\u01c6\7\32\2\2\u01c6\u01c9"+
"\5H%\2\u01c7\u01c9\5H%\2\u01c8\u01c5\3\2\2\2\u01c8\u01c7\3\2\2\2\u01c9"+
"A\3\2\2\2\u01ca\u01cb\5D#\2\u01cb\u01cc\5H%\2\u01cc\u01cf\3\2\2\2\u01cd"+
"\u01cf\5F$\2\u01ce\u01ca\3\2\2\2\u01ce\u01cd\3\2\2\2\u01cfC\3\2\2\2\u01d0"+
"\u01d1\7)\2\2\u01d1\u01db\7\31\2\2\u01d2\u01d3\7*\2\2\u01d3\u01db\7\31"+
"\2\2\u01d4\u01d5\7+\2\2\u01d5\u01db\7\31\2\2\u01d6\u01d7\7,\2\2\u01d7"+
"\u01db\7\31\2\2\u01d8\u01d9\7-\2\2\u01d9\u01db\7\31\2\2\u01da\u01d0\3"+
"\2\2\2\u01da\u01d2\3\2\2\2\u01da\u01d4\3\2\2\2\u01da\u01d6\3\2\2\2\u01da"+
"\u01d8\3\2\2\2\u01dbE\3\2\2\2\u01dc\u01dd\7\33\2\2\u01ddG\3\2\2\2\u01de"+
"\u01e1\5p9\2\u01df\u01e1\5J&\2\u01e0\u01de\3\2\2\2\u01e0\u01df\3\2\2\2"+
"\u01e1I\3\2\2\2\u01e2\u01e5\5\u009aN\2\u01e3\u01e5\5L\'\2\u01e4\u01e2"+
"\3\2\2\2\u01e4\u01e3\3\2\2\2\u01e5K\3\2\2\2\u01e6\u01ef\7\r\2\2\u01e7"+
"\u01e8\5\u009cO\2\u01e8\u01e9\7\34\2\2\u01e9\u01ea\7\r\2\2\u01ea\u01ef"+
"\3\2\2\2\u01eb\u01ec\7\r\2\2\u01ec\u01ed\7\34\2\2\u01ed\u01ef\5\u009c"+
"O\2\u01ee\u01e6\3\2\2\2\u01ee\u01e7\3\2\2\2\u01ee\u01eb\3\2\2\2\u01ef"+
"M\3\2\2\2\u01f0\u01f1\5T+\2\u01f1\u01f2\5P)\2\u01f2O\3\2\2\2\u01f3\u01f5"+
"\5R*\2\u01f4\u01f3\3\2\2\2\u01f5\u01f8\3\2\2\2\u01f6\u01f4\3\2\2\2\u01f6"+
"\u01f7\3\2\2\2\u01f7Q\3\2\2\2\u01f8\u01f6\3\2\2\2\u01f9\u01fa\7\7\2\2"+
"\u01fa\u01fb\5\4\3\2\u01fb\u01fc\7\b\2\2\u01fcS\3\2\2\2\u01fd\u0203\5"+
"V,\2\u01fe\u0203\5Z.\2\u01ff\u0203\5^\60\2\u0200\u0203\5`\61\2\u0201\u0203"+
"\5b\62\2\u0202\u01fd\3\2\2\2\u0202\u01fe\3\2\2\2\u0202\u01ff\3\2\2\2\u0202"+
"\u0200\3\2\2\2\u0202\u0201\3\2\2\2\u0203U\3\2\2\2\u0204\u0207\5X-\2\u0205"+
"\u0207\5\u0098M\2\u0206\u0204\3\2\2\2\u0206\u0205\3\2\2\2\u0207W\3\2\2"+
"\2\u0208\u020c\5\u0092J\2\u0209\u020c\5\u0094K\2\u020a\u020c\5\u0096L"+
"\2\u020b\u0208\3\2\2\2\u020b\u0209\3\2\2\2\u020b\u020a\3\2\2\2\u020cY"+
"\3\2\2\2\u020d\u020e\7\36\2\2\u020e\u020f\5\\/\2\u020f[\3\2\2\2\u0210"+
"\u0211\5\u009aN\2\u0211]\3\2\2\2\u0212\u0213\7\t\2\2\u0213\u0219\7\n\2"+
"\2\u0214\u0215\7\t\2\2\u0215\u0216\5\4\3\2\u0216\u0217\7\n\2\2\u0217\u0219"+
"\3\2\2\2\u0218\u0212\3\2\2\2\u0218\u0214\3\2\2\2\u0219_\3\2\2\2\u021a"+
"\u021b\7\37\2\2\u021ba\3\2\2\2\u021c\u021d\5\u009eP\2\u021d\u021e\7\t"+
"\2\2\u021e\u021f\7\n\2\2\u021f\u0226\3\2\2\2\u0220\u0221\5\u009eP\2\u0221"+
"\u0222\7\t\2\2\u0222\u0223\5d\63\2\u0223\u0224\7\n\2\2\u0224\u0226\3\2"+
"\2\2\u0225\u021c\3\2\2\2\u0225\u0220\3\2\2\2\u0226c\3\2\2\2\u0227\u0228"+
"\b\63\1\2\u0228\u0229\5\6\4\2\u0229\u022f\3\2\2\2\u022a\u022b\f\3\2\2"+
"\u022b\u022c\7\35\2\2\u022c\u022e\5\6\4\2\u022d\u022a\3\2\2\2\u022e\u0231"+
"\3\2\2\2\u022f\u022d\3\2\2\2\u022f\u0230\3\2\2\2\u0230e\3\2\2\2\u0231"+
"\u022f\3\2\2\2\u0232\u0237\5n8\2\u0233\u0234\5n8\2\u0234\u0235\7 \2\2"+
"\u0235\u0237\3\2\2\2\u0236\u0232\3\2\2\2\u0236\u0233\3\2\2\2\u0237g\3"+
"\2\2\2\u0238\u0240\5l\67\2\u0239\u023a\5l\67\2\u023a\u023b\5j\66\2\u023b"+
"\u0240\3\2\2\2\u023c\u023d\7M\2\2\u023d\u023e\7\t\2\2\u023e\u0240\7\n"+
"\2\2\u023f\u0238\3\2\2\2\u023f\u0239\3\2\2\2\u023f\u023c\3\2\2\2\u0240"+
"i\3\2\2\2\u0241\u0242\t\5\2\2\u0242k\3\2\2\2\u0243\u0249\5n8\2\u0244\u0249"+
"\5p9\2\u0245\u0246\7N\2\2\u0246\u0247\7\t\2\2\u0247\u0249\7\n\2\2\u0248"+
"\u0243\3\2\2\2\u0248\u0244\3\2\2\2\u0248\u0245\3\2\2\2\u0249m\3\2\2\2"+
"\u024a\u024b\5\u009aN\2\u024bo\3\2\2\2\u024c\u0256\5t;\2\u024d\u0256\5"+
"\u0084C\2\u024e\u0256\5|?\2\u024f\u0256\5\u0088E\2\u0250\u0256\5\u0080"+
"A\2\u0251\u0256\5z>\2\u0252\u0256\5x=\2\u0253\u0256\5v<\2\u0254\u0256"+
"\5r:\2\u0255\u024c\3\2\2\2\u0255\u024d\3\2\2\2\u0255\u024e\3\2\2\2\u0255"+
"\u024f\3\2\2\2\u0255\u0250\3\2\2\2\u0255\u0251\3\2\2\2\u0255\u0252\3\2"+
"\2\2\u0255\u0253\3\2\2\2\u0255\u0254\3\2\2\2\u0256q\3\2\2\2\u0257\u0258"+
"\7O\2\2\u0258\u0259\7\t\2\2\u0259\u025a\7\n\2\2\u025as\3\2\2\2\u025b\u025c"+
"\7P\2\2\u025c\u025d\7\t\2\2\u025d\u0269\7\n\2\2\u025e\u025f\7P\2\2\u025f"+
"\u0260\7\t\2\2\u0260\u0261\5\u0084C\2\u0261\u0262\7\n\2\2\u0262\u0269"+
"\3\2\2\2\u0263\u0264\7P\2\2\u0264\u0265\7\t\2\2\u0265\u0266\5\u0088E\2"+
"\u0266\u0267\7\n\2\2\u0267\u0269\3\2\2\2\u0268\u025b\3\2\2\2\u0268\u025e"+
"\3\2\2\2\u0268\u0263\3\2\2\2\u0269u\3\2\2\2\u026a\u026b\7Q\2\2\u026b\u026c"+
"\7\t\2\2\u026c\u026d\7\n\2\2\u026dw\3\2\2\2\u026e\u026f\7R\2\2\u026f\u0270"+
"\7\t\2\2\u0270\u0271\7\n\2\2\u0271y\3\2\2\2\u0272\u0273\7S\2\2\u0273\u0274"+
"\7\t\2\2\u0274\u0280\7\n\2\2\u0275\u0276\7S\2\2\u0276\u0277\7\t\2\2\u0277"+
"\u0278\5\u009cO\2\u0278\u0279\7\n\2\2\u0279\u0280\3\2\2\2\u027a\u027b"+
"\7S\2\2\u027b\u027c\7\t\2\2\u027c\u027d\5\u0098M\2\u027d\u027e\7\n\2\2"+
"\u027e\u0280\3\2\2\2\u027f\u0272\3\2\2\2\u027f\u0275\3\2\2\2\u027f\u027a"+
"\3\2\2\2\u0280{\3\2\2\2\u0281\u0282\7#\2\2\u0282\u0283\7\t\2\2\u0283\u0291"+
"\7\n\2\2\u0284\u0285\7#\2\2\u0285\u0286\7\t\2\2\u0286\u0287\5~@\2\u0287"+
"\u0288\7\n\2\2\u0288\u0291\3\2\2\2\u0289\u028a\7#\2\2\u028a\u028b\7\t"+
"\2\2\u028b\u028c\5~@\2\u028c\u028d\7\35\2\2\u028d\u028e\5\u0090I\2\u028e"+
"\u028f\7\n\2\2\u028f\u0291\3\2\2\2\u0290\u0281\3\2\2\2\u0290\u0284\3\2"+
"\2\2\u0290\u0289\3\2\2\2\u0291}\3\2\2\2\u0292\u0295\5\u008cG\2\u0293\u0295"+
"\7\r\2\2\u0294\u0292\3\2\2\2\u0294\u0293\3\2\2\2\u0295\177\3\2\2\2\u0296"+
"\u0297\7T\2\2\u0297\u0298\7\t\2\2\u0298\u0299\5\u0082B\2\u0299\u029a\7"+
"\n\2\2\u029a\u0081\3\2\2\2\u029b\u029c\5\u008cG\2\u029c\u0083\3\2\2\2"+
"\u029d\u029e\7U\2\2\u029e\u029f\7\t\2\2\u029f\u02b5\7\n\2\2\u02a0\u02a1"+
"\7U\2\2\u02a1\u02a2\7\t\2\2\u02a2\u02a3\5\u0086D\2\u02a3\u02a4\7\n\2\2"+
"\u02a4\u02b5\3\2\2\2\u02a5\u02a6\7U\2\2\u02a6\u02a7\7\t\2\2\u02a7\u02a8"+
"\5\u0086D\2\u02a8\u02a9\7\35\2\2\u02a9\u02aa\5\u0090I\2\u02aa\u02ab\7"+
"\n\2\2\u02ab\u02b5\3\2\2\2\u02ac\u02ad\7U\2\2\u02ad\u02ae\7\t\2\2\u02ae"+
"\u02af\5\u0086D\2\u02af\u02b0\7\35\2\2\u02b0\u02b1\5\u0090I\2\u02b1\u02b2"+
"\7 \2\2\u02b2\u02b3\7\n\2\2\u02b3\u02b5\3\2\2\2\u02b4\u029d\3\2\2\2\u02b4"+
"\u02a0\3\2\2\2\u02b4\u02a5\3\2\2\2\u02b4\u02ac\3\2\2\2\u02b5\u0085\3\2"+
"\2\2\u02b6\u02b9\5\u008eH\2\u02b7\u02b9\7\r\2\2\u02b8\u02b6\3\2\2\2\u02b8"+
"\u02b7\3\2\2\2\u02b9\u0087\3\2\2\2\u02ba\u02bb\7V\2\2\u02bb\u02bc\7\t"+
"\2\2\u02bc\u02bd\5\u008aF\2\u02bd\u02be\7\n\2\2\u02be\u0089\3\2\2\2\u02bf"+
"\u02c0\5\u008eH\2\u02c0\u008b\3\2\2\2\u02c1\u02c2\5\u009aN\2\u02c2\u008d"+
"\3\2\2\2\u02c3\u02c4\5\u009aN\2\u02c4\u008f\3\2\2\2\u02c5\u02c6\5\u009a"+
"N\2\u02c6\u0091\3\2\2\2\u02c7\u02c8\7\3\2\2\u02c8\u0093\3\2\2\2\u02c9"+
"\u02ca\7\4\2\2\u02ca\u0095\3\2\2\2\u02cb\u02cc\7\5\2\2\u02cc\u0097\3\2"+
"\2\2\u02cd\u02ce\7\6\2\2\u02ce\u0099\3\2\2\2\u02cf\u02d5\5\u009cO\2\u02d0"+
"\u02d1\5\u009cO\2\u02d1\u02d2\7\34\2\2\u02d2\u02d3\5\u009cO\2\u02d3\u02d5"+
"\3\2\2\2\u02d4\u02cf\3\2\2\2\u02d4\u02d0\3\2\2\2\u02d5\u009b\3\2\2\2\u02d6"+
"\u02d7\t\6\2\2\u02d7\u009d\3\2\2\2\u02d8\u02de\5\u00a0Q\2\u02d9\u02da"+
"\5\u009cO\2\u02da\u02db\7\34\2\2\u02db\u02dc\5\u009cO\2\u02dc\u02de\3"+
"\2\2\2\u02dd\u02d8\3\2\2\2\u02dd\u02d9\3\2\2\2\u02de\u009f\3\2\2\2\u02df"+
"\u02e0\t\7\2\2\u02e0\u00a1\3\2\2\28\u00aa\u00b1\u00c7\u00d6\u00e6\u00fa"+
"\u0105\u0115\u011c\u0127\u0129\u013b\u013d\u0149\u014b\u0157\u0159\u0162"+
"\u016a\u0172\u017a\u0181\u0191\u019c\u019e\u01a3\u01ab\u01b1\u01c3\u01c8"+
"\u01ce\u01da\u01e0\u01e4\u01ee\u01f6\u0202\u0206\u020b\u0218\u0225\u022f"+
"\u0236\u023f\u0248\u0255\u0268\u027f\u0290\u0294\u02b4\u02b8\u02d4\u02dd";
public static final ATN _ATN =
new ATNDeserializer().deserialize(_serializedATN.toCharArray());
static {
_decisionToDFA = new DFA[_ATN.getNumberOfDecisions()];
for (int i = 0; i < _ATN.getNumberOfDecisions(); i++) {
_decisionToDFA[i] = new DFA(_ATN.getDecisionState(i), i);
}
}
}
© 2015 - 2025 Weber Informatics LLC | Privacy Policy